4熵解碼H.264中采用基于上下自適應的可變長編碼(CAVLC),其原理:4*4塊殘差數(shù)據(jù)經(jīng)整數(shù)變換、量化后非零系數(shù)主要集中在低頻部分,高頻系數(shù)大部分是零,且高頻位置上非零系數(shù)值大部分是+1和-1。AVS-M熵編碼也采用變長編碼技術(shù),在AVS-M熵編碼過程中,所有的語法元素和殘差數(shù)據(jù)都是以指數(shù)哥倫布碼的形式映射成二進制比特流。5環(huán)路濾波兩標準都是采用基于塊的殘差系數(shù)反變換、反量化,量化過程相對粗糙,反量化恢復的變換系數(shù)必定帶
4 熵解碼
H.264中采用基于上下自適應的可變長編碼(CAVLC),其原理: 4*4塊殘差數(shù)據(jù)經(jīng)整數(shù)變換、量化后非零系數(shù)主要集中在低頻部分,高頻系數(shù)大部分是零,且高頻位置上非零系數(shù)值大部分是+1和-1。AVS-M熵編碼也采用變長編碼技術(shù),在AVS-M熵編碼過程中,所有的語法元素和殘差數(shù)據(jù)都是以指數(shù)哥倫布碼的形式映射成二進制比特流。
5 環(huán)路
濾波 兩標準都是采用基于塊的殘差系數(shù)反變換、反量化,量化過程相對粗糙,反量化恢復的變換系數(shù)必定帶來誤差,另一方面,運動補償塊可能來自不同幀位置的內(nèi)插樣本塊,將導致邊界不連續(xù),因此,需采用環(huán)路濾波來消除塊預測誤差造成的失真。H.264中根據(jù)相鄰塊模式、參考索引、運動矢量和解碼塊確定濾波強度,濾波強度參數(shù)Bs值為0~4,對于Bs為1~3的采用4抽頭
濾波器,對于Bs為4的采用6抽頭濾波器。H.264中濾波器能適應片級、邊界級和樣點級的需要。而在AVS-M中根據(jù)當前宏塊是幀內(nèi)(幀間)編碼宏塊來選擇幀內(nèi)(幀間)濾波器,當滿足濾波條件后,采用4抽頭濾波器對邊界先垂直后水平濾波。AVS-M濾波器相對H.264而言,像素少,強度弱,但在消除方塊效應的同時能大大地減少濾波時間。
應用前景
直播衛(wèi)星電視和高清電視是其中進展最快的項目。與整機廠商互動,AVS標準組可從實際應用中得到反饋,對標準、實現(xiàn)算法、軟件、
IP內(nèi)核、專用芯片進行及時的修改和改進,從而真正適應產(chǎn)業(yè)的需求。
上廣電主持的衛(wèi)星電視實驗系統(tǒng)項目中的AVS
編碼器則采用了“轉(zhuǎn)碼器+DSP”的實現(xiàn)方案。該系統(tǒng)高度兼容MPEG-2,這是由于MPEG-2的節(jié)目較多,所以AVS與它有一個融合-取代的過程。如加密、用戶管理、收費系統(tǒng)、編輯系統(tǒng)等其他配套系統(tǒng)不變。
總結(jié)
由上分析可知,兩種視頻解碼器結(jié)構(gòu)有很多共同之處。目前,關(guān)于H.264視頻解碼器的優(yōu)化、硬件移植的方法及其應用很多,這些也可被AVS-M采納。本文根據(jù)優(yōu)化H.264的相關(guān)文獻中的一些方法對AVS-M作過軟件上的優(yōu)化。算法上的優(yōu)化主要包括插值、環(huán)路濾波和熵解碼的優(yōu)化。插值時可以將像素分為內(nèi)部像素和邊界像素,避免重復的判斷。環(huán)路濾波時每個4*4塊中的每個點有相同的邊界門限,其相應的濾波操作也可以4次完成。熵解碼時,可通過重新建表減少轉(zhuǎn)化程序。代碼上的優(yōu)化主要包括程序結(jié)構(gòu)優(yōu)化、循環(huán)展開、數(shù)據(jù)類型選擇和數(shù)據(jù)的移動等,例如,Decode_one_macroblock函數(shù)中,可根據(jù)宏塊類型采用不同的函數(shù)來解碼,對臨時的緩存區(qū)可簡化。此外,對插值運算(可轉(zhuǎn)化為矩陣運算)、反量化和反變換等涉及到矩陣運算的函數(shù)都可使用MMX/
SSE指令集優(yōu)化。
H.264是國際通用標準,而AVS-M是我國自主制定的標準,因而,兩標準兼容的視頻解碼器的出現(xiàn)是種必然。本課題接下來的工作即是在對已有結(jié)構(gòu)對比分析的基礎上結(jié)合兩套代碼,將兩解碼器結(jié)構(gòu)相同部分進行復用,不同部分通過
開關(guān)進行選擇,實現(xiàn)對兩種不同格式的碼流進行識別并實時解碼。