摘 要: 圖像經(jīng)過(guò)多級(jí)小波分解后,各級(jí)小波子帶具有明顯的相似性,可利用小波變換和分形編碼的優(yōu)勢(shì)進(jìn)行圖像壓縮編碼。對(duì)最低分辨率子帶進(jìn)行失真較小的均勻量化編碼。對(duì)高分辨率子帶,將水平、垂直和對(duì)角3個(gè)方向的小波子帶結(jié)合起來(lái)考慮,形成小波樹(shù)結(jié)構(gòu),設(shè)定一個(gè)閾值,小波樹(shù)所有系數(shù)小于等于閾值則直接置零;大于閾值的小波樹(shù)采用四叉樹(shù)算法進(jìn)行分形編碼,如果誤差小于等于閾值,則記錄分形編碼參數(shù),否則進(jìn)行四叉樹(shù)分裂。對(duì)算法進(jìn)行了Matlab仿真,結(jié)果表明,在保證一定解碼圖像質(zhì)量的情況下,運(yùn)算速度有較大提高。
關(guān)鍵詞: 小波樹(shù);分形編碼;四叉樹(shù);壓縮比
分形圖像編碼是近年來(lái)發(fā)展起來(lái)的一種編碼技術(shù),它以分形理論為數(shù)學(xué)基礎(chǔ)[1]。BARNSLEY M于1988年首先提出基于塊的編碼方案[2],分形編碼就作為一種新的圖像編碼技術(shù)受到人們的廣泛關(guān)注。隨后他的學(xué)生JACQUIN A提出一個(gè)基于仿射變換的完全自動(dòng)的圖像編碼方案[3],分形編碼的計(jì)算復(fù)雜性由值域塊的匹配塊的搜索過(guò)程決定。由于分形編碼運(yùn)算復(fù)雜度太大,編碼時(shí)間過(guò)長(zhǎng),極大地限制了其應(yīng)用。因此,縮短分形編碼時(shí)間是分形編碼技術(shù)面臨的一個(gè)重要問(wèn)題。
圖像經(jīng)過(guò)多級(jí)小波分解后,各級(jí)小波子帶具有明顯的相似性,可利用小波變換和分形編碼的優(yōu)勢(shì)進(jìn)行圖像壓縮編碼。
小波和分形的混合編碼比較經(jīng)典的算法有兩類:RINALDO R等人提出代表性的基于小波變換的分形預(yù)測(cè)圖像編碼算法[4],低分辨率圖像預(yù)測(cè)高分辨率圖像的編碼仍采用仿射變換,但不需收縮映射,解碼時(shí)不需迭代且可直接估計(jì)均方差;DAVIS G M把零樹(shù)概念引入到分形圖像編碼[5],把相似塊與圖像塊之間的分形匹配轉(zhuǎn)化為相似樹(shù)與圖像樹(shù)之間的分形匹配,通過(guò)小波變換產(chǎn)生子圖之間的相似性,用分形方法來(lái)開(kāi)發(fā)這些相似性。
1 圖像小波變換和分形編碼
1.1 圖像小波變換
一幅圖像經(jīng)過(guò)小波變換后,可分解為不同方向、不同分辨率的子帶圖像。二維Mallat小波分解和重構(gòu)算法的公式為:
1.2 圖像分形壓縮編碼
分形編碼的主要理論基礎(chǔ)是迭代函數(shù)系統(tǒng)理論、不動(dòng)點(diǎn)定理和拼貼定理,所要解決的主要問(wèn)題是把待編碼的圖像作為吸引子時(shí)如何得到IFS參數(shù)?;舅惴ǖ闹饕襟E如下:
2 相關(guān)算法研究
參考文獻(xiàn)[6]提出小波域內(nèi)相鄰子圖的分形預(yù)測(cè)編碼算法。在低分辨率子帶水平、垂直和對(duì)角3個(gè)方向上分別進(jìn)行分形編碼,用此編碼對(duì)在水平、垂直和對(duì)角3個(gè)方向上預(yù)測(cè)得到高分辨率子帶的分形編碼,但是沒(méi)有給出具體如何預(yù)測(cè)。參考文獻(xiàn)[7]提出對(duì)得到的低分辨率子帶的分形編碼進(jìn)行適當(dāng)?shù)谋壤儞Q以得到高分辨率子帶的分形編碼,其壓縮效果較好,但是獲得高分辨率子帶上的分形編碼時(shí),依據(jù)不是很充分,在壓縮比較大時(shí)解碼圖像質(zhì)量有所下降。參考文獻(xiàn)[8]提出一種基于小波域的分形圖像編碼改進(jìn)算法。該算法首先將圖像分解到小波域,然后根據(jù)各子圖像所包含能量的大小和所代表的方向等信息,采用不同大小、形狀和類別的圖像塊及相似塊進(jìn)行分形編碼。在編碼過(guò)程中按照零樹(shù)結(jié)構(gòu)在同方向不同分辨率的各個(gè)子帶圖像上確定要預(yù)測(cè)的圖像塊,同時(shí)在同方向低一級(jí)分辨率的子帶圖像上尋找與其最佳分形匹配的相似塊,并由各級(jí)相似塊構(gòu)成預(yù)測(cè)樹(shù)。算法取得較高的壓縮比,解碼質(zhì)量也有所下降。參考文獻(xiàn)[9]提出基于方向性零樹(shù)小波的分形圖像編碼,將小波零樹(shù)與分形編碼的優(yōu)勢(shì)相結(jié)合。
3 基于小波樹(shù)和四叉樹(shù)的圖像分形編碼算法研究
圖像經(jīng)過(guò)小波變換后,除去最后一級(jí)小波變換產(chǎn)生的4個(gè)最低分辨率子帶,對(duì)其他高分辨率子帶按照小波樹(shù)結(jié)構(gòu)形成一棵棵小波樹(shù),所形成的即為待編碼的小波樹(shù),記為值域樹(shù)。值域樹(shù)根節(jié)點(diǎn)所在子帶低一級(jí)分辨率子帶上,也可以形成小波樹(shù)結(jié)構(gòu),去掉它們?cè)诘谝患?jí)小波變換的小波系數(shù)節(jié)點(diǎn),則與值域樹(shù)有相同的大小、相同的層次,記為定義域樹(shù)。
算法的主要步驟如下:
?。?)對(duì)256像素×256像素大小的灰度圖像經(jīng)過(guò)多級(jí)小波變換,分解成多級(jí)小波子帶,如進(jìn)行4級(jí)小波分解。
?。?)對(duì)最低分辨率子帶,也就是最后一級(jí)小波分解產(chǎn)生的低頻子帶LL4和水平HL4、垂直LH4、對(duì)角HH43個(gè)高頻子帶,進(jìn)行失真較小的編碼,采用均勻量化編碼。
?。?)對(duì)高分辨率子帶按照小波樹(shù)結(jié)構(gòu)形成一棵棵小波樹(shù),即為待編碼的小波樹(shù),記為值域樹(shù)。小波樹(shù)的根可以是單個(gè)系數(shù),也可以是2×2的小波系數(shù)塊等。設(shè)定一個(gè)閾值,當(dāng)小波樹(shù)的所有小波系數(shù)都小于等于閾值時(shí)直接置0,不進(jìn)行分形編碼。
?。?)對(duì)小波系數(shù)大于閾值的值域樹(shù)進(jìn)行分形編碼。分形編碼就是搜索值域樹(shù)最匹配的定義域樹(shù),搜索的范圍在值域樹(shù)根的位置按小波樹(shù)結(jié)構(gòu)對(duì)應(yīng)到低一級(jí)位置鄰近的一個(gè)區(qū)域,不采用全局搜索,以加快算法的速度。
?。?)對(duì)根節(jié)點(diǎn)在第2級(jí)小波子帶上的小波樹(shù)進(jìn)行分形編碼,如果誤差小于等于設(shè)定的誤差閾值,則記錄分形參數(shù);如果大于設(shè)定的誤差閾值,則設(shè)立標(biāo)志位,對(duì)大于小波系數(shù)閾值的系數(shù)進(jìn)行均勻量化編碼。
編碼算法流程圖如圖2所示。
解碼是編碼的逆過(guò)程,由LL4、HL4、LH4、HH4逐級(jí)外推解碼出3級(jí)、2級(jí)、1級(jí)小波子帶,最后進(jìn)行多級(jí)小波重構(gòu),恢復(fù)出原圖像。
4 實(shí)驗(yàn)結(jié)果與分析
對(duì)Lena、cameraman和couple 3幅256×256的標(biāo)準(zhǔn)測(cè)試灰度圖像進(jìn)行了分形編碼解碼實(shí)驗(yàn),實(shí)驗(yàn)環(huán)境為Core i3 M330 CPU,2GB內(nèi)存,Windows XP系統(tǒng)。用Matlab進(jìn)行仿真實(shí)驗(yàn),并將基本算法、參考文獻(xiàn)[8]算法與本文算法進(jìn)行了比較。
實(shí)驗(yàn)1
分別用上述3種方法對(duì)標(biāo)準(zhǔn)測(cè)試圖像Lena進(jìn)行分形編碼解碼,結(jié)果如圖3所示。可以看出本文算法還存在一定的塊效應(yīng),這是由于對(duì)某些小波系數(shù)直接置0所引起的。
實(shí)驗(yàn)2
對(duì)標(biāo)準(zhǔn)的測(cè)試圖像cameraman進(jìn)行分形編碼解碼,結(jié)果如圖4所示??梢钥闯霰疚乃惴ù嬖趬K效應(yīng),同時(shí)人物的手部不是很清晰,還有改進(jìn)的余地。
實(shí)驗(yàn)3
對(duì)標(biāo)準(zhǔn)的測(cè)試圖像couple進(jìn)行分形編碼解碼,結(jié)果如圖5所示。
最后列出了各算法的編碼時(shí)間、PSNR和壓縮比,如表1所示。
從表1可以看出,與基本算法相比,本文算法在解碼圖像質(zhì)量上,Lena圖像在根采用單節(jié)點(diǎn)時(shí)PSNR略有提高,在根采用2×2塊時(shí)略有下降;couple圖像的PSNR值略微下降;cameraman圖像在根采用單節(jié)點(diǎn)時(shí)PSNR值提高了約1.8 dB,在根采用2×2塊時(shí)也提高了1.1 dB。與參考文獻(xiàn)[8]算法相比,3幅圖像的PSNR值都有很大提高,平均提高了5 dB。但是本文算法在一些圖像細(xì)節(jié)邊緣上不夠清晰,存在一定的塊效應(yīng),還有待改進(jìn),如考慮減小閾值或者設(shè)置感興趣區(qū)域。
由于搜索匹配樹(shù)是在值域樹(shù)相應(yīng)的鄰近區(qū)域搜索,沒(méi)有采用全局搜索,且沒(méi)有進(jìn)行8種仿射變換,運(yùn)算速度有很大改善,運(yùn)算時(shí)間大約為基本算法的1/40,為參考文獻(xiàn)[8]算法的1/12。
從壓縮比來(lái)看,參考文獻(xiàn)[8]算法最高,本文算法次之,基本算法最低。對(duì)本文算法,根采用2×2塊時(shí)與根采用單節(jié)點(diǎn)相比,在解碼圖像略微降低的情況下,提高了壓縮比。
將小波變換與分形編碼相結(jié)合對(duì)圖像進(jìn)行壓縮編碼,發(fā)揮兩者的優(yōu)勢(shì)是值得研究的方向。小波分解形成3個(gè)方向的子帶,自然地對(duì)分形編碼中的定義域塊和值域塊進(jìn)行了分類,從而減少了編碼搜索的時(shí)間。同時(shí),小波分解產(chǎn)生的各級(jí)子帶間具有較強(qiáng)的相似性,分形的優(yōu)勢(shì)正好在于自相似性強(qiáng)的圖像,如何利用分形開(kāi)采這種相似性,提高圖像解碼質(zhì)量,有待于深入地研究。
參考文獻(xiàn)
[1] 夏良正,李久賢.數(shù)字圖像處理(第2版)[M].南京:東南大學(xué)出版社,2006.
[2] BARNSLEY M. Fractal everywhere[M]. San Diego, CA: Academic Press, 1988.
[3] JACQUIN A. A Fractal theory of iterated markov operators with application to digital image coding[D]. Atlanta: Georgia Institute of Technology, 1989.
[4] RINALDO R, CALVAGNO G. Image coding by block prediction of multiresolution subimages[J]. IEEE Transactions on Image Processing, 1995, 4(7): 909-920.
[5] DAVIS G M. A wavelet-based analysis of fractal image compression[J]. IEEE Transactions on Image Processing, 1998,7(2): 141-154
[6] 謝永華,傅德勝,任衛(wèi)華.一種基于小波變換的圖象分形編碼壓縮算法的研究[J].中國(guó)圖象圖形學(xué)報(bào),2003,8(7):839-842.
[7] 張梁斌,奚李峰.一種基于小波域的分形編碼預(yù)測(cè)方法[J].計(jì)算機(jī)應(yīng)用與軟件,2007,24(6):68-70.
[8] 婁莉.一種基于小波域的分形圖像編碼改進(jìn)算法[J].計(jì)算機(jī)技術(shù)與應(yīng)用,2010(7):134-136.
[9] 張宗念,馬義德,余英林.基于方向性零樹(shù)小波的分形圖像編碼[J].電子科學(xué)學(xué)刊,2000,22(5):780-784.