图像后期处理之色彩原理 vol 3 | 线性流程


bopu3

本系列前两篇介绍了色彩深度和颜色空间,提到了电影后期要基于 32Bit 线性流程,这样可以最大限度地保留图像的细节。本篇会着重梳理 Photoshop, Maya, Max , Nuke 等几个常用后期软件线性流程方面的知识。如有偏差,欢迎指出。

● Photoshop 篇

Photoshop 是最常用的图像二维处理软件,默认设置是 8 bit 色深和 sRGB 颜色空间,日常我们处理照片已经足够了。对于电影后期制作来说,贴图师和数字绘景师一般会把默认的设置调整为 16bit 或更高的 32bit,以尽量减少质量的损失。

bit-1

当用 8bit 和 16bit 储存图片格式的时候,Photoshop 默认认为这是一张 sRGB颜色空间的图片,会自动进行 sRGB 编码,当转换成 32bit 之后,输出的图片(通常为 exr 格式)被默认当成了一张 Linear 的图片,不进行 sRGB 编码。

储存为 8bit sRGB 图片,格式种类很丰富:

ps-1

储存为 32bit linear 图片,只有几种格式可以选择:

ps-2

Photoshop设置颜色空间的菜单位置:

ps-3

Photoshop自带一长串 LUT,可以模拟不同设备上的显示效果:

ps-4

很多从业人员会发现,当我们用 Photoshop 打开一张 8bit sRGB 和 32bit Linear 图片后,显示效果是一样的,但上一章我介绍了 Linear 应该看上去比 sRGB 暗很多才对。没错!他们的颜色空间就是不同的,只是 Photoshop 比较智能,当打开一张 32 bit 图片时,它会认为我们只是想在线性空间下工作,并不会愿意在线性空间下看最终显示结果,因为没有那个显示设备是线性空间的。所以自动给 Linear 图片套上了 sRGB 的 LUT 来模拟一般显示器的显示效果,为我们省去了这一个步骤。

来看一张我在斯里兰卡拍摄的美图,这些渔夫都是摆拍的,奶奶个腿儿拍这些照片还收了我银子。

当我们用 8bit 来处理图片时,颜色空间设置为 sRGB ,默认勾选了“保留 RGB 编号”,不管你勾不勾选都没有任何变化,因为这张图本身就是 sRGB 的,所以不需要任何的转换。

ps-5

当我们把图片转换成 32bit 后,Photoshop 自动把它转成了 linear 空间,如果用同样的颜色空间设置,就会看到图片发暗了,说明这是一张线性的图片。

ps-6

“保留 RGB 编号” 选项的意思大致是:是否保留这张图片本身的 sRGB 编码,如果使用线性流程,套用 sRGB LUT 来观看和显示图片,就没有必要勾选了,这会让图片本身再套上一层和 sRGB 相反的曲线,即使选择了使用 sRGB LUT 来观看,图片任然看上去是暗的。

去掉 “保留 RGB编号” 选项,线性图片在 sRGB LUT下显示正常:

ps-7

使用 32 bit 绘制和处理图片,套上 sRGB 或者其他 LUT 来观察,以 32 bit exr 文件来储存,这就是 Photoshop 基本的线性流程。

Maya & Max 篇

Autodesk Maya 是几乎所有特效公司都会使用的三维软件,最新的 Maya 放弃了 Mentalray 渲染器,搭配了时下最为流行的 Anorld 为默认的渲染器,笔者受工业光魔项目的影像,使用 Vray 比较多,所以会以 Vray 来讲解 Maya 的线性流程,套路都一样,其他渲染器线性设置可以举一反三。

下图是使用 Vray 最基本的设置渲染的物体,贴图依然是斯里兰卡的那张照片,既然花了银子就得多用几次,:)。默认我连接了 8bit sRGB JPG 格式的贴图,但是我们发现渲染出来的图片的颜色发白,丢失了一些饱和度。

Beauty 通道:

maya-1

如果去掉光影信息,切换到 Diffuse Color 通道,能更明显地看出颜色的丢失。

Diffuse 通道:

maya-2

这是因为 Vray 默认使用了线性流程,而我们的贴图是一张 sRGB 的 JPG 图片,渲染器把这张图默认当成了一张线性的贴图,不做任何处理,所以在套上 sRGB 的 LUT 之后,等于在本身就是 sRGB 的贴图之上又套用了一层 sRGB 的颜色空间,叠加了两次 sRGB 的曲线,所以图片变亮变灰了。

要解决这个问题很简单:

方法 1:

把 sRGB 贴图替换成一张 32 bit 的 exr 线性空间图片(也可转成 tx 格式,目前很多渲染器支持 tx 格式,这种格式读取速度会更快)

方法 2:

如果不是电影级别的贴图制作,嫌麻烦任性地只想使用 sRGB 贴图,可以告诉 Vray,我使用的是一张 sRGB 的图,在渲染之前给它一个和 sRGB 相反的曲线转化成线性。

具体操作:在 Maya 的 File 节点下,添加自定义属性: Texture input gamma,设置 Color Space 为 sRGB 或 Gamma 2.2 。

添加自定义属性,定义贴图的颜色空间:

maya-3

sRGB 和 Gamma 2.2 两个选项得到的结果几乎是一样的,但不完全相等:

上一章讲解了 sRGB 其实就是一条 Gamma 2.2 的曲线,但经过好朋友王染的指正,这两者只能说是相似,在曲线上是有一点区别的,如果没有强迫症,我们可以忽略这个微小的区别。

正确设置 colorspace 之后渲染的图片:

maya-4

在渲染设置中,使用默认的 Color mapping 设置即可,Gamma 要设置成 2.2,这是告诉渲染器我们最终是要在 Gamma 2.2 的显示器下观看,光线的计算方式也会在正确的颜色空间下渲染。

maya-6

这里不建议勾选 Linear workflow,这是老的线性流程使用方式,勾选它后,sRGB 图片不用添加自定义属性也会自动转成线性颜色空间,但是灯光的效果会有所不同,按线性空间的计算方式变得更暗了。

使用 Linear workflow 后,贴图颜色正确,但光线变暗了:

maya-5

使用默认的 Color Mapping 渲染设置,给贴图添加 Texture input gamma 属性,在 V-Ray frame buffer 视窗里套用 sRGB LUT 观看显示结果,这就是 Maya Vray 的线性流程。

3ds Max 在 2014 之前的版本可以在偏好设置里设置 Input Gamma 的值,它会自动把所有贴图当成 Gamma 2.2 (sRGB)来看待,并自动把它转化成 Linear 渲染。2014 之后官方资料显示他们去掉了这个选项,声称 Max 可以自动识别贴图的颜色空间,这一点上经过我本人测试,还是无法识别,我只能在贴图节点上增加一个调色节点来转 Gamma 值,希望更懂 Max 的朋友告诉我解决方法。

3ds Max 2014 以后取消了红框里的选项:

max-1

同样的 colorspace 设置在 Clarisse 里也有,举一反三即可:

clarisse-1

● Nuke 篇

所有的软件都大同小异,线性流程无非就是让所有素材在线性空间下工作,套用一个LUT(默认显示设备是 sRGB,电影接近 rec709)来观看而已。

Nuke 是电影后期制作中最常用的一款合成软件,它也一样,首先要设置读取进来的图片素材的颜色空间。如果读取的是 8bit sRGB 的 jpg 格式,colorspace 会默认为 sRGB,意思是告诉 Nuke 我使用的是一张 sRGB 的图,Nuke 会自动给它套上一个与 sRGB 相反的曲线转化成 linear 空间。

Read 节点读取 sRGB 图片:

nuke-1

如果读取的是 exr 文件,colorspace 可以选择 linear 或勾选 raw data,Nuke 会自动读取原始的线性图片,不会对图片进行任何颜色空间转化的预处理。

选择 linear 或勾选 raw data 读取线性图片 :

nuke-2

除了在 Read 节点下预处理素材的颜色空间以外,也可以添加 colorspace 节点来人为地转换颜色空间。

把 sRGB 转换成 linear:

nuke-3

正确设置好所有素材的颜色空间后,我们就已经在一个线性的环境下工作了,把 LUT 设置成 None,可以查看线性图片的原始样子。

不套用任何 LUT,线性图片原始的样子:

nuke-4

套用电影屏幕常用的 rec709,图片亮度介于 sRGB 和 linear 之间:

nuke-5

最后一步如果需要输出线性原始的图片,就选择 linear 或 raw data;如果是在电视和显示器上播放,就输出 sRGB;如果是电影项目要最终交货,需要多一个步骤,转成数字中间片转电影胶片常用的格式:cinear 颜色空间 dpx 格式(dpx 是一些数字摄影机拍摄的 raw 原始格式)。

dpx 可以设置客户需要的色彩位深:

nuke-6


后记 : 终于码完了《图像后期处理之色彩原理》全三篇,写完这几篇文章感觉伤了元气,每一个字每一张图都是原创的,把我从业以来对后期颜色原理的知识整理了一遍,方便大家交流和学习,如果喜欢请多多传播,再次感谢您的阅读,请尊重原创,未经许可,谢绝转载。

相关文章:

图像后期处理之色彩原理 vol 1 | 色彩位深
图像后期处理之色彩原理 vol 2 | 颜色空间

qy

扫描二维码,关注本公众号
关注 Hi秦尧 微信公众号
查看评论

Hi,我叫秦尧,欢迎访问我的独立博客,我是一名CG视觉与电影工作者,生活在北京,目前担任电影特效公司 Base FX 数字环境绘景部门总监...