孫振宇
(中國人民解放軍91913部隊,大連116000)
圖像壓縮編碼作為多媒體技術的關鍵環(huán)節(jié),一直是信息技術的活躍領域。由于圖像信息是高維信息,并具有確切性、直觀性、高效性和廣泛適應性,故其包含非常大的數(shù)據(jù)量。如此大的數(shù)據(jù)量將會給存儲器的存儲容量、通信線路的數(shù)據(jù)傳輸率帶來非常大的壓力。為了解決這一系列的問題,對富有高信息量的圖像進行壓縮勢在必行[1]。
矢量量化技術是一種20世紀70年代后期發(fā)展起來的壓縮技術,作為一種有效的有損壓縮技術,其突出優(yōu)點是壓縮比大并且解碼算法相對簡單,具有優(yōu)良的率失真特性。和標量量化相比較,矢量量化可以更好地挖掘相鄰數(shù)據(jù)間的線性和非線性關系,從而達到更高的壓縮效率。矢量量化技術已經(jīng)廣泛的應用在信號和圖像處理領域,例如模式識別、語音和圖像壓縮編碼并且在衛(wèi)星遙感圖像的壓縮與傳輸、圖像數(shù)據(jù)庫等領域也有良好的應用前景。它作為一種高效的數(shù)據(jù)壓縮方法,矢量量化技術已成為信源編碼的重要技術之一,已經(jīng)在圖像和語音的壓縮和識別中得到了非常廣泛的應用,并且其重要性和應用范圍正在逐步增加與擴大。
近年來小波變換在圖像處理領域獲得了極大成功。在圖像壓縮方面,利用圖像小波變換后系數(shù)的特殊結構可以得到很好的壓縮性能,如SPIHT算法就是充分利用了小波系數(shù)的空間樹型的特點。小波圖像的矢量量化編碼算法也一直是人們研究的熱點,統(tǒng)計結果表明小波變換系數(shù)呈拉普拉斯分布,所以塔式格型矢量量化成為小波圖像矢量量化的一個重要研究課題。
事實上,每一個向量都坐落于一個定長半徑的表面。坐落在同一表面上的向量,它們的能量為一個常量。因此基于格的這種結構,對不同表面進行編碼也就是為向量設計一個前綴碼。同時通過后綴碼對每個向量在表面中的位置進行編碼。在本文中,闡述了一種針對對稱格型低復雜度的Dn索引方法。
由于小波變換擁有尺度分析和頻率分析尺度分析的雙重特性,以及其局部化特性和空間特性,所以引起人們越來越多的重視[2]。在圖像處理領域,特別是圖像壓縮,邊緣檢測和紋理分析中得到了非常廣泛的應用。在圖像壓縮應用中,小波壓縮的思想主要是選取合適的小波基,利用Mallet塔式算法,將圖像分解為不同分辨率的子帶,圖像能量主要集中在左上角的低頻(LL)段,而低頻段可以繼續(xù)分解,即進行多分辨率分解,最后分別編碼原圖像形成的子圖像。根據(jù)分析可以得出,低頻子圖具有最大的方差和均值,而且隨著子圖尺寸的降低,均值方差變化很小,說明雖然子圖大小是原圖的1/2n,但是還是包含圖像的大部分信息,而高頻分量子圖包含信息量相對較少,可以對其進行較大的壓縮。
小波函數(shù)是由一個滿足可容許條件∫dωΨ(ω)2ω-1<∞的函數(shù),Ψ(t)為基本小波,Ψ(ω)為其傅氏變換通過伸縮與平移產(chǎn)生的函數(shù)族
其中a稱為伸縮因子;b稱為平移因子。小波變換的實質是將一個有限能量信號f表示為小波基函數(shù)加權和,即
Ψm,n=2-m/2Ψ(2-mt-n)在Ψm,n構成正交基的條件下,可得
以上是連續(xù)函數(shù)小波變換。在數(shù)字信號處理中常用的是Mallat的塔式快速分解算法[3]:
其中gn=(-1)nh1-n;hn=∫dxΨ(x-n)Ψ(2x)/2
Ψ(X);為尺度函數(shù),am,n(f)是f在分辨2-m下的離散的采樣值Cm,n(f)是從一個較細的分辨率2-m+1到一個較粗分辨率2-m在逼近信號f時所失去的信息,即“細節(jié)”信息。由Cm,n和am,n可恢復(重構)原來的信號am-1,n。
小波變換本質對應著具有低通濾波器h和高通濾波器g的共軛鏡像濾波器QMF。采用圖像的小波變換采用9/7雙正交線性相位小波基。小波對Lena(256*256*8)圖片進行2層小波變換如圖1。
圖1 小波分解樹形結構Fig.1 Wavelet tree structure
將變換完的小波系數(shù)按不同子帶進行分塊,在本文中采取的是2*2大小的塊。
碼本R滿足:
設計了半徑R=20、30、50的碼本,碼本半徑越大所量化的圖像的失真越小,但同時圖像的碼率也隨之升高,所以通過實驗找到一個折中的碼本選擇方法,采取對LLL子帶用R=50的碼本進行矢量量化,而其他高通子帶,采取較小的碼本進行量化。
由于LVQ碼本是格的一個格點子集[4],因此設計格形矢量量化器時的一個首要問題就是得到格點的Voronoi區(qū)域,當矢量落入這個區(qū)域時,量化輸出即為該格點。很多學者對一些格提出了一種快速量化方法,也包括格Dn的快速量化方法描述如下:
設x為任意實數(shù),令f(x)=a,a是離x最近的整數(shù)。對任意矢量X=(x1,x2,…,xn)定義:
同樣,定義g(x)離x較遠的相鄰整數(shù),這其實相當于對x的錯誤量化。選量化誤差絕對值最大的分量中最小的下標,設為k,由此定義:
任意向量x的索引用Index(x)表示通過它的l(X)和O(X)求出x的索引。用Indexo(x)(x)表示x在 O(X)軌跡上的索引。所以前綴碼通過下述公式給出:
任意向量x通過兩次運算得到其領格。首先計算x中每一個元素的絕對值,然后將他們的絕對值按字典序排列。l(X)得到之后,通過查表得到l(X)的索引也就是Index(x)??梢酝ㄟ^下述公式由Sx和Nx求出相應的Indexo(x)(x),如下述公式:
Sx是一個二進制數(shù)的十進制長度,如果相應坐標改變則相應標志位被置1否則為0。
所述算法的簡要流程如下:1)對圖像進行2層小波變換2)對小波系數(shù)按子帶進行分塊3)設計不同半徑R下的碼本4)通過格對各小波系數(shù)塊進行量化5)編碼。
圖2 算法流程Fig.2 Algorithm processes
采用Lena(256*256*8)圖片,通過9/7雙正交線性相位小波進行2層分解,采用Dn格對小波系數(shù)進行量化,采用對低通子帶LLL采用R=50,對于其他子帶分別采用R=30、R=20的碼本,量化后的PSNR和碼率如表1,解碼后的圖片如圖3、圖4。傳統(tǒng)的LBG,訓練一個512個碼字的碼本,Lena圖像經(jīng)過量化后PSNR為22.458。
表1 Lena圖片不同量化半徑的碼率和PSNRTable 1 the bit rate and PSNR of Lena
圖3 重構圖片AFig.3 Reconstruct A
圖4 重構圖片BFig.4 Reconstruct B
通過本文的試驗可以看出,基于Dn格小波圖像矢量量化編碼方法的確能夠有效地使壓縮比和圖像的總體失真達到一個比較滿意的程度,通過對標準測試圖像壓縮結果的實驗分析,重建圖像質量在PSNR上比傳統(tǒng)的LBG算法有較大的提高。但是由于作者只是對整個方法進行了初步的探討,圖像的壓縮比和失真之間應該還有可以改善的地方。
[1]孫圣和,陸哲明.矢量量化技術及應用[M].北京:科學出版社,2002.
[2]LINDE Y,BUZO A and GRAY R M.An Algorithm for Vector Quantizer Design [J].IEEETransactions on Communication.1980,28(1):84-95.
[3]劉毅.基于小波變換與矢量量化的圖像壓縮算法[D].撫順:遼寧石油化工大學,2007.
[4]Fischer T.R.,Pan J.Enumeration encoding and decoding algorithms for pyramid cubic lattice and trellis codes[J].IEEE Trans.Inform.Theory,1995,41:2056-2061.