为何Cr+Cg+Cb为常数?——YCbCr色彩空间技术疑问
关于YCbCr色度分量线性依赖的解释
首先纠正一个表述细节:书中说的「Cb + Cr + Cg为常数」其实是简化说法,准确的逻辑是三个色度分量之间存在固定的线性约束关系,因此只需存储两个,第三个可通过推导得出,核心原因来自亮度Y的定义规则:
推导过程
已知:
- 亮度公式:
Y = kᵣ*R + k₉*G + kᵦ*B,其中kᵣ + k₉ + kᵦ = 1(这是灰度转换的核心规则,比如ITU-R BT.601标准中kᵣ=0.299、k₉=0.587、kᵦ=0.114,三者相加正好为1) - 色度分量定义:
Cr = R - Y Cg = G - Y Cb = B - Y
将三个色度分量代入加权求和(权重为亮度公式的系数):
kᵣ*Cr + k₉*Cg + kᵦ*Cb = kᵣ*(R-Y) + k₉*(G-Y) + kᵦ*(B-Y)
展开后整理:
= (kᵣ*R + k₉*G + kᵦ*B) - Y*(kᵣ + k₉ + kᵦ)
根据亮度公式,kᵣ*R + k₉*G + kᵦ*B = Y,且kᵣ + k₉ + kᵦ = 1,代入后:
= Y - Y*1 = 0
结论
从这个等式kᵣ*Cr + k₉*Cg + kᵦ*Cb = 0,可以直接解出任意一个分量:
比如解出Cg:
Cg = - (kᵣ*Cr + kᵦ*Cb) / k₉
因为kᵣ、k₉、kᵦ是色彩空间的固定参数,所以只要知道Cr和Cb,就能精确算出Cg,完全不需要额外存储或传输。
书中的「Cb + Cr + Cg为常数」应该是对这个线性约束关系的简化表述——本质是三个分量不独立,存在固定的数学关联,因此只需保留两个即可。
引用翻译:[1]:《H.264与MPEG-4视频压缩》——伊恩·E·G·理查森,第16页
内容的提问来源于stack exchange,提问作者krosshj
相关产品推荐
相关产品推荐

