NMM视频技术(旧)

 找回密码
 成为会员
搜索
查看: 9682|回复: 5

[AVC(H.264)] x264 Open-GOP/Infinite Keyint 测试

[复制链接]
发表于 2010-7-16 02:30 | 显示全部楼层 |阅读模式
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吧。
发表于 2010-7-16 07:35 | 显示全部楼层
秋月姐姐威武
发表于 2010-7-18 21:19 | 显示全部楼层
很少人会一溜看下去,从来不jump,感觉不是很实用
open-gop,我用mplayer jump的时候就有马赛克了
 楼主| 发表于 2010-7-19 09:18 | 显示全部楼层
open-gop也不是没有i了,open-gop是说I前面可以是B
--keyint infinite也不是,因为scenecut会强制插I的
发表于 2010-7-30 18:06 | 显示全部楼层
秋月姐姐威武!
发表于 2010-8-27 00:19 | 显示全部楼层
原来keyint infinite的测试在这里
话说Open-GOP好像对解码器有限制?
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

小黑屋|手机版|NMM视频技术

GMT+8, 2024-3-29 02:13 , Processed in 0.096305 second(s), 14 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表