自从ATI的R520和NVIDIA的G70系列产品发布之后,可编程着色器构架和大型浮点运算的吞吐量已经越来越受到专业领域的重视。这完全得益于GPU相对于CPU在处理数据流和并行计算时的先天优势——GPU在高性能计算和物理模拟等科学领域已经打开一片新天地。
而目前NVIDIA凭借CUDA技术在
GPGPU通用计算领域内掀起一阵旋风,不过就在近AMD推出了支持通用计算的桌面版显卡催化剂——8.12。对普通用户来说,催化剂8.12大的功能就是让GPU参与转码工作,提高转码效率。而与之对应的Badaboom(基于
NVIDIA CUDA技术开发)同样具备类似功能。那么两者孰优孰劣呢,笔者正好做了相关测试,以供大家参考。
AMD催化剂8.12中不仅会自动打开AMD相关显卡的流加速(Stream Acceleration)技术,同时还附带了一款软件——ATI Avivo Video Converter。用户可以利用ATI Avivo Video Converter以更快的速度进行多种格式的标清、高清视频之间的转码,如支持MPEG-2和H.264格式的影片转码,支持Full HD 1080p输出编码的影片格式。可以说,Avivo Video Converter在影片支持规格上比
Badaboom更为丰富。
Avivo Video Converter与Badaboom支持影片规格对比列表 | ||
|
Avivo Video Converter |
Badaboom |
QVGA(iPod/iPhone/PSP) |
√ |
√ |
H.264 |
√ |
√ |
1080P 输入(解码) |
√ |
√ |
MPEG-2(蓝光和DVD标准) |
√ |
× |
1080p Full HD视频输出(编码) |
√ |
× |
获得方式 |
免费 |
30美元 |
另外,在对显卡的支持度方面,Badaboom比Video Converter做得更好。G80以后的NVIDIA显卡对Badaboom支持都不错。从催化剂8.12的Release Notes来看,Video Converter目前只支持
AMD Radeon HD 4600/4800系列显卡。不过由于Avivo Video Converter是随驱动程序发布的,因此完全免费。而Badaboom需要支付30美元的费用(玩家可以自行破解)。总的来看,通过对比两款软件的基本规格和价格,可以发现ATI Avivo Video Converter占有很大优势。但是实际转换效率和效果究竟如何,可以支持哪些格式呢?下面我们来看看两款软件的操作方法以及实际测试。
Badaboom的图形界面非常简单(图1),界面左面、中间和右面分别是源文件、转换设置和输出结果的相关设置。值得注意的是,Badaboom在输出时显示的是直接对应的设备,例如
iPhone,而不是相对繁琐的文件格式和编码格式,利于用户尽快上手。并且,它似乎非常青睐苹果相关产品,均可以直接输出成iPhone、iPod系列产品以及Apple TV。当然Xbox 360、索尼PS3、
PSP和基于PC的家庭影院PC(例如提供给Windows Media Center播放的文件)也在输出之列。
图1
在默认状态下, Badaboom运行在“Basic(基本)”模式,这一模式下提供了一个独立的滚动条来调整图像质量(从“小文件”到“高品质”之间进行调节)。当选择了“Advanced(高级)”后,你可以手动选择一些比较常见的选项,包括视频编码的码率、关键帧、静态或者动态比特率和分辨率等更多内容(图2)。一旦完成设置,只需要按下“Start(开始)”按钮,软件就会开始转码。
图2
这里需要注意的是,对于以DVD作为源进行编码的操作,软件只允许编码私人的或者家用摄像机制作的DVD进行编码转换。至于零售DVD产品,首先必须将DVD光盘里的所有文件复制到硬盘驱动器,然后通过访问“Browse VIDEO_TS Folder”选项才能设置好源。
图3
同时,用户可以选择目录和章节进行编码(图3)。对于只想把DVD光盘中部分内容转换成视频文件的用户来说,这是一个非常有用的功能。但是,Badaboom仅支持从MPEG-2或H.264编码格式作为源,并且只能转换成H.264编码格式,也不能把DivX、MPEG-4和Windows Media等格式作为输出和输入文件。这对于这款软件的应用来说是十分不利的。
Avivo Video Converter的界面是一个典型向导的格式,用户需要一步步确认,直到转换过程开始(图4)。
图4
与Badaboom相比,Video Converter可以支持更多类型的视频文件输入,包括DVD、WMV、MPEG-2 、MPEG-1、MPEG-4 DivX和iPod支持的格式等,这是Badaboom不能相比的。用户只需要点击“Select Source”按钮来选择源文件,一旦该文件被加载,应用程序会尝试显示它的规格(不过有时信息并不准确)(图5)。
图5
接着可以手动设置输出的文件格式(图6),同时随着选择的输出文件格式不同,程序还会自动对文件名进行调整。在可选项中除了非常丰富的文件格式外,还包括了能够预览输出的文件大致容量、码率等信息(图7)。
图6
为了控制视频文件的大小和质量,Avivo Video Converter也提供了一个滚动条在高画质和低画质之间进行调节,伴随而来的是在文本框中码率和文件大小的变化。对比同一个视频高和低画质的容量,可以发现可调节的范围非常大。
图7
当点击“Start Over”按钮后就可以开始转码了,完成后软件也会提供一个界面用于打开输出文件或者直接播放输出文件来确认转码的结果(图8)。
图8
主要测试平台 | |
处理器 |
Intel Core 2 Quad QX9650 OC 4GHz |
主板 |
华硕Rampage Formula |
内存 |
OCZ DDR2 1066×2 2GB |
显卡 |
七彩虹IGame Radeon HD 4850、 |
在平台的选择上,笔者选择了市售中高端配件,例如超频至4GHz的QX9650和在散热、超频以及性能都超过公版产品的七彩虹IGame Radeon HD 4850,力求减少平台的影响对测试造成的瓶颈。具体测试方法是,使用相应编码格式的一段780kbps的视频作为源,从蓝光到iPod、从DVD到
iPod、从MPEG2到iPod以及从蓝光到WMV(由于Badaboom不支持输出成WMV,因此没有成绩)进行转码。对比Radeon HD 4850(使用ATI Avivo Video Converter)、GeForce 9800 GTX+(使用Badaboom)以及QX9650纯CPU软件编码(使用Xilisoft Converter)在进行上述不同格式转码的时间,时间越少越好。
图9
图10
图11
图12
实际测试来看(图9、图10、图11、图12),使用Avivo Video Converter进行转码的时间远远少于Badaboom,无论是在哪个测试项目上,成绩都非常突出。由于没有GPU辅助,利用QX9650进行转码的时间大大多于Video Converter和Badaboom。不过在测试中有两个问题值得注意,一、在使用Avivo Video Converter转码时的CPU占用率明显高出Badaboom(图13、图14)。
图13:使用Avivo Video Converter转码时的CPU占用率
图14:使用Badaboom转码时的CPU占用率
笔者估计这是AMD和NVIDIA在相关设计上的不同,毕竟AMD是“CPU+GPU”的厂家,更多考虑的是如何充分调动CPU和GPU的能力,所以转码效率更高,但是较高的CPU占用率确实会影响到其它任务的运行;二、在查看转换后的视频时,Avivo Video Converter转换出来的视频容易出现“马赛克”(图15)。而使用Badaboom转换出来同样的视频,画质则比较完好(图16)。所以,建议用户使用Avivo Video Converter转码完毕后需要对输出的视频再次进行确认。
图15
图16
Avivo Video Converter与Badaboom优缺点对比列表 | ||
|
Avivo Video Converter |
Badaboom |
支持文件格式 |
多 |
少 |
转码效率 |
高 |
低 |
转码质量 |
较差 |
基本完好 |
CPU占用率 |
高 |
低 |
从目前来看,GPGPU通用计算是未来GPU发展的一个重要方向。通过测试我们可以看到,只使用CPU进行编码格式的转变会耗费大量的时间,而一旦GPU参与工作以后,时间便成倍地缩短,无疑会提高转码的效率。利用GPU硬件加速参与解码,这也将是以后影音转码的一个趋势,GPU将会承担更多的任务。另一方面,在驱动程序中集成Stream技术和Avivo Video Converter软件,提供了另一种GPGPU通用计算方案,AMD的这种另辟蹊径的做法值得肯定,这种贴近桌面应用的解决方案,广大用户是不会拒绝的。并且测试表明,Avivo Video Converter在支持输入输出文件格式和转码时间两方面都对Badaboom保持了绝对优势,但视频转码以后的马赛克问题是Avivo Video
Converter的硬伤。笔者认为,NVIDIA在Badaboom中增加更多的视频编码格式和提高转码效率以及AMD解决Avivo Video Converter转码容易出现马赛克和CPU占用率过高的问题后,用户会得到更多由GPGPU通用计算带来的好处,才会放心大胆地使用这些功能。