摘 要: 介紹了JPEG圖像壓縮" title="圖像壓縮">圖像壓縮編碼技術(shù)的總體框架,,提出了一種基于JPEG的分層漸進(jìn)圖像壓縮編碼" title="壓縮編碼">壓縮編碼方法,并通過實驗對該方法和傳統(tǒng)的JPEG圖像壓縮編碼方法進(jìn)行了比較,。
關(guān)鍵詞: 圖像壓縮編碼技術(shù)? JPEG? 分層漸進(jìn)
?
實現(xiàn)圖像的漸進(jì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]:順序編碼、無損編碼,、分級編碼和漸進(jìn)編碼,。漸進(jìn)編碼模式是JPEG標(biāo)準(zhǔn)的選項。傳統(tǒng)的JPEG漸進(jìn)編碼模式的基本原理是[3]:將高頻DCT系數(shù)塊寫入壓縮碼流(掃描),,解碼讀取和處理每個掃描得到的圖像的輪廓,,即利用前面的掃描快速產(chǎn)生一幅模糊的低質(zhì)量圖像預(yù)覽,然后根據(jù)需要再決定是繼續(xù)掃描還是停止,。這種模式的特點是可以根據(jù)壓縮圖像的質(zhì)量隨時中止壓縮和傳送,,可以提高圖像的壓縮和傳輸效率。傳統(tǒng)的JPEG漸進(jìn)編碼模式比較適合中高碼率的圖像壓縮和傳送,,但是在中低碼率" title="低碼率">低碼率的情況下,,不適合圖像的壓縮效率和圖像壓縮質(zhì)量的需求,特別是在0.25bpp碼率以下時,,圖像質(zhì)量將出現(xiàn)嚴(yán)重失真[4],。這是由于在中低碼率下,JPEG采用的DCT變換方法的細(xì)節(jié)分辨能力減弱,,使得數(shù)據(jù)之間還存在比較多的冗余,,成為JPEG漸進(jìn)編碼模式發(fā)展的一個重大瓶頸,。本文針對傳統(tǒng)的JPEG漸進(jìn)編碼模式的問題,在保留JPEG框架的基礎(chǔ)上,,提出了一種新的,、適合于中低碼率的靜止圖像編碼方法——分層漸進(jìn)圖像壓縮編碼方法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)換和采樣的原始圖像進(jìn)行MDCT變換,,得到具有層次結(jié)構(gòu)的MDCT系數(shù),。(2)根據(jù)MDCT系數(shù)的空間層次等特點進(jìn)行SPIHT編碼,逐步得到包含圖像信息的壓縮碼流,。(3)對壓縮碼流進(jìn)行熵編碼" title="熵編碼">熵編碼(行程編碼),,得到最終的壓縮碼流,再進(jìn)行傳送,。同時,,在解碼端同步進(jìn)行解碼(步驟與編碼端相反),根據(jù)圖像的質(zhì)量隨時可以中止圖像的傳送,。下面將詳細(xì)論述MPCC設(shè)計流程的主要步驟,。
2.1.1 MDCT變換
為了能夠減少圖像數(shù)據(jù)的冗余性,以達(dá)到有效壓縮圖像的目的,,先要對圖像數(shù)據(jù)進(jìn)行空間-頻率的轉(zhuǎn)換,。傳統(tǒng)的JPEG漸進(jìn)模式采用的是DCT變換[5-6],其變換公式如下:
考慮到在后續(xù)SPIHT編碼中的嵌入式編碼的特點以及進(jìn)一步增強圖像的細(xì)節(jié)分辨能力和減少圖像數(shù)據(jù)之間的冗余性,,本文采用了以下的改進(jìn)變換方法,,即多層MDCT(Multilayer-DCT)變換,如圖4所示,。
(1)對輸入M×N大小的原始圖像的數(shù)據(jù)進(jìn)行第一次DCT變換,。經(jīng)過第一次DCT變換后,原始圖像的數(shù)據(jù)被分解成四個子帶域:LL1,、LH1、HL1,、HH1,。其中,LL1域是圖像的低頻系數(shù),,圖像的能量主要集中在這一部分,;LH1、HL1,、HH1域是圖像的高頻系數(shù),,分別表示圖像的水平,、垂直和對角線部分的能量。每個子帶域經(jīng)過DCT逆變" title="逆變">逆變換后都可以還原成一幅完整的圖像,,但是反映了原始圖像的不同細(xì)節(jié)信息,。
(2)取LL1域做DCT逆變換,還原成原始圖像數(shù)據(jù),,然后再對其進(jìn)行第二次DCT變換,。經(jīng)過第二次DCT變換后,LL1同樣被分解成四個子帶域:LL2,、LH2,、HL2、HH2,。每個子帶域經(jīng)過DCT逆變換后也都是一幅完整的圖像,。
(3)取LL2域做DCT逆變換,同樣也還原成原始圖像的數(shù)據(jù),,然后對其進(jìn)行第三次DCT變換,。經(jīng)過第三次DCT變換后,LL2同樣被分解成四個子帶域:LL3,、LH3,、HL3、HH3,。每個子帶域經(jīng)過DCT逆變換后也都是一幅完整的圖像,。
通過上述MDCT變換得到的圖像系數(shù),具有了這樣的特征:較低層子帶對應(yīng)較高的圖像頻率分量,;較高層子帶對應(yīng)較低的圖像頻率分量,,并集中了圖像的大部分能量。從數(shù)據(jù)的數(shù)值來看,,從高層往低層移動時,,能夠預(yù)料到細(xì)節(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),。在漸進(jìn)傳輸方法中,,解碼器首先將重建圖像C′設(shè)置為零,然后輸入并解碼接收到的經(jīng)過變換的系數(shù),,生成改進(jìn)的重建圖像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編碼詳細(xì)算法在后面一并介紹,,并可以參見參考文獻(xiàn)[6]。
2.2 MPCC方法的編碼器設(shè)計
MPCC方法的編碼器的基本流程見圖3,,其具體算法流程如下:
(1)對經(jīng)過顏色轉(zhuǎn)換和采樣的原始圖像P進(jìn)行MDCT變換,,得到具有層次結(jié)構(gòu)的MDCT系數(shù)。根據(jù)需要,,MPCC可以是對整幅圖P進(jìn)行MDCT變換,,也可以是先劃分為一個32×32的圖像塊B,之后再進(jìn)行MDCT變換,。本文采用后一種方式,。經(jīng)過MDCT變換后的系數(shù)見圖4。
(2)依次對32×32分塊進(jìn)行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:考慮到輸出的位流具有的分布特點,可以對其進(jìn)行熵編碼(行程編碼)后,,再傳輸給解碼器,。
⑥循環(huán):閾值減半,,即n減1,,如果需要則循環(huán)上述步驟;如果收到解碼端中止傳輸?shù)男盘?,則停止循環(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ìn)行熵編碼(解碼),,得到還原的一次迭代的信息。②根據(jù)信息組織進(jìn)行編碼器同樣的變化(步驟同編碼器的第2步),。③根據(jù)LSP中的坐標(biāo)進(jìn)行系數(shù)第n位的重建,。注意:隨著n的減小,,重建的位數(shù)也在減小,但前幾次的位數(shù)都保留下來了,。由此才能夠?qū)崿F(xiàn)漸進(jìn)的圖像傳輸,。④根據(jù)圖像還原的質(zhì)量,決定中止編碼器繼續(xù)編碼還是繼續(xù)接受編碼信息,。本文采用均方差(MSE)失真(公式2)來判定圖像質(zhì)量。
2.4 MPCC方法的實驗結(jié)論
按照上面所述的MPCC方法,,在matlab環(huán)境下對MPCC方法和傳統(tǒng)的JPEG漸進(jìn)模式進(jìn)行了對比仿真實驗,。實驗結(jié)果如下:
在0.25bpp的低碼率下,兩者的實驗結(jié)果如圖5所示,。在低碼率下,,傳統(tǒng)的JPEG漸進(jìn)模式“方塊”效應(yīng)十分明顯,但圖像效果幾乎不可以接受,;而MPCC方法“方塊”效應(yīng)不明顯,,但圖像質(zhì)量卻明顯優(yōu)于傳統(tǒng)的JPEG漸進(jìn)模式。
MPCC方法的漸進(jìn)仿真實驗結(jié)果如圖6所示,。漸進(jìn)效果明顯,,非常適合網(wǎng)絡(luò)上圖像的傳輸。
最后用著名的512×512×8的灰度圖Lena作為原始圖像進(jìn)行峰值壓縮比(PSNR)的比較,,實驗結(jié)果參考值如表1所示,。由表1可知,MPCC也優(yōu)于傳統(tǒng)的JPEG漸進(jìn)模式,。
?
表1 實驗結(jié)果參考值
碼率(bpp) | MPCC(dB) | 傳統(tǒng)的JPEG漸進(jìn)模式(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ò)圖像漸進(jìn)傳輸而提出的一種綜合了MDCT,、SPIHT和熵編碼等多項技術(shù)的新的編碼方法,它依然采用了廣泛應(yīng)用的JPEG框架,。從實驗結(jié)果來看,,MPCC方法在中低碼率時,圖像的壓縮效果明顯優(yōu)于傳統(tǒng)的JPEG漸進(jìn)模式,。在超低碼率時(一般指0.25bpp以下),,MPCC的圖像壓縮效果遜于基于小波變換的JPEG2000(該標(biāo)準(zhǔn)正在完善之中,尚未廣泛應(yīng)用),;但是在中低碼率時,,在圖像質(zhì)量接近的情況下,MPCC的圖像壓縮速度卻優(yōu)于JPEG2000,。
參考文獻(xiàn)
[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)