• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      H.264幀內4×4塊預測模式選擇及其IP核設計

      2010-09-29 11:27:34吳從中李本齋胡有剛
      關鍵詞:寄存器預測值總線

      吳從中,李本齋,胡有剛

      (合肥工業(yè)大學 計算機與信息學院,安徽 合肥230009)

      新一代視頻編碼標準H.264以其高復雜度為代價獲得了優(yōu)異的編碼效率,但運算復雜度的增加給實時編碼帶來了很大困難,因此H.264編碼器的硬件化是必然趨勢。隨著FPGA技術的發(fā)展,用SoPC實現(xiàn)H.264視頻信息的實時編碼是一種極佳的選擇。本文介紹的H.264幀內4×4塊預測模式選擇及其IP核是基于SoPC的H.264編碼器的一個硬件加速器。

      幀內預測是H.264/AVC的一個重要組成部分,它充分利用了幀內圖像的空間相關性,提高了壓縮效率,對編碼器整體性能的提高具有重要作用。在幀內預測編碼過程中,預測塊P基于已編碼重建塊和當前塊形成。對亮度像素而言,P塊用于4×4子塊或者16×16宏塊的相關操作。其中,4×4亮度子塊有9種可選預測模式,獨立預測每一個4×4亮度子塊,適用于帶有大量細節(jié)的圖像編碼。16×16亮度塊有4種預測模式,預測整個16×16亮度塊,適用于平坦區(qū)域圖像編碼;色度塊也有4種預測模式,類似16×16亮度塊預測模式。編碼器通常選擇使P塊和編碼塊之間差異最小的預測模式。實驗表明,H.264的幀內預測約占編碼總時間的29%,提高了幀內預測的速度,對實現(xiàn)實時編碼具有重要的意義。

      本文結合實際應用,通過對幀內預測模式選擇原理的分析,根據(jù)圖像空間方向的相關性,提出了一種適合于硬件實現(xiàn)的算法,并將其設計成IP核,作為PowerPC的一個硬件加速模塊在Xilinx Virtex-II PRO開發(fā)板中進行了驗證。

      1 基于抽樣的幀內預測模式選擇方法及硬件結構

      FS(全搜索)能達到很好的預測效果,而且易于硬件實現(xiàn),但計算量過大。本文提出的基于抽樣的模式選擇算法,不僅易于硬件實現(xiàn)而且減少了計算量。

      1.1 幀內預測的原理[1]

      如圖1(a)所示,4×4亮度塊包括標示為 a~p的16個待預測像素,與之相鄰的左上方標示為A~M為已編碼并重構的像素,幀內預測就是利用A~M來預測a~p。根據(jù)預測方向的不同,共有9種可選預測模式,其中DC預測(模式 2)根據(jù) A~M中已編碼像素預測,即當 A、B、C、D、E、F、G、H、I、J、K、L 都可用時,用(A+B+C+D+I+J+K+L)>>3來表示其所有像素;若 A、B、C、D可用而 I、J、K、L不可用,用(A+B+C+D)>>2來表示,反之用(I+J+K+L)>>2表示,若都不可用,則預測值為128。其余8種模式的預測方向如圖 1(b)中的箭頭表示。模式 0是垂直預測,即a=e=i=m=A;模式1為水平預測,即 a=b=c=d=I;模式3~8的預測像素由A~M不同加權平均得到。

      圖1 4×4亮度預測

      確定最佳預測模式的代價函數(shù)模型有RDO和SAD兩種,其中RDO計算方法比較復雜且不易于硬件實現(xiàn)。本文使用SAD計算方法,其計算主要是加減平均等運算,適合于硬件實現(xiàn)。其計算公式為:

      其中,4R是對使用某種預測模式后比特數(shù)的估計;λ(Qp)=0.85×2(Qp-12)/3,當 Qp 一定時為 常數(shù);SAD(絕對差和)是16個像素預測值與圖像像素值的差值。

      1.2 基于抽樣的幀內預測模式選擇

      在H.264幀內預測模式選擇中,4×4塊每種模式判別時需要計算16個像素點的預測值,還要計算16個像素點的SAD值,計算量較大。同時,如果一次輸出16個預測值,則預測電路消耗的硬件資源很大,且在H.264的后續(xù)處理中需要大容量的存儲器與之匹配。如果一次只輸出一個像素,消耗的資源會減少,但對硬件的頻率要求變高。在一個時鐘周期預測一個像素情況下,如果要實現(xiàn) SDTV(720×480×30 fps)的實時處理,頻率就要達到 202 MHz(720×480×1.5×30×13)。 所以,如果對 4×4 塊中16個像素進行抽樣計算,不僅大大減少了計算量,而且對硬件的頻率要求也會降低。由于4×4塊與16×16塊相比較小,塊內紋理變化比較平緩,抽樣的像素可以大致代表塊內紋理方向。本文將4×4宏塊抽樣為4個部分[2],圖 1(a)中 4 部分像素抽樣為(1)a,c,i,k;(2)b,d,j,l;(3)e,g,m,o;(4)f,h,n,p。 在這 4 個部分中選取一個部分進行SAD失真計算,從而省略了大部分的運算代價。每一組抽樣的代價表示為:

      其中,SAD4是每個抽樣組的4個像素點與圖像像素值的絕對差值和,其他參數(shù)同式(1)。

      通過以上抽樣,可以減少3/4的運算量,要實現(xiàn)SDTV所需的硬件頻率僅為 50.54 MHz(720×480×1.5×30×13/4)。為了驗證抽樣對圖像質量的影響,將這種抽樣的方法在JM中與FS進行了比較。

      1.3 硬件結構設計

      本文的抽樣算法在FPGA中實現(xiàn)的系統(tǒng)結構框圖如圖2所示,包括每種模式的預測值計算和4點的SAD值計算模塊。由于λ(Qp)的計算比較復雜,不易于硬件實現(xiàn),這里先將計算結果存放在FPGA中,通過Qp查表的方法獲得。

      圖2 幀內預測模式選擇系統(tǒng)結構框圖

      H.264幀內4×4塊預測模式共有9種,每一種都有對應的預測值計算公式。在硬件設計時要為每一種預測模式設計一個預測值計算模塊。對于mode0(垂直預測)和mode1(水平預測),電路的輸出直接等于輸入;其他的模式計算比較相似,都是通過加法和移位來完成的[3],這里以mode3(上下對角預測)為例給出其硬件結構如圖3所示。該結構通過對已知像素值進行累加和移位來得到相應的預測像素的值。系統(tǒng)中9種預測模式并行計算,使每個計算模塊都處在工作狀態(tài)[4],提高了運算效率。

      圖3 mode3抽樣像素預測值計算硬件結構

      在幀內預測模式選擇中,SAD值的計算最復雜。本文對像素點的抽樣只需要進行4點的SAD值計算即可,降低了計算復雜度和硬件資源的消耗。4點的SAD值計算式如式(3)所示,其硬件結構如圖4所示。

      圖4 SAD值計算硬件結構

      其中,a(m,n)表示預測值,b(m,n)為圖像像素值。

      2 基于PLB總線的IP核設計與測試

      2.1 PLB總線簡介

      PLB總線(Processor Local Bus)是IBM開發(fā)的一種高性能片上總線,主要應用于PowerPC405處理器系統(tǒng)中,它支持32位、64位和128位數(shù)據(jù)寬度,本文對IP核的設計使用了64位總線寬度。雖然PLB接口總線協(xié)議非常復雜,但是Xilinx為用戶專門設計了一套可以用工具生成的接口協(xié)議,稱作plbv46_slave_single。它在用戶IP核和PLB V4.6總線標準之間提供了一個雙向的接口。plbv46_slave_single讓用戶可以便捷地在IBM PLB Bus和用戶IP核之間進行交互。這個slave服務使得用戶能在不同地址范圍內提供地址譯碼,從而配置多個用戶IP的接口到PLB Bus上。plbv46_slave_single可以優(yōu)化以減少點到點連接設計的延時和FPGA資源消耗。

      2.2 基于PLB總線的軟核設計

      H.264幀內預測模式選擇軟核的設計包括總線接口和幀內預測模式選擇模塊兩部分。PLB總線接口使用Xilinx為用戶設計的plbv46_slave_single。而幀內預測模式選擇模塊與硬件體系無關,方便移植。

      H.264幀內4×4塊預測模式的系統(tǒng)硬件結構如圖5所示。輸入寄存器由 4個 32 bit的寄存器0、1、2和 3組成,輸入已編碼并重構的像素 A~M,寄存器 3的高位用于輸入Qp值;寄存器4為原始圖像抽樣出用于SAD計算的 4點像素值;寄存器 5、6、7、8為輸出數(shù)據(jù)寄存器;寄存器9為控制寄存器,包括啟動、完成、復位等。預測值計算模塊就是根據(jù)A~M對抽樣像素進行每種模式的預測值計算,SAD值計算模塊計算每種模式預測值與圖像像素值的差值,第三個模塊根據(jù)每種預測模式的計算結果選擇最優(yōu)的預測模式輸出。其中,Rλ(Qp)根據(jù)Qp值在FPGA中查表得到。

      圖5 幀內預測模式選擇硬件結構

      2.3 軟核的仿真與測試

      測試中首先使用IBM的CoreConnect工具和Modelsim6.0a來仿真設計軟核,仿真使用虛擬平臺來測試,仿真的目的是保證PLB總線接口能被處理器正確訪問。通過虛擬處理器將虛擬內存中的數(shù)據(jù)寫入待測軟核,然后讀取待測軟核中的數(shù)據(jù)并判斷是否正確。

      仿真通過以后,再將軟核集成到系統(tǒng)中,以便驗證軟核在實際系統(tǒng)中的工作是否符合要求。軟核驗證使用PC機和目標板相結合的方法,目標板使用Xilinx公司XUP Virtex-II PRO開發(fā)板,內部含有2個PowerPC內核。

      驗證時,首先使用EDK9.1將軟核集成到PowerPC系統(tǒng)中,編譯通過后由USB接口下載到目標板,系統(tǒng)開始運行后通過RS232從上位機下載待編碼的圖像數(shù)據(jù),下載的數(shù)據(jù)保存在目標板上的256 MB DDR SDRAM中。數(shù)據(jù)下載完畢后程序將待編碼數(shù)據(jù)依次寫入軟核并啟動,將計算完的數(shù)據(jù)寫入DDR SDRAM,待全部數(shù)據(jù)處理完畢,PowerPC將處理結果一起發(fā)送給上位機。上位機將結果與本機C代碼執(zhí)行結果相比較,最終確認軟核是否正確工作。

      3 綜合性能分析

      首先在JM中對基于抽樣的幀內預測模式選擇方法進行驗證。通過對Foreman和Akiyo兩個視頻序列選擇不同的Qp值與全搜索進行比較,結果如表1所示。可以看出,通過這樣的抽樣并沒有帶來PSNR(信噪比)的明顯下降和編碼比特數(shù)的增加。

      表1 本方法與全搜索比較

      同時將該模塊在Xilinx的XC2VP30 FPGA中進行綜合,XC2VP30含有 13 696個 Slices和 136個 18×18乘法器,綜合工具使用Xilinx的ISE9.1。綜合的結果和資源消耗情況如表2所示??梢钥闯?,本文中所設計的模塊在關鍵路徑和資源消耗上都優(yōu)于參考文獻[5]中所述的方法。

      本文將H.264的幀內4×4塊的預測模式選擇方法進行優(yōu)化。表1和表2所示的實驗數(shù)據(jù)表明,在不損失圖像質量的同時明顯地降低了運算的復雜度。同時,與硬件相結合,設計出基于PLB總線的IP軟核,并在Xilinx XUP Virtex-II PRO開發(fā)板中做了驗證。

      表2 軟核綜合結果

      [1]畢厚杰.新一代視頻壓縮編碼標準——H.264/AVC[M].北京:人民郵電出版社,2005.

      [2]MENG Bo Jun,OSCAR C A.Fast intra-prediction mode selection for 4×4 blocks in H.264.IEEE International Conference on Acoustics Speech and Signal Processing,2003(3):389-392.

      [3]黃凱,秦興,嚴曉浪,等.一種 H.264幀內預測模式判決算法及 VLSI實現(xiàn)體系[J].電子學報,2007,35(2):207-211.

      [4]HUANG Yu Wen,HSIEH Bing Yu,CHEN T G,et al.Analysis,fast algorithm,and VLSI architecture design for H.264/AVC intra frame coder.IEEE Transactions on Circuits and Systems for Video Technology,2005,15(3):378-401.

      [5]朱總平,馮建華,曹喜信.H.264/AVC幀內預測器的VLSI實現(xiàn)[J].北京大學學報,2008(1):44-48.

      猜你喜歡
      寄存器預測值總線
      IMF上調今年全球經濟增長預期
      企業(yè)界(2024年8期)2024-07-05 10:59:04
      加拿大農業(yè)部下調2021/22年度油菜籽和小麥產量預測值
      ±800kV直流輸電工程合成電場夏季實測值與預測值比對分析
      Lite寄存器模型的設計與實現(xiàn)
      計算機應用(2020年5期)2020-06-07 07:06:44
      法電再次修訂2020年核發(fā)電量預測值
      國外核新聞(2020年8期)2020-03-14 02:09:19
      基于PCI Express總線的xHC與FPGA的直接通信
      測控技術(2018年6期)2018-11-25 09:50:12
      機載飛控1553B總線轉以太網總線設計
      測控技術(2018年8期)2018-11-25 07:42:08
      分簇結構向量寄存器分配策略研究*
      多通道ARINC429總線檢查儀
      基于EtherCAT總線的ROV控制系統(tǒng)設計
      河南科技(2014年16期)2014-02-27 14:13:22
      桦南县| 桂阳县| 西贡区| 东至县| 廉江市| 长葛市| 那坡县| 噶尔县| 买车| 阿巴嘎旗| 女性| 汉川市| 阿坝县| 遂昌县| 晋宁县| 镇巴县| 汨罗市| 蒲江县| 田林县| 梅河口市| 车致| 洛扎县| 瓦房店市| 罗平县| 峨眉山市| 安达市| 同江市| 苏尼特左旗| 清徐县| 上蔡县| 延川县| 虎林市| 定兴县| 平乡县| 三门峡市| 沂南县| 阿鲁科尔沁旗| 嘉荫县| 南岸区| 正定县| 霍林郭勒市|