视频编码技术(一)——YUV

本文详细介绍了YUV色彩空间,包括其在视频编码中的作用、与RGB的转换、不同采样格式、数据量计算以及存储格式。重点讨论了YUV420格式,指出其在存储效率和传输速度上的优势,并探讨了码流计算。同时,提到了YUV在移动开发和硬件加速中的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

YUV格式相对于RGB 会有更好的存储效率,虽然图像上的品质会受到压缩的影响 ,但是传输速度会变快,且帧率刷起来之后看不出太多的压缩痕迹

1 . YUV定义

Y 用来描述亮度,UV用来描述影响色彩及饱和度

当然可以用另一个解释方法,Y仍然是亮度,U解释为Cb(蓝色分量),V解释为Cr(红色分量),具体下面看公式。
常用采样格式:4:2:0 4:2:2 不常用:4:4:4

所以遇到一些视频打不开的情况,可以先查看视频的YUV格式,然后转码成为标准420格式
在这里插入图片描述
单纯提取Y分量后,会看到灰度图的效果,即人眼对于亮度比色度更加敏感,所以这个是主通道!
在这里插入图片描述
U分量提取出来,图片蓝色分量

在这里插入图片描述
V分量,红色分量

实际上来讲,上面三张图,都是单纯取出分量后,转化到RGB的结果,不是直接填充,所以需要考虑二者如何转换

2 . YUV—>RGB

YUV:用于采集与编码
RGB:用于屏幕显示

RGB转成 YUV:
在这里插入图片描述
当然,UV都可以在把Y分量带进来计算,得到后面的小公式

YUV转成 RGB:
在这里插入图片描述

3 . YUV常见格式

1 YUV 444 :每个像素都拥有YUV三个分量,比较容易理解
在这里插入图片描述
2 YUV 422 :每个像素都会有Y分量,但是隔一个像素才会有UV分量
在这里插入图片描述
3 YUV 420 :每个像素都会有Y分量,但是U分量与V分量是各行出现,并且在每一行当中,隔一个才会有U或者V分量出现;可以这么理解:

第一行:Y:U:V 4:2:0
第二行:Y:U:V 4:0:2

在这里插入图片描述

4 . YUV数据量计算

在420情况下,每一行都有非Y的分量,二者比例是

Y:X(X=U or X=V) = 2:1

假设每行有4个像素,则:
RGB = 4 * 3分量 = 12
YUV = 4 * 1个Y + 2 * 1个X = 6
所以:
YUV = Y * 1.5
YUV = RGB / 2

视频是从之前黑白电视机开始的,所以会被集成过来,且存储更有优势,压缩率更高!

5 . YUV数据存储格式

对于YUV420,常见的存储格式如下(I420):
在这里插入图片描述
论述:
1 Y分量存在前方,后方才会存储UV分量,这样与黑白电视之类的需求非常契合,只需要读取前方数据即可

2 上图同色的Y对应同色的UV,比如Y1Y2,其中Y1与U1结合,Y2独立;对于Y7 Y8,其中Y7与V1结合,Y8独立。

概览存储格式分类:
Planar(平面存储):
I420: YYYY YYYY UU VV
YV12: YYYY YYYY VV UU(IOS常用)
主要区别是UV的顺序问题

Packed(打包存储)
NV12 : YYYY YYYY UVUV
NV21 : YYYY YYYY VUVU(Android常用)

移动端开发,摄像头采集以及硬件加速,都会受到这种编码的影响!

6 . YUV码流计算

大家注意,所谓1M带宽,基础单位是BIT,不是字节,网络是BIT位计算
RGB码流 = 分辨率 * 3 * 帧率

YUV420码流 = 分辨率 * 1.5 * 帧率

7 . YUV参考资料

YUV详解资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赵新政

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值