zoukankan      html  css  js  c++  java
  • CUDAAccelerated LUT Converter for DI Workflow

    名词缩写

    • DI Digital Intermediate
    • SP Stream Processor
    • CM Color Management
    • LUT Lookup-table
    • NF Negtive Film
    • PCS Profile Connection Space
    • IMSR input medium to scene-referred transform
    • SROM scene-referred to output medium transform
    • OMRD output medium to reference display transform
    • RDPD reference display to preview display transform

    推荐阅读材料

    • A Proposal for OpenEXR Color Management
    • Color and Mastering for Digital Cinema
    • Digital Color Management
    • Digital Color Imaging Handbook
    • Digital Video and HDTV Algorithms and Interfaces

    DI引入电影制作流程之后,可以直接用数字设备以及软件对胶片采集到的原始画面进行修改。首先是IMSR过程,将胶片使用扫描设备(如Thomson's Grass Valley Spirit 4K Film Scanner)生成DPX储存到SAN中。但是不同设备与设备之间存在差异,即NF颜色密度数值到DPX对数空间的映射关系往往是不同的,而且这是个严格和设备相关的参数。对这个过程的矫正往往是设备内部的1D LUT来扮演的。而色彩空间的变换则直接运用矩阵或者用3D LUT进行变换。当然,这些都可以在CM相关的资料中找到。

    LUT的优势在于,快速与可移植。因为后期软件内部的计算节点往往可以通过输入数值确立LUT,但是网格本身是无法复制的,比如Shake的合成网格就无法和Fusion的互相导出导入,虽然它们的本质都是极其简单的DAG节点。当生成LUT之后,只需要经过简单的文本处理操作就可以实现互相通用。预计未来AMPAS/ASC的推荐的通用LUT格式普及开来之后,后期软件之间的LUT也就可以通用,这样在使用多种后期软件配合生产的流程中CM的效率会更高。

    首先是数值转换过程,即根据LUT设定的输入输出数值范围将整数转换为浮点数字。在这个过程中,经过高度优化过(主要是OpenMP与SIMD)的CPU代码的执行速度是超过GPU的,原因是CPU的主频高,不像GPU分为核心频率和SP频率两个部分。现有的OpenEXR FP16由于没有硬件和编译器的原生支持导致转换效率比较低下。然后就是3D LUT的数值生成。由于3D LUT的体积相对于1D LUT一般来说都比较大,对于32^3*3*4这样的一个3D LUT来说占用空间为0.375M。这里是测试对比。左边是用CUDA计算的结果,右边的一列是使用Houdini Apprentice计算的结果,通过比较原始HD版本的图像发现两者的差异极小。这种差异来自GPU差值,也来自LUT源(这里的LUT都生成自Houdini)输出时采样变换函数造成的降采样,提高3D LUT的尺寸是可以的,不过一样也有上限。

    Marcie_LAD_original_HD

    1DLUT

    lc lc_ref
    Marcie_LAD_original_HD

    3DLUT

    lch lch_ref

    注意:此测试图片裁剪自KODAK Digital LAD Test Image,原始格式为10bit Log DPX

    我同时做了Win32和X64 Linux两个版本,感兴趣的朋友可以向我索取。

  • 相关阅读:
    1、使用Xcode修改iOS项目工程名和路径名
    ios 里如何处理四舍五入的问题
    ios app 开发中ipa重新签名步骤介绍
    如何重新签名ipa文件
    最近研究xcodebuild批量打包的一些心得
    C#Timer
    插座断电提醒(测试阶段)
    C#MessageBox 自动关闭窗口
    插座继电器测试
    C# TCPListener
  • 原文地址:https://www.cnblogs.com/Jedimaster/p/1424566.html
Copyright © 2011-2022 走看看