其他分享
首页 > 其他分享> > 数据压缩实验之 H.264编解码实验

数据压缩实验之 H.264编解码实验

作者:互联网

文章目录

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

在decoder.cfg里修改输入第一个文件名称:

InputFile             = "test_zy.264"       # H.264/AVC coded bitstream

之后命令行运行ldecode.exe:
在这里插入图片描述在这里插入图片描述
便得到输出结果:
在这里插入图片描述
同理得到第二个输出结果:
在这里插入图片描述

2.将上述两个视频序列编码为.264文件

2.1 固定码率,以不同的GOP长度及形状编码

在encoder.cfg里修改输入文件名称:

InputFile             = "foreman_part_qcif.yuv"       # Input sequence

修改输入输出文件宽高:

SourceWidth           = 640   # Source frame width
SourceHeight          = 360    # Source frame height
SourceResize          = 0      # Resize source size for output
OutputWidth           = 640    # Output frame width
OutputHeight          = 360    # Output frame height

修改 :

IntraPeriod           = 15   # Period of I-pictures   (0=only first)

修改 :

NumberBFrames          = 2  # Number of B coded frames inserted (0=not used)

修改 :

HierarchicalCoding      =  0  # B hierarchical coding (0= off, 1= 2 layers, 2= 2 full hierarchy, 3 = explicit)

这里只列举出test_zy.yuv的例子:

2.1.1 GOP=15,2B帧

在这里插入图片描述

2.1.2 GOP=12,2B帧

在这里插入图片描述

2.1.3 GOP=9,2B帧

在这里插入图片描述

2.1.4 GOP=4,1B帧

在这里插入图片描述

2.1.5 GOP=12,无B帧

在这里插入图片描述

2.1.6 GOP=1,全I帧

在这里插入图片描述

2.2 相同的GOP长度及形状(GOP=15,2B帧),不同的码率

2.2.1 1000kb/s

在这里插入图片描述

2.2.2 800kb/s

在这里插入图片描述

2.2.3 400kb/s

在这里插入图片描述

3.用码流分析软件检查所生成的码流中各种编码模式和运动矢量等信息

4.用播放器观看所生成码流的质量

4.1.1 GOP=15,2B帧,1000kb/s

选取第一帧,第一帧一定是帧内编码帧(I帧),同时,由于是I帧的原因,运动矢量并不存在。,在分析软件中分析时也确实如此,其Slice Type为I Slice:在这里插入图片描述
在这里插入图片描述
第十帧:
在这里插入图片描述
在这里插入图片描述

4.1.2 GOP=12,2B帧,1000kb/s

在这里插入图片描述

4.1.3 GOP=12,0B帧,1000kb/s

在这里插入图片描述

4.1.4 GOP=9,2B帧,1000kb/s

在这里插入图片描述

4.1.5 GOP=4,1B帧,1000kb/s

在这里插入图片描述

4.1.6 GOP=1,全I帧,1000kb/s

在这里插入图片描述

4.1.7 GOP=15,2B帧,800kb/s

在这里插入图片描述

4.1.8 GOP=15,2B帧,400kb/s

在这里插入图片描述

5.生成率失真曲线

5.1.1 GOP=15,2B帧,1000kb/s

在这里插入图片描述

5.1.2 GOP=12,2B帧,1000kb/s

在这里插入图片描述

5.1.3 GOP=12,0B帧,1000kb/s

在这里插入图片描述

5.1.4 GOP=9,2B帧,1000kb/s

在这里插入图片描述

5.1.5 GOP=12,1B帧,800kb/s

在这里插入图片描述

5.1.6 GOP=1,全I帧,1000kb/s

在这里插入图片描述

5.1.7 GOP=15,2B帧,800kb/s

在这里插入图片描述

5.1.8 GOP=15,2B帧,400kb/s

在这里插入图片描述

以此类推,得到多组Y-PSNR

由上得Y-PSNR和码率绘制率失真曲线。
在这里插入图片描述

6.结论

通过率失真曲线可以比较两个编码器的性能:
●在PSNR相同时,对应码率小的编码器性能好
●在码率相同时,对应PSNR大的编码器性能好

标签:编解码,H.264,15,1000kb,12,实验,2B,2.1,GOP
来源: https://blog.csdn.net/qq_45639597/article/details/117993746