《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > H.264/AVC視頻編碼變換量化核的硬件設計
H.264/AVC視頻編碼變換量化核的硬件設計
摘要: 基于H.264/AVC視頻編碼標準,,完成了編碼模塊中的4×4整數變換量化核的分析和硬件實現的優(yōu)化設計,。通過三種優(yōu)化設計處理后,,在硬件開銷改變不大的情況下,使4×4整數變換量化核的最高工作頻率相比優(yōu)化前的30.7MHz提高了82%,,達到55.8MHz,,為H.264/AVC視頻編碼標準的硬件實現提供了參考。
Abstract:
Key words :

 隨著數字化視頻技術在視頻電話,、視頻會議,、DVD以及高清晰度數字電視等方面的應用,視頻壓縮標準也隨之不斷發(fā)展,。ITU-T制定的H.26x系列和ISO/IEC制定的MPEG-x系列,,是視頻領域中兩大獨立的主流視頻壓縮標準。2003年,,這些組織又聯合推出新的視頻壓縮標準H.264/MPEG-4 -10AVC,,簡稱H.264/AVC。H.264/AVC采用一系列新的壓縮方法[1],,可獲得更好的壓縮效果,,其壓縮率達到以往標準的1.5~2倍[2]。因此,,基于這一標準的相關研究和硬件實現具有重要的意義,。視頻壓縮硬件實現的關鍵是編解碼模塊,其中尤以編碼模塊最為核心,。本文主要研究編碼模塊中的4×4整數變換量化核,,提出硬件實現的優(yōu)化方法,并采用Verilog HDL語言進行硬件設計和綜合,。

1 4×4整數變換量化核的原理

在以前的視頻編碼標準如MPEG-2和H.263中,,對于預測的殘差數據都是采用8×8離散余弦變換(DCT)[1]作為變換的基本運算操作;而在H.264/AVC編碼標準中,,則采用類似DCT變換形式的基于4×4 像素塊的整數變換。由于變換塊的尺寸縮小,,運動物體的劃分更精確,,而且運動物體邊緣處的銜接誤差大為減小。

對于整數變換方式,,4×4像素塊的變換公式[3]為:
  
式中,,(CXCT)是二維變換核,Ef是縮放因子矩陣,,符號表示CXCT矩陣里的每個元素和Ef矩陣中相同位置的元素相乘,,a=1/2,b=,。為了更有效地壓縮數據,,需要利用量化的方法對變換后的數據進行有損壓縮,。同時,由于整數變換需要利用矩陣行向量的歸一化因子進行系數縮放處理,,為降低變換的運算量,,在H.264/AVC標準中將變換的系數縮放并進行量化運算處理,避免了復雜的實數運算和除法運算,,更有利于硬件的實現,。
對于量化方式,正向量化運算可由如下公式[3]實現:
  
式中,, Zij為量化后的系數,;Wij為變換矩陣W=CXCT中的元素;MF=·2q,PF稱為縮放系數,,根據元素在陣列塊中的不同位置,,其取值如表1所示,Qstep為量化步長,,由0至51共52個量化參數QP決定,,QP增加1, Qstep增加12.5%,; q=15+QP/6,,QP/6取整數;對于幀內宏塊f取2q/3,,幀間宏塊f取2q/6,。需要指出的是,MF的值可根據PF和QP的取值經簡單計算得到,,并可形成表格,,通過查表方式便可實現硬件運算,并有效地提高了運算速度,。


2 4×4整數變換量化核的優(yōu)化設計

  為進一步提高硬件運算速度,,減少硬件開銷,設計中采用了如下優(yōu)化方法:

(1)在求取變換陣W=CXCT時,,根據變換的對稱性,,將X的列變換(矩陣左乘)與行變換(矩陣右乘)分開實現,把二維變換分割為兩次一維變換,,并采用快速堞形算法[4]來實現,。一維變換的快速算法實現如圖1所示,其中的列變換可用如下算式表示:
  
對于每列變換,,需要進行8次加法和2次移位運算,,而行變換則可根據矩陣轉置的性質ABT=(BAT)T,將經過列變換后的結果矩陣先進行轉置,再采用相同的變換形式運算,。這樣對4×4點數據做一次變換,,只需通過8×8次加法和2×8次移位運算便可完成。

(2)針對不同運算的位寬需要,,設計專用的加法器和乘法器,。本文對整數變換中的加法器采用三級流水線加法器,實現9位加法,,每級流水線完成三位超前進位加法,,將邏輯延遲限制在三位加法器之內。圖2給出了9位加法器的流水線實現框圖,。選用EPF10K10LC84-3作為適配器件,,經過Synplify Pro 7.3綜合,結果表明這種加法器具有較優(yōu)的最高工作頻率和硬件開銷,。如表2所示, 常規(guī)加法器的最高工作頻率為37.0MHz,,消耗資源卻為28LC,而經過優(yōu)化的三級流水線加法器在消耗資源增加不多的情況下,,其最高工作頻率相比常規(guī)加法器提高了257%,,達到94.5MHz。

在量化過程中,,對于給定的量化參數QP,, MF只有三種取值,因此乘法實現可以采用無符號數乘法運算,,乘法結構則采用16×14位加法樹乘法器,。這樣,在提高運算速度的同時節(jié)約了芯片面積,。

(3)對于f的計算,,在不影響運算精度的情況下本文采用近似處理。為了避免除法運算,,將f的計算式變形,,即:
f=2q/3=(215/3)×2m≈[(215+1)/3]×2m≈10923×2m
式中, m取值為0~8,,具體由相應的QP給出,。由于f在完成加法運算后其結果還需左移q位,所以計算精度不會受影響,。這樣,對f的計算只需進行移位操作,。

3 4×4整數變換量化核硬件實現

基于上述算法原理及其設計,,本文首先對4×4整數變換量化模塊進行C語言編程,驗證了該模塊所采用算法的正確性。然后采用Verilog HDL語言描述4×4整數變換和量化核(幀內模式)的硬件功能,,并通過仿真軟件Modelsim SE 5.7進行功能仿真,,驗證了該模塊輸出結果與設計要求相一致。最后采用Synplify Pro7.3綜合工具,,并以Altera公司的Stratix系列FPGA作為主要目標適配器件進行綜合,。

  4×4整數變換量化核的二大子模塊的綜合結果如表3所示,表中同時給出經本文優(yōu)化設計前后的綜合結果作為對比,??梢姡洷疚牟捎玫娜N優(yōu)化設計處理后,,在硬件開銷改變不大情況下,,變換子模塊的最高工作頻率達到59.4MHz,是未優(yōu)化前的1.73倍,,而量化子模塊的最高工作頻率達到55.8MHz,,是未優(yōu)化前的1.82倍。4×4整數變換量化核的最高工作頻率取各子模塊的最低頻率,,這樣其優(yōu)化后的最高工作頻率是55.8MHz,,相比優(yōu)化前的30.7MHz提高了82%。

本文對H.264/AVC協(xié)議中的4×4整數變換量化核從算法原理到硬件實現進行了分析和設計,。采用自頂向下的Verilog HDL設計流程,實現了4×4整數變換量化核硬件功能的優(yōu)化設計,,模塊的最高工作頻率提高了82%,為H.264/AVC視頻編碼標準的硬件實現提供了參考,。

此內容為AET網站原創(chuàng),,未經授權禁止轉載。