<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 基于FPGA的H.264 DCT算法的硬件實(shí)現

基于FPGA的H.264 DCT算法的硬件實(shí)現

作者: 時(shí)間:2012-07-30 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:二維離散余弦()在H.視頻編碼中承擔者信號從時(shí)域到頻域變換的作用。在現場(chǎng)可編程邏輯門(mén)陣列()上設計了高效的采用流水線(xiàn)結構的H. 硬件電路。首先,把二維4×4 變換轉換成二次一維DCT變換;其次,DCT變換之間加一個(gè)兩端口的RAM,以實(shí)現數列的轉置;最后,在頂層設計一個(gè)有限狀態(tài)機控制整個(gè)流程。該設計采用較少的資源實(shí)現了較好的功能,獲得了可靠的實(shí)驗結果。
關(guān)鍵詞:二維離散余弦變換;;H.;DCT

0 引言
目前,基于分塊DCT的編碼技術(shù)已成為圖像/視頻編碼國際標準的核心技術(shù),一方面是因為DCT具有良好的去相關(guān)性和能量壓縮性,另一方面是因為DCT具有快速實(shí)現。隨著(zhù)數字多媒體技術(shù)的快速發(fā)展,H.264視頻壓縮標準在多個(gè)領(lǐng)域得到了廣泛的應用。然而,在當前有限的網(wǎng)絡(luò )帶寬、有限的資源以及要求更高壓縮速率情況下,對二維離散余弦變換(DCT)提出了更高的要求。H.264對圖像或預測殘差采用了4×4整數離散余弦變換技術(shù),避免了以往標準中使用的通用8×8離散余弦變換、逆變換經(jīng)常出現的失配問(wèn)題。

1 H.264的整數DCT變換
一維N點(diǎn)離散余弦變挽(DCT)可以表示為:
b.JPG
式中:xn是輸入時(shí)域序列中第n項;yK是輸出頻域序列中的第K項;系數CK定義如下:
c.JPG
H.264對4×4圖像塊進(jìn)行操作,則相應的4×4DCT變換矩陣A為:

本文引用地址:http://dyxdggzs.com/article/190096.htm

d.JPG
d.JPG
A中的a,b和c是實(shí)數,而圖像塊X中的元素是整數。對實(shí)數的DCT,由于在解碼端的浮點(diǎn)運算精度問(wèn)題,會(huì )造成解碼后的數據的失配,進(jìn)而引起漂移。H.264比其他圖像編碼使用了更多的預測過(guò)程,甚至內部編碼模式也依賴(lài)于空間預測。因此,H.264對預測漂移是十分敏感的。為此,H.264對4×4 DCT中的A進(jìn)行了改造,采用了整數DCT技術(shù),有效地減少計算量,同時(shí)不損失圖像準確度。式(1)可以等效為:
e.JPG
式中:d=c/b≈0.414;符號e1.jpg表示結果中的每個(gè)元素乘以矩陣E中對應位置上系數值的運算。為了簡(jiǎn)化計算,去d為0.5,同時(shí)又要保持變換的正交性,對b進(jìn)行修正,取f1.jpg。對矩陣C中的第2行和第4行,以及矩陣CT中的第2列和第4列元素乘以2,相應地改造矩陣E為Ef,以保持式(7)成立,得到:
g1.jpg
式中運算e1.jpg對每個(gè)矩陣元素只進(jìn)行一次乘法,同時(shí)它將被歸納到量化運算中。這樣,h1.jpg中只剩下整數的加法、減法和移位運算。式(8)的矩陣乘法運算可以改造成兩次一維整數DCT變換,例如先對圖像或其殘差塊的每行進(jìn)行一維整數DCT,然后對經(jīng)行變換塊的每列再應用一維整數DCT變換。每次一維整數DCT可以采用蝶形快速,以節省時(shí)間,如圖1所示。

f.JPG


整數DCT變換是基于DCT的,但是又有一些不同:
(1)它是一個(gè)整數變換(所有的操作都可以使用整數,而不丟失解碼精度);
(2)它可以實(shí)現編碼端正變換與解碼端反變換之間的零誤差匹配;
(3)變換的核心部分可以?xún)H僅使用加法和移位操作實(shí)現;
(4)變換中的一部分尺度乘法運算可以和量化器結合到一起,減少了乘法的數量。

2 H.264整數DCT變換的FPGA實(shí)現
H.264中以4×4塊為單位,運算過(guò)程中只有移位和加法,降低了算法的復雜度,易于硬件實(shí)現。設計時(shí)可把二維DCT變換分割為兩次一維整數變換,而一維變換可以用蝶形快速算法實(shí)現,整個(gè)過(guò)程只需64次加法和16次移位運算。

g.JPG


圖2為H.264整數DCT變換的框圖。首先,輸入的數據在控制單元的控制下進(jìn)行一維DCT變換;然后,將結果存入雙端口RAM中,待整個(gè)4× 4塊一維變換后,將數據按照轉置的概念取出,再進(jìn)行一維DCT變換;最后,將其結果輸出即可。在設計中,為了加快系統的速度,采用兩個(gè)一維DCT變換模塊。
2.1 一維DCT蝶形算法模塊
根據圖1所示的快速算法,在加法器之間插入寄存器,以提高時(shí)鐘頻率和流水線(xiàn)處理,乘法運算可用移位操作,因此可以快速地實(shí)現一維DCT蝶形算法。產(chǎn)生的結果存入雙端口RAM,以實(shí)現二維矩陣的轉置。在設計中,為了實(shí)現并行處理和最大的速率,設置兩個(gè)一維DCT蝶形算法模塊和4個(gè)雙端口RAM,在雙端口RAM的前后分別設計了數據選擇通路。第一個(gè)一維DCT實(shí)現行變換,第二個(gè)一維DCT實(shí)現列變換,由于在從行變換到列變換中間經(jīng)過(guò)1個(gè)矩陣轉置過(guò)程,所以在給列變換單元輸入數據時(shí),輸入的數據需要重新組合后再送給每個(gè)列變換單元。
在設計矩陣轉置是用4個(gè)RAM代替1個(gè)RAM,再增加兩個(gè)4通道的旋轉多路器,同時(shí)配合對4個(gè)RAM的編址讀操作,一次輸入原始矩陣的一列。并行矩陣轉置模塊的寫(xiě)操作:每個(gè)時(shí)鐘周期變換一次RAM_BANK的接入順序,每個(gè)RAM_BANK每次寫(xiě)入地址隨時(shí)鐘周期按順序遞增。
2.2 控制單元FSM
圖3顯示共有11個(gè)狀態(tài),主要對2個(gè)一維DCT變換模塊,4個(gè)RAM塊和2個(gè)數據選擇通路進(jìn)行控制,采用獨熱編碼,較好地實(shí)現了各底層模塊電路的鏈接。在設計中,采用異步復位,其好處是:重要綜合工具工藝庫有可異步復位觸發(fā)器,那么該觸發(fā)器的數據輸入通道就不需要額外的組合邏輯。同時(shí),采用了專(zhuān)用握手信號實(shí)現各模塊間有序的數據交換。

h.JPG



3 結論
通過(guò)圖4可以看出,在50 MHz的時(shí)鐘頻率下電路很好地完成了二維DCT的轉換,遲滯也比較小,實(shí)驗結果與所設計的電路功能完全一致。仿真界面如圖5所示。

a.JPG


在A(yíng)ltera的CycloneⅡ平臺上,通過(guò)QuartusⅡ編譯報告可以看出,此電路共消耗了732個(gè)LE和256 b的RAM。

4 結語(yǔ)
本文采用高效的流水線(xiàn)結構,并基于FPGA設計實(shí)現了H.264硬件電路,無(wú)論是硬件占用資源,還是處理精度,完全可以滿(mǎn)足H.264視頻偏碼的需要。

fpga相關(guān)文章:fpga是什么




關(guān)鍵詞: FPGA 264 DCT 算法

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>