首页 > 范文大全 > 正文

三足鼎立 硬件视频编码谁更优

开篇:润墨网以专业的文秘视角,为您筛选了一篇三足鼎立 硬件视频编码谁更优范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

随着全高清视频拍摄设备的不断大众化,用视频记录身边的精彩更为方便,因此视频编辑以及重编码也开始成为了人们日常生活的一部分,有效加速电脑这方面的性能也成为了各大硬件厂商和软件厂商的热门课题。

在英特尔推出的第二代智能酷睿i系列处理器(Sandy Bridge处理器)后,能够通过显示核心进行视频硬件编码功能的产品又多了一个,分别是是NVIDIA的CUDA、AMD的Stream以及英特尔的Quick Sync Video。关于前两者之间我们已经有一定的认识,而作为后来者,英特尔也有重点宣传的Quick Sync Video性能又会如何呢?而视频编码的质量又会如何呢?我们将细细道来。

目前能够同时支持以上三种不同硬件视频编码软件并不多,其中来自CyberLink的MediaEspresso 6应该算是相对成熟、用户群体较多的一款产品,也是本次用于横向对比所使用的软件。而关于硬件方面,为了得到更为统一的硬件系统,处理器方面我们采用了最新的Core i5 2500K,主板方面则是最新上市的昂达H61U魔固版,2GB×2的DDR3 1333内存;在AMD的Stream方面我们采用的是HD6970显卡,而对应的CUDA独显采用了GeForce GTX480显卡,并且为了更进一步考察CUDA性能和GPU核心数量相关性,我们还加入了最新推出的GeForce GT520显卡(48个流处理器核心),另外,在使用独显时处理器核心显卡将完全屏蔽。

不知道是否是软件有与英特尔合作的关系,由右图中我们不但能够看到软件能够清楚分辨出硬件平台中拥有带有Quick Sync Video功能的硬件(红框标注部分),而且下方还提供了一个“更快转换”以及“更高质量”的首选项(黄框标注部分),看来如果使用英特尔Sandy Bridge处理器核显的时候还能提供两种不同的性能选择,而使用CUDA以及Stream时均没有对应选项。

按照目前需要经常使用视频编码压缩的实际应用来说,由于主流的MP4产品都能很好兼容绝大部分视频格式,因此转编码需求的大部分为使用Apple品牌以及Sony品牌产品的用户,因此本次转编码输出的文件格式统一采用了Apple iPad所支持格式,分辨率为1024×768。而两段被转码的视频均为1080p视频,分别是采用了MPG格式、长度为4分40秒的《巴西的野生动物》视频片段以及采用TS格式、长度为1分53秒的《深蓝》视频片段。

“更快转换”能更快吗?

由于在使用英特尔Sandy Bridge处理器核心显卡的Quick Sync Video功能进行编码时会出现一组首选项的设置,究竟这组设置会影像最终的结果吗?我们首先需要搞清楚这些。

在不启用硬件编码功能时,如果我们选择了“更快转换”,两段视频的转换时间分别是1分17秒和38秒,而选择了“更高质量”时则耗时1分56秒和53秒。由这组对比数据中我们发现原来选择了“更快转换”的确会带来性能的提升,而此时我们并没有启动硬件编码功能;再进一步考证究竟如果单纯使用处理器进行软件编码所需耗时时,使用GeForce GTX480独立显卡作为显示输出,屏蔽处理器核心显卡后,纯软件编码耗时分别为1分56秒和53秒,与选择了“更高质量”时完全一致,这进一步肯定了“更快转换”确实能提高性能。

性能是提升了,那画质有是否会有改变呢?

如果不能简单地从视频截图中看出明显的区别,那我们首先可以简单查看一下选择了“更快转换”以及“更高质量”之后所输出的文件大小。第一段视频的大小分别是:69.9MB和103MB,而第二段视频的大小分别是:27.3MB和40.5MB,其实由此已经能够看出一定的画质区别了,因为视频编码压缩率越高,文件的大小则越小,但是画质则越差。再对比使用GeForce GTX480独立显卡时,如果同样采用CPU编码压缩所输出的视频文件大小(103.2MB和40.6MB)就可以知道,当选择了“更快转换”后,是通过降低视频码率(提高压缩率)的方式实现更快速的转换。

降低了码率究竟会对画质有多大影响呢?

在第一段视频的对比截图中可以看到“更高质量”的视频色彩感觉有所不同,其中绿色表现更为具有生气,而且瀑布下方的树丛细节也相对较多;而第二段视频的对比截图中,色彩上的差别就更为明显了,选择“更快转换”的视频色彩的通透感有所下降,而且画面右侧水面的细节刻画也相对较少,更多的细节已经被“抹去”了,看来码率对视频效果的确存在举足轻重的影响。

性能非最优 CPU占用率取胜

使用处理器进行软件编码时,占用率高居不下,直接影像到整个平台的其它工作,因此使用硬件编码是必须的;另外,硬件编码的确能为我们带来性能的提升吗?

这一回合对比的是三家不同的硬件编码性能,用于压缩的片源保持不变,由于采用英特尔Quick Sync Video技术时有两组不同的设定,因此最终变成了“四”组横评了。

1.在使用Core i5 2500K处理器核显进行硬件编码时(选择“更快转换”),首先让我们最直接看到的是处理器占用率得到了大幅降低(处理器节能以及超频功能都关闭,核心主频一直维持3.3GHz),编码《巴西的野生动物》时平均占用率约为49%,最终耗时1分11秒;第二段《深蓝》需要更高处理器资源,占有率上升到68%,不过仅耗时28秒则完成了编码。

2.同样使用处理器核显硬件编码,只是选择了“更高质量”后,占用率都有大约5%的下降,而耗时方面则多了几秒,分别是44%、1分17秒和64%、31秒。

3.换上GeForce GTX480独显,并且打开硬件编码功能,执行相同的视频编码。第一段视频处理器占用率上升到了77%,而耗时方面则仅需1分5秒;第二段视频占用率却只需72%,耗时32秒。针对MPG编码视频,CUDA性能相当出色,超越了Quick Sync Video;而TS编码则稍稍差了一点。

4.最后上场的是AMD的HD6970独显,第一段视频耗时1分6秒,占用率约为72%;第二段视频则耗时29秒,占用率为74%。

由四组不同的硬件编码的成绩来看,相比单纯依靠处理器运算的软件编码的确能够节省一定的时间,而且最重要的是解放了不少处理器资源,满足用户其它方面的使用,使得电脑更为“多线程”。仔细留意成绩我们还发现了处理器的占用率似乎和编码所消耗的时间成反比例的关系;另外,在使用Sandy Bridge处理器核显硬件压缩时能够得到最低的占用率和并不差的整体耗时,因此单纯性能上,Quick Sync Video稍胜。

性能上是英特尔的Quick Sync Video胜出,那画质表现又如何呢?

关于输出文件的大小,无论是采用了Quick Sync Video(更高质量)、CUDA还是Stream硬件压缩,甚至对比软件压缩(更高质量),其四者所输出的文件大小都比较接近,基本可以判定视频的码率是基本一致的,因此画质的区别在于硬件压缩的“功力”了;可是之前在软件压缩中如果选择了“更快转换”所输出的文件码率较低(大小较小),但是在使用了Quick Sync Video硬件压缩后却输出了码率更高(大小较大)的文件,在尝试多个不同源文件后依旧得出相同的结果,相当奇怪。

在图组二中,前两张截图都是来自Quick Sync Video硬件压缩所得,正如使用软件解码一样,选择了“更高质量”的视频画质表现更为出色,但是两者之间的区别已经比较难区分了,因此不介意输出文件大小的用户可以选择使用硬件Quick Sync Video 硬件压缩配合“更快转换”。唯一出现问题的是使用Stream引擎的第四张截图,该截图画面上似乎被蒙上了一层黄色的轻纱一样,不但色调变得昏黄,而且整个画面的对比度也大大降低了,与其它截图有着鲜明的对比。

而图组三则是我们另外一段视频的截图,对比使用CUDA以及Stream引擎所压缩的视频来看,不知道是不是受码率整体偏低的影响,之前拥有更出色画质表现的两者,似乎在这一回合都要逊色与英特尔的Quick Sync Video,具体表现为采用CUDA压缩的视频出现了更多的马赛克方块现象,而Stream压缩出来的画面色彩依旧相对暗淡,对比度也降低了不少,白色浪花的细节更为模糊了。

8秒急速转码 不可忽略的硬件解码

我们似乎忘记什么了。没错,我们忘记了硬件解码了。无论是采用哪一种硬件编码方案,在软件的设置中都还有一项“启动硬件解码”(下页首图中黄框标注),之前一直都没有开启的,如果开启又能不能带来性能的提升呢?

虽然不启动硬件编码功能,仅启动硬件解码可能不能带来处理器占用率方面的优势,我们还是做了这部分的测试,因此这部分一共列举出了六组不同配置和设置下的处理器占用率和最终编码耗时的情况。

1.软件编码+更快转换:一如前面的预测,两段视频编码时处理器的占用率并没有发生明显的变化,同样维持在99%和94%左右;不过转码耗时方面有一定的提升,分别仅耗时1分4秒和22秒,看来硬件解码的确有潜力。

2.软件编码+更高质量:这组测试的结果有点让人摸不着头脑,处理器占用率方面两段视频都有了不同程度的下降,但是97%和92%的占用率还是偏高。而耗时方面,第一段视频耗时2分钟,比不使用硬件解码消耗更多时间了;相反的是第二段视频却仅用了47秒,相比之前耗时有更短了,奇怪……

3.硬件编码+更快转换:优势终于凸显出来了,在同时开启硬件编码和硬件解码后,处理器的占用率降到了一个相当满意的程度。第一段视频占用25%,耗时1分10秒;而第二段占用28%,而耗时仅仅8秒。没错,的的确确的8秒,转码一段1分53秒的TS格式视频仅需8秒。

4.硬件编码+更高质量:即便这次选择了“更高质量”,整体的成绩也是令人相当满意的,不但占用率再次降低到20%和24%,耗时方面也没有增加多少,1分14秒和10秒的成绩也是其它硬件解码、编码引擎所望尘莫及的。

5.GeForce GTX480硬件编码:有成绩看来,硬件解码的开启并不能为CUDA引擎带来任何的性能提升,相反可能是解码占用了部分资源,转码耗时增加到了1分9秒和33秒。幸好的是几秒中的时间增加却换来了超过20%的处理器占用率下降,其中编码TS格式视频时更是降低到了20%。

6.AMD HD6970硬件编码:最后上场的HD6970给出了一个和GeForce GTX480十分相似的结果,转码耗时增加,占用率却下降了不少,只是HD6970的幅度更为明显,其中转码TS格式视频是占用率仅为14%,是所有产品中表现最出色的。

而在其后的视频转换质量上,是否开启硬件解码功能并没有明显的影响,至少笔者在截图上也难以察觉区别。

硬件解码并非全能

在撰写本文之初并没有加入GeForce GT520独立显卡,但是考虑其是最新产品并且仅配置了48个CUDA核心,相比GTX480的480个CUDA核心,在使用CUDA进行硬件压缩会有多大的性能区别呢?

原来进行如此复杂的视频编码工作是并不需要使用所有的CUDA核心的,在压缩第一段视频方面,1分30秒的成绩虽然比GTX480耗时更长,但是却换来了更低的56%处理器占用率,又一次和前面耗时与占用率成反比的关系吻合;但是第二段视频的成绩却和GTX480所得成绩几乎一致,这很可能是与原始视频的编码有关系,为证实这一点,我们再次开启了视频硬件解码功能。惊人的结果出现了,在同时开启硬件解码和编码功能后,虽然处理器的占用率都出现了大幅度的下降,其中第二段视频(TS格式)的编码耗时依旧约为30秒,但是第一段视频(MPG)则一共耗时4分35秒,远远超出我们的预计。由此估计硬件解码和编码都需要使用CUDA核心,但是对于MPG格式视频来说,CUDA核心的解码能力相对较差,因此才会出现这样的效果;而拥有10倍CUDA核心数量的GTX480则弥补了这方面的性能缺陷。

总 结

单纯就英特尔的Quick Sync Video技术来说,视频硬件编码的性能是相当令人满意的,特别是同时使用硬件解码和编码,处理一段近2分钟的TS视频仅需10秒,效率惊人。

画质表现方面,英特尔的Quick Sync Video技术还是以一点点的优势胜出了。或许有读者质疑对比将横宽1920像素的视频压缩成1024像素再对比画质并没有多大意义。的确,对比低分辨率的画质意义并不大,但是作为视频转码,很多情况下就是进行这样一种“压缩”工作,因此作为实例比较还是有一定意义的;而作为高质量视频重编码(H.264格式、1920×1080分辨率、13Mbps、30fps),我们也做了相关的测试,三者的差距十分微小, CUDA所编码的画面对比度更高,优于Stream,而Quick Sync Video所编码视频的暗补细节则稍逊色与前两者;但是使用英特尔的Quick Sync Video技术则能获得最好的性能表现,耗时最短,因此英特尔的Quick Sync Video技术还是值得肯定的。

(注:本文中所有视频截图均采用暴风影音视频播放软件,针对视频中尽量相同的帧进行截取的,而且除裁切以外没有经过任何的修改。)