[SilkyBible] XviD系列-7
来源:互联网 发布:手机淘宝可以买火车票 编辑:程序博客网 时间:2024/03/29 04:04
DivX 5.0.5 的设定:
和测试一相同,多加使用 B-frame
DivX 5 B-frame 的默认值,当 I/P Frame quantizer 为 2 时,B-frame quantizer 为 4
XviD 的设定:
和测试一相同,多加使用 B-frame
配合 DivX 5,将 B-frame ratio 设为 100,offset 设为 200,也就是同样使用 quantizer 4
最大 B-frame 个数 4 个
压出来文件大小
DivX 5.0.5: 29,198,336 bytes (100%)
XviD Nic's: 29,896,704 bytes (102.4%)
XviD 04-25: 27,856,896 bytes (95.4%)
XviD Nic's 的 B-frame 压缩率不如 DivX 5。
原因可能有:
1. XviD 的 VHQ 功能目前对 B-frame 没作用。
B-frame 可供选择的压缩模式更多,从 VHQ 能得到的好处更多,不能用非常可惜。
B-frame 少了 VHQ 辅助,原本大胜的差距就被 DivX 5 追上。
由此可见 VHQ 很重要,一定要开。
2. XviD 的 B-frame 是动态地插入,会视画面做判断要不要使用 B-frame。
而 DivX 5 的 B-frame 则是固定的,一定要维持 IBPBPB... 的形式。
所以遇到不适合使用 B-frame 的画面,DivX 5 还是要使用 B-frame,并且以高 quantizer 压缩,画质会较差。
而 XviD 的动态判断还在改良,插入的判断较保守,遇到这种高动态、无残影的动画讯源,插入的 B-frame 个数较少,以高 quantizer 压缩的 B-frame 个数减少,压缩率自然下降。
Koepi 编译的版本有加入一个设定,可以让你控制插入 B-frame 的判断,将 threshold 设得越高,B-frame 插得越多。
Nic 的版本没有开放这个选项,用的是内定的默认值 0。
然而经过 sysKin 这一个月来的改进,04-25 的 XviD B-frame 压缩效率大增,文件小了快 2MB !!
那么画质有没有下降呢?
测定 PSNR。
这里要说明一下,由于加入 B-frame,解码时会产生 delayed frame,XviD 开头多一张 frame,DivX 结尾多一张 frame,要把这些多出来的 frame 切掉,才能对齐比对,算出来的 PSNR 才会正确。
例如 XviD 开头多一张,Avisynth 处理的语法
encoded=avisource("Kiddy Grade NCOP_XviD_H.263-B4.avi", false, "YV12").Trim(1,0)
算出来的结果:
Average PSNR (dB)
Y U V YUV
========================================================
DivX 5.0.5: 46.5597 46.5629 46.4920 46.5382
XviD 04-25: 46.9404 46.9653 46.8575 46.9211
考虑文件大小和 PSNR 比 (YUV PSNR/文件大小%) 调整后的分数
DivX 5.0.5: 46.5382
XviD 04-25: 49.1835
还是大胜 :D
============== 无关主题,顺便一提 开始 ==============>
用了 B-frame、Quarter Pixel、GMC 等进阶功能压缩率和画质就会变得比较好吗?
不一定。
B-frame 因为提高 quantizer 压缩,通常来说使用 B-frame 后文件都会缩小,但是品质确有可能降得非常快。
使用 B-frame PSNR 会下降可以理解(因为 B-frame quantizer 较高),但是如果降得太离谱,视觉品质也会很明显的跟着下降。
XviD 的三位大神之一 gruel 曾做过测试,VQEG 的测试 sample 中,有一个影片只要一开 B-frame,PSNR 会整整掉 12.5dB !!
(根据经验,CG 动画类的通常不太适合开 B-frame,不过也有反例,要看素材的内容)
所以哪些影片适合使用 B-frame,哪些不适合用,这正是 XviD 正在努力研究的方向。
Quarter Pixel 也是,根据理论 Quarter Pixel 可以提高压缩率,但是据许多人的测试,开了 Quarter Pixel 后文件有时反而会变大。这也是 XviD 的开发人员正在研究的课题。
同理 GMC 也是,用了不一定会提高压缩率、促进品质。
XviD 希望能够归纳出各种功能适当的使用时机,在适当的时候才使用这些功能,让这些工具能发挥最大的效率。
所以在此之前,如果你的码率够,不计压出来的大小,或是文件很好压缩,可以试着不用 B-frame。
然而 B-frame、Quarter Pixel 使用后都有一些视觉上的作用,例如 B-frame 具有减少噪声的作用,Quarter Pixel 会让颜色变深。
如果希望具有这些视觉效果,那么就开启这些功能吧。
<============== 无关主题,顺便一提 结束 ==============
- [SilkyBible] XviD系列-7
- [SilkyBible] XviD系列-1
- [SilkyBible] XviD系列-2
- [SilkyBible] XviD系列-3
- [SilkyBible] XviD系列-4
- [SilkyBible] XviD系列-5
- [SilkyBible] XviD系列-6
- [SilkyBible] XviD系列-8
- [SilkyBible] XviD系列-9
- [SilkyBible] XviD系列-10
- [SilkyBible] XviD系列-11
- [SilkyBible] XviD系列-12
- [SilkyBible] XviD系列-13
- [SilkyBible] XviD系列-14
- [SilkyBible] XviD系列-15
- [SilkyBible] XviD系列-16
- [SilkyBible] XviD系列-17
- [SilkyBible] XviD系列-18
- Delphi利用多线程创建系统服务
- [SilkyBible] XviD系列-6
- bnu1060 寻找最圆满的生活 C语言版
- [VB.NET]请问如何从OpenFileDialog中读取所有文件名到Listbox
- bnu1061 古墓丽影 C语言版
- [SilkyBible] XviD系列-7
- [VB.NET]询异步socket通信完善的例子.
- bnu1063 聪明的辉蛋 C语言版
- [VB.NET]求支持ole的菜单命令代码!60分答谢!
- [SilkyBible] XviD系列-8
- [VB.NET]怎样将datagrid的数据导出到datadset
- 学习LUA,使用IUP进行GUI程序设计
- [VB.NET]如何把Access 2007 ODBC驱动提出来安装到,其它机器上呢?
- bnu1064 爱运动的辉蛋 C语言版