在 8 位 YUV 色彩空间中进行处理

在 YUV 颜色空间中工作可简化视频流的 ProcAmp 调整控制所涉及的计算。

Y 处理

若要对 Y 分量执行 ProcAmp 调整,请从 Y 值中减去 16,将黑色级别定位为零。 这将删除 DC 偏移量,以便调整对比度不会改变黑色级别。 由于 Y 值可能小于 16,因此此时应支持负 Y 值。 通过将 YUV 像素值乘以常量来调整对比度。 如果未调整你和 V,则只要更改对比度,就会产生颜色偏移。 亮度属性值 (或从对比度调整后的 Y 值中减去) ;这样做是为了避免由于调整对比度而引入 DC 偏移量。 最后,添加值 16 以将黑色级别重新定位为 16。

以下公式总结了上一段落中所述的步骤。 C 是对比度值,B 是亮度值。

Y' = ((Y - 16) x C) + B + 16

UV 处理

若要对 you 和 V 组件执行 ProcAmp 调整,请从 you 和 V 值中减去 128,以将范围置于零附近。 hue 属性是通过将 you 和 V 值混合在一起实现的,如以下公式所示。 H 是所需的色调角度:

U' = (U-128) x Cos(H) + (V-128) x Sin(H)
V' = (V-128) x Cos(H) - (U-128) x Sin(H)

通过将 U'和 V' 乘以一对常量,然后将每个常量相加 128 来调整饱和度。 以下公式显示了对 UV 数据对色调和饱和度的组合处理。 H 是所需的色调角度,C 是对比度值,S 是饱和度值:

U'' = (((U-128) x Cos(H) + (V-128) x Sin(H)) x C x S) + 128
V'' = (((V-128) x Cos(H) - (U-128) x Sin(H)) x C x S) + 128