YUV格式

381 阅读3分钟

看了些文章,简单抄一下方便下次观看。

YUV来源

常见的颜色模型中,RGB主要用于电子系统里表达和显示颜色,CMYK印刷四色模式用于彩色印刷,而YUV是被欧洲电视系统所采用的一种颜色编码方法。

YUV主要用于优化彩色视频信号的传输,使其向后兼容老式黑白电视,这一特性用在于电视信号上。

YUV细分的话有Y'UV,YUV,YCbCr,YPbPr等类型,其中YCbCr主要用于数字信号.

YCbCr 是在世界数字组织视频标准研制过程中作为ITU - R BT1601 建议的一部分, 其实是YUV经过Gamma的翻版。其中Y与YUV 中的Y含义一致, Cb , Cr 同样都指色彩, 只是在表示方法上不同而已。在YUV 家族中, YCbCr 是在计算机系统中应用最多的成员, 其应用领域很广泛,JPEG、MPEG,H264均采用此格式。

其中,Cr反映了RGB输入信号红色部分与RGB信号亮度值之间的差异,而Cb反映的是RGB输入信号蓝色部分与RGB信号亮度值之间的差异,此即所谓的色差信号

一般所讲的YUV大多是指YCbCr。以下用YUV指代YCbCr

截屏2022-03-14 下午4.36.39.png

YUV的采样和存储格式

  1. 采样

YUV格式有3中采样方式,分别是YUV444、YUV422、YUV420;其中YUV444也就是我们通常意义上的YUV,YUV420就是平时使用的NV21和NV12,其中NV12和NV21仅仅是存储顺序的差异。YUV422平时使用的相对较少。

用三个图来直观地表示采集的方式吧,以黑点表示采样该像素点的Y分量,以空心圆圈表示采用该像素点的UV分量。

截屏2022-03-14 下午4.33.46.png

1.YUV 4:4:4采样,每一个Y对应一组UV分量。
· 4:4:4 Formats, 24 Bits per Pixel
2.YUV 4:2:2采样,每两个Y共用一组UV分量。
· 4:2:2 Formats, 16 Bits per Pixel
3.YUV 4:2:0采样,每四个Y共用一组UV分量。
· 4:2:0 Formats, 12 Bits per Pixel

  1. 存储

YUV的存储格式有两大类:packed和planar,还有SemiPlanar。

对于packed的YUV格式,每个像素点的Y,U,V是连续交错存储的。

对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。

对于SemiPlanar,则是先连续存储所有像素点的Y,再连续交错U和V。

YUV422 截屏2022-03-14 下午4.34.23.png

YUV422P

截屏2022-03-14 下午4.34.43.png

YUV420

YUV格式的存储方式有很多,YUV格式的数据存储分为two-plane和three-plane两种方式;所谓的two-plane是指Y单独存储一个plane,UV交叉存储,占用一个plane;three-plane是Y U V分别占用一个plane,一共三个plane.three-plane一般叫做YUV420p,two-plane叫做YUV420sp,我们熟知的NV21和NV12便是YUV420sp。

截屏2022-03-14 下午4.34.31.png

YUV420P 截屏2022-03-14 下午4.34.55.png

YUV420SP

截屏2022-03-14 下午4.49.49.png