陳善學(xué) ,王佳果 ,彭 娟 ,張本強(qiáng)
(1.重慶郵電大學(xué)移動(dòng)通信安全技術(shù)實(shí)驗(yàn)室 重慶 400065;2.中興通訊股份有限公司 深圳 518057)
香農(nóng)的信息論圖像的壓縮方法可以分為無損壓縮和有損壓縮。無損壓縮的特點(diǎn)是失真度很低但壓縮比較??;而有損壓縮雖然有較高的失真率但可以獲得大壓縮比。由于在軍事、公安、遙感圖像等方面對(duì)圖像失真度要求低,使得無損壓縮成為圖像處理的一個(gè)重要研究方向。
矢量量化[1,2](vector quantization,VQ)是一種高效的有損數(shù)據(jù)壓縮技術(shù),因其具有壓縮比高、編解碼速度快的特點(diǎn),被廣泛地應(yīng)用于語音編碼和圖像的壓縮系統(tǒng)。其基本思想是:把圖像看成是一串?dāng)?shù)據(jù),設(shè)這一串?dāng)?shù)據(jù)大小為m,把它截 M段(一般每段相等,如為 k),即把 m個(gè)數(shù)據(jù)變成了M個(gè)矢量,再把這M個(gè)矢量分成N組,為每個(gè)組挑選一個(gè)數(shù)據(jù)矢量作為這個(gè)組的代表,如第j個(gè)組的代表為yj,j=0,1,…,N-1。而壓縮就是圖像中的數(shù)據(jù)矢量,如果屬于第j個(gè)組,則這個(gè)數(shù)據(jù)矢量就用這個(gè)組的代表矢量代替,這時(shí)的編碼就是在相應(yīng)的位置上記下編號(hào)j,而不必記下矢量本身。集合{yj,j=0,1,…,N-1}稱為碼書,N為碼書長度或碼書大小。
本文采用基于SOFM[3](self-organizing feature maps,自組織特征映射神經(jīng)網(wǎng)絡(luò))矢量量化的圖像無損壓縮方法,該方法首先用SOFM神經(jīng)網(wǎng)絡(luò)對(duì)圖像進(jìn)行矢量量化,然后將原圖像與經(jīng)矢量量化后恢復(fù)的圖像作差值,將矢量量化后的數(shù)據(jù)作自適應(yīng)算術(shù)編碼,而差值圖像作變長編碼。在接收方將矢量量化后恢復(fù)的圖像和差值圖像相加,即可得到解壓后的圖像。實(shí)驗(yàn)結(jié)果表明了該算法的壓縮比比傳統(tǒng)的DPCM無損壓縮最高可提升40%,證明了其有效性。
芬蘭學(xué)者Kohonen提出的SOFM算法是一種基于自組織特征神經(jīng)網(wǎng)絡(luò)無監(jiān)督學(xué)習(xí)的聚類過程[4,5]。自組織特征神經(jīng)網(wǎng)絡(luò)是一種具有側(cè)向聯(lián)想能力的雙層結(jié)構(gòu)網(wǎng)絡(luò),一般由輸入層和輸出層構(gòu)成,輸出節(jié)點(diǎn)呈二維陣列分布,如圖1所示,每個(gè)輸入節(jié)點(diǎn)與輸出節(jié)點(diǎn)之間用可變權(quán)值連接,每個(gè)輸出節(jié)點(diǎn)都有一個(gè)拓?fù)溧徲颍徲螂S時(shí)間而變化。競爭層由N個(gè)神經(jīng)元組成,輸入層由M個(gè)神經(jīng)元組成,輸入層各神經(jīng)元與競爭層各神經(jīng)元之間實(shí)現(xiàn)全互連接。有時(shí)競爭層各神經(jīng)元之間也實(shí)現(xiàn)相鄰神經(jīng)元側(cè)抑制連接[6]。
SOFM網(wǎng)絡(luò)的競爭層神經(jīng)元個(gè)數(shù)等于碼書的尺寸Q,輸入層神經(jīng)元通過可變的權(quán)值與競爭層神經(jīng)元相連,競爭層所有神經(jīng)元通過相互競爭和自適應(yīng)學(xué)習(xí)算法調(diào)整連接權(quán)值,訓(xùn)練結(jié)束后競爭層所有神經(jīng)元的權(quán)值就構(gòu)成了碼書。
設(shè)訓(xùn)練矢量數(shù)為N,訓(xùn)練矢量集表示為X=(X1,X2,…,XN),網(wǎng)絡(luò)有N個(gè)輸入節(jié)點(diǎn),競爭層有Q個(gè)神經(jīng)元(等于碼書大小),由輸入層到競爭層的連接權(quán)值為Wij,i=[1,…,Q],j=[1,…,N],其算法如下。
(1)將初始化連接權(quán)值 Wij賦予隨機(jī)值。
(2)從訓(xùn)練集合中選擇訓(xùn)練矢量 Xk,k∈[1,N],用并行方式輸入到競爭層的每一個(gè)神經(jīng)元。
(3)計(jì)算Xk與各神經(jīng)元(即Wij)間的失真,選擇具有最小失真的神經(jīng)元g為獲勝神經(jīng)元,按式(2)調(diào)整神經(jīng)元g及g的拓?fù)漕I(lǐng)域內(nèi)各碼字的權(quán)值,其他權(quán)值保持不變,即:
其中,i∈NEj(t),NEj(t)為碼字 g 的拓?fù)漕I(lǐng)域,t為迭代次數(shù)。α(t)為學(xué)習(xí)速率因子,一般選為:
其中,tmax為總的迭代次數(shù),t為當(dāng)前迭代次數(shù),α0取[0,1]。
(4)對(duì)所有訓(xùn)練輸入模式,重復(fù)步驟(2)、(3),直到算法收斂或達(dá)到初始設(shè)定的最大迭代次數(shù)。
通過上面的描述,發(fā)現(xiàn)基本SOFM算法在某些環(huán)節(jié)上還是存在缺陷的[7],如其獲得獲勝神經(jīng)的環(huán)節(jié)存在失真計(jì)算量太大的問題,而另一方面,由于訓(xùn)練數(shù)據(jù)統(tǒng)計(jì)特性的影響,在競爭層有些神經(jīng)元獲勝的概率大且權(quán)值經(jīng)常調(diào)整,而有些神經(jīng)元的權(quán)值很少調(diào)整,影響了算法的收斂。針對(duì)以上幾點(diǎn),本文對(duì)基本SOFM算法進(jìn)行改進(jìn),提高了SOFM網(wǎng)絡(luò)的性能。
在上述基本SOFM算法中,每選擇一次獲勝神經(jīng)元都需對(duì)輸入矢量與每個(gè)碼字進(jìn)行失真計(jì)算,也就是對(duì)所有神經(jīng)元進(jìn)行窮盡搜索,這樣需要Q次失真計(jì)算,N個(gè)訓(xùn)練矢量就需要MQ次失真計(jì)算;如果平均迭代次數(shù)為R,則共需要MNR次失真計(jì)算,這樣的計(jì)算量是非常大的。基于此,在選擇獲勝神經(jīng)元時(shí),有必要采取一定的措施減少大量的失真計(jì)算。陸哲明等根據(jù)距離不等式判決提出一種改進(jìn)的SOFM算法可以加快學(xué)習(xí)的速度,其詳細(xì)的改進(jìn)方法參見參考文獻(xiàn)[8]。
由于訓(xùn)練數(shù)據(jù)統(tǒng)計(jì)特性的影響,在競爭層有些神經(jīng)元獲勝的概率大,其權(quán)值經(jīng)常調(diào)整,而有些神經(jīng)元的權(quán)值很少調(diào)整。為了使每個(gè)神經(jīng)元都能夠被充分利用,引入了敏感因子βi[10],其初始值為1,每當(dāng)競爭層神經(jīng)元g在競爭層過程中獲勝1次,βi加1,即敏感因子為獲勝神經(jīng)元獲勝次數(shù),將失真誤差修正為 di=βi×di。因此,隨著 βi的增加,競爭層神經(jīng)元g再次成為獲勝神經(jīng)元的機(jī)會(huì)減小,增大了其他神經(jīng)元的獲勝機(jī)會(huì),從而提高了算法的收斂速度。
改進(jìn)的SOFM算法如下。
(1)初始化權(quán)值 Wij,i=[1,…,Q],j=[1,…,N],可從訓(xùn)練序列中隨機(jī)選取。
(2)從訓(xùn)練集合中選擇訓(xùn)練矢量 Xk,k∈[1,N],用并行方式輸入到競爭層的每一個(gè)神經(jīng)元。
(3)將一個(gè)矢量各分量的和定義為 SXk,k∈[1,N],碼字和值定義為SWi,可以證明:
設(shè)當(dāng)前的最小失真為dmin,并令MD=Kdmin,若有:
則根據(jù)式(4)有:
因此,可以在每次搜索獲勝神經(jīng)元前,預(yù)先計(jì)算Q個(gè)碼字的和值SWi,并保存在碼書中,同時(shí)在搜索獲勝神經(jīng)元過程中預(yù)先計(jì)算MD,然后判斷碼字Wi的和值 SWi是否滿足式(5),若滿足,則碼字Wi可以排除,而免去計(jì)算失真誤差。
(4)設(shè)通過步驟(3)找到的獲勝神經(jīng)元為 g,則按照下面的方法調(diào)整神經(jīng)元g及g的拓?fù)漕I(lǐng)域內(nèi)各碼字的權(quán)值,其他權(quán)值保持不變,即:
(5)對(duì)所有訓(xùn)練輸入模式,重復(fù)步驟(2)~(4),直到算法收斂或達(dá)到初始設(shè)定的最大迭代次數(shù)。
本文所采用壓縮算法如圖2所示,該算法首先采用改進(jìn)的SOFM算法進(jìn)行矢量量化,然后將原圖像與矢量量化后恢復(fù)的圖像作差值,將量化后的數(shù)據(jù)作自適應(yīng)算術(shù)編碼,而對(duì)于差值圖像,雖然其像素范圍為-255~255,看起來比原始圖像的像素值增加了一倍,但實(shí)際上,數(shù)據(jù)大多為0值或在0值周圍徘徊,如采用碼書尺寸為2048時(shí),差值圖像的0值數(shù)約占總像素的近42%。對(duì)出現(xiàn)概率高和出現(xiàn)概率低的值分別賦予較短和較長的碼字,就能夠減少整體數(shù)據(jù)量。這種根據(jù)數(shù)據(jù)的值改變碼字長度的方法稱為變長編碼(variable-length coding),其中霍夫曼編碼是代表性的變長編碼之一。而在接收方將量化后恢復(fù)的圖像和差值圖像相加,即可得到解壓后的圖像。
本算法選用256×256×8 bit的灰度圖像 Lena作為測(cè)試對(duì)象,同時(shí)將圖像分為4×4子塊,將每一塊16個(gè)像素灰度值作為一個(gè)訓(xùn)練矢量。首先比較基本的SOFM算法和改進(jìn)的SOFM的算法的碼書設(shè)計(jì)時(shí)間和峰值信噪比(PSNR),不同條件下基于SOFM算法矢量量化的比較見表1;其次將本算法和傳統(tǒng)的DPCM無損壓縮算法相比較,JPEG的無損壓縮采用基于DPCM (differential pulse code modulation)的方式進(jìn)行壓縮,該方法的壓縮比平均可達(dá)1.54[9],不同碼書大小下算法壓縮比見表2。
表1 不同條件下基于SOFM算法矢量量化的比較
表2 不同碼書大小下算法壓縮比
通過上述實(shí)驗(yàn),得到如下結(jié)論。
·通過實(shí)驗(yàn)數(shù)據(jù)(見表1)發(fā)現(xiàn),采用改進(jìn)后的 SOFM設(shè)計(jì)碼書,可以有效地減小碼書設(shè)計(jì)時(shí)間,提高碼書性能,相對(duì)于基本算法,碼書設(shè)計(jì)時(shí)間減少了約70%,圖像效果、編碼質(zhì)量均提高0.4~0.9 dB。而采用改進(jìn)的SOFM圖像無損壓縮算法,相比傳統(tǒng)的DPCM無損壓縮算法的壓縮比最高可提高40%,證明了算法的有效性。
圖2 基于SOFM的無損壓縮算法
·碼書大小對(duì)本算法最后的壓縮比有著重要的影響,從表2中可以很明顯地看出,Q=512與Q=2048之間有著差別,碼書尺寸較小時(shí)矢量量化后數(shù)據(jù)編碼數(shù)據(jù)量也較小,但差值圖像的編碼數(shù)據(jù)量較大;碼書尺寸較大時(shí),差值圖像編碼數(shù)據(jù)量較小,但矢量量化后數(shù)據(jù)編碼數(shù)據(jù)量較大。所以如何選擇這兩者之間的最佳點(diǎn),還需要作進(jìn)一步的研究。
1 Linde Y,Buzo A,Gray R M.An algorithm for vector quantizer design.IEEE Transactionson Commemoration(S0090-6778),1980,28(1):84~95
2 Geraho A,Gray R M.Vector quantization and signal compression.Boston,MA Kluwer,1992
3 Nassrabadi N M,Feng Y.Vector quantization of image based upon the Kohonen self-organizing feature maps.In:Proc IEEE int Conf Neural Networks,San Digeo,CA,1988
4 (美)Martin T,Hagan Howard B,Demuth著.戴葵等譯.神經(jīng)網(wǎng)絡(luò)設(shè)計(jì).北京:機(jī)械工業(yè)出版社,2002
5 Amerijckx C,Legaty J D,Verle-Ysen M.Image compression using self-organizing maps.System Analysis Modeling Simulation,2003,43(11):1529~1543
6 Sambu Seo,Klaus Obermayer.Self-organizing maps and clustering methods for matrix data.Neurocomputing,2006(69):2033~2040
7 孫圣,陸哲明.矢量量化技術(shù)及應(yīng)用.北京:科學(xué)出版社,2002
8 段勇.改進(jìn)的SOFM及其在矢量量化中的應(yīng)用.系統(tǒng)仿真學(xué)報(bào),2006,18(3):718~721
9 王黎明,趙英亮,韓眾程,耀瑜.基于JPEG-Ls框架的無損壓縮技術(shù)研究.電腦開發(fā)與應(yīng)用,2002
10 Bei C D,Gray R M.An improvement of the minimum distortion encoding algorithm for vector quantization.IEEE Transactions on Communications,1985,33(10):1132~1133