回顾高清视频的发展之路,可以说GPU高清解码完全是随着高清视频的发展而发展的。早在Geforce 6时代,GPU就集成了专门的高清视频解码模块,当时高清视频在国内才刚刚萌芽。随着高清视频的发展,GPU的高清解码技术也随之向前推进,现在的显卡已经完全可以实现硬件解码任何高清视频。
但是,对于绝大部分普通用户来说,使用显卡进行高清视频解码时,解码器的复杂设置仍然是一大难题,在很多时候我们都可能遇到对于不同编码格式的视频进行解码,需要反复的对解码器进行调校设置,有时候对于专业用户来说都是一大难题,更不说普通用户。难道,就没有办法改变这个局势吗?答案显然是否定的!
日前,CUDA解码技术正式推出,GPU高清视频解码步入了流处理器解码时代,和以往任何解码技术都不同,CUDA解码技术直接调用GPU中的流处理器进行解码运算,而之前一直是调用GPU中相应的专用视频解码模块。看起来,这样的说法非常拗口,而且非常难以理解,不用着急,下文我们就将深入浅出的来为你解释这一切!
大家知道,在早期视频的解码工作一直都是依靠CPU来完成,显卡只是负责解码后视频数据的输出。而高清视频开始出现之后,NVIDIA和ATI都纷纷推出了利用GPU进行高清视频解码的技术。想必对这方面比较了解的朋友来说,PureVIDEo-HD和AVIVO-HD这两个词都不会感到陌生。GPU视频解码的诞生就是为了解决因为高清视频运算量大,中低端CPU根本跑不动的问题,而且显卡的价格相对于CPU来说也更加便宜,用户投资更小。
在Geforce 6时代、Geforce7以及Geforce 8800时代,NVIDIA第一代高清视频解码技术出现,从那时开始,GPU内集成了专门用于视频解码的模块——VIDEo Processor,一直到现在为止,GPU内都还有这个模块。NVIDIA第一代高清视频解码可以执行视频解码过程中的后面两个步骤,由于运算量最大的步骤依然是CPU在进行处理,故虽然从一定程度上分担了CPU的任务,但CPU占有率依然很高,并不成熟。
PureVIDEo HD第一代(Geforce 7)只能执行解码过程中的后两步,到了Geforce8600,8500&8400时代,H.264视频已经可以为完全硬解,VC-1视频可以执行前三个步骤;G98之后的GPU均可实现H.264、VC-1完全硬解码
到了G8x(不包括G80)时代之后,NVIDIA在GPU中加入了VP2(第二代VIDEo Processor)模块,实现了H.264视频的完全硬件解码。但是,对于VC-1视频却无法完全硬解,视频解码的第一个步骤——Bitstream Processing(比特流处理)仍然必须由CPU来处理,而这个步骤恰好是最消耗资源的一步;所以,NVIDIA在G98之后改进了BSP(专门用于执行比特流处理运算)引擎,使其能够完全硬件解码VC-1,至此,N卡高清视频解码看似已经完美了。
然而在实际的使用过程中,使用GPU进行高清视频解码却经常会出现这样那样的问题,特别是由于解码器设置不当,导致播放视频的时候出现不能硬解、或者视频明显不正常的情况出现,特别是一些比较老的高清视频,非常容易出现这样的问题;另外,H.。所以,对于高清视频解码时解码器的设置就成了很多用户非常头疼的一件事情。不管是NVIDIA的显卡,还是ATI的显卡,都有可能出现这些问题。