视频基础 之RGB、YUV和YCbCr

RGB、YUV和YCbCr都是人为规定的彩色模型或颜色空间(有时也叫彩色系统或彩色空间)。它的用途是在某些标准下用通常可接受的方式对彩色加以说明。本质上,彩色模型是坐标系统和子空间的阐述。

 

一、RGB

 

RGB(红绿蓝)是依据人眼识别的颜色定义出的空间,可表示大部分颜色。但在科学研究一般不采用RGB颜色空间,因为它的细节难以进行数字化的调整。它将色调,亮度,饱和度三个量放在一起表示,很难分开。它是最通用的面向硬件的彩色模型。由于RGB模式在输出时需要3个独立的图像信号同时传输,带宽占用较高。RGB模式通常用于最原始的视频数据和图像。

 

二、YUV 和 YCbCr

 

YUV模型来源于RGB模型。在 YUV 空间中,每一个颜色有一个亮度信号 Y,和两个色度信号 U 和 V。亮度信号是强度的感觉,它和色度信号分开,可以在不影响颜色的情况下改变。YUV 使用RGB的信息,但它从全彩色图像中产生一个黑白图像,然后提取出三个主要的颜色变成两个额外的信号来描述颜色。把这三个信号组合回来就可以产生一个全彩色图像。

 

YCbCr模型来源于YUV模型。YCbCr是在世界数字组织视频标准研制过程中作为ITU - R BT.601 建议的一部分, 其实是YUV经过缩放和偏移的翻版。其中Y与YUV 中的Y含义一致,是指亮度分量,Cb 指蓝色色度分量, Cr 指红色色度分量, 只是在表示方法上不同而已。在YUV 家族中, YCbCr 是在计算机系统中应用最多的成员, 其应用领域很广泛,我们在h.264,mpeg等编码标准中用的YUV其实是YcbCr。

 

YCbCr 主要的采样格式有 YCbCr 4∶4∶4 , YCbCr 4∶2∶2 , YCbCr 4∶1∶1 和 YCbCr 4∶2∶0。其中YCbCr 4:1:1 比较常用,其含义为:每个点保存一个 8bit 的亮度值(也就是Y值), 每 2 x 2 个点保存一个 Cb和Cr值, 图像在肉眼中的感觉不会起太大的变化。所以, 原来用 RGB(R,G,B 都是 8bit unsigned) 模型, 每个点需要 8x3=24 bits, 而现在仅需要 8+(8/4)+(8/4)=12bits, 平均每个点占12bits。这样就把图像的数据压缩了一半。

 

YUV与YCbCr这两个概念之间界限比较模糊且是有部分重叠的,因为YUV是用于电视系统中模拟颜色信息的编码,而YCbCr适用于对以MPEG及JPEG为代表的视频及静态图片的压缩及传输等场景下对颜色信息的数字编码。

 

三、颜色取值范围

 

一种是Full Range [0,255],也就是RGB色彩的白与黑之间分的级数,即最大化颜色信息显示。

一种是Video Range(Limited Range) [16, 235],其原理是:

 

本来0-255的一条色彩区段,通过挤压,把黑0向里挤压16格,白255向里挤压20格,得到的色彩区段变短36格,而变短的部分就是灰色(中间色)部分。然后以16-235的色彩区段长度拉伸为0-255显示出来。此时因为色彩区段被拉伸,所以会在不同位置出现断层,也就是丢色。具体体现为,接近黑的灰色会更黑。接近白色的浅灰会变成更白,也就是细节丢失。因为柔和的中间色被挤压丢了大部分,虽然让色彩看上去更鲜艳(靠近纯色的颜色会变的接近纯色比如红绿蓝),但是丢失细节,比如阴影和高光处,比较容易出现黑一片和白一片的现象。

 

四、颜色转换标准

 

1982年CCIR(International Radio Consultative Committee国际无线电咨询委员会)制定了彩色视频数字化标准,称为CCIR 601标准,现改为ITU-R BT.601标准,简称BT.601。该标准规定了彩色视频转换成数字图像时使用的采样频率,RGB和YCbCr两个彩色空间之间的转换关系等,是标准数字电视(SDTV)的国际标准。

 

1990年发布了高清数字电视(HDTV)的国际标准ITU-R BT.709,简称BT.709.

 

2012年发布了超高清数字电视(Ultra HDTV)的国际标准:ITU-R BT.2020,简称BT.2020。

小结

 

1、颜色标准的选择会影响主观画质

 

2、不同平台对颜色标准的支持不一样

 

3、BT.601标准兼容性更好,但是BT.709及后续标准更先进

猜你喜欢

转载自sharley.iteye.com/blog/2367068