#YUV数据格式详解
##YUV简介
YUV定义:
分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V” 表示的则是色度(Chrominance或Chroma),作用是描述影像色彩(R-Y即U色差)及饱和度(B-Y即V色差),用于指定像素的颜色。
YUV格式:
有两大类:planar(平面)和packed。对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。对于packed的YUV格式,每个像素点的Y,U,V是连续交*存储的。
YUV存储:
格式其实与其采样的方式密切相关,主流的采样方式有三种,YUV4:4:4(色度频道没有下采样),YUV4:2:2(2:1 的水平下采样,没有垂直下采样。对于每两个 U 样例或 V 样例,每个扫描行都包含四个 Y 样例),YUV4:2:0(2:1 的水平下采样,2:1 的垂直下采样,第一行扫描线的Y:U:V = 4:2:0,第二条扫描线的Y:U:V = 4:0:2),关于其详细原理,可以通过网 上其它文章了解,这里我想强调的是如何根据其采样格式来从码流中还原每个像素点的YUV值,因为只有正确地还原了每个像素点的YUV值,才能通过YUV与 RGB的转换公式提取出每个像素点的RGB值,然后显示出来。
YUV特点:
也是一种颜色编码方法,它将亮度信息(Y)与色彩信息(UV)分离,没有UV信息一样 可以显示完整的图像,只不过是黑白的,这样的设计很好地解决了彩色电视机与黑白电视的兼容问题。并且,YUV不像RGB那样要求三个独立的视频信号同时传 输,所以用YUV方式传送占用极少的频宽。
##YUV存储方式
YUV422:
YUYV(YUY2)、UYVY、YUV422P(planer模式)
YUV420:
1. YV12、YU12(即I420):是一种Plane模式,将Y、U、V分量分别打包,依次存储。其每一个像素点的YUV数据提取遵循YUV420格式的提取方式,即4个Y分量共用一 组UV。
2. NV12、NV21:是一种two-plane模式,即Y和UV分为两个Plane,但是UV(CbCr)为交错存储,而不是分为三个plane