YUV格式

来源:互联网 发布:淘宝15万贷款技术 编辑:程序博客网 时间:2024/06/01 10:40

RGB

 我们一般所用的图片编码最常见的是RGB格式。这是基于所有的顔色都可以由红,绿,蓝三种顔色组合表示,R分量表示红色,G分量表示绿,B分量表示蓝色。还有的时候是用的ARGB来表示,其中的A表示透明度。

YUV

 而YUV格式的组成原理,是把像素点分成亮度和色度,其中的Y分量表示亮度也就是灰阶值,而UV分量表示色度。

Y:指颜色的明视度、亮度、灰度值;
U:指色调;
V:指饱和度。

这样的好处在于,对于黑白电视机(只能显示灰度的设备),可以直接使用YUV,从而达到上下兼容的目的。

另一方面,研究证明,人眼对亮度的敏感超过色度。利用这个原理,可以把色度信息减少一点,人眼也无法查觉这一点。利用这个原理,可以对YUV格式进行压缩,这样一来YUV相对于RGB来说会更小一些。

在实际的彩色显示设备中,需要将YUV转换成RGB来显示。

在黑白显示设备中,则直接使用Y分量来显示就可以了。


YUV与RGB的转换

RGB 转换成 YUV

Y=Y = (0.257 * R) + (0.504 * G) + (0.098 * B) + 16

V =Cr =  (0.439 * R) - (0.368 * G) - (0.071 * B) + 128

U =Cb =  -( 0.148 * R) - (0.291 * G) + (0.439 * B) + 128


YUV 转换成 RGB

B = 1.164 ( Y -  16 )  +  2.018 ( U  -  128 )

G = 1.164 ( Y - 16 )  -  0.813 ( V  -  128 )  -  0.391 ( U  -  128 )

R = 1.164 ( Y - 16 )  +  1.596 ( V  -  128 )


YUV的采样格式

 4:4:4 就是每一个像素点都分别有Y、U、V三个分量 (加上ALPHA分量 一个像素点占用4个字节,与ARGB是一样的)

4:2:2 Y的分量不动,但是每两个像素共用一个U分量和一个V分量 。第一个像素采样Y,U,第二个像素采样Y,V,依次类推,这样每个点占用2个字节

4:1:1 与上面的422相同,只不过这个更狠一些,每四个像素共用一个U分量和一个V分量 。一般是第0点采Y,U,第1点采Y,第3点采YV,第四点采Y

4:2:0 这个就是按行来组合,第一行采YU,第二行采YV。

像4:2:2 这种每两个像素组合才能拼成一个完整的两个像素点。

4:1:1就要每四个像素组合才能得到完整的像素信息。4:2:0也是一样的道理。这样的采样,虽然通过组合能达到或者说转化成RGB,但是显示对图像的质量是有影响的。











原创粉丝点击