0
点赞
收藏
分享

微信扫一扫

音视频基础知识整理(一)

穿裙子的程序员 2022-03-22 阅读 64

YUV数据

YUV基本概念

YUV(也称YCbCr): 是电视系统所采用的一种颜色编码方法。其中 Y 表示明亮度,也就是灰阶值,它是基础信号;U 和 V 表示的则是色度,UV 的作用是描述影像色彩及饱和度,它们用于指定像素的颜色。U和V不是基础信号,它俩都是被正交调制的.
与我们熟知的RGB类似,YUV也是一种颜色编码方法,主要用于电视系统以及模拟视频领域,它将亮度信息(Y)与色彩信息(UV)分离,没有UV信息一样可以显示完整的图像YUV与RGB视频信号相比,最大的优点在于只需占用极少的带宽,YUV只需要占用RGB一半的带宽。

YUV与RGB的区别

RGB原理:定义RGB 是从颜色发光的原理来设计定的,由红、绿、蓝三盏灯,当它们的光相互叠合的时候,色彩相混,而亮度却等于两者亮度之总和(两盏灯的亮度嘛!),越混合亮度越高,即加法混合。RGB24 是指 R , G , B 三个分量各占 8 位
YUV原理: YUV 主要用于优化彩色视频信号的传输,与 RGB 视频信号传输相比,它最大的优点在于只需占用极少的频宽( RGB 要求三个独立的视频信号同时传输)其中 “Y” 表示明亮度也就是灰阶值;而 “U” 和 “V” 表示的则是色度

在这里插入图片描述

YUV三种采样格式

  1. YUV4:4:4采样,每一个Y对应一组UV分量。
  2. YUV4:2:2采样,每两个Y共用一组UV分量。
  3. YUV4:2:0采样,每四个Y共用一组UV分量
    如图中黑点表示采样该像素点的Y分量,以空心圆圈表示采用该像素点的UV分量。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

YUV存储方式

YUV的存储格式有两大类 : packed和planar
packed的YUV格式packed是打包的意思,打包就不一定是平整的了,对应到存储方式上就是把YUV三种分量交叉存储,以YUY2(4:2:2类型)为例,存储方式为:Y0U0Y1V0 Y2U1Y3V1,这种方式在解析时就会比较麻烦
planar的YUV格式planar是平面的意思,平面比较平整,对应到存储方式上就是把YUV三种分量分别存储,以I420(4:2:0类型)为例,存储方式为:YYYYYYYYUUVV,简单明了,先把Y存完,再存U,再存V,这种在解析时很方便先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V
I420: YYYYYYYY UU VV =>YUV420P
YV12: YYYYYYYY VV UU =>YUV420P
NV12: YYYYYYYY UVUV =>YUV420SP
NV21: YYYYYYYY VUVU =>YUV420SP

  1. YUYV/YUY2
    该格式属于4:2:2类型,且是用packed形式存储的,上面也简单的说过,存储方式如下图:可以看到,每两个Y分量共用一组UV分量,存储顺序是YUYV。
    在这里插入图片描述

  2. YU12/I420
    该格式属于4:2:0类型,存储方式上面已经说过,就是先存储把全部的Y分量存完,再存U分量,最后存V分量,如图:
    在这里插入图片描述

  3. YV12
    该格式与YU12基本一样,唯一的区别是先存储V分量再存储U分量,对应到上图把第五行和第六行位置互换一下就是了。
    以上两种格式我们可以看到都是4:2:0的,因为都是planar方式存储,简称420P

  4. NV12/NV21
    该格式属于4:2:0类型,先存储全部的Y分量,然后UV分量交叉存储,用图像表示下,如图:
    在这里插入图片描述

YUV图像旋转

Yuv420sp/ NV21 图像格式数旋转方案

NV21 图像格式数据排列 :
以 4×4 像素的图片为例 , 其有 16 个 Y 数据 , UV 数据只有 4 组 , 共 8 个 ;

  1. 数据的排列格式如下矩阵 : 16 个 Y 数据在前 , 然后 4 组 ( 8 个 ) VU 数据交替存放 ;
    在这里插入图片描述
  2. 旋转像素灰度值 Y : 像素值顺时针 90 度旋转后的样式
    ① 旋转矩阵 :在这里插入图片描述
    ② 旋转后的最终 Y 灰度值 矩阵在这里插入图片描述
  3. 旋转图像的 饱和度 色彩值 UV
    旋转图像的 饱和度 色彩值 UV : UV 数据旋转后 , 只是给出了 UV 数据的位置 , 还需要将 UV 数据按照顺序排列 :
    ① 旋转 UV 数据矩阵 : 该旋转后只能代表 UV 数据组的位置 , 即 第一组 UV 数据 ( v 3 u 3 v3) 在左上角 , 第二组 UV 数据 ( v 1 u 1 v1 ) 在右上角 , 第三组 UV 数据 ( v 4 u 4 v4 ) 在左下角 , 第四组 UV 数据 ( v 2 u 2 v2) 在右下角 ;
    在这里插入图片描述
    ② 旋转后的最终 UV 色彩值 饱和度 矩阵 :
    在这里插入图片描述
  4. 旋转后的 NV21 格式
    NV21 格式的图像的 YUV 值顺时针旋转 90 度后的 YUV 矩阵为 :在这里插入图片描述
举报

相关推荐

0 条评论