一、实验要求
- 选择一个.mp4或者.264文件。
- 在码流分析仪软件中打开该文件,从几个层次进行分析:
- 分析SPS和PPS里都包含哪些主要的信息,给出参数值。(例如分辨率、帧率、GOP结构等等)
- 以一个GOP为例,分析如下信息:
①每个图像帧的类型及所用的编码比特数、QP值;并以图像帧号为横坐标、每帧所用比特数为纵坐标画出曲线图;以图像帧号为横坐标、每帧所用QP为纵坐标画出曲线图。
②以第一个I帧作为分析对象,基于该帧图像的空间特性,分析每个宏块所采用的编码类型及其比例。
③以第一个P帧作为分析对象,基于该帧图像的空间和时间特性,分析每个宏块所采用的编码类型及其比例。
④以某一个B帧作为分析对象,基于该帧图像的空间和时间特性,分析每个宏块所采用的编码类型及其比例。
二、实验内容
1、分析SPS和PPS
SPS:序列参数集,以一个单独的包描述了sequence所有的信息
(1)profile_idc:
标识当前H.264码流的profile。H.264中定义了三种常用的档次profile:
基准档次:baseline profile ---> profile_idc=66
主要档次:main profile ---> profile_idc=77
扩展档次:extended profile ---> profile_idc=88
在新版的标准中,还包括了High、High 10、High 4:2:2、High 4:4:4、High 10 Intra、High
4:2:2 Intra、High 4:4:4 Intra、CAVLC 4:4:4 Intra等,每一种都由不同的profile_idc表示。
本次实验中码流的profile_idc=100,码流档次为High
(2)level_idc:
标识当前码流的level。编码的level定义了某种条件下的最大视频分辨率、最大视频帧率等参数,码流所遵从的level由level_idc指定
本次实验中码流的level_idc=31, 码流级别为3.1
(3)seq_parameter_set_id:
表示当前的序列集参数的id。通过该id值,图像参数集PPS可以引用其代表的SPS中的参数。
本次实验中码流的seq_parameter_set_id=0,序列参数集的id=0
(4)log2_max_frame_num_minus4: