H264基本概念之 色彩空间(RGB vs YUV)
2012-08-05 10:17
344 查看
很早以前就知道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
下面逐行色彩取样:
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”命名格式一致而沿用的。这种采用格式应用非常广泛,最适合进行数字压缩。
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
下面逐行色彩取样:
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”命名格式一致而沿用的。这种采用格式应用非常广泛,最适合进行数字压缩。
相关文章推荐
- H264基本概念之 色彩空间(RGB vs YUV)
- H264基本概念之 色彩空间(RGB vs YUV)
- H264基本概念之 色彩空间(RGB vs YUV)
- h264基本概念采样,帧,场,色彩空间
- H264基本概念之 宏块、片和片组
- javaseday36(dom基本概念 名称空间 通过document 获取节点多种方式)
- 【shaderforge学习笔记】 RGB to HSV、HSV to RGB节点(色彩空间转换节点)
- 五种基于RGB色彩空间统计的皮肤检测算法
- 五种基于RGB色彩空间统计的皮肤检测算法
- HSL和HSV色彩空间和rgb的互转
- 从RGB到Lab色彩空间的转换
- 第一章.对象导论之基本概念[面向对象/问题空间/解空间]
- matlab实现RGB与HSV(HSB)、HSL和HSI的色彩空间互转
- VC编程实现色彩空间RGB与HSB(HSV)相互转换
- H264基本概念之 预测编码、变换编码和熵编码 .
- H264基本概念之 宏块、片和片组
- RGB色彩变换到Lab空间代码
- VC编程实现色彩空间RGB与XYZ相互转换
- 图像色彩空间之RGB与HSI
- 图像相关内容的基本概念--存储、RGB、灰度图