YUV采样及存储格式

 

 

  YUV,分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V” 表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。

  与我们熟知的RGB类似,YUV也是一种颜色编码方法,主要用于电视系统以及模拟视频领域,它将亮度信息(Y)与色彩信息(UV)分离,没有UV信息一样可以显示完整的图像,只不过是黑白的,这样的设计很好地解决了彩色电视机与黑白电视的兼容问题。并且,YUV不像RGB那样要求三个独立的视频信号同时传输,所以用YUV方式传送占用极少的频宽。

  一、采集

  YUV主流的采样方式有三种,YUV4:4:4,YUV4:2:2,YUV4:2:0。下面用三个图来直观地表示采集的方式,以黑点表示采样该像素点的Y分量,以空心圆圈表示采用该像素点的UV分量。

  YUV 4:4:4采样,每一个Y对应一组UV分量。
  YUV 4:2:2采样,每两个Y共用一组UV分量。 
  YUV 4:2:0采样,每四个Y共用一组UV分量。

  二、存储

  YUV格式有两大类:planar和packed。
  对于planar的YUV格式,先连续存储所有像素点的Y,随后存储U、V。存储类型表示为采样方式后缀加P。
  对于packed的YUV格式,每个像素点的Y,U,V是连续交错存储的。存储类型表示为采样方式后缀加SP。

  下面以几种存储方式来解释:

  存储格式:内存布局=>所属存储类型=>planes

  

  IYUV: YYYYYYYY UU VV    =>YUV420P  =>3 planes
  YV12: YYYYYYYY VV UU    =>YUV420P  =>3 planes
  NV12: YYYYYYYY UVUV    =>YUV420P  =>2 planes
  NV21: YYYYYYYY VUVU    =>YUV420P  =>2 planes
  YUY2: Y0U0Y1V0Y2U1Y3V1  =>YUV422SP  =>1 planes
  UYVY: U0Y0V0Y1U1Y2V1Y3  =>YUV422SP  =>1 planes
  YVYU: Y0V0Y1U0Y2V1Y3U1  =>YUV422SP  =>1 planes

原文地址:https://www.cnblogs.com/liangxiaofeng/p/6943530.html