数据压缩原理与应用 H.264两次实验

一,H.264文件分析
(一)实验要求
一、选择一个.mp4或者.264文件。
二、在码流分析仪软件中打开该文件,从几个层次进行分析:
(1)分析SPS和PPS里都包含哪些主要的信息,给出参数值。(例如分辨率、帧率、GOP结构等等)
(2)以一个GOP为例,分析如下信息:
1,每个图像帧的类型及所用的编码比特数、QP值;并以图像帧号为横坐标、每帧所用比特数为纵坐标画出曲线图;以图像帧号为横坐标、每帧所用QP为纵坐标画出曲线图。
2,以第一个I帧作为分析对象,基于该帧图像的空间特性,分析每个宏块所采用的编码类型及其比例。
3,以第一个P帧作为分析对象,基于该帧图像的空间和时间特性,分析每个宏块所采用的编码类型及其比例。
4,以某一个B帧作为分析对象,基于该帧图像的空间和时间特性,分析每个宏块所采用的编码类型及其比例。
(二)实验内容
SPS(序列参数集)
在这里插入图片描述
profile_idc = 66 :码流的档次为baseline profile
level_idc = 31:码流的级别为3.1
seq_parameter_set_id = 0:当前的序列参数集的id = 0
log2_max_frame_num_minus4 = 4:MaxFrameNum = 2^(4 + 4) = 256
pic_order_cnt_type = 2:表示解码POC语法元素的取值为2
num_ref_frames = 2:参考帧的数目为2
gaps_in_frame_num_value_allowed_flag = 0:不允许不连续的值
pic_width_in_mbs_minus1 = 53:图像的实际宽度为: frame_width=16×(pic_width_in_mbs_minus1+1)=16× (53 + 1)=864
pic_height_in_map_units_minus1 = 29:PicHeightInMapUnits = 29 + 1 = 30,即视频中一帧图像的高度为30
frame_mbs_only_flag = 1:所有宏块都采用帧编码
按照宏块计算的图像实际高度FrameHeightInMbs=(2−frame_mbs_only_flag) * PicHeightInMapUnits
图像的实际高度frame_height = 16 × FrameHeightInMbs
当前码流中,frame_mbs_only_flag = 1,PicHeightInMapUnits = 30,FrameHeightInMbs = ( 2 − 1 ) * 30 = 30。
图像的实际高度为:frame_height = 16 × 30 =480
frame_cropping_flag = 1:需要对输出的图像帧进行裁剪
vui_parameters_present_flag = 1:SPS中存在VUI信息

PPS(图像参数集)
在这里插入图片描述
pic_parameter_set_id = 0:当前PPS的id为0
seq_parameter_set_id = 0:当前PPS所引用的激活的SPS的id为0
entropy_coding_mode_flag = 0:选择通常为哥伦布编码或者CAVLC
pic_order_present_flag = 0:片头不会给出这些参数,这些参数使用默认值
num_slice_groups_minus1 = 0:此帧中所有的slice都属于一个slice group
weighted_pred_flag = 0:不开启加权预测
weighted_bipred_idc = 0:默认加权预测
pic_init_qp_minus26 = 0,pic_init_qs_minus26 = 0:表示初始的量化参数
chroma_qp_index_offset = 0:用于计算色度分量的量化参数
deblocking_filter_control_present_flag = 1:slice header中包含去块滤波器相应的信息
constrained_intra_pred_flag = 0:I宏块可以使用来自Inter类型宏块的信息
redundant_pic_cnt_present_flag = 0:slice header中没有redundant_pic_cnt相应的信息
一个GOP
在这里插入图片描述
以帧号为横坐标,每帧所用比特数为纵坐标作图:
在这里插入图片描述
有1个I帧,59个P帧,没有B帧。
第一个I帧在这里插入图片描述
编码比特数:166.599b/Mb
QP值:26
编码类型:帧内预测编码
第一个P帧
在这里插入图片描述
编码比特数:3.078b/Mb
QP值:26
编码类型:帧内预测、前向预测
二,H.264编码实验
(一)实验要求
1,将自行选择或老师给的两个264文件进行解码,得到相应的YUV文件
2,将上述两个视频序列编码为.264文件
固定码率,以不同的GOP长度及形状编码
GOP=15,2B帧;GOP=12,2B帧,GOP=9,2B帧
GOP=4,1B帧;GOP=12,无B帧;GOP=1,全I帧
相同的GOP长度及形状,不同的码率
例:1000kb/s, 800kb/s,400kb/s,…
3,用码流分析软件检查所生成的码流中各种编码模式和运动矢量等信息
4,用播放器观看所生成码流的质量
5,生成率失真曲线
6,用码流分析软件检查所生成的码流中各种编码模式和运动矢量等信息
分析不同统计特性的视频图像对应的编码模式和运动矢量的特点
(二)实验内容
解码得到yuv文件
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值