?

一種適合硬件實現的低復雜度MAD預測算法

2011-09-04 06:09殷海兵周冰倩
關鍵詞:宏塊碼率控制算法

王 佳,殷海兵,周冰倩

(中國計量學院信息工程學院,浙江杭州310018)

0 引言

碼率控制算法是在碼率受限的條件下通過動態的調整編碼參數來優化視頻質量。假如沒有進行碼率控制,當通過有限的信道帶寬傳送壓縮的比特流時緩沖區就會上溢或者下溢。在視頻編碼標準中,有幾種碼率控制算法已經被推薦作為參考算法,比如MPEG-2的TM5、H.263的TMN8、MPGE-4的VM8、H.264AVC的G012。一些MPEG-2或H.263的碼率控制算法已經有人提出了硬件實現方案[1]。對如H.264/AVC,它的碼率控制算法參考提案G012更為復雜,其直接硬件實現需要大量的門電路[2]。對如H.264/AVC視頻編碼器來說,G012的硬件消耗是非常大的,針對硬件實現的特點提出了一種適合硬件實現的碼率控制算法[3]。本文在H264/AVC編碼器Zig-zag宏塊編碼順序和宏塊級流水結構的基礎上,利用時域和頻域的相關性,提出了一種新的低復雜度MAD預測算法,解決了硬件實現時的數據依賴問題。

1 碼率控制硬件實現

通常硬件編碼器的實現面臨著兩個問題,數據吞吐和存儲帶寬。為了提高數據處理效率硬件編碼器通常采用Zigzag宏塊順序,宏塊級流水結構。兩者的結合導致碼率控制算法實現時復雜的數據依賴關系。并且G012算法MAD預測模塊的高復雜度會消耗大量的硬件資源。

1.1 Zig-zag宏塊編碼順序

硬件編碼器為了實現數據的水平和垂直復用,通常采用Zig-zag[4]宏塊編碼順序代替軟件實現時的光柵掃描順序。編碼順序的改變導致數據的水平和垂直的依賴關系改變,如圖1所示,每3個宏塊行采用Zig-zag宏塊編碼順序。

1.2 宏塊流水結構

通常情況下,H.264/AVC硬件編碼器宏塊級通常采用3級或者4級的流水結構。如圖2所示,在宏塊流水開始前,通過碼率控制(RC)模塊獲取Qp,依次經過整象素運動估計(IME),亞象素運動估計/幀內預測(FME/INTRAL),熵編碼/去塊效應濾波(EC/DB)3級流水[3]。

圖1 每3個宏塊行的Zig-zag宏塊編碼順序

圖2 3級宏塊流水結構

1.3 G012碼率控制算法MAD預測

H.264/AVC的碼率控制算法G012中,采用線性預測的方法計算MAD:

式中,兩個參數a1和a2采用線性回歸的方法進行更新。參數a1和a2的計算如下所示[3],計算復雜度很高,直接采用硬件實現,會消耗大量的硬件資源。

2 改進MAD預測算法

針對Zigzag宏塊編碼順序和宏塊流水結構所產生的數據依賴問題,以及MAD線性預測參數更新的高復雜度,提出了一種利用時域和空域相關性來預測當前編碼宏塊MAD值。如圖3所示,當前編碼宏塊MB(n,i),MB(n-1,i)為前一幀相同位置宏塊,MBU和MBL分別當前編碼宏塊上方和左邊宏塊,MBA、MBB和MBC位置依次如圖3所示。由于每3個宏塊行采用Zigzag宏塊編碼順序的特殊性,當前編碼宏塊只有上方和左邊已編碼宏塊可以用來進行預測。根據觀察和數據分析,MBL和MBU已經前一幀相同位置MB(n-1,i)的相關性最大,可以直接采用這3個已編碼宏塊來預測當前宏塊值。綜合考慮3級宏塊流水結構和邊界情況,具體MAD預測流程如圖4所示,其中w1和w2的值為7/8和3/4,。

圖3 當前預測宏塊和周圍宏塊

圖4 MAD預測流程圖

3 實驗結果

本次實驗基于JM10.2參考模型,改變宏塊編碼的光柵掃描順序為每3個宏塊行的Zigzag編碼順序,然后進行碼流重排,并仿真本文提出的低復雜度MAD預測算法。測試序列分別為低速運動序列“News”,高速運動序列“Foreman”和“Carphone”,復雜序列“Mobile”。測試碼率分別為 60,80,100,120kbps。實驗結果如表1,圖5所示。

表1 實驗結果對比

4 結束語

表1、圖5中,在相同的碼率條件下可以保持與G012相同的PSNR,視頻質量沒有降低,但MAD預測部分復雜度大大降低。如表2所示,其中n表示一幀中的宏塊數目,與原始算法G012相比,Zig-zag編碼情況下MAD預測部分復雜度降低了92%,并解決了數據依賴問題,適合硬件實現。

圖5 Foreman和Carphone測試序列率失真曲線

表2 算法復雜度對比

[1] ChenChing-Yeh,Huang Chao-Tsung,Chen Yi-Hau,etal.Level C+Data Reuse Scheme for Motion Estimation With Corresponding Coding Orders[J].IEEE Transactions on CSVT,2006,16(4):553 -558.

[2] Chang Hsiu-Cheng,Chen Jia-Wei,Su Ching-Lung,etal.A 7mw to 183mw dynamic quality-scalable H.264 video encoder chip[C].San Francisco:IEEE International Conference,2 007:280 -603.

[3] Kuo Chih-Hung,Chang Li-Chuan,Fan Kuan-Wei,etal.Hardware/Software Codesign of a Low-Cost Rate Control Scheme for H.264/AVC[J].IEEE Transactions on CSVT,2010,20(2):250 -261.

[4] Wu Ping-Tsung,Chang Tzu-Chun,Su Ching-Lung,etal.A H.264 basic-unit level rate control algorithm facilitating hardware realization[C].Las Vegas:IEEE International Conference,2008:2 158 -2 188.

[5] Yin Hai bing,Qi Hong gang,Jia Huizhu,etal.Efficient Macroblock Pipeline Structure in High Definition AVS Video Encoder VLSI Architecture[C].Paris:IEEE International Conference,2010:669 -672.

猜你喜歡
宏塊碼率控制算法
一種基于HEVC 和AVC 改進的碼率控制算法
基于FPGA的多碼率卷積編碼器設計與實現
基于狀態機的視頻碼率自適應算法
基于ARM+FPGA的模塊化同步控制算法研究
基于選擇特征宏塊的快速視頻穩像
一種優化的基于ARM Cortex-M3電池組均衡控制算法應用
多光譜圖像壓縮的聯合碼率分配—碼率控制方法
滑??刂扑惴ㄔ谠诰€式大功率UPS高頻整流器中的應用
一種非圓旋轉工件支撐裝置控制算法
基于宏塊合并的H.264模式選擇算法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合