线性工作流 (LWF)

线性工作流,即 Linear Workflow,简称 LWF
如果要充分理解线性工作流程首先需要弄清几个概念
伽马矫正、sRGB、显示器部分原理、人眼感官特点、8bit 16bit 32bit位深
希望各位看官在读完本文章后能充分理解其含义,而别再讨论开不开伽马矫正了

为何会有线性工作流

这得先追溯到图像位深

如果使用8bit来记录一个像素,那就表示有 2的8次方种 灰度或色彩组合可以表示,常见图片格式为 .jpg .jpeg .png
如果使用16bit来记录一个像素,那就表示有 2的16次方种 灰度或色彩组合可以表示,常见图片格式为 .png
如果使用32bit来记录一个像素,那就表示有 2的32次方种 灰度或色彩组合可以表示,常见图片格式为 .hdr .exr

有些图片过于复杂,是无法用256种色彩组合表现的,这时如果是8bit图片则会出现颜色断层,从而严重影响观感

32bit比8bit能表达的颜色更多,那为何不全部使用32bit呢?简而言之就是存储成本过大、传输成本过大等因素导致
这也就导致了我们绝大多数图片都是8bit的

那有没有办法使用8bit记录复杂图片信息,且使观感更好?
答案是有的,这个答案就是伽马矫正!但是在了解伽马矫正前我们先来了解人眼感官特点

人眼感官特点

先说结论,人眼对自然亮度感知是非线性的,人眼对暗部信息更感兴趣
简而言之,物理光学能量上的由暗到明均匀渐变并不是人眼所喜好的美术层面的均匀渐变
如果有兴趣了解此结论证明过程,可以观看下面的视频,视频来源:韩世麟的知乎

伽马矫正

从上述信息已得知人眼感官对暗部更感兴趣,那我们可以在有限的空间里记录更多的暗部信息从而改善图片观感
要达到这个目的,我们就需要将整体图像色阶提亮进行存储,但又不能随意提亮而使得亮部细节丢失,这时就引出了伽马矫正

人们对于物体明亮程度的主观感受,遵循指数规律。1盏灯→2盏灯产生的亮度变化感受,与2盏灯→4盏灯的变化感受是相同的,也就是说2倍物理亮度改变让我们感受到1“档”变化,4倍物理亮度改变产生2“档”感受变化,8倍亮度对应3“档”感受变化……
根据实验测定,人类对明亮程度的主观感受,线性对应于物理亮度的2.2次方

结合上述,非线性存储方案就是很自然的结论,Gamma=2.2就成了标准
伽马2.2即 一条幂函数 y=x^(1/2.2),用这种方式将所有图像以偏亮的信息进行存储,能够更大程度保留人眼感兴趣部分

显示器部分原理

我们得知图片以偏亮的非线性信息进行存储,我们要看到正确的图像信息则应该进行还原
而这一部分操作则是在显示器上进行完成的,要还原为原来的线性正确结果,则应对显示图像进行幂函数对数运算,例如 (10^2.2)^(1/2.2)=10
这时显示器就显示出了原始的图像
我们大部分显示器是基于sRGB的,sRGB近似于Gamma2.2,这里就不展开了

32bit图像

这是一类例外,前面我们提到,这一切都是源于8bit的寒酸存储,而32bit图像能记录的色阶信息更多 如 .hdr .exr,因此也不需要进行非线性存储了(是可以如8bit一样非线性存储的,只是没必要)
所以通常存储在这两种格式下的信息都是线性的
但上文所述显示器会施加一条抵消Gamma2.2的曲线,如果不做处理的话图像呈现出来就会暗很多
这个时候我们的看图软件就自动给预览结果施加了一条Gamma曲线用于抵消显示器的下压曲线,就还原了正确结果
如果用一些没此功能的看图软件进行查看的话,就会得到偏暗的结果

什么是线性工作流

将线性的数据代入进行计算,得出线性的结果即线性工作流
在CG创作中,软件并不会知道这张图片是以何种方式进行存储数据的,因此才需要我们手动设置每一张贴图的伽马值信息,用以将非线性的数据转为线性的数据,还原这张图片想要表达的信息

1 2

评论0

请先

显示验证码
没有账号? 注册  忘记密码?

社交账号快速登录

微信扫一扫关注
扫码关注后会自动登录