《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 適用于AVS的高性能整像素運(yùn)動估計(jì)硬件設(shè)計(jì)
適用于AVS的高性能整像素運(yùn)動估計(jì)硬件設(shè)計(jì)
來源:電子技術(shù)應(yīng)用2013年第1期
吳燕秀1,,王法翔2
1.福州大學(xué) 物理與信息工程學(xué)院,,福建 福州350002; 2.福建省集成電路中心,,福建 福州350002
摘要: 提出了一種適用于AVS的高性能整像素運(yùn)動估計(jì)的硬件設(shè)計(jì),。該設(shè)計(jì)采用了二維內(nèi)置SAD加法樹計(jì)算陣列結(jié)構(gòu),通過合理的安排片上存儲,,極大地降低了I/O帶寬,;運(yùn)用了加1電路選擇進(jìn)位加法器,進(jìn)一步縮小了結(jié)構(gòu)面積,,提高了處理速度,。實(shí)驗(yàn)表明,使用SMIC 0.18 μm CMOS工藝庫在250 MHz頻率下綜合,,所提出的結(jié)構(gòu)只需102 K門,,滿足對AVS高清視頻實(shí)時(shí)處理的要求。
中圖分類號: TN919.81
文獻(xiàn)標(biāo)識碼: 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,,F(xiàn)uzhou 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

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

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

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

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

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

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

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

 

 

    本文針對AVS視頻標(biāo)準(zhǔn),,提出了一種適用于AVS的高性能整像素運(yùn)動估計(jì)硬件設(shè)計(jì),。采用二維內(nèi)置SAD加法樹計(jì)算陣列,,通過合理的安排片上存儲,優(yōu)化了加法器設(shè)計(jì),,大大提高了結(jié)構(gòu)的性能,。實(shí)驗(yàn)結(jié)果表明,本設(shè)計(jì)電路規(guī)模為102 K門,,處理一個(gè)宏塊只需要1 051個(gè)時(shí)鐘周期,,能夠以2 388.0搜索點(diǎn)數(shù)/秒門的效率對高清圖像進(jìn)行運(yùn)動估計(jì)。與同類設(shè)計(jì)相比,,本設(shè)計(jì)具有電路規(guī)模小,、處理速度快、I/O帶寬低等優(yōu)勢,。另外,,本設(shè)計(jì)還可以作為IP核嵌入到特定的處理器中,對AVS高清視頻進(jìn)行實(shí)時(shí)處理,。
參考文獻(xiàn)
[1] GB/T20090.2-2006.信息技術(shù)先進(jìn)音視頻編碼第二部分:視頻[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.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。