邱宇 燕善俊
摘要:小波變換不僅有時(shí)頻局部化特性,又具有多分辨率的特點(diǎn),文章基于嵌入式零樹(shù)小波變換對(duì)圖像進(jìn)行壓縮,分析步驟、算法以及不足之處,并給出相應(yīng)改進(jìn)。
關(guān)鍵詞:嵌入式零樹(shù)編碼;小波變換;圖像壓縮小波變換是很多學(xué)科發(fā)展的一個(gè)大跨度新領(lǐng)域,源于傅里葉分析,即伸縮與平移變換方法,屬于正交變換層面。它不僅有時(shí)頻局部化特性,又具有多分辨率的特點(diǎn),小波變換對(duì)信號(hào)實(shí)現(xiàn)不同尺度的詳細(xì)劃分,自動(dòng)適應(yīng)視頻信號(hào)分析的要求,我們采取高頻處針對(duì)于時(shí)間細(xì)分針對(duì)于頻率粗分,且低頻處針對(duì)于頻率細(xì)分針對(duì)于時(shí)間粗分這樣一種措施,可顧每一個(gè)細(xì)節(jié),故得美譽(yù)——“數(shù)學(xué)顯微鏡”。小波變換綜合其他理論的優(yōu)點(diǎn),替換傅里葉變換,逐漸成為信號(hào)處理的主要方法。
小波變換用于圖像壓縮的基本原理,將原圖像信號(hào)分解成若干個(gè)頻域,各頻域內(nèi)根據(jù)人類視覺(jué)特性、小波基特性等利用相似性等去除冗余部分,達(dá)到壓縮的效果。針對(duì)于各個(gè)頻域的特性可通過(guò)不同的壓縮編碼手段,很大程度上地減少數(shù)據(jù)量。
一、嵌入式零樹(shù)小波壓縮編碼(Embedded zerotree wavelet coding,EZW)
(一)掃描順序。為了獲得更多零樹(shù)根以達(dá)到壓縮編碼的目的,與此同時(shí)還要保證將重要信息先編碼,掃描過(guò)程有最低分辨率開(kāi)始一直到最高分辨率為止(自上而下地掃描)。掃描順序如圖1所示:
(二)量化符號(hào)輸出。按照上述規(guī)定的掃描順序,比較小波系數(shù)與當(dāng)前閥值,那么小波系數(shù)必定為正重要元素、負(fù)重要元素、零樹(shù)根和孤立零點(diǎn)這4種之一。該4種元素分別用以下符合簡(jiǎn)記為:P、N、T和Z,并且都給分配2。
單個(gè)小波系數(shù)量化符號(hào)流程圖(如上圖3):
(三)實(shí)驗(yàn)結(jié)果。實(shí)驗(yàn)使用的圖片為Woman(256*256),使用EZW算法進(jìn)行壓縮,將原圖像進(jìn)行2次壓縮并還原圖像進(jìn)行了對(duì)比(如圖4),易知,EZW的壓縮比大,并且保真度很好。
圖4采用EZW算法的壓縮效果
EZW編碼因其算法結(jié)構(gòu)的特殊性,對(duì)編碼等性能與編碼效果做了優(yōu)化以及提升,但同時(shí)也存在著不足:
①編碼過(guò)程沒(méi)有利用小波系數(shù)同一子代相鄰元素相關(guān)性的良好特點(diǎn)。 ②在判斷零樹(shù)根以及孤立零點(diǎn)上浪費(fèi)過(guò)多時(shí)間。 ③沒(méi)有注意到不同子代的小波系數(shù)的不同。
二、嵌入式零樹(shù)小波壓縮編碼的改進(jìn)
傳統(tǒng)的EZW編碼是一種很有效的壓縮算法,EZW的壓縮比大,并且保真度很好。
EZW編碼因其算法結(jié)構(gòu)的特殊性,很大程度上對(duì)編碼等性能做了優(yōu)化以及提升,但同時(shí)該種算法結(jié)構(gòu)也存在著一些問(wèn)題。
第一,小波變化有小波系數(shù)同一子代相鄰元素相關(guān)性的良好特點(diǎn),嵌入式零樹(shù)小波編碼沒(méi)有很好的利用這一優(yōu)點(diǎn)并用于算法編碼中。第二,浪費(fèi)很多時(shí)間字判斷零樹(shù)根以及孤立零點(diǎn)上,很大地影響了編碼的效率。第三,嵌入式零數(shù)小波變換對(duì)小波系數(shù)同等看待,并沒(méi)有關(guān)注到不同子代的小波系數(shù)的不同,這樣會(huì)減少壓縮效率。
針對(duì)這三點(diǎn)我們進(jìn)行改進(jìn)。
(一) 改進(jìn)措施。(1)小波分解過(guò)程增加一個(gè)相似性指標(biāo)。(2)最低頻與其它層子帶分開(kāi)編碼。(3)改進(jìn)零樹(shù)結(jié)構(gòu)的快速判斷,對(duì)圖像小波的掃描順序是從最低分辨率的高頻子帶開(kāi)始掃描。(4)增加正負(fù)次重要系數(shù) 。
觀察分解之后的小波系數(shù),我們?nèi)菀装l(fā)現(xiàn),有些重要的系數(shù)其子孫有時(shí)會(huì)形成零樹(shù)結(jié)構(gòu)。為此,我們?cè)黾觾蓚€(gè)符號(hào),正負(fù)次重要系數(shù)以及次的正負(fù)次重要系數(shù)。記零樹(shù)樹(shù)根為ZTR,孤立零點(diǎn)為IZ。正重要系數(shù)是指子孫后代不能形成零樹(shù)的正的重要系數(shù),簡(jiǎn)記為POS;而把次正重要系數(shù)是指子孫后代是零樹(shù)的正的重要系數(shù),簡(jiǎn)記為ZPOS。同樣有,負(fù)重要系數(shù)是指子孫后代不能形成零樹(shù)的負(fù)的重要系數(shù),簡(jiǎn)記為NEG;次負(fù)重要系數(shù)是子孫后代是零樹(shù)的負(fù)的重要系數(shù),簡(jiǎn)記為ZNEG。該系數(shù)類型的定義與EZW的相比,該新算法多了兩種符號(hào)類型(正、負(fù)次重要系數(shù)),卻在總體上減少編碼系數(shù)的數(shù)量。
低比特圖編碼通常通過(guò)變換、量化及數(shù)據(jù)壓縮得以實(shí)現(xiàn)。通常認(rèn)為變換和數(shù)據(jù)壓縮過(guò)程是均無(wú)損的過(guò)程,整個(gè)編碼過(guò)程中信息失真應(yīng)該都發(fā)生在量化這一階段。在某種程度上可以說(shuō),量化過(guò)程的精確與否決定著恢復(fù)后圖像的質(zhì)量。
在量化階段,量化步長(zhǎng)q,量化比特?cái)?shù)n=INT(log2(T/q)),量化編碼值k=INT((ABS(x)-T)/q),重要系數(shù)的重構(gòu)絕對(duì)值
yk=T+kq+q/2。
(二)改進(jìn)的算法。(a) 圖像的小波分解,針對(duì)于第t子代,選取該子代中絕對(duì)值最大的小波系數(shù)Xmax,考察該子代中的每個(gè)小波系數(shù)屬于[■X■,■X■),則利用相似性,取該小波系數(shù)近似為■X■,其中i=0,1,2,3,…。(b)第一層小波系數(shù)的無(wú)損編碼。(c)采用EZW變換對(duì)其余各層的小波系數(shù)實(shí)現(xiàn)圖像壓縮編碼,且取閾值為T=2■。(d)采用如圖2示的掃描順序(Morton式掃描),并且與此同時(shí)按照POS、ZPOS、NEG、ZNEG、ZTR和IZ這樣的順序編碼相應(yīng)的標(biāo)志位。每當(dāng)遇到次重要系數(shù)(ZPOS和ZNEG)或零樹(shù)根ZTR的時(shí)候,就結(jié)束對(duì)該樹(shù)的編碼。(e)對(duì)重要系數(shù)(POS和NEG)進(jìn)行細(xì)節(jié)編碼,精確量化時(shí)采用新的量化步長(zhǎng),并把其系數(shù)放在附屬表中(附屬表的實(shí)質(zhì)就是一維數(shù)組)。(f)對(duì)于那些已經(jīng)完成標(biāo)志位的,并且也同時(shí)已經(jīng)完成細(xì)節(jié)編碼了的重要系數(shù),在其對(duì)應(yīng)于原圖像的位置填入0(由此可見(jiàn),這個(gè)步驟是為下一次編碼及掃描做好充分準(zhǔn)備)。(g)取閾值T為之前的一半,重復(fù)步驟c,直到滿足壓縮率的需要為止。
結(jié)語(yǔ):本文基于嵌入式零樹(shù)小波變換并對(duì)其進(jìn)行改進(jìn),改進(jìn)的過(guò)程充分利用同一子帶小波系數(shù)的相似性,提高了利用率,又說(shuō)明了EZW編碼的壓縮力度高、保真度好,值得被廣泛應(yīng)用。
參考文獻(xiàn):
[1] 曾令發(fā).基于小波變換的圖像壓縮編碼研究[D].武漢:武漢大學(xué),2010.