2D-DCT的FPGA實(shí)現
在信息社會(huì )迅猛發(fā)展的21世紀,多媒體信息日益增多,其中人類(lèi)主要依靠圖像來(lái)接收各種各樣的信息。圖像中包含如此巨大的數據量,如果不經(jīng)過(guò)壓縮,不僅超出了計算機的存儲和計算能力,而且無(wú)法完成信息的實(shí)時(shí)傳輸。圖像的高速傳輸和所需巨大的存儲容量已成為數字圖像通信的最大障礙。離散余弦變換(DCT)由于其變換特點(diǎn)被認為是性能最接近K—L變換的準最佳變換,現在已經(jīng)是最流行的圖像壓縮變換技術(shù),并已經(jīng)在JPEG、MPEG-1/2/4、H.26x等國際編碼標準中獲得了廣泛的應用[1].由于集成電子技術(shù)的高速發(fā)展和廣泛運用,數字圖像處理也由軟件向硬件過(guò)渡并得到了非常迅速的發(fā)展。FPGA作為當今運用極為廣泛的可編程邏輯器件,也是數字圖像處理的理想器件。目前,利用FPGA進(jìn)行圖像處理主要是直接在FPGA上利用硬件描述語(yǔ)言或EDA軟件進(jìn)行設計,這種設計方法的最大優(yōu)點(diǎn)就是速度快,可以利用流水線(xiàn)實(shí)現,具有一定的靈活性。
基于行列分解的2D-DCT由于算法規律性強、實(shí)現結構直觀(guān)、時(shí)序控制簡(jiǎn)單而被廣泛應用。本文提出使用行列分解法和分布式算法來(lái)實(shí)現2D-DCT,可以減少硬件資源,提高運算速度,具有一定的現實(shí)意義。
1 2D-DCT系統模塊設計
離散余弦變換經(jīng)常使用在信號處理和圖像處理中,用于對信號和圖像進(jìn)行有損數據壓縮。這是由于離散余弦變換具有很強的“能量集中”特性,使圖像的主要信息集中在變換后的低頻上,并且能夠去掉像素間較強的相關(guān)性,讓圖像的信息集中在少數幾個(gè)系數上,以減少冗余達到對圖像進(jìn)行壓縮的目的。


1.2 系統模塊設計
根據2D -DCT 的行列分解性及2D -DCT 的計算流程所設計的系統框圖如圖2 所示, 整個(gè)系統由控制模塊、1D-DCT 模塊和行列轉換模塊3 個(gè)模塊組成。

在每個(gè)時(shí)鐘的上升沿從數據輸入端輸入一個(gè)數據,8 個(gè)時(shí)鐘周期后, 輸入的就是8×8 數據塊的一行數據。同時(shí), 控制模塊給1D-DCT 模塊一個(gè)信號, 通知它對這8 個(gè)數據進(jìn)行1D-DCT 變換, 并且在計算完之后把結果存進(jìn)行列轉換模塊中。如此反復8 次后, 就對8×8 數據塊完成了行變換, 所得到的64 個(gè)數據依然是以8×8 的矩陣形式存放在行列轉換模塊中。之后控制模塊分8 次從行列轉換模塊中讀出8×8 矩陣的每一列數據, 再送入1D-DCT 模塊中進(jìn)行變換, 變換后的數據就是8×8 數據塊的2D-DCT 變換結果。
評論