999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2010-09-29 11:27:34吳從中李本齋胡有剛
網絡安全與數據管理 2010年6期

吳從中,李本齋,胡有剛

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

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

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

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

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

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

1.1 幀內預測的原理[1]

如圖1(a)所示,4×4亮度塊包括標示為 a~p的16個待預測像素,與之相鄰的左上方標示為A~M為已編碼并重構的像素,幀內預測就是利用A~M來預測a~p。根據預測方向的不同,共有9種可選預測模式,其中DC預測(模式 2)根據 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亮度預測

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

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

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

在H.264幀內預測模式選擇中,4×4塊每種模式判別時需要計算16個像素點的預測值,還要計算16個像素點的SAD值,計算量較大。同時,如果一次輸出16個預測值,則預測電路消耗的硬件資源很大,且在H.264的后續處理中需要大容量的存儲器與之匹配。如果一次只輸出一個像素,消耗的資源會減少,但對硬件的頻率要求變高。在一個時鐘周期預測一個像素情況下,如果要實現 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個像素點與圖像像素值的絕對差值和,其他參數同式(1)。

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

1.3 硬件結構設計

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

圖2 幀內預測模式選擇系統結構框圖

H.264幀內4×4塊預測模式共有9種,每一種都有對應的預測值計算公式。在硬件設計時要為每一種預測模式設計一個預測值計算模塊。對于mode0(垂直預測)和mode1(水平預測),電路的輸出直接等于輸入;其他的模式計算比較相似,都是通過加法和移位來完成的[3],這里以mode3(上下對角預測)為例給出其硬件結構如圖3所示。該結構通過對已知像素值進行累加和移位來得到相應的預測像素的值。系統中9種預測模式并行計算,使每個計算模塊都處在工作狀態[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開發的一種高性能片上總線,主要應用于PowerPC405處理器系統中,它支持32位、64位和128位數據寬度,本文對IP核的設計使用了64位總線寬度。雖然PLB接口總線協議非常復雜,但是Xilinx為用戶專門設計了一套可以用工具生成的接口協議,稱作plbv46_slave_single。它在用戶IP核和PLB V4.6總線標準之間提供了一個雙向的接口。plbv46_slave_single讓用戶可以便捷地在IBM PLB Bus和用戶IP核之間進行交互。這個slave服務使得用戶能在不同地址范圍內提供地址譯碼,從而配置多個用戶IP的接口到PLB Bus上。plbv46_slave_single可以優化以減少點到點連接設計的延時和FPGA資源消耗。

2.2 基于PLB總線的軟核設計

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

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

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

2.3 軟核的仿真與測試

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

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

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

3 綜合性能分析

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

表1 本方法與全搜索比較

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

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

表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實現體系[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實現[J].北京大學學報,2008(1):44-48.

主站蜘蛛池模板: 免费视频在线2021入口| 国产AV毛片| 香蕉eeww99国产在线观看| 亚洲精品无码高潮喷水A| 男女精品视频| 女人18一级毛片免费观看| 欧美激情第一欧美在线| 欧美精品成人| 免费在线a视频| 亚洲欧美人成人让影院| 国产美女视频黄a视频全免费网站| 午夜国产精品视频| 国产69精品久久久久孕妇大杂乱| 亚洲日韩AV无码精品| 成人综合网址| 久久亚洲国产最新网站| 日韩在线播放中文字幕| 播五月综合| 深夜福利视频一区二区| 少妇精品网站| 91午夜福利在线观看| 国产在线欧美| 青草视频免费在线观看| 亚洲男人天堂久久| 国产麻豆精品手机在线观看| 欧美精品v日韩精品v国产精品| 色成人亚洲| 亚洲天堂日本| 亚洲浓毛av| 日本在线亚洲| 欧美国产在线看| 亚洲天堂网在线播放| 亚洲中文精品人人永久免费| 久久黄色一级片| 69av在线| 亚洲成av人无码综合在线观看| 亚洲无码精彩视频在线观看| 中文字幕日韩久久综合影院| 日韩色图区| 五月六月伊人狠狠丁香网| 欧美国产另类| 国产农村精品一级毛片视频| 亚洲一区免费看| 久久久久青草线综合超碰| 重口调教一区二区视频| 国产成人在线无码免费视频| 91娇喘视频| 伊人久久婷婷| 99在线观看免费视频| 日韩二区三区无| 成年人国产网站| 亚洲欧美日韩综合二区三区| 国产一区二区三区日韩精品| 在线看AV天堂| 亚洲国产第一区二区香蕉| 国产成人AV综合久久| 一区二区午夜| 在线无码av一区二区三区| 91精品国产麻豆国产自产在线| 久久精品一品道久久精品| 成人看片欧美一区二区| 亚洲无线国产观看| 操操操综合网| 国产经典三级在线| 亚洲最大情网站在线观看| 国产精品永久不卡免费视频| 色哟哟国产精品| 国产老女人精品免费视频| 国产色图在线观看| 国产成人综合日韩精品无码首页| 99re精彩视频| 日韩一二三区视频精品| 欧美在线伊人| 亚洲综合色吧| 欧美影院久久| 国产精品一老牛影视频| 韩日午夜在线资源一区二区| 国产精品所毛片视频| 人妻精品全国免费视频| 国产精品视频第一专区| 日韩在线观看网站| 亚洲黄色激情网站|