《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 適用于AVS的高性能整像素運動估計硬件設計
適用于AVS的高性能整像素運動估計硬件設計
來源:電子技術應用2013年第1期
吳燕秀1,王法翔2
1.福州大學 物理與信息工程學院,福建 福州350002; 2.福建省集成電路中心,福建 福州350002
摘要: 提出了一種適用于AVS的高性能整像素運動估計的硬件設計。該設計采用了二維內置SAD加法樹計算陣列結構,通過合理的安排片上存儲,極大地降低了I/O帶寬;運用了加1電路選擇進位加法器,進一步縮小了結構面積,提高了處理速度。實驗表明,使用SMIC 0.18 μm CMOS工藝庫在250 MHz頻率下綜合,所提出的結構只需102 K門,滿足對AVS高清視頻實時處理的要求。
中圖分類號: TN919.81
文獻標識碼: A
文章編號: 0258-7998(2013)01-0040-03
A high-performance hardware design of integer motion estimation for AVS
Wu Yanxiu1,Wang Faxiang2
1.Department of Physics and Information Engineering, Fuzhou University, Fuzhou 350002,China; 2.Fujian IC Center,Fuzhou 350002,China
Abstract: In this paper, a high-performance hardware architecture proper for integer motion estimation in AVS is presented. In this architecture, we propose 2D SAD adder tree-PE matrix with the data storage carefully organized to decrease I/O bandwidth,and use the add-one carry select adder so as to reduce the area of architecture and improve the processing speed . The experiment shows the proposed design can achieve 250 MHz only with gate count of 102 K by using SMIC 0.18 μm CMOS technology, and this design satisfies the requirement of high definition video.
Key words : AVS;video coding;integer motion estimation;hardware design

    音視頻編碼標準(AVS)是我國具有知識產權的第二代信源編碼標準[1]。近年來,AVS解碼器發(fā)展較為成熟,已有較多的國內外企業(yè)生產解碼芯片。但是,AVS編碼器還未發(fā)展到令人滿意的程度,在一定程度上限制了AVS的推廣。運動估計在AVS編碼器中主要用于消除時間冗余,以使視頻編碼達到更高的壓縮率。然而,其運算量巨大,占整個視頻編碼的60%左右。所以,在面積和功耗限制下設計專門的運動估計硬件結構成為當前研究熱點。

    AVS整像素運動估計的搜索算法很多,其中全搜索塊匹配算法因數據流規(guī)則匹配率高并且沒有復雜的動態(tài)反饋和決策邏輯,最適合可變塊大小運動估計,故本文選擇全搜索塊匹配算法?,F有的全搜索塊匹配算法運動估計硬件結構在面積及處理速度上已做了很多努力,如參考文獻[2-5]提出的實現方案:參考文獻[2]利用像素截斷的方法,將像素低位截斷,在保證圖像信噪比降低不多的情況下大大減少了運算量;參考文獻[3]提出了二維intra-Level SAD計算陣列的運動估計結構,在列方向上數據重用率可達到100%;參考文獻[4]和[5]提出的結構能夠實現100%的硬件處理器利用率,但是均存在I/O帶寬大的缺點。本文根據AVS整像素運動估計的特點,采用二維內置SAD加法樹計算陣列,通過合理安排片上存儲,極大地降低了I/O帶寬;運用了加1電路選擇進位加法器,進一步縮小了結構面積,提高了處理速度,實現了適用于AVS的高性能整像素運動估計硬件設計。
1 AVS運動估計算法
1.1 可變塊運動估計

    基于塊的運動估計,即找到當前幀的塊在參考幀中一定范圍內最匹配的塊所在的相對位置,這個相對位置稱為運動矢量。AVS標準中規(guī)定將16×16的宏塊進一步劃分為8×16、16×8、8×8的子塊,如圖1所示,這樣能夠提供更加精確的運動矢量預測。可變塊運動估計需要對每個宏塊的所有子塊進行塊匹配,即進行9次計算。本文采用如圖2所示的加法樹結構,所有的大塊由小塊簡單相加即可,大大減少了計算量[4]。

2 AVS整像素運動估計硬件設計
2.1 像素截斷

    由參考文獻[2]可知,適當地對像素的低位數據進行截斷,并不影響整個運動估計的結果。本文采用的方法并不是真正截斷數據,而是利用“與門”將輸入像素的低3位變?yōu)?,以減少運算量,降低功耗。
2.2 內置SAD加法樹計算陣列
    要實現高性能全搜索可變塊運動估計的硬件結構,需要滿足資源利用率高、PE個數少、I/O帶寬低等條件。本文采用參考文獻[3]提出的在計算陣列中內置加法樹的方法。計算陣列由8×8個處理單元(PE)及二維加法樹組成,如圖3所示。采用二維陣列結構提高了硬件資源的利用率;將當前像素儲存在陣列寄存器中,不需要反復讀入當前像素,PE個數由宏塊大小決定,不隨著搜索窗大小變化而變化;參考像素存儲在移位寄存器組中,每個移位寄存器存儲9個像素值,配合蛇形移動的數據傳輸方式,如圖4所示,參考塊數據輸入經過初始的8個移動周期后,寄存器組中正好存放著一個參考塊的像素值,之后的每次移動,寄存器組中的數據只需更新一行新的數據,而有7行數據是與上一個參考塊共享的, 這樣能實現列方向100%的數據重用率,有效地減少了I/O帶寬。整個設計結構有4個這樣的計算陣列,只需在開始計算時等待25個周期,以后的每個周期計算陣列都將輸出整個8×8塊的SAD值,保證了數據讀入過程中的時鐘不被浪費。

2.3 進位選擇加法器
    通過上文介紹的結構可知,每個計算陣列需要使用大量的加法器。當計算小塊SAD值時,不僅需要得到當前像素和一個參考像素的差的絕對值,而且需要累加整個塊的絕對差值;當計算大塊SAD值時,又需要將小塊SAD值進行累加。大量的加法器嚴重影響計算陣列的面積和處理速度,故本設計對加法器進行了改進。目前已有設計選擇使用超前進位流水線加法器,其處理速度雖然提高了很多,但是大量并行處理占用了比普通加法器更多的資源。由于進位選擇加法器比普通加法器處理速度快,占用的資源比超前進位加法器少,所以本設計選擇進位選擇加法器。
    傳統(tǒng)的進位選擇加法器使用兩個相同的行波法加法器計算高位的值,兩個行波法加法器分別假設進位為0和1并同時進行計算,等待正確的進位到來時,再選擇正確的結果輸出。這樣雖然可以縮短等待時間,但是占用面積較大。本文采用加1電路的選擇進位加法器,如圖5所示。高位加法器以固定進位為0進行計算。若正確進位為0,則加1電路不必進行計算,直接輸出結果;若正確的進位為1,則將此結果加1,得到進位為1的結果。加1電路如圖6所示,其中CS表示低位進位。如此,計算陣列的面積和功耗將會降低很多,處理速度也較快。

2.4 存儲器設計
    由于當前像素直接存放在陣列寄存器中,所以不需要設計緩沖器??紤]到參考塊一共有47×47個像素,且每個周期需要配合計算陣列蛇形輸入數據,因此采用片上RAM來緩存參考數據。將參考塊分為6個區(qū)域,每個區(qū)域大小為8×47個像素,用RAM0~RAM5來標識,如圖7所示。設計使用雙端口RAM,利用奇偶地址,讓32 bit雙端口RAM相當于64 bit單端口RAM。由于相鄰宏塊的搜索區(qū)域重疊部分占整個搜索塊的三分之二,按照本文的存儲器設計,當進行下一個宏塊的運動估計時,不需要更新整個參考塊的數據,只需更新其中兩個區(qū)域的數據即可,進一步減少了存儲帶寬,提高了數據的重用率。

3 仿真和結構分析
    本文提出了一種適用于AVS的高性能整像素運動估計硬件設計,使用了Verilog HDL語言進行RTL級描述,用AVS軟件RM52j的C程序產生測試碼流,應用了Modelsim 6.5c仿真平臺進行了邏輯功能的仿真驗證。采用Synopsys的Design Compiler在SMIC 0.18 ?滋m CMOS工藝庫下綜合,在最大頻率為250 MHz時,門數為102 K(未包括存儲器面積)。表1給出了運動估計硬件設計性能分析,這表明本文所設計的結構具有高性能、低帶寬的優(yōu)勢。表2將本文提出的結構與其他幾種運動估計結構進行了比較,其中引用了效率E作為一個重要的比較參數,E為結構每秒處理的搜索點數和實際面積的比值,具體公式見參考文獻[5]。通過比較可以看出,本設計與參考文獻[5]的設計均可實現對高清圖像的實時處理,但本設計的最快時鐘頻率提升了25%,面積減小了36.2%,效率提高了98%。

 

 

    本文針對AVS視頻標準,提出了一種適用于AVS的高性能整像素運動估計硬件設計。采用二維內置SAD加法樹計算陣列,通過合理的安排片上存儲,優(yōu)化了加法器設計,大大提高了結構的性能。實驗結果表明,本設計電路規(guī)模為102 K門,處理一個宏塊只需要1 051個時鐘周期,能夠以2 388.0搜索點數/秒門的效率對高清圖像進行運動估計。與同類設計相比,本設計具有電路規(guī)模小、處理速度快、I/O帶寬低等優(yōu)勢。另外,本設計還可以作為IP核嵌入到特定的處理器中,對AVS高清視頻進行實時處理。
參考文獻
[1] GB/T20090.2-2006.信息技術先進音視頻編碼第二部分:視頻[S].2006.
[2] He Zhongli,LIOU M I.Reducing hardware complexity of motion estimation algorithms using truncated pixels[C]. Proceedings of IEEE International Symposium on Circuits  and Systems,1997,4:2809-2812.
[3] CHEN C Y,CHIEN S Y,HUANG Y W,et al.Analysis  and architecture design of variable block-size motion estimation for H.264/AVC[J].IEEE Transactions on Circuits and Systems,2006,53(3):578-593.
[4] Deng Lei,Xie Xiaodong,Gao Wen.A real-time full architecture for AVS motion estimation[J].IEEE Transactions on  Consumer Electronics,2007,53(4):1744-1751.
[5] Cao Wei,Hou Hui,Tong Jiarong,et al.A high-performance  reconfigurable VLSI architecture for VBSME in H.264[J].  IEEE Transactions on Consumer Electronics,2008,53(4):1338-1345.

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