服務電話:18585481111

標準下視頻軟解與硬解的對比

發布時間:2014-11-05 02:44:21

    慧聰安防網訊1.概念

    從數字視頻誕生以來,硬解碼和軟解碼的說法一直伴隨著它的發展。數字視頻的軟解碼是指在通用CPU上通過專門的播放軟件解碼并播放視頻;而硬解碼則是指在專用的硬件解碼模塊解碼視頻,然后將解碼數據送至顯示屏播放。嚴格來說,并不存在純粹的硬解碼,因為即使有硬件協處理模塊存在,整個解碼過程也需要軟件來控制。所以本文所討論的是約定俗稱的軟解碼和硬解碼。

    2.歷史

    早在20世紀80年代,數字視頻商業化應用(Sony的D1格式,http://en.wikipedia.org/wiki/Digital_video#History)已經出現。那時的數字視頻是未經壓縮地存儲在磁帶上,所占空間非常大,其相關產品極其昂貴,普通消費者難以承擔,因此數字視頻的概念沒有普及。1992年數字視頻壓縮標準MPEG-1的發布,尤其后來的基于該標準的VCD標準發布以及相關產品的問世,極大地推動了數字視頻在消費領域的發展,同時也使數字視頻的概念在消費者中得到了普及。后來的MPEG-2和基于其上的DVD和數字電視的普及,讓消費者欣賞到更高品質的視頻節目。新世紀的H264標準和其它私有視頻標準如RM,WMV,VP8格式等,極大促進了網絡視頻的快速發展。去年新一代標準H.265的推出,標志著數字視頻技術和產業達到了一個新的高度。

    在數字壓縮標準(技術)不斷進步的同時,它的編解碼技術、手段也有不斷的創新。數字視頻壓縮標準剛剛誕生的上世紀90年代初,通用CPU計算能力遠遠無法滿足解碼需求,所以那時的解碼方式全部采用專門硬件解碼芯片來解碼,如VCD播放機、MPEG-1解壓卡(可以插到386或者486電腦上用來播放VCD電影)。到了2000年左右,計算機的性能已經可以播放DVD節目,這時涌現出不少優秀的DVD播放軟件,可以在個人計算機上流暢地軟解碼DVD數據。這一時期軟解碼和硬解碼都非常流行。此后隨著網絡的發展,網絡視頻發展迅猛。網絡視頻的壓縮格式多種多樣,如RM、VP8、MPEG4、H.264、WMV、MPEG2。由于格式的多樣,對于硬件實現來說,實現起來相對復雜,另外這一時期的網絡終端是個人電腦,其運算能力也足以解碼這些視頻內容,所以軟解碼的優勢比較明顯。當下,ARM架構的通用CPU在移動設備領域取得了X86架構在個人電腦領域那樣的地位。ARM架構的CPU主頻也可以達到1.5GHZ以上,同時雙核,四核甚至八核的CPU也得到了廣泛的應用,其運算能力早已達到或者超過了以前的PC。視頻軟解方案也大量出現在移動設備中。

    3.解碼流程以及軟硬解碼的區別

    數字視頻軟解碼,是指視頻流數據完全通過通用CPU來實現播放。其大致流程如下:首先視頻播放軟件把視頻流文件從存儲介質中讀取到內存中,然后通過一個封裝格式解析模塊,把文件中的視頻數據和音頻數據分開;接下來播放軟件負責把視頻數據傳送到視頻解碼模塊,音頻數據傳送到視頻解碼模塊;視頻解碼模塊也是一個運行在通用CPU上的純粹的軟件模塊,它利用復雜的算法,實現對視頻數據的解壓縮;解壓縮之后的數據被送到視頻顯示模塊,由顯示模塊驅動硬件來顯示視頻內容。音頻數據的處理方式類似。

    數字視頻的硬解碼,則是在專用的解碼硬件模塊協助之下,CPU完成視頻流數據的播放。它的流程是:首先通用CPU負責把視頻流數據讀到內存中,有運行在通用CPU上的數據封裝格式解析模塊把數據中視頻和音頻分開,其中音頻數據被送到專用的硬件解碼模塊中去,由硬件解碼模塊負責把視頻數據解壓縮,把解壓縮出來的數據又送回通用CPU,由后者用解壓后的數據驅動硬件實現視頻的顯示。而音頻可能是由通用CPU軟解碼,也可能有專門的硬件模塊來進行音頻解碼。

    從上述描述中可以看出,不管是硬件解碼或者軟件解碼,通用CPU的參與必不可少,通用CPU負責視頻流的播放流程。不同之處是極大運算量的解碼算法是在通過CPU中完成,還是在專用硬件解碼模塊中完成。

    4.軟解碼和硬解碼的應用

    目前壓縮視頻的軟解碼和硬解碼均廣泛存在,然而二者的應用領域和范圍有一定差別。

    軟解碼主要在下列設備廣泛應用:

    (1)個人計算機。目前個人計算機上的視頻全部是通過軟解碼的形式實現播放的,這個和個人應用以及網絡應用中,存在大量的壓縮格式有關,同時也和目前個人計算機超強的計算能力密不可分。

    (2)智能手機?,F在的智能手機芯片都具有很強的計算能力,同時也都有視頻硬件解碼模塊,但是硬件解碼模塊支持的視頻格式有限,同時受限于與之適配的專用播放軟件,所以智能手機在播放網絡視頻時,大部分采用是軟解碼方式。

    (3)平板電腦。平板電腦普遍采用與智能手機同樣的芯片組,同時使用方式也與智能手機類似,所以在播放網絡視頻也主要采用軟解碼。

    硬解碼主要應用于下列設備:

    (1)智能手機和平板電腦,如前所述,這些設備存在視頻加速模塊,在播放本地高清文件時,采用硬解碼的情形還是比較多的。

    (2)機頂盒。早期的機頂盒基本上是一個MIPS架構的CPU+硬件解碼模塊。所以在這種設備上只存在硬解碼一種情形。不過最近比較新的機頂盒采用與智能手機相同檔次的芯片,但是基于成本考慮,大部分機頂盒還是采用硬解碼方案。不過隨著芯片性能提升和價格的降低,機頂盒采用軟解碼的比例會慢慢提升。

    (3)家用相機(攝像和回放功能)。具有攝像功能的相機,都具有回放功能,這些設備的視頻解碼都是應用硬解碼實現。

    (4)視頻會議。視頻會議強調實時性,同時視頻編碼格式唯一,解碼一般是硬解碼

    5.趨勢與展望

    硬件解碼的存在是為了彌補通用CPU的運算能力的不足。隨著通用CPU的運算能力的提升,原來在通用CPU上無法完成的解碼任務,也逐漸可以完成,這時硬件解碼方案就顯得不太重要了。目前的智能手機芯片軟解碼MPEG-1,MPEG-2視頻數據非常流暢,部分手機軟解碼H.264視頻數據也很流暢,所以在智能手機領域用軟解碼方式也越來越普遍。但是這并不是說明硬解碼方式會慢慢淡出,因為人們的視頻壓縮比,視頻解析度的需求也在不斷提升,這就要求設備有更強大的計算能力,在通用CPU無法滿足的情況下,硬件解碼模塊也是必不可少的。

    去年H.265標準的推出帶來了硬件解碼與軟件解碼之間的一些爭論,爭論的焦點是在智能手機上到底H.265硬件解碼會占主流地位,還是軟件解碼占主流地位。

硬件解碼支持者認為,智能手機芯片計算能力支持H.265高清播放還比較勉強,只有用硬件解碼才能實現流暢的播放,從成本考慮不必僅僅為了支持H.265而對主芯片要求更高的性能。軟解碼支持者則從標準成熟度以及通用CPU的性能發展考慮,認為H.265作為一個比較新的標準,會經過不斷的修訂,如果用硬件解碼方案,可能硬件無法隨著修訂案不斷地更改,導致硬件無法解碼有關視頻,另外通用CPU的性能提升大致符合摩爾定律,性能提升很快。原來認為在ARM架構下軟解碼H.265視頻是不太可能的事情,現在看來是可以實現的。用紅米手機(小米公司出品的一款低價的智能手機,采用MTK6589芯片,四核cotrtex-A71.5G)播放H.265壓縮格式的1080p的視頻,已經非常流暢(播放軟件采用的是北京瑞普圖視科技有限公司開發的H.265播放apk,視頻播放能到30fps以上)。目前高端手機普遍采用的是運算能力更強的高通驍龍800四核處理器,播放H.265視頻更是沒有問題。






?
网信快三