信号范围、裁切与3D LUT(三)

Signal Ranges, Clipping, and 3D LUTs
技术前沿

查找表(LOOKUP TABLES,缩写为LUT)

查找表(LUT)是一个将色彩以数字进行编码的长表,可用于将输入图像的每个像素的颜色映射为新的颜色,以此创建一个色彩有所不同的输出图像。

所有常见LUT的色彩都编码为RGB色彩,这意味着,查找表中每个色彩项都由三个值来表示,分别是“红”“绿”和“蓝”。原因之一是因为LUT在计算机图形中有自己的原始坐标,像素通常以RGB编码,而不是以模拟视频的YUV(Y’CbCr)编码。为了给一个图像套用LUT,该图像也需要进行RGB编码。

那我们一起来看看片场使用的LUT box。LUT box是一个可以将LUT应用于视频信号的装置。为了实现这个目的,LUT box需要:

  • 从视频输入中读取Y’CbCr像素
  • 将其转换为RGB
  • 通过为原始RGB值寻找新的RGB色彩值应用LUT
  • 将新的RGB图像像素转回Y’CbCr
  • 最终将这些Y’CbCr像素置入视频输出

可以看到,将LUT应用于Y’CbCr视频信号,既需要Y’CbCR转RGB,又需要RGB转Y’CbCR。

RGB与Y’CBCR转换

要理解RGB如何转换为Y’CbCr的工作原理,我们就需要再次回到视频信号范围这个话题。

10-bit Y’CbCr信号的亮度通道(Y’)合法范围是64到940。这意味着一个全白像素的峰值亮度一般Y’码值为940。那么我们期待RGB编码的码值是怎样的呢?

对于计算机图形中RGB编码的像素来说,“动态余量”的概念不是必要条件,所以RGB一般在色彩编码时使用所有码值。假设我们要进行一个10-bit RGB编码(每个通道都是0到1023),R、G、B三个通道高光的全白像素等同于码值为1023的RGB像素(而不是940)——代表的是RGB编码中最亮的白色。

Signal Ranges, Clipping, and 3D LUTs
“白”像素在10-bit Y’CbCr与10-bit RGB之间的转换示例。Cb与Cr通道的码值512意味着无“色差”,对于白像素来说也是如此。转换通常以矩阵乘法完成(未显示)。

所以,一般从Y’CbCr进行来回转换会包含一些码值调整,将Y’CbCr的有效码值范围调整为RGB码值范围。只有通过这样的调整,(服务于RGB值的)LUT才能映射正确的色彩。在LUT应该处理超出合法范围的全白像素时,你不会想看到RGB编码的码值只限制于红绿蓝940 940 940(因为这个码值映射出来的是浅灰色),而应该是红绿蓝1023 1023 1023(因为这才映射出全白)。

到目前为止都一切正常,但接下来问题就出现了……


出处:Patrick Renner/Pomfort

翻译:盖雅翻译小组


系列阅读

信号范围、裁切与3D LUT

views
技术前沿
Pomfort 发布 Offload Manager 1.5.3 更新

Offload Manager – 1.5.3  更改 · 为macOS 15 Sequ …

技术前沿
Pomfort Virtual LUT Box 2.2 更新

VIRTUAL LUT BOX V2.2 针对虚幻引擎(V5.4) Tue, 01 Oct 2024 …

技术前沿
Live FX 产品套装 v9.8 先行版1167更新

舞台灯光 —— DMX 控制台灯具控制映射功能更新,更多通用细节,欢迎点击本文查看