新聞中心

EEPW首頁 > 消費(fèi)電子 > 設(shè)計應(yīng)用 > 市場三大主流高清視頻編解碼技術(shù)淺析

市場三大主流高清視頻編解碼技術(shù)淺析

作者: 時間:2012-06-06 來源:網(wǎng)絡(luò) 收藏

眾所周知,相對于rmvb、DVD等標(biāo)清,播放起來對于電腦硬件要求的提升是無疑的。

本文引用地址:http://butianyuan.cn/article/165488.htm

一、下面我們先來看看究竟從哪些方面提升了要求:

(一)首先便是視頻流量的加大。這是最為直觀的一個提升元素,我們可以參照下面的表格,表格中只是簡單的提出了“視頻源”的流量對比,但其實(shí)視頻的“不同格式”更決定了流量的不同。

可以看出,DVD視頻的數(shù)據(jù)流量只有約9.5Mb/s,但是最高的藍(lán)光可以達(dá)到40Mb/s以上,提升了4倍以上,無疑這是硬件配置提升的一個主要原因,因?yàn)樾枰幚淼臄?shù)據(jù)量增大了很多。

(二)其次便是編碼格式的復(fù)雜度。我們知道每種編碼格式都有其自身的算法,優(yōu)秀的算法可以將視頻壓縮到更小的體積,但是還原這種算法卻需要更強(qiáng)的計算能力。H.264高清編碼格式就是典型的代表。也許有些讀者會碰到一些高清視頻,但是播放要求并不高,那可能它就是采用一些簡單的算法,比如Mpeg2的高清編碼格式,但是遇到類似H.264編碼格式,就會出現(xiàn)無法流暢播放的情況。

現(xiàn)在看來,H.264因?yàn)閮?yōu)秀的算法取得了廣泛的支持,它的算法雖然復(fù)雜,但是能獲得最高的壓縮同時視頻細(xì)節(jié)損失很小,因此想要在未來流暢的播放高清視頻,H.264編碼視頻是必須通過的一個考驗(yàn)。當(dāng)然我們也不能忽視VC-1編碼,它是微軟力推的編碼格式,也受到了廣泛的支持,其要求雖然略低,但同樣造成了目前很多電腦的“播放困難”。至于Mpeg2高清編碼,其要求很低,未來發(fā)展的前景也不突出。

我們再來了解一下,這些編碼在電腦上是如何被處理器的。視頻編碼的處理一般分為幾個步驟,每個步驟會完成相應(yīng)的任務(wù),而的時候也會存在這些步驟,從而達(dá)成影片的順利播放。那么誰來處理這些工作呢,早期在電腦上,播放的大部分步驟都是CPU來處理,也就是處理器軟件(以下簡稱軟解)播放,這也就是CPU占用率為什么會很高的原因。

簡單的來說,目前任何一臺電腦或者說哪怕幾年前的電腦,使用處理器軟解播放之前所有的標(biāo)清視頻都沒有任何問題。而高清視頻中,Mpeg2高清編碼的視頻要求最低,VC-1編碼的視頻其次,而要求最高的H.264高清視頻可能會導(dǎo)致很多老式的電腦都無法流暢播放。

雖然現(xiàn)在硬件發(fā)展速度飛快,用戶可以采用高檔四核處理器把軟解播放高清的CPU占用率控制在50%以下,但這類處理器的價格卻很高,裝機(jī)成本大幅增加。而雙核處理器雖然便宜了不少,但軟解播放的CPU占用率又可能會很高,甚至高到無法流暢播放的程度。

如果想要減輕CPU的負(fù)擔(dān),則必須有另一個配件來接手編碼處理工作,顯卡自然成為了最佳選擇,也就是用顯卡里的引擎替代CPU完成視頻解碼的處理任務(wù),從而釋放CPU的負(fù)載。CPU作為通用處理器,進(jìn)行視頻解碼這類事效率有限,但是顯卡卻可以直接硬件集成視頻解碼引擎,從而達(dá)到極高的功效。

二、高清視頻的編碼流程

那么究竟高清編碼的步驟有哪些,哪些又是負(fù)載最高的部分呢?以H.264視頻舉例而言,分為四個主要部分(見下圖)。圖中的四個方塊基本就是H.264解碼的四個最主要步驟,也是資源消耗的主要四個部分,其中又以第一步的“CAVLC/CABAC解碼”最為消耗運(yùn)算資源,這方面遠(yuǎn)高于其他三步(簡單的說,CAVLC/CABAC是H.264編碼規(guī)范中兩種不同的算法,際俏了提高壓縮比,其中CABAC比CAVLC壓縮率更高,但解碼時自然也要求更高)。

三、高清視頻的解碼流程

我們下面來看看的3種編碼格式,包括Mpeg2、VC-1、H.264的解碼流程對比(見下圖)。可以看出,幾種編碼格式還是有不少區(qū)別的,這也是造成幾種編碼格式要求不同的原因,H.264編碼格式最為復(fù)雜,因此系統(tǒng)要求最高,VC-1略有降低,但是也比Mpeg2高得多。

其它編碼格式與H.264類似。

四、高清解碼資源消耗分析

那么究竟哪個步驟最為消耗CPU占用率呢?下面的測試對比應(yīng)該最能說明問題(見下圖)。對比的視頻包括Mpeg2和H.264(AVC),其中上面我們講到的四個步驟都有涉及。顯而易見,“流處理”是所有編碼格式中最為消耗處理器運(yùn)算的部分,但是Mpeg2視頻的這部分還并不會造成很大的困擾,因?yàn)镃PU的占用率還不到2%。

但是對于H.264來說,問題就出現(xiàn)了,20Mb/s編碼率的視頻流處理過程就會達(dá)到不小的CPU占用率,40Mb/s的高編碼率視頻更為夸張,流處理的過程CPU占用率上升極快,加上別的處理,總CPU占用率很高毫不奇怪。

上文已經(jīng)提到,這四個步驟的處理配件不同,主要是CPU和顯卡。在之前,CPU因?yàn)樘幚砹烁嗟牟襟E,所以占用率高居不下,因此如果顯卡能承擔(dān)越多的解碼步驟,CPU就能釋放更多的負(fù)載,以保證視頻播放的流暢。

下圖H.264的解碼過程很好的說明了問題。如果顯卡不承擔(dān)任何步驟(圖解第一行),那么CPU占用率很高,甚至根本無法流暢播放;如果顯卡能實(shí)現(xiàn)后兩個步驟的解碼處理(圖解第二行),CPU可以獲得部分解放,但是對于比較關(guān)鍵的、負(fù)載最大的“流處理”,部分顯卡還不能實(shí)現(xiàn),所以CPU占用率有所下降,但是仍然偏高。

通過具有H.264硬件解碼引擎的顯卡,就可以完成H.264編碼的全部4個處理步驟(圖解第三行),也就是實(shí)現(xiàn)全程解碼,這就是它們能讓H.264高清視頻播放的


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉