回顧高清視頻的發(fā)展之路,可以說GPU高清解碼完全是隨著高清視頻的發(fā)展而發(fā)展的。早在Geforce 6時(shí)代,GPU就集成了專門的高清視頻解碼模塊,當(dāng)時(shí)高清視頻在國內(nèi)才剛剛萌芽。隨著高清視頻的發(fā)展,GPU的高清解碼技術(shù)也隨之向前推進(jìn),現(xiàn)在的顯卡已經(jīng)完全可以實(shí)現(xiàn)硬件解碼任何高清視頻。
但是,對(duì)于絕大部分普通用戶來說,使用顯卡進(jìn)行高清視頻解碼時(shí),解碼器的復(fù)雜設(shè)置仍然是一大難題,在很多時(shí)候我們都可能遇到對(duì)于不同編碼格式的視頻進(jìn)行解碼,需要反復(fù)的對(duì)解碼器進(jìn)行調(diào)校設(shè)置,有時(shí)候?qū)τ趯I(yè)用戶來說都是一大難題,更不說普通用戶。難道,就沒有辦法改變這個(gè)局勢(shì)嗎?答案顯然是否定的!
日前,CUDA解碼技術(shù)正式推出,GPU高清視頻解碼步入了流處理器解碼時(shí)代,和以往任何解碼技術(shù)都不同,CUDA解碼技術(shù)直接調(diào)用GPU中的流處理器進(jìn)行解碼運(yùn)算,而之前一直是調(diào)用GPU中相應(yīng)的專用視頻解碼模塊。看起來,這樣的說法非常拗口,而且非常難以理解,不用著急,下文我們就將深入淺出的來為你解釋這一切!
大家知道,在早期視頻的解碼工作一直都是依靠CPU來完成,顯卡只是負(fù)責(zé)解碼后視頻數(shù)據(jù)的輸出。而高清視頻開始出現(xiàn)之后,NVIDIA和ATI都紛紛推出了利用GPU進(jìn)行高清視頻解碼的技術(shù)。想必對(duì)這方面比較了解的朋友來說,PureVIDEo-HD和AVIVO-HD這兩個(gè)詞都不會(huì)感到陌生。GPU視頻解碼的誕生就是為了解決因?yàn)楦咔逡曨l運(yùn)算量大,中低端CPU根本跑不動(dòng)的問題,而且顯卡的價(jià)格相對(duì)于CPU來說也更加便宜,用戶投資更小。
在Geforce 6時(shí)代、Geforce7以及Geforce 8800時(shí)代,NVIDIA第一代高清視頻解碼技術(shù)出現(xiàn),從那時(shí)開始,GPU內(nèi)集成了專門用于視頻解碼的模塊——VIDEo Processor,一直到現(xiàn)在為止,GPU內(nèi)都還有這個(gè)模塊。NVIDIA第一代高清視頻解碼可以執(zhí)行視頻解碼過程中的后面兩個(gè)步驟,由于運(yùn)算量最大的步驟依然是CPU在進(jìn)行處理,故雖然從一定程度上分擔(dān)了CPU的任務(wù),但CPU占有率依然很高,并不成熟。
PureVIDEo HD第一代(Geforce 7)只能執(zhí)行解碼過程中的后兩步,到了Geforce8600,8500&8400時(shí)代,H.264視頻已經(jīng)可以為完全硬解,VC-1視頻可以執(zhí)行前三個(gè)步驟;G98之后的GPU均可實(shí)現(xiàn)H.264、VC-1完全硬解碼
到了G8x(不包括G80)時(shí)代之后,NVIDIA在GPU中加入了VP2(第二代VIDEo Processor)模塊,實(shí)現(xiàn)了H.264視頻的完全硬件解碼。但是,對(duì)于VC-1視頻卻無法完全硬解,視頻解碼的第一個(gè)步驟——Bitstream Processing(比特流處理)仍然必須由CPU來處理,而這個(gè)步驟恰好是最消耗資源的一步;所以,NVIDIA在G98之后改進(jìn)了BSP(專門用于執(zhí)行比特流處理運(yùn)算)引擎,使其能夠完全硬件解碼VC-1,至此,N卡高清視頻解碼看似已經(jīng)完美了。
然而在實(shí)際的使用過程中,使用GPU進(jìn)行高清視頻解碼卻經(jīng)常會(huì)出現(xiàn)這樣那樣的問題,特別是由于解碼器設(shè)置不當(dāng),導(dǎo)致播放視頻的時(shí)候出現(xiàn)不能硬解、或者視頻明顯不正常的情況出現(xiàn),特別是一些比較老的高清視頻,非常容易出現(xiàn)這樣的問題;另外,H.。所以,對(duì)于高清視頻解碼時(shí)解碼器的設(shè)置就成了很多用戶非常頭疼的一件事情。不管是NVIDIA的顯卡,還是ATI的顯卡,都有可能出現(xiàn)這些問題。