田 馳
(鐵嶺師范高等??茖W(xué)校, 遼寧 鐵嶺 112000)
小波Contourlet變換圖像壓縮算法
田 馳
(鐵嶺師范高等??茖W(xué)校, 遼寧 鐵嶺 112000)
為改進(jìn)Contourlet變換冗余大的缺點(diǎn),提出了一種小波Contourlet變換的圖像壓縮優(yōu)化算法。實(shí)驗(yàn)結(jié)果表明,在高壓縮率下算法具有優(yōu)勢(shì)。
小波; Contourlet變換; 圖像壓縮
現(xiàn)階段主流的圖像壓縮方法一般都采用變換、量化以及熵編碼的基本框架。利用具備能量集中性的變換能夠在利用很少的向量的條件下較為有效地逼近某一類信號(hào)。當(dāng)前小波變換在非平穩(wěn)信號(hào)處理中得到了越來越廣泛的應(yīng)用和普及,并表現(xiàn)出了巨大的優(yōu)越性。但是圖像作為一種特殊的二維信號(hào),其本身存在著諸多特點(diǎn),在不少情況下,可分離的小波變換無法對(duì)圖像取得較高的表示效率[1-2]?;诖?,文中對(duì)小波Contourlet變換的圖像壓縮算法進(jìn)行了探討。
可以將Contourlet 變換劃分成兩個(gè)階段:第一個(gè)階段是通過拉普拉斯金字塔來對(duì)圖像做多尺度分解處理,目的在于捕獲奇異點(diǎn)。第二個(gè)階段是利用方向?yàn)V波器組把各自分布在同方向上的諸多奇異點(diǎn)合成一個(gè)系數(shù)。拉普拉斯金字塔分解只對(duì)低頻部分來采取下采樣,經(jīng)過處理后數(shù)據(jù)會(huì)形成冗余。與此同時(shí),小波Contourlet 變換中會(huì)通過二維小波變換來取代拉普拉斯金字塔進(jìn)行子帶分解處理[3]。考慮到小波分解以及方向?yàn)V波器組都屬于無冗余的,所以小波Contourlet 變換實(shí)際上也不會(huì)出現(xiàn)冗余問題。
實(shí)際應(yīng)用中,可以將小波Contourlet 變換劃分成兩部分:一是通過小波變換來實(shí)施子帶分解,然后還應(yīng)當(dāng)在每一級(jí)變換取得高頻子帶HH,HL以及LH;二是通過方向?yàn)V波器組對(duì)其同級(jí)的高頻子帶來實(shí)施相同級(jí)數(shù)的方向分解處理[4]。一般來說,應(yīng)當(dāng)從最高頻子帶開始方向?yàn)V波,其級(jí)數(shù)用L表示,那么其每個(gè)子帶均可以被分解為ND=2L塊。
m,i=1,2,3
2.1線性索引
文中在無鏈表算法中通過線性坐標(biāo)索引映射來將原來的二維的小波Contourlet變換系數(shù)轉(zhuǎn)為一維的索引值,利用這種方法可以快速地得到集合以及像素的具體位置。其中系數(shù)的索引號(hào)可以通過單個(gè)數(shù)字來進(jìn)行表示[5]。需要指出的是,這樣的索引映射下每個(gè)大小為2×2 塊中的4 個(gè)系數(shù)索引值均能夠保持連續(xù)性,同時(shí),根據(jù)引遞增的形式編碼也是符合SPECK編碼的正常掃描順序的。
2.2狀態(tài)標(biāo)記情況
文中采用的算法一共提供了5種狀態(tài)標(biāo)記來對(duì)于小波Contourlet變換下所處的編碼狀態(tài)進(jìn)行記錄和分析。其中,MIP主要負(fù)責(zé)記錄比特面的不重要像素以及未測(cè)試相關(guān)像素;MSP主要負(fù)責(zé)記錄的是重要的,同時(shí)需要細(xì)化的相關(guān)像素;MNP主要負(fù)責(zé)記錄新的重要同時(shí)比特面不必進(jìn)行細(xì)化的相關(guān)像素;MSn 主要負(fù)責(zé)對(duì)2n×2n的集合塊進(jìn)行記錄,一旦發(fā)現(xiàn)某個(gè)像素的狀態(tài)用n來表示,就意味著以該像素的索引值來當(dāng)做起始的數(shù)量是2n×2n大小的像素當(dāng)做一個(gè)集合來實(shí)施重要性編碼。Mik主要負(fù)責(zé)對(duì)于剩余集合I的表示,符號(hào)意義上,k代表的是系數(shù)子帶的級(jí)數(shù),I 每分裂一次,則用k+1來進(jìn)行表示。
需要注意的是,狀態(tài)標(biāo)記過程中應(yīng)當(dāng)注意以下幾點(diǎn)內(nèi)容:首先初始化分裂次數(shù),并且狀態(tài)標(biāo)記位數(shù)。注意應(yīng)當(dāng)用MIP來表示全部的狀態(tài)表元素[6]。選擇LL0來當(dāng)做初始集合塊S,注意對(duì)于第一個(gè)元素應(yīng)當(dāng)通過MSn來進(jìn)行表示。剩余元素通過集合I來表示,而第一個(gè)元素則可以使用Mik來進(jìn)行表示。然后再根據(jù)索引值的順序來實(shí)施掃描處理,對(duì)于任何一個(gè)單個(gè)元素,都應(yīng)當(dāng)注意對(duì)其重要性做出準(zhǔn)確的判斷,進(jìn)行編碼符號(hào)位處理同時(shí)還要把元素的狀態(tài)位置用MNP來進(jìn)行表示;如果不重要,則可以繼續(xù)對(duì)下一個(gè)元素來進(jìn)行掃描[7-8]。
同樣的,還需要對(duì)集合S重要性來做出判斷,判定為重要?jiǎng)t集合應(yīng)當(dāng)做四叉樹分解處理,同時(shí)還應(yīng)把得到的四個(gè)子集的首個(gè)元素的狀態(tài)位置標(biāo)記成n- 1。反之,假若其不重要?jiǎng)t應(yīng)當(dāng)跳過,然后對(duì)其它元素來進(jìn)行掃描。在對(duì)于集合I的重要性判斷的過程中,假若得出其重要,則應(yīng)當(dāng)將其分裂為3 個(gè)S 集合以及1 個(gè)I集合,其中對(duì)于S 集合的第一個(gè)元素狀態(tài)位置可以通過MSn來進(jìn)行表示,而對(duì)于I 集合的第一個(gè)元素狀態(tài)位置則可以用Mik+1來進(jìn)行表示。
2.3CLSK算法
文中采用了CLSK算法,根據(jù)線性索引的順序由高位平面逐漸至低位平面來實(shí)施編碼處理,需要注意的是,對(duì)集合和像素重要性的判斷標(biāo)準(zhǔn)可以用下式來進(jìn)行界定:
符號(hào)意義上,Sn(t)=1代表的含義是塊非常重要,而Sn(t)=0代表的含義是塊t不重要。我們利用Mark[t]來對(duì)于系數(shù)索引值為t的狀態(tài)的標(biāo)記位來進(jìn)行表示。那么具體對(duì)圖像實(shí)施CLSK編碼應(yīng)當(dāng)通過以下幾個(gè)步驟來完成:
1)首先應(yīng)當(dāng)確定初始閾值為n=2[log2mzxc(i,j)],同時(shí)初始化狀態(tài)標(biāo)志。
2)通過集合x來對(duì)于分解后的子帶來進(jìn)行表示,需要注意的是低頻子帶系數(shù)構(gòu)成的是集合S,而剩下的其它小波子帶則用集合I來進(jìn)行表示。
3)做好排序過程,具體實(shí)施是應(yīng)當(dāng)由索引值t=0開始來進(jìn)行逐步的掃描。掃描分為4種情況:第一,假若Mark[t]=MIP,那么就應(yīng)當(dāng)輸出Sn(t)。假若Sn(t)的值為1,那么就需要輸出系數(shù)Ct的符號(hào),用公式表示就是Mark[t]=MNP,t=t+1。第二種情況是,假若Mark[t]=MNk,那么就輸出Sn(t)。假若Sn(t)的值等于1,就需要采取集合分裂。第三種情況是,假若Mark[t]=Mik,那么就會(huì)輸出Sn(t)。如果Sn(t)的值為1,就會(huì)分解成3 個(gè)S集合以及新集合I。第四種情況是:t=t+1。
4)注重細(xì)化過程,同時(shí)開始對(duì)索引值進(jìn)行重新掃描。假若Mark[t]=MSP,這種情況下就會(huì)輸出Ct的第n層bit,反之假若Mark[t]=MNP,那么就需要令Mark[t]=MSP;t=t+1。
5)最后要進(jìn)行循環(huán)更新量化門限,注意對(duì)n減1。完成之后再轉(zhuǎn)到步驟3)。
為了對(duì)于本研究中提出的編碼算法的有效性進(jìn)行驗(yàn)證,采用512×512×8 bit 大小的圖像Goldhill以及Barbara 作為研究對(duì)象來開展性能測(cè)試實(shí)驗(yàn),同時(shí)將實(shí)驗(yàn)結(jié)果和基于小波的圖像編碼算法SPIHT來進(jìn)行比較。本試驗(yàn)中,選擇了9/7 雙正交提升小波為實(shí)驗(yàn)對(duì)象,并將其分解層次為四級(jí)。具體的不同壓縮率下算法解碼圖像的峰值信噪比情況見表1。
表1 重構(gòu)圖像的峰值信噪比情況比較
從表中不難看出,CLSK算法和SPIHT算法處于不同碼率情況下, Barbara 以及Goldhill 的重構(gòu)圖像在峰值信噪比比較上是較為相近的。一是由于CLSK 算法使用的是狀態(tài)標(biāo)記取代鏈表方式,因而編碼過程中未能夠采用集合大小的重新排序過程,從而導(dǎo)致了編碼效率降低。二是受到對(duì)紋理更豐富的圖像Barbara的影響,采取方向?yàn)V波后可以獲得對(duì)圖像的更“稀疏”的標(biāo)記,對(duì)于圖像壓縮具有一定的積極意義,因而其峰值信噪比略高。Barbara 在0.2bpp條件下通過小波變換的SPIHT與CLSK 算法所得到的重構(gòu)圖像如圖1所示。
(a) SPIHT
(b) CLSK
從圖中不難看出,在相同碼率的條件下,后者更多的保留了圖像的邊緣和圖像紋理等諸多細(xì)節(jié)信息,和小波變換算法所獲得的主觀視覺效果相比,具有較大優(yōu)勢(shì)。
綜上所述,本研究中對(duì)于Contourlet變換冗余大的弊端進(jìn)行了改進(jìn),提出了基于Contourlet變換的新型無鏈表CLSK 算法編碼算法,仿真結(jié)果表明,在高壓縮率下,該算法能夠取得較為理想的效果。
[1] 薛旭成,張淑艷,李洪法,等.Contourlet變換在圖像壓縮中的應(yīng)用研究[J].微計(jì)算機(jī)信息,2009(9):154-158.
[2] 楊粵濤.基于非采樣Contourlet變換的圖像融合[D]:[碩士學(xué)位論文].長(zhǎng)春:長(zhǎng)春光學(xué)精密機(jī)械與物理研究所,2012.
[3] 李杏梅.Contourlet變換在圖像去噪與邊緣檢測(cè)中的應(yīng)用研究[D]:[碩士學(xué)位論文].武漢:華中科技大學(xué),2011.
[4] Eslami R, Radha H. New image tr ansform using hybrid wav elets and dir ect ional filter banks:analysis and design[C]// MPro ceeding of IEEE Inter national Conference on Image Processing. Piscateway,USA:IEEE,2005.
[5] Latte M V, Ay achit N H. Reduced memory listless speck image compression[J]. Digital Signal Processing,2006(6):245-250 .
[6] 宋宇,王美玲,翟雙.基于小波變換的圖像壓縮算法[J].長(zhǎng)春工業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2011,32(6):558-561.
[7] 杜廣環(huán).基于小波變換圖像壓縮編碼研究的現(xiàn)狀與發(fā)展[J].科技創(chuàng)新導(dǎo)報(bào),2011,31(10):87-89.
[8] 譚艷梅.一種基于小波變換的圖像壓縮方法與實(shí)現(xiàn)[J].微型機(jī)與應(yīng)用,2011,3(17):86-88.
A wavelet transform Contourlet based image compression algorithm
TIAN Chi
(Tieling Normol College, Tieling 112000, China)
To improve the Contourlet transform algorithm, we propose a wavelet transform Contourlet based image compression algorithm which has advantages at high compression rate verified by experiments.
wavelet transform; Contourlet transform; image compression.
2014-03-11
田 馳(1981-),女,漢族,遼寧鞍山人,鐵嶺師范高等??茖W(xué)校講師,碩士,主要從事計(jì)算機(jī)圖形圖像處理及應(yīng)用方向研究,E-mail:zly19800212@163.com.
TP 30
A
1674-1374(2014)04-0442-04