基于FPGA的快速9/7整形離散小波變換系統(tǒng)設計
來源:電子科技
陳維波,,鄧家先,王海榮
海南大學
摘要: CCSDS圖像數(shù)據(jù)壓縮標準中采用9/7整形離散小波變換為核心算法,,該算法結(jié)構(gòu)簡單,,易于硬件設計實現(xiàn),。文中基于FPGA設計實現(xiàn)了9/7整數(shù)離散小波變換系統(tǒng),,設計中使用內(nèi)部RAM存儲方式,,減小了對存儲器的需求量,,同時采用基于行的列變換方式,,行,、列變換同時進行,提高了運行速度,,仿真和綜合結(jié)果顯示該設計需要的硬件資源少,,運行速度快。
Abstract:
Key words :
美國空間數(shù)據(jù)系統(tǒng)咨詢委員會(簡稱CCSDS)于2005年推出一套適用于空間領(lǐng)域的圖像壓縮標準,,標準使用了離散小波變換為核心算法,,推薦使用9/7整數(shù)離散小波變換實現(xiàn)無損圖像壓縮,由于該算法結(jié)構(gòu)簡單,,易于硬件設計實現(xiàn),,因此可以用FPGA來實現(xiàn)提升小波算法,。
1 CCSDS圖像壓縮標準中的小波變換
CCSDS圖像壓縮算法主要包括兩個功能模塊:前一部分是對遙感圖像數(shù)據(jù)進行離散小波變換,去除圖像數(shù)據(jù)之間的冗余,;后一部分是對去相關(guān)后的圖像數(shù)據(jù)進行位平面壓縮編碼,,如圖1所示。

CCSDS標準推薦使用9/7離散小波濾波器對圖像數(shù)據(jù)進行變換,,即濾波器的低通系數(shù)為9個,,濾波器的高通系數(shù)為7個。對于長度為2N待變換圖像的原始數(shù)據(jù)Xk(k=0,,1,,2,…,,2N-1),,其整形小波變換公式如式(1)~式(6)所示。

其中,,[]為對數(shù)據(jù)進行下取整操作,;Cj為低通小波系數(shù)輸出;Dj為高通小波系數(shù)輸出,。為了避免乘法器運算的繁瑣,,對公式進行了變形,采用加法器和移位操作實現(xiàn)公式的運算,,提高了運算速度,。
2 9/7二維離散小波變換的系統(tǒng)設計過程
本文在Xilinx公司提供的ISE7.1集成設計軟件環(huán)境下,采用VHDL語言設計實現(xiàn)9/7二維離散小波變換系統(tǒng),,首先進行小波行變換,行變換后的數(shù)據(jù)按照行數(shù)輸入內(nèi)部RAM緩存,,然后對行變換后的數(shù)據(jù)再進行列變換,,最后將低頻系數(shù)dLLl輸入RAM緩存,其余高頻系數(shù)dLHl,,dHLl,,dHHl輸出到外掛RAM中緩存,系統(tǒng)設計流程,,如圖2所示,。
本文在Xilinx公司提供的ISE7.1集成設計軟件環(huán)境下,采用VHDL語言設計實現(xiàn)9/7二維離散小波變換系統(tǒng),,首先進行小波行變換,行變換后的數(shù)據(jù)按照行數(shù)輸入內(nèi)部RAM緩存,,然后對行變換后的數(shù)據(jù)再進行列變換,,最后將低頻系數(shù)dLLl輸入RAM緩存,其余高頻系數(shù)dLHl,,dHLl,,dHHl輸出到外掛RAM中緩存,系統(tǒng)設計流程,,如圖2所示,。

2.1 行變換過程
首先,使用7個移位寄存器來實現(xiàn)對數(shù)據(jù)的讀寫傳輸,,每到來一個時鐘控制信號(clk),,就往移位寄存器中讀寫一個數(shù)據(jù),數(shù)據(jù)在移位寄存器中的傳輸過程,,如圖3所示,。

當輸入第5個數(shù)據(jù)時,,就可以根據(jù)式(1)和式(5)分別計算出第一個高通系數(shù)值D0和第一個低通系數(shù)值C0,下一個時鐘控制信號讀入第6個數(shù)據(jù)時,,不進行操作,,當控制讀入第7個數(shù)據(jù)時,根據(jù)式(2)和式(6)分別計算出第2個高通系數(shù)值Dj和第2個低通系數(shù)值Cj,,小波行變換后的高通系數(shù)D和低通系數(shù)C采用地址傳輸?shù)姆绞浇徊娲鎯Φ?個內(nèi)部RAM當中,,如圖4所示。

2.2 列變換過程
由于列變換是針對行變換后的數(shù)據(jù)進行的,,即對上面6片RAM中存儲的行變換后的數(shù)據(jù)進行列變換,,為了提高運行速度,本文采用基于行的列變換方法,,即當小波變換進行到第5行時,,列變換也同時進行,第5行行變換結(jié)束時,,也完成了針對第5行數(shù)據(jù)的列變換,,當?shù)?行進行小波變換時,不進行列變換操作,,直到第7行小波行變化數(shù)據(jù)輸入時,,再同時進行列變換計算操作,依次完成小波列變換,。對于列小波變換后的低頻數(shù)據(jù)dLLl,,要輸入RAM緩存以進行下一級變換,對于其他的高頻數(shù)據(jù)(dLHl,,dHLl,,dHHl)可以直接輸出到片外存儲器中。
下面是設計的一級二維小波變換的集成模塊,,如圖5所示,。

3 仿真與綜合
為了驗證本文設計系統(tǒng)的性能,使用Modlesim6.3仿真軟件對系統(tǒng)進行了仿真測試,,下面是采用大小為1 024×1 024,,圖像數(shù)據(jù)為8位的測試圖像進行測試仿真的部分波形圖。
為了驗證本文設計系統(tǒng)的性能,使用Modlesim6.3仿真軟件對系統(tǒng)進行了仿真測試,,下面是采用大小為1 024×1 024,,圖像數(shù)據(jù)為8位的測試圖像進行測試仿真的部分波形圖。

在Xilinx提供的ISE7.1仿真軟件下搭建測試平臺,,對設計系統(tǒng)進行綜合,,結(jié)果如圖9所示。

設計系統(tǒng)時鐘頻率可達到54 MHz,,滿足對圖像數(shù)據(jù)的實時處理要求,。
4 結(jié)束語
本文主要討論了基于FPGA的快速9/7整形離散小波變換系統(tǒng)設計,該結(jié)構(gòu)采用內(nèi)部RAM的循環(huán)覆蓋的存儲方式,,使對存儲器的需求量減小,,從而減小了硬件功耗,,同時采用基于行的列變換方式,提高了的系統(tǒng)運行,,可實現(xiàn)對遙感傳輸圖像的快速實時處理,。
此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。