摘 要:本文針對H.264視頻解碼器中,運算復雜度最高、訪問存儲時間最長、計算量最多的幀間預測運動補償結構進行研究和VLSI設計。在深入研究H.264視頻編碼標準基礎上,提出了易于硬件實現的H.264 baseline高清解碼器運動補償結構的設計方案。
關鍵詞:H.264;高清;硬件解碼
中圖分類號:TN919.81;TN764 文獻標識碼:A 文章編號:1674-7712 (2012) 12-0042-01
一、引言
數字視頻通信因滿足人們直觀真實的交流而越來越受歡迎。2003年3月,ITU-T/ISO正式公布了H.264視頻編碼壓縮標準,它在發(fā)布之初就因其比以往的標準更出色的性能和壓縮比,在IPTV、3G移動通信等領域均有廣泛應用,并成為數字視頻壓縮技術領域的熱點話題,被人們稱之為新一代的數字視頻編碼標準。H.264/AVC的突出特點主要包括可變塊大小的運動補償預測、多參考幀預測、整數變換、1/4 像素精度的運動補償預測、上下文自適應的熵編碼以及環(huán)內去塊效應濾波。與以往的任何編碼標準相比,雖然采用和以往的視頻編碼標準同樣的混合編碼框架,但改進和新增了一些新的編碼技術,并使得壓縮效率獲得顯著的提升。然而,由于這些原有技術的改進和新技術的引入,H.264盡管壓縮效率大幅提升,但帶來了更高的算法復雜度,使得傳統的軟件解碼有些力不從心,且不能滿足移動手持設備對于低功耗的要求,限制其商業(yè)應用。因此,對于H.264標準的硬件解碼研究顯著至關重要。本文將圍繞H.264標準硬件解碼的相關領域進行研究,重點研究H.264 baseline檔次解碼器中的運動矢量解碼模塊。
二、H.264解碼器原理
H.264解碼器的解碼流程如圖1所示,視頻解碼器從碼流中接收被壓縮的已編碼比特流,解碼每一個句法元素,抽取上下文描述信息,例如宏塊類型、宏塊ID等,經過對碼流進行熵解碼和重排序等到一系列的量化系數,這些系數經過反量化和反變換得到殘差數據,解碼器使用從碼流中解碼得到的頭信息創(chuàng)建一個預測塊,預測塊與殘差求和得到為濾波的圖像數據,再通過去方塊濾波等到重建圖像的解碼塊。
三、運動矢量預測
編碼宏塊分割的運動矢量將會花費相當大的比特數,尤其在選用小分割尺寸的情況下每一宏塊分割的運動矢量,可以從鄰近塊的運動矢量預測得到。由上文已計算的運動矢量形成的預測運動矢量MVp的方式,以及由當前運動矢量和預測運動矢量形成的運動矢量殘差MVD,被編碼和傳輸。形成預測運動矢量MVp的方法依賴于運動補償分割尺寸以及周圍運動矢量的可用性。
MV解碼流程如圖2所示:
根據H.264協議的標準,對運動矢量預測有如下規(guī)定:
當前塊E的周圍A、B、C、D四個宏塊(或子宏塊)的位置如圖所示,他們的原始運動矢量為mvLXN,參考索引refIdLXN,N代替A、B、C、D。其中D塊只有在C塊不存在的時候用到。
在實際的操作解碼中,由于樹狀結構運動補償的最小單位為4×4大小的塊,即一個4×4塊中的像素一定具有相同的運動矢量,所以在這里暫且不論相鄰塊A、B、C、D的大小為多大,為了存儲和計算過程的統一性,只需要求出包含相對位置為(xN,yN)的像素點的4×4塊的位置即可。如圖3所示
四、研究方案
研究方案主要是針對H.264的解碼器的結構特點來設計一種高效的支持高清視頻解碼的運動補償解碼電路結構,并將其實現。通過對H.264標準編解碼器和碼流句法元素編碼方式、運動矢量預測、插值算法、存儲的控制管理等特點,對參考模型的算法進行優(yōu)化,對電路結構進行改進。通過參考基于H.264標準的運動矢量預測電路文獻,確定其硬件架構,采用Verilog HDL進行建模和仿真,并采用DC進行邏輯綜合和門級仿真并優(yōu)化,減小設計的面積并提高設計編碼的速度,結構框圖如圖4所示。
本設計的結構框圖如圖所示,在本設計中將運動矢量預測分為輸出控制,預測運算和后處理三個部分,框圖中Mv_ctrl是輸出控制模塊,實現對運動矢量預測總體的狀態(tài)控制;預測運算包括與片上的SRAM進行通信和控制的Mem_ctrl,MV數據存儲和刷新的Mem_data模塊以及計算MV地址的Mv_sp模塊;后處理則是對預測得到的MVP進行必要的加權處理和與碼流中的MVD進行相加從而最后得到最終的MV。
五、總結
H.264解碼器的運動補償部分運算量占整個解碼器電路的三分之一以上,設計復雜度大約占整個解碼器電路設計復雜度的40%左右,所以進行高效的VLSI電路設計非常必要。目前,對運動補償模塊的超大規(guī)模集成電路設計主要設計思路一般是三級到四級流水線結構。H.264高清產品的推出無疑又會將我國的數字視頻終端技術推上一個新臺階。
參考文獻
[1]畢厚杰,王建,新一代視頻壓縮編碼標準——H.264/AVC(第二版)[M].人民郵電出版社,2009,11