《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > 基于PLB總線的H.264整數變換量化軟核的設計

基于PLB總線的H.264整數變換量化軟核的設計

2009-03-16
作者:吳從中,項 磊,蔣建國

  摘 要: 提出了在FPGA上實現H.264中整數變換量化" title="整數變換量化" target="_blank">整數變換量化的方法,設計了基于動態數據寬度和流水線技術的軟核(IP),在處理速度和硬件資源方面分別進行優化。此軟核作為PowerPC的一個硬件加速模塊在Xilinx Virtex-ⅡPRO中進行了驗證。實驗表明,在目前較難使用軟件方法實現高分辨率圖像實時編碼的情況下,本文設計的軟核能夠提供2110M Pixels/s的編碼速率,完全適應實時編碼。
  關鍵詞: H.264;整數變換量化;動態數據寬度;流水線;PLB;軟核

?

  H.264以其高復雜度為代價獲得了優異的編碼效率, 其中除部分控制流程的復雜模塊外,H.264中的很多模塊適合用硬件實現。應用中通常使用CPU+FPGA結構,將耗時較多的模塊用FPGA實現,CPU僅負責一些低復雜度的算法和編碼流程參數的設置。
  參考文獻[1]、[4]、[5]介紹了整數變換量化的硬件實現,但沒有考慮數據在處理過程中的寬度問題,因此會造成FPGA資源的浪費。本文充分考慮了數據在處理過程中的動態范圍,使用更少的FPGA資源來實現H.264中的整數變換量化模塊。
  結合實際應用,文中對該軟核在計算速度和硬件資源方面分別做了優化。經過速度優化的軟核性能明顯優于文獻[1]、[4]、[5]中的設計,經過消耗資源優化的軟核也完全能夠勝任高分辨率的實時編碼。
1 整數變換
  在完成幀內和幀間預測以后,需要對圖像參差數據進行整數變換和量化,使圖像數據的能量集中到一小部分系數上,進一步降低碼流速率。
1.1 整數變換原理
  H.264中對圖像參差進行二維DCT變換,表達式為:
  

其中:

  

  X為輸入數據,A為變換矩陣,Y為變換結果。H.264對4×4的圖像塊進行操作,則相應的4×4 DCT變換矩陣A為:
  ?

?  防止解碼后的數據失配,H.264對4×4 DCT中的A進行改造,采用整數DCT技術,取 則(1)式可分解為:
  

  與E的乘法被歸納到量化運算中,這樣(CXCT)中只剩下整數的加法、減法和移位運算,因此可以大大降低硬件實現的復雜度,變換結果最多只需要16位的數據。
1.2 整數變換硬件結構
  本設計H.264中的4×4整數變換采用蝶形快速算法,如圖1所示。首先對4×4塊的每一行做一維整數變換,然后再對行變換結果做列的一維整數變換,最終得到4×4的整數變換結果。圖1模塊需要32個加法器和32個減法器,這樣在一個時鐘周期內就可以完成一個4×4塊的整數變換。

?


  整數變換通常的做法是全部使用16位加法器和減法器,這樣可以簡化設計。然而在實際應用中,輸入的像素點范圍是[0,255],如果第一級變換就使用16位,則數據寬度無疑會占用更多的硬件資源。根據分析可知,計算一維行變換以后,數據輸出范圍為[-765,1020],只需使用11位二進制數表示。計算一維列變換以后,數據輸出范圍是[-3 060,4 080],需要使用13位二進制數表示。因此整數變換模塊的數據寬度可以確定為:進行一維行變換時的加法器和減法器使用11位數據寬度,一維列變換的加法器和減法器使用13位數據寬度。
  由于數據單向流動的特點,即沒有反饋,可以使用流水線提高系統性能。使用流水線時需要注意前后模塊處理速率的匹配。如本模塊中在行變換與列變換插入緩存構成前后模塊,前后模塊用同一時鐘,并且整個模塊的工作頻率以最低工作頻率的模塊來確定。本設計用1級流水線來提高工作頻率。如果流水線級數過多會消耗大量FPGA資源,仿真實驗證明,此模塊使用1級流水線時,只增加極少FPGA資源。
2 量化
  為了進一步降低圖像傳輸碼率,需要對圖像進一步壓縮,方法是使用變換編碼及量化技術。
2.1 量化原理
  H.264中采用標量量化器。標量量化器的原理是:
  
其中,y為輸入樣本點編碼,Qstep為量化步長,FQ為y的量化值。H.264標準支持52個量化步長。量化的簡化操作如下:
  
其中,Wij為輸入樣本點編碼,MF是標準中定義的值,QP為量化系數,f為偏移量,對幀內預測圖像塊f取2qbits/3,對幀間預測圖像塊f取2qbits/6。
2.2 量化器實現
  量化器硬件結構如圖2所示,其結果是實現對式(4)和式(5)的組合電路。W是需要量化的數據,MF是根據QP和當前點位置在查找表中得到的值。f和qbits是根據QP查表的輸出。

?


  為了硬件資源消耗最少,需要分析數據在計算過程中的動態范圍,使用最少的數據寬度來表示傳輸的數據,從而使用最少的硬件資源來實現組合運算邏輯。W是整數變換結果,根據整數變換部分的分析,其取值范圍是[-3 060,4 080],MF最大取13 107,乘法器輸出動態范圍是[-40 107 420,53 476 560],至少用27位二進制數表示。本量化器的乘法器使用Vetex-Ⅱ中的18×18硬件乘法器,因此在輸入加法器之前需要將數據寬度調整為27bit。加法器輸出的27位數據通過移位模塊調整為16位數據寬度。
  綜合考慮工作頻率和資源占用率,設計中使用2級流水線來提高性能。
2.3 量化器優化
  本量化器一次只能量化一個點,無法滿足高質量圖像編碼的要求。針對高質量圖像編碼對此量化器進行速度優化,即將n個量化器并聯,一個時鐘周期計算n個點。n根據實際需要進行選擇。考慮到與變換模塊的速度匹配,選擇16個量化器并聯。
3 軟核設計及測試
3.1 PLB總線的軟核結構

  PLB(Processor Local Bus)總線是IBM開發的一種高性能片上總線,主要應用于PowerPC405處理器系統中,它支持32位、64位和128位數據寬度。本設計使用64位總線寬度,最大速據傳輸速率達800Mb/s。
  如圖3,PLB的軟核設計分為總線接口和H.264整數變換量化模塊兩部分。PLB總線接口是與硬件體系結構相關的部分,它是整數變換量化模塊與PLB總線上其他設備進行交互的橋梁。整數變換量化模塊與體系結構無關,它也可以被移植到ARM體系結構中。


  整數變換量化模塊的硬件結構如圖4。寄存器組包含9個32bit的寄存器,0、1、2、3為輸入的4×4參差數據寄存器;5、6、7、8為輸出數據寄存器;4為控制寄存器,包括go、done、reset、intra、DCT、ZSCAN、QP、datacount,分別對應啟動、完成、復位、幀內/幀間、DCT/Hadamard變換、Z掃描輸出、量化級數、數據輸出計數器。第二個模塊對寄存器組中數據進行4×4整數變換,使用1級流水線。第三個模塊對輸入的整數變換結果按QP進行量化,量化模塊中的MF、f、qbits使用FPGA中的查找表保存。數據輸出模塊受ZSCAN位控制,當ZSCAN=1時,輸出數據寄存器中的數據按Z掃描排列;ZSCAN=0時,按矩陣排列。

?

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


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

?


  驗證流程如圖7。首先通過USB口下載目標板程序,程序開始運行以后通過RS232從上位機下載待編碼的圖像參差數據,下載的數據保存在目標板上的256MB DDR SDRAM中。數據下載完畢后,程序將待編碼數據依次寫入軟核并啟動轉換,并將計算完的數據寫入DDR SDRAM,待全部數據編碼完畢,PowerPC將處理結果一起發送給上位機。上位機將結果與本機C代碼執行結果相比較,最終確認軟核是否正確工作。

?


4 綜合結果分析
  本設計中的整數變化量化模塊在Xilinx的XC2VP30 FPGA中進行綜合。XC2P30含有13 696個Slices和136個18×18乘法器。綜合工具使用Xilinx的ISE9.1。
  整數變換模塊綜合結果如表1。


  對量化器在速度和硬件資源上分別做了優化,表2給出了兩種優化的綜合結果。


  表3給出本設計整數變換量化模塊與文獻[1]的比較結果。對照發現速度優化軟核編碼性能遠遠高于文獻[1]的設計,資源優化的軟核性能也略高于文獻[1]的設計。

?


  軟核綜合結果如表4。目前該軟核中的PLB接口部分資源占用較大,后續工作對這部分進一步優化。

  本文將H.264中的整數變換量化與微處理器系統相結合,針對不同的應用場合實現了兩個基于PLB總線的H.264 整數變換量化軟核,并在Xilinx XUP Virtex-II PRO開發板中做了驗證。實驗結果表明,兩個軟核均能在系統中穩定工作,并能滿足不同分辨率的實時應用。

參考文獻
[1] 劉海鷹,張兆楊,沈禮權.基于FPGA的H.264變換量化的高性能的硬件實現.中國圖像圖形學報,2006,11(11).
[2] RAJA G,KHAN S,MIRZA M J.VLSI Architecture & Implementation of H.264 Integer Transform.IEEE,2005.
[3] LEE S,Kyeongsoon Cho.Implementation of an?AMBA-Compliant IP for H.264 Transform and?quantization.IEEE,2006.
[4] 樓劍,陸亮,虞露,等.H.264變換和量化的分析.浙江大學學報,2004(5).
[5] 畢厚杰.新一代視頻壓縮編碼標準——H.264/AVC[M].北京:人民郵電出版社,2005.
[6] IBM Inc,Xilinx Inc.64-Bit Processor Local Bus Architecture Specifications.http://www.xilinx.com/products/
virtex/coreconnect/03_05_02_cc/CoreConnect/crcn.html.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲国产另类久久精品| 欧美一区二区三区啪啪| 亚洲女同在线| 亚洲午夜视频在线观看| 一本大道久久精品懂色aⅴ| 亚洲日韩视频| 日韩一级黄色片| 99精品视频免费| 宅男在线国产精品| 中国成人在线视频| 亚洲性视频网站| 亚洲尤物视频网| 欧美一级淫片aaaaaaa视频| 欧美一区二区黄色| 欧美在线free| 亚洲高清在线精品| 亚洲人成在线播放| 99视频精品在线| 一区二区欧美在线观看| 亚洲一区二区三区四区在线观看| 亚洲午夜av电影| 性久久久久久久久久久久| 新片速递亚洲合集欧美合集| 久久精品国产免费看久久精品| 久久久久久久精| 蜜桃av一区| 欧美日韩999| 欧美日韩黄色一区二区| 国产精品成人va在线观看| 国产区日韩欧美| 在线观看视频免费一区二区三区 | 国产午夜精品视频| 狠狠色狠色综合曰曰| 亚洲第一狼人社区| 日韩视频免费观看高清在线视频 | 9l国产精品久久久久麻豆| 中国女人久久久| 亚洲一区二区三区在线观看视频| 午夜精彩国产免费不卡不顿大片| 欧美自拍丝袜亚洲| 亚洲国产日韩一级| 一区二区三区免费看| 性娇小13――14欧美| 久久久伊人欧美| 欧美激情片在线观看| 国产精品久久综合| 伊人久久大香线| 一区二区三区高清| 久久精品1区| 中日韩美女免费视频网址在线观看| 亚洲欧美日韩一区二区三区在线观看| 久久精品水蜜桃av综合天堂| 欧美激情第三页| 国产精品捆绑调教| 狠狠久久综合婷婷不卡| 99ri日韩精品视频| 小处雏高清一区二区三区| 亚洲精品视频免费| 欧美一区二区大片| 欧美大片在线观看一区| 国产精品久久久久久久久免费樱桃| 狠狠色狠色综合曰曰| 99ri日韩精品视频| 亚洲第一区中文99精品| 亚洲一区欧美| 麻豆av一区二区三区| 国产精品久久久久久影视| 好看的日韩视频| 亚洲天堂av在线免费| 亚洲国产精品www| 亚洲欧美乱综合| 欧美激情一区二区三区全黄| 国产视频亚洲精品| 99re66热这里只有精品3直播| 久久激情婷婷| 午夜一区在线| 欧美精品国产一区二区| 国产日韩欧美精品综合| 99精品国产福利在线观看免费| 亚洲电影免费在线观看| 欧美一级电影久久| 欧美日韩免费高清一区色橹橹| 国内精品免费午夜毛片| 亚洲在线播放电影| 宅男噜噜噜66国产日韩在线观看| 久久影视精品| 国产精品区免费视频| 亚洲国产欧美一区二区三区同亚洲| 午夜精品一区二区在线观看| 亚洲视频一二区| 欧美黄色影院| 在线播放视频一区| 欧美一区二区三区视频免费| 亚洲欧美另类综合偷拍| 欧美日韩一二三区| 亚洲精品久久久久久久久久久| 亚洲激情午夜| 久久频这里精品99香蕉| 国产美女一区| 亚洲视频在线看| 在线中文字幕日韩| 欧美日韩123| 亚洲三级免费| 妖精视频成人观看www| 欧美国产视频一区二区| 樱桃成人精品视频在线播放| 久久国产精品久久久久久电车| 欧美在线播放一区| 国产精品一区一区三区| 亚洲尤物在线| 午夜精彩视频在线观看不卡 | 在线精品福利| 久久经典综合| 久久久噜噜噜久久狠狠50岁| 国产亚洲精品久久久久动| 亚洲专区国产精品| 欧美一区二区视频在线| 国产欧美日韩激情| 亚洲男人天堂2024| 午夜一区在线| 国产一区二区观看| 亚洲高清免费在线| 美国十次成人| 亚洲国产婷婷香蕉久久久久久99| 亚洲精品久久| 欧美日韩不卡合集视频| 日韩亚洲精品在线| 亚洲制服少妇| 国产精品尤物福利片在线观看| 亚洲欧美一区二区精品久久久| 欧美中在线观看| 国内精品久久久久久久影视蜜臀| 亚洲丰满少妇videoshd| 欧美成人免费全部观看天天性色| 亚洲国产女人aaa毛片在线| 99热在线精品观看| 欧美日韩一区在线观看| 亚洲在线电影| 久久久综合精品| 亚洲国产成人一区| 中日韩午夜理伦电影免费| 欧美色图麻豆| 午夜精品在线看| 巨乳诱惑日韩免费av| 亚洲人成网站精品片在线观看| 亚洲午夜激情免费视频| 国产精品永久免费视频| 久久精品欧美日韩| 欧美另类专区| 亚洲视频www| 久久久午夜精品| 亚洲人成网站在线观看播放| 亚洲图片激情小说| 国产伦精品一区二区三区| 亚洲国产高潮在线观看| 欧美乱在线观看| 亚洲欧美日韩视频一区| 老鸭窝91久久精品色噜噜导演| 亚洲精品影视在线观看| 欧美一区二区免费| 亚洲国产视频a| 午夜视频在线观看一区二区| 国内久久视频| 一区二区久久久久| 国产视频一区二区三区在线观看| 亚洲黄色成人久久久| 欧美视频网站| 久久精品夜夜夜夜久久| 欧美日韩午夜精品| 欧美主播一区二区三区| 欧美日韩免费一区| 欧美在线亚洲| 欧美日韩一区在线观看| 久久精品123| 国产精品激情电影| 亚洲人成毛片在线播放女女| 国产精品狠色婷| 亚洲精品1区2区| 国产精品制服诱惑| 日韩一级大片| 韩国一区电影| 午夜在线视频观看日韩17c| 亚洲第一区在线观看| 欧美一区二视频| 日韩网站在线观看| 久久免费视频一区| 亚洲一区二区在线观看视频| 欧美成人免费网站| 欧美亚洲一区| 欧美日韩一区二区在线播放| 亚洲东热激情| 国产日本欧美一区二区| 一区二区三区四区五区精品| 在线电影国产精品| 久久国产天堂福利天堂| 亚洲视频精选| 欧美精品久久久久久久久久| 久久精品女人| 国产亚洲欧美日韩日本| 亚洲欧美日韩中文播放|