專利名稱:二維離散余弦變換/逆離散余弦變換電路及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖像與視頻壓縮技術(shù)中使用的離散余弦變換(DCT變換)和離散余弦反變換(IDCT變換)的FPGA硬件結(jié)構(gòu)及變換方法,尤其涉及對8X8塊的圖像數(shù)據(jù)進行二維DCT變換或二維IDCT變換的電路及其方法。
背景技術(shù):
離散余弦變換是數(shù)字圖像處理和壓縮領(lǐng)域的重要變換之一,采用非均量量化的方法來降低圖像中的高頻分量,消除圖像內(nèi)部的空間冗余信息,同時將圖像數(shù)據(jù)轉(zhuǎn)換成可歸一、量化和可變長編碼的頻域系數(shù)。圖像信息經(jīng)過DCT變換后絕大部分的能量集中直流分量和少數(shù)低頻分量上,廣泛應(yīng)用于靜態(tài)圖像壓縮標(biāo)準(zhǔn)JPEG、動態(tài)圖像壓縮標(biāo)準(zhǔn)MPEG和
H.26x中。因而如何提高DCT/IDCT性能,并將其應(yīng)用于集成電路中,已成為重要的課題。此夕卜,作為DCT/IDCT運算功能的電路部分,除了需滿足高效率、實時處理數(shù)據(jù)外,需盡量簡化電路,以最少的硬件結(jié)構(gòu)達到最快的運行目的。二維DCT變換的計算公式如下:
權(quán)利要求
1.二維離散余弦變換/逆離散余弦變換電路,其特征在于:包括輸入存儲器和輸出存儲器,用于緩沖需要處理的數(shù)據(jù)的寄存器表,用于數(shù)據(jù)轉(zhuǎn)置處理的解復(fù)用器、第一復(fù)用器、第二復(fù)用器,用于控制數(shù)據(jù)處理流程的控制單元,用于產(chǎn)生時鐘信號的時鐘模塊,以及離散余弦變換/逆離散余弦變換單元,輸入存儲器、第一復(fù)用器、寄存器表、解復(fù)用器、離散余弦變換/逆離散余弦變換單元、第二復(fù)用器、輸出存儲器依次連接;所述離散余弦變換/逆離散余弦變換單元包括寄存器、對寄存器的數(shù)據(jù)進行一次和或差運算的第一和差運算單元、對寄存器的數(shù)據(jù)進行移位后依次進行兩次和或差運算的第二和差運算單元,第一和差運算單元、第二和差運算單元的輸入端、輸出端均與寄存器相連接,寄存器還分別與解復(fù)用器、第二復(fù)用器相連接。
2.根據(jù)權(quán)利要求1所述的二維離散余弦變換/逆離散余弦變換電路,其特征在于:所述第一和差運算單元包括4個并行的第一加減法器、4個輸入端、4個輸出端,所述4個輸入端中任一個均被2個第一加減法器所共用,每一個第一加減法器的輸出端均作為第一和差運算單元的輸出端。
3.根據(jù)權(quán)利要求1所述的二維離散余弦變換/逆離散余弦變換電路,其特征在于:所述第二和差運算單元包括16個移位器、8個第二加減法器、4個第三加減法器、4個輸入端、4個輸出端;每4個移位器共用一個輸入端,每2個移位器后均對應(yīng)連接一個第二加減法器,每2個第二加減法器后還均對應(yīng)連接一個第三加減法器,每一個第三加減法器的輸出端均作為第二和差運算單元的輸出端。
4.根據(jù)權(quán)利要求1所述的二維離散余弦變換/逆離散余弦變換電路,其特征在于:所述輸入存儲器和輸出存儲器均為先進先出存儲器。
5.根據(jù)權(quán)利要求1所述電路的二維離散余弦變換/逆離散余弦變換方法,其特征在于: 離散余弦變換包括以下步驟:` 步驟101:從寄存器中取出{fl,f6,f2,f5}作為第一和差運算單元的輸入,則第一和差運算單元的輸出為Iul,u6,u2,u5}并存入寄存器中; 步驟102:從寄存器中取出{f0,f7,f3,f4}作為第一和差運算單元的輸入,則第一和差運算單元的輸出為{u0,u7,u3,u4}并存入寄存器中; 步驟103:從寄存器中取出{U1,U2,U3,U0}作為第一和差運算單元的輸入,則第一和差運算單元的輸出為{vl,v2, v3, v0}并存入寄存器;同時,從寄存器中取得{u7,u4,u5,u6}作為第二和差運算單元的輸入,則第二和差運算單元的輸出為{v4,v7,v5,v6}并存入寄存器; 步驟104:從寄存器中取出{v4,v5,v6,v7}作為第一和差運算單元的輸入,則第一和差運算單元的輸出為{w4,w5,w5,《7}并存入寄存器;同時,從寄存器中取得{vl,vO,v2,v3}作為第二和差運算單元的輸入,則第二和差運算單元的輸出為{xl,x0,x3,x2}并存入寄存器; 步驟105:從寄存器中取出{w4,w5,w6,w7}作為第二和差運算單元的輸入,則第二和差運算單元的輸出為{ x7, x6, x5, x4 }并存入寄存器;同時,從寄存器中取出下一次一維離散余弦變換的{H,f6,f2,f5}作為第一和差運算單元的輸入,則第一和差運算單元的輸出為下一次離散余弦變換的Iul,u6,u2,u5},存入寄存器;步驟106:重復(fù)步驟102 步驟105,直至16次一維離散余弦變換全部完成; 逆離散余弦變換包括以下步驟: 步驟201:從寄存器中取出{X4,X7,X5,X6}作為第二和差運算單元的輸入,則第二和差運算單元的輸出為{w7, w4, w6, w5}并存入寄存器; 步驟202:從寄存器中取出{w4,w5,w6,w7}作為第一和差運算單元的輸入,則第一和差運算單元的輸出為Iv4,v5, v6, v7}并存入寄存器;同時,從寄存器中取得{xl,x0, x2, x3}作為第二和差運算單元的輸入,則第二和差運算單元的輸出為{vl,v0,v3,v2}并存入寄存器; 步驟203:從寄存器中取出{vl,v2,v3,v0}作為第一和差運算單元的輸入,則第一和差運算單元的輸出為lul,u2,u3,u0}并存入寄存器;同時,從寄存器中取得{v7,v4, v5, v6}作為第二和差運算單元的輸入,則第二和差運算單元的輸出為Iu4,u7, u5, u6},存入寄存器; 步驟204:從寄存器中取出{U0,U7,U3,U4}作為第一和差運算單元的輸入,則第一和差運算單元的輸出為{f0,f7,f3,f4},存入寄存器; 步驟205:從寄存器中取出{ul,u6,u2,u5}作為第一和差運算單元的輸入,則第一和差運算單元的輸出為{fl,f6,f2, f5},存入寄存器;同時,從寄存器中取出下一次一維逆離散余弦變換的{X4,X7,X5,X6}作為第二和差運算單元的輸入,則第二和差運算單元的輸出為下一次逆離散余弦變換的{w7,w4, w6, w5},存入寄存器; 步驟206:重復(fù)步驟202 步 驟205,直至16次一維逆離散余弦變換全部完成。
全文摘要
本發(fā)明涉及二維離散余弦變換/逆離散余弦變換電路及方法,其電路包括依次連接的輸入存儲器、第一復(fù)用器、寄存器表、解復(fù)用器、離散余弦變換/逆離散余弦變換單元、第二復(fù)用器、輸出存儲器;離散余弦變換/逆離散余弦變換單元包括寄存器、對寄存器的數(shù)據(jù)進行一次和或差運算的第一和差運算單元、對寄存器的數(shù)據(jù)進行移位后依次進行兩次和或差運算的第二和差運算單元,第一、第二和差運算單元的輸入端、輸出端均與寄存器相連接,寄存器還分別與解復(fù)用器、第二復(fù)用器相連接。本發(fā)明采用一個加減法器和兩個移位器代替了一個乘法器,通過選擇特定的系數(shù),使得硬件電路無需使用耗費資源較多、速度較慢的乘法器,硬件計算單元可重復(fù)利用。
文檔編號G06F17/14GK103237219SQ20131014461
公開日2013年8月7日 申請日期2013年4月24日 優(yōu)先權(quán)日2013年4月24日
發(fā)明者陳勇, 宋曉寧, 羅俊海, 祁云嵩, 喬崇, 吳少校, 徐釗 申請人:南京龍淵微電子科技有限公司