李動節(jié),朱仲杰,王玉兒
(1. 浙江萬里學院 寧波市DSP重點實驗室,浙江 寧波 315100;2. 鄭州大學 物理工程學院,河南 鄭州 450001)
嵌入式編碼能夠實現(xiàn)一次壓縮,而解壓重建出多幅不同質量和分辨率要求的圖像,近年來受到廣泛關注,是當前圖像編碼領域的一個研究熱點。其中,EBCOT算法是最新的一種基于小波變換的嵌入式圖像編碼方法[1,2]。它具有較高的壓縮效率并支持 SNR可伸縮性和分辨率可伸縮性編碼。EBCOT算法一般包括2個階段:T1編碼和T2編碼。 在T1階段,主要完成小波變換、位平面建模和自適應二進制算術編碼。在T2階段,根據(jù)給定碼率基于率失真優(yōu)化理論對壓縮碼流進行優(yōu)化截取和重新組裝以得到最終壓縮碼流。但傳統(tǒng)EBCOT算法是以碼塊為基本編碼單元,對圖像內所有碼塊采用相同的編碼策略,沒有考慮圖像中不同對象的視覺感知特性。然而,一般來說,圖像中不同對象對人眼的視覺重要性是不相同的,在實際應用中,觀察者常常只對圖像的某些或某類對象感興趣。例如,在醫(yī)學研究中,醫(yī)生只對病理特征對象感興趣;在遙感圖像分析中,觀察者只對特定目標感興趣等。因此,在圖像編碼中,如果考慮人的視覺感知特性,將圖像分割成具有不同視覺興趣的對象,以視覺對象為編碼單元,對不同視覺對象采用不同的編碼策略進行獨立編碼,就可以提高編碼后重構圖像的主觀視覺感效果。
同時,在實際應用中,由于受存儲空間和傳輸帶寬的限制,往往要在給定碼率下對圖像進行編碼和傳輸。因此,碼率控制是圖像編碼中的一個關鍵問題。傳統(tǒng) EBCOT算法采用壓縮后率失真優(yōu)化(PCRD)算法對T1編碼后的碼流進行優(yōu)化截取和重裝[3,4]。但PCRD算法存儲量和計算量比較大,系統(tǒng)實時性差。因此,許多學者針對這方面進行研究,提出了一些改進方法,主要包括:基于率失真斜率模型的算法[5]、基于預測的實時截斷算法[6,7]、基于動態(tài)調整的控制算法[8,9]等。這些算法在減少編碼計算量和存儲量方面有一定的貢獻,但它們仍然是基于塊基的碼率控制算法,沒有考慮人的視覺感知特性和圖像重要對象的優(yōu)先編碼和傳輸問題,不能應用于對象基的編碼算法。
本文在分析EBCOT算法的特點和人眼視覺特性的基礎上,提出一種面向對象基嵌入式編碼的碼率控制算法。算法首先基于平均熵理論估計各視覺對象的重要性并確定編碼優(yōu)先級,依據(jù)優(yōu)先級對視覺對象進行編碼,得到各自獨立的碼流。最后,以小波子帶為碼率控制單元,在給定碼率下以對對象碼流進行優(yōu)化截取和重裝。實驗結果表明,所提算法可以對不同重要對象進行差異化編碼和傳輸,與基于PCRD算法的碼率控制方法相比,新算法能提高重構圖像的整體視覺效果。
本文首先提出了對象基嵌入式圖像編碼方案(EOCOT)。該方案將圖像分割成具有不同視覺興趣的對象,對不同視覺對象進行獨立編碼,生成各自獨立的碼流。EOCOT算法系統(tǒng)框架如圖1所示。算法首先將原圖像分割為不同的視覺對象Oi(i= 1,2,3,…,n),然后對圖像進行 DC變換和三級離散小波變換(DWT),得到各視覺對象在各子帶內的小波系數(shù)分布。接下來以每個視覺對象為基本編碼單元,按照分辨率由低到高的順序依次對各子帶內所有視覺對象進行獨立位平面建模和二進制算術編碼,得到各個對象的嵌入式碼流。最后根據(jù)給定碼率、對象優(yōu)先級等參數(shù)指標對所有對象壓縮碼流進行優(yōu)化截取和重新組裝,得到給定碼率下的最終壓縮碼流。
在實際應用中,由于受存儲空間和傳輸帶寬的限制,往往要在給定碼率下對圖像進行編碼和傳輸。因此,碼率控制是圖像編碼中的一個關鍵問題。本文基于EOCOT算法的特點,結合人眼視覺感知特性,提出一種新的嵌入式碼率控制算法。算法基于平均熵理論估計各視覺對象的重要性和編碼優(yōu)先級,依據(jù)優(yōu)先級對視覺對象進行編碼和碼率控制,實現(xiàn)重要對象的優(yōu)先編碼和傳輸,從而提高重建圖像的質量。算法的具體流程如圖2所示。整個算法可以分為預處理、子帶目標碼率分配、熵編碼和率失真優(yōu)化截取4個主要步驟。對每個主要步驟簡介如下。
圖1 EOCOT系統(tǒng)
1) 預處理
在預處理階段,首先將圖像分割成不同的視覺對象Oi(i= 1 ,2,3,… ,n)。本文使用語義對象分割算法進行分割[10]。然后,基于平均熵理論對視覺對象進行平均熵估計以確定其編碼優(yōu)先級。
圖2 碼率控制算法流程
視覺生理學和視覺心理學的研究成果顯示,圖像編碼中的主要人眼視覺特性包括[11]:人眼對圖像平滑區(qū)信息的失真比較敏感;人眼對圖像邊緣區(qū)信息的失真很敏感;人眼對圖像紋理區(qū)信息的失真不敏感。而圖像的平滑區(qū)、邊緣區(qū)、紋理區(qū)的敏感程度與其信息熵緊密相關。因此,各視覺對象的重要性可以通過分析其信息熵來確定。理論上,信息熵可以根據(jù)香農(nóng)定理進行精確計算,但計算量大。在實際中通常采用近似方法進行熵估計,比較實用的熵估計方法有2種[12]:一種是基于預測模板的熵估計法,一種是基于邊緣檢測的熵估計法。前者是在圖像域加一個預測模板,對像素預測值與原值進行差值,然后用累加的差值表示圖像的熵值大小,該方法運算量小,適合實時操作。后者是在邊緣檢測的基礎上進行熵估計,檢測出的邊緣越豐富,其圖像熵就越大。該方法運算量也很大,不宜實時操作。所以本文采用第一種方法,預測公式為
其中,xm,n為圖像域內點[m,n]處的像素值,為點[m+ 1 ,n+ 1 ]處的預測像素值。如果預測的像素為圖像的第一行或第一列,預測值為前一個像素點的值。此時,對象的平均熵為
其中,M為對象iO包含的像素點數(shù)。整個圖像的平均熵為
令iOP表示對象iO的優(yōu)先級,由式(4)給出:
2) 子帶目標碼率分配
為了給子帶分配目標碼率,首先計算小波子帶重要性權值 []W j:
其中,j為子帶標號,N為圖像所有像素點集合,xm,n為點[m,n]的像素值。然后,基于圖像總目標碼率Rtarget,預分配當前子帶的目標碼率:
3) 熵編碼
對子帶分配目標碼率后,對子帶內的視覺對象按照優(yōu)先級依次進行位平面建模和二進制算術編碼,并確定候選截取點集合。對每個視覺對象,按照從最高位平面到最低位平面的順序進行位平面建模。在每個位平面內依次按照重要性傳播通道、幅值細化通道和清除通道的順序進行掃描編碼。為減少對非編碼對象區(qū)域零位的編碼,只對編碼對象的位置信息掩模圖內的系數(shù)進行掃描編碼。在進行通道編碼時,每編碼一個系數(shù),查失真估計表得到該位的編碼失真增量[13],累加通道內的所有系數(shù)的失真增量得到該通道失真增量。
位平面建模后只是得到每個小波系數(shù)比特的上下文和二進制比特符號,并沒有實現(xiàn)壓縮。要實現(xiàn)壓縮必須對二進制符號及其上下文進行進一步的熵編碼。本文以對象通道為單位進行算術編碼。完成一個對象的所有通道編碼后,采用只剔除當前奇異點的方法確定候選截取點集合[14],同時存儲率失真斜率。
4) 率失真優(yōu)化截取
設子帶j內對象Oi在T1編碼產(chǎn)生的內嵌比特流的碼率截止到,ni是某個截取點,則子帶j內總的碼率為
設對象Oi的系數(shù)在恢復圖像中產(chǎn)生的失真為,同時假設對象小波系數(shù)的失真測度是加性的,即
其中,Dj為子帶j的失真大小。通常失真可以用加權均方差(MSE)進行計算:
其中,[m,n]為重建的視覺對象的系數(shù)值,為子帶j的加權系數(shù)。
其中,λ為拉格朗日乘子。率失真優(yōu)化截取的關鍵是尋找一個合適的λ使得式(10)最小,并滿足本文采用二分法尋找最佳斜率門限子帶內所有對象的率失真斜率不小于的編碼通道碼字被包含進最終碼流,而其余編碼通道的碼字則被丟棄。完成一個子帶編碼和最終碼流截取后,以子帶為單位存儲對象最優(yōu)截斷碼流。然后,進行下一個未編碼子帶的編碼和優(yōu)化截取,直到完成整幅圖像所有子帶的編碼。最終碼流按子帶分辨率從低頻到高頻,按優(yōu)先級由高到低對對象碼流依次存儲。最低分辨率子帶碼流出現(xiàn)在結果碼流的起始部分。在子帶內,視覺對象的碼流按優(yōu)先級大小排序,最高優(yōu)先級的對象碼流出現(xiàn)在子帶碼流的起始部分。
為驗證本文算法的可行性和有效性,基于VC6.0軟件平臺,進行了仿真測試,并與PCRD算法結果進行對比分析。測試圖像從 Google圖像庫中隨機搜索得到,離散小波變換采用三級雙正交9/7小波。實驗中重點分析不同碼率下圖像的重構質量,采用信噪比增量指標,定義如下:其中, 1psnr為PCRD算法下重構圖像的峰值信噪比, 2psnr為本文算法重構圖像的峰值信噪比。
圖3 圖像Cell在不同壓縮比下PCRD算法重構圖像
圖4 圖像Cell在不同壓縮比下用本文算法重構圖像
圖5 PCRD算法下Flower中重要視覺對象在不同壓縮比下的編碼重建結果
圖6 本文算法下Flower中重要視覺對象在不同壓縮比下的編碼重建結果
表1 部分測試圖像的重建圖像質量對比實驗結果
表2 部分重要視覺對象重構圖像質量對比結果
在分析研究現(xiàn)有塊基嵌入式編碼碼率算法的基礎上,結合人眼視覺感知特性,提出一種面向對象基嵌入式編碼的碼率控制算法。算法以視覺對象為基本編解碼單元,可以根據(jù)視覺重要性對不同重要的視覺對象進行差異化編碼,可以優(yōu)先編碼和傳輸重要視覺對象。算法可以在給定碼率下對圖像進行精確地碼率控制,與傳統(tǒng)的 PCRD碼率控制算法相比,新算法能提高重構圖像的整體視覺效果。
[1] ZHU W W, LIU L Z. Optimization of the EBCOT algorithm in JPEG 2000[J]. Computer Applications, 2008, 28(6):210-212.
[2] TAUBMAN D. High performance scalable image compression with EBCOT[J]. IEEE Transactions on Image Processing, 2000, 9(7):1158-1170.
[3] HSIN H C, SUNG T Y. A simple rate distortion estimation for embedded block coding[A]. Proceedings of the 9th WSEAS International Conference on Multimedia Systems & Signal Processing[C]. Wisconsin, USA, 2009.43-48.
[4] TAUBMAN D, MARCELLIN M. JPEG 2000:Image Compression Fundamentals, Standards and Practice[M]. Massachusetts, USA: Kluwer Academic Publishers, 2002.
[5] VIKRAM K N, VASUDEAVN V, SRINIVASAN S. Rate-distortion estimation for fast JPEG 2000 compression at low bit-rates[J]. Electronics Letters, 2005, 41(1):16-18.
[6] AMINGOU A, FATEMI O. A novel efficient rate control algorithm for hardware implementation in JPEG 2000[A]. Proceedings of the International Conference on Acoustics Speech and Signal Processing[C].Philadelphia, PA, USA, 2005.21-24.
[7] 徐勇, 徐智勇, 趙汝進等. JPEG 2000的一種編碼前碼率分配算法[J].光電工程, 2008, 35(10):81-85.XU Y, XU Z Y, ZHAO R J,et al. Pre-coding RDO rate allocation algorithm for JPEG 2000[J]. Opto-Electronic Engineering, 2008, 35(10):81-85.
[8] 鄭啟棗,劉鵬. 基于線性預測的動態(tài)閾值 JPEG 2000 碼率控制算法[J]. 浙江大學學報(工學版), 2008, 42(8):1335-1339.ZHENG Q Z, LIU P. Dynamic threshold JPEG 2000 rate control algorithm based on linear prediction[J]. Journal of Zhejiang University(Engineering Science), 2008, 42(8):1335-1339.
[9] YEUN G Y M, AUO C. Efficient rate control for JPEG 2000 image coding[J]. IEEE Transactions on Circuits and System, Video Technology, 2005, 15(3):335-344.
[10] ZHU Z J, WANG Y E, JIANG G Y. Statistical image modeling for semantic segmentation [J]. IEEE Trans on Consumer Electronics,2010, 56(2): 777-782.
[11] 王向陽, 楊紅穎. 基于人眼視覺特性的快速圖像編碼算法[J]. 軟件學報, 2003, 14(11):1964-1970.WANG X Y, YANG H Y. A fast image coding algorithm based on human visual system[J]. Journal of Software, 2003, 14(11):1964-1970.
[12] 孔繁鏘, 李云松, 王柯儼等. 基于碼率預分配的JPEG 2000自適應率控制算法[J]. 電子與信息學報, 2009, 31(1): 66-70.KONG F Q, LI Y S, WANG K Y,et al. An adaptive rate control algorithm for JPEG 2000 based on rate pre-allocation[J]. Journal of Electronics & Information Technology, 2009, 31(1): 66-70.
[13] 易愛清. JPEG 2000中碼率控制算法研究及硬件實現(xiàn)[D]. 西安: 西安理工大學, 2008.YI A Q. Research on Rrate-Control Algorithm and Hardware Realization for JPEG 2000[D]. Xi’an: Xi’an University of Technology , 2008.
[14] 王菊花. JPEG 2000中MQ算術編譯碼器的研究[J].空間電子技術,2003, 1:27-38.WANG J H. Research on MQ arithmetic encoder and decoder for JPEG 2000[J]. Space Electronic Technology, 2003, 1:27-38.