国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

分?jǐn)?shù)像素運動估計的VLSI結(jié)構(gòu)設(shè)計*

2010-06-07 02:04:02王慶春何曉燕曹喜信
電視技術(shù) 2010年6期
關(guān)鍵詞:宏塊子塊插值

王慶春,何曉燕,曹喜信

(1.安康學(xué)院 電子與信息技術(shù)研究中心,陜西 安康 725000;2.北京大學(xué) 軟件與微電子學(xué)院,北京 102600)

1 引言

分?jǐn)?shù)像素運動估計(Fractional Motion Estimation,F(xiàn)ME)是H.264/AVC標(biāo)準(zhǔn)中實現(xiàn)幀間預(yù)測編碼的重要技術(shù),其主要功能包括分?jǐn)?shù)像素插值、拉格朗日模式選取和運動補償;雖然它對編碼壓縮性能有0.5~2 dB的提升[1],但由于其預(yù)測運算流程復(fù)雜,功能子模塊多,實現(xiàn)結(jié)構(gòu)復(fù)雜,硬件利用率低,成為H.264/AVC編碼器芯片設(shè)計中的難點。為了提高編碼器的硬件效率,F(xiàn)ME的結(jié)構(gòu)設(shè)計需要在設(shè)計方法上根據(jù)具體的系統(tǒng)需求,遵循面積和速度的平衡與互換設(shè)計原則,盡可能地通過功能模塊復(fù)用來減小FME模塊的硬件實現(xiàn)代價,開發(fā)出與之相適應(yīng)的、高效的VLSI設(shè)計結(jié)構(gòu)。

在H.264/AVC視頻編碼器的VLSI設(shè)計中,由于編碼系統(tǒng)的目標(biāo)檔次、編碼圖像的大小和使用范圍有較大差別,這就給FME的數(shù)據(jù)處理能力提出了不同的具體要求。只有針對具體編碼需求的FME設(shè)計才是優(yōu)化的;而不能盲目地追求運算速度或最小化面積。根據(jù)H.264/AVC的編碼數(shù)據(jù)流程合理使用并行處理結(jié)構(gòu)、時序串行和流水處理結(jié)構(gòu)來優(yōu)化設(shè)計FME的1/2像素運動估計、1/4像素運動估計、宏塊編碼模式選?。ɡ窭嗜漳J脚袛啵┖蛶g運動補償(MC)等4個基本功能模塊,在芯片面積和編碼速度之間尋求最佳的平衡。筆者針對不同的H.264/AVC視頻編碼系統(tǒng),提出了4種FME的VLSI結(jié)構(gòu)設(shè)計來滿足不同的編碼需求。

2 基于硬件實現(xiàn)的分?jǐn)?shù)像素運動估計

H.264/AVC視頻編解碼標(biāo)準(zhǔn)中的幀間運動估計使用了可變塊、多參考幀和率失真優(yōu)化(RDO)技術(shù)而獲得了較高的視頻編碼效率,同時這些復(fù)雜算法也使編碼運算過程變得更加復(fù)雜[1-3]。這些技術(shù)具體到FME中,首先,要求在每個參考幀中對宏塊的7種分割子塊 (41個子塊)依次進(jìn)行1/2像素的運動估計和1/4像素的運動估計;然后,在1/4像素運動搜索結(jié)的基礎(chǔ)上進(jìn)行宏塊編碼模式選取 (8×8塊編碼模式和16×16塊編碼模式判斷);最后,根據(jù)得到的最佳宏塊編碼模式再進(jìn)行幀間運動補償(亮度殘差計算)。而且,上述的分?jǐn)?shù)像素運動估計和宏塊編碼模式選取都是要通過計算率失真代價 (RD_cost)來完成的;這里的率失真代價計算不但包括了編碼失真度SAD/SATD(絕對誤差和/絕對變換差和),而且還要考慮編碼運動矢量(Motion Vector,MV)的編碼代價(編碼比特數(shù))、參考幀的編碼代價和預(yù)測編碼模式代價[2,4-5]。

在基于宏塊(16×16)流水的H.264/AVC視頻編碼器芯片設(shè)計中,F(xiàn)ME的VLSI設(shè)計主要面臨著以下方面的挑戰(zhàn):首先,在分?jǐn)?shù)像素運動估計過程中參與運算的數(shù)據(jù)量大。對于1個16×16宏塊需要進(jìn)行分?jǐn)?shù)像素匹配運算的子塊數(shù)目達(dá)到41×n個,n表示參考幀數(shù)目,并且子塊的大小各異(4×4~16×16)。 對于多參考幀的視頻編碼系統(tǒng),待運算的子塊數(shù)會成倍增長,這就要求必要的并行處理結(jié)構(gòu)來滿足系統(tǒng)的編碼運算速度需求。

其次,F(xiàn)ME中的分?jǐn)?shù)像素要求插值到1/4精度 (亮度信號),要先用6階濾波器(FIR)完成1/2像素插值,再進(jìn)行雙線性1/4像素插值,插值后的數(shù)據(jù)量就會劇增。1個4×4子塊(128 bit)對應(yīng)的1/2像素匹配搜索區(qū)是9×9(648 bit),1/4 像素搜索區(qū)是 19×19(2888 bit),并且這些插值得到的分?jǐn)?shù)像素會在1/2像素運估計、1/4像素運動估計和幀間運動補償這3個過程中重復(fù)使用,所以盡可能利用過程數(shù)據(jù)復(fù)用就能有效減小硬件實現(xiàn)代價。

最后,宏塊的編碼模式選取(拉格朗日模式判斷)過程極其復(fù)雜。這是因為宏塊的編碼模式選取是在得到所有參考幀的所有子塊(41×n個)的1/4像素運動估計的率失真(RD_cost)代價后進(jìn)行的,要在259種可能分割模式中確定出1種模式;并且宏塊的編碼模式選取又包括針對所有參考幀的16×16宏塊編碼模式選取和針對每個參考幀的8×8子塊編碼模式選取這2個過程,把這個宏塊編碼模式選取過程映射到VLSI硬件結(jié)構(gòu)設(shè)計上也是一個難點。

3 FME的VLSI結(jié)構(gòu)設(shè)計

3.1 全復(fù)用的FME結(jié)構(gòu)

根據(jù)文獻(xiàn)[5-6]中的復(fù)用設(shè)計思想,得到全復(fù)用的FME設(shè)計結(jié)構(gòu)如圖1所示,其中,1/2像素運動估計、1/4像素運動估計(包括宏塊編碼模式選?。┖蛶g運動補償(MC)這3個數(shù)據(jù)處理階段是完全順序地進(jìn)行的。在全復(fù)用的FME設(shè)計結(jié)構(gòu)中,不同功能模塊的選擇組合就能實現(xiàn)不同階段的運算。圖1中的路徑①完成了1/2像素運動估計;路徑②完成了1/4像素運動估計和宏塊的幀間編碼模式選取;路徑③實現(xiàn)了幀間的運動補償,這樣的設(shè)計使得1/2像素插值單元的硬件利用率達(dá)到100%(3個運算階段復(fù)用),整個FME模塊的運算速度都要受到它的制約;1/2像素運動估計和1/4像素運動估計復(fù)用了一個計算SATD的4×4塊處理單元(PU)陣列(9個PU),分?jǐn)?shù)像素運動矢量代價計算的硬件結(jié)構(gòu)也是復(fù)用的。

全復(fù)用FME結(jié)構(gòu)雖然在每一步運動估計的內(nèi)部采用了36倍數(shù)據(jù)并行度,PU陣列使用了9個處理單元PU(每個PU并行計算同一行上相鄰4個像素的殘差和變換)來并行計算9個分?jǐn)?shù)像素匹配位置的失真度SATD值,但是FME的3個數(shù)據(jù)處理階段是順序執(zhí)行的,因此這樣的FME設(shè)計在數(shù)據(jù)處理能力上是很有限的,對于使用2個參考幀運動估計的H.264/AVC視頻編碼系統(tǒng),完成FME至少就需要3488個時鐘周期。如果要把它直接使用到H.264/AVC基本檔次(level 3,4個參考幀)、CIF 圖像格式(352×288)的實時(30 f/s)視頻編碼系統(tǒng)中,就要求有90 MHz以上的時鐘頻率。所以,這樣的全復(fù)用結(jié)構(gòu)FME比較適合于參考幀比較少的簡單視頻編碼系統(tǒng)。如果在FME模塊之前就解決了宏塊匹配的多參考幀問題,這樣的FME結(jié)構(gòu)也完全能夠應(yīng)用到復(fù)雜的H.264/AVC視頻編碼系統(tǒng)中。

3.2 部分模塊復(fù)用的FME結(jié)構(gòu)

H.264/AVC視頻編碼器的FME要對每一個參考幀的41個子塊(41個MV所對應(yīng)41個子塊)進(jìn)行1/2像素、1/4像素運動估計和8×8子塊編碼模式選取,而16×16宏塊模式選取和幀間運動補償是在所有參考幀運算結(jié)果的基礎(chǔ)上進(jìn)行的[7],所以對不同參考幀進(jìn)行的1/2像素、1/4像素運動估計、8×8子塊編碼模式選取可以采用并行處理結(jié)構(gòu)來實現(xiàn)硬件加速,提出的FME結(jié)構(gòu)如圖2所示。這個結(jié)構(gòu)中不同參考幀的數(shù)據(jù)處理是并行的,但是針對每個參考幀中41個子塊的1/2像素運動估計和1/4像素運動估計還是復(fù)用的VLSI設(shè)計。

圖2所示的FME結(jié)構(gòu)是針對H.264/AVC基本檔次(level 3,4個參考幀)的視頻編碼系統(tǒng),4個參考幀的分?jǐn)?shù)像素運動估計模塊是并行的結(jié)構(gòu),而在每個模塊的內(nèi)部,1/2像素和1/4像素的運動估計單元又是結(jié)構(gòu)復(fù)用的。在這個設(shè)計結(jié)構(gòu)中的宏塊編碼模式選取和幀間運動補償又是一個獨立的結(jié)構(gòu) (各有獨立的分?jǐn)?shù)像素插值單元),這樣的結(jié)構(gòu)雖然硬件實現(xiàn)代價比較高、對參考像素存儲器的訪問帶寬大,但是它的數(shù)據(jù)處理能力強、運算速度快,而且所能處理的參考幀數(shù)目也易于擴展(并行擴展并不改變FME的運算速度)。部分模塊復(fù)用的FME結(jié)構(gòu)對于2個參考幀的H.264/AVC視頻編碼系統(tǒng),完成FME只需要1824個時鐘周期。如果把它使用到H.264/AVC 基本檔次(level 3,4 個參考幀)、CIF 圖像格式(352×288)的實時(30 f/s)視頻編碼系統(tǒng)中,要求的最低時鐘頻率降低到22 MHz,這一點對降低芯片動態(tài)功耗是比較有利的。

3.3 流水處理的FME結(jié)構(gòu)

FME中的1/2像素運動估計和1/4像素運動估計雖然在整體上來說是要求順序執(zhí)行的,但是具體到每一個參考幀內(nèi)部41個子塊的1/2像素運動估計和1/4像素運動估計又可以安排成流水的處理結(jié)構(gòu) (子塊之間的流水處理),分成1/2像素運動估計和1/4像素運動估計兩級流水線完成。這樣可以很好地提高FME模塊的數(shù)據(jù)吞吐能力,但是整個流水線的控制比較困難,如圖3所示,在1/4像素運動估計流水級需要不定的等待時鐘周期(出現(xiàn)流水線氣泡)。

圖4的流水FME結(jié)構(gòu)和圖2的FME結(jié)構(gòu)相近,只是把圖2中復(fù)用的分?jǐn)?shù)像素運動估計部分替換成了基于流水的1/2像素運動估計和1/4像素運動估計。這樣的結(jié)構(gòu)可以使FME的使用周期數(shù)進(jìn)一步縮短,對于2個參考幀的H.264/AVC視頻編碼系統(tǒng),完成FME只需要1070個時鐘周期。如果把它使用到H.264/AVC基本檔次(level 3,4 個參考幀)、CIF 圖像格式(352×288)的實時(30 f/s)視頻編碼系統(tǒng)中,要求的最低時鐘頻率降低到了13 MHz。這種設(shè)計結(jié)構(gòu)會要求更高的硬件實現(xiàn)代價,對參考像素存儲器(局部存儲器)的訪問帶寬也會進(jìn)一步加大,而且由于1/4像素運動估計需要有不定時鐘周期數(shù)的等待時序(如圖3所示),使得分?jǐn)?shù)像素運動估計流水線控制變得比較困難。

3.4 基于數(shù)據(jù)緩存的FME結(jié)構(gòu)

圖4所示的FME流水結(jié)構(gòu)中,1/2像素運動估計、1/4像素運動估計和幀間運動補償都有獨立的分?jǐn)?shù)像素插值單元,但是從理論上講,1/2插值像素可以在1/4像素運動估計中復(fù)用(1/4插值是在1/2插值數(shù)據(jù)的基礎(chǔ)上進(jìn)行的),1/4插值像素也可以在幀間運動補償中復(fù)用。如果在FME設(shè)計中實現(xiàn)插值像素數(shù)據(jù)的復(fù)用,就可以降低參考像素存儲器的訪問帶寬和插值單元的數(shù)目[8],圖5是基于插值像素緩存的FME結(jié)構(gòu)。

基于數(shù)據(jù)緩存的FME結(jié)構(gòu)中,在1/2像素運動估計的同時要對1/2插值像素進(jìn)行緩存;1/4像素運動估計的同時要對1/4插值像素進(jìn)行緩存。1/2像素緩存數(shù)據(jù)的取出是要根據(jù)1/2像素運動估計的結(jié)果進(jìn)行選擇取出的;同樣,1/4緩存數(shù)據(jù)也是要根據(jù)宏塊編碼模式的選取結(jié)果進(jìn)行選擇取出的,很明顯這兩個存儲器的存儲數(shù)據(jù)有很大的冗余;并且存儲器的讀寫地址產(chǎn)生也是比較復(fù)雜的,但是這樣的結(jié)構(gòu)比較適合用FPGA來實現(xiàn) (FPGA內(nèi)部的內(nèi)嵌RAM單元可以得到充分的利用)。從理論上講,圖5的FME結(jié)構(gòu)的數(shù)據(jù)處理能力和圖4的結(jié)構(gòu)是一樣的,它對于2個參考幀的H.264/AVC視頻編碼系統(tǒng),完成FME也只需要1070個時鐘周期。如果把它使用到H.264/AVC基本檔次 (level 3,4個參考幀)、CIF圖像格式(352×288)的實時(30 f/s)視頻編碼系統(tǒng)中,要求的最低時鐘頻率也降低到了13 MHz。

4 小結(jié)

筆者提出了全復(fù)用、部分模塊復(fù)用、流水處理和數(shù)據(jù)緩存的4種FME的VLSI設(shè)計結(jié)構(gòu),其中全復(fù)用的FME處理結(jié)構(gòu)硬件利用率最高,但數(shù)據(jù)吞吐量最小、速度最慢,只適合于參考幀比較少的低檔次的H.264/AVC視頻編碼系統(tǒng)。基于流水處理和數(shù)據(jù)緩存的FME結(jié)構(gòu)都屬于高速并行處理的結(jié)構(gòu),都是以較高硬件代價來獲得較高的數(shù)據(jù)處理能力,而前者需要復(fù)雜的流水線控制時序、后者需要更大的片內(nèi)存儲器。部分模塊復(fù)用FME結(jié)構(gòu)是高速和低代價之間的折中設(shè)計方案,整體結(jié)構(gòu)中既有每一參考幀數(shù)據(jù)處理的復(fù)用,同時又有不同參考幀數(shù)據(jù)處理上并行特點,是一種中速的FME設(shè)計方案。

[1]Joint Video Team,Draft ITU-T Recommendation and Final DraftInternational Standard of Joint Video Specification,ITU-T Rec.H.264 and ISO/IEC 14496-10 AVC[S].2005.

[2]王慶春,何曉燕,曹喜信.H.264/AVC幀間宏塊編碼模式選擇的VLSI設(shè)計[J].電視技術(shù),2007,31(12):17-19.

[3]LIN Yu-kun,LIN Chia-chun,KUO Tzu-yun,et al.A hardware-efficient H.264/AVC motion-estimation design for high-definition video[J].IEEE Trans.Circuits and Systems,2008,55(6):1526-1535.

[4]王洪強,郝軍.H.264幀間模式快速判決[J].電視技術(shù),2006,30(6):10-12.

[5]OKTEM S,HAMZAOGLU I.An efficient hardware architecture for quarter-pixel accurate H.264 motion estimation[C]//Proc.the 10th Euromicro Conference on Digital System Design Architectures,Methods and Tools.Washington.DC.,USA:IEEE Computer Society,2007:444-447.

[6]CHEN T C,HUANG Y W,CHEN L G.Fully utilized and reusable architecture for fractional motion estimation of H.264/AVC[EB/OL].[2010-01-20].http://ieeexplore.ieee.org/Xplore/login.jsp?reload=true&url=http%3A%2F%2Fieeexplore.ieee.org%2Fiel5%2F9248%2F29347%2F01327034.pdf%3Farnumber%3D1327034&authDecision=-203.

[7]ZHAI Haihua,XI Zhiqi,CHEN Guanghua.VLSI implementation of subpixel interpolator for H.264/AVC encoder[C]//International Symposium on High Density packaging and Microsystem Integration,2007.Shang hai,China:[s.n.],2007:1-3.

[8]CHENTC,F(xiàn)ANGHC,LIANCJr,etal.Algorithmanalysisandarchitecture design for HDTV applications:a look at the H.264/AVC video compressor system[EB/OL].[2010-01-20].http://ntur.lib.ntu.edu.tw/handle/246246/141460.

猜你喜歡
宏塊子塊插值
基于八叉樹的地震數(shù)據(jù)多級緩存方法
基于八叉樹的地震數(shù)據(jù)分布式存儲方法研究
基于特征值算法的圖像Copy-Move篡改的被動取證方案
基于Sinc插值與相關(guān)譜的縱橫波速度比掃描方法
基于波浪式矩陣置換的稀疏度均衡分塊壓縮感知算法
一種改進(jìn)FFT多譜線插值諧波分析方法
基于四項最低旁瓣Nuttall窗的插值FFT諧波分析
基于選擇特征宏塊的快速視頻穩(wěn)像
Blackman-Harris窗的插值FFT諧波分析與應(yīng)用
基于宏塊合并的H.264模式選擇算法
漳州市| 屏东县| 霍山县| 扶沟县| 兴国县| 陵水| 内江市| 许昌县| 长治市| 筠连县| 沧州市| 肇东市| 营山县| 凤翔县| 新竹市| 藁城市| 云梦县| 新津县| 叙永县| 许昌县| 休宁县| 乾安县| 翁牛特旗| 宝清县| 淅川县| 大田县| 嘉义市| 连平县| 平昌县| 天台县| 和田县| 武城县| 娄烦县| 东方市| 贵南县| 广丰县| 合作市| 乌拉特中旗| 莎车县| 旬邑县| 南木林县|