無分裂結(jié)構(gòu)的二維小波變換圖片處理芯片設(shè)計(jì)與驗(yàn)證
摘要:5/3小波變換硬件實(shí)現(xiàn)常用結(jié)構(gòu)是先完成分裂,再依照分裂后的數(shù)據(jù)完成預(yù)測部分和更新部分的變換,這需要復(fù)雜的控制結(jié)構(gòu)。在此采用JPEG2000推薦的5/3小波變換公式,在基于行的列變換基礎(chǔ)上提出了一種全新的無數(shù)據(jù)分裂的結(jié)構(gòu)。該結(jié)構(gòu)放棄地址尋址的數(shù)據(jù)讀取模式,采用讀取一維數(shù)據(jù)流節(jié)點(diǎn)的輸入方式,從時應(yīng)的寄存器中讀取在多個寄存器中依次流動的數(shù)據(jù),省略了數(shù)據(jù)輸入的地址控制模塊。由于減少了數(shù)據(jù)分裂步驟,并且無需控制預(yù)測及更新步驟的交替進(jìn)行,因此簡化了小波變換控制系統(tǒng)的結(jié)構(gòu)。在此運(yùn)用軟硬件協(xié)同的驗(yàn)證方法,利用計(jì)算機(jī)軟件和FPGA結(jié)合,完成圖片從計(jì)算機(jī)端輸入,在FPGA中完成小波變換,并輸出到計(jì)算機(jī)顯示器上顯示的步驟。
關(guān)鍵詞:小波變換;軟硬件協(xié)同驗(yàn)證;FPGA;JPEG 2000
0 引言
小波分析是當(dāng)前應(yīng)用數(shù)學(xué)和工程學(xué)科中一個迅速發(fā)展的新領(lǐng)域,而近年來基于小波變換的圖像壓縮技術(shù)以硬件方式推向市場,圖片壓縮已成為小波變換極其重要的應(yīng)用領(lǐng)域。而在原有的小波變換的理論基礎(chǔ)上發(fā)展的基于小波變換的更新算法,不采用Fourier變換作為主要的分析工具,這與經(jīng)典小波變換相比具有小波構(gòu)造簡單、反變換容易實(shí)現(xiàn)、運(yùn)算速度快和節(jié)省存儲空間等優(yōu)點(diǎn)。但其在硬件應(yīng)用開發(fā)上,對中間數(shù)據(jù)量要求較大,占用較多寄存器,因而通過硬件結(jié)構(gòu)的探索來減小寄存器的開銷,成為小波變換圖片處理的一個重要分支。
本文提出了無分裂步驟的5/3小波變換結(jié)構(gòu),完成了該結(jié)構(gòu)的FPGA硬件實(shí)現(xiàn),并結(jié)合計(jì)算機(jī)端Matlab軟件,正確完成圖片變換驗(yàn)證。
1 硬件結(jié)構(gòu)
1.1 算法實(shí)現(xiàn)結(jié)構(gòu)
本文采用JPEG2000推薦的5/3小波變換算法,算法公式如下:
常見的小波變化實(shí)現(xiàn)結(jié)構(gòu)如圖1所示,先完成分裂,再進(jìn)行預(yù)測,最后完成更新步驟。分裂步驟是指通過對數(shù)據(jù)地址n的奇偶進(jìn)行判斷,將數(shù)據(jù)分裂為奇地址部分和偶地址部分。輸入奇地址部分?jǐn)?shù)據(jù),進(jìn)行預(yù)測部分運(yùn)算,并輸出細(xì)節(jié)數(shù)據(jù);輸入偶地址部分?jǐn)?shù)據(jù),完成更新部分運(yùn)算,輸出平滑數(shù)據(jù)。因此需要根據(jù)輸入數(shù)據(jù)的地址,對數(shù)據(jù)進(jìn)行分裂,或控制預(yù)測部分和更新部分交替工作。
本文提出一種全新的運(yùn)算結(jié)構(gòu),以一維數(shù)據(jù)流輸入數(shù)據(jù),無需數(shù)據(jù)分裂步驟,并且不需要控制預(yù)測部分和更新部分的運(yùn)行和停止,通過對數(shù)據(jù)流固定節(jié)點(diǎn)取值,分別完成預(yù)測和更新步驟,并根據(jù)數(shù)據(jù)地址的變換,利用數(shù)據(jù)選擇器從2個端口交替讀取數(shù)據(jù)即能控制預(yù)測和更新步驟的運(yùn)行。
1.2 數(shù)據(jù)存取結(jié)構(gòu)
本文采用基于行的列變化和流水線結(jié)構(gòu),完成二維小波變化數(shù)據(jù)處理。輸入數(shù)據(jù)以一維數(shù)據(jù)流形式逐一輸入,變化模塊讀取數(shù)據(jù)流中的數(shù)據(jù)進(jìn)行數(shù)據(jù)計(jì)算,產(chǎn)生變化結(jié)果。
評論