高 芬,杜 紅,余厚全
(油氣資源與勘探技術教育部重點實驗室(長江大學),湖北 荊州 434023)
伍 鵬
(長江大學電子信息學院油氣信息處理與識別研究所,湖北 荊州 434023)
基于整數提升小波變換的改進EZW編碼算法
高 芬,杜 紅,余厚全
(油氣資源與勘探技術教育部重點實驗室(長江大學),湖北 荊州 434023)
伍 鵬
(長江大學電子信息學院油氣信息處理與識別研究所,湖北 荊州 434023)
為了提高圖像有損壓縮的性能,在分析EZW算法的基礎上,提出了一種改進的零樹小波編碼算法。該算法采用整數提升小波變換對圖像進行分解,將分解后的圖像作改進的EZW編碼,即將低頻子帶和高頻子帶分開進行編碼,主表采用不同的掃描方式,同時取消副表中的極間掃描。試驗結果表明,改進算法提高了圖像壓縮質量和峰值信噪比,同時減少了編解碼時間。
圖像壓縮;EZW算法;整數提升;小波變換;峰值信噪比
小波變換[1]是一種關于信號的時間尺度分析方法,其突出特點是可以任意調節分析的尺度,從而對信號作精細分析和處理。該方法已在各個領域得到廣泛應用,特別是在圖像壓縮技術的應用中取得了顯著的效果[2]。圖像經過小波變換后的變換系數采用不同的量化和編碼,從而得到不同的壓縮方案,其中最典型的方案是EZW算法[3],該算法是一種簡單有效的壓縮算法,其基本思想是對經過小波變換后的小波系數進行量化編碼,并且可以隨時停止編解碼。但該算法不能充分利用高頻信息,也沒有充分利用小波變換后系數的特點。為此,筆者提出了一種基于整數提升小波變換的改進EZW編碼算法(IEZW),在一定程度上提高了圖像的壓縮質量和峰值信噪比,同時減少了編解碼時間。
在傳統小波變換中,由于濾波器具有浮點數系數,即使輸入的數據由整數組成,經小波變換后其產生的系數也是浮點型。浮點型運算對計算機內存的需求量較大,運算復雜,受計算機有限字長的影響,往往不能精確地重構信號。為解決上述問題,Swelden等[4]提出一種新的小波構造方法,即整數提升算法,其基本思想是將傳統小波變換分解為提升形式來實現,并對每一個提升產生的浮點數進行取整,構造出可逆的整數小波變換。

圖1 提升小波變換的實現過程
小波變換的提升過程主要包括分裂、預測和更新3個步驟組(見圖1),具體實現過程如下。
1)分裂 將原始信號x[n]根據其序數的奇偶性分解成2個子集,偶數集合定義為p[n],奇數集合定義為q[n],即p[n]=x[2n],q[n]=x[2n+1],對應于該種分裂所產生的小波稱為惰性小波。
2)預測 保持偶數集合p[n]不變,采用預測算子Z(·),用p[n]來預測奇數集合q[n],即:
c[n]=q[n]-Z(p[n])
(1)
3)更新 采用更新算子W(·),用c[n]來修正x[n]以保持原始信號的某種特性,即:
d[n]=p[n]+W(c[n])
(2)
從式(1)和式(2)可知,輸出結果的小數部分與式(1)中的Z(p[n])和式(2)中的W(c[n])有關,因而
對其取整即可得到整數變換的結果。具體公式如下:
(3)
(4)
2.1取消級間排序
級間排序是指副表中的重要系數被細化編碼輸出后, 在閾值減半進行下一次掃描前對副表中細化后的重要系數進行排序,然后對當前掃描得到的重要系數及以前掃描得到的重要系數按照先后順序進行細化編碼輸出。級間排序的目的是為了編解碼的同步, 因為解碼端只能根據主表的節點符號和副表的細化比特來重構系數, 并確定重構系數所在的空間位置。雖然級間排序可改善性能,但其壓縮效率有限,且大大增加了運算量。所以,為了得到更快的執行速度,應取消級間排序。
2.2分開處理低、高頻子帶
對于很多信號,低頻成份主要包含信號的特征,而高頻成分則包含了信號的細節和差別。圖像經過小波變換后,能量主要集中在低頻子帶圖像中,其反映了圖像信號的整體特征,需精確保留其信息,因而可對其進行細化編碼以保留圖像信號的整體特征,從而提高圖像質量。EZW算法是把分解后的所有子帶統一處理,這樣如果要使重構的圖像失真減小,就必須增加量化的次數,這意味著增加了運算量。為改變該狀況,可分開處理低頻子帶和高頻子帶。即采用DPCM+Huffman方法,對低頻子帶進行無損壓縮[5]。由于在高頻子帶內主要集中了圖像的邊緣及紋理,小波系數較大像素所在位置可能表示為圖像的邊緣或紋理信息,因而對高頻子帶采用EZW+Huffman雙重編碼算法[6]。對一幅小波分解圖像來說, 分解后的各個高頻子帶體現為圖像邊緣、紋理等細節信息,而且各個子帶所表示的邊緣、紋理信息的方向是不同的,其中高低頻(HLi) 反映了水平方向的邊緣、紋理信息,低高頻(LHi) 反映了垂直方向的邊緣、紋理信息,高高頻(HHi) 反映了對角方向的邊緣、紋理信息。因此,可對高頻子帶采用改進的EZW算法掃描次序,即水平分量進行水平掃描、垂直分量進行垂直掃描、對角分量進行Z字形掃描。分開處理高低頻子帶圖如圖2所示。

圖2 分開處理高低頻子帶圖
改進算法具體步驟如下:①選擇適當的小波基,對圖像進行整數小波分解,分解子帶為LLm、HLm、LHm、HHm(m的取值為1~3)。②對子帶LLm采用DPCM+Huffman編碼,使其近似無損編碼。③對其他高頻子帶采用取消極間掃描,并且對其中的水平分量采用水平掃描,垂直分量采用垂直掃描、對角分量采用Z字形掃描。④進行逆變換得到重構的圖像。
測試圖像為256×256×8bit的房屋圖像和人頭圖像,分別采用9/7、 5/3和Haar3組小波基進行小波分解,再進行改進的EZW編碼。使用常用的峰值信噪比 (PSNR)客觀評價圖像壓縮質量[7],其公式如下:

(5)
式中,xpq和zpq分別是原始圖像和重構圖像的像素值;(m,n)表示圖像的大小。
以5/3小波為例,用改進算法和傳統算法分別對房屋圖像和人頭圖像計算PSNR值,試驗結果分別如圖3和圖4所示。試驗結果表明,不同編碼次數下改進算法比傳統算法的PSNR值更高。

圖3 房屋圖像在不同編碼次數下IEZW與EZW的PSNR值比較 圖4 人頭圖像在不同編碼次數下IEZW 與EZW的PSNR值比較


表1 不同編碼次數下的比例因子k

表2 不同解碼次數下的比例因子k
以Haar小波為例,用改進算法和原始算法分別對房屋圖像和人頭圖像進行壓縮和重構(見圖5和圖6)。試驗結果表明,在相同壓縮比的條件下,改進算法比傳統算法具有更好的重構圖像質量。

圖5 重構房屋圖像與原始房屋圖像對比 圖6 重構人頭圖像與原始人頭圖像對比
[1]Sidney B, Ramesh A. Gopinath H.小波與小波變換導論[M]. 程正興 譯. 北京:機械工業出版社,2008.
[2] Kenneth R C.數字圖像處理[M]. 朱志剛譯.北京:電子工業出版社,2002.
[3]Ouafi A, Baarir Z, Zitouni A. A modified Embedded zerotree wavelet (MEZW) algorithm for image compression[J]. Math imaging vis,2008,30:298-307.
[4] Fan Jing-chen.SPIHT algorithm Based on Fast Lifting Wavelet Transform in Image Compression[J].Computational intelligence and security,2005,10:838-844.
[5] Francisco A. Antonio J and Sanchez J L.Colour image compression based on the embedded zerotree wavelet [J].Computer science,2009,40:612-615.
[6] 高世偉,郭雷,杜亞琴,等. 提升小波變換及其在圖像處理中的應用[J]. 計算機工程與設計,2007, 28(9):2066-2069.
[7] 張素文,王麗麗,苗丹. 一種改進的嵌入式零樹小波圖像編碼算法[J]. 紅外技術, 2008,9(9): 541-545.
[編輯] 李啟棟
10.3969/j.issn.1673-1409.2011.03.034
TP751
1673-1409(2011)03-0101-03