聶永丹,張 巖,唐國(guó)維
(東北石油大學(xué) 計(jì)算機(jī)與信息技術(shù)學(xué)院,黑龍江 大慶 163318)
近年來(lái),國(guó)內(nèi)外圖像編碼技術(shù)的研究方法多集中在DCT變換[1]、小波變換[2],以及在小波變換基礎(chǔ)上的改進(jìn)編碼技術(shù),但是小波變換在分析二維信號(hào)時(shí)并不是最優(yōu)或最稀疏的函數(shù)表示方法[3]。針對(duì)紋理豐富的圖像編碼遇到的瓶頸,探索結(jié)合更有效的稀疏表示方法是圖像編碼壓縮技術(shù)的重要方向。DO等提出的Contourlet變換[4],由于具有多分辨率和多方向性,因此能夠較好地表示圖像等二維信號(hào)所特有的幾何特征。由于Contourlet變換存在冗余,ESLAMI等提出了基于小波變換的Contourlet分析(Wavelet-Based Contourlet Transform,WBCT)[5]。該方法去掉了LP濾波器[6]引起的冗余,形成了非冗余并且可以完全重構(gòu)的新濾波器組,有效地近似表達(dá)二維信號(hào)。文獻(xiàn)[7]提出基于WBCT結(jié)合SPECK[8]的圖像編碼算法(C-SPECK)。實(shí)驗(yàn)結(jié)果表明,算法獲得的峰值信噪比有一定的提高,而且對(duì)局部紋理失真較??;但由于SPECK編碼算法的4叉樹(shù)分裂方式需要占用大量的內(nèi)存空間,另外其單通道的比特平面編碼方式,與簡(jiǎn)單的嵌入式編碼策略,導(dǎo)致編碼率失真性能不是最優(yōu)的。
JPEG2000是新一代靜止圖像壓縮標(biāo)準(zhǔn),其核心算法是最優(yōu)截?cái)嗲度氪a塊算法(Embedded Block with Coding Optimized,EBCOT)[9]。編碼的碼塊之間保持相對(duì)獨(dú)立,有效提高了容錯(cuò)能力。Tier1編碼通過(guò)采用3個(gè)編碼通道,能減少每個(gè)通道的編碼數(shù)據(jù)量,更有利于率失真的控制,由于增加了位平面編碼,因此可以使重要的數(shù)據(jù)優(yōu)先編碼,從而提高圖像編碼效率。在Tier2編碼中,經(jīng)過(guò)率失真優(yōu)化算法(Post-Compression Rate-distortion Optimization,PCRD)[10],對(duì)所有碼塊的嵌入式壓縮碼流進(jìn)行適當(dāng)?shù)慕厝?,得到最?yōu)的編碼率失真性能。目前該技術(shù)已廣泛應(yīng)用于圖像傳輸領(lǐng)域。由于使用離散小波變換(DWT)取代了JPEG中的離散余弦變換(DCT),作為JPEG2000的核心變換算法,沒(méi)有對(duì)細(xì)節(jié)豐富的高頻子帶進(jìn)行處理,會(huì)產(chǎn)生更多的細(xì)節(jié)信息損失,對(duì)紋理豐富的圖像壓縮效果欠佳。宋蓓蓓等提出了一種結(jié)合WBCT變換與EBCOT的靜止圖像壓縮算法(CEBCOT)[11]。該算法依照方向子帶大小進(jìn)行編碼塊分割,能更稀疏地表示圖像的邊緣和紋理,獲得的壓縮圖像邊緣更加清晰,峰值信噪比也有一定的提高。但存在的問(wèn)題是從WBCT變換角度來(lái)看,在對(duì)小波高頻子帶方向?yàn)V波時(shí),采取各子帶方向?yàn)V波分解數(shù)目固定的方式進(jìn)行方向?yàn)V波分解,雖然能較好地捕獲各高頻區(qū)域的紋理細(xì)節(jié)信息,但是沒(méi)有充分考慮方向?yàn)V波產(chǎn)生的系數(shù)分布對(duì)后續(xù)編碼的影響,對(duì)編碼的指導(dǎo)意義不夠充分。
文中根據(jù)EBCOT編碼算法的碼塊劃分結(jié)構(gòu),在小波高頻區(qū)域WBCT分解子帶內(nèi)計(jì)算碼塊的平均熵,以碼塊的平均熵最小化原則優(yōu)化WBCT分解,降低碼塊內(nèi)系數(shù)的復(fù)雜程度,提高比特平面編碼過(guò)程鄰域系數(shù)的相關(guān)性,有利于圖像編碼。經(jīng)過(guò)與同類算法的對(duì)比實(shí)驗(yàn),結(jié)果表明,壓縮圖像的數(shù)據(jù)峰值信噪比有所提高,且圖像中紋理區(qū)域的保持效果較好。
WBCT是一種有效的二維信號(hào)稀疏表示方法,其思想是利用小波分析中的Mallat塔式分解結(jié)構(gòu),替代Contourlet中的LP分解,消除Contourlet中的冗余。該過(guò)程通過(guò)采用可分離的濾波器組實(shí)現(xiàn)。使用方向?yàn)V波器分別對(duì)Mallat結(jié)構(gòu)的高頻子帶進(jìn)行卷積操作,可以更加稀疏地表示二維圖像,分解過(guò)程是由不可分離且具有層次結(jié)構(gòu)的扇形濾波器組實(shí)現(xiàn),原理如圖1所示。
圖1 WBCT原理示意
WBCT繼承了小波變換和Contourlet變換的優(yōu)點(diǎn),同時(shí)又彌補(bǔ)二者的不足,從而更容易捕捉紋理區(qū)域中的幾何結(jié)構(gòu)和紋理特性。將WBCT應(yīng)用于編碼,小波低頻子帶一般不進(jìn)行方向分解,避免造成能量的損失,進(jìn)而影響信號(hào)的編碼效果,因此小波高頻子帶如何優(yōu)化方向分解以保證編碼效率是一個(gè)重要問(wèn)題。
由于Contourlet將二維信號(hào)中臨近的奇異點(diǎn)合并成輪廓,使用一個(gè)變換系數(shù)表示,使二維圖像中邊緣的系數(shù)能量更加具有聚集性。方向分解會(huì)引起各個(gè)子帶中信息熵的變化,并且信息熵的大小與Contourlet分解的方向數(shù)相關(guān)。文獻(xiàn)[7]提出采用子帶熵[12]最小化原則作為Contourlet方向?yàn)V波的優(yōu)化條件,但是子帶平均熵不能體現(xiàn)各個(gè)碼塊的系數(shù)分布復(fù)雜程度,對(duì)基于碼塊內(nèi)部相關(guān)性的編碼算法指導(dǎo)意義不夠。EBCOT在Tier1編碼過(guò)程中,位平面編碼后采用的熵編碼是自適應(yīng)二進(jìn)制算術(shù)編碼器MQ,當(dāng)前所在系數(shù)的有效性狀態(tài)(significance)及其周圍的8鄰域所在點(diǎn)的有效性狀態(tài)如圖2所示。產(chǎn)生上下文序號(hào)Cx和二進(jìn)制判決數(shù)據(jù)D;概率估計(jì)模型則根據(jù)Cx和D選擇相應(yīng)的概率和符號(hào)值,在接下來(lái)的算術(shù)編碼部分根據(jù)概率和符號(hào)值生成最終的壓縮數(shù)據(jù),如果鄰域包含的各個(gè)系數(shù)分布趨于平均,上下文估計(jì)概率準(zhǔn)確率將會(huì)提高,算術(shù)編碼得到的編碼數(shù)據(jù)量也相應(yīng)會(huì)減少。
P1P2P3P8XP4P7P6P5
圖2 EBCOT8鄰域示意
因此,最優(yōu)的方向分解數(shù)目應(yīng)該能夠?qū)⑿〔ㄗ訋?nèi)部各個(gè)碼塊信息熵的均值達(dá)到最小。文中以碼塊平均熵最小化原則作為方向?yàn)V波的優(yōu)化條件,有利于提高EBCOT編碼效率。設(shè)t為小波分解后的任意一個(gè)高頻子帶,其分解方向數(shù)目為2j(j=0,1,2,…),定義該子帶任意一個(gè)碼塊s的熵為:
(1)
其中,p(i)為碼塊s中第i個(gè)系數(shù)出現(xiàn)的概率;N為碼塊s中包含系數(shù)的數(shù)目。
當(dāng)對(duì)該小波分解產(chǎn)生的子帶t進(jìn)行數(shù)目不同的方向分解時(shí),其信息熵的值會(huì)發(fā)生變化。如果熵值變大,則表明有輪廓信息被打散;反之,則表明有變換系數(shù)合并生成輪廓。為此,對(duì)小波變換的某一高頻子帶t,如果分解方向數(shù)目為2j(j=0,1,2,…),則其碼塊信息熵的均值為:
(2)
其中,M為小波高頻子帶t中包含的所有碼塊數(shù)目。
基于熵的Contourlet方向分解優(yōu)化過(guò)程如下:
(1)對(duì)圖像進(jìn)行L級(jí)小波變換,得到3L個(gè)高頻子帶和1個(gè)低頻子帶;
(2)選取某一待分解小波高頻子帶t,假定其為第u(1≤u≤L)級(jí),確定其初始方向分解數(shù)為2j=2L-u+1;
(4)若j≤1,選取方向分解數(shù)為1,轉(zhuǎn)步驟(6);
(5)令j=j-1,返回步驟(3);
(6)如果所有小波變換產(chǎn)生的高頻子帶處理完畢,則算法結(jié)束;否則,返回步驟(2)。
EBCOT算法以塊狀結(jié)構(gòu)組織變換系數(shù),利用變換系數(shù)的局部相關(guān)性可以實(shí)現(xiàn)圖像的高效壓縮,并具有分辨率可伸縮、質(zhì)量可伸縮、隨機(jī)訪問(wèn)等優(yōu)越性。算法核心部分由兩部分組成—Tier1(塊編碼)與Tier2(碼流組織)[13-14]。Tier1模塊完成比特平面編碼,并根據(jù)碼塊的上下文模型實(shí)現(xiàn)自適應(yīng)算術(shù)編碼;Tier2通過(guò)率失真優(yōu)化算法(Post Compression Rate Distortion,PCRD),負(fù)責(zé)對(duì)碼流進(jìn)行優(yōu)化截?cái)嗪痛虬?。由于WBCT通過(guò)小波變換中的Mallat金字塔式分解替代了Contourlet變換中的LP分解結(jié)構(gòu),形成非冗余并且可以完全重構(gòu)的濾波器組,因此既繼承了小波變換和Contourlet變換的優(yōu)點(diǎn),又更有利于表達(dá)圖像紋理區(qū)域中包含的幾何結(jié)構(gòu)。經(jīng)過(guò)碼塊平均熵最小化原則優(yōu)化方向分解后,使得碼塊內(nèi)部系數(shù)趨于平均,有利于提高EBCOT基于上下文編碼模型的算術(shù)編碼效率。在進(jìn)入EBCOT編碼器之前,先將小波變換后的各個(gè)子帶系數(shù)分成較小的碼塊,推薦大小為64×64或32×32??紤]每一個(gè)代碼塊完全包含在一個(gè)子帶中,碼塊與其他子帶的碼塊保持相對(duì)獨(dú)立,有效提高了數(shù)據(jù)壓縮的容錯(cuò)能力,熵編碼后通過(guò)Tier2編碼生成碼流,算法描述如下:
(1)選擇雙正交小波基D9/7對(duì)圖像數(shù)據(jù)進(jìn)行L級(jí)小波分解;
(2)依據(jù)1.2節(jié)的算法來(lái)確定小波高頻子帶中最優(yōu)的方向分解數(shù)目;
(3)利用最優(yōu)方向分解數(shù)目,對(duì)小波子帶進(jìn)行方向分解;
(4)對(duì)WBCT分解后產(chǎn)生的各子帶碼塊采用EBCOT算法編碼;
(5)算法結(jié)束。
仿真圖像采用標(biāo)準(zhǔn)測(cè)試圖像Lena和Barara。在實(shí)驗(yàn)過(guò)程中,EBCOT模塊設(shè)置為64×64,小波基選取適合圖像壓縮的雙正交小波基D9/7,小波分解為5級(jí),方向分解濾波器采用pkva濾波器[15]。不同算法的壓縮效果如圖3所示。由于C-SPECK算法基于SPECK編碼算法,在高壓縮比下導(dǎo)致失真較為嚴(yán)重,JPEG2000僅采用離散小波變換的壓縮效果不及文中算法,因此文中算法得到的PSNR值高于另外兩種算法,并且紋理區(qū)域保持良好。
圖3 不同算法壓縮重構(gòu)效果對(duì)比
圖4 不同算法壓縮重構(gòu)效果對(duì)比
圖4給出了Barbara圖像在0.1 bpp碼率下,JPEG2000算法及文中算法的編碼及部分區(qū)域放大效果。可見(jiàn)文中算法紋理復(fù)雜區(qū)域失真較小。
表1是Barbara圖像在不同碼率下,JPEG2000算法與文中算法編碼的PSNR值對(duì)比。從表1可見(jiàn),文中算法在各碼率下均能取得較高的PSNR,尤其在低碼率下,文中算法約超過(guò)JPEG2000算法1 dB左右。
表1 不同碼率下的PSNR對(duì)比
將WBCT與EBCOT編碼算法相結(jié)合,通過(guò)碼塊熵最小化原則優(yōu)化小波變換高頻子帶的方向分解,增加碼塊內(nèi)部系數(shù)的相關(guān)性,提高編碼效率,利用EBOCT編碼算法生成編碼流。經(jīng)過(guò)對(duì)比實(shí)驗(yàn),結(jié)果表明,文中算法不僅可以提高峰值信噪比,而且對(duì)圖像中的局部紋理保持效果較好。
[1] 韋長(zhǎng)江,郝鵬威,石青云.基于整型DCT變換的圖象編碼研究[J].中國(guó)圖象圖形學(xué)報(bào),2002,7(3):287-291.
[2] 田金文,柳 斌,柳 健.基于整數(shù)小波變換的準(zhǔn)無(wú)失真圖像壓縮技術(shù)[J].電子學(xué)報(bào),2000,28(4):64-68.
[3] 何玉杰,李 敏,呂 東,等.一種基于Curvelet變換的紅外圖像去噪方法[J].計(jì)算機(jī)工程與應(yīng)用,2011,47(32):191-193.
[4] DO M N,VETTERLI M.Contourlets:a directional multiresolution image representation[C]//Proceedings of IEEE international conference on image processing.[s.l.]:IEEE,2002:357-360.
[5] ESLAMI R,RADHA H.Wavelet-based contourlet transform and its application to image coding[C]//Proceedings of IEEE international conference on image processing.Singapore:IEEE,2004:3189-3192.
[6] 王發(fā)牛,梁 棟,程志友,等.一種基于非抽樣LP的Contourlet變換圖像去噪方法[J].中國(guó)圖象圖形學(xué)報(bào),2009,14(3):458-462.
[7] 唐國(guó)維,張 巖,王苫社,等.基于Contourlet方向?yàn)V波優(yōu)化的SPECK圖像編碼算法[J].信息與控制,2015,44(6):641-647.
[8] ISLAM A,PEARIMAN W A.An embedded and efficient low complexity hierarchical image coder[C]//Conference on visual communications and image processing.[s.l.]:[s.n.],1999:294-305.
[9] TAUBMAN D.High performance scalable image compression with EBCOT[J].IEEE Transactions on Image Processing,2000,9(7):1158-1170.
[10] BALSTER E J,FORTENER B T,Turri W F.Post-compression rate-distortion development for embedded block coding with optimal truncation in Jpeg2000 imagery[J].International Journal of Image & Graphics,2011,11(4):611-627.
[11] 宋蓓蓓,許錄平,孫文方.一種基于小波的Contourlet變換的圖像壓縮算法[J].西安交通大學(xué)學(xué)報(bào),2007,41(4):479-483.
[12] AULILLINAS F.Entropy-based evaluation of context models for wavelet-transformed images[J].IEEE Transactions on Image Processing,2015,24(1):57-67.
[13] 朱悅心,張 靜,王 勇,等.JPEG2000全通道并行EBCOT-Tier1編碼器結(jié)構(gòu)設(shè)計(jì)[J].電子與信息學(xué)報(bào),2006,28(12):2362-2366.
[14] 莊懷宇.內(nèi)嵌圖像編碼中高效碼率控制技術(shù)研究[D].西安:西安電子科技大學(xué),2006.
[15] DUNCAN D Y,DO M N.Directional multiscale modeling of images using the contourlet transform[C]//IEEE workshop on statistical signal processing.[s.l.]:IEEE,2003:262-265.