?

多光譜圖像壓縮的聯合碼率分配—碼率控制方法

2014-12-15 02:49王柯儼沈沛意
宇航學報 2014年2期
關鍵詞:碼率步長波段

宋 娟,王柯儼,沈沛意,張 亮

(1.西安電子科技大學軟件學院,西安710071;2.西安電子科技大學綜合業務網國家重點實驗室,西安710071)

0 引言

多光譜圖像是由光譜成像儀對同一地物在數十個波段上成像獲取的同時包含空間信息和光譜信息的三維數據立方體,被廣泛應用于資源勘探、目標識別、環境保護等方面。但是多光譜圖像數據量非常龐大,需要采用有效的壓縮技術以便圖像的存儲和傳輸。

多光譜圖像具有較強的譜間相關性和空間相關性,目前多光譜圖像壓縮編碼方法主要包括四類:預測編碼[1]、變換編碼[2-3]、矢量量化[4]以及近年來提出的分布式壓縮方法[5-6],其中譜間變換 +二維編碼的方式具有較低的計算復雜度和較高的壓縮性能,應用非常廣泛。如倪林和宮久路等人提出了用KL(Karhunen-Loeve)變換結合預測方法,對多光譜圖像進行無損及近無損壓縮[2-3]。對于譜間變換,KL變換的去相關效果是最優的;對于二維變換編碼,基于小波變換的JPEG2000[7]在中低碼率下性能較高,但在高碼率下壓縮效果不理想;而基于預測的JPEG-LS[8]則在中高碼率下能取得更好的壓縮性能。多光譜圖像獲取非常困難而且應用比較特殊,因此采用JPEG-LS進行中高碼率下的壓縮是更優的選擇。

基于KL變換和JPEG-LS的有損多光譜圖像壓縮,勢必涉及到兩個非常關鍵的問題,即碼率分配和碼率控制。首先是碼率分配,KL變換后各個分量的能量分布不均,低頻分量往往包含更多的能量,而高頻分量僅僅占據少量的能量。因此需要根據各分量的能量分布重新分配碼率,使得整體質量最優。文獻[9-10]提出根據各個分量的標準差大小來分配相應的碼率,雖然優于平均分配,但仍然導致各個波段的質量忽高忽低,不夠穩定,個別波段的重構質量太差,不能滿足應用要求。其次是碼率控制,在遙感應用中,碼率可控是一個非常重要的指標,如果壓縮碼率超過了存儲空間和鏈路帶寬,就會導致數據溢出,產生解碼錯誤。而JPEG-LS只能控制重構圖像的失真,不能控制壓縮碼率,一定程度上限制了它的應用。文獻[11]提出的JPEG-LS碼率控制方法首先對圖像分區,通過已編碼區域的實際累積碼率和目標碼率的偏差,對編碼區域的量化步長進行動態調整,但是碼率控制不夠精確,實際碼率在目標碼率附近浮動,不能總小于目標碼率,仍然會導致數據溢出。Zhang等人提出的基于拉格朗日數乘的碼率控制算法[12]控制碼率比較準確,但是算法需要數次迭代才能得到最優的量化步長,復雜度太高。

碼率分配和碼率控制實質是一個問題,都是根據其能量來調整相應的量化步長,使實際總碼率達到目標碼率,并且整體質量達到最優。因此,本文提出聯合碼率分配-碼率控制方法,通過分析各分量量化步長對波段重構質量的影響,找到使重構波段失真相當時各個分量量化步長的關系,然后統一對各變換分量編碼和碼率控制,將碼率控制和碼率分配有效統一起來,克服已有碼率分配方法重構質量不穩定的問題;為了更精確的控制碼率,本文提出了基于二次迭代調整的JPEG-LS碼率控制方法,以非常小的代價達到準確的碼率控制,使實際碼率在小于目標碼率的前提下,盡可能的逼近目標碼率,滿足圖像通信中固定帶寬的要求。

1 基于KL變換和碼率可控JPEG-LS的多光譜圖像壓縮方法

本文提出的基于KL變換和碼率可控JPEG-LS的多光譜圖像壓縮算法框圖如圖1所示。首先對多光譜圖像進行譜間KL變換,有效去除多光譜圖像的譜間相關性。為了在各種碼率下均能取得高效的壓縮性能,本文算法同時支持KL變換的浮點和整數變換,在壓縮比小于2倍時,對KL變化矩陣進行整數分解,實現整數變換[13],大于2倍時采用KL浮點變換。將KL變換后的各分量Y送入本文提出的基于聯合碼率分配-碼率控制的JPEG-LS壓縮模塊。在本文壓縮算法中,碼率分配和碼率控制有效統一起來,根據重構波段失真相當時各分量量化步長的比例關系,將分量數據重新組織在一起,組織后的分量數據YCIL統一送入本文提出的基于二次迭代調整碼率控制的JPEG-LS編碼中。在編碼過程中,對YCIL中各分量的量化步長統一進行調整,使得實際編碼碼率盡可能接近目標碼率,并按照調整的量化步長對數據進行JPEG-LS編碼得到碼流,這樣得到的各波段的量化失真將是相當的。

圖1 壓縮算法框圖Fig.1 Diagram of proposed compression algorithm

2 聯合碼率分配—碼率控制方法

多光譜圖像經過KL變換得到一系列分量,其中各分量的能量呈遞減分布,主分量包含了圖像的絕大多數能量,而其余分量僅僅占據了少量的能量。如果給每個分量分配相同的碼率,顯然不是最優的。因此需要對碼率進行分配,使各重構波段的重構質量相當,達到整體性能最優,這正是本文提出碼率分配方法的出發點。本文根據JPEG-LS失真可控的特點,首先分析各分量的量化步長對重構波段失真的影響,得到當重構波段失真相當時各分量量化步長的關系。

本文在低倍壓縮時采用整數可逆KL變換,變換沒有引入失真;在中倍以上壓縮采用浮點KL變換,雖然引入精度損失,但和量化失真相比,KL變換引入的失真可以忽略不計。因此根據KL變換公式,直接對KL變換分量{Yi}作反變換,忽略KL變換的失真,即可得到原始多光譜圖像{Bi},如(1)所示,其中AT為變換矩陣A的轉置,{mi}為每個波段的均值。

對各分量{Yi}進行量化編碼及重構,再進行反變換,即可得到重構波段為公式(2),其中和分別為重構分量和波段。

公式(1)和(2)直接相減,即可得到重構波段失真 ΔB={ΔB1,ΔB2,…,ΔBn}和分量失真 ΔY={ΔY1,ΔY2,…,ΔYn}的關系如(3)所示,

KL變換矩陣AT是正交矩陣,根據矩陣論理論,正交矩陣與向量相乘,只改變向量的角度,而不改變向量的長度,相當于對向量進行旋轉,如公式(4)所示

圖2 變換前后分量的示意圖Fig.2 Component distribution before and after transform

因此AT作用于向量ΔY,相當于對正方形進行旋轉,得到ΔB。經過旋轉后,對于大多數像素(圓形陰影區域內)而言,ΔB仍然在正方形內,即Bi的失真ΔBi仍然限制在量化步長Q內,而其余少量像素的失真也限制在以內(半徑為的圓內)。通過上述分析可以得到以下結論:當各分量都采用相同的量化步長Q時,每個波段內大部分像素的失真都限制在Q以內,極少數失真限制在以內,也就是說各重構波段的失真是相當的。對于更多維數的情況也可以得到類似的結論。

根據以上結論,本文提出了聯合碼率分配-碼率控制方法,將碼率分配和碼率控制統一起來。首先將各個分量按照CIL(Component-Interleaved-by-Line)的格式拼接在一起,即類似于多光譜圖像的數據組織方式BIL(Band-Interleaved-by-Line),將各分量的數據按行交叉存儲直到最后一行,重新存儲后的數據記為YCIL,即YCIL的每行數據由每個分量的對應行數據依次拼接構成。將重新組織的分量數據YCIL作為整體送入碼率可控JPEG-LS中,在編碼過程中,統一進行量化步長調整,使得每行中各個分量的量化步長始終是相等的,以保證得到重構質量相當的重構波段。

3 基于二次迭代調整的碼率控制方法

文獻[11]提出的碼率控制方法首先對圖像分區,通過已編碼區域的實際累積碼率和目標碼率的偏差量,對編碼區域的量化步長進行動態調整,但碼率控制仍然不夠精確,實際碼率在目標碼率附近上下浮動,不能滿足固定鏈路帶寬的要求。為了更加精確的控制碼率,本文提出了基于二次迭代調整的JPEG-LS碼率控制方法,在第一次對整幅數據完成基于行調整的碼率控制后,再返回到最后N行對量化步長進行二次迭代調整,使得實際碼率在盡可能接近目標碼率的前提下,又略小于目標碼率,避免碼流溢出,以滿足圖像傳輸中嚴格的帶寬和存儲限制。本文提出的基于二次迭代調整的碼率控制算法流程圖如圖3所示。

經常有準媽媽在新浪微博上問我:寶寶是不是越小越好生?越大越健康?寶寶在媽媽肚子里養得越久是不是生出來就越好養?剖宮產的寶寶會不會更聰明?孕育生命的準媽媽們,即將迎來自己的寶寶,心情激動,但是面對社會上眾說紛紜的各種說法,卻難以適從。今天我們一起探討一下與分娩有關的幾個話題,糾正幾個常見的認識誤區。

圖3 JPEG-LS碼率控制流程圖Fig.3 The flow chart of rate control in JPEG-LS

(1)設置量化步長Near值的初始值,根據大量的實驗得到經驗值,當目標壓縮比<4時,Near=0;當目標壓縮比≥4時,Near=4;

(2)對當前行編碼數據以Near值進行預測量化編碼,得到當前累積碼率;

(3)一次迭代調整:計算當前累積碼率和目標碼率的差值Δr,將Δr和預設的碼率門限進行比較,如果當前碼率大于目標碼率,則使Near值增加一個適當的步長step,否則使Near值減小一個適當的步長step,如果Near<0,令 Near置0。根據大量的實驗,本文離線訓練出碼率差Δr和Near的調整步長step之間的一組對應關系,預設的14個碼率控制門限為 {0.5,0.45,0.35,0.30,0.25,0.15,0.05,-0.05,0.13,- 0.15,- 0.25,- 0.39, - 0.46,-0.53},對應于非零的14個調整步長step={±1,±2,±3,±5,±6,±8,±10};

(4)轉至下一行,如果到達倒數第N+1行,則存儲當前行的上下文信息,以便對圖像的最后N行重新編碼,進行碼率的二次迭代調整;

(5)判斷是否為最后一行,如果否,則轉至步驟(2)進行一次迭代調整,如果是,則轉至步驟(6)進行二次迭代調整;

(6)退回至倒數第N行,進行二次迭代調整:判斷Δr是否大于0(即實際碼率是否大于目標碼率),以進一步調整碼率。如果Δr<0,則說明實際碼率小于目標碼率,滿足碼率要求,編碼結束;如果Δr>0,則不滿足碼率要求,退回至倒數第N行重新編解碼調整,Near加1,迭代次數t計數;

(7)如果t≤Tmax,則轉至步驟(2)重新調整Near值;否則退出后N行的碼率調整迭代,編碼結束。

由于本文提出的碼率控制方法根據已編碼數據的累積碼率和目標碼率之差調整每一行的Near值,而這些信息在解碼端是已知的,解碼端通過相同的步驟即可以得到完全相同的Near調整值,因此并不需要將Near的調整值傳遞至解碼端。

4 實驗結果與分析

4. 1 碼率控制

圖4 IKONOS測試圖像Fig.4 Multispectral images from IKONOS

由于本文壓縮方法是基于二次迭代調整的JPEG-LS碼率控制方法,所以本文首先對2種碼率控制算法進行評估,分別是文獻[11]提出的基于分區一次調整的碼率控制方法以及本文算法(二次迭代調整)。圖5分別為這2種方法以3倍獨立壓縮多光譜圖像各波段時的碼率(bpp)和重構圖像峰值信噪比(PSNR)值。

從圖5可以看出,和分區一次調整方法相比,本文提出的基于二次迭代調整的碼率控制方法控制碼率更加精確,在實際碼率低于目標碼率的前提下,非常逼近目標碼率,和目標碼率的偏差僅僅為0.006 4;而且由于碼率控制更加準確,重構質量也明顯優于分區一次調整,平均PSNR比分區一次調整提高了大約1dB。

本文方法僅僅對少數行進行了簡單的二次迭代調整,因此并沒有增加太多編碼復雜度,如表1所示,編碼運行時間僅僅比分區一次調整方法增加了大約10ms。

表1 編碼時間比較Table 1 Comparison of encoding time

4. 2 碼率分配

圖5 碼率控制比較Fig.5 Comparison of Rate control scheme

為了評估碼率分配方法的性能,本節選用了3種算法,一種是基于二次迭代調整的碼率可控JPEG-LS獨立壓縮算法,另外兩種是基于KL變換和碼率可控JPEG-LS的聯合壓縮算法,其中一種采用了文獻[10]提出的基于標準差的碼率分配方法,另一種是本文提出的聯合碼率分配-碼率控制算法。為了評估不同方法的整體性能和重構質量穩定性,本節采用每組多光譜圖像的PSNR平均值和PSNR標準差作為評價指標。

圖6顯示了這3種算法在2、3倍壓縮比下每組多光譜圖像的PSNR平均值和標準差(為了便于統計,無損時PSNR記為100dB)。從圖中可以看出,基于KL變換的譜間聯合壓縮方法由于利用了譜間相關性,壓縮性能基本上優于各波段獨立壓縮方法,但基于標準差的碼率分配方法不是最優的,導致在2倍壓縮時壓縮性能反而不如獨立壓縮,可見碼率分配對系統的率失真性能影響之大。

如圖6所示,本文提出的聯合碼率分配-碼率控制方法整體性能最優,每組多光譜圖像的平均PSNR均優于獨立壓縮和基于標準差的碼率分配方法。如圖6(a)所示,本文算法在2倍壓縮時有3組多光譜圖像達到了無損壓縮。對于重構質量的穩定性,獨立壓縮均勻分配碼率導致各個波段重構質量波動極大,PSNR的標準差最大,穩定性最差;基于標準差的碼率分配方法根據波段的標準差對碼率重新分配,穩定性較高;而本文算法對各個分量統一調整量化步長,各個波段的重構質量最穩定,各個波段PSNR的標準差保持在0.1以內。

圖6 碼率分配壓縮性能比較Fig.6 Performance comparison of rate allocation scheme

5 結論

本文針對基于KL變換和JPEG-LS編碼的多光譜圖像壓縮系統中碼率控制不準確以及碼率分配效果差的問題,提出了一種聯合碼率分配-碼率控制方法。通過分析重構波段失真相當時KL變換各分量量化步長的關系,本文對各分量數據重新組織統一控制碼率,將碼率分配和碼率控制有效統一起來。為了更精確的控制碼率,本文還提出了基于二次迭代調整的碼率控制方法,在對整幅圖像數據完成基于行的量化步長調整后,對最后N行數據重新迭代調整量化步長,使得實際碼率在小于目標碼率的前提下盡可能的接近目標碼率。實驗結果表明本文算法控制碼率非常精確,而且具有較低的計算復雜度;本文算法的整體重構質量也明顯優于其它碼率分配方法,而且各波段重構質量非常穩定。

[1] Mielikainen J,Huang B.Lossless compression of hyperspectral images using clustered linear prediction with adaptive prediction length[J].IEEE Signal Processing Letters,2012,9(6):1118-1121.

[2] 倪林.基于分類K-L變換的多波段遙感圖像近無損壓縮方法[J].遙感學報,2001,5(3):205 -213.[Ni Lin.Near-lossless compression of multispectral remote sensing image based on classified K-L transform[J].Journal of Remote Sensing,2011,5(3):205 -213.]

[3] 宮久路,諶德榮,曹旭平,等.一種最大壓縮誤差可控的高光譜圖像壓縮算法[J].宇航學報,2009,30(6):2303 -2307.[Gong Jiu-lu, Chen De-rong, Cao Xu-ping, et al. A Hyperspectral image compression algorithm of maximum compression error controllable[J].Journal of Astronautics,2009,30(6):2303 -2307.]

[4] Chen Y,Zhang Y,Zhang Y,et al.Fast vector quantization algorithm for hyperspectral image compression[C].IEEE Data Compression Conference,Snowbird,USA,Mar 29 -31,2011.

[5] 粘永健,萬建偉,何密,等.基于分布式信源編碼的高光譜圖像無損壓縮研究進展[J].宇航學報,2012,33(7):860 -869.[Nian Yong-jian,Wan Jian-wei,He Mi,et al.Research progress of lossless compression for hyperspectral image using distributed source coding[J].Journal of Astronautics,2012,33(7):860 -869.]

[6] 孔繁鏘,吳憲云.基于分布式信源編碼和感興趣區域編碼的干涉多光譜圖像壓縮[J].宇航學報,2011,32(2):367 -373.[Kong Fan-qiang,Wu Xian-yun.An improved distributed source coding and ROIcoding based interferometric multi-spectral image compression algorithm[J].Journal of Astronautics,2011,32(2):367 -373.]

[7] Skodras A,Christopoulos C,Ebrahimi T.The JPEG2000 still image compression standard[J]. IEEE Signal Processing Magazine,2001,18(5):36-58.

[8] Weinberger M J,Seroussi G,Sapiro G.LOCO-I lossless image compression algorithm:principles and standardization into JPEGLS[J].IEEE Transactions on Image Processing,2000,l9(8):1309-1324.

[9] Lucero A,Cabrera S,Aguirre A,et al.Comparison of bit allocation methods for compressing three-dimensional meteorological data after applying KLT[C].IEEE International Symposium of Geoscience and Remote Sensing,Alaska,USA,Sep.,20 -24,2004.

[10] 孫蕾,羅建書,谷德峰.基于譜間預測和碼流預分配的高光譜圖像壓縮算法[J].光學精密工程,2008,16(4):752 -757.[Sun Lei,Luo Jian-shu,Gu De-feng.Hyperspectral image compression algorithm based on prediction between bands and rate pre-allocation[J].Optics and Precision Engineering,2008,16(4):752 -757.]

[11] Edirisinghe E A,Bedi S.Variation of JPEG-LS to low cost rate control and its application in region-of-interest based coding[J].Signal Processing:Image Communication,2003,18(5):357 -372.

[12] Zhang J,Li Y S,Liu K,et al.The rate control scheme for JPEG-LS with high bitrate[C]. SPIE, Satellite Data Compression,Communications, and Processing, San Diego,USA,Aug.11 -16,2012.

[13] Hao P,Shi Q.Reversible integer KLT for progressive-to-lossless compression of multiple component images[C].IEEE Int.Conf.Image Process,Barcelona,Spain,Sep.,14 -17,2003.

猜你喜歡
碼率步長波段
中心差商公式變步長算法的計算終止條件
基于緩存補償的視頻碼率自適應算法
最佳波段組合的典型地物信息提取
移動視頻源m3u8多碼率節目源終端自動適配技術
基于Armijo搜索步長的BFGS與DFP擬牛頓法的比較研究
一種改進的變步長LMS自適應濾波算法
一種基于HEVC 和AVC 改進的碼率控制算法
基于狀態機的視頻碼率自適應算法
基于PLL的Ku波段頻率源設計與測試
小型化Ka波段65W脈沖功放模塊
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合