摘 要: 對CCSDS算法進(jìn)行了優(yōu)化,,提出了OCPC算法,。該算法采用兩種預(yù)測模式根據(jù)像素點位置自適應(yīng)地選擇預(yù)測方法,,并且編碼采用Golomb Rice編碼方法,編碼中仍然采用自適應(yīng)編碼K的計算方法,。最后對OCPC算法的壓縮特性進(jìn)行了驗證,,取得了優(yōu)越的壓縮性能。
關(guān)鍵詞: 圖像壓縮,;CCSDS圖像壓縮算法,;OCPC算法
高光譜遙感是指在光譜從紫外到中紅外波段范圍內(nèi)將其劃分為許多非常窄而且連續(xù)的波段來進(jìn)行采集的遙感系統(tǒng),獲得的圖像具有很高的光譜分辨率[1],。海量的高光譜數(shù)據(jù)給傳輸帶來了巨大的壓力,,研究低復(fù)雜度、低存儲和高性能的高光譜圖像壓縮編碼方法是高光譜成像技術(shù)的重要研究課題,。本文主要針對高光譜圖像的無損壓縮進(jìn)行了相關(guān)領(lǐng)域的研究,,并對空間數(shù)據(jù)系統(tǒng)咨詢委員會(CCSDS)最新發(fā)布的CCSDS高光譜圖像無損壓縮算法標(biāo)準(zhǔn)進(jìn)行優(yōu)化。
1 CCSDS算法簡介
CCSDS無損壓縮算法包括圖1所示的兩個功能模塊,,一個模塊是預(yù)測器模塊,,用來減少高光譜圖像數(shù)據(jù)冗余;另一個模塊是編碼器模塊,,對降低冗余后的數(shù)據(jù)進(jìn)行編碼[2-3],。
預(yù)測器的核心就是局部和的選取和局部差的選擇。局部和的計算決定了預(yù)測模式,,精簡模式預(yù)測中選擇的預(yù)測方法為列向局部和,,如圖2(a)所示;全模式預(yù)測中采用的是鄰域預(yù)測像素點選取規(guī)則,,可以選擇的預(yù)測方法為周邊局域和,,如圖2(b)所示。
2 CCSDS算法的優(yōu)化
針對高光譜圖像的譜間相關(guān)性和空間相關(guān)性,,為了取得較好的壓縮性能,,本文提出優(yōu)化組合預(yù)測編碼OCPC(Optimized Combination Processing Coding)算法進(jìn)行高光譜圖像的無損壓縮。這種優(yōu)化的無損壓縮算法根據(jù)當(dāng)前像素點的位置進(jìn)行預(yù)測模式的自適應(yīng)選擇,,計算預(yù)測值與真實像素值之間的差分結(jié)果,,并將差分結(jié)果進(jìn)行Golomb Rice編碼后輸出。OCPC算法有效地解決了圖像邊界預(yù)測問題,,取得了更好的壓縮特性,。
2.1 預(yù)測器的優(yōu)化
OCPC算法的核心就是兩種預(yù)測模式和Golomb Rice編碼,圖4所示為OCPC算法的整個體系結(jié)構(gòu),。
OCPC算法中預(yù)測器包含精簡模式預(yù)測和全模式預(yù)測兩種預(yù)測模式,。精簡模式預(yù)測用于處理高光譜圖像中的第一行、第一列和最后一列像素值,;全模式預(yù)測用于處理高光譜圖像中其他區(qū)域的像素值,。該算法的處理流程如下,。
(1)輸入高光譜圖像數(shù)據(jù),判斷當(dāng)前像素點位置,,若當(dāng)前位置為第一行,、第一列或者最后一列,,則跳至步驟(7),;否則,計算全模式Z譜段周邊局部和,并得到?滓z,y,x,。
(2)由步驟(1)計算的局部和和輸入圖像值可得到中心局部差和周邊局部差,,這里要得到P個譜段的中心局部差值,因此要對譜段進(jìn)行判定,,直到Z-P個譜段中心局部差全部獲取為止,。
(3)由步驟(2)得到的P個中心局部差和3個周邊局部差可得到局域差矢量。
(4)為了得到每個元素均為整數(shù)的局部差矢量,,需要對其進(jìn)行加權(quán),,由此計算出預(yù)測中心局部差z(t)。
(5)由步驟(4)的預(yù)測中心局部差對權(quán)重進(jìn)行權(quán)重更新,,得到實時的權(quán)重更新矢量,。
(6)預(yù)測誤差映射器負(fù)責(zé)對步驟(5)的預(yù)測中心局部差進(jìn)行預(yù)測誤差映射。
(7)精簡模式預(yù)測P個譜段的列向局部和,,得到P個譜段的中心局域差,,由P個中心局部差元素得到局域差矢量,然后對該矢量進(jìn)行加權(quán),,由此計算出預(yù)測中心局部差,,預(yù)測中心局部差一方面由預(yù)測誤差映射器進(jìn)行預(yù)測誤差映射,另一方面用于權(quán)重更新,,預(yù)測誤差映射用于后續(xù)的編碼,。
(8)計算K值,對預(yù)測誤差映射值進(jìn)行Golomb Rice編碼,,壓縮碼流輸出,。
3 OCPC算法的壓縮特性驗證
根據(jù)上述優(yōu)化處理后的OCPC算法,本節(jié)對該算法用C語言實現(xiàn),,并在VC++ 6.0開發(fā)平臺上對高光譜圖像進(jìn)行測試,,包括無損壓縮與解壓縮處理,輸出壓縮后的碼流數(shù)據(jù)與重建后的圖像[5-6],,同時得到壓縮比,,并與優(yōu)化前的CCSDS無損壓縮算法和JPEG-LS壓縮算法進(jìn)行無損壓縮效果對比。
基于C語言的OCPC算法的總體實現(xiàn)框架如下,,ReducedMode( )為精簡模式預(yù)測編碼函數(shù),,F(xiàn)ullMode( )為全模式預(yù)測編碼函數(shù),。
for(y==0;y<Ny;y++)
for(x==0;x<Nx;x++)
{
if(y==0‖x==0‖x==Nx-1)
ReducedMode(src,dst,height,width,bands);
else if
FullMode(src,dst,height,width,bands);
end if;
}
通過VC++ 6.0平臺對該算法的C程序進(jìn)行編譯、鏈接和運(yùn)行,生成.exe可執(zhí)行文件,。在PC命令行處調(diào)用可執(zhí)行文件,,對圖5(a)中的高光譜圖像進(jìn)行壓縮處理,本次壓縮處理采用10個預(yù)測譜段進(jìn)行預(yù)測編碼處理,。為了驗證該算法的壓縮性能,,特針對圖5(a)壓縮處理后的數(shù)據(jù)進(jìn)行解壓縮處理,得到解壓后的輸出圖像,,如圖5(b)所示,。在MATLAB軟件上通過重建的圖像與原圖像的對比可知,解壓后的圖像能夠完全恢復(fù)原圖像,,驗證了OCPC算法對高光譜圖像無損壓縮的可行性,。
為了更客觀地評價優(yōu)化處理后的OCPC算法的無損壓縮性能,另外選取3幅位寬為16 bit的Aviris星載遙感圖像,并對其進(jìn)行無損壓縮處理,。將OCPC算法與CCSDS算法和JPEG-LS算法壓縮進(jìn)行比較,, 3種算法壓縮效果對比如表2所示。
從表2可以看出,,采用JPEG-LS算法指標(biāo)可以實現(xiàn)7.56 bit/像素的壓縮效果,,優(yōu)化前CCSDS算法可實現(xiàn)4.94 bit/像素的壓縮效果,OCPC算法可實現(xiàn)4.52 bit/像素的壓縮效果,,表明OCPC算法均優(yōu)于其他兩種算法標(biāo)準(zhǔn),。特別說明,JPEG-LS無損壓縮算法在去除空間相關(guān)性方面效果較好,,只針對圖像進(jìn)行單譜段獨立壓縮,,由于高光譜圖像的譜間相關(guān)性要遠(yuǎn)遠(yuǎn)高于空間相關(guān)性,因此這里JPEG-LS算法的壓縮效果與CCSDS算法壓縮效果差距較大,。
本文主要優(yōu)化了基于CCSDS最新發(fā)布的CCSDS高光譜圖像無損壓縮標(biāo)準(zhǔn),,提出了高光譜圖像無損壓縮算法OCPC算法。通過測試結(jié)果發(fā)現(xiàn),,CCSDS算法的壓縮特性具有在不影響圖像解壓效果下多譜段預(yù)測編碼的壓縮性能均優(yōu)于單譜段獨立壓縮達(dá)到的性能,,并且OCPC算法的壓縮性能得到提升。
參考文獻(xiàn)
[1] 童慶禧, 張兵, 鄭蘭芳. 高光譜遙感——原理技術(shù)和應(yīng)用[M].北京:高等教育出版社,,2006.
[2] Lossless Multispectral & Hyperspectral Image Compression. Recommendation for space data systems standards[S]. CCSDS 123.0-B-1.Blue Book.Issue 1.Washington D.C,,CCSDS,May,,2012:14-40.
[3] PEN S Y,,PHILIPPE A. The new CCSDS image compression recommendation[C]. IEEE Aerospace Conference,2005:4138-4145.
[4] 胡棟. 靜止圖像編碼的基本方法與國際標(biāo)準(zhǔn)[M]. 北京:北京郵電大學(xué)出版社,2003.
[5] 鄭永奇,,焦鑄,,韓玉霞. 壓縮感知圖像重構(gòu)中矩陣互相關(guān)性的研究[J]. 微型機(jī)與應(yīng)用,2013,32(5):46-49.
[6] 張曉玲,,沈蘭蓀. 高光譜圖像的無損壓縮研究進(jìn)展[J].測控技術(shù),,2004,23(5):23-27.