资讯详情

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

一.实验要求

二.实验内容

2.SPS

3.PPS

3.以一个GOP例如,分析信息

比特数、QP值;并以图像帧号为横坐标、每帧所用比特数为纵坐标画出曲线图;以图像帧号为横坐标、每帧所用QP为纵坐标画出曲线图。-toc" style="margin-left:80px;">(1)每个图像帧的类型和编码比特数,QP值;以图像帧号为横坐标,每帧使用的比特数为纵坐标画曲线图;以图像帧号为横坐标,每帧使用QP为纵坐标画曲线图。

(2)根据帧图像的空间特性,分析每个宏块使用的编码类型及其比例。

(3)根据帧图像的空间和时间特性,分析每个宏块使用的编码类型及其比例。

(4)根据帧图像的空间和时间特性,分析每个宏块使用的编码类型及其比例。


一.实验要求

1.选择一个.mp4或者.264文件。

2.打开码流分析仪软件中的文件,从几个层次进行分析:

  • 分析SPS和PPS给出参数值的主要信息。(如分辨率、帧率、GOP结构等等)
  • 以一个
  • GOP例如,分析以下信息:
  • 每个图像帧的类型和编码比特数,QP值;以图像帧号为横坐标,每帧使用的比特数为纵坐标画曲线图;以图像帧号为横坐标,每帧使用QP为纵坐标画曲线图。
  • 以第一个I帧作为分析对象,基于该帧图像的空间特性,分析每个宏块所采用的编码类型及其比例。
  • 根据帧图像的空间和时间特性,分析每个宏块使用的编码类型及其比例。
  • 根据帧图像的空间和时间特性,分析每个宏块使用的编码类型及其比例。

二.实验内容

1.选择文件test

2.SPS

profile_idc指比特流所遵守的配置和等级。

H.264标准规定了三个基本标准profile级别:

  • profile_idc 的取值为 66 时,比特流与基准简表相一致
  • profile_idc 的取值为 77 时,比特流与主要简表相一致
  • profile_idc 的取值为 88 当比特流与扩展简表一致时

从上图可以看出,profile_idc=100,由H.264标准知“profile_idc值为100时,比特流与高级简表一致,说明该视频属于高级。

level_id是指比特流所遵守的配置和级别。

编码的Level定义了某种条件下的最大视频分辨率、最大视频帧率等参数,码流所遵从的level由level_idc指定。

由图可知当前码流的的level=31。

seq_parameter_set_id用于识别图像参数集所指的序列参数集。seq_parameter_set_id的值应在0-31的范围内,包括0和31.

本例中seq_parameter_set_id=0。

通过chroma_format_idc的取值来表示色度采样结构。

本例中chroma_format_idc=1,故可知色彩格式为4:2:0。

 本例中其值为0。

 本例中其值为0。

本例中其值为0。

 

 本例中其值为0。

本例中log2_max_frame_num_minus4=2,计算可得MaxFrameNum=

指解码图像顺序的计数方法,取值范围为0-2。

num_ref_frames 规定了可能在视频序列中任何图像帧间预测的解码过程中用到的短期参考帧和长期参考帧、互补参考场对以及不成对的参考场的最大数量。

 

本例中 pic_width_in_mbs_minus1=39,pic_height_in_map_units_minus1=22.

计算得图像实际高度为368,图像实际宽度为640,故分辨率为640×368

一秒钟内的时间单元的数量。

本例中time_scale=96,表明帧率为96Hz

3.PPS

指定使用的图像参数集,取值范围为0-255(包括0和255)

用于选取语法元素的熵编码方式。

本例中其值为1,说明熵编码方式选择语法表中右边的描述符所指定的方法。

为1时表示与图像顺序数有关的语法元素将出现于条带头中,为0时则不出现

本例中其值为0,说明与图像顺序数有关的语法元素不会出现在条带头中。

其值+1为一个图像中的条带组数。

本例中其值为0,说明图像中所有条带属于同一个条带组。

num_ref_idx_l0_active_minus1 表示参考图像列表 0 的最大参考索引号,该索引号将用来在一幅图像中 num_ref_idx_active_override_flag 等于 0 的条带使用列表 0 预测时,解码该图像的这些条带。
当 MbaffFrameFlag 等于 1 时,num_ref_idx_l0_active_minus1 是帧宏块解码的最大索引号值,而 2 * num_ref_idx_l0_active_minus1 + 1 是场宏块解码的最大索引号值。
num_ref_idx_l0_active_minus1 的值应该在 0 到 31 的范围内(包括 0 和 31)。

本例中其值为15,说明最大索引号是15。 

与num_ref_idx_I0_active_minus1同理。
 
weighted_pred_flag 等于 0 表示加权的预测不应用于 P 和 SP 条带。weighted_pred_flag 等于 1 表示在 P 和 SP 条带中应使用加权的预测。

 

weighted_bipred_idc 等于 0 表示 B 条带应该采用默认的加权预测。weighted_bipred_idc 等于 1 表示 B 条带应 该 采 用具体指 明 的 加 权 预 测 。 weighted_bipred_idc 等 于 2 表 示 B 条 带 应 该 采 用 隐 含 的 加 权 预 测 。 weighted_bipred_idc 的值应该在 0 到 2 之间(包括 0 和 2)。
本例中其值为2,表明B条带应该采用隐含的加权预测。
pic_init_qp_minus26 表示每个条带的 SliceQPY 初始值减 26。当解码非 0 值的 slice_qp_delta 时,该初始值在 条带层被修正,并且在宏块层解码非 0 值的 mb_qp_delta 时进一步被修正。pic_init_qp_minus26 的值应该在- (26 + QpBdOffsetY ) 到 +25 之间(包括边界值)。
pic_init_qs_minus26 表示在 SP 或 SI 条带中的所有宏块的 SliceQSY 初始值减 26。当解码非 0 值的 slice_qs_delta 时,该初始值在条带层被修正。pic_init_qs_minus26 的值应该在-26 到 +25 之间(包括边界值)。
表示为在 QPC 值的表格中寻找 Cb 色度分量而应加到参数 QPY 和 QSY 上的偏移。
chroma_qp_index_offset 的值应在-12 到 +12 范围内(包括边界值)。
deblocking_filter_control_present_flag 等于 1 表示控制去块效应滤波器的特征的一组语法元素将出现在条带 头中。
deblocking_filter_control_present_flag 等于 0 表示控制去块效应滤波器的特征的一组语法元素不会出现在条带头中,并且它们的推定值将会生效。
constrained_intra_pred_flag 等于 0 表示帧内预测允许使用残余数据,且使用帧内宏块预测模式编码的宏块 的预测可以使用帧间宏块预测模式编码的相邻宏块的解码样值。
constrained_intra_pred_flag 等于 1 表示受限制的帧内预测,在这种情况下,使用帧内宏块预测模式编码的宏块的预测仅使用残余数据和来自 I 或 SI 宏块类型的解码样值。
redundant_pic_cnt_present_flag 等于 0 表示 redundant_pic_cnt 语法元素不会在条带头、图像参数集中指明(直接或与相应的数据分割块 A 关联)的数据分割块 B 和数据分割块 C 中出现。
redundant_pic_cnt_present_flag 等于 1 表示 redundant_pic_cnt 语法元素将出现在条带头、图像参数集中指明(直接或与相应的数据分割块 A 关联)的数据分割块 B 和数据分割块 C 中。
transform_8x8_mode_flag 等 于 1 表 示 8x8 变 换 解 码过程可能 正 在使用。
transform_8x8_mode_flag 等于 0 表示未使用 8x8 变换解码过程。
当 transform_8x8_mode_flag 不存在时,默认其值为 0。
pic_scaling_matrix_present_flag 等于 1 表示存在用来修改在序列参数集中指定的缩放比例列表的参数。
pic_scaling_matrix_present_flag 等于 0 表示用于该图像中的缩放比例列表应等于那些由序列参数集规定的。
当 pic_scaling_matrix_present_flag 不存在时,默认其值为 0。

3.以一个GOP为例,分析信息

(1)每个图像帧的类型及所用的编码比特数、QP值;并以图像帧号为横坐标、每帧所用比特数为纵坐标画出曲线图;以图像帧号为横坐标、每帧所用QP为纵坐标画出曲线图。

 

 比特数分布:

 

可见I帧和B帧的比特数较多,含有数据量大。

Qp值:

 

我选择的是第一个GOP,看起来Qp较为均匀。

(2)以第一个I帧作为分析对象,基于该帧图像的空间特性,分析每个宏块所采用的编码类型及其比例。

 

 

 容易看出该帧全部是帧内编码帧。

该帧所用宏块平均编码数为37.480,平均量化参数值为27.328,全为16×16宏块。

(3)以第一个P帧作为分析对象,基于该帧图像的空间和时间特性,分析每个宏块所采用的编码类型及其比例。

 

其中黄色点说明预测误差为0,与前一帧I帧比较容易发现黄色块几乎没有变化。

蓝色点是帧间编码,以前一帧I帧为预测帧。

该帧所用宏块平均编码数为1.596,平均量化参数值为23.333,所用宏块有16×16、16×8,其中16×16居多。

(4)以某一个B帧作为分析对象,基于该帧图像的空间和时间特性,分析每个宏块所采用的编码类型及其比例。

 

 

 我选取的GOP很巧是I帧后是P帧后是B帧

肉眼可见该B帧与前一帧P帧区别不大,所以黄色点占大多数,说明预测误差为0.

该帧所用宏块平均编码数为2.125,平均量化参数值为24.333,所用宏块有16×16、8×16,其中16×16居多。

标签: 重量变送器qsy7105

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台