谈谈ACES中的LMT(4)
我们已经在第3节中谈到分析型LMT可以有任意多种组合和步骤,这一节我们举例说明。
分析型LMT-示例3
先来看结果图:
ACES ODT(左)与LMT+ACES ODT(右)
ACES ODT(左)与LMT+ACES ODT(右)
这个LMT的复杂之处在于它引入了矢量性的二次色彩校正,并对LMT中几个单独操作进行了排序。从结构上来说,这个LMT仍包括一些一级校正,然后是对色相和饱和度进行调整,这主要是为了形成一种略为粗糙的胶片模拟效果——高对比度并显得有点脏。
下图是这个LMT的结构,显然它比『看』上去要复杂的多:

我们可以简单分析一下,首先我们做了降低『色度Chroma』,然后使用ASC CDL(在ACEScct空间中)添加一些黄色色调,然后又回到线性空间提高了对比度,这些都是『一级校色』。在『二级校色』中,是一系列色相区域的旋转调整,并添加了蓝色的色度,最后输出ACES'代码值。
你可能会问什么是色相区域的旋转?还记得色轮吗?那是二维的。你在示波器的矢量图中也见过它,那也是二维的。我们通过矢量图来描述和观察色相和饱和度的时候,一个具体的值是以一个由圆心向外的直线来定义的,离圆心越远则饱和度越高,而直线的方向即角度则表示色相。因此,当我们需要调整色彩的色相时,只需要『旋转』这根直线的朝向就可以了。
好了,接下来,我们会详细说明上述每个方框处理链的操作原理。
『Yab』和『YCH』
Yab是一种常用来对色彩空间进行内部转换的算法,它代表了转换公式中的三个数值,用来转换生成YCH的三个值,即亮度、色度和色相。Yab是RGB色彩坐标空间中的绝对坐标值,并不与我们的感知亮度、色度和色相直接关联,而是通过如下公式进行转换:
你基本上可以认为这个公式就是把它立起来了 :P
所以如果你能想像自己正从上方俯视这个立方体,就能理解下图YCH与Yab的关系:
是不是看起来更像矢量示波器图了?一切都变简单了!
现在该我们『旋转』它了!
减少『色度』
你可以在上图中看到,要减少色度只需要缩短C这根直线的长度(越靠圆心饱和度越低),所以只需要给YCH中的C乘以一个百分比就行了,然后再转换回RGB值。下图这个百分比为70%。
aces = scale_C( aces, 0.7);
色度值降低前(左)后(右)对比
ASC CDL(在ACEScct中)
这里我们的ASC CDL只是对蓝色通道的坡度和偏移值做了一些调整,从而让整体色彩平衡中多了一点黄色 。(下图)
float SLOPE[3] = {1.0, 1.0, 0.94};
float OFFSET[3] = {0.0, 0.0, 0.02};
float POWER[3] = {1.0, 1.0, 1.0};
aces = ASCCDL_inACEScct( aces, SLOPE, OFFSET, POWER);
ASC CDL渲染前后
伽玛调整(线性)
我们重用了1c那个LMT来增强画面对比度,该曲线作用区域集中在中灰度附近,伽玛值为1.5。(下图)
aces = gamma_adjust_linear( aces, 1.5, 0.18);

从R向Y旋转
复杂一点了,这里我们使用一个三次函数(看上去像座小山),由中间1.0强度向宽度为120的两侧衰减直至0,从而获得比较平滑一点的色相选择区域。(你可能在Resolve的色相/色相工具中见过类似的形状)

三次函数会让处于该区域中心位置的色相值获得100%的完整旋转,超出120宽度的不会发生变化,而处于120宽度范围内的则根据曲线发生不同程度的旋转。
接下来我们会根据需要对像素值进行一系列旋转来达到目的:
为了让图像中的红色R略带一些黄色:
aces = rotate_H_in_H( aces, 0., 30., 5.);
中心色相=0,色相区域宽度=30,旋转量=5
然后是从G向Y:
aces = rotate_H_in_H( aces, 80., 60., -15.);
中心色相=80,色相区域宽度=60,旋转量=-15(顺时针)
从Y向R,让黄色多些暖色调:
aces = rotate_H_in_H( aces, 52., 50., -14.);
中心色相=52,色相区域宽度=50,旋转量=-14(顺时针)
提高Y的色度
我们希望提高整体黄色的饱和度,为了更加平滑,同样使用三次函数来限定范围,但这次不是旋转而是向圆圈外延伸,即放大色度值。
aces = scale_C_at_H( aces, 45., 40., 1.4);
中心色相=45,色相区域宽度=40,色度缩放比例=1.4
接下来从C向B旋转,让青色向蓝色靠近:
aces = rotate_H_in_H( aces, 190., 40., 30.);
中心色相=190,色相区域宽度=40,旋转量=30
提高B的色度,即蓝色的饱和度:
aces = scale_C_at_H( aces, 240., 120., 1.4);
中心色相=240,色相区域宽度=120,色度缩放比例=1.4
好了,现在来对比下整体前后的效果:
没错,就是本节的第二张图
用这个LMT作用于其它图像:

至此你应该已经明白了复杂的分析型LMT的工作原理和创建方式了,虽然它们还能互相配合得更加完美,但用来说明原理已经足够了。你也可以添加更多限定参数来达到更加精确和复杂的控制,比如创建一个函数来单独控制图像中的阴影区,即那些Y值低于某个值的范围。其复杂性完全取决于你对算法的了解程度和函数的控制能力,没有限制。
下一节,也就是最后一节,我们会再介绍一种复杂的分析型LMT,以示范将其作用于某个混合模式中的并行调色节点的功能。