康聪聪 (天津师范大学美术与设计学院 300387)
线性工作流(Linear Workflow)是基于计算机图形学的照片级CG渲染的理论基础,因其所有参与计算的颜色数据都处于“线性色彩空间”以及遵循自然界物质守恒定律的线性计算而得名。线性工作流作为计算机图形学这一学科不可回避的历史遗留问题,持续且深远地影响着写实动画的制作流程。
在传统的CG制作流程中,我们总会遇到渲染出的图像偏暗(尤其是暗部缺少细节),就算我们增加灯光数量并提高灯光亮度,灯光附近几近曝光但某些暗部还是缺少细节,这是由于灯光非真实的物理衰减。线性工作流的本质就在于通过正确地校正Gamma偏差,让图像以正确的线性化效果显示,使得图像的明暗看起来更有真实的光影感,更符合人眼观感。
Gamma是一个描述阶调特性的对数,被使用在8位RGB图中,用来解决在有限的存储空间中保存尽可能多的人类感受敏感的色彩内容。简单来说,Gamma描述了相机或萤幕的非线性(nonlinear)反应的现象。由于早期CRT萤幕输入单位电压并不会产生等量的亮度(所以是非线性),为了正确地显示画面颜色亮度,刻意制定一个曲线关系(x轴为输入与y轴为输出),让最终输出的影像为线性颜色亮度的影像。即使现代能够制造出线性反应的液晶萤幕,这种现象仍然深深地影响图像处理,不管是后期、合成、调色或是渲染都离不开Gamma。
所有的自然界图像都需要经过人眼的感知,然后才能转化为人脑可理解的信息,实验证明,自然界真实的亮度信息与人眼所“看到”的是有区别的。根据韦伯-费希纳定律(Weber-Fechner Law),当人体感官所接收到的感觉以算术级数增加时,外界刺激强度需要以更大的几何级数增加,人们才能感觉其差异,这是由于人眼的感光曲线其实是对数曲线。对于我们的感觉来说同样的物理增量,永远是总量小的时候增量明显,比如光源从一个变成两个明显比51个变为52个更强烈,虽然两者都只增加了一个光源。由此可见,我们的眼睛和大脑更擅长在黑暗的环境中发现明暗细微的区别而不善于在明亮的场景中发现同样的区别。实验证明,如果我们定义0代表的亮度为0,1代表亮度为100%,那么亮度从0上升到0.218时,我们就会感觉到灰度已经达到了白色的50%,从绝对意义上的物理亮度来说,这里的光子只有白色的21.8%左右,而当亮度真正上升到0.5时,人的感官会认为明度已高达白色的78%。人心理感受的中灰色并不等于白色的50%这个悖论更加证明人眼对弱光线更加敏感这一特性。
另一方面,计算机和数字图像传感器都是靠搭载接收器上的光子数量来衡量亮度的,所以不管周围的亮度如何,单位的光子都会线性地提升相同的单位,当电脑存储图像时,电脑会记录每个像素上RGB三通道的亮度值,在主流的8位/通道的图像中,如jpegs或png,由于每通道仅仅只有256个色阶,线性地记录亮度信息会造成资源的浪费,在图像采集过程中,储存的不是每个像素的亮度值,而是经过Gamma值为1/2.2的校正后的图像信号,这样就把暗色渐变的部分划分为更多的数据点,亮色的渐变则用更少的数据点表示,这样大致和人类的视觉观感相似,由于目前主流显示器都是非线性的,所以显示器要输出图片时,只需将存储的数值施加一个Gamma=2.2就能显示出正常的颜色。自然数据经Gamma校正记录为非线性文件数据,牺牲掉了一些不重要的亮部存储空间,以此达到人的心理预期,并合理地利用存储空间,最大限度地记录自然界的信息。
在线性工作流中,我们必须遵循线性化颜色数据的工作流程,这意味着在处理图像时要全部使用线性化的图像数据。由于在三维软件中进行的渲染必须是线性的,而输入的8位/通道的贴图都是经过Gamma校正后的偏亮的非线性图片,所以两者叠加进行物理渲染一定会导致不正确的渲染结果,产生混合Gamma。为了让渲染流程线性化,我们可以将输入的8位/通道的贴图进行反向Gamma(Gamma=2.2),让其回到线性空间,此时再将压暗的图像信号代入计算机渲染中,就会得到完全正确的渲染计算的数据了,但如果这个时候将渲染结果输出到显示器,就会呈现出前文中提到的图像整体偏暗的结果,这是由于显示器固有的sRGB标准的Gamma校正,此时我们为了得到最终正确的输出效果,只需施加一个值为1/2.2的提亮Gamma来补偿显示器带来的偏差,光线衰减速度将会被修正,为暗部带来更多细节的同时提升画面的真实感,从而得到理想的效果。
线性工作是所有艺术家、新手或经验丰富的计算机图形学中最容易被误解和困惑的方面之一。在线性工作流下,从渲染设置、光照计算到后期处理整个流程中个色彩管理都是正确的,值得每一位CG艺术家学习。虽然线性工作流早已成为行业的标准流程,但时至今日,线性工作流仍然没有被广大CG艺术家所熟知,虽然线性工作流开始时有点令人困惑,但从长远来看,它将会带来巨大的回报。
参考文献:
[1]彭国福,林正浩.图像处理中GAMMA校正的研究和实现[J].电子工程师,2006(02):30-32+36.
[2]杜馨瑜. 模拟视觉机制的图像处理若干问题研究[D].电子科技大学,2012.
[3]韩世麟. 写实建筑CG表现技术及其在建筑设计中的应用[D].天津大学,2014.