您的位置:首页 > 编程语言 > Qt开发

2006主流视频codec性能评测报告

2006-12-29 11:06 796 查看

2006主流视频codec性能评测报告

PeterLee
[前言]
 
站在2006年的岁末回顾这一年视频领域发生的大事记,首当其冲的自然是google以16.5亿美元的高价收购YouTube的事件,这一个体的事件代表的是2006年视频分享网站如雨后春笋般蓬勃发展的大局面。视频分享网站的出现,打破了视频源通常来自于电视台、电影公司等主流媒体渠道的旧局面,实现了草根网民制作及共享视频的愿望,同时共享视频的数量也在节节攀升。面对如此洪水泛滥般的视频资源,首要解决的技术问题就是视频源的高效压缩问题。视频源的压缩和解压,即编解码,又语codec,本文就来评评2006年主流视频codec的性能高低。
 
一、codec介绍
1. x264
X264是国际标准H.264的编码器实现,是一个开源encoder。得益于H.264的高效压缩性能,加之于x264的高效(编码速度快)实现,x264目前被广泛应用于DVDrip领域。目前常用的对应解码器是CoreAVC decoder 及ffmpeg的libavcodec。
相关网址:http://www.videolan.org/x264.html 
参评版本:x264 video codec revision 613 (http://x264.nl/)
 
2. DivX
MPEG4标准,在MS MPEGV3的基础上实现的MPEG4 codec,早期版本开源,后期版本是商业codec。
参评版本:version 6.40
 
3. XviD
MPEG4标准,基于DivX早期开源版本。广泛应用于DVDrip。
相关网址:http://www.xvid.org/
参评版本:version 1.1.2
 
4. WMV9/VC-1
VC-1的由来:为了进军全球的消费电子、电影及电视广播市场,微软向美国电影与电视工程师协会“捐赠”了其专有的WMV9(Windows Media Video 9)视频编码标准,WMV9摇身一变成了国际标准VC-1。
参评版本:Windows Media video 9
 
5. Real
注:Real从version 9.0开始启用了新名称Helix。
参评版本:Helix_Producer_Plus_9.0.1
 
6. quicktime
目前网上流行的高清电影预告片,或称片花、trailer,大多是quicktime格式的。Quicktime只是容器格式,其后缀为.mov或.qt,而其采用的视频codec是sorenson codec pro 3,也就是说网上流行的高清片花大多是sorenson codec pro 3压缩的。
注:quicktime7中增加了自主开发的H.264编码器。
参评版本:Sorenson Squeeze Compression Suite 4.0.301.11 + QuickTime v7.0.4
 
7. On2 VP6/7
06年极为火爆的视频分享网站基本上采用了flash version 8的视频解决方案,而flash version 8采用的就是On2 VP6的视频codec。
注:早期的flash视频采用 Sorenson 公司的 Spark 编码器,音频采用 MP3,质量比较差。
参评版本:On2 VP6 codec
 
8. AVS
虽然目前AVS和主流这个词还挂不上钩,但作为中国唯一的自主产权的音视频编码标准,我们国人自然要坚决地顶它了,希望AVS一路辉煌,恩泽于民。
参评版本:校验模型rm52c
 
二、评测环境:

硬件环境
Dell机
CPU: Celeron 2.8G,
RAM: 1G DDR
软件环境
OS: Windows XP SP2
 
三、压缩性能
1. 高码率情况(应用:HDTV, DVDrip等)
a、测试序列:
Mobcal序列(JVT高清测试序列),分辨率1280*720,25fps, 500frames,未压缩。



图1  Mobcal序列首帧
 
b、编码器设置:
输出帧率:25fps
目标码率:2Mbps, 目标文件大小:5,000KB左右
 
1 各个codec的编码设置

codec
编码设置
X264
vbr, 2 pass, 输出格式为mp4
DivX
Profile: High Definition, 2 pass,
XviD
Profile: HDTV, 2 pass,
WMV9
Main Profile, 2 pass, vbr
Real9
Video mode: Normal motion, 2 pass, vbr
Quicktime
2 pass, vbr, sorenson video pro 3
VP6
Advanced Profile, 2 pass
 
c、测试结果:
2 高码率情况测试结果

codec
X264
DivX
XviD
WMV9
Real9
Quicktime
VP6
File size (KB)
5,011
4,788
2,795
7,751
5,169
5,010
4,835
1st pass time(s)
150
58
65
/
/
/
210
2nd pass time(s)
130
50
66
/
/
/
147
Total time(s)
280
108
131
238
226
200
357
主观质量
☆☆☆☆☆





☆☆











☆☆☆





☆☆☆☆





☆☆





☆☆☆





综合评价
☆☆☆☆☆
 
☆☆
 
☆☆
☆☆☆
☆☆☆☆
 
☆☆
☆☆☆
 
 
d、小结
(1) 平滑过渡纹理(如船身)的处理能力:
好:X264, ,real, qt
差:divx, xvid, wmv9, vp6
 
(2)奇异纹理(如挂历上的文字)的处理能力
好:X264, wmv9, real
差:divx, xvid, qt, vp6
 
2. 低码率情况(应用:PC视频聊天,网络视频分享,视频新闻)
a、测试序列:
Silent序列,分辨率cif,30fps, 300frames,未压缩。



图2 Silent序列首帧
b、编码器设置:
输出帧率:15fps
目标码率:120kbps, 目标文件大小:150KB左右
 
3 各个codec的编码设置

codec
编码设置
X264
1 pass, no cabac
DivX
Profile: Portable , 1 pass
XviD
Profile: Portable, 1 pass,
WMV9
Main, cbr
Real9
Video mode: Normal motion, 1 pass, cbr
Quicktime
1 pass, cbr, sorenson video pro 3
VP6
Advanced Profile, cbr
AVS
Qp=39,IPPP
 

c、测试结果:
4 低码率情况测试结果

codec
X264
DivX
XviD
WMV9
Real9
Quicktime
VP6
AVS
File size (KB)
149
982
998
171
152
166
968
154
PSNR (dB)
33.57
29.5
30.3
32.8
/
/
29.8
33.03
主观质量
☆☆☆☆☆











☆☆



☆☆☆☆



☆☆



☆☆☆



☆☆



综合评价
☆☆☆☆☆
 

 

 
☆☆☆
☆☆☆☆
 
☆☆☆
☆☆
 
☆☆☆
 
3. 极低码率情况(应用:2.5G下的手机视频聊天)
a、测试序列:
Silent序列,分辨率qcif,30fps, 300frames,未压缩。
 
b、编码器设置:
输出帧率:5fps
目标码率:20kbps, 目标文件大小:30KB左右
 
5 各个codec的编码设置

codec
编码设置
X264
1 pass, no cabac
DivX
Profile: Handheld , 1 pass
XviD
Profile: Handheld, 1 pass,
WMV9
Simple profile, cbr
Real9
Video mode: Normal motion, 1 pass, cbr
Quicktime
1 pass, cbr, sorenson video pro 3
VP6
simple Profile, cbr
AVS
Qp=39,IPPP
 

c、测试结果:
6 极低码率情况测试结果

codec
X264
DivX
XviD
WMV9
Real9
Quicktime
VP6
AVS
File size (KB)
27
74
82
86
30
37
68
25
PSNR (dB)
33.33
 
 
 
 
 
 
32.61
主观质量
☆☆☆☆







☆☆



☆☆☆



☆☆☆



☆☆



☆☆



☆☆☆



综合评价
☆☆☆☆☆
 

 

 
☆☆
☆☆☆☆
 
☆☆☆
☆☆
 
☆☆☆☆
 
四、屏幕录制视频的压缩
a、测试序列:
用snagIt录制的一段视频,分辨率640*480,5fps, 23second,未压缩。



图3 屏幕录制视频snap帧
 
b、编码器设置:
输出帧率:5fps
目标码率:450kbps, 目标文件大小:1,250KB左右

 
7 各个codec的编码设置

codec
编码设置
X264
vbr, 2 pass, 输出格式为mp4
DivX
Profile: unconstrained , 2 pass, enable global me
XviD
Profile: unrestricted, 2 pass, enable global me
WMV9
Main Profile, 2 pass, vbr
Real9
Video mode: Sharpest Image, 2 pass, vbr
Quicktime
1 pass, cbr, sorenson video pro 3
VP6
Heightened sharpness Profile,
 
c、测试结果:
8 屏幕录制视频源测试结果

codec
X264
DivX
XviD
WMV9
Real9
Quicktime
VP6
File size (KB)
1,362
3,074
6,024
1,428
1,100
1,195
3,134
主观质量
☆☆☆☆☆



☆☆☆



☆☆☆☆☆







☆☆☆







☆☆☆☆



综合评价
☆☆☆☆☆
 
☆☆
 
☆☆☆☆

☆☆☆☆
 
☆☆
☆☆☆☆
 
 
d、小结
计算机屏幕上窗口、按钮、文字等元素都属于计算机图形学的范畴,因此屏幕录制视频本质上来说是图形元素的组合,而现在将运动图像的编码器用于计算机图形的压缩,当然会遇到很大的挑战。计算机屏幕和自然图像之间存在很大的不同,它的轮廓性极强,文字或线条和背景的相关性极弱。对于屏幕录制视频的压缩,最容易出现的问题就是将背景颜色部分覆盖到文字上,导致文字断裂或模糊。下面就简单评述各个codec的压缩效果。
X264
不管是静止帧还是滚动或切换帧,质量都非常好,字体非常清晰。
不过,需要一提的时,画面中的有些颜色没有表现出来,如上面主观质量测试一栏,“软件评测”四个字的底色本来是灰色的,但x264压缩的结果是白色的。虽然如此,但主观效果上来看,x264的压缩效果是最棒的。
DivX
对于word窗口(白底黑字)画面的压缩效果非常好,质量和x264相近。
但对于网页画面,压缩效果差,文字出现了混合色,参见上面主观质量测试一栏中的“软件评测”四个字。
XviD
质量同x264,就是压缩文件过大。
WMV9
静止帧的压缩质量可以接收。运动帧的压缩效果奇差,如下图所示:



图4 WMV的压缩效果
Real9
存在略微的模糊和文字断裂,总体上看,压缩质量还是可以接收的。
Quicktime
静止帧的压缩效果非常好,非常清晰,超过了x264;但滚动帧的压缩质量很差,文字倒没有断裂,但是背景上有很多杂色,而且网页画面上的文字也比较模糊。见下图示例:



图5 Quicktime的压缩效果
 
VP6
压缩质量略逊于x264,存在略微的文字模糊。
AVS
由于压缩速度很慢,未进行测试。
 
五、结论
1、高码率情况
非常好:x264
好:real
中等:vp6, wmv9,
差:divx, xvid, qt(Sorenson 3)
Note: 测试中,xvid的编码质量不好,与其带宽偏低有很大关系。
 
2、低码率和极低码率的情况
非常好:x264
好:real, avs
中等:vp6, wmv9, qt(Sorenson 3)
差:divx, xvid
 
 
3、屏幕录制视频的压缩
非常好:x264
好:xvid, real, vp6
差:divx, qt(Sorenson 3)
极差:wmv9
NOTE: WMEncoder9中有screen capture profile,但此次测试中用WMEncoder9对录制源进行压缩时发生失败,故没能对screen capture profile进行测试验证。
 
4、码率控制能力
好:x264, wmv9, real, qt
中等:vp6
差:divx, xvid, avs(note: avs的码率控制算法存在缺陷,测试中没有采用)
 
综上所述,x264一款全能的、高效的codec,可以称得上codec中的王者;real次之,而且也是全能的;其次是vp6,各方面表现都比较中等;Wmv9和quicktime对自然图像序列的压缩效果还不错,但对于屏幕录制视频的压缩效果很糟糕;xvid优于divx,两者在压缩性能上的表现同x264有一定的差距,即代表了MPEG4同H.264的差距;avs的测试不太全面,但隐约的能反映出其编码效率还是不错的,只不过配套的一些工具还没做好,如码率控制等等,AVS走向市场化,还需要进一步的努力。
 
 

<script type="text/javascript">
google_ad_client = "pub-7168982058404735";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_color_border = "C3D9FF";
google_color_bg = "FFFFFF";
google_color_link = "3D81EE";
google_color_text = "000000";
google_color_url = "008000";
google_ui_features = "rc:0";
google_language = 'zh-CN';
//-->
</script><script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息