1.YUV知识点
1.1 为什么要有YUV
-
YUV的亮度信号Y和色度信号U/V是分离的,如果只有Y信号分量而没有U/V分量,这样的图像就是黑白灰度图像,从黑白到彩色的兼容方案。
-
相对RGB,YUV的最大优点是只占用较小的频宽,RGB需要至少三个独立的视频信号,而YUV需要两个视频信号(Y表示明亮度,UV表示色彩和饱和度)。
-
编码时使用YUV可以去掉很多冗余信息,人眼对亮度更敏感,对色度敏感性不高,因此可以较多地压缩UV数据。
1.2 YUV的种类
YUV是按照人眼设计出来的一套颜色方案,目前有三种格式:
-
YUV420,由 4 个 Y 分量共用一套 UV 分量
-
YUV422,由 2 个 Y 分量共用一套 UV 分量
-
YUV444,不共用,一个 Y 分量使用一套 UV 分量
按照YUV的排列顺序,也分为三种类型
-
Planar YUV:三个分量分开存放
-
Semi-Planar:Y分量单独存放,UV分量交错存放
-
Packed YUV:三个分量全部交错存放
1.3 为什么受损的视频数据通常是绿色
视频的数据是YUV排列的,最终显示要转化为RGB,转换的公式如下:
R=clip(Y+1.13983*(V-128), 0, 255)
G=clip(Y-0.39465*(U-128)-0.58060*(V-128), 0, 255)
B=clip(Y+2.03211*(U-128), 0, 255)
如果视频数据损坏,即Y=0 U=0 V=0,最终得到的是R和B为0, G=125,所以整体的画面显示为绿色。
1.3 NV21转化为YUV420
NV21是相机采集出来的YUV数据排列,YUV420是正常视频编码器支持的排列方式。
-
NV21:YUV 420 Semi-Planar,Y 分量单独存放,UV 分量交错存放,与 NV12 不同的是,UV 在排列的时候,从 V 开始。总长度为 w * h * 1.5
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
V U V U V U
V U V U V U
V U V U V U
-
I420:YUV 420 Planar,YUV分量分别存放,先是