H.265標(biāo)準(zhǔn)下視頻軟解與硬解的對比
1.概念
從數(shù)字視頻誕生以來,硬解碼和軟解碼的說法一直伴隨著它的發(fā)展。數(shù)字視頻的軟解碼是指在通用CPU上通過專門的播放軟件解碼并播放視頻;而硬解碼則是指在專用的硬件解碼模塊解碼視頻,然后將解碼數(shù)據(jù)送至顯示屏播放。嚴(yán)格來說,并不存在純粹的硬解碼,因?yàn)榧词褂杏布f(xié)處理模塊存在,整個解碼過程也需要軟件來控制。所以本文所討論的是約定俗稱的軟解碼和硬解碼。
2.歷史
早在20世紀(jì)80年代,數(shù)字視頻商業(yè)化應(yīng)用(Sony的D1格式,http://en.wikipedia.org/wiki/Digital_video#History)已經(jīng)出現(xiàn)。那時的數(shù)字視頻是未經(jīng)壓縮地存儲在磁帶上,所占空間非常大,其相關(guān)產(chǎn)品極其昂貴,普通消費(fèi)者難以承擔(dān),因此數(shù)字視頻的概念沒有普及。1992年數(shù)字視頻壓縮標(biāo)準(zhǔn)MPEG-1的發(fā)布,尤其后來的基于該標(biāo)準(zhǔn)的VCD標(biāo)準(zhǔn)發(fā)布以及相關(guān)產(chǎn)品的問世,極大地推動了數(shù)字視頻在消費(fèi)領(lǐng)域的發(fā)展,同時也使數(shù)字視頻的概念在消費(fèi)者中得到了普及。后來的MPEG-2和基于其上的DVD和數(shù)字電視的普及,讓消費(fèi)者欣賞到更高品質(zhì)的視頻節(jié)目。新世紀(jì)的H264標(biāo)準(zhǔn)和其它私有視頻標(biāo)準(zhǔn)如RM,WMV,VP8格式等,極大促進(jìn)了網(wǎng)絡(luò)視頻的快速發(fā)展。去年新一代標(biāo)準(zhǔn)H.265的推出,標(biāo)志著數(shù)字視頻技術(shù)和產(chǎn)業(yè)達(dá)到了一個新的高度。
在數(shù)字壓縮標(biāo)準(zhǔn)(技術(shù))不斷進(jìn)步的同時,它的編解碼技術(shù)、手段也有不斷的創(chuàng)新。數(shù)字視頻壓縮標(biāo)準(zhǔn)剛剛誕生的上世紀(jì)90年代初,通用CPU計(jì)算能力遠(yuǎn)遠(yuǎn)無法滿足解碼需求,所以那時的解碼方式全部采用專門硬件解碼芯片來解碼,如VCD播放機(jī)、MPEG-1解壓卡(可以插到386或者486電腦上用來播放VCD電影)。到了2000年左右,計(jì)算機(jī)的性能已經(jīng)可以播放DVD節(jié)目,這時涌現(xiàn)出不少優(yōu)秀的DVD播放軟件,可以在個人計(jì)算機(jī)上流暢地軟解碼DVD數(shù)據(jù)。這一時期軟解碼和硬解碼都非常流行。此后隨著網(wǎng)絡(luò)的發(fā)展,網(wǎng)絡(luò)視頻發(fā)展迅猛。網(wǎng)絡(luò)視頻的壓縮格式多種多樣,如RM、VP8、MPEG4、H.264、WMV、MPEG2。由于格式的多樣,對于硬件實(shí)現(xiàn)來說,實(shí)現(xiàn)起來相對復(fù)雜,另外這一時期的網(wǎng)絡(luò)終端是個人電腦,其運(yùn)算能力也足以解碼這些視頻內(nèi)容,所以軟解碼的優(yōu)勢比較明顯。當(dāng)下,ARM架構(gòu)的通用CPU在移動設(shè)備領(lǐng)域取得了X86架構(gòu)在個人電腦領(lǐng)域那樣的地位。ARM架構(gòu)的CPU主頻也可以達(dá)到1.5GHZ以上,同時雙核,四核甚至八核的CPU也得到了廣泛的應(yīng)用,其運(yùn)算能力早已達(dá)到或者超過了以前的PC。視頻軟解方案也大量出現(xiàn)在移動設(shè)備中。
3.解碼流程以及軟硬解碼的區(qū)別
數(shù)字視頻軟解碼,是指視頻流數(shù)據(jù)完全通過通用CPU來實(shí)現(xiàn)播放。其大致流程如下:首先視頻播放軟件把視頻流文件從存儲介質(zhì)中讀取到內(nèi)存中,然后通過一個封裝格式解析模塊,把文件中的視頻數(shù)據(jù)和音頻數(shù)據(jù)分開;接下來播放軟件負(fù)責(zé)把視頻數(shù)據(jù)傳送到視頻解碼模塊,音頻數(shù)據(jù)傳送到視頻解碼模塊;視頻解碼模塊也是一個運(yùn)行在通用CPU上的純粹的軟件模塊,它利用復(fù)雜的算法,實(shí)現(xiàn)對視頻數(shù)據(jù)的解壓縮;解壓縮之后的數(shù)據(jù)被送到視頻顯示模塊,由顯示模塊驅(qū)動硬件來顯示視頻內(nèi)容。音頻數(shù)據(jù)的處理方式類似。
數(shù)字視頻的硬解碼,則是在專用的解碼硬件模塊協(xié)助之下,CPU完成視頻流數(shù)據(jù)的播放。它的流程是:首先通用CPU負(fù)責(zé)把視頻流數(shù)據(jù)讀到內(nèi)存中,有運(yùn)行在通用CPU上的數(shù)據(jù)封裝格式解析模塊把數(shù)據(jù)中視頻和音頻分開,其中音頻數(shù)據(jù)被送到專用的硬件解碼模塊中去,由硬件解碼模塊負(fù)責(zé)把視頻數(shù)據(jù)解壓縮,把解壓縮出來的數(shù)據(jù)又送回通用CPU,由后者用解壓后的數(shù)據(jù)驅(qū)動硬件實(shí)現(xiàn)視頻的顯示。而音頻可能是由通用CPU軟解碼,也可能有專門的硬件模塊來進(jìn)行音頻解碼。
從上述描述中可以看出,不管是硬件解碼或者軟件解碼,通用CPU的參與必不可少,通用CPU負(fù)責(zé)視頻流的播放流程。不同之處是極大運(yùn)算量的解碼算法是在通過CPU中完成,還是在專用硬件解碼模塊中完成。
4.軟解碼和硬解碼的應(yīng)用
目前壓縮視頻的軟解碼和硬解碼均廣泛存在,然而二者的應(yīng)用領(lǐng)域和范圍有一定差別。
軟解碼主要在下列設(shè)備廣泛應(yīng)用:
(1)個人計(jì)算機(jī)。目前個人計(jì)算機(jī)上的視頻全部是通過軟解碼的形式實(shí)現(xiàn)播放的,這個和個人應(yīng)用以及網(wǎng)絡(luò)應(yīng)用中,存在大量的壓縮格式有關(guān),同時也和目前個人計(jì)算機(jī)超強(qiáng)的計(jì)算能力密不可分。
(2)智能手機(jī)。現(xiàn)在的智能手機(jī)芯片都具有很強(qiáng)的計(jì)算能力,同時也都有視頻硬件解碼模塊,但是硬件解碼模塊支持的視頻格式有限,同時受限于與之適配的專用播放軟件,所以智能手機(jī)在播放網(wǎng)絡(luò)視頻時,大部分采用是軟解碼方式。
(3)平板電腦。平板電腦普遍采用與智能手機(jī)同樣的芯片組,同時使用方式也與智能手機(jī)類似,所以在播放網(wǎng)絡(luò)視頻也主要采用軟解碼。
硬解碼主要應(yīng)用于下列設(shè)備:
(1)智能手機(jī)和平板電腦,如前所述,這些設(shè)備存在視頻加速模塊,在播放本地高清文件時,采用硬解碼的情形還是比較多的。
(2)機(jī)頂盒。早期的機(jī)頂盒基本上是一個MIPS架構(gòu)的CPU+硬件解碼模塊。所以在這種設(shè)備上只存在硬解碼一種情形。不過最近比較新的機(jī)頂盒采用與智能手機(jī)相同檔次的芯片,但是基于成本考慮,大部分機(jī)頂盒還是采用硬解碼方案。不過隨著芯片性能提升和價格的降低,機(jī)頂盒采用軟解碼的比例會慢慢提升。
(3)家用相機(jī)(攝像和回放功能)。具有攝像功能的相機(jī),都具有回放功能,這些設(shè)備的視頻解碼都是應(yīng)用硬解碼實(shí)現(xiàn)。
(4)視頻會議。視頻會議強(qiáng)調(diào)實(shí)時性,同時視頻編碼格式唯一,解碼一般是硬解碼
5.趨勢與展望
硬件解碼的存在是為了彌補(bǔ)通用CPU的運(yùn)算能力的不足。隨著通用CPU的運(yùn)算能力的提升,原來在通用CPU上無法完成的解碼任務(wù),也逐漸可以完成,這時硬件解碼方案就顯得不太重要了。目前的智能手機(jī)芯片軟解碼MPEG-1,MPEG-2視頻數(shù)據(jù)非常流暢,部分手機(jī)軟解碼H.264視頻數(shù)據(jù)也很流暢,所以在智能手機(jī)領(lǐng)域用軟解碼方式也越來越普遍。但是這并不是說明硬解碼方式會慢慢淡出,因?yàn)槿藗兊囊曨l壓縮比,視頻解析度的需求也在不斷提升,這就要求設(shè)備有更強(qiáng)大的計(jì)算能力,在通用CPU無法滿足的情況下,硬件解碼模塊也是必不可少的。
去年H.265標(biāo)準(zhǔn)的推出帶來了硬件解碼與軟件解碼之間的一些爭論,爭論的焦點(diǎn)是在智能手機(jī)上到底H.265硬件解碼會占主流地位,還是軟件解碼占主流地位。
硬件解碼支持者認(rèn)為,智能手機(jī)芯片計(jì)算能力支持H.265高清播放還比較勉強(qiáng),只有用硬件解碼才能實(shí)現(xiàn)流暢的播放,從成本考慮不必僅僅為了支持H.265而對主芯片要求更高的性能。軟解碼支持者則從標(biāo)準(zhǔn)成熟度以及通用CPU的性能發(fā)展考慮,認(rèn)為H.265作為一個比較新的標(biāo)準(zhǔn),會經(jīng)過不斷的修訂,如果用硬件解碼方案,可能硬件無法隨著修訂案不斷地更改,導(dǎo)致硬件無法解碼有關(guān)視頻,另外通用CPU的性能提升大致符合摩爾定律,性能提升很快。原來認(rèn)為在ARM架構(gòu)下軟解碼H.265視頻是不太可能的事情,現(xiàn)在看來是可以實(shí)現(xiàn)的。用紅米手機(jī)(小米公司出品的一款低價的智能手機(jī),采用MTK6589芯片,四核cotrtex-A71.5G)播放H.265壓縮格式的1080p的視頻,已經(jīng)非常流暢(播放軟件采用的是北京瑞普圖視科技有限公司開發(fā)的H.265播放apk,視頻播放能到30fps以上)。目前高端手機(jī)普遍采用的是運(yùn)算能力更強(qiáng)的高通驍龍800四核處理器,播放H.265視頻更是沒有問題。
評論