基於小波變換的圖像壓縮技術初探

我們知道,圖像壓縮就是要尋找高壓縮比、並使壓縮後的圖像有合適的信噪比的方法,對壓縮後的圖像還要能實現低失真度地恢復圖像。壓縮性能的評價標準之一是圖像能量損失和零係數成分值。能量損失越小,零係數成分值越大,圖像壓縮的性能就越高。
 
小波圖像壓縮的特點是壓縮比高,壓縮速度快,能量損失低,能保持圖像的基本特徵,且信號傳遞過程抗干擾性強,可實現累進傳輸。
 
首先我們簡單瞭解一下二維小波變換的塔式結構。我們知道,一維小波變換其實是將一維原始信號分別經過低通濾波和高通濾波以及二元下抽樣得到信號的低頻部分L和高頻部分H。而根據Mallat算法,二維小波變換可以用一系列的一維小波變換得到。對一幅m行n列的圖像,二維小波變換的過程是先對圖像的每一行做一維小波變換,得到L和H兩個對半部分;然後對得到的LH圖像(仍是m行n列)的每一列做一維小波變換。這樣經過一級小波變換後的圖像就可以分爲LL,HL,LH,HH四個部分,如下圖所示,就是一級二維小波變換的塔式結構:
LL
HL
LH
HH
圖1
而二級、三級以至更高級的二維小波變換則是對上一級小波變換後圖像的左上角部分(LL部分)再進行一級二維小波變換,是一個遞歸過程。下圖是三級二維小波變換的塔式結構圖:
LL3
HL3
HL2
HL1
LH3
HH3
LH2
HH2
LH1
HH1
圖2
一個圖像經過小波分解後,可以得到一系列不同分辨率的子圖像,不同分辨率的子圖像對應的頻率也不同。高分辨率(即高頻)子圖像上大部分點的數值都接近於0,分辨率越高,這種現象越明顯。要注意的是,在N級二維小波分解中,分解級別越高的子圖像,頻率越低。例如圖2的三級塔式結構中,子圖像HL2、LH2、HH2的頻率要比子圖像HL1、LH1、HH1的頻率低,相應地分辨率也較低。根據不同分辨率下小波變換系數的這種層次模型,我們可以得到以下三種簡單的圖像壓縮方案。
 
方案一:舍高頻,取低頻
一幅圖像最主要的表現部分是低頻部分,因此我們可以在小波重構時,只保留小波分解得到的低頻部分,而高頻部分系數作置0處理。這種方法得到的圖像能量損失大,圖像模糊,很少採用。
另外,也可以對高頻部分的局部區域係數置0,這樣重構的圖像就會有局部模糊、其餘清晰的效果。
方案二:閾值法
對圖像進行多級小波分解後,保留低頻係數不變,然後選取一個全局閾值來處理各級高頻係數;或者不同級別的高頻係數用不同的閾值處理。絕對值低於閾值的高頻係數置0,否則保留。用保留的非零小波係數進行重構。Matlab中用函數ddencmp()可獲取壓縮過程中的默認閾值,用函數wdencmp()能對一維、二維信號進行小波壓縮。
方案三:截取法
將小波分解得到的全部係數按照絕對值大小排序,只保留最大的x %的係數,剩餘的係數置0。不過這種方法的壓縮比並不一定高。因爲對於保留的係數,其位置信息也要和係數值一起保存下來,才能重構圖像。並且,和原圖像的像素值相比,小波係數的變化範圍更大,因而也需要更多的空間來保存。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章