Lab8 H.264码流分析和编码实验

1.实验要求

在这里插入图片描述

在这里插入图片描述

2.实验结果

一.6.17

(1)分析SPS和PPS里都包含哪些主要的信息,给出参数值。(例如分辨率、帧率、GOP结构等等)

(感谢:https://blog.csdn.net/weixin_44874766/article/details/117993932)
根据下图可计算出参数值:
在这里插入图片描述

在这里插入图片描述
计算得出:(上图倒数第一,二行)
宽:16
54=864
高:1630=480
分辨率:864
480
帧率:29.97帧/秒*

在这里插入图片描述
只有I帧和P帧,没有B帧。

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

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述

该帧每个宏块所用的平均编码比特数为166.599bits,QP(量化参数)值为26.000。
I帧的空间特性:使用帧内编码。由于该帧没有参考帧,所以没有使用到运动矢量。
该帧所有的宏块都是帧内预测,共799个

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

在这里插入图片描述

空间特性:支持前向预测
使用软件提供的统计功能,我们能够统计出该p帧内不同的编码的宏块类型:
在这里插入图片描述

skip块的数量达到了1249个,但是平均所占的比特数仅仅0.76bits,355个 16*16的宏块占了34.97bits.
较小比例的宏块占有了大部分的比特,其余只需要用前帧进行预测即可得到。

在这里插入图片描述

图中的运动向量非常不明显

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

由于没有b帧,因此不作分析

二.6.24

1.选择两个264文件进行解码,得到相应的YUV文件

参考JM使用手册,将JM18.6下的ldecod.exe、decoder.cfg与要处理的.264文件放在同一目录下,利用cmd指令指定解码文件与解码得到的yuv文件名,完成解码
在这里插入图片描述
修改decoder.cfg:
在这里插入图片描述

结果:成功解码:
在这里插入图片描述

2.固定码率,通过设置IDRPeriod设置GOP的长度,通过设置NumberBFrame设置B帧的数量

固定GOP长度及形状

encoder.cfg 文件中的P帧
在这里插入图片描述
控制码率
在这里插入图片描述

运行结果

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

率失真曲线

在这里插入图片描述

实验结论:固定码率的情况下,不同的GOP长度及形状psnr值会不同,固定GOP长度和形状改变码率psnr值也有所变化,码率越高psnr越大,效果越好。

参考文章:
https://blog.csdn.net/weixin_44874766/article/details/117993932
https://blog.csdn.net/zsy_cuc_18/article/details/118308267?spm=1001.2014.3001.5501
https://blog.csdn.net/weixin_44221452/article/details/118000007?spm=1001.2014.3001.5501

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值