跳转至

视频编程相关

图像数据格式:YUV(如yuv420sp/yuv420p/yv12/i420/nv12/nv21等)

文字图片部分来自wikipedia

YUV是什么

wikipedia:

YUV,是一种颜色编码方法。常使用在各个影像处理组件中。 YUV在对照片或视频编码时,考虑到人类的感知能力,允许降低色度的带宽。
“Y”表示明亮度(Luminance、Luma),“U”和“V”则是色度、浓度(Chrominance、Chroma)

一张图片的YUV分量单独表示出来:

img

img

YUV采样方式

wikipedia:

为节省带宽起见,大多数YUV格式平均使用的每像素位数都少于24位。主要的抽样(subsample)格式有YCbCr 4:2:0、YCbCr 4:2:2、YCbCr 4:1:1和YCbCr 4:4:4。YUV的表示法称为A:B:C表示法:
  - 4:4:4表示完全取样。
  - 4:2:2表示2:1的水平取样,垂直完全采样。
  - 4:2:0表示2:1的水平取样,垂直2:1采样。
  - 4:1:1表示4:1的水平取样,垂直完全采样。

YUV储存格式

一般每个分量为8bit即1byte,这里以4:4:4采样,储存一张4x2图片为例。

  1. 打包(Packed)格式,Y/U/V分量是连续交替存储的,如yuv444:
Y U V Y U V Y U V Y U V Y U V Y U V Y U V Y U V 
  1. 平面(Planar)格式,Y/U/V分别连续存储,如yuv444p:
Y Y Y Y Y Y Y 
U U U U U U U
V V V V V V V
  1. 半平面(Semi-Planar)格式,Y和U/V分别存储,但U/V交替存储,如yuv444sp:
Y Y Y Y Y Y Y
U V U V U V U V U V U V U V 

YUV储存格式