二維9/7小波變換VLSI設(shè)計
JPEG2000標準與JEPG標準最顯著的不同點是選用以小波變換為主的多分辨率編碼方法。JPEG2000標準給出兩種雙正交小波濾波器,即有損壓縮和無損壓縮,前者采用CDF9/7小波,后者采用5/3小波。CDF9/7小波是圖像壓縮的首選濾波器,自然圖像壓縮性能好于5/3小波。
目前圖像二維離散小波變換的硬件實現(xiàn)方法有兩種:一種是采用分離的一維小波變換,另一種是設(shè)計非離散的二維小波變換結(jié)構(gòu)。前者首先利用一個一維小波變換器對圖像進行行(列)變換,然后再對其列(行)變換。后者由于非離散的二維小波變換器一般具有行列兩個小波變換器,并通過若干行變換緩沖行變換的結(jié)果,可同時進行行列變換。因此,第一種方法是逐一變換圖像的像素點,然后逐一列變換。而第二種方法是行列變換并行處理像素點,提高處理速度,但仍是逐一處理圖像的像素點。借助于這兩種實現(xiàn)方法,提出了一種Mesh結(jié)構(gòu)的VLSI方案,將處理的圖像NxN分解成nxn的子圖像,從而并行處理nxn個像素點。
2 9/7小波提升算法實現(xiàn)
假設(shè)輸入一維信號為X[n],9/7小波提升算法描述如下:
為進一步說明一維信號的提升算法,圖l給出了該算法的計算示意圖。圖中圓圈所示的pea,peb,pec,ped分別完成Step2,Step3,Step4,Step5計算。假設(shè)一個信號有32個信號數(shù)值,經(jīng)“邊緣處理”后,變?yōu)?9個信號值,即要處理的x[n]。
若圖像為二維信號,對圖像的小波變換包括行變換和列變換。假設(shè)圖像G有512x512個像素。取其矩陣的某一行,經(jīng)邊緣變換成一個一維信號x[n](0≤n≤518),再經(jīng)提升算法計算后,得到256個高頻數(shù)值h和256個低頻數(shù)值l。對矩陣的每一行進行相關(guān)計算,得到的所有高頻部分組成一個高頻矩陣H,其大小為512x256:所有低頻部分組成一個低頻矩陣L,其大小與高頻矩陣相同。將圖像G的矩陣變換為高頻矩陣H和低頻矩陣L的過程稱為“行變換”。取高頻矩陣H中的某一列,經(jīng)邊緣變換后為一個一維信號x[m](0≤m≤518),再經(jīng)提升算法的計算得到256個高頻部分h和256個低頻部分l。對高頻矩陣中的每一列進行相關(guān)計算,得到所有高頻組成的新矩陣HH,所有低頻組成的新矩陣HL。同樣,對于低頻矩陣L的每一列得到LH,LL。這個過程稱為“列變換”。圖像9/7小波變換過程如圖2所示。
3 Mesh結(jié)構(gòu)
假設(shè)要處理的圖像為512x512像素,將該圖像分為16x16個子圖像,每個子圖像的像素為32x32。用G(m,n)表示第m行第n列的子圖像,將其子圖像的所有像素點數(shù)據(jù)輸入到Mesh結(jié)構(gòu)對應(yīng)的各個PE,同時處理32x32個像素點。完成所有子圖像處理也就完成整個圖像處理。
由于圖像變換包括行變換和列變換。因此,當子圖像調(diào)入Mesh結(jié)構(gòu)(圖3)后.則對其子圖像行變換和列變換。行變換時,子圖像每一行為一維信號X[n]。Mesh結(jié)構(gòu)每一行PE完成的功能就是圖1中的“左邊緣計算”,“主計算”,“右邊緣計算”。每一行包括1個“左邊緣計算”,1個“右邊緣計算”和16個“主計算”。把“左邊緣計算”放在一個功能模塊,稱為左邊緣處理PE,用PEl表示。同樣,將“主計算”放在一個功能模塊,稱為主計算PE,表示為PEm。“右邊緣計算”的功能模塊稱為右邊緣處理PE,表示為PEr。Mesh結(jié)構(gòu)中的第l列為PEl,第18列為PEr。但第2~17列并不全為PEm,因為還要考慮列變換。列變換時,第2~17列的上面4行PE完成“左邊緣計算”功能,下面3行PE完成“右邊緣計算”。列變換時,“左(右)邊緣計算”就是每一列的上(下)邊緣。所以這些PE的特殊之處在于:行變換時完成“主計算”,列變換時完成“左(右)邊緣計算”。把第2~17列的第l行PE用PEmlhl表示(m為行變換時完成“主計算”,l代表列變換時完成“左邊緣計算”,h1代表這個PE是高頻矩陣上“左邊緣計算”的第一部分)。第2行用PEmlll表示,第3行用PEmlh2表示,第4行用PEmll2,第37行用PEmrh表示,第38行用PEmrl表示,第39行用PEmhl表示。而中間部分其他PE在行變換和列變換時都完成“主計算”,這里用PEm表示。
Mesh結(jié)構(gòu)處理處理流程為:
(1)輸入原始數(shù)據(jù)輸人原始數(shù)據(jù)的過程就是將一個子圖G(m,n)的像素點調(diào)入到Mesh結(jié)構(gòu)對應(yīng)PE的過程。例如,要調(diào)入的子圖像G(2,1),大小為32x32??紤]邊緣處理,因此,同時調(diào)入的還有:子圖G(1,1)最下面的4行和子圖G(3,1)最上面的4行,子圖G(3,1)最左面的3列,子圖G(1,2)最下面的4行最左邊的3列,子圖G(3,2)最上面3行最左邊3列,這些數(shù)
值組成一個新的矩陣D,大小為39x35。然后對該矩陣的每一行左邊進行邊緣處理。處理后的矩陣大小為39x39。要調(diào)入的所有像素點數(shù)值在整個圖像G中的位置如圖4所示。
邊緣處理后的矩陣D就是要輸入的原始數(shù)據(jù)矩陣。Mesh結(jié)構(gòu)中每一行最左邊的PE都有一個數(shù)據(jù)輸入信號線,原始數(shù)據(jù)矩陣的每一行的數(shù)值輸入到PE陣列最左邊的PE,然后依次輸入對應(yīng)PE。Mesh結(jié)構(gòu)的第1列的PE有4個原始數(shù)據(jù),最后一列PE有3個原始數(shù)據(jù),其他PE都有2個原始數(shù)據(jù),這樣原始數(shù)據(jù)矩陣D的39x39個數(shù)值就對應(yīng)于Mesh結(jié)構(gòu)的39x18個PE的陣列中。矩陣D的元素在Mesh結(jié)構(gòu)PE中的分配情況如圖5所示。
評論