摘 要: 介紹了JPEG圖像壓縮" title="圖像壓縮">圖像壓縮編碼技術(shù)的總體框架,,提出了一種基于JPEG的分層漸進圖像壓縮編碼" title="壓縮編碼">壓縮編碼方法,并通過實驗對該方法和傳統(tǒng)的JPEG圖像壓縮編碼方法進行了比較,。
關(guān)鍵詞: 圖像壓縮編碼技術(shù)? JPEG? 分層漸進
?
實現(xiàn)圖像的漸進壓縮編碼是目前靜止圖像壓縮編碼技術(shù)的必然要求,。JPEG是當(dāng)前應(yīng)用最為廣泛的靜止圖像壓縮編碼標(biāo)準(zhǔn),。
1 JPEG基本框架
JPEG(Joint Photographic Experts Group)是一個由國際標(biāo)準(zhǔn)組織(ISO)和國際電信電報咨詢委員會(CCITT)聯(lián)合組成的從事靜態(tài)圖像壓縮標(biāo)準(zhǔn)制定的委員會[1],它制定了第一套國際靜態(tài)圖像壓縮標(biāo)準(zhǔn):ISO 10918-1,,即JPEG,。由于JPEG優(yōu)良的品質(zhì),使得它在短短的幾年內(nèi)就獲得極大的成功,,目前網(wǎng)站上百分之八十的圖像都是采用JPEG的壓縮標(biāo)準(zhǔn),。JPEG標(biāo)準(zhǔn)的基本框架分為編碼部分和解碼部分,其基本流程分別如圖1和圖2所示,。
JPEG標(biāo)準(zhǔn)定義了四種編碼方式[2]:順序編碼,、無損編碼、分級編碼和漸進編碼,。漸進編碼模式是JPEG標(biāo)準(zhǔn)的選項,。傳統(tǒng)的JPEG漸進編碼模式的基本原理是[3]:將高頻DCT系數(shù)塊寫入壓縮碼流(掃描),解碼讀取和處理每個掃描得到的圖像的輪廓,,即利用前面的掃描快速產(chǎn)生一幅模糊的低質(zhì)量圖像預(yù)覽,,然后根據(jù)需要再決定是繼續(xù)掃描還是停止。這種模式的特點是可以根據(jù)壓縮圖像的質(zhì)量隨時中止壓縮和傳送,,可以提高圖像的壓縮和傳輸效率,。傳統(tǒng)的JPEG漸進編碼模式比較適合中高碼率的圖像壓縮和傳送,但是在中低碼率" title="低碼率">低碼率的情況下,,不適合圖像的壓縮效率和圖像壓縮質(zhì)量的需求,,特別是在0.25bpp碼率以下時,圖像質(zhì)量將出現(xiàn)嚴(yán)重失真[4],。這是由于在中低碼率下,,JPEG采用的DCT變換方法的細節(jié)分辨能力減弱,使得數(shù)據(jù)之間還存在比較多的冗余,,成為JPEG漸進編碼模式發(fā)展的一個重大瓶頸,。本文針對傳統(tǒng)的JPEG漸進編碼模式的問題,在保留JPEG框架的基礎(chǔ)上,,提出了一種新的,、適合于中低碼率的靜止圖像編碼方法——分層漸進圖像壓縮編碼方法MPCC(Multilayer & Progressive Compression & Coding Method For Still Image),。
2 MPCC的設(shè)計與實驗
2.1 MPCC方法的總體設(shè)計
MPCC方法仍然采用了JPEG的基本流程模型,其總體設(shè)計框架如圖3所示,。
從圖3可以看出,,MPCC方法總體設(shè)計流程是:(1)對經(jīng)過顏色轉(zhuǎn)換和采樣的原始圖像進行MDCT變換,得到具有層次結(jié)構(gòu)的MDCT系數(shù),。(2)根據(jù)MDCT系數(shù)的空間層次等特點進行SPIHT編碼,,逐步得到包含圖像信息的壓縮碼流。(3)對壓縮碼流進行熵編碼" title="熵編碼">熵編碼(行程編碼),,得到最終的壓縮碼流,,再進行傳送。同時,,在解碼端同步進行解碼(步驟與編碼端相反),,根據(jù)圖像的質(zhì)量隨時可以中止圖像的傳送。下面將詳細論述MPCC設(shè)計流程的主要步驟,。
2.1.1 MDCT變換
為了能夠減少圖像數(shù)據(jù)的冗余性,,以達到有效壓縮圖像的目的,先要對圖像數(shù)據(jù)進行空間-頻率的轉(zhuǎn)換,。傳統(tǒng)的JPEG漸進模式采用的是DCT變換[5-6],,其變換公式如下:
考慮到在后續(xù)SPIHT編碼中的嵌入式編碼的特點以及進一步增強圖像的細節(jié)分辨能力和減少圖像數(shù)據(jù)之間的冗余性,本文采用了以下的改進變換方法,,即多層MDCT(Multilayer-DCT)變換,,如圖4所示。
(1)對輸入M×N大小的原始圖像的數(shù)據(jù)進行第一次DCT變換,。經(jīng)過第一次DCT變換后,,原始圖像的數(shù)據(jù)被分解成四個子帶域:LL1、LH1,、HL1,、HH1。其中,,LL1域是圖像的低頻系數(shù),,圖像的能量主要集中在這一部分;LH1,、HL1,、HH1域是圖像的高頻系數(shù),分別表示圖像的水平,、垂直和對角線部分的能量。每個子帶域經(jīng)過DCT逆變" title="逆變">逆變換后都可以還原成一幅完整的圖像,,但是反映了原始圖像的不同細節(jié)信息,。
(2)取LL1域做DCT逆變換,,還原成原始圖像數(shù)據(jù),然后再對其進行第二次DCT變換,。經(jīng)過第二次DCT變換后,,LL1同樣被分解成四個子帶域:LL2、LH2,、HL2,、HH2。每個子帶域經(jīng)過DCT逆變換后也都是一幅完整的圖像,。
(3)取LL2域做DCT逆變換,,同樣也還原成原始圖像的數(shù)據(jù),然后對其進行第三次DCT變換,。經(jīng)過第三次DCT變換后,,LL2同樣被分解成四個子帶域:LL3、LH3,、HL3,、HH3。每個子帶域經(jīng)過DCT逆變換后也都是一幅完整的圖像,。
通過上述MDCT變換得到的圖像系數(shù),,具有了這樣的特征:較低層子帶對應(yīng)較高的圖像頻率分量;較高層子帶對應(yīng)較低的圖像頻率分量,,并集中了圖像的大部分能量,。從數(shù)據(jù)的數(shù)值來看,從高層往低層移動時,,能夠預(yù)料到細節(jié)系數(shù)會顯著變小,。
2.1.2 SPIHT編碼算法
分層樹中的集分割SPIHT(Set Partioning In Hierarchical Trees)編碼算法[7],首先是和小波變換相結(jié)合的,,非常適合具有空間層次相似性的變換方法,。SPIHT的重要特點就是在解碼的任意時刻,所顯示的圖像質(zhì)量都是當(dāng)時解碼器輸入位數(shù)所能得到的最佳圖像,。
SPIHT的基本思想是:假設(shè)原始圖像P的像素為Pi,,j,其經(jīng)過某種適當(dāng)變換T后的系數(shù)為Ci,,j,,變換后的圖像為C。該步驟可表示為:C=T(P),。在漸進傳輸方法中,,解碼器首先將重建圖像C′設(shè)置為零,然后輸入并解碼接收到的經(jīng)過變換的系數(shù),,生成改進的重建圖像C′,,再用C′生成更好質(zhì)量的圖像P′,。該步驟可以表示為:P′=T-1(C′)。
空間方向樹是SPIHT中使用的一個數(shù)據(jù)結(jié)構(gòu),,它類似于子帶金字塔結(jié)構(gòu),。圖4是一個32×32的系數(shù)方塊。在最高層的LL3中有16個系數(shù),,被分成4個2×2的小組,,每個小組中除了第一個系數(shù)外,其他3個系數(shù)都在其他層有子孫對應(yīng),。例如:圖4 LL3中第2號系數(shù),,在HL3中有2×2=4個子孫,對應(yīng)在HL2中有4×4=16個子孫,,在HL1中則對應(yīng)有16×16=256個子孫,。假設(shè)2號系數(shù)坐標(biāo)為(i,j),則直接子孫的坐標(biāo)對應(yīng)為(2i,,2j),、(2i,2j+1),、(2i+1,,2j)、(2i+1,,2j+1),,下層子孫依次類推。由此對應(yīng)產(chǎn)生了一棵以(i,,j)為根,,以其他層對應(yīng)系數(shù)為子孫的樹。將系數(shù)(i,,j)對應(yīng)的所有子孫的坐標(biāo)集合定義為D(i,,j),即D類樹,。將系數(shù)(i,,j)對應(yīng)的所有孫子(不包含4個子系數(shù))的坐標(biāo)集合定義為L(i,j),,即L類樹,。限于篇幅,SPIHT編碼詳細算法在后面一并介紹,,并可以參見參考文獻[6],。
2.2 MPCC方法的編碼器設(shè)計
MPCC方法的編碼器的基本流程見圖3,其具體算法流程如下:
(1)對經(jīng)過顏色轉(zhuǎn)換和采樣的原始圖像P進行MDCT變換,得到具有層次結(jié)構(gòu)的MDCT系數(shù),。根據(jù)需要,,MPCC可以是對整幅圖P進行MDCT變換,也可以是先劃分為一個32×32的圖像塊B,,之后再進行MDCT變換。本文采用后一種方式,。經(jīng)過MDCT變換后的系數(shù)見圖4,。
(2)依次對32×32分塊進行SPIHT編碼。
?、僭O(shè)定初始閾值為2n,,并傳輸n到解碼端。令:LIP為所有根節(jié)點系數(shù)(3/4個LL3中的系數(shù)),,LIS為所有樹,,LSP為空集合(用坐標(biāo)代替各系數(shù))。
?、趯τ贚L3中的另外1/4個系數(shù),,判定是否顯著,如果顯著,,則輸出1和該系數(shù)的符號位,;否則輸出0。
?、叟判蜻^程:檢測LIP中的系數(shù)是否顯著,。如果顯著,則輸出1和該系數(shù)的符號位,,并將系數(shù)移入LSP中,;否則輸出0。
?、芨鶕?jù)樹的類型檢測LIS中所有樹是否顯著,。
(a)對于D類樹:如果不顯著,就輸出0,;如果顯著,,就輸出1,并編碼它的子節(jié)點,。如果子節(jié)點顯著,,就輸出1和符號位,并移入LSP中,;如果不顯著,,就輸出0,并將其加到LIP的末尾。如果子節(jié)點有子孫,,就將樹作為L類移入LIS中,;否則從LIS中移出。
(b)對于L類樹:如果不顯著,,就輸出0,;如果顯著,就輸出1,,并將每個子節(jié)點作為D類的一項加到LIS末尾,,從LIS中移去父樹。
?、蒽鼐幋a:考慮到輸出的位流具有的分布特點,,可以對其進行熵編碼(行程編碼)后,再傳輸給解碼器,。
?、扪h(huán):閾值減半,即n減1,,如果需要則循環(huán)上述步驟,;如果收到解碼端中止傳輸?shù)男盘枺瑒t停止循環(huán),,結(jié)束編碼,。
2.3 MPCC方法的解碼器設(shè)計
MPCC方法的解碼器與編碼器的設(shè)計時必須考慮同步工作的問題,這是SPIHT編碼的關(guān)鍵,,其基本流程可參見圖3,,具體算法流程如下:
(1)接收編碼器傳送的n,并確定2n為閾值,。采用和編碼器一樣的方法初始化:令LIP為所有根節(jié)點系數(shù)(3/4個LL3中的系數(shù)),,LIS為所有樹,LSP為空集合(同樣用坐標(biāo)代替各系數(shù)),。
(2)依次接收編碼器傳送的各分塊的有效信息,。
①對接收的一個分塊的信息流進行熵編碼(解碼),,得到還原的一次迭代的信息,。②根據(jù)信息組織進行編碼器同樣的變化(步驟同編碼器的第2步)。③根據(jù)LSP中的坐標(biāo)進行系數(shù)第n位的重建,。注意:隨著n的減小,,重建的位數(shù)也在減小,但前幾次的位數(shù)都保留下來了,。由此才能夠?qū)崿F(xiàn)漸進的圖像傳輸,。④根據(jù)圖像還原的質(zhì)量,,決定中止編碼器繼續(xù)編碼還是繼續(xù)接受編碼信息。本文采用均方差(MSE)失真(公式2)來判定圖像質(zhì)量,。
2.4 MPCC方法的實驗結(jié)論
按照上面所述的MPCC方法,,在matlab環(huán)境下對MPCC方法和傳統(tǒng)的JPEG漸進模式進行了對比仿真實驗。實驗結(jié)果如下:
在0.25bpp的低碼率下,,兩者的實驗結(jié)果如圖5所示,。在低碼率下,傳統(tǒng)的JPEG漸進模式“方塊”效應(yīng)十分明顯,,但圖像效果幾乎不可以接受,;而MPCC方法“方塊”效應(yīng)不明顯,但圖像質(zhì)量卻明顯優(yōu)于傳統(tǒng)的JPEG漸進模式,。
MPCC方法的漸進仿真實驗結(jié)果如圖6所示。漸進效果明顯,,非常適合網(wǎng)絡(luò)上圖像的傳輸,。
最后用著名的512×512×8的灰度圖Lena作為原始圖像進行峰值壓縮比(PSNR)的比較,實驗結(jié)果參考值如表1所示,。由表1可知,,MPCC也優(yōu)于傳統(tǒng)的JPEG漸進模式。
?
表1 實驗結(jié)果參考值
碼率(bpp) | MPCC(dB) | 傳統(tǒng)的JPEG漸進模式(dB) |
0.25 | 31.9 | 31.6 |
0.75 |
37.4 |
36.5 |
1.00 | 39.7 | 37.9 |
MPCC是為了適應(yīng)網(wǎng)絡(luò)圖像漸進傳輸而提出的一種綜合了MDCT,、SPIHT和熵編碼等多項技術(shù)的新的編碼方法,,它依然采用了廣泛應(yīng)用的JPEG框架。從實驗結(jié)果來看,,MPCC方法在中低碼率時,,圖像的壓縮效果明顯優(yōu)于傳統(tǒng)的JPEG漸進模式。在超低碼率時(一般指0.25bpp以下),,MPCC的圖像壓縮效果遜于基于小波變換的JPEG2000(該標(biāo)準(zhǔn)正在完善之中,,尚未廣泛應(yīng)用);但是在中低碼率時,,在圖像質(zhì)量接近的情況下,,MPCC的圖像壓縮速度卻優(yōu)于JPEG2000。
參考文獻
[1] 吳樂南,,徐孟俠.數(shù)據(jù)壓縮[M].北京:電子工業(yè)出版社,,2000
[2] 精英科技.視頻壓縮與音頻壓縮編碼技術(shù)[M].北京:中國電力出版社,2001
[3] SALOMON D.Data compression-the complete reference,,second edition[M].New York:Springer-Verlag Inc.,,2000.
[4] 丁貴廣.新一代靜止圖像壓縮編碼標(biāo)準(zhǔn):JPEG2000概述[EB/OL].http://xllw.cn/n175c13.aspx,2006.
[5] PENNEBAKER W B,,MITCHELL J L.JPEG still image data compression standard[S].New York:Van Nostrand,,1992.IEEE Trans.Circuits Syst.Video Technol.1995,,6(8).
[6] Rao K R,Yip P.Discrete cosine transform-algorithms,,advantages,,application[M].London:Academic Press,1999.
[7] Siad A,,Pearlman W A.A new fast and efficient image codec based on set partioning in hierarchical trees[J].IEEE Trans-actions on Circuits and Systems for Video Technology,,1996,6(6).
[8] 何斌,,馬天予,,王運堅,等.數(shù)字圖像處理[M].北京:人民 郵電出版社,,2001.(收稿日期:2006-12-20)