【数据压缩】H.264码流分析

一、H.264简介

H.264是国际标准化组织(ISO)和国际电信联盟(ITU)在2002年12月共同提出的继MPEG-4之后的新一代数字视频压缩格式,其具有更高的编码效率,并注重对移动和IP网络的适应,考虑信道的特点,能控制误码扩散。
标准定义的是编码视频比特流的语法结构和对该比特流解码的方法。H.264标准的预测、变换、量化、熵编码等基本功能模块与前几个标准(MPEG-1, MPEG-2, MPEG-4,H.261,H.263)并无太大区别。变化主要体现在功能模块的具体细节上。
编码器如下图所示。
在这里插入图片描述解码器如下图所示。
在这里插入图片描述

二、H.264码流分析

1、SPS分析

SPS即Sequence Paramater Set,又称为序列参数集。SPS中保存了一组编码视频序列的全局参数。
H264Visa打开test.264文件后可以查看到该文件的SPS信息。如下图所示。
在这里插入图片描述
SPS各参数含义如下表所示。
在这里插入图片描述在这里插入图片描述

2、PPS分析

H.264中另一重要的参数集合为图像参数集Picture Paramater Set(PPS)。
在这里插入图片描述PPS各参数含义如下表所示。
在这里插入图片描述
在这里插入图片描述

3、GOP分析

(1)GOP简介

GOP(Group of Pictures,图像组)是将一个图像序列中连续的几个图像组成的一个小组,是对编码后的视频码流进行编辑、存取和压缩编码的基本单元,包含不同种类编码的帧。如下图所示。
在这里插入图片描述
GOP大小不固定,但GOP一定以I帧开始,但每个GOP可能包含多个I帧。
增大GOP或提高GOP中P/B帧的占比,可以提高压缩比,降低码率。因此一般而言,在码率一定的条件下,GOP越大,图像质量越好(P/B帧的比重更大);在图像质量一定的条件下,GOP越大,码率越低。
闭合GOP(Closed GOP)与开放GOP(Open GOP):在H.264的GOP中,所有的GOP都是独立解码的,与其他GOP无关,即它们都是“闭合”的。但是在HEVC中,GOP的结构发生了变化,采用了“开放”的结构,在解码过程过可能会参考其他GOP的数据。

(2)图像帧的编码比特数

以一个GOP为例,分析每个图像帧的类型及所用的编码比特数、QP值;并以图像帧号为横坐标、每帧所用比特数为纵坐标画出曲线图;以图像帧号为横坐标、每帧所用QP为纵坐标画出曲线图。
用ESEyE打开test.264,如下图所示。下图红色处为第二个GOP的I帧。
在这里插入图片描述以第一个GOP为例,第一个GOP长度为250,我们导出他的statistic数据。如下图所示。
在这里插入图片描述
以图像帧号为横坐标、每帧所用比特数为纵坐标画出曲线图。如下图所示。
在这里插入图片描述
各帧平均量化比特数如下图所示。
在这里插入图片描述
可见,I帧的比特数是最多的,P帧次之,B帧最少。

(3)IPB帧分析

下图为第一个I帧。

在这里插入图片描述其宏块统计信息如下图所示。
在这里插入图片描述
可见,I帧作为帧内预测帧,无参考帧,编码时多采用8×8 、16×16的宏块,细节部分也采用4×4的宏块,比如肩膀与背景交界处、领带处等。平均每个宏块编码比特数为37.480,QP值为27.328。

下图为第一个P帧。
在这里插入图片描述

其宏块统计信息如下图所示。
在这里插入图片描述
可见,P帧大部分采用帧间编码,从运动矢量也可以看出这些位置与I帧的差别并不是很大,部分
采用帧内编码。具有较多Skip宏块即残差为0的宏块。平均每个宏块编码比特数为10.870,QP值为30.558。

下图为第一个B帧。
在这里插入图片描述

其宏块统计信息如下图所示。
在这里插入图片描述
可见,B帧作为双向参考帧,有很多Skip宏块,且压缩较高,平均每个宏块编码比特数为1.596,QP值为23.333。

参考

H.264码流分析实验
H.264及编解码调试

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值