国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于PLB總線的H.264整數(shù)變換量化軟核的設(shè)計

發(fā)布時間:2009-3-20 16:32    發(fā)布者:李寬
關(guān)鍵詞: PLB , 量化 , 軟核 , 整數(shù) , 總線
H.264以其高復(fù)雜度為代價獲得了優(yōu)異的編碼效率, 其中除部分控制流程的復(fù)雜模塊外,H.264中的很多模塊適合用硬件實現(xiàn)。應(yīng)用中通常使用CPU+FPGA結(jié)構(gòu),將耗時較多的模塊用FPGA實現(xiàn),CPU僅負責一些低復(fù)雜度的算法和編碼流程參數(shù)的設(shè)置。

參考文獻[1]、[4]、[5]介紹了整數(shù)變換量化的硬件實現(xiàn),但沒有考慮數(shù)據(jù)在處理過程中的寬度問題,因此會造成FPGA資源的浪費。本文充分考慮了數(shù)據(jù)在處理過程中的動態(tài)范圍,使用更少的FPGA資源來實現(xiàn)H.264中的整數(shù)變換量化
結(jié)合實際應(yīng)用,文中對該軟核在計算速度和硬件資源方面分別做了優(yōu)化。經(jīng)過速度優(yōu)化的軟核性能明顯優(yōu)于文獻[1]、[4]、[5]中的設(shè)計,經(jīng)過消耗資源優(yōu)化的軟核也完全能夠勝任高分辨率的實時編碼。
1 整數(shù)變換

在完成幀內(nèi)和幀間預(yù)測以后,需要對圖像參差數(shù)據(jù)進行整數(shù)變換和量化,使圖像數(shù)據(jù)的能量集中到一小部分系數(shù)上,進一步降低碼流速率。
1.1 整數(shù)變換原理

H.264中對圖像參差進行二維DCT變換,表達式為:
  

其中:



X為輸入數(shù)據(jù),A為變換矩陣,Y為變換結(jié)果。H.264對4×4的圖像塊進行操作,則相應(yīng)的4×4 DCT變換矩陣A為:
  
防止解碼后的數(shù)據(jù)失配,H.264對4×4 DCT中的A進行改造,采用整數(shù)DCT技術(shù),取 則(1)式可分解為:
  


與E的乘法被歸納到量化運算中,這樣(CXCT)中只剩下整數(shù)的加法、減法和移位運算,因此可以大大降低硬件實現(xiàn)的復(fù)雜度,變換結(jié)果最多只需要16位的數(shù)據(jù)。
1.2 整數(shù)變換硬件結(jié)構(gòu)

本設(shè)計H.264中的4×4整數(shù)變換采用蝶形快速算法,如圖1所示。首先對4×4塊的每一行做一維整數(shù)變換,然后再對行變換結(jié)果做列的一維整數(shù)變換,最終得到4×4的整數(shù)變換結(jié)果。圖1模塊需要32個加法器和32個減法器,這樣在一個時鐘周期內(nèi)就可以完成一個4×4塊的整數(shù)變換。


整數(shù)變換通常的做法是全部使用16位加法器和減法器,這樣可以簡化設(shè)計。然而在實際應(yīng)用中,輸入的像素點范圍是[0,255],如果第一級變換就使用16位,則數(shù)據(jù)寬度無疑會占用更多的硬件資源。根據(jù)分析可知,計算一維行變換以后,數(shù)據(jù)輸出范圍為[-765,1020],只需使用11位二進制數(shù)表示。計算一維列變換以后,數(shù)據(jù)輸出范圍是[-3 060,4080],需要使用13位二進制數(shù)表示。因此整數(shù)變換模塊的數(shù)據(jù)寬度可以確定為:進行一維行變換時的加法器和減法器使用11位數(shù)據(jù)寬度,一維列變換的加法器和減法器使用13位數(shù)據(jù)寬度。

由于數(shù)據(jù)單向流動的特點,即沒有反饋,可以使用流水線提高系統(tǒng)性能。使用流水線時需要注意前后模塊處理速率的匹配。如本模塊中在行變換與列變換插入緩存構(gòu)成前后模塊,前后模塊用同一時鐘,并且整個模塊的工作頻率以最低工作頻率的模塊來確定。本設(shè)計用1級流水線來提高工作頻率。如果流水線級數(shù)過多會消耗大量FPGA資源,仿真實驗證明,此模塊使用1級流水線時,只增加極少FPGA資源。
2 量化

為了進一步降低圖像傳輸碼率,需要對圖像進一步壓縮,方法是使用變換編碼及量化技術(shù)。
2.1 量化原理

H.264中采用標量量化器。標量量化器的原理是:
  

其中,y為輸入樣本點編碼,Qstep為量化步長,F(xiàn)Q為y的量化值。H.264標準支持52個量化步長。量化的簡化操作如下:
  

其中,Wij為輸入樣本點編碼,MF是標準中定義的值,QP為量化系數(shù),f為偏移量,對幀內(nèi)預(yù)測圖像塊f取2qbits/3,對幀間預(yù)測圖像塊f取2qbits/6。

2.2 量化器實現(xiàn)

量化器硬件結(jié)構(gòu)如圖2所示,其結(jié)果是實現(xiàn)對式(4)和式(5)的組合電路。W是需要量化的數(shù)據(jù),MF是根據(jù)QP和當前點位置在查找表中得到的值。f和qbits是根據(jù)QP查表的輸出。


為了硬件資源消耗最少,需要分析數(shù)據(jù)在計算過程中的動態(tài)范圍,使用最少的數(shù)據(jù)寬度來表示傳輸?shù)臄?shù)據(jù),從而使用最少的硬件資源來實現(xiàn)組合運算邏輯。W是整數(shù)變換結(jié)果,根據(jù)整數(shù)變換部分的分析,其取值范圍是[-3 060,4 080],MF最大取13107,乘法器輸出動態(tài)范圍是[-40 107 420,53 476560],至少用27位二進制數(shù)表示。本量化器的乘法器使用Vetex-Ⅱ中的18×18硬件乘法器,因此在輸入加法器之前需要將數(shù)據(jù)寬度調(diào)整為27bit。加法器輸出的27位數(shù)據(jù)通過移位模塊調(diào)整為16位數(shù)據(jù)寬度。

綜合考慮工作頻率和資源占用率,設(shè)計中使用2級流水線來提高性能。
2.3 量化器優(yōu)化

本量化器一次只能量化一個點,無法滿足高質(zhì)量圖像編碼的要求。針對高質(zhì)量圖像編碼對此量化器進行速度優(yōu)化,即將n個量化器并聯(lián),一個時鐘周期計算n個點。n根據(jù)實際需要進行選擇?紤]到與變換模塊的速度匹配,選擇16個量化器并聯(lián)。

3 軟核設(shè)計及測試

3.1 PLB總線的軟核結(jié)構(gòu)

PLB(Processor Local Bus)總線是IBM開發(fā)的一種高性能片上總線,主要應(yīng)用于PowerPC405處理器系統(tǒng)中,它支持32位、64位和128位數(shù)據(jù)寬度。本設(shè)計使用64位總線寬度,最大速據(jù)傳輸速率達800Mb/s。

如圖3,PLB的軟核設(shè)計分為總線接口和H.264整數(shù)變換量化模塊兩部分。PLB總線接口是與硬件體系結(jié)構(gòu)相關(guān)的部分,它是整數(shù)變換量化模塊與PLB總線上其他設(shè)備進行交互的橋梁。整數(shù)變換量化模塊與體系結(jié)構(gòu)無關(guān),它也可以被移植到ARM體系結(jié)構(gòu)中。


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

3.2 軟核的測試

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


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



驗證流程如圖7。首先通過USB口下載目標板程序,程序開始運行以后通過RS232從上位機下載待編碼的圖像參差數(shù)據(jù),下載的數(shù)據(jù)保存在目標板上的256MB DDRSDRAM中。數(shù)據(jù)下載完畢后,程序?qū)⒋幋a數(shù)據(jù)依次寫入軟核并啟動轉(zhuǎn)換,并將計算完的數(shù)據(jù)寫入DDRSDRAM,待全部數(shù)據(jù)編碼完畢,PowerPC將處理結(jié)果一起發(fā)送給上位機。上位機將結(jié)果與本機C代碼執(zhí)行結(jié)果相比較,最終確認軟核是否正確工作。


4 綜合結(jié)果分析

本設(shè)計中的整數(shù)變化量化模塊在Xilinx的XC2VP30 FPGA中進行綜合。XC2P30含有13 696個Slices和136個18×18乘法器。綜合工具使用Xilinx的ISE9.1。

整數(shù)變換模塊綜合結(jié)果如表1。

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

表3給出本設(shè)計整數(shù)變換量化模塊與文獻[1]的比較結(jié)果。對照發(fā)現(xiàn)速度優(yōu)化軟核編碼性能遠遠高于文獻[1]的設(shè)計,資源優(yōu)化的軟核性能也略高于文獻[1]的設(shè)計。



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

本文將H.264中的整數(shù)變換量化與微處理器系統(tǒng)相結(jié)合,針對不同的應(yīng)用場合實現(xiàn)了兩個基于PLB總線的H.264 整數(shù)變換量化軟核,并在Xilinx XUP Virtex-IIPRO開發(fā)板中做了驗證。實驗結(jié)果表明,兩個軟核均能在系統(tǒng)中穩(wěn)定工作,并能滿足不同分辨率的實時應(yīng)用。
本文地址:http://m.qingdxww.cn/thread-2986-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責;文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • 無線充電基礎(chǔ)知識及應(yīng)用培訓(xùn)教程
  • FPGA設(shè)計流程培訓(xùn)教程
  • Chiptorials ——使用ATECC608 TrustFLEX實現(xiàn)基本非對稱身份驗證
  • Chiptorials ——如何將CryptoAuthLib庫用于Microchip安全身份驗證IC
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲国产日韩无在线播放 | 色香视频在线观看 | 五月激情婷婷网 | 日韩精品一区二区三区免费视频 | 日韩高清影院 | 四虎影院2019| 黄网站在线播放视频免费观看 | 亚洲国产高清在线观看视频 | 久久国产精品99精品国产 | 中文字幕在线观看国产 | 亚洲一区二区视频在线观看 | 国产性夜夜春夜夜爽 | 欧美高清在线视频 | 韩剧初恋裴勇俊国语全集在线播放 | 精品一成人岛国片在线观看 | 久久这里只有精品6 | 热久久视久久精品18国产 | 欧美一区二区三区免费播放 | 97高清| 青青色在线 | 色婷婷视频在线 | 久久久综合结合狠狠狠97色 | 国产精品自产拍在线观看2019 | 国产成人综合久久精品亚洲 | 日产精品1卡二卡三卡乱码在线 | 99久久精品免费看国产 | 九九视频在线看精品 | 大胖子h粗污 | 国产爆操 | 中文字幕在线精品视频入口一区 | 又色又爽视频 | 热久久精品免费视频 | 欧美一区二区在线播放 | 国产高清视频一区二区 | 色欧美片视频在线观看 | 色综合色综合色综合网址 | 五月婷婷中文 | 久久噜噜久久久精品66 | 可以免费观看的黄色网址 | 男女午夜免费视频 | 在线a免费观看 |