袁建亮,朱遠(yuǎn)平
(天津師范大學(xué)計(jì)算機(jī)與信息工程學(xué)院,天津300387)
在實(shí)際應(yīng)用中,觀察者往往只對(duì)圖像的某一部分感興趣,如圖片中的文字區(qū)域、醫(yī)學(xué)圖像中的病理部位、遙感圖像中的目標(biāo)物體以及交通圖像中的汽車牌照等,這些區(qū)域統(tǒng)稱為感興趣區(qū)域(regions of interest,ROI),而感興趣以外的區(qū)域稱為背景區(qū)域(background,BG).感興趣區(qū)域壓縮重構(gòu)質(zhì)量的高低直接決定了對(duì)重構(gòu)圖像的整體評(píng)價(jià).而JPEG2000是基于離散小波變換(discrete wavelet transform,DWT)的最新靜態(tài)圖像壓縮標(biāo)準(zhǔn)[1],它支持對(duì)ROI編碼.ROI壓縮編碼技術(shù)對(duì)圖像中的ROI進(jìn)行無(wú)損壓縮或近似無(wú)損壓縮(不影響視覺(jué)觀察),對(duì)BG進(jìn)行有損壓縮,既可以滿足人們對(duì)圖像的質(zhì)量要求,又可以降低圖像傳輸時(shí)間和節(jié)約存儲(chǔ)空間.圖像壓縮研究的主要方向有壓縮編碼結(jié)合人眼生理和心理視覺(jué)特性、基于分形幾何的分形編碼壓縮、基于模型的編碼技術(shù)、小波編碼以及基于人工神經(jīng)網(wǎng)絡(luò)的編碼等[2].目前關(guān)于圖像ROI提取的研究主要有2種方法:(1)利用圖像分割技術(shù)提取ROI;(2)從人眼視覺(jué)特性出發(fā),通過(guò)模擬人眼視覺(jué)特點(diǎn),尋找特定的視覺(jué)敏感區(qū)域,并將這些視覺(jué)敏感區(qū)域排序作為ROI.根據(jù)人眼的視覺(jué)特性,Claudio[3]提出提取局部極大值的6種圖像處理算法.對(duì)ROI進(jìn)行編碼的研究也非常多,最基本的是對(duì)圖像ROI采用(5/3)小波變換,對(duì)BG部分采用(9/7)小波變換的方法[4].近年來(lái),針對(duì)ROI部分系數(shù)改進(jìn)方法的研究成果較多.如Liu等提出的PSBshift[5]和MSBshift[6]就是利用JPEG2000標(biāo)準(zhǔn)中規(guī)定的2種ROI編碼方法的優(yōu)點(diǎn),對(duì)ROI系數(shù)進(jìn)行提升.還有一些針對(duì)ROI在不同領(lǐng)域應(yīng)用的研究,將ROI編碼用于圖像檢索[7]、身份證圖像的壓縮[8]以及圖像車牌識(shí)別系統(tǒng)的圖像存儲(chǔ)系統(tǒng)[9]等,但這些研究只單純地將ROI編碼思想與實(shí)際應(yīng)用相結(jié)合,沒(méi)有對(duì)算法本身進(jìn)行改進(jìn).本研究首先對(duì)JPEG2000壓縮編碼原理進(jìn)行系統(tǒng)分析,然后用改進(jìn)的EBCOT方法實(shí)現(xiàn)了基于JPEG2000的ROI有損壓縮編碼,最后采用混合編程進(jìn)行算法仿真.
JPEG2000壓縮過(guò)程主要包括圖像預(yù)處理、小波變換、量化和熵編碼4部分,首先對(duì)原始圖像進(jìn)行預(yù)處理,然后進(jìn)行小波變換得到小波系數(shù),再對(duì)小波系數(shù)進(jìn)行量化和熵編碼.在解碼端,采用相反過(guò)程來(lái)重構(gòu)圖像.圖1和圖2分別為JPEG2000圖像編碼的編解碼流程[10-11].
圖2 基于DWT的JPEG2000解碼器流程Fig.2 Flowchart of JPEG2000decoder based on DWT
JPEG2000圖像編碼的具體流程為:
(1)DC電位平移.將原始圖像進(jìn)行區(qū)域劃分,劃分為互不重疊的區(qū)域稱為片,將片中數(shù)據(jù)進(jìn)行DC系數(shù)平移,將無(wú)符號(hào)數(shù)據(jù)轉(zhuǎn)換為有符號(hào)數(shù).
(2)分量變換.對(duì)具有多個(gè)分量的圖像先通過(guò)某種變換降低幾個(gè)分量之間的相關(guān)性,提高壓縮效率.目前JPEG2000主要是對(duì)RGB分量采用ICT(irreversible color transform)或 RCT(reversible color transform)將色彩信息轉(zhuǎn)換為頻道信息,解壓縮時(shí)進(jìn)行相應(yīng)的逆變換恢復(fù)原分量的值.
ICT的定義為
式(1)中:Y為亮度分量;Ch為藍(lán)色色度分量;Cr為紅色色度分量.
RCT的定義為
式(2)中:Y為亮度分量;U和V均為色度分量.
(3)小波變換.不同于離散余弦變換(discrete cosine transform,DCT),小波變換具有對(duì)信號(hào)進(jìn)行多分辨率分析(multi-resolution analysis,MRA)和反映信號(hào)局部特征的優(yōu)點(diǎn).通過(guò)“變尺度”和“平移”運(yùn)算,小波變換在空間域和頻域上為圖像提供大小可變的滑動(dòng)窗口,在不同的尺度上對(duì)圖像進(jìn)行分析,獲取圖像在不同空間域和頻域上的局部特征.對(duì)圖像信號(hào)進(jìn)行多級(jí)小波變換,可得到不同空間分辨率的圖像逼近,使得壓縮碼流具有空間分辨率可分級(jí)的特性.這一特點(diǎn)允許壓縮碼流在不同的分辨率解碼器上解碼顯示[12].
JPEG2000采用的小波算法為小波提升算法,利用5/3或9/7濾波器組對(duì)分塊的圖像進(jìn)行提升運(yùn)算,前者可用于有損或無(wú)損圖像壓縮;后者只能用于有損圖像壓縮,其基本思想是將每一級(jí)濾波運(yùn)算分解為分裂、預(yù)測(cè)和更新3個(gè)過(guò)程.二維Mallat算法采用了可分離的濾波器設(shè)計(jì),相當(dāng)于分別對(duì)圖像數(shù)據(jù)的行和列作一維小波變換,對(duì)圖像(m×n)進(jìn)行1次離散小波變換分解(式(3)~式(6))得到 4個(gè)子頻帶 a(LL)、v(LH)、h(HL)和 d(HH),其中 a(LL)表示圖像中的低頻信息,v(LH)表示垂直方向上的高頻信息,h(HL)表示水平方向上的高頻信息,d(HH)表示對(duì)角線方向上的高頻信息,N層小波分解就是不斷地對(duì)低頻信息a(LL)進(jìn)行分解的過(guò)程.3層離散小波變換的頻率分布情況如圖3所示.
式(3)~式(6)中:a1代表低頻信息;h1代表水平方向上的高頻信息;v1代表垂直方向上的高頻信息;d1代表對(duì)角線上的高頻信息.
圖3 3層離散小波變換的頻率分布情況Fig.3 Frequency distribution of 3-layer DWT
(4)量化.經(jīng)過(guò)N級(jí)小波變換,得到(3N+1)個(gè)子帶.由于每個(gè)子帶的小波系數(shù)反映了圖像在不同頻域的特征,具有不同的統(tǒng)計(jì)和視覺(jué)特性,因此對(duì)每個(gè)子帶采用不同的量化步長(zhǎng)進(jìn)行量化.量化后的小波系數(shù)用符號(hào)和幅度值來(lái)表示.
(5)熵編碼.熵編碼在JPEG2000里實(shí)現(xiàn)的是優(yōu)化截?cái)嗟那度胧綁K編碼算法(embeded block coder with optimized truncation,EBCOT).該算法采用2層編碼結(jié)構(gòu),tile1編碼分為位平面編碼和基于上下文的算術(shù)編碼2部分,tile2編碼是分層、打包和形成碼流的過(guò)程.這層編碼完成了JPEG2000標(biāo)準(zhǔn)具有的許多優(yōu)良性能,如壓縮質(zhì)量和分辨率可分級(jí)性.分層裝配的目的是按率失真最優(yōu)的原則,選取合適的截?cái)帱c(diǎn)截?cái)嗝恳环謮K的壓縮碼流,裝配成具有分辨率可伸縮性(RLCP)或質(zhì)量可伸縮性(LRCP)的滿足預(yù)定編碼長(zhǎng)度的最終碼流[13],如圖4所示.
圖4 熵編碼形成的碼流結(jié)構(gòu)Fig.4 Code-stream structure formed by entropy coding
在實(shí)際的處理過(guò)程中,要實(shí)現(xiàn)ROI以高于BG的質(zhì)量和優(yōu)先級(jí)編解碼,就要通過(guò)提升ROI對(duì)應(yīng)的小波系數(shù)或降低BG對(duì)應(yīng)的小波系數(shù)來(lái)實(shí)現(xiàn).實(shí)現(xiàn)ROI編碼就是在圖像編碼的基礎(chǔ)上增加ROI區(qū)域的確定過(guò)程、ROI模板生成過(guò)程、小波系數(shù)調(diào)整和ROI形狀及位置信息的編解碼過(guò)程以及由此引起對(duì)原算法的相應(yīng)調(diào)整過(guò)程.
最大偏移法實(shí)現(xiàn)ROI的編碼原理如下:(1)在空間域確定ROI區(qū)域;(2)在小波域生成ROI模板;(3)判斷所有屬于BG的小波系數(shù),確定其最大值max(bg)和 S,使 S=INT[log2|max(bg)|],INT 表示取整;(4)對(duì)所有屬于ROI的系數(shù)進(jìn)行提升,即乘以2S使對(duì)于任意屬于ROI的小波系數(shù)都大于等于2S,然后對(duì)處理后的小波系數(shù)進(jìn)行編碼.在解碼端,首先解碼S值,然后解碼所有的小波系數(shù),那些大于2S的ROI系數(shù)被平移到它們最初的值[14].
Max shift法與一般方法的比較情況如圖5所示.
圖5 Max shift法與一般方法的比較Fig.5 Compression of Max shift method and general method
與一般的基于尺度方法相比,Max shift方法的優(yōu)點(diǎn)是不用編碼ROI的形狀和位置信息(因?yàn)镽OI系數(shù)被完全提升),可以對(duì)任意子帶進(jìn)行提升,實(shí)現(xiàn)任意形狀的ROI編碼.但它也有對(duì)應(yīng)的不足之處,如在解碼BG之前必須完全解碼ROI,不能隨意調(diào)節(jié)S值以獲得相對(duì)ROI不同的優(yōu)先級(jí).可以將此ROI編碼思想用于其他編碼算法以實(shí)現(xiàn)ROI編碼.
本研究采用改進(jìn)的EBCOT方法來(lái)實(shí)現(xiàn)ROI的有損壓縮編碼,算法流程如圖6所示.
圖6 基于EBCOT方法實(shí)現(xiàn)ROI有損壓的碼流程圖Fig.6 Flowchart of ROI lossy compression based on EBCOT method
算法的具體步驟為:
(1)確定縮放比例S和圖像的ROI模板,找出屬于ROI區(qū)域的小波系數(shù).
(2)將小波系數(shù)表示成比特平面,然后對(duì)最高有效的S個(gè)位平面用EBCOT算法進(jìn)行編碼.對(duì)于BG區(qū)域,始終編碼為0,并且重要性標(biāo)志一直設(shè)為0;對(duì)于ROI區(qū)域,按照正常的編碼方法進(jìn)行編碼.
(3)在前S個(gè)比特平面編碼完成后,再次從第1個(gè)比特平面開(kāi)始編碼,對(duì)前S個(gè)比特平面進(jìn)行第2次編碼.對(duì)ROI區(qū)域內(nèi)的小波系數(shù)跳過(guò)編碼,對(duì)其余小波系數(shù)采用正常的編碼方法進(jìn)行編碼.
(4)對(duì)S比特平面以下的所有小波系數(shù)(包括ROI區(qū)域和BG區(qū)域)按照EBCOT編碼方法進(jìn)行編碼.
在解碼端,由于沒(méi)有BG系數(shù)的移位,只需要按照碼流的順序進(jìn)行解碼即可.因?yàn)镽OI的編碼優(yōu)先于BG區(qū)域的編碼,所以當(dāng)碼流被截?cái)鄷r(shí),ROI的解碼質(zhì)量肯定高于BG的解碼質(zhì)量.
在有損編碼的算法中,由于刪除信息冗余度的同時(shí)也將不相干信息刪除,因此在解碼時(shí)不能精確恢復(fù)原始圖像,只能對(duì)原始圖像進(jìn)行近似重構(gòu).假設(shè)原始圖像的像素個(gè)數(shù)為m×n,灰度f(wàn)(xi,yi),i=(1,2,…,n),j=(1,2,…,m),經(jīng)過(guò)壓縮后重構(gòu)圖像的灰度為f′(xi,yi),通用的評(píng)價(jià)重構(gòu)圖像指標(biāo)有MSE和PSNR.MSE是衡量“平均誤差”的一種較方便的方法,可以用于評(píng)價(jià)數(shù)據(jù)的變化程度,在圖像中反映的是壓縮圖像與原圖像對(duì)應(yīng)像素差值的累積和,在實(shí)際中,經(jīng)常用到的是峰值信噪比(PSNR).當(dāng)PSNR超過(guò)30db時(shí),人的視覺(jué)很難分辨出原始圖像與重構(gòu)圖像的差別[15].
對(duì)于實(shí)際生活中的大量文本圖像,感興趣區(qū)域通常僅為文本內(nèi)容,對(duì)圖像信息要求并不高,所以在盡量保持文本內(nèi)容可讀的前提(低倍率壓縮ROI)下,高倍率壓縮BG信息,用最小的存儲(chǔ)空間來(lái)保存和傳輸文本圖像.基于此目標(biāo),在Visual Studio 2010和MATLAB R2011a環(huán)境下,對(duì)基于JPEG2000的ROI壓縮編碼算法進(jìn)行實(shí)驗(yàn)測(cè)試,選擇不同的圖像,手工指定圖像上的ROI,即文本區(qū)域,然后在壓縮時(shí)對(duì)ROI和BG分別指定不同的壓縮率獲得重構(gòu)圖像.將不同壓縮率的ROI與BG自由組合,得到不同壓縮率的重構(gòu)圖像.實(shí)驗(yàn)中,選用大小為1600×1200×3的彩色圖像作為實(shí)驗(yàn)圖像,假定文字部分作為ROI,其余部分為BG,如圖7所示,對(duì)其按不同的壓縮率進(jìn)行壓縮處理.
圖7 原圖像和分割部分Fig.7 Original image and segment part
采用本研究提出的方法,對(duì)BG、ROI和最終的壓縮重構(gòu)圖像分別進(jìn)行測(cè)試,得到不同壓縮率與PSNR之間的關(guān)系如表1所示.
表1 不同壓縮率與PSNR對(duì)比Tab.1 Comparison of different compression ratio and PSNR
由表1可以得出,本研究提出的算法對(duì)BG進(jìn)行高倍率壓縮,對(duì)ROI進(jìn)行低倍壓縮,使壓縮圖像在保持較高PSNR的前提下,提高壓縮倍率,達(dá)到了預(yù)期的效果.為進(jìn)一步考察算法的準(zhǔn)確性,本研究采用一般壓縮方法對(duì)圖7進(jìn)行處理,2種方法的對(duì)比結(jié)果如圖8所示.
圖8 壓縮率與PSNR的關(guān)系圖Fig.8 Relationship diagram of compression ratio and PSNR
同時(shí),分別采用一般壓縮方法和本研究方法,對(duì)6幅其他文本圖像進(jìn)行處理,得到平均PSNR,結(jié)果如圖9所示.
圖9 多幅壓縮圖像壓縮率與PSNR的關(guān)系圖Fig.9 Relationship diagram of many reconstructed images compression ratio and PSNR
由圖8和圖9可以得出:(1)基于ROI壓縮方法的性能優(yōu)于一般壓縮方法,無(wú)論是高壓縮還是低壓縮,PSNR值均高0~2db.(2)隨著壓縮率的不斷提高,重構(gòu)圖像的PSNR值逐漸減低.對(duì)于BG,壓縮200~300倍后,依然具有很高的PSNR值;對(duì)于ROI區(qū)域,在允許部分信息損失的前提下,壓縮100~200倍后,視覺(jué)觀察變化不大;對(duì)于整幅圖像,壓縮50~200倍后,依然可以得到很好質(zhì)量的壓縮重構(gòu)圖像.
本研究提出一種基于JPEG2000感興趣區(qū)域圖像壓縮方法.該方法對(duì)不同區(qū)域采用不同的壓縮率,對(duì)ROI進(jìn)行低倍率有損壓縮,對(duì)BG進(jìn)行高倍率有損壓縮,可以保證重要信息不丟失的前提下,高倍率地壓縮BG圖像.仿真實(shí)驗(yàn)結(jié)果表明:基于ROI壓縮方法的性能優(yōu)于一般壓縮方法,在獲得更高壓縮率的情況下,壓縮重構(gòu)圖像可以保持較高的峰值信噪比,很好地解決了壓縮率和圖像質(zhì)量之間的矛盾.
[1]CHRISTOPOULOS C A,SKODRAS A N,EBRAHIMI T.The JPEG 2000still image coding system:an overview[J].Trans Consumer Electron,2000,46(4):1103-1127.
[2] 沈蘭蓀.圖像編碼與異步傳輸[M].北京:人民郵電出版社,1998:87-122.
[3]PRIVITERA C M,STARK L W.Evaluating image processing algorithms that predict region of interest[J].Pattern Recognition Letters,1998,19(11):1037-1043.
[4] WATANABE O,KIYA H.ROI-based scalability for progressive transmission in JPEG2000coding[J].Circuits and Systems,2003,2:416-419.
[5]FUKUMA S,IKUTA S,ITO M,et al.An ROI image coding based on switching wavelet transform[J].Circuits and Systems,2003,2:420-423.
[6] LIU L J,F(xiàn)AN G L.A new method for JPEG2000region-of-interest image coding:most significant bitplanes shift[J].Circuits and Systems,2002,2:176-179.
[7] 唐俊華,閻保平.基于用戶定義感興趣區(qū)域的圖像檢索算法[J].計(jì)算機(jī)應(yīng)用,2002,22(11):20-22.
[8] 闕大順,李占,高勇.基于EZW與ROI混合編碼的身份照片壓縮算法研究[J].武漢理工大學(xué)學(xué)報(bào):交通科學(xué)與工程版,2005,29(3):429-431.
[9] 劉海林,李燦平,王緒本.ROI技術(shù)在車牌識(shí)別系統(tǒng)中圖像存儲(chǔ)方面的應(yīng)用研究[J].物探化探計(jì)算技術(shù),2002,24(4):362-366.
[10]吳賢宇.基于EBCOT的JPEG2000壓縮方法概述[J].計(jì)算機(jī)與現(xiàn)代化,2008,157(9):106-109.
[11]岡薩雷斯,伍茲.?dāng)?shù)字圖像處理[M].3版.北京:電子工業(yè)出版社,2010:334-398.
[12]張旭東,盧國(guó)棟,馮?。畧D像編碼基礎(chǔ)和小波壓縮技術(shù)——原理、算法和標(biāo)準(zhǔn)[M].北京:清華大學(xué)出版社,2004.
[13]馮前進(jìn),陳武凡.基于內(nèi)嵌塊優(yōu)化等級(jí)樹(shù)(EBCOT)算法的圖像編碼[J].計(jì)算機(jī)學(xué)報(bào),2002,25(11):1170-1174.
[14]魏琳.基于感興趣區(qū)域(ROI)圖像的壓縮編碼研究[D].重慶:重慶大學(xué),2007.
[15]張錚,王艷平,薛桂香.?dāng)?shù)字圖像處理與機(jī)器視覺(jué):Visual C++與Matlab實(shí)現(xiàn)[M].北京:人民郵電出版社,2010.