Categories: 学术

YCBCR色彩空间

YCbCr, Y’CbCrY Pb / Cb Pr / Cr ,也被写为YC B C RY’C B C R ,是一组色彩空间,用作视频和数字摄影中彩色图像流水线的一部分系统。 Y’是亮度分量,CB和CR是蓝色差和红色差色度分量。 Y’(带有素数)不同于Y,这是亮度,这意味着光强度是基于伽马校正的RGB原色非线性编码的。

Y’CbCr颜色空间由相关RGB颜色空间的数学坐标转换定义。 如果底层的RGB色彩空间是绝对的,Y’CbCr色彩空间也是绝对的色彩空间; 相反,如果RGB空间不明确,Y’CbCr也是如此。

合理
阴极射线管显示器由红色,绿色和蓝色电压信号驱动,但这些RGB信号作为存储和传输的代表并不高效,因为它们有很多冗余。

YCbCr和Y’CbCr是对颜色处理和感知均匀性的实际近似,其中大致对应于红色,绿色和蓝色的原色被处理成感知上有意义的信息。 通过这样做,后续的图像/视频处理,传输和存储可以执行操作并以感知有意义的方式引入错误。 Y’CbCr用于分离可以以高分辨率存储或以高带宽传输的亮度信号(Y’),以及可以带宽减少,二次采样,压缩或其他方式的两个色度分量(CB和CR)分开处理以提高系统效率。

由于人类对黑白信息更为敏感(参见右图),一个实际的例子就是将分配给“彩色”的带宽或分辨率降低为“黑白”。 这被称为色度子采样。

的YCbCr
YCbCr有时缩写为YCC。 当用于模拟分量视频时,Y’CbCr通常被称为YPbPr,但术语Y’CbCr通常用于两个系统,有或没有素数。

Y’CbCr经常与YUV色彩空间混淆,通常术语YCbCr和YUV可以互换使用,导致一些混淆。 主要区别在于YUV是模拟的而YCbCr是数字的。

Y’CbCr信号(在缩放和偏移之前将信号置于数字形式之前)被称为YPbPr,并使用三个定义的常量KR,KG和KB从相应的伽玛调整的RGB(红色,绿色和蓝色)源创建如下:


其中K R ,K G和K B通常是从相应的RGB空间的定义导出的,并且需要满足  。 (等效矩阵操纵通常被称为“颜色矩阵”。)

这里,主要的符号意味着正在使用伽马校正; 因此R’,G’和B’通常从0到1,其中0代表最小强度(例如,用于显示黑色)和1最大值(例如,用于显示白色)。 所得到的亮度(Y)值将具有从0到1的标称范围,并且色度(PB和PR)值将具有从-0.5到+0.5的标称范围。 逆转换过程可以通过反转上面的等式而容易地导出。

当以数字形式表示信号时,结果被缩放和舍入,并且通常添加偏移量。 例如,应用于每个规范的Y’分量(例如MPEG-2)的缩放和偏移导致黑色值为16,而使用8位表示时白色值为235。 该标准具有CB和CR的8位数字化版本,缩放到16到240的不同范围。因此,在进行彩色矩阵处理时,有时需要使用分数(235-16)/(240-16)= 219/224来重新缩放或在YCbCr空间中进行处理,导致在后续处理不使用较高位深度时执行量化失真。

导致使用比表示输入数据的标称范围所希望的更小范围的数字值的缩放允许在处理期间产生一些“过冲”和“下冲”而不需要不希望的削波。 这个“head-room”和“toe-room”也可以用于扩展xvYCC指定的名义色域。

值235容纳255-235 = 20或20 /(235-16)= 9.1%的最大黑 – 白过冲,其略大于理论最大超调(吉布斯现象)约8.9%的最大的一步。 脚趾空间较小,仅允许16/219 = 7.3%的超调,这比理论最大超调量8.9%小。

由于定义YCbCr的方程以旋转整个标称RGB彩色立方体的方式形成,并将其缩放以适合(更大)YCbCr彩色立方体,所以在YCbCr彩色立方体内有一些点不能在相应的RGB域中表示(至少不在标称的RGB范围内)。 这在确定如何正确解释和显示一些YCbCr信号时造成一些困难。 这些超出范围的YCbCr值被xvYCC用于编码BT.709色域之外的颜色。

RGB到YCbCr的转换

ITU-R BT.601转换
为用于数字分量视频的ITU-R BT.601标准(以前称为CCIR 601)标准定义的Y’CbCr形式源于相应的RGB空间,如下所示:


从上述常数和公式可以得出ITU-R BT.601的以下内容。

来自模拟R’G’B’的模拟YPbPr如下导出:


数字Y’CbCr(每个采样8位)由模拟R’G’B’导出,如下所示:

Related Post


或者简单地分组


对于Y’,所得到的信号范围从16到235(Cb和Cr范围从16到240); 从0到15的值称为footroom,而从236到255的值称为净空。

或者,数字Y’CbCr可以根据以下等式从数字R’dG’dB’d(每个样本8位,每个使用全部范围,其中0代表黑色,255代表白色)导出:


在上面的公式中,缩放因子乘以  。 这允许分母中的值256,其可以通过单个位移来计算。

如果R’d G’d B’d数字源包含足部空间和净空,则需要从每个信号中首先减去足部空间偏移16,并且比例因子为  需要包含在方程中。

逆变换是:


没有任何舍入的反变换(使用直接来自ITU-R BT.601建议的值)是:


这种形式的Y’CbCr主要用于较老的标准清晰度电视系统,因为它使用了适合老式CRT荧光粉发射特性的RGB模型。

ITU-R BT.709转换
ITU-R BT.709标准规定了不同形式的Y’CbCr,主要用于HDTV的使用。 较新的形式也用于一些面向计算机显示的应用程序。 在这种情况下,Kb和Kr的值不同,但使用它们的公式相同。 对于ITU-R BT.709,常数为:


Y’CbCr的这种形式基于RGB模型,更接近新型CRT和其他现代显示设备的荧光粉发射特性。

在BT.709和BT.601之间,R’,G’和B’信号的定义也有所不同,在BT.601内有所不同,具体取决于所使用的电视系统的类型(如PAL和SECAM中的625行或与NTSC一样的525行),并在其他规范中有所不同。 在不同的设计中,R,G和B色度坐标的定义,参考白点,支持的色域范围,用于从R得出R’,G’和B’的精确伽马预补偿函数存在差异, G和B,以及在从R’G’B’到Y’CbCr转换期间应用的缩放比例和偏移量。 因此,将Y’CbCr从一种形式正确转换为另一种形式不仅仅是反转一个矩阵并应用另一种矩阵的问题。 实际上,当理想地设计Y’CbCr时,KB和KR的值是从RGB颜色主信号的精确指定中导出的,因此亮度(Y’)信号尽可能接近伽马调整的测量值(通常基于人类视觉系统对颜色刺激的响应的CIE1931测量结果)。

ITU-R BT.2020转换
ITU-R BT.2020标准定义了伽马校正后的Y’CbCr和称为YcCbcCrc的YCbCr的线性编码版本。 当最高优先级是最准确的亮度信息保留时,可以使用YcCbcCrc。 对于YcCbcCrc,系数为:


JPEG转换
JPEG的JFIF使用支持Y’CbCr,其中Y’,CB和CR具有[0 … 255]的完整8位范围。 以下是转换方程表达为精度的六位十进制数字。 (理想方程见ITU-T T.871)注意,对于下列公式,每个输入(R,G,B)的范围也是[0 … 255]的全部8位范围。


然后回来:

CbCr平面在Y = 0.5

Y = 0.5

注意:当Y = 0时,R,G和B必须全部为零,因此Cb和Cr只能为零。 同样,当Y = 1时,R,G和B必须都是1,因此Cb和Cr只能是零。

与R,G和B不同,Y,Cb和Cr值不是独立的; 任意选择YCbCr值可能会导致一个或多个超出色域的RGB值,即大于1.0或小于0.0。

Share
Tags: Color space