JPEG2000中5/3離散小波多層變換FPGA實(shí)現(xiàn)研究
摘要:基于新一代圖像壓縮國際標(biāo)準(zhǔn)JPEG 2000,介紹一種快速、有效的多層5/3小渡變換的VLSI設(shè)計(jì)結(jié)構(gòu),該方法使用兩組一維變換實(shí)現(xiàn),用移位-相加代替乘法操作,整體設(shè)計(jì)采用了流水線設(shè)計(jì)。利用雙端口RAM和地址生成模塊的調(diào)度完成小波變換的分裂、邊界延拓工作,不需另外增加模塊。二維離散小波變換濾波器結(jié)構(gòu)的設(shè)計(jì)采用Verilog HDL進(jìn)行RTL級描述,已經(jīng)通過了FPGA驗(yàn)證,并可作為單獨(dú)的IP棱應(yīng)用于圖像編解碼芯片中。
關(guān)鍵詞:JPEG 2000標(biāo)準(zhǔn);離散小波變換;FPGA;RAM
0 引言
隨著多媒體應(yīng)用領(lǐng)域的快速發(fā)展,新一代靜止圖像壓縮標(biāo)準(zhǔn)JPEG 2000己在2000年11月完成了標(biāo)準(zhǔn)的制定。與原有的JPEG標(biāo)準(zhǔn)相比,JPEG 2000具有許多優(yōu)勢。例如更高的壓縮性能,支持單分量或者多分量的有損和無損壓縮,可以提供質(zhì)量和分辨率漸進(jìn)傳輸,以及感興趣區(qū)域編碼等。典型的JPEG 2000編碼中的傳統(tǒng)的離散小波變換由卷積完成,因此在實(shí)現(xiàn)中需要巨大的計(jì)算和存儲量。I.Daubechies和W.Sweldens等人提出的提升算法解決了這些問題,該算法采用采用移位-相加操作代替卷積操作,大大降低了DWT運(yùn)算硬件實(shí)現(xiàn)的難度,因此JPEG 2000采用基于提升的DWT作為圖像壓縮的第一步。JPEG 2000推薦5/3及9/7小波分別用于無損和有損壓縮,本文針對5/3濾波器,提出了一種高效高速的二維三層小波變換的硬件平臺,整體結(jié)構(gòu)采用流水操作。
1 離散小波提升算法
離散小波提升算法主要有三個步驟:分裂(Split)、預(yù)測(Predict)和更新(Update)。分裂是把輸入信號x(n)分成奇偶兩個子信號集,即由其采樣后的偶序列子信號組成xe=x(2n),奇序列子信號組成x0=x(2n+1)。預(yù)測是偶序列信號乘上一個預(yù)測參數(shù)P,來預(yù)測奇信號,原來的奇序列信號與預(yù)測值的差即為高頻系數(shù)d(n)。更新是高頻系數(shù)乘以更新系數(shù)Q與偶序列信號的和,獲得低頻系數(shù)s(n)。
5/3雙正交小波對應(yīng)的提升方法如圖1所示,用于JPEG 2000中的無損壓縮過程,硬件實(shí)現(xiàn)可分為兩步,如式(1),式(2)所示:
2 5/3小波內(nèi)嵌延拓提升算法
由式(1)和式(2)可以看出,在圖像邊界處進(jìn)行小波變換時需要進(jìn)行延拓處理,否則無法正確進(jìn)行小波變換,對原始圖像邊界數(shù)據(jù)的處理通常使用對稱周期延拓方式,5/3小波變換的延拓需要在序列前延拓兩個數(shù)據(jù),在序列后延拓一個數(shù)據(jù),圖2為5/3小波變換時8點(diǎn)數(shù)據(jù)序列周期對稱延拓示意圖。
本文是通過雙端口RAM的讀/寫實(shí)現(xiàn)分裂過程,在小波變換過程中通過對讀地址的操作實(shí)現(xiàn)對稱周期性數(shù)據(jù)延拓:用對計(jì)數(shù)器的計(jì)算操作實(shí)現(xiàn)邊界數(shù)據(jù)延拓和生成讀取地址與寫入地址,從原圖像中讀取,經(jīng)變換后寫入相應(yīng)的地址,以8×8圖像為例,行方向上延拓后的讀取地址順序應(yīng)該是2,1,0,1,2,3,4,5,6,7,6,10,9,8,9,10,…;列方向上延拓后讀取地址順序是16,8,0,8,16,24,32,40,48,56,48,17,9,…。
評論