邱鵬 張建德 霍瑛
摘要:為了進(jìn)行圖像壓縮,提出一種基于小波分解與神經(jīng)網(wǎng)絡(luò)量化編碼結(jié)合的圖像壓縮算法。首先將讀入的彩色圖像轉(zhuǎn)化為灰度圖像,再將圖像小波分解為高頻部分和低頻部分。然后對(duì)高頻部分進(jìn)行基于神經(jīng)網(wǎng)絡(luò)的量化編碼。通過小波函數(shù)對(duì)處理后的高頻部分和原來的低頻部分進(jìn)行重構(gòu),最終達(dá)到圖像壓縮的目的。最后,使用MATLAB軟件仿真提出的圖像壓縮方法,實(shí)驗(yàn)結(jié)果進(jìn)一步證明了該圖像壓縮方法的有效性和可行性。
關(guān)鍵詞: 小波分解; 神經(jīng)網(wǎng)絡(luò); 量化編碼; 圖像壓縮; matlab
中圖分類號(hào):TN911.73 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)26-0169-02
Abstract: In order to compress image, an algorithm Based on wavelet decomposition and neural network was proposed. First of all, a color image was transform into gray one,then the image was decomposed into two parts of high frequency and low frequency by using wavelet. Secondly,quantization coding Based on neural network was used for high frequency part. Both processed high frequency part and low frequency part were reconfigured by wavelet function, which used for image compression. Finally, the proposed method for image compression was simulated by software MATLAB. Experimental results showed that the proposed method is effective and feasibility.
Key words:wavelet decomposition; neural network; quantization coding; image compression; matlab
1 概述
一般來說,有效的圖像壓縮算法能夠分析原始圖像的冗余數(shù)據(jù),排除不相干的信息量。在進(jìn)行圖像數(shù)據(jù)傳輸時(shí),利用圖像壓縮技術(shù)能夠節(jié)省網(wǎng)絡(luò)流量以及最大程度的減少存儲(chǔ)空間,從而提高數(shù)據(jù)的傳輸速度。因此,圖像壓縮算法已成為多媒體信息技術(shù)研究領(lǐng)域的重要課題[1]。
2 相關(guān)研究
近年來許多學(xué)者利用小波變換相關(guān)技術(shù)進(jìn)行圖像壓縮,提出了各種不同算法,主要有以下幾類:一、譜圖小波變換法[2],該方法主要過程是先分解圖求得譜圖小波系數(shù),再量化小波系數(shù),最后壓縮編碼,用以提高重建圖像的峰值信噪比。二、嵌入式零樹小波及改進(jìn)算法[3-4] ,這類圖像壓縮算法一定程度上降低了由大量零樹根引起的算法復(fù)雜度,獲得了較高的壓縮比。三、小波變換與分形結(jié)合法[5-6] ,該類算法引入了分形特征,保留低頻區(qū)域圖像,只對(duì)高頻區(qū)域圖像進(jìn)行分形編碼,在圖像質(zhì)量可接受范圍內(nèi)縮短了圖像壓縮時(shí)間。四、基于人類視覺系統(tǒng)壓縮法[7-8] ,該類算法在量化處理小波系數(shù)上引進(jìn)了人類視覺系統(tǒng)特性,通過這一系統(tǒng)特性比較圖像分解后的效果。
3 圖像壓縮算法的設(shè)計(jì)方案
讀入一副真彩圖像,首先對(duì)原始圖像做灰度處理,相較于圖像的低頻來說,人類對(duì)圖像的高頻敏感度更低,所以提出先將圖像小波分解為高頻部分和低頻部分,然后對(duì)高頻部分進(jìn)行基于神經(jīng)網(wǎng)絡(luò)的量化編碼。最后,對(duì)處理后的高頻部分和原來的低頻部分進(jìn)行重構(gòu),以達(dá)到圖像壓縮的目的。圖像壓縮算法整體設(shè)計(jì)流程圖如1所示。
4 圖像壓縮算法的具體功能模塊設(shè)計(jì)
4.1 圖像讀入模塊和圖像灰度處理模塊
在實(shí)際應(yīng)用中,所要處理的圖像是未知的,設(shè)計(jì)圖像讀入模塊是為了選擇需要壓縮的圖像并將其顯示出來。由于小波函數(shù)不可以直接對(duì)真彩圖像處理,所以需要將原始圖像轉(zhuǎn)變成灰度圖像,得到的灰度圖像作為壓縮處理的輸入。
4.2 圖像小波分解模塊
小波分解的過程是:按照從水平、垂直兩個(gè)方向?yàn)V波的方式對(duì)二維圖像信號(hào)進(jìn)行二維小波多分辨率分解。將原始圖像信號(hào)一級(jí)小波分解成四個(gè)子帶,分別是:表示圖像低頻部分的LL子帶;表示水平低通-垂直高通的LH子帶,用于描述在垂直方向上圖像的高頻細(xì)節(jié);表示水平高通-垂直低通的HL子帶,用于描述在水平方向上圖像的高頻細(xì)節(jié);表示在水平、垂直兩個(gè)方向高通的HH子帶,用于描述在對(duì)角線方向上圖像的高頻細(xì)節(jié)。為了達(dá)到多分辨率分解的目的,低頻子帶可以按照上述劃分方式繼續(xù)分解,每經(jīng)歷一級(jí)分解,處于當(dāng)前狀態(tài)的一個(gè)子帶將被劃分成新的四個(gè)子帶,依此類推。
圖像經(jīng)過小波分解成為特性互不相同的子帶,因此依據(jù)分辨率等級(jí)和各方向上子帶圖像的特征,在小波變換系數(shù)上合理的采用基于神經(jīng)網(wǎng)絡(luò)量化編碼方法。小波多分辨率分解的特點(diǎn)可以反映出原始圖像信號(hào)存在結(jié)構(gòu)上的冗余,但由于小波分解的頻率、方向特性與人的主觀視覺特性吻合,所以可以通過神經(jīng)網(wǎng)絡(luò)量化編碼利用主觀視覺特性,在圖像失真度容許的范圍內(nèi)完成效果更佳的圖像壓縮。
4.3 基于神經(jīng)網(wǎng)絡(luò)量化編碼模塊
圖像完成小波分解后,對(duì)其高頻部分進(jìn)行基于神經(jīng)網(wǎng)絡(luò)的量化編碼。量化過程中主要由碼書設(shè)計(jì)和碼書搜索組成,在要求的精度下輸入空間被劃分成彼此不相交的區(qū)域,一個(gè)量化矢量表示一個(gè)區(qū)域,所有的量化矢量就形成了碼書M,這被稱作碼書設(shè)計(jì)。首先分析編碼過程,對(duì)于多維輸入模式N具體屬于哪個(gè)區(qū)域,則是根據(jù)模式N與碼矢的最小距離進(jìn)行判斷,這時(shí)就需要開展碼書搜索,最后存儲(chǔ)及傳輸對(duì)應(yīng)的碼矢的地址指針。而解碼過程是:在接收端也有一本和M一樣的碼書,接收到碼矢地址指針后進(jìn)行碼書尋址,找到對(duì)應(yīng)的碼矢,該碼矢被當(dāng)成恢復(fù)信號(hào),這個(gè)碼書尋址過程也屬于碼書搜索。碼書設(shè)計(jì)使用了聚類分析,而碼書搜索使用的是模式識(shí)別。神經(jīng)網(wǎng)絡(luò)主要用于碼書設(shè)計(jì),從而實(shí)現(xiàn)數(shù)據(jù)壓縮。
4.4 圖像重構(gòu)模塊
壓縮結(jié)束后,需要將高頻部分和低頻部分進(jìn)行重構(gòu),重構(gòu)過程基本相當(dāng)于小波分解的逆過程,最后在可視化界面上顯示出來。
5 實(shí)驗(yàn)驗(yàn)證
MATLAB是以矩陣為基礎(chǔ),并且含有專門的矩陣庫函數(shù),有助于高效求解信號(hào)處理,圖像處理等問題,本文采用MATLAB自帶的小波函數(shù)對(duì)圖像壓縮算法進(jìn)行仿真實(shí)驗(yàn)。利用MATLAB可視化界面的特點(diǎn),創(chuàng)建了“輸入圖像”按鍵和“神經(jīng)網(wǎng)絡(luò)壓縮”按鍵,以及八個(gè)坐標(biāo)軸,在坐標(biāo)軸上顯示處理前后的圖像,每個(gè)坐標(biāo)分辨對(duì)應(yīng)一幅圖像。圖2是通過點(diǎn)擊“輸入圖像”按鍵選擇需要壓縮的原始圖片,將其顯示在設(shè)計(jì)的GUI界面上。
然后,再點(diǎn)擊“神經(jīng)網(wǎng)絡(luò)壓縮”按鍵,MATLAB程序運(yùn)行后,首先顯示圖像一次、二次分解的頻率信息,包含低頻部分即“近似a1”和“近似a2”,高頻部分即水平、垂直、對(duì)角各細(xì)節(jié)子圖,如圖3所示。
最后,將會(huì)顯示圖像基于神經(jīng)網(wǎng)絡(luò)量化編碼的運(yùn)行結(jié)果,如圖4所示。
6 結(jié)論
本文設(shè)計(jì)了一種基于小波分解與神經(jīng)網(wǎng)絡(luò)量化編碼結(jié)合的圖像壓縮算法,通過MATLAB軟件進(jìn)行了仿真實(shí)驗(yàn),得到了比較理想的壓縮圖像。算法主要采用了保留圖像的低頻部分,對(duì)高頻部分進(jìn)行神經(jīng)網(wǎng)絡(luò)量化編碼操作,最后,將保留的低頻部分和處理后的高頻部分重構(gòu)圖像作為壓縮結(jié)果,充分發(fā)揮了小波變換在圖像處理方面的優(yōu)勢(shì)。下一步工作將放在減少圖像壓縮時(shí)間和提高壓縮后圖像質(zhì)量等方面。
參考文獻(xiàn):
[1] 劉衍琦, 詹福宇. MATLAB圖像與視頻處理實(shí)用案例詳解[M].北京: 電子工業(yè)出版社, 2015, 158-168.
[2] 王林, 宋星. 基于譜圖小波變換的圖像壓縮編碼方法[J].計(jì)算機(jī)系統(tǒng)應(yīng)用, 2018, 27(5):176-180.
[3] 周四望, 劉龍康. 基于小波變換的圖像零樹壓縮感知方法[J].湖南大學(xué)學(xué)報(bào):自然科學(xué)版, 2017, 44(2):129-136.
[4] 汪輝進(jìn). 基于小波變換的圖像壓縮改進(jìn)算法及其性能分析[J]. 西安文理學(xué)院學(xué)報(bào):自然科學(xué)版, 2017, 20(4):30-33.
[5] 吳曉云, 趙杰. 基于小波變換與改進(jìn)分形結(jié)合的圖像壓縮算法研究[J]. 河南科學(xué), 2018, 36(3):316-319.
[6] 馬俐, 趙紅東, Hafiz Shehzad Ahmed, 等. 提升小波變換與分形結(jié)合的圖像壓縮算法[J].電視技術(shù), 2017, 41(2):11-15.
[7] 惠巧娟, 李洪安, 陸焱. 一種基于小波變換和人類視覺系統(tǒng)的圖像壓縮算法[J].電子測(cè)量與儀器學(xué)報(bào), 2016, 30(12):1838-1844.
[8] 張寶來. 小波變換在數(shù)字圖像水印技術(shù)中的應(yīng)用研究[D]. 黑龍江: 東北石油大學(xué), 2017.
[通聯(lián)編輯:唐一東]