H.264编码

码流分析

实验目的:

  • 分析SPS和PPS里都包含哪些主要的信息,给出参数值。
  • 以一个GOP为例,分析如下信息:
    每个图像帧的类型及所用的编码比特数、QP值;并以图像帧号为横坐标、每帧所用比特数为纵坐标画出曲线图;以图像帧号为横坐标、每帧所用QP为纵坐标画出曲线图。
  • 以第一个I帧作为分析对象,基于该帧图像的空间特性,分析每个宏块所采用的编码类型及其比例。
  • 以第一个P帧作为分析对象,基于该帧图像的空间和时间特性,分析每个宏块所采用的编码类型及其比例。
  • 以某一个B帧作为分析对象,基于该帧图像的空间和时间特性,分析每个宏块所采用的编码类型及其比例。

实验过程

  • 分析SPS和PPS里都包含哪些主要的信息,给出参数值。

使用H264Visa码流分析软件打开老师提供的demo.264在这里插入图片描述
SPS:
在这里插入图片描述
PPS:
在这里插入图片描述
从图中可以得到一些视频数据,如:

  • num_ref_frames(最大参考帧数目):2
  • pic_width_in_mbs_minus1(计算图像宽度):frame_width = 16 × (53 + 1) = 864(以像素为单位)
  • pic_height_in_map_units_minus1(计算图像高度):PicHeightInMapUnits = 29 + 1 = 30(以 map_unit 为单位)
  • frame_mbs_only_flag说明宏块的编码方式:1表示所有宏块都采用帧编码,同时也表示一帧数据按宏块计算的高度,即按照宏块计算的图像实际高度FrameHeightInMbs
    = ( 2 − 1 ) * 30 = 30,frame_height = 16 × 54 = 864
  • num_slice_groups_minus1某一帧中slice group的个数:该值为0表示一帧中所有的slice都属于一个slice group
  • deblocking_filter_control_present_flag表示Slice header中是否存在用于去块滤波器控制的信息:该标志位为1表示slice header中包含去块滤波相应的信息

图像的长宽可得到验证
在这里插入图片描述

  • 以一个GOP为例,分析如下信息: 每个图像帧的类型及所用的编码比特数、QP值;并以图像帧号为横坐标、每帧所用比特数为纵坐标画出曲线图;以图像帧号为横坐标、每帧所用QP为纵坐标画出曲线图。

在这里插入图片描述
在这里插入图片描述
可看出,第一个GOP长度为58,导出数据如下
在这里插入图片描述
以图像帧号为横坐标、每帧所用比特数为纵坐标画出曲线图如下:
在这里插入图片描述
以图像帧号为横坐标、每帧所用QP为纵坐标画出曲线图如下:
在这里插入图片描述

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

在这里插入图片描述
经统计得到数据
在这里插入图片描述

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

在这里插入图片描述

统计结果如下:
在这里插入图片描述
(该例无B帧,故无法分析,但原理一致

程序分析

实验要求

在这里插入图片描述

实验过程

1、解码
在Idecod中修改命令参数如下
在这里插入图片描述
对highway_qcif.264进行处理:
在这里插入图片描述
得到输出:
在这里插入图片描述
在这里插入图片描述
同理对demo.264进行处理,得到输出:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2、编码
(1)固定码率(5Mbps),不同的GOP长度及形状:
在Iencod中修改命令参数如下:
在这里插入图片描述
两文件大小如下:
demo:864x480(前得)
highway_qcif:176x144(用H264Visa可得到)
在这里插入图片描述
在这里插入图片描述

以demo文件为例程序中修改以下参数
在这里插入图片描述
在这里插入图片描述
得到输出出现问题,暂未解决。
在这里插入图片描述
优先级:IDRPeriod > IntraPeriod;IntraPeriod > NumberBFrames;IDRPeriod > PrimaryGOPLength。

参考同学的输出结果得到结论:
码率一定的情况下,图像质量从高到低依次是:GOP=12,0B帧 > GOP=15,2B帧 > GOP=12,2B帧 > GOP=9,2B帧 > GOP=4,1B帧 > GOP=1,全I帧。

(2)固定GOP长度及形状(GOP=15、2B帧),不同码率:
以highway_qcif.yuv为例,不同码率下Y分量的PSNR如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
以码率为横坐标,以PSNR为纵坐标,生成率失真曲线。
在这里插入图片描述
可以看出,随着比特率的升高,编码后的图像质量也有所提升。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值