《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > H.264中自適應二進制算術編碼器的FPGA實現

H.264中自適應二進制算術編碼器的FPGA實現

2009-07-08
作者:王 琨,劉大茂

??? 摘? 要: H.264是目前國際上最新、最有前途的視頻壓縮標準,基于上下文的自適應二進制算術編碼是H.264中一種高效的熵編碼,但算法比較復雜,執行速度不高。本文提出一種基于流水線的自適應二進制算術編碼器的FPGA結構。在實現過程中,對原有的軟件流程進行了部分改進以滿足硬件實現要求,采用流水線及并行處理技術設計整個電路。?

??? 關鍵詞: 算術編碼;FPGA;流水線;H.264

?

??? 隨著HDTV與視頻會議的興起,H.264視頻編解碼技術由于其具有更高的壓縮比、更好的圖像質量和良好的網絡適應性而備受關注。基于上下文的自適應二進制算術編碼是H.264標準中的關鍵技術之一[1],它充分考慮了視頻流的相關性,能適應信號統計特性的變化,容易達到漸進性能,是一種高效的熵編碼方法。其不足是復雜度大[2],這使得單純用軟件編碼難以達到很高的性能,特別是對于實時應用,由于高清晰度視頻不能實現實時編碼,就需要硬件加速或者設計專門的硬件編碼電路。?

??? 隨著現場可編程陣列FPGA的容量、功能以及可靠性的不斷提高,采用FPGA設計自適應算術編碼器成為一個新的途徑。本文充分利用FPGA高速、實時的特點,對原編碼器算法進行優化,采用并行運算及流水線設計,最終在FPGA上以較優的速度和資源實現了硬件編碼。?

1 自適應二進制算術編碼的原理?

??? 自適應二進制算術編碼的編碼過程分為概率估計、二進制算術編碼以及區間分割與重整三部分,如圖1。?

?

?

??? 系統以待編碼比特(Bin)以及上下文編號(CtxIdx)為輸入,其概率模型包括低概率符號(LPS)和高概率符號(MPS)的概率狀態(StateIdx)。概率估計模塊分為概率狀態的初始化和重置與概率模型的更新兩部分。概率狀態的初始化和重置是指在H.264的基本編碼單元——片開始時,某些預定義的概率狀態通過特定的概率模型進行初始化。概率模型的更新是指:除一個外,所有概率模性均是自適應模型,在每個符號被編碼后會自動更新概率模型。LPS量化后的概率值以σ為編號,進行如圖2所示的刷新。刷新的具體過程見參考文獻[3]。H.264標準中采取概率狀態轉移表的方式實現概率狀態更新。?

?

?

??? 二進制算術編碼部分采用表格的方式避免了乘法運算。算術編碼器內在狀態被描繪為兩個量:當前間隔范圍R和當前編碼基礎L 。對于Bin的主要編碼流程如圖3所示,包括R通過給定的概率估計細分,概率模型的更新以及重整,具體流程解釋見參考文獻[3]。?

?

?

??? 區間分割與重整部分主要是對編碼器存儲精度的控制。在CABAC編碼器中存儲精度要求在8~9位,即如果新的區間范圍R不在合法范圍[28,29]之內,則需要進行重整化操作。每個周期重整化都要被執行,輸出一位或多位數據。?

2 自適應算術編碼器的改進?

??? H.264標準中的CABAC編碼流程是串行的,適合軟件實現,但執行速度很慢且效率低下。而硬件實現的最大優勢在于其并行性,可以大大提高執行效率。因此,為了設計出高速的編碼器電路,在不改變算法實質的前提下,將標準中的編碼流程進行相應的改進,以利于硬件實現。本文主要提出以下改進措施:?

??? (1)對概率狀態轉移表的改進。H.264中對于概率狀態的轉移通過概率模型索引pStateIdx進行表征。在進行概率狀態轉移時,首先判斷當前Bin是否為MPS,然后再對該Bin查概率狀態表進行狀態轉移,見表1。對概率狀態表的硬件實現通常是采用RAM或寄存器堆搭建而成。經過深入分析,發現表中transIdxMPS的值正好是索引pStateIdx值(除62和63以外)加1所得,故對于(pStateIdx,transIdxMPS)表的實現,不再采取RAM方式,而是以選擇器和加法器的方式實現,改進后流程如圖4。經過硬件驗證,發現優化后的面積為原來面積的90%,且不改變關鍵路徑。?

?

?

?

??? (2)對于LPS對應的碼字區間寬度R的查找表的改進[4]。如前所述,在CABAC中算術編碼采用基于表格的查找法,故區間寬度R的值對應于64×4的RangeLPS表。在設計中,采用64×4的ROM來存放數值。但是依照H.264標準設計,ROM的入口地址不僅取決于6 bit的概率狀態索引值σ,還取決于區間寬度參數ρ的值,這種數據依存關系無疑增加了運算量。且輸出是串行,不利于流水線設計,這樣就將降低了系統的時鐘頻率。故采用一種并行設計方案,以σ為輸入地址查表,結果得到4個不同的輸出,將它們鎖存后,利用多路選擇器以R[7:6]作為控制端選出所需的值。兩種不同的實現方式見圖5。?

?

?

??? (3)對區間重整模塊的改進。在重整過程中,必須滿足R在[28,29]范圍內,每次遞歸運算后,R可能會變得更小,所以要保持上述要求,就需要對寄存器進行由低位向高位的移位,同時空出來的低位補零,直到第一個非零位在寄存器允許的取值范圍移到最高位。當然L也要通過移位與R保持一致的精度。用軟件完成概率區間重整需要多次循環,直接串行實現還將占用數量不等的時鐘周期。經過仔細研究發現,重整化的循環次數count等于R二進制化值前導零的數目。故R值的更新很簡單,只要R左移count位即可,在硬件設計中直接采取移位寄存器即可完成。對于L值的更新較復雜,如果L值移出的count位全為1,則重整化后的L值即為原L值移位count位后的值;否則將移位后L值的最高位置0。總之,采用分離R與L重整的優化方法,使其不必在編碼時相互等待,從而加快二元判決編碼的速度,改善編碼性能。?

3 自適應二進制算術編碼器的FPGA實現?

??? 根據上節的改進編碼流程,將整個編碼器設計為三個主要模塊:概率估計模塊、二進制算術編碼模塊、區間分割與重整模塊,如圖6所示。電路實現主要分為6級流水線。在第1級流水線中,輸入數據進入上下文模型,讀取相應數據供后級調用。第2級流水線包含兩個模塊:概率估計模塊和二進制算術編碼模塊。在軟件實現中,這兩個模塊是串行的,但在硬件設計中,本文抽取兩個模塊的輸入端,同時給它們數據,使其達到并行計算,提高了編碼速度。在第3級流水線中,進行的是概率區間R的重整與上下文模型的更新。這也是兩個并行運算,同時由于L重整要用到R重整的相關參數,因此放在下一個流水線。第4級流水線完成L的重整。第5級流水線實現數據的最后輸出。?

?

?

??? 在電路設計中,為實現流水線及并行計算,一些關鍵的模塊不可忽略。如采用加法器與選擇器完成狀態轉移表,節約面積;采用移位寄存器完成區間重整,減少運算復雜度,縮短關鍵路徑;采用幾個模塊并行執行,提高時鐘頻率等。?

4 電路仿真及性能分析?

??? 本文的算法經過VC++仿真驗證,可對H.264標準中的主要視頻碼流進行編碼,其結果與H.264標準程序JM8.6相同。電路結構采用Verilog語言進行RTL級描述,并用modelsim6.0軟件仿真通過。仿真波形如圖7所示。?

?

?

圖7? 仿真波形

?

??? 由圖7可以看出,數據輸出周期數不確定。這是因為,在輸出模塊對數據進行整理時,其產生的有用數據位數不確定,而只有達到32位時才進行輸出,故輸出數據的周期性也不確定。?

??? 電路在spartan3 FPGA上進行綜合、布局布線,使用Synplify工具進行綜合,最高時鐘頻率為90.4 MHz。將綜合好的edif電路網表文件輸入到后端由FPGA廠商Xilinx提供的Foundation軟件進行布局布線,生成二進制流文件,邏輯單元為769,占總資源的22%。?

??? 使用本文設計的電路對H.264標準中一些標準視頻序列進行測試,序列質量為QP=28,并與H.264標準程序JM8.6、文獻[5]中H.264的MQ編碼器以及文獻[6]中JPEG2000的MQ編碼器的編碼時間作比較,得出如表2所示的結果。?

?

?

??? 綜上,本文設計的算術編碼器在速度上較軟件實現及其他硬件電路實現有較大提升,資源占用率也較少,不僅能完成H.264標準中基本檔次的編碼,還有望應用于更大尺寸、更高質量的實時視頻壓縮編碼。?

??? 本文在對H.264標準中自適應二進制算術編碼器研究和分析的基礎上,提出其FPGA電路結構,采用流水線方式實現了電路。本結構經spartan3 FPGA實現,吞吐量為每周期1 bit,最大時鐘頻率為90.4 MHz,能夠適應H.264中level3及以上檔次實時視頻編碼的要求。?

參考文獻?

[1] OSORIO O,BRUGUERA J.Arithmetic coding architecture?for H.264/AVC CABAC compression system.in Proc.Euromicro Symposium on Digital System Design,2004:62-69.?

[2] MARPE D,SCHWARZ H,WIEGAND T.Context-based?adaptive binary arithmetic coding in the H.264/avc video?compression standard[J].IEEE Circuits and Systems for?Video Tech,2003,13(7):620-635.?

[3] Joint video team(JVT) of ISO/IEC MPEG and ITU-T?VCEG draft ITU-T recommendation and final draft international standard of joint video specification[S].Pattaya,Thailand:Final Committee Draft,Document JVT-G050,7th?Meeting,2003:7-14.?

[4] BOSSEN F.CABAC cleanup and complexity reduction.in?Joint Video Team of ISO/IEC JTC1/SC29/WG11 & ITU-T?SG16/Q.6 Doc.JVTE086,Geneva,Switzerland,2002(10).?

[5] V H Ha,W -S.Shim,J.-W.Kim.Real-time MPEG-4?AVC/H.264 CABAC entropy coder,in Proc.Int.Conf.Comsumer Electron.(ICCE),2005:255-256.?

[6] 華林,朱珂,張倩苓,等一種適用于JPEG2000的高速MQ編碼器的VLSI實現.固體電子學研究與進展,2002,23(4).

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
欧美激情办公室aⅴ_国产欧美综合一区二区三区_欧美午夜精品久久久久免费视_福利视频欧美一区二区三区

          午夜精品免费| 免费在线看成人av| 狠狠狠色丁香婷婷综合激情| 国产精品久久久久久久久久免费 | 国产一区二区三区直播精品电影| 欧美性大战久久久久久久| 欧美日产一区二区三区在线观看| 欧美11—12娇小xxxx| 老司机成人在线视频| 久久久亚洲国产美女国产盗摄| 久久av一区二区三区亚洲| 久久成人精品无人区| 久久免费99精品久久久久久| 久久精品亚洲精品| 久久久亚洲欧洲日产国码αv | 久久狠狠久久综合桃花| 欧美综合激情网| 久久久久久久一区二区| 久久久夜精品| 欧美xart系列高清| 欧美二区在线观看| 欧美女人交a| 欧美性理论片在线观看片免费| 欧美视频在线观看 亚洲欧| 欧美日韩在线免费| 国产精品久久久久久久久免费| 国产精品日韩久久久久| 国产午夜亚洲精品不卡| 精品69视频一区二区三区| 亚洲国产精品高清久久久| 99riav国产精品| 亚洲专区一区| 欧美中文字幕精品| 麻豆精品视频| 欧美日本久久| 国产精品日韩久久久久| 国产一区二区在线观看免费| 精品动漫3d一区二区三区免费| 91久久精品日日躁夜夜躁国产| 99视频日韩| 午夜伦欧美伦电影理论片| 久久av一区| 欧美国产精品v| 国产精品分类| 激情综合久久| 99香蕉国产精品偷在线观看| 亚洲欧美bt| 久久人人97超碰精品888 | 欧美午夜片在线观看| 国产日韩欧美亚洲| 亚洲国产毛片完整版| 亚洲一区二区欧美日韩| 久久视频在线免费观看| 欧美日韩一区二区三区四区五区 | 亚洲第一久久影院| 亚洲视频专区在线| 久久精品国产清高在天天线| 欧美精品videossex性护士| 国产精品一二一区| 亚洲欧洲精品成人久久奇米网| 亚洲一区免费网站| 久久精品免费电影| 欧美日韩亚洲一区二| 国产亚洲精品aa午夜观看| 亚洲人体一区| 久久国产精品高清| 欧美日本精品| 激情亚洲网站| 亚洲永久免费观看| 欧美a级一区| 国产女精品视频网站免费| 日韩午夜高潮| 老司机67194精品线观看| 国产欧美日韩三级| 一本大道久久a久久精二百| 久久免费黄色| 国产欧美一区二区三区沐欲| 99国内精品久久久久久久软件| 久久大香伊蕉在人线观看热2| 欧美伦理在线观看| 国语自产精品视频在线看| 这里只有精品丝袜| 蜜臀av国产精品久久久久| 国产免费成人在线视频| 一本久道综合久久精品| 久久夜色精品国产| 国产日韩欧美在线观看| 亚洲网站在线| 欧美激情a∨在线视频播放| 韩国精品在线观看| 午夜精品久久久久久久99樱桃| 欧美日韩国产综合网 | 亚洲伦理一区| 鲁大师成人一区二区三区| 国产网站欧美日韩免费精品在线观看| 一本色道久久综合一区| 欧美高清视频一区二区| 狠狠狠色丁香婷婷综合久久五月| 亚洲综合首页| 国产精品九九久久久久久久| 日韩亚洲视频| 欧美日韩国产在线播放网站| 亚洲精品久久久久久久久| 你懂的网址国产 欧美| 精品av久久707| 久久久久久久久久久久久女国产乱 | 久久久综合视频| 韩国在线视频一区| 久久精品道一区二区三区| 国产欧美一区二区三区在线看蜜臀| 亚洲一区二区三区免费在线观看 | 欧美日本国产一区| 亚洲精品国产精品国产自| 女人天堂亚洲aⅴ在线观看| 在线不卡中文字幕| 久久亚洲色图| 在线成人小视频| 久久综合精品国产一区二区三区| 狠狠色伊人亚洲综合网站色| 久久久欧美一区二区| 黄色成人在线网址| 巨胸喷奶水www久久久免费动漫| 国内精品久久久久影院优| 久久爱91午夜羞羞| 国内久久婷婷综合| 久久米奇亚洲| 亚洲电影av在线| 嫩模写真一区二区三区三州| 亚洲国产精品t66y| 欧美激情中文字幕乱码免费| 亚洲国产一区二区三区在线播| 美国十次成人| 亚洲黄页一区| 欧美日韩精品免费看| 这里只有视频精品| 国产精品人人做人人爽人人添| 午夜精品影院| 狠狠久久五月精品中文字幕| 鲁鲁狠狠狠7777一区二区| 亚洲国产影院| 欧美日韩国产高清视频| 亚洲午夜在线观看| 国产色婷婷国产综合在线理论片a| 久久精彩视频| 在线精品在线| 欧美精品一区二区精品网| 亚洲性人人天天夜夜摸| 国产午夜亚洲精品理论片色戒| 久久人人九九| 亚洲理论电影网| 国产精品视频xxx| 久久躁日日躁aaaaxxxx| 亚洲精品在线看| 国产精品日韩一区二区| 久久国产精品99精品国产| 亚洲国内精品| 欧美小视频在线| 久久riav二区三区| 亚洲激情不卡| 国产精品久久九九| 久久久久久久性| 日韩视频精品在线| 国产精品青草久久| 久久久久久久久久久久久女国产乱| 亚洲国产精品v| 欧美日韩亚洲国产精品| 久久电影一区| 日韩一级黄色片| 国产亚洲激情在线| 欧美另类视频在线| 欧美在线一二三四区| 亚洲精品日韩在线| 国产亚洲成av人在线观看导航| 欧美超级免费视 在线| 亚洲欧美制服另类日韩| 亚洲国产综合视频在线观看| 国产女主播一区二区三区| 欧美护士18xxxxhd| 久久国产精品99国产精| 一本色道婷婷久久欧美| 在线播放不卡| 国产九色精品成人porny| 欧美激情a∨在线视频播放| 欧美一二三视频| 99精品视频免费观看| 狠狠色丁香久久婷婷综合丁香| 欧美涩涩视频| 鲁鲁狠狠狠7777一区二区| 午夜日韩在线观看| 日韩一级欧洲| 极品av少妇一区二区| 国产精品久久久久久久久免费| 你懂的视频欧美| 久久精品久久99精品久久| 亚洲愉拍自拍另类高清精品| 亚洲三级电影在线观看| 狠狠爱综合网| 国产色婷婷国产综合在线理论片a| 欧美日韩成人综合在线一区二区| 久久精品中文字幕一区二区三区|