NMM视频技术(旧)

标题: [AVC(H.264)] x264 Open-GOP/Infinite Keyint 测试 [打印本页]

作者: akiduki    时间: 2010-7-16 02:30     标题: x264 Open-GOP/Infinite Keyint 测试

x264最近的更新加入了两个关于keyframe的参数,--open-gop和--keyint infinite。
所谓open-gop,就是指允许类似IBBPBBIBB的frame结构,它的作用在于提高低keyint设置时的压缩率。
--keyint infinite的作用和open-gop正好相反,它为了最大化的利用压缩率存在的。开启infinite的open-gop后,除非scene-cut自动判定需要加入keyframe,一般情况下都不会加入keyframe。

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

对于我们ripper来说,保证质量是优先考虑的,那么也许这两个参数,特别是infinite keyint,将对质量有一定帮助作用。于是我做了下面测试:

测试视频: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-GOP Open-GOP no Open-GOP no Open-GOP Open-GOP no Open-GOP no Open-GOP Open-GOP no Open-GOP
keyint=100 keyint=100 keyint=INF keyint=100 keyint=100 keyint=INF keyint=100 keyint=100 keyint=INF
PSNR 44.694 44.7 44.722 40.394 40.405 40.598 30.1 30.108 30.134
SSIM 0.9863979 0.9864227 0.9863821 0.9830833 0.9831445 0.9838672 0.8980152 0.8981589 0.8988223


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

从上面的结果不难看出,开启open-gop保持现有keyint的设定,或者完全无视open-gop直接上极端的无穷keyint interval,都能对最终编码视频的质量有所提升(opengop的提升很有限)。至于两者选何者好就要根据实际编码视频的质量,以及可播放性来确定了,如果是极端ep的终极质量追求者,看片子几乎不seek,那就选择keyint infinite吧。

作者: 264768502    时间: 2010-7-16 07:35

秋月姐姐威武
作者: fnid    时间: 2010-7-18 21:19

很少人会一溜看下去,从来不jump,感觉不是很实用
open-gop,我用mplayer jump的时候就有马赛克了
作者: akiduki    时间: 2010-7-19 09:18

open-gop也不是没有i了,open-gop是说I前面可以是B
--keyint infinite也不是,因为scenecut会强制插I的
作者: VempX    时间: 2010-7-30 18:06

秋月姐姐威武!
作者: 06_taro    时间: 2010-8-27 00:19

原来keyint infinite的测试在这里
话说Open-GOP好像对解码器有限制?




欢迎光临 NMM视频技术(旧) (http://www.nmm-hd.org/bbs/) Powered by Discuz! X1