x264 Open-GOP/Infinite Keyint 测试

来源:互联网 发布:国家漏洞数据库 编辑:程序博客网 时间:2024/06/06 13:11
所谓open-gop,就是指允许类似IBBPBBIBB的frame结构,它的作用在于提高低keyint设置时的压缩率。
--keyint infinite的作用和open-gop正好相反,它为了最大化的利用压缩率存在的。开启infinite的open-gop后,除非scene-cut自动判定需要加入keyframe,一般情况下都不会加入keyframe。

众所周知,过于频繁的keyframe存在会降低压缩率,而一定频率的keyframe又能保证GOP间的B和P帧拥有良好的预测精度。同时keyframe的存在又保证了编码视频的可seek能力这在某些应用场合又是非常关键的。所以keyframe的选择是一个因人而异,因应用场合不同而变化的参数。


测试视频:ice,waterfall,ducks take off
分辨率:前两者CIF,后者720p

对SD序列我使用了600k的码率,对ducks这个特别吃码率的超级视频我使用了6000k的码率(即使这样QP也都大于30),RC使用的是2pass,除了这两者外其他参数都一致,并使用了我常用的参数配置。我试验了开启/关闭open-gop以及keyint使用常用设置(fpsx4)/infinite共四种组合。由于环境限制我没有用肉眼观看质量,只是使用了psnr和ssim两种质量模型,测试结果如下:

ice  waterfall  ducks   no Open-GOPOpen-GOPno Open-GOPno Open-GOPOpen-GOPno Open-GOPno Open-GOPOpen-GOPno Open-GOP keyint=100keyint=100keyint=INFkeyint=100keyint=100keyint=INFkeyint=100keyint=100keyint=INFPSNR44.69444.744.72240.39440.40540.59830.130.10830.134SSIM0.98639790.98642270.98638210.98308330.98314450.98386720.89801520.89815890.8988223

由于open-gop开启/keyint infinite与open-gop关闭/keyint infinite结果一模一样,所以不在列出了。这也可以理解,因为两者对keyframe的控制作用是完全相反的。

从上面的结果不难看出,开启open-gop保持现有keyint的设定,或者完全无视open-gop直接上极端的无穷keyint interval,都能对最终编码视频的质量有所提升(opengop的提升很有限)。


转自:https://www.nmm-hd.org/bbs/thread-1202-1-1.html

原创粉丝点击