色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

利用PLB總線和FPGA技術對H.264整數變換量化軟核實現優化設計

電子設計 ? 來源:郭婷 ? 作者:電子設計 ? 2019-09-24 07:58 ? 次閱讀

H.264以其高復雜度為代價獲得了優異的編碼效率, 其中除部分控制流程的復雜模塊外,H.264中的很多模塊適合用硬件實現。應用中通常使用CPU+FPGA結構,將耗時較多的模塊用FPGA實現,CPU僅負責一些低復雜度的算法和編碼流程參數的設置。

介紹了整數變換量化的硬件實現,但沒有考慮數據在處理過程中的寬度問題,因此會造成FPGA資源的浪費。本文充分考慮了數據在處理過程中的動態范圍,使用更少的FPGA資源來實現H.264中的整數變換量化模塊。

結合實際應用,文中對該軟核在計算速度和硬件資源方面分別做了優化。經過速度優化的軟核性能明顯優于設計,經過消耗資源優化的軟核也完全能夠勝任高分辨率的實時編碼。

1 整數變換

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

1.1 整數變換原理

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

利用PLB總線和FPGA技術對H.264整數變換量化軟核實現優化設計

其中:

利用PLB總線和FPGA技術對H.264整數變換量化軟核實現優化設計

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

利用PLB總線和FPGA技術對H.264整數變換量化軟核實現優化設計

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

1.2 整數變換硬件結構

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

利用PLB總線和FPGA技術對H.264整數變換量化軟核實現優化設計

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

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

2 量化

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

2.1 量化原理

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

利用PLB總線和FPGA技術對H.264整數變換量化軟核實現優化設計

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

利用PLB總線和FPGA技術對H.264整數變換量化軟核實現優化設計

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

2.2 量化器實現

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

利用PLB總線和FPGA技術對H.264整數變換量化軟核實現優化設計

為了硬件資源消耗最少,需要分析數據在計算過程中的動態范圍,使用最少的數據寬度來表示傳輸的數據,從而使用最少的硬件資源來實現組合運算邏輯。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體系結構中。

利用PLB總線和FPGA技術對H.264整數變換量化軟核實現優化設計

整數變換量化模塊的硬件結構如圖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時,按矩陣排列。

利用PLB總線和FPGA技術對H.264整數變換量化軟核實現優化設計

3.2 軟核的測試

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

利用PLB總線和FPGA技術對H.264整數變換量化軟核實現優化設計

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

利用PLB總線和FPGA技術對H.264整數變換量化軟核實現優化設計

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

利用PLB總線和FPGA技術對H.264整數變換量化軟核實現優化設計

4 綜合結果分析

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

整數變換模塊綜合結果如表1。

利用PLB總線和FPGA技術對H.264整數變換量化軟核實現優化設計

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

利用PLB總線和FPGA技術對H.264整數變換量化軟核實現優化設計

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

利用PLB總線和FPGA技術對H.264整數變換量化軟核實現優化設計

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

利用PLB總線和FPGA技術對H.264整數變換量化軟核實現優化設計

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


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1630

    文章

    21759

    瀏覽量

    604359
  • 微處理器
    +關注

    關注

    11

    文章

    2271

    瀏覽量

    82571
  • 總線
    +關注

    關注

    10

    文章

    2891

    瀏覽量

    88179
收藏 人收藏

    評論

    相關推薦

    基于Blackfin533的H.264編碼

    系數逆變換后的重建圖像進行濾波;圖像緩存管理模塊負責管理對參考圖像的存取。從圖3中可以看出,整系數變換量化結合在一起作為一個模塊。主要因為:一方面H.264中,
    發表于 07-13 17:12

    如何利用PLB總線FPGA技術H.264整數變換量化核實現優化設計?

    求一款基于PLB總線H.264整數變換量化核的設
    發表于 04-08 06:46

    請問怎樣實現H.264量化

    量化的功能有哪些?量化的算法是什么?怎樣用Verilog語言實現H.264量化?如何運用Modelsim對
    發表于 04-28 06:12

    分享一款不錯的一種基于FPGA高性能H.264變換量化結構設計

    分享一款不錯的一種基于FPGA高性能H.264變換量化結構設計
    發表于 05-08 07:56

    基于FPGAH.264去塊濾波系統的優化設計

    提出一種H.264去塊濾波系統的優化設計方法。通過合理設計流水線級數提高并行性,適當增加內部SRAM來提高系統速度和總線利用率,使用一種層次化的有限狀態機設計方法,
    發表于 04-21 09:07 ?33次下載

    H.264視頻編碼在DM642上的實現優化

    設計并實現了基于DSP 芯片TMS320DM642 的H.264 編碼器。詳細介紹了H.264 算法在DSP上的移植和優化。為使編碼器達到實時應用的要求,采用基于C64x CPU 的軟
    發表于 09-03 14:30 ?23次下載

    基于TMS320DM642平臺的H.264編碼器優化

    H.264 實時編碼器的研究和實現是目前視頻通信研究領域的一個熱點問題,本文介紹了基于TMS320DM642 平臺的H.264 編碼器的優化,重點介紹了基于DM642 的
    發表于 12-18 12:13 ?19次下載

    基于H.264量化IP的硬件實現

    本文提出了基于H.264的逆量化IP的優化結構及其硬件實現。它能夠按照標準處理各種4×4塊的逆量化,該IP可以嵌入到編碼器也能用于解碼器,可
    發表于 02-24 11:51 ?10次下載

    H.264/AVC中量化的Verilog方法介紹及實現

    H.264/AVC中量化的Verilog方法介紹及實現 0  引  言   H.264作為新一代的視頻壓縮標準,是由ITU-T的視頻編碼專家組和ISO/IEC
    發表于 11-12 10:08 ?1125次閱讀
    <b class='flag-5'>H.264</b>/AVC中<b class='flag-5'>量化</b>的Verilog方法介紹及<b class='flag-5'>實現</b>

    H.264_AVC視頻編碼變換量化核實現

    本文主要研究H.264/AVC編碼模塊中的4×4整數變換量化核,提出硬件實現優化方法。
    發表于 02-08 11:07 ?1748次閱讀
    <b class='flag-5'>H.264</b>_AVC視頻編碼<b class='flag-5'>變換</b><b class='flag-5'>量化</b><b class='flag-5'>核實現</b>

    H.264視頻編碼器在DM6437上的優化實現

    為了實現基于DSP的H.264視頻編碼器的實時性能,提出了一系列優化實現方法。首先結合TMS320DM6437硬件特點,描述了X264代碼向
    發表于 05-22 15:10 ?63次下載
    <b class='flag-5'>H.264</b>視頻編碼器在DM6437上的<b class='flag-5'>優化</b><b class='flag-5'>實現</b>

    基于FPGAH.264 DCT算法的硬件實現

    二維離散余弦(DCT)在H.264視頻編碼中承擔者信號從時域到頻域變換的作用。在現場可編程邏輯門陣列(FPGA)上設計了高效的采用流水線結構的H.264 DCT硬件電路。首先,把二維4
    發表于 07-31 15:26 ?5930次閱讀
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>H.264</b> DCT算法的硬件<b class='flag-5'>實現</b>

    基于DM642的H.264編碼算法優化實現

    基于DM642的H.264編碼算法優化實現
    發表于 05-18 09:22 ?1次下載

    基于FPGA硬件實現H.264變換量化整體結構的設計方案

    H.264高效的編碼效率是以其高復雜性為代價的,因此制約了它在高分辨率、實時處理等方面的應用。而FPGA器件采用流水控制策略和并行處理方式,可為H.264復雜的編碼模塊提供硬件加速引擎。變換
    的頭像 發表于 08-01 08:04 ?2363次閱讀

    如何在Linux下實現H.264解碼器的優化

    H.264解碼器進行優化。本文首先分析了H264標準所采用的一些先進技術,如基于多種運動矢量模塊的運動佔計、幀內預測、整數
    發表于 02-25 11:06 ?5次下載
    如何在Linux下<b class='flag-5'>實現</b><b class='flag-5'>H.264</b>解碼器的<b class='flag-5'>優化</b>
    主站蜘蛛池模板: 久久黄色精品视频| 51无码人妻精品1国产| 极品 女神校花 露脸91| 999久久久无码国产精蜜柚| 午夜理论电影在线观看亚洲| 女王黄金vk| 久久久久亚洲精品影视| 国产激情一级毛片久久久| 99国产精品白浆在线观看免费| 亚洲欧美国产综合在线一区| 少妇一夜未归暴露妓女身份| 欧美丰满熟妇BBB久久久| 久久精品一区| 韩国黄电影| 国产普通话精品久久| 成人在线观看播放| 99婷婷久久精品国产一区二区| 伊人久久精品AV一区二区| 午夜国产羞羞视频免费网站| 日韩欧美一区二区三区在线| 女性爽爽影院免费观看| 老师的玉足高跟鞋满足我| 黄网址在线观看| 国模大胆一区二区三区| 国产精品久久欧美一区| 福利一区福利二区| 被强J高H纯肉公交车啊| caoporn 在线视频| 97无码人妻精品1国产精东影业| 樱桃视频影院在线播放| 亚洲中文字幕日产乱码2020| 亚洲精品视频免费看| 国内卡一卡二卡三免费网站| 外国三级片名| 国产AV午夜精品一区二区入口| 亚洲日韩一区精品射精| 久久一级片| 九九九九九热| 九九热这里都是精品| 精品国产麻豆免费人成网站| 国产自产第一区c国产|