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