文章目录
前言
这篇文章主要是介绍车载前置摄像头(Front Camera)的输出信号的格式。YUV,是一种颜色编码方法。YUV是编译true-color颜色空间(color space)的种类,Y’UV, YUV, YCbCr,YPbPr等都可以称为YUV。Y 代表明亮度(Luminance或Luma);U 和 V 则代表色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。
存储格式
之前,YUV和Y’UV通常用来编码电视的模拟信号,而YCbCr则是用来描述数字的视频信号,适合视频与图片压缩以及传输,例如MPEG、JPEG。从现在的使用情况来看,YUV通常已经在电脑系统上广泛使用。YUVFormats分成两个格式:
1. Packed formats:每个像素点的Y,U,V是连续交叉存储的。
2. Planar formats:先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。
3. Semi-planar fromat:先连续存储所有像素点的Y,紧接着U,V是连续交叉存储的。
这里以完全取样来介绍这三种方式的存储情况:
1. Packed
2. Planar
3. Semi-planar
采样方式
通常来说,YUV的格式会有24位。但是在实际的情况中,大多数YUV格式平均使用的每像素位数都少于24位。主要的抽样(subsample)格式有YCbCr4:2:0、YCbCr4:2:2、YCbCr4:1:1和YCbCr4:4:4。具体的抽样格式如下:
4:4:4
4:2:2
表示2:1的水平取样,垂直完全采样。
4:2:0
表示2:1的水平取样,垂直2:1采样。下方的采样格式微软定义为 MPEG-1 scheme。
在微软的介绍里,还有另外一种采样格式(MPEG-2 scheme)。按照我个人的理解,我认为具体的采样形式如下:
如果哪位大拿可以告诉正确的采样格式,请评论或者私信告诉我,不胜感激。
4:1:1
就这种采样格式来讲,并不是一种主流的采样格式。相比于其他三种采样格式,这种格式的介绍也十分少。目前就我了解的情况来讲,只有百度百科和前面提到的微软介绍中由提及这种采样格式。但是,这两处介绍的采样格式确实完全相反。百度百科说是4:1的水平取样,垂直完全采样,微软介绍里介绍的是 4:1的水平取样,无垂直采样。 我比较倾向于微软介绍的那种采样方式。因为个人技术有限,这里无法给大家展开介绍。
映射点
由于上一章节中提及到的4:1:1 采样格式无法为大家展开,那么在分析映射点的情况我将省略这一采样方式的映射介绍。
4:4:4
4:2:2
4:2:0
格式别称
YUVY 格式
YUVY 格式属于4:2:2采样方式的一种格式。具体为相邻的两个Y共用其相邻的两个U、V。还原方式的请参考映射点章节所介绍的 4:2:2 方式还原。
UYVY 格式
UYVY 格式属于4:2:2采样方式的一种格式。与YUYV格式不一样的地方在于UV的排列顺序不一样,还原方式的请参考映射点章节所介绍的 4:2:2 方式还原。
YUV422P 格式
从这种名称来讲,是属于4:2:2采样方式的一种格式。这与前两种的区别在于,这种格式采用的是Planar 格式的存储。具体的存储格式请看前面的章节。还原方式的请参考映射点章节所介绍的 4:2:2 方式还原。
YV12/YU12 格式
YU12 和 YV12 属于属于4:2:0 采样方式的一种格式。存储方式与 YUV422P 格式一样,也是一种Planar模式,将Y、U、V分量分别打包,依次存储。还原方式的请参考映射点章节所介绍的 4:2:0 方式还原。
NV12/NV21 格式
NV12 和 NV21属于属于4:2:0 采样方式的一种格式。存储方式则是 Semi-planar 格式,这种格式也在前面的存储格式章节介绍了。
内存大小
各种采样方式的内存大小计算 | ||
---|---|---|
采样方式 | 存放码流 | 大小计算 |
4:4:4 | Y0 U0 V0 Y1 U1 V1 Y2 U2 V2 Y3 U3 V3 Y4 U4 V4 Y5 U5 V5 Y6 U6 V6 Y7 U7 V7 | 6 bytes |
4:2:2 | Y0 U0 Y1 V1 Y2 U2 Y3 V3 Y4 U4 Y5 V5 Y6 U6 Y7 V7 | 4 bytes |
4:2:0 | Y0 U0 Y1 Y2 U2 Y3 Y4 V4 Y5 Y6 V6 Y7 | 3 bytes |