本文主要是介绍视频图像中的YCbCr格式是怎么来的?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
颜色模型总述
想要知道视频图像中的YCbCr格式是怎么来的,首先简单里了解下述几种的颜色模型包括:
CIE RGB 颜色模型:基于人眼视觉感知三原色理论,CIE 通过大量实验数据建立 RGB 颜色模型,标准化了 RGB 表示。
CIE XYZ 颜色模型:为解决 RGB 模型中,与负光混合所带来的种种问题,CIE 从数学上定义了三种标准基色 XYZ,形成了 CIE XYZ 颜色模型。
NTSC YIQ 颜色模型:在模拟电视时代,RGB 工业显示器要求一幅彩色图像由分开的 R、G、B 信号组成,而电视显示器则需要混合信号输入,为了实现对这两种标准的兼容,NTSC 基于 XYZ 模型制定了 YIQ 颜色模型,实现了彩色电视和黑白电视的信号兼容。
PAL YUV 颜色模型:为了解决 NTSC YIQ 的组合模拟视频信号中分配给色度信息的带宽较低而影响了图像颜色质量的问题,PAL 引入了 YUV 颜色模型,支持用不同的采样格式来调整传输的色度信息量。
ITU-R YCbCr 颜色模型:进入数字电视时代,ITU-R 为数字视频转换制定了 YCbCr 颜色模型,成为我们现在最常使用的颜色模型。
颜色建模的背景
颜色模型:在某种特定上下文中对颜色的特性和行为进行解释的方法。没有哪种颜色模型能解释所有颜色问题,因此需要使用不同模型来帮助说明看到的不同的颜色特征。
实际应用,针对某一类型应用场景,人们希望尽量做到颜色模型统一和兼容,所以经历了一系列颜色建模和标准制定的过程。下图是颜色标准制定的关键节点图:
CIE 是国际照明协会的简称,是最早采用数学方式来定义颜色模型的。CIE 是从 1920 年代后期 W. David Wright(Wright 1928)和 John Guild(Guild 1931)做一系列实验中建立了初始的RGB颜色模型,且标准了RGB的表示,即为CIE RGB。
接下来,从 CIE RGB 开始依次介绍 CIE XYZ、NTSC YIQ、PAL YUV 等颜色模型,最后到 ITU-R YCbCr 结束,就来到了目前在视频开发中最常接触的 YCbCr 模型。希望在这趟历程里能帮你梳理清楚『颜色』这个概念的发展脉络。
CIE RGB 颜色模型
当光由两个或多个具有不同主频率的光源混合而成时,我们可以改变各个光源的强度来生成一系列其他颜色的光,这是构造颜色模型加色模式。
==其中用来生成其他颜色光源的色彩称为基色。==通过基色可以产生的所有颜色的集合称为该颜色模型的颜色范围(色域)。如果两种基色混合则生成白色光,就称它们为互补色,比如红色和青色、绿色和品红、蓝色和黄色都是互补色。
在基本颜色中,没有哪一组集合能组合生成所有可见的颜色。但三种基色对多数应用来说是够用的,且不包含在指定基色集的颜色范围中的颜色仍可使用扩充方法进行描述。RGB 即为一种加色模式,多种基色的量加在一起生成另一种颜色。
使用RGB表示时,要注意的是,在 光谱500 nm 附近的颜色需要从蓝光和绿光的混合光中再『减去』对应的红光得到(红光曲线在 500 nm 附近是负值)。由于这个『负光』的效果在 RGB 彩色显示器无法实现,所以 RGB 彩色显示器不能显示 500 nm 左右的颜色。
CIE XYZ 颜色模型
因为 RGB 模型中与『负光』混合所带来的种种问题,CIE 从数学上定义了三种标准基色 XYZ(是理论上的颜色,而非实际的颜色),形成了『CIE XYZ 颜色模型』。
此外,还定义了一组输出全部为正值的 『XYZ 颜色匹配函数』,指定描述任何一种光谱颜色所需要的各基色分量,XYZ 颜色匹配函数是基于 RGB 三基色颜色匹配函数的线性组合。
CIE XYZ 颜色模型是定义各种颜色的国际标准,并且使用 CIE 基色还能避免颜色负值匹配问题,以及选择一组实际基色有关的其他问题。
在 XYZ 颜色空间中任何颜色都可以表示为三个基色的单位向量 的加性组合,即:
其中 C(λ) 表示彩色光的亮度(luminance),对应颜色的亮度(brightness)特征。X、Y、Z 则为三基色比例系数。XYZ 颜色模型表示颜色时满足以下 3 个条件:
XYZ 颜色模型表示颜色时满足以下 3 个条件:
X、Y、Z 三色比例系数大于 0;
Y 的数值正好表示光的亮度值;
当 X = Y = Z 时,表示标准的白光。
NTSC YIQ 颜色模型
RGB 工业显示器要求一幅彩色图像由分开的 R、G、B 信号组成,而电视显示器则需要混合信号输入,为了实现对这两种标准兼容,NTSC(美国国家电视系统委员会)制定了 『YIQ 颜色模型』,主要优点是可实现对彩色电视和黑白电视兼容,即可用黑白电视收看彩色电视信号。
YIQ 颜色模型是以 CIE XYZ 颜色模型为基础定义,其参数 Y 与 XYZ 模型中参数 Y 相同,为图像的亮度信息。在没有色度情况下,Y 就对应黑白图像,或者说黑白电视只接收 Y 信号,参数 I 包含有橙-青颜色信息,提供鲜艳色彩的明暗度,参数 Q 包含绿-品红颜色信息。
NTSC 组合颜色信号的设计允许黑白电视机从一幅占 6 MHz 带宽的图像信息中提取所需的灰度信息,因此,YIQ 信息必须在 6 MHz 带宽限制下编码。亮度值和色度值用不同模拟信号进行编码,这样只是在原来的带宽内增加了颜色信息,黑白电视机仍然可以按原来的方式取得原样的亮度信号。
亮度信息(Y 值)以调幅的方式用带宽约为 4.2 MHz 的载波传输;色度信息(I、Q 值)被结合在一起用带宽约为 1.8 MHz 的载波传输。参数名称 I、Q 指的就是用来在载波上编码颜色信息的调制方法。
PAL YUV 颜色模型
上面提到,因为NTSC YIQ 组合模拟视频信号中分配给色度信息带宽较低,所以 NTSC YIQ 图像颜色质量会受一些影响。当开始追求更高图像品质时,需改善这个问题,诞生了多种 YIQ 编码变体来提高视频传输的颜色质量。『YUV 颜色模型』就是一种变体,它为 PAL 广播制式提供视频传输的组合颜色信息,它可用不同采样格式来调整传输的色度信息量。
YUV 颜色模型中用亮度、色度来表示颜色。它的亮度信息和色度信息是分离的,其中 Y 表示亮度通道,U 和 V 则表示色度通道。如果只有 Y 信息,没有 U、V 信息,表示的图像就是灰度图像。YUV 常用在各种影像处理场景中。YUV 在对照片或视频编码时,考虑到人眼对亮度信息的敏感度高于色度信息,允许降低色度的带宽。
ITU-R YCbCr 颜色模型
YCbCr 颜色模型是目前广泛使用的一种 YUV 变体,它是为数字视频转换而设计的颜色模型。YCbCr 由 ITU-R(国际电信联盟无线电通信部门,前身是国际无线电咨询委员会 CCIR)在 ITU-R BT.601 首次制定,并在后续的 ITU-R BT.709、ITU-R BT.2020 等标准中都有涉及。
ITU-R BT.601/709/2020 系列标准,规定了彩色视频转换成数字图像时使用的采样率,RGB 和 YCbCr 两个彩色模型之间的转换关系等,它们分别面向标清电视(SDTV)、高清电视(HDTV)、超清电视(UDTV)应用场景。各个标准下的颜色范围如下:
结论
下面对图像数字描述过程中的颜色建模的发展历程总结如下:
基于人眼视觉感知三原色理论,CIE 通过大量实验数据建立了 RGB 颜色模型,标准化了 RGB 表示 → 为解决 RGB 模型中与负光混合所带来的种种问题,CIE 从数学上定义了三种标准基色 XYZ,形成了 CIE XYZ 颜色模型 → 在模拟电视时代,RGB 工业显示器 要求一幅彩色图像由分开的 R、G、B 信号组成,而电视显示器则需要混合信号输入,为了实现对这两种标准的兼容,NTSC 基于 XYZ 模型制定了 YIQ 颜色模型,实现了彩色电视和黑白电视信号兼容 → 为解决 NTSC YIQ 的组合模拟视频信号中分配给色度信息的带宽较低,而影响了图像颜色质量的问题,PAL 引入了 YUV 颜色模型,支持用不同的采样格式来调整传输的色度信息量 → 进入数字电视时代,ITU-R 为数字视频转换制定了 YCbCr 颜色模型,成为我们现在最常使用的颜色模型。
这篇关于视频图像中的YCbCr格式是怎么来的?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!