《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于SoPC的二維IDCT分布式算法的IP核研究
基于SoPC的二維IDCT分布式算法的IP核研究
來源:電子技術應用2011年第4期
付 揚, 鄧 超
北京工商大學 計算機與信息工程學院, 北京 100048
摘要: 研究基于SoPC的視頻解碼系統中二維IDCT 硬件設計與實現。針對二維IDCT的運算量大、乘法運算多,導致占用FPGA資源多和系統速度慢等問題,其設計采用一維IDCT復用,研究分布式算法實現乘法累加,并使用偏移二進制編碼來減小其查找表大小,其直接占用FPGA邏輯單元內的查找表LUT,沒有寄存器或內置RAM。綜合結果表明,芯片占用資源少、訪問速度快,其最高可綜合工作頻率達到140.39 MHz。此外,基于Avalon總線接口實現二維IDCT IP核的SoPC Builder系統構建,在以Nios II處理器為核心SoPC視頻解碼系統中測試,結果表明,該IP核能提高視頻解碼速度20%以上,很大程度上增強了解碼的實時性。
中圖分類號: TP391
文獻標識碼: A
文章編號: 0258-7998(2011)04-0126-04
The IP core research of 2D IDCT distributed algorithm based on SoPC
Fu Yang, Deng Chao
Computer and Information Engineering Institute, Beijing Technology and Business University, Beijing 100048, China
Abstract: Research SoPC system of two-dimensional IDCT hardware design and implementation. Two-dimensional IDCT for computing capacity, multiplication and more, making the occupation of FPGA resources and system slow and so many disadvantages, the design uses a distributed algorithm multiply-accumulate, and use the offset binary coding to reduce the size of the lookup table can be directly FPGA logic cells using the look-up table LUT, there are no registers or internal RAM. The synthesis results show that the chip takes fewer resources, access speed, two-dimensional IDCT integrated work a maximum frequency of 140.39 MHz. Avalon bus interface based on two-dimensional IDCT IP core of the SoPC builder system construction, Testing based on SoPC video decoding system In Nios II processor as the core, the test results show that the IP core rate increased more than 20%, largely enhanced real-time decoding.
Key words : SoPC; IP core; IDCT; DA; OBC


    離散余弦變換(DCT)是最廣泛使用的圖像和視頻壓縮變換編碼方法之一,它可以去除數據之間的相關性、聚集圖像中的能量,使數據便于壓縮,是目前大多數圖像和視頻編碼標準(如JPEG、H.26x系列、MPEGx系列標準等)的核心。在圖像和視頻解碼系統中,則使用離散余弦逆變換(IDCT)對數據進行還原,而常用8×8的二維離散余弦逆變換(2D IDCT)的運算量較大,直接影響到圖像和視頻解碼系統的實時性。本文在基于SoPC視頻解碼系統設計中,考慮到充分利用SoPC具有的軟硬件協同設計優勢,對二維IDCT優化的硬件設計與實現進行了研究。
    研究采用IDCT的分布式算法(DA),并結合偏移二進制編碼(OBC)的查找表方式,設計基于SoPC解碼系統8×8的二維 IDCT IP核。在以Nios II處理器為核心的SoPC視頻解碼系統中,該 IP核設計滿足Avalon總線標準的接口。經綜合測試表明,該IP核的應用提高了解碼的實時性,具有一定的應用價值。
1 IDCT算法
1.1二維IDCT分解

    8×8二維IDCT的定義式[1]如下:

其中Fx,y為DCT變換后的系數,fi,j為原始數據,當x,y=


    從式(9)可以看出,如果預先計算好部分和Dj并存入查找表,則通過移位累加操作,同樣可以計算出向量內積Px。dij的取值只可能是-1或+1,部分和Dj關于向量d的正負值成鏡像對稱。下面以計算P1為例,來說明這種部分和的對稱關系:
 
2 二維IDCT硬件設計
2.1 二維IDCT硬件結構

    設計方案利用2D IDCT的行列分解特性,使用一個1D IDCT核、8×8轉置RAM和復用器等模塊來構成2D IDCT硬件系統。2D IDCT的結構框圖如圖2所示。

    圖中,串并轉換緩沖器,每收到8個數據后將其作為一行數據同時輸出,該模塊還是輸入數據的緩存模塊。并串轉換緩沖器功能與此模塊類似。轉置RAM用來完成8×8數據的行列轉換,按行輸入按列輸出。1D IDCT模塊為整個IP的核心,用來計算8點1D IDCT的值。控制器負責整個IP核的工作時序,保證其運行無誤。工作時先按行順序讀入數據,然后由1D IDCT計算每行8點的逆變換值,再按行順序寫入轉置RAM中,然后控制器切換復用器,按列順序從轉置RAM中讀出數據,計算每列IDCT值后按列順序寫入輸出緩存,最后按行順序讀出最終結果。
2.2 一維IDCT硬件設計
    實現2D IDCT硬件的關鍵是如何實現1D IDCT。本設計使用OBC編碼的分布式算法來完成1D IDCT的硬件設計,其核心是4輸入的移位累加模塊的設計,其結構如圖3所示。移位累加模塊可以計算一個乘積和,并行使用8個移位累加模塊及1個后處理模塊,組成完整的1D IDCT模塊。后處理模塊用于式(5)、式(6)的計算,其輸出為最終8點1D IDCT的結果。在設計移位累加器時,要注意初始值Dapp的設置。在視頻解碼系統中,對IDCT輸出數據的準確性較敏感,對數據的舍入要求較高。因此設計時,對輸出數據采用四舍五入,將累加器的初始值加上4 096,右移13次后將輸出結果補償0.5。

    圖4為1D IDCT的硬件結構圖。1D IDCT模塊的輸入數據精度為13 bit,輸出為16 bit。其中移位寄存器輸入13 bit,輸出為8 bit。為防止數據溢出,移位累加器的輸出為14 bit,而非13 bit。經后處理模塊將精度擴展為16 bit后,作為最后結果輸出。

    1D IDCT是整個設計的核心,該模塊功能的正確與否將影響整個系統的性能。
2.3 Avalon總線接口2D IDCT IP核設計
    基于SoPC視頻解碼中,IP核還應包含Avalon總線接口以及控制寄存器組。Avalon總線接口包含對總線進行讀寫操作,它是2D IDCT IP核與Avalon總線數據傳輸的橋梁[5]。通過接口模塊,可以將IP核加入到SoPC系統中??刂萍拇嫫鹘M用于存儲控制狀態字,以及控制IP核的參數數據[5]。
    圖5為基于Avalon總線接口的2D IDCT IP核的總體結構圖。


    Avalon總線讀取模塊根據寄存器中的操作地址,將要處理的64個數據讀入輸入緩存,經2D IDCT模塊處理后由總線寫入模塊將結果寫回原地址。模塊運行時,首先向控制寄存器寫入控制數據,然后IP核發起總線數據讀取操作,等IP核接收到Avalon總線返回的數據后開始對數據進行處理,最后再將結果寫回Avalon總線。
3 二維IDCT IP核的綜合與測試
3.1 二維IDCT IP核的綜合

    使用以Cyclone II EP2C35F672C8 FPGA芯片為核心的SoPC開發平臺,硬件設計使用Verilog HDL硬件描述語言編寫,在Quartus II軟件進行綜合,綜合報告如圖6所示。由此可見,整個2D IDCT占用了4 336個邏輯單元,核心模塊1D IDCT只占用了632個邏輯單元。8個查找表模塊直接使用了FPGA邏輯單元內的查找表LUT,沒有寄存器或內置RAM。這種查找表模塊的實現方式簡單靈活,并且芯片訪問速度快。2D IDCT IP核的最高可綜合工作頻率為140.39 MHz。其時序分析報告如圖7所示。

3.2 二維IDCT IP核的SoPC測試結果
    在以Nios II 為處理器的SoPC系統中,進行實際視頻解碼測試。將 IDCT IP核添加到SoPC Builder中,將編碼過的視頻測試文件燒入到Flash中,移植解碼程序到Nios II IDE中,刪除原有的IDCT軟件函數,用C語言編寫2D IDCT IP核的驅動函數。經系統解碼后,通過帶VGA接口的LCD進行播放[6]。
    測試結果看出系統加入IDCT IP核后,LCD顯示畫面清晰,沒有降低系統的解碼質量。
    對于不同的測試視頻,解碼速度是有差異的,為了能更準確地測試出IP核的性能,本研究選用了多個視頻文件進行比較如表1所示。從表1可以看出,加入2D IDCT IP核以后,  解碼每幀所需時間平均減少了約6 ms,幀率平均提高了6~8幀,使系統的解碼速率平均提高了20%以上。

    本文研究設計的2D IDCT IP核針對FPGA的硬件特點,采用分布式算法實現乘法累加模塊,使用OBC編碼減小了查找表的大小,節省了FPGA資源,優化了硬件設計。
    該IP核的研究基于先進的SoPC技術,應用于視頻解碼系統中,結果表明,該IP核很大程度上提高了視頻解碼速度,增強了視頻解碼系統的實時性。由于SoPC的IP核復用技術,該設計將具有很強的實用性、通用性和擴展性。
參考文獻
[1] RICHARDSON I E G.視頻編解碼器的設計-開發圖像與視頻壓縮系統[M]. 北京:國防科技大學出版社, 2005.
[2] CHEN W H. A fast computational algorithm for the discrete cosine transforms [J]. IEEE Transactions on Communications, 1977,25(9):1004-1009.
[3] 梁剛.分布算術的并行計算技術研究[J]. 微電子學與計算機, 2009(5).
[4] 紀秀花.用查表法快速實現二維8×8離散余弦逆變換的研究[J]. 電子學報,2008(4):639-645.
[5] 劉家良,任懷魯,陳新華.AVS視頻解碼中幀內預測模塊的硬件化設計及SOPC驗證 [J].電子技術應2009,
35(10):18-21.
[6] Altera. Avalon Interface Specifications [DB/OL].2009-11.
 

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 《调教办公室》在线观看| 五月婷婷伊人网| 精品国产乱码久久久久久1区2区| 国产色视频免费| jyzzjyzz国产免费观看| 拧花蒂尿用力按凸起喷水尿| 久久综合香蕉国产蜜臀AV| 欧美性猛交xxxx黑人| 亚洲精品美女在线观看播放| 精品午夜一区二区三区在线观看 | 国产麻豆剧传媒精品国产免费 | 男人操女人网站| 又紧又大又爽精品一区二区| 蜜桃麻豆www久久囤产精品| 国产成人精品日本亚洲直接| 2021天天干| 在线看www免费看| jizz免费在线影视观看网站| 很黄很污的视频网站| 中文字幕在线播放第一页| 日本永久免费a∨在线视频| 久草视频精品在线| 欧美人与物videos另| 亚洲日韩区在线电影| 波多野结衣伦理视频| 免费99精品国产自在现线| 精品国产理论在线观看不卡| 国产AV无码专区亚洲AV琪琪| 阿v网站在线观看| 国产成人亚洲综合网站不卡| youjizz欧美| 国产精品亚洲精品日韩已方| 91中文字幕在线| 国语精品高清在线观看| bt天堂新版中文在线地址| 少妇高潮无套内谢| 三年片在线观看免费观看大全中国 | jizzjizz护士| 小说专区亚洲春色校园| 两个丫头稚嫩紧窄小说| 成人av电影网站|