Project

General

Profile

1、YCbCr编码方案

YCbCr

  色彩编码方案,是YUV方案(YUV:色彩编码方案,多用于电视系统)经过压缩、偏移后的版本。每个像素包含3个分量:亮度分量Y,蓝色色度分量Cb,红色色度分量Cr(C=Chroma)。

  根据采样格式不同可分为4:4:4、4:2:2、4:1:1、4:2:0等。4:2:2表示每4个像素,是由4个一一对应的Y值、2个共用的Cb值和2个共用的Cr值编码完成的。格式如下:
Cb0 Y0 Cr0 Y1 Cb2 Y2 Cr2 Y3 ……
  以上4个像素的“解压”后编码为:
[Y0 Cb0 Cr0] [Y1 Cb0 Cr0] [Y2 Cb2 Cr2] [Y3 Cb2 Cr2]

RGB编码转YCbCr编码

  ①将RGB数值进行伽马校正,得到ER'、EG'和EB'。

  ②定义加权系数:

  归一化,得:

  ③量化:以8-bit为例,范围为0000,0000—1111,1111。其中00H和FFH被预留,故实际可用范围为0000,0001-1111,1110,共254级。

  假设亮度信号占用了220级,第16级为黑(0001,0000-1110,1011;16-235)。则量化后的Y为:

其中D为1-4任意值,int()为四舍五入(所以某些资料的公式为+16.5)。

  假设色差信号占用了225级,第128级为0级(0001,0000-1111,0000;16-240)。则量化后的色差信号为:

  以上步骤实现了从RGB编码方案到YCbCr编码方案的转换。

YCbCr编码转RGB编码

  由于存在四舍五入取整,因此RGB->YCbCr的过程是不可逆的,因此从YCbCr还原RGB存在误差。

  忽略Y、Cb、Cr表达式中的取整,设ER'=R/255;EG'=G/255;EB'=B/255,则原表达式可化为:

  根据上式,可求得YCbCr编码转RGB编码的表达式:

  以上计算中,R、G、B∈[0,255],Y∈[16,235],Cb、Cr∈[16,240]。

6_YCbCr_RGB.JPG View (15.1 KB) 晏 骁哲, 01/24/2013 11:05 AM

2_normalize.JPG View (17.9 KB) 晏 骁哲, 01/24/2013 11:05 AM

3_quantization_Y.JPG View (9.37 KB) 晏 骁哲, 01/24/2013 11:05 AM

4_quantization_Cb_Cr.JPG View (11.5 KB) 晏 骁哲, 01/24/2013 11:05 AM

5_RGB_YCbCr.JPG View (14.7 KB) 晏 骁哲, 01/24/2013 11:05 AM

1_define.JPG View (14.8 KB) 晏 骁哲, 01/24/2013 11:16 AM