线性编码为什么不够用
线性编码的意思是:场景亮度翻倍,记下来的数值也翻倍。看起来最直观,问题也正出在这里。亮度每低一档就减半,所以最亮的一档会占掉整个编码范围的一半,次亮那一档占四分之一,依次减半。等排到暗部,剩下的编码值已经很少了。
而人的视觉对暗部的差别比对高光的差别敏感得多。于是线性编码把最多的编码值给了人最不在意的部分,把最少的给了人最挑剔的部分。在位深充裕时这个浪费还能忍,位深一紧,暗部立刻出色带。
log 编码在换什么
把分配关系改成接近对数的形状,每一档亮度分到的编码值就大致相等。这样整条曲线的刻度均匀落在「档」上,而不是落在「亮度数值」上:
线性:编码值 ∝ 场景亮度 log:编码值 ∝ log(场景亮度)
收益很直接:同样的位深可以装下更多档动态范围,而且暗部不再被挤成几个台阶。代价有三条,都要在流程里提前安排。
- 必须还原才能看log 素材直接显示是灰的、低对比的。那不是「拍平了」,而是还没有做反向映射。要判断画面必须先套上对应的还原,否则所有影调判断都是错的。
- 监看链路要统一现场、剪辑、调色看到的还原必须一致,否则三方对同一个镜头的明暗判断不同。这件事比选哪条曲线更容易出事。
- 不是省曝光的借口log 扩的是记录范围,不是让曝光可以随便放。曝光放错位置时,log 只是把错误更均匀地记了下来。
高光与暗部的余量不对称
高光一旦削平,就是真的没有信息了——三个通道都到顶,再也分不出层次,后期只能把一整片白拉成一整片灰。暗部则不同:暗部通常还有信息,只是埋在噪声里,提亮会把噪声一起提起来,但至少有东西可以换。
这个不对称决定了实践里的默认偏向:宁可暗一点也不要让重要的高光到顶。但它不是无条件的,因为提亮暗部要付噪声的代价,而噪声在大银幕上比在手机上明显得多。
| 情况 | 画面表现 | 可挽回程度 | 代价 |
|---|---|---|---|
| 高光削平 | 亮面成为一整片没有层次的白,边界生硬 | 不可挽回 | 只能重新拍或者接受 |
| 高光压缩过度 | 亮面层次被压扁,看起来发灰 | 可挽回 | 拉开对比后噪声与色带可能显形 |
| 暗部埋进噪声 | 暗面有层次但伴随颗粒 | 部分可挽回 | 提亮会同时提升噪声 |
| 暗部被截断 | 暗面成为一整片死黑 | 不可挽回 | 只能重新拍 |
位深与色带
位深决定编码值一共有多少级。级数不足时,一段平滑渐变会被量化成若干台阶,在画面上就是成圈或成带的边界。它最容易出现在三种地方:大面积天空、单色墙面、以及被大幅提亮过的暗部。
要注意这不是「分辨率不够」,提高分辨率不会减少色带;它是亮度方向上的分级不足,只能靠更高的位深、更合适的分配曲线,或者在最终调色前避免反复编码来缓解。