H264编码原理(H264压缩比与GOP)

本文探讨了如何将640x480分辨率、15fps的视频从原始的55MB/s压缩到H264建议的500kbps,解释了YUV420格式和RGB的关系,以及GOP划分对压缩效率的影响。介绍了声网提供的视频通话码率参考,并详细分析了如何利用相关性减少数据量,实现高效的视频编码.

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

H264压缩比

条件:
1、YUV格式为YUV420。 乘1.5倍,rgb是3倍
2、分辨率为640x480
3、帧率为15
原视频未压缩需要6404801.5158 = 55296000(bit),约55M (一秒).
H264建议码流为500kps
结果: 约1/100

码流参考值

常用的h264建议码流都并非科学计算得出的,而是各个厂家经过大量实践得出的经验值。
常用的查询网址:

https://docs.agora.io/cn

这是声网总结的经验值,声网在音视频领域是比较权威的。
1、进入网页
2、点击视频通话
3、在基础功能里找到设置视频编码属性并点击
4、下翻找到数据

  • 二人视频通话场景:
    分辨率 320 × 240、帧率 15 fps、码率 200 Kbps
    分辨率 640 × 360、帧率 15 fps、码率 400 Kbps
  • 多人视频通话场景:
    分辨率 160 × 120、帧率 15 fps、码率 65 Kbps
    分辨率 320 × 180、帧率 15 fps、码率 140 Kbps
    分辨率 320 × 240、帧率 15 fps、码率 200 Kbps

视频属性参考表

分辨率 (宽 × 高)帧率 (fps)基准码率 (Kbps,适用于通信)直播码率 (Kbps,适用于直播)
160 × 1201565130
120 × 1201550100
320 × 18015140280
180 × 18015100200
240 × 18015120240
320 × 24015200400
240 × 24015140280
424 × 24015220440
640 × 36015400800
360 × 36015260520
640 × 360306001200
360 × 36030400800
480 × 36015320640
480 × 36030490980
640 × 480155001000
480 × 48015400800
640 × 480307501500
480 × 480306001200
848 × 480156101220
848 × 480309301860
640 × 48010400800
1280 × 7201511302260
1280 × 7203017103420
960 × 720159101820
960 × 7203013802760

GOP在这里插入图片描述

假设一秒钟有25帧,如上图所示。可以算出来帧与帧之间间隔40毫秒。
将时间拉长至10分钟时,累计的帧数就已经是十分多了,需要处理的数据增加,带来了压缩时的困难。
在这里插入图片描述
为了处理,则将这些帧进行了分组。
在这里插入图片描述
假设小人dou时看望远镜的,包括看的角度不同的,分为一组,小人所有敲键盘的分为另一组。
每一帧的敲键盘都是一个动作(按下去、抬起来、抬得不同高度等)。
所以每一个gop都是描述的目标的细微差别。所以在每一个GOP中的所有视频帧都是强相关的,而不同GOP间的视频帧相关性特别小。
所以由此可以将视频划分为很多不同的组,每一组都是强相关的视频帧,GOP即Grouo Of Picture.

GOP中帧与帧之间的差别小

在这里插入图片描述
通过GOP的划分,组内的压缩就容易进行了,因为差别小,数据量会很容易的下降下去。
以小人为例,每张图片的背景几乎没有差别,只是小人的望远镜方向不同,姿势不同,所以背景完全可以放在一张图里。
小人还可以进行再次划分,例如小人的头发都是相同的,也可以放在一张图里。
所以这三张(实际更多)的图片公共点非常多,背景完全一样,头发完全一样,所以只要记录每张图中的不同点,也就是望远镜角度,身体姿势等。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值