YUV
YUV
YUV
是电视广播视频信号的原生格式,其亮度信息(Y
)与色度信息(U
和V
或Cb
和Cr
)是分离的。
之所以会存在YUV
,是因为早期的黑白电视只能传输亮度信息(也就是说,当只有Y
分量时,图像就会显示为黑白的)。为了与现有的视频接收设备兼容,专门增加了一个新的色差信号。
在YUV
格式下,U
和V
分量的分辨率通常低于Y
分量,它是利用了人眼视觉系统特性,相比于色度信息,人眼对亮度信息更加敏感。相比于RGB
格式,YUV
更加节省存储空间与传输带宽。
有人会把YUV
看作是色彩空间,这是不对的,它只是将RGB
颜色编码为亮度值和色度值,它所关联的底层色彩空间,与RGB
颜色所关联的底层色彩空间是相同的。
采样模式
通常,视频是支持多种YUV
采样模式的。
典型的采样模式有:
4:4:4
4:2:2
4:2:0
其中,4:2:0
采样模式是最流行的,广泛用于视频流领域,比如视频会议、数字电视、网络直播。其余两者用于高画质再现。
上述比例(假定为Q:A:Z
)中的每个数字,表示的是水平方向上的相对采样率:
Q
:每一行中Y
分量的相对采样个数A
:奇数行中U
和V
分量的相对采样个数Z
:偶数行中U
和V
分量的相对采样个数
以4:2:0
采样模式为例,在奇数行中,每4个Y
分量,就会采样2个U
分量和2个V
分量;在偶数行中,每4个Y
分量,并不会对U
分量和V
分量进行采样,此时,会与前面的奇数行共用之前采样的2个U
分量和2个V
分量。
为了更加形象化,以双平面的4:2:0
为例,当以这种形式存储图像数据时,会先用一个平面来存储Y
分量,再用另外一个平面来存储U
分量和U
分量,如下图所示:
进行采样时:
- Y00、Y01、Y02、Y03和Y10、Y11、Y12、Y13,共用U00、V00、U01、V01
- Y04、Y05、Y06、Y07和Y14、Y15、Y16、Y17,共用U02、V02、U03、V03
- Y20、Y21、Y22、Y23和Y30、Y31、Y32、Y33,共用U10、V10、U11、V11
- Y24、Y25、Y26、Y27和Y34、Y35、Y36、Y37,共用U12、V12、U13、V13
在屏幕上显示YUV
之前,需要转换为RGB
,采样并将RGB
图像的每个像素中的每个分量计算出来,最终得到RGB
图像。
YUV
https://daniate.github.io/2018/06/23/YUV/