H264基本概念之 色彩空间(RGB vs YUV)

http://blog.csdn.net/wanggp_2007/article/details/4842385


很早以前就知道RGB,三基色原理,即任何色彩都可以由红、绿、蓝混合而成,后来上了图像处理这门课才知道YUV(YCbCr)也是一种表示色彩的方式,只不过它是通过亮度和色度表示的。我猜想,如果色彩空间可以用三个独立的变量去表示,类似三维空间,那么通过建立不同的正交基,是完全可以对这个三维空间进行描述的,只是映射的方式不同而已,最重要的是找到有实际意义的物理表示。当对RGB进行压缩时,显然利用不上人类视觉系统对亮度比色度更敏感的特性,所以需要进行RGB向YUV的转换。可以说RGB是用来在LCD、CRT上显示用的,而YUV更便于视频信号的压缩、传输和存储。下面给出互换的公式:

RGB->YCbCr

                     Y = 0.299R + 0.587G + 0.114B

                     Cb = 0.564*(B-Y)

                     Cr = 0.713*(R-Y),

其中 Y 表示亮度, Cb Cr 表示色度。

YCbCr->RGB

                      R = Y + 1.402*Cr

                      G = Y - 0.344*Cb - 0.714*Cr

                      B = Y + 1.772*Cb

 

下面逐行色彩取样:

 

H264基本概念之 色彩空间(RGB vs YUV)_第1张图片

 

1、4:4:4

      Y,Cb,Cr具有同样的水平和垂直取样率,每4个亮度像素,相应的就有4个Cb和4个Cr。

 

2、4:2:2

      Y,Cb,Cr具有同样的垂直取样率,但水平取样率色度分量是亮度分量的一半,即水平方向上,每4个亮度像素,相应的就有2个Cb和2个Cr。

3、4:2:0

       水平和垂直取样率色度分量都是亮度分量的一半,即水平垂直方向上,每4个亮度像素,相应的就有1个Cb和1个Cr。但这个命名始终没有搞清楚,“0”到底代表什么,据说是为了和“4:4:4“、”4:2:2”命名格式一致而沿用的。这种采用格式应用非常广泛,最适合进行数字压缩。


你可能感兴趣的:(存储,图像处理)