王秀碧
摘 要:多小波以其具有正交性、對稱性、短支撐和較大的消失矩等多個良好特性彌補了單小波的不足。在介紹多小波理論的基礎(chǔ)上,提出一種新的圖像壓縮方法。該方法以CL多小波為基礎(chǔ),結(jié)合SPIHT圖像壓縮算法,對多小波系數(shù)進行壓縮處理。采用Matlab 6.5進行實驗,實驗結(jié)果表明,經(jīng)該算法壓縮后的圖像,其質(zhì)量優(yōu)于一般小波變換的傳統(tǒng)方法。
關(guān)鍵詞:小波變換;多小波;SPIHT;圖像壓縮
中圖分類號:TP292.42文獻標(biāo)識碼:A
文章編號:1004-373X(2009)12-073-03
Image Compression Based on Multi-wavelet
WANG Xiubi
(Sichuan University of Science & Engineering,Zigong,643000,China)
Abstract:Multi-wavelet has many good chatacters such as orthogonality,short support,more vanishing moments,which makes up for the shortcoming of scalar wavelet.Based on introducing multi-wavelet,a new image compression method is proposed,which based on CL multi-wavelet,adopting the SPIHT,carrying on compression on the coefficient of multiwavelet.Simulated by Matlab 6.5,experimental results indicate that the quality of image is better than traditional method.
Keywords:wavelet transform;multi-wavelet;SPIHT;image compression
0 引 言
小波分析是近年來發(fā)展起來的新算法。Matlat將小波分析用于信號處理,提出了多分辨率分析的概念,給出了信號分解和重構(gòu)的算法,從此開始了小波分析在圖像處理中的應(yīng)用研究。多小波是小波理論的新發(fā)展,多小波是指由兩個或兩個以上的函數(shù)為尺度函數(shù)生成的小波。多小波之所以受到世人矚目,主要原因是它既保持了單小波的諸多優(yōu)點,又克服了單小波的缺陷,在實際應(yīng)用中可以把十分重要的光滑性、緊支性和對稱性等完美地結(jié)合在一起。這里將充分利用多小波分解系數(shù)的結(jié)構(gòu),采用SPIHT圖像壓縮算法,對多小波系數(shù)進行壓縮處理,得到一種比較有效的多小波圖像壓縮方法。
1 多小波理論
將標(biāo)量域上的濾波器組和多小波拓展到矢量域上,就可以得到具有一般性的矢量小波,即多小波。對應(yīng)的尺度方程和小波方程如下:
Φ(t)=∑kHkΦ(2t-k)
Ψ(t)=∑kGkΦ(2t-k)
式中:Φ(t)=[φ0(t),φ1(t),…,φr-1(t)]T;Ψ(t)=[ψ0(t),ψ1(t),…,ψr-1(t)]T;Hk,Gk分別為r×r的矩陣尺度濾波器和矩陣小波濾波器。當(dāng)且僅當(dāng)兩個矩陣濾波器具有有限長時,函數(shù)Φ,Ψ具有緊支集。
給定一個函數(shù)f(x)∈L2(R),由多小波系數(shù)就可以給出函數(shù)的多分辨率分析(MRA)。設(shè)f=f0∈V0,則正交多尺度函數(shù)和正交多小波函數(shù)的性質(zhì)為:
V0=W-1⊕V-1=…=W-1⊕…⊕WL⊕VL
由于V0=span{φl(-k),0≤l≤r-1,k∈Z},所以f(t) = ∑k∑r-1l = 0c(0)l,k φl (t-k),f(t)??梢愿M一步表示為:
f(t) = ∑k∑r-1l = 0c(-1)l,k φl (2-1t-k) +
∑k∑r-1l = 0d(-1)l,k ψl (2-1t-k) = …=
∑k∑r-1l = 0c(L)l,k φl (2Lt-k) +
∑-1j = L∑k∑r-1l = 0d(j)l,k ψl (2jt-k)
由此可以得到多小波的分解算法和重構(gòu)算法。
分解算法:
Cj-1,n=∑kHk-2nCj,n;Dj-1,n=∑kGk-2nCj,n
重構(gòu)算法:
Cj,n= ∑kHTn-2k Cj-1,k+ ∑kGTn-2k Dj-1,k
2 SPIHT算法原理
SPIHT算法把待量化編碼的小波系數(shù)分成3個集合:不重要集LIS,不重要象素集LIP和重要像素集LSP。通過初始化、分類、細化和量化步長更新等4個子過程完成嵌入編碼。根據(jù)空間方向樹結(jié)構(gòu),SPIHT算法將集合的分割策略定義為:
Z(i,j)=C(i,j)+D(i,j)
D(i,j)=O(i,j)+L(i,j)
L(i,j)=∑D(k,l)(1)
式中:(k,l)∈O(i,j);Z(i,j)為空間方向樹;C(i,j)為樹上任一節(jié)點;D(i,j)表示節(jié)點C(i,j)中所有后代(子孫)的坐標(biāo)集合;O(i,j)表示節(jié)點C(i,j)中直接后代(兒子)的坐標(biāo)集合;L(i,j)表示節(jié)點C(i,j)中除直接后代(兒子)外所有后代坐標(biāo)的集合。
SPIHT算法編碼過程通過LIP,LIS,LSP三張鏈表跟蹤小波系數(shù)集合的重要性測試和集合分割情況。把小波圖像按空間方向樹的結(jié)構(gòu)組織編碼,編碼過程中,三張鏈表動態(tài)更新,小波系數(shù)集合重要性測試Sn(T)的定義如式(2)所示。式中T為測試的坐標(biāo)集合,如:Sn(i,j)是測試節(jié)點(i,j)系數(shù)的重要性;Sn[D(i,j)]是測試節(jié)點(i,j)的所有子孫節(jié)點中是否存在的重要系數(shù)。
Sn(T)=1,max(i,j∈Γ){|T(i,j)|}≥2n
0,max(i,j∈Γ){|T(i,j)|}<2n (2)
編碼步驟:
(1) 初始化
設(shè)置初值n=log2[max(i,j∈C)|T(i,j)|];設(shè)置LIP為H中所有元素;設(shè)置LIS為H中所有元素,并以D型命名;設(shè)置LSP為空元素表。
(2) LIP表處理
檢查LIP鏈表中的每個元素,根據(jù)式(2)輸出Sn(i,j)的值。若Sn(i,j)=1,則輸出T(i,j)的符號位,并移(i,j)至LSP的表尾。
(3) LIS表處理
檢查LIS鏈表中的每個元素,當(dāng)元素為D型,根據(jù)式(2)輸出Sn[D(i,j)]的值。若Sn[D(i,j)]=1,檢查O(i,j)中每個元素并根據(jù)式(2)輸出,把輸出為1的元素加入LSP表尾并編碼其符號位;把輸出為0的元素加入LIP表尾。若L(i,j)為空元素,則把(i,j)元素從LIS表中刪去;若L(i,j)不為空元素,則把O(i,j)中每個元素以L型命名加入LIS表尾;若元素為L型,則根據(jù)式(2)輸出Sn[L(i,j)]。若Sn[L(i,j)]=1,從LIS表中刪去(i,j)元素,并將O(i,j)中的每個元素以D型命名加入LIS表尾。
(4) LSP表處理
檢查LSP表中的每個元素,輸出表中元素小波系數(shù)在第n層的數(shù)值。
(5) 當(dāng)n=n-1時,若編碼率沒有達到指定要求,返回步驟(2)重復(fù)此過程;若編碼率已達到指定要求,編碼結(jié)束。
3 基于多小波的SPIHT算法
根據(jù)前面分析的SPIHT算法,結(jié)合多小波,設(shè)計出一個可分級圖像編碼系統(tǒng)。該系統(tǒng)包括圖像多小波變換、SPIHT編碼和算術(shù)編碼等幾個部分。系統(tǒng)流程圖如圖1所示。
圖1 圖像編/解碼框圖
與傳統(tǒng)小波相比,CL多小波具有更為優(yōu)良的屬性:CL多小波的尺度函數(shù)和小波函數(shù)均具有緊支撐屬性,使其具有良好的局域性;尺度函數(shù)分別與小波函數(shù)對稱和反對稱,保證其具有線性相位;正交性使其變換后保持能量恒定等。對其進行平衡處理后不僅可使2個低通濾波器和兩個高通濾波器的響應(yīng)分別重合,還可較好地改善系統(tǒng)本身低通、高通濾波器的響應(yīng)性能。
4 試驗及仿真結(jié)果分析
本文用Matlab中Woman來進行試驗,采用Matlab 6.5進行仿真。
4.1 圖像的多小波分解和重構(gòu)
圖像的多小波分解和重構(gòu)仿真見圖2(程序略)。
多小波分解后的圖像左上角為低頻子帶,其余為高頻子帶。從圖2可看出,經(jīng)過變換后的高頻子帶基本上為黑色,即能量很低,能量被集中到了低頻子帶。經(jīng)過多小波重構(gòu)后還原出來的圖像主觀效果好,圖像較清晰。
4.2 圖像壓縮
這里分別采用單小波和多小波進行圖像壓縮并對仿真結(jié)果進行分析。
圖2 多小波分解和重構(gòu)圖像
圖3和圖4分別為用單小波和多小波進行圖像壓縮的圖像效果(程序略)。
圖3 單小波的SPIHT算法圖像壓縮效果
圖4 多小波SPIHT算法圖像壓縮效果
從圖3和圖4看出,采用多小波對SPIHT算法進行改進后恢復(fù)圖像清晰,效果較好。
5 結(jié) 語
多小波圖像壓縮與單小波圖像壓縮有所不同。首先多小波變換在分解之前要對圖像數(shù)據(jù)進行預(yù)濾波,圖像重構(gòu)時需要做后置濾波;
其次由于有多個尺度函數(shù)和多個小波的存在,在圖像的多小波變換系數(shù)中同一尺度且同一方向上存在兩個或兩個以上對應(yīng)不同小波細節(jié)的子圖,做一次多小波分解會得到比單小波分解更多的子圖,子圖增多使得處理更加靈活。根據(jù)實驗結(jié)果和多次實驗發(fā)現(xiàn),對于要求較好的圖像質(zhì)量、較低比特率或者提出一些特殊要求時,使用多小波的壓縮算法具有較好的特性。從一定角度上來說,基于多小波的SPIHT壓縮編碼方法是一種有效的壓縮編碼方法。
參考文獻
[1]胡昌華,張軍波,夏軍,等.基于Matlab的系統(tǒng)分析與設(shè)計小波分析[M].西安:西安電子科技大學(xué)出版社,1999.
[2]宮銘舉,王汝霖.基于CL多小波與SOFM的圖像矢量量化[J].計算機應(yīng)用研究,2005,26(8):238-240.
[3]何文章,吳愛弟,宋國鄉(xiāng).基于雙正交多小波圖像壓縮方法[J].東北師范大學(xué)學(xué)報,2004,36(2):121-124.
[4]田海振,田華,程正興.多小波及其在圖像處理中的應(yīng)用[J].信陽師范學(xué)院學(xué)報,2004,17(1):100-103.
[5]張婷,楊濟安.對圖像壓縮中的SPIHT與SPECK算法的研究[J].廣西民族學(xué)院學(xué)報,2006,12(1):99-103.
[6]邵華平,覃征,錢清泉.多小波的構(gòu)造與應(yīng)用[J].湖南師范大學(xué)學(xué)報:自然科學(xué)版,2005,28(1):31-36.
[7]劉雄偉,成禮智.基于EBCOT和多小波的圖像壓縮編碼[J].微計算機信息,2006,22(3):230-231.
[8]李雙虎,陳洪京.小波圖像壓縮EZW編碼算法研究[J].河北省科學(xué)院學(xué)報,2005,22(4):1-3.
[9]張會紅.一種基于Matlab的圖像變換編碼的研究方法[J].計算機與數(shù)字工程,2005,33(2):64-66.
[10]安丹丹,王寶珠.一種改進的嵌入式零樹小波編碼算法[J].信息通信,2007(5):38-40.
[11] 陳耀明.小波變換在圖像數(shù)據(jù)壓縮中的應(yīng)用[J].現(xiàn)代電子技術(shù),2007,30(6):136-138.