AVIVO HD与PUREVIDEO HD技术对比介绍(下)
可以看出,AMD上一代的高清视频硬件解码技术并不完美,到了HD 2000系列,Radeon HD 2600系列(RV630),Radeon HD 2400系列(RV610)图形芯片当中集成专门的UVD硬件单元(通用视频解码器),完全负责硬件加速处理Bitstream Processing( 码流处理)和Entropy Decode(熵解码),由Shader着色单元来硬件加速Frequency Transform(频率转换)、Pixel Prediction(像素预测)和Deblocking(环内 解块滤波)过程,即Avivo HD。
NVIDIA早在GeForce 6时代就开始引入HD视频解决方法-PureVideo,实现硬件加速,其实其原理就是通过驱动利用可编程GPU的空闲运算能力对编码进行加速,实际上这并非完整的硬件解码,有相当一大部分是GPU通过软件来完成,但不论如何很大程度的分担了CPU的压力。 并且在画质上也有一定的改观。
前代的PureVideo的硬件组成部分只有一个VP(视频处理器,Video Processcor),并且这个VP的处理能力以及性能还是比较低下。到了G84,NVIDIA在GPU里不仅重新设计了一个功能更强强大的新的视频处理器,并且增加了一个 熵解码处理器引擎,NVIDIA称为BSP ENGINE(Bitstream Processcor ENGINE)。新的视频处理器(NEW VP或者是VP2)可以对MPEG-2,VC-1,H.264进行实时解码,包含了最近比较流行的第三代视频编码。而Bitstream Processcor ENGINE则主要针对H264的CABAC/CAVLC这两种 熵编码进行解码。
前面说过H.264标准采用的熵解码有两种:一种是基于内容的自适应变长编码(CAVLC)与统一的变长编码(CAVLC)结合;另一种是基于内容的自适应二进制算术编码(CABAC),也就是 主要档次。CAVLC与CABAC根据相临块的情况进行当前块的编码,以达到更好的编码效率。CABAC比CAVLC压缩效率高,但要复杂一些,对硬件要求会更高一些。 CABAC (CAVLC 也同样)是一个不会损伤画面的无损编码,但是会降低编码和解码的速度。
初步看之下PUREVIDEO HD以用AVIVO HD都拥有了完整的硬件解码功能,事实上则不然,两家在对视频编码的支持上有一些出入。
首先就是两家视频加速技术对MPEG2的并非全硬件解码,相当多的一部分交给了CPU去软解压,这一点上相信没有多少人会有异议,毕竟MPEG2本身对硬件损耗就非常低,再通过部分硬件解码,其CPU占用率已经降得相当低的一个地步,这在我们后面的测试中也得到证实。
而在对相当损费资源的H.264编码时,两家也采用了统一的态度,完全的硬件解码,彻底解放CPU瓶颈,这使得H.264在两家新显卡上解码不再是问题。
另外,对于VC-1,ATI/AMD和NVIDIA的态度就有所差异了。ATI/AMD认为,VC-1作为和H.264新一代HDTV标准编码,同时又有比较高的CPU占用率,所以仍然采用与H.264一样的全程VC-1解码(这也就是为何2600xt集成如此多晶体管的一个原因);而NVIDIA则认为,VC-1尽管占用比较高,但进行部分解码之后,低端CPU仍然能胜任解码工作,并且随着CPU主频的提升,这一状况会得到缓解。另外NVIDIA同时也认为,现在主流CPU即使软解也才70%的CPU占用,再加上PUREVIDEO HD分担一部分后则仅有40%左右的占用,在不进行其它大型任务的情况下,与0%CPU占用没有任何区别。
这一点上是仁者见仁智者见智,按照笔者个人看法,所有硬解码在未来都会给软解码所代替,而现在笔者即使是在解码CABAC 40m码率的片源时使用采用软解码,就为了保证画质以及可以随心换解码器;另外一方面,有总比没有好,哪天笔者要是没了3.6G的Conroe,使用一颗Athlon64 3000+时,带有全程解码VC-1以及H264的AVIVO HD显然会更好一些。