專利名稱::遙感圖像二倍無(wú)損及近無(wú)損壓縮編碼方法遙感圖像二倍無(wú)損及近無(wú)損壓縮編碼方法
技術(shù)領(lǐng)域:
-本發(fā)明涉及圖像壓縮編碼
技術(shù)領(lǐng)域:
,具體說(shuō)是一種無(wú)損、近無(wú)損編碼方法,用于衛(wèi)星遙感圖像的壓縮編碼。
背景技術(shù):
:在衛(wèi)星遙感應(yīng)用中,搭載在衛(wèi)星平臺(tái)J:的各類有效載荷,如可見光相機(jī)、多光譜成像儀、紅外相機(jī)、干涉合成孔徑雷達(dá)等,可以獲取不同種類的遙感圖像。與一般自然圖像相比,遙感圖像數(shù)據(jù)的相關(guān)性較弱,具有信息熵值高、冗余度低的特點(diǎn),故進(jìn)行高壓縮比的實(shí)時(shí)編碼是非常困難的。在實(shí)際應(yīng)用中,衛(wèi)星遙感圖像的壓縮質(zhì)量要求與其它電視、景物、醫(yī)療圖像也有著很大的區(qū)別,表現(xiàn)在1).軍事衛(wèi)星遙感圖像,尤其是光學(xué)遙感圖像,一些重要的信息主要隱含在某些點(diǎn)、線和點(diǎn)的集合上。對(duì)于遙感圖像中軍事目標(biāo)(如坦克、飛機(jī)、橋梁和機(jī)場(chǎng)跑道等等)的判讀,目前主要依靠軍事目標(biāo)的幾何形狀特征來(lái)識(shí)別的。這就要求編解碼處理后,軍事目標(biāo)的形狀和位置不發(fā)生畸變和扭曲。2).由于衛(wèi)星遙感圖像是在幾百公里高空拍攝的,成像時(shí)受到太陽(yáng)高度角、大氣散射等諸多因素的影響,導(dǎo)致原始圖像質(zhì)量較差,信噪比較低,對(duì)比度不均勻。這就要求編解碼系統(tǒng)應(yīng)當(dāng)盡量避免累加編碼噪聲,如方塊效應(yīng)、凸凹噪聲、偽輪廓噪聲、條帶狀噪聲以及"巻繞"失真等等,引起軍事目標(biāo)信息的丟失。3).為了適應(yīng)星上壓縮,算法要求必須簡(jiǎn)便、快捷、所占用的存儲(chǔ)容量小、易于硬件實(shí)現(xiàn)。由于這些遙感圖像的原始數(shù)據(jù)率很高,而且存在信息冗余,因此在進(jìn)行數(shù)據(jù)存儲(chǔ)和傳輸之前需要對(duì)遙感圖像進(jìn)行高效的壓縮編碼。為了最大限度的保持原始圖像的質(zhì)量,在某些應(yīng)用下r要求對(duì)這些遙感圖像進(jìn)行無(wú)損或近無(wú)損的壓縮。近年來(lái),圖像編碼理論取得了一系列令人矚目的成果。1993年Shapiro提出了內(nèi)嵌零樹編碼(EZW)方法,1996年P(guān)earlman根據(jù)Shapiro零樹編碼的基本思想,提出了一種新的且性能更優(yōu)的實(shí)現(xiàn)方法,即基于分層樹集合分割排序(SetPartitioninginHierarchicalTrees,SPIHT)的編碼算法。2000年Taubman結(jié)合率失真優(yōu)化算法提出了EBCOT算法,該算法被最新的國(guó)際編碼標(biāo)準(zhǔn)JPEG2000所釆用,成為JPEG2000編碼系統(tǒng)的核心算法。這些高性能算法把小波變換應(yīng)用到圖像編碼,是一次新的圖像編碼技術(shù)革命。但是這些以小波變換為核心的壓縮算法,由于小波變換的計(jì)算復(fù)雜度高、比特平面編碼復(fù)雜度高和所需存儲(chǔ)空間很大,硬件實(shí)現(xiàn)復(fù)雜度高,很難滿足衛(wèi)星遙感圖像壓縮應(yīng)用的要求。傳統(tǒng)的JPEG圖像壓縮方法壓縮效率較低,而且不適于無(wú)損或近無(wú)損壓縮;同時(shí)JPEG算法的抗誤碼能力不強(qiáng),在誤碼率較高的衛(wèi)星信道傳輸會(huì)造成嚴(yán)重的誤碼擴(kuò)散,因此也不宜采用。發(fā)明的內(nèi)容本發(fā)明的目的在于克服上述己有技術(shù)的不足,提供一種編碼復(fù)雜度低、易于硬件實(shí)現(xiàn)的遙感圖像二倍無(wú)損及近無(wú)損壓縮編碼方法,以實(shí)現(xiàn)衛(wèi)星遙感圖像壓縮應(yīng)用的要求。實(shí)現(xiàn)本發(fā)明目的的技術(shù)關(guān)鍵是將原始圖像分成條帶,每一條帶獨(dú)立編碼。在條帶編碼中,把圖像數(shù)據(jù)分為重要比特平面和非重要比特平面,對(duì)重要比特平面數(shù)據(jù)進(jìn)行無(wú)損編碼,根據(jù)輸出碼流長(zhǎng)度與編碼門限的關(guān)系決定是否輸出非重要比特平面數(shù)據(jù),以實(shí)現(xiàn)碼率控制。具體過(guò)程如下-1、根據(jù)輸入原始圖像的寬度、高度信息將圖像分成條帶,并根據(jù)各條帶的寬度、高度以及圖像數(shù)據(jù)精度確定編碼門限T,即乂=16其中W為原始圖像的寬度A為條帶的高度7V為圖像數(shù)據(jù)的精度;2、根據(jù)輸入圖像的位深N和數(shù)據(jù)拆分比特位bp,將每個(gè)條帶中的所有數(shù)據(jù)拆分成重要比特平面序列和非重要比特平面序列;3、對(duì)重要比特平面序列WgS,進(jìn)行無(wú)損編碼,即先對(duì)重要比特平面序列W'g&進(jìn)行差分和映射處理后生成一個(gè)非負(fù)序列《,再將該非負(fù)序列《按每16個(gè)數(shù)據(jù)分為一組,獨(dú)立進(jìn)行熵編碼,依次編碼完整個(gè)序列《;4、當(dāng)一個(gè)條帶的重要比特序列編碼結(jié)束時(shí),將輸出碼流長(zhǎng)度L與編碼門限T比較,根據(jù)當(dāng)前條帶的重要比特平面碼流長(zhǎng)度L大于或小于編碼門限T的不同結(jié)果,對(duì)下一個(gè)條帶的數(shù)據(jù)拆分位bp'進(jìn)行調(diào)整,并對(duì)該條帶的數(shù)據(jù)編碼;5、依次對(duì)所有條帶完成編碼后,輸出總的編碼碼流。上述遙感圖像二倍無(wú)損及近無(wú)損壓縮編碼方法,其中當(dāng)前條帶的重要比特平面碼流長(zhǎng)度L達(dá)到或超過(guò)編碼門限T時(shí),則進(jìn)行如下處理(1)如果Z-r^77W,則調(diào)整下一個(gè)條帶的數(shù)據(jù)拆分比特位bp',々bp'=bp+l;(2)更新輸出碼流長(zhǎng)度L與門限的冗余比特長(zhǎng)度R,使更新后的冗余比特長(zhǎng)度i'-w+丄-r,再進(jìn)入下一個(gè)條帶編碼。上述的遙感圖像二倍無(wú)損及近無(wú)損壓縮編碼方法,其中當(dāng)前條帶的重要比特平面碼流長(zhǎng)度L小于總編碼門限T時(shí),則進(jìn)行如下處理(1)如果T-丄2^,則調(diào)整下一個(gè)條帶的數(shù)據(jù)拆分比特位bp',令bp^bp陽(yáng)l,8若bp已經(jīng)為O則不做處理(2)如果r-Ki,更新當(dāng)前冗余比特長(zhǎng)度R,使更新后的冗余比特長(zhǎng)度i'=i+z-r,進(jìn)入下一個(gè)條帶編碼;(3)如果r-丄>及,則通過(guò)進(jìn)一步判斷超出長(zhǎng)度r-z-;與非重要比特流長(zhǎng)度u的關(guān)系,確定非重要比特的輸出(a)如果r-z-/》c/,輸出非重要比特碼流長(zhǎng)度u和非重要比特碼流,更新當(dāng)前冗余比特長(zhǎng)度R,進(jìn)入下一個(gè)條帶編碼;(b)如果r-z-i<^/,輸出長(zhǎng)度信息r-丄-/和部分非重要比特碼流,將當(dāng)前冗余比特長(zhǎng)度R清零,進(jìn)入下一個(gè)條帶編碼。上述遙感圖像二倍無(wú)損及近無(wú)損壓縮編碼方法,其中對(duì)重要比特平面序列^^,進(jìn)行差分處理是,依次將每一個(gè)條帶重要比特平面序列^g《中每一個(gè)點(diǎn)的值減去前一個(gè)點(diǎn)的值,得到一個(gè)相應(yīng)的差分序列w,,具體計(jì)算公式為,其中M,(O)和WgS,(O)分別為序列巧和s/p,的起始數(shù)據(jù);s/g《C/)為圖像條帶重要比特平面序列S/^,中第j個(gè)點(diǎn)的值;巧CO為差分序列化中第j個(gè)點(diǎn)的值。上述遙感圖像二倍無(wú)損及近無(wú)損壓縮編碼方法,其中對(duì)重要比特平面序列w^,進(jìn)行映射處理是將差分序列巧映射為一個(gè)非負(fù)的序列《,具體映射公式為其中P=minO,(7—1),2一—M,(_/—1)-1);N為數(shù)據(jù)精度,bp為當(dāng)前編碼條帶的數(shù)據(jù)拆分位;《C/)為序列《中第j個(gè)點(diǎn)的值。上述遙感圖像二倍無(wú)損及近無(wú)損壓縮編碼方法,其中將非負(fù)序列《按每16個(gè)數(shù)據(jù)分為一組,獨(dú)立進(jìn)行熵編碼,是通過(guò)自適應(yīng)熵編碼器,采用分裂編碼方法按如下過(guò)程進(jìn)行(1)對(duì)分組數(shù)據(jù)n位編碼數(shù)據(jù)按照分裂位k進(jìn)行數(shù)據(jù)分裂,產(chǎn)生兩組數(shù)據(jù)一組n-k位高比特?cái)?shù)據(jù)和一組k位的低比特?cái)?shù)據(jù);(2)對(duì)高比特?cái)?shù)據(jù)進(jìn)行游程編碼;(3)把低比特?cái)?shù)據(jù)直接附加在高比特?cái)?shù)據(jù)碼流后面;(4)按照分裂位k從0到iV-^的順序,依次計(jì)算使用不同分裂位編碼將產(chǎn)生的碼流長(zhǎng)度,對(duì)產(chǎn)生的所以碼流長(zhǎng)度進(jìn)行比較,選取碼流長(zhǎng)度最短的碼流所對(duì)應(yīng)的分裂位對(duì)所述的16個(gè)數(shù)據(jù)進(jìn)行分裂編碼。上述遙感圖像二倍無(wú)損及近無(wú)損壓縮編碼方法,其中重要比特平面序列Wg^是原序列的W-^個(gè)高比特平面單獨(dú)組成一個(gè)新的序列,該序列的序號(hào)由低到高依次為0、1、…W-6p-l;其中非重要比特平面序列eA7^是原序列的bp個(gè)低比特平面單獨(dú)組成另一個(gè)新的序列,該序列的序號(hào)由低到高依次為O、1、…-l。本發(fā)明由于沒有復(fù)雜的矩陣運(yùn)算或者上下文預(yù)測(cè),因而相對(duì)于現(xiàn)有技術(shù),復(fù)雜度低,硬件實(shí)現(xiàn)簡(jiǎn)單,編碼速度和效率都比較高,且恢復(fù)圖像質(zhì)量滿足應(yīng)用要求。表1給出了本發(fā)明對(duì)14幅實(shí)際的衛(wèi)星遙感圖像,包括可見光圖像、紅外圖像和多《(/)=2(柳)《(_/)=2|柳|-1其他光譜圖像進(jìn)行2倍壓縮時(shí)的實(shí)際壓縮倍數(shù)和恢復(fù)圖像峰值信噪比測(cè)試結(jié)果。由表1可見,在2倍壓縮時(shí)恢復(fù)圖像的峰值信噪比PSNR均能達(dá)到60dB以上;同時(shí)可見,對(duì)大多數(shù)圖像還可以實(shí)現(xiàn)無(wú)損壓縮。因此,本發(fā)明非常適合于衛(wèi)星上遙感圖像的無(wú)損、近無(wú)損實(shí)時(shí)壓縮應(yīng)用。表1峰值信噪比<table>tableseeoriginaldocumentpage9</column></row><table>圖1是本發(fā)明的編碼流程框圖;圖2是本發(fā)明對(duì)數(shù)據(jù)拆分位調(diào)整和輸出非重要比特平面碼流的流程框圖;圖3是本發(fā)明對(duì)圖像數(shù)據(jù)進(jìn)行高低位拆分處理示意圖;圖4是本發(fā)明的熵編碼流程框圖;圖5是本發(fā)明編碼碼流的結(jié)構(gòu)框圖。具體實(shí)施方式本實(shí)施例采用原始輸入圖像的寬度和高度為512像素,條帶高度為64像素,圖像數(shù)據(jù)的精度為12比特,文件頭長(zhǎng)度指定為IO字節(jié)。參照?qǐng)D1和圖2,本發(fā)明的壓縮編碼過(guò)程如下-第一歩,對(duì)圖像進(jìn)行分塊,確定編碼門限T。根據(jù)輸入圖像的寬度和高度將圖像分成8個(gè)寬度為512像素、高度為64像素的條帶,即512X64=32768個(gè)數(shù)據(jù)點(diǎn)。并根據(jù)各條帶的寬度、高度以及圖像數(shù)據(jù)精度確定編碼門限T,按照公式7=16,將每條帶的編碼門限T定為512X64X12/16=24576比特,該編碼門限T是條帶碼流長(zhǎng)度的理想值,對(duì)于簡(jiǎn)單圖像,實(shí)際的條帶碼流長(zhǎng)度可低于編碼門限T,反之對(duì)于復(fù)雜圖像,實(shí)際的條帶碼流長(zhǎng)度也可能高于編碼門限T。第二步,確定分塊數(shù)據(jù)拆分比特位bp,并進(jìn)行數(shù)據(jù)拆分。設(shè)定初始bp為2,根據(jù)輸入圖像的位深N和數(shù)據(jù)拆分比特位bp,將每個(gè)條帶中的所有數(shù)據(jù)拆分成重要比特平面序列s/^,和非重要比特平面序列a,該重要比特平面序列W^,是由原序列的W-Z^個(gè)高比特平面單獨(dú)組成的一個(gè)新序列;該非重要比特平面序列是由原序列的bp個(gè)低比特平面單獨(dú)組成的另一個(gè)新序列。對(duì)于第一個(gè)條帶,由于初始bp^2,其重要比特平面序列由IO個(gè)比特平面組成,非重要比特平面序列有2個(gè)比特平面組成。設(shè)拆分處理前的第/個(gè)條帶數(shù)據(jù)記為s,,s,包括32768個(gè)數(shù)據(jù)點(diǎn),每一個(gè)數(shù)據(jù)點(diǎn)包括12個(gè)比特平面,即數(shù)據(jù)的精度為12比特。在12個(gè)比特平面中,位于最上面的10個(gè)高比特平面為重要比特平面,將s,中所有數(shù)據(jù)點(diǎn)的IO個(gè)高比特平面組成重要比特平面序列,記為w^s,,其余2個(gè)低比特平面組成非重要比特平面序列,記為w",,如圖3所示。在圖3中,3個(gè)框的每一列表示相應(yīng)序列中一個(gè)點(diǎn)的值的二進(jìn)制,每一行代表一個(gè)比特平面,越高層的比特平面越重要,隨著比特平面的降低,重要性隨之遞減。由于圖像數(shù)據(jù)精度為N,因而拆分前序列具有N個(gè)比特平面,其序號(hào)由低到高依次為0、1、…TV-1,經(jīng)過(guò)高低位拆分處理后,原序列的AT-*個(gè)高比特平面單獨(dú)組成一個(gè)新的序列,作為重要比特平面序列w'g5,,該序列具有W-^個(gè)比特平面,其序號(hào)由低到高依次為O、1、…W-^-l。原序列的bp個(gè)低比特平面則單獨(dú)組成另一個(gè)新的序列,作為非重要比特平面序列eATO,,該序列具有bp個(gè)比特平面,其序號(hào)由低到高依次為0、1、…^-l。例如,如果拆分前序列^中第j點(diǎn)s,(y)的值為629,相應(yīng)的二進(jìn)制表示為001001110101,其中最左邊的O比特位于最高比特平面,即第ll比特平面,而最右邊的i比特位于最低比特平面,即第o比特平面。按比特平面的重要性將^,c/)拆分成兩部分,一部分為前10個(gè)比特0010011101,相應(yīng)的十進(jìn)制表示為157,記為s/p,C/),表示重要比特平面序列的第j點(diǎn);另一部分為后2個(gè)比特01,相應(yīng)的十進(jìn)制表示為1,記為,表示非重要比特平面序列e^y,的第j點(diǎn)。第三步,對(duì)重要比特平面序列s/p,進(jìn)行無(wú)損編碼。(1)對(duì)當(dāng)前條帶重要比特平面序列W^,進(jìn)行差分處理,即依次將該重要比特平面序列W^,中每一個(gè)點(diǎn)的值減丟前一個(gè)點(diǎn)的值,從而得到一個(gè)相應(yīng)的差分序列巧,設(shè)J扭,C/)為重要比特平面序列s輛中第j個(gè)點(diǎn)的值,A(力為差分序列巧中第j個(gè)點(diǎn)的值,具體計(jì)算公式為,<formula>formulaseeoriginaldocumentpage11</formula>其中M,(O)和s扭,(O)分別為序列巧禾fU扭,的起始數(shù)據(jù);s扭,C/)為圖像條帶重要比特平面序列s輛中第j個(gè)點(diǎn)的值;巧CO為差分序列巧中第j個(gè)點(diǎn)的值。(2)對(duì)重要比特平面序列Wp,進(jìn)行映射處理,將差分序列巧映射為一個(gè)非負(fù)的序列《,由于M,中會(huì)出現(xiàn)負(fù)值,對(duì)巧再做一次非負(fù)映射,生成一個(gè)新的非負(fù)序列《,設(shè)《CO為序列《中第j個(gè)點(diǎn)的值,具體映射公式為<formula>formulaseeoriginaldocumentpage11</formula>其中<formula>formulaseeoriginaldocumentpage11</formula>N為數(shù)據(jù)精度,bp為當(dāng)前編碼條帶的數(shù)據(jù)拆分位;《C0為序列《中第j個(gè)點(diǎn)的值。(3)將所述的非負(fù)序列《按每16個(gè)數(shù)據(jù)分為一組,獨(dú)立進(jìn)行熵編碼,如圖4所示,其過(guò)程如下1)對(duì)分組數(shù)據(jù)n位編碼數(shù)據(jù)按照分裂位k進(jìn)行數(shù)據(jù)分裂,產(chǎn)生兩組數(shù)據(jù)一組n-k位高比特?cái)?shù)據(jù)和一組k位的低比特?cái)?shù)據(jù);2)對(duì)高比特?cái)?shù)據(jù)進(jìn)行游程編碼;3)把低比特?cái)?shù)據(jù)直接附加在高比特?cái)?shù)據(jù)碼流后面;4)按照分裂位k從O到iV-6/7的順序,依次計(jì)算使用不同分裂位編碼將產(chǎn)生的碼流長(zhǎng)度,對(duì)產(chǎn)生的所以碼流長(zhǎng)度進(jìn)行比較,選取碼流長(zhǎng)度最短的碼流所對(duì)應(yīng)的分裂位6一,對(duì)所述的16個(gè)數(shù)據(jù)依次進(jìn)行分裂編碼。本實(shí)施例中,按照每16個(gè)數(shù)據(jù)分為一組,每條帶可分2048個(gè)分組,依次每個(gè)分組獨(dú)立進(jìn)行熵編碼。在每個(gè)分組的熵編碼過(guò)程中,按照分裂位k從0到7V-6/7的順序,依次計(jì)算使用不同分裂位編碼將產(chǎn)生的碼流長(zhǎng)度,比較后選取碼流長(zhǎng)度最短的分裂位&,,對(duì)該分組使用分裂位為&p,的分裂編碼。如果熵編碼前某一個(gè)分組中的《C/')=0000111010,相應(yīng)的十進(jìn)制數(shù)為72,對(duì)其進(jìn)行分裂位k從0至U10的分裂編碼,分別記錄編碼碼長(zhǎng)。假設(shè)對(duì)其做k=3的分裂編碼,《C/)首先被分裂為兩個(gè)數(shù)據(jù)^(y)-0000111,&c/)=oio,《力(y)對(duì)應(yīng)十進(jìn)制數(shù)為7,所以對(duì)其做游程編碼的碼字為00000001,長(zhǎng)度為8,^C/)的碼長(zhǎng)為3,得到對(duì)《C/)進(jìn)行k-3的分裂編碼碼字長(zhǎng)度為ii。記錄k-o,i,…,10時(shí)對(duì)《c/)分裂編碼的碼字長(zhǎng)度,對(duì)該分組中16個(gè)《(y)做相同處理,并分別累加得到k-0,1,…,IO時(shí)的分組碼流長(zhǎng)度,選擇長(zhǎng)度最小的碼流對(duì)應(yīng)的k值,記為、p,,然后對(duì)該分組進(jìn)行分裂位為;t,的分裂編碼,在輸出分組碼流時(shí)要先輸出4比特的、,值。第四步,將重要比特平面碼流長(zhǎng)度L與編碼門限T比較,并調(diào)整下一個(gè)條帶的數(shù)據(jù)拆分位bp'。當(dāng)一個(gè)條帶的重要比特序列編碼結(jié)束時(shí),將輸出碼流長(zhǎng)度L與編碼門限T進(jìn)行比較,根據(jù)當(dāng)前條帶的重要比特平面碼流長(zhǎng)度L大于或小于編碼門限T的不同結(jié)果,對(duì)下一個(gè)條帶的數(shù)據(jù)拆分位bp'進(jìn)行調(diào)整,艮P:女口果丄-7^77W,令bp'-bp+l;如果r-丄^^,則令bp'-bp-i,此時(shí)若bp已經(jīng)為o則不做處理,該2^為非88重要比特平面一個(gè)比特平面的碼流;其他情況下bp'不變,例如第一條帶重要比特平面編碼碼流長(zhǎng)度L為22639比特,T為24576比特,T—丄為1937比特,^為4096比特,所以下一條帶的bp'不變。8第五步,根據(jù)不同情況輸出非重要比特平面數(shù)據(jù)er巧,獲得當(dāng)前條帶的編碼碼流。1.當(dāng)重要比特平面的碼流L大于或等于編碼門限T時(shí),即£27,或者當(dāng)L小于T同時(shí)L與T的差異不超過(guò)當(dāng)前冗余比特長(zhǎng)度R時(shí),g卩r-£2/,不用輸出非重要比特平面數(shù)據(jù),只需輸出4字節(jié)的非重要比特流長(zhǎng)度信息0即可,同時(shí)要更新當(dāng)前冗余比特長(zhǎng)度R。2.當(dāng)L小于T同時(shí)L與T的差異超過(guò)當(dāng)前冗余比特長(zhǎng)度R時(shí),即T-£>及,需要輸出非重要比特?cái)?shù)據(jù),此時(shí)需要判斷非重要比特平面碼流長(zhǎng)度U與T-i的關(guān)系(1)如果t/》r-丄-i,則輸出4字節(jié)長(zhǎng)度信息r-丄-/,接著輸出非重要比特平面碼流(輸出長(zhǎng)度為r-丄-i);(2)如果c/〈r-i:-i,則輸出4字節(jié)長(zhǎng)度信息u,接著輸出全部非重要比特平面碼流,更新當(dāng)前的冗余比特長(zhǎng)度R。例如,在第一條帶中,當(dāng)前R為O,r-Z為1937比特,非重要比特平面碼流長(zhǎng)度U為8192比特,所以需要輸出部分非重要比特平面碼流以達(dá)到條帶編碼門限T。先輸出4字節(jié)的長(zhǎng)度信息1937,然后依次輸出1937比特的非重要比特平面碼流,當(dāng)前冗余比特長(zhǎng)度R仍為O。所述第三步產(chǎn)生的重要比特平面編碼碼流與第五步輸出的非重要比特平面碼流這兩部分之和,構(gòu)成當(dāng)前條帶的編碼碼流。第六步,以bp'為數(shù)據(jù)拆分位,返回到第二步進(jìn)入下一個(gè)條帶編碼。以bp'為拆分位對(duì)下一個(gè)條帶數(shù)據(jù)進(jìn)行拆分,并依次進(jìn)行重要比特平面序列無(wú)損編碼、調(diào)整下一個(gè)條帶的數(shù)據(jù)拆分位、輸出非重要比特平面數(shù)據(jù),獲得第二個(gè)條帶的編碼碼流。第七步,反復(fù)進(jìn)行第二步到第六步,獲得所有條帶的總壓縮編碼碼流。該總的壓縮編碼碼流由文件頭和各個(gè)獨(dú)立的壓縮包組成,如圖5所示。參照?qǐng)D5,文件頭長(zhǎng)度固定,包括輸入圖像的信息寬width、高h(yuǎn)eight、條帶高H和像素位深N。每個(gè)壓縮包包括包頭和該壓縮包所對(duì)應(yīng)條帶的編碼碼流,其中包頭由長(zhǎng)度為1字節(jié),用于保存當(dāng)前條帶的數(shù)據(jù)拆分位bp組成;每一個(gè)條帶的編碼碼流為該條帶的重要比特平面編碼碼流與非重要比特平面碼流之和。該重要比特碼流依次由各分組碼流組成,各分組碼流包括4比特分裂位;^,值和分組編碼碼流。對(duì)于本領(lǐng)域的專業(yè)人員來(lái)說(shuō),在了解了本
發(fā)明內(nèi)容和方法后,能夠在不背離本發(fā)明.的原理和范圍的情況下,根據(jù)本發(fā)明的方法進(jìn)行形式和細(xì)節(jié)上的各種修正和改變,但是這些基于本發(fā)明的修正和改變?nèi)栽诒景l(fā)明的權(quán)利要求保護(hù)范圍。權(quán)利要求1、一種遙感圖像二倍無(wú)損及近無(wú)損壓縮編碼方法,包括如下過(guò)程(1)根據(jù)輸入原始圖像的寬度、高度信息將圖像分成條帶,并根據(jù)各條帶的寬度、高度以及圖像數(shù)據(jù)精度確定編碼門限T,即2、根據(jù)權(quán)利要求1所述的遙感圖像二倍無(wú)損及近無(wú)損壓縮編碼方法,其中當(dāng)前條帶的重要比特平面碼流長(zhǎng)度L達(dá)到或超過(guò)編碼門限T時(shí),對(duì)下一個(gè)條帶的數(shù)據(jù)拆分位bp'進(jìn)行調(diào)整并輸出當(dāng)前條帶的非重要比特平面碼流,包括如下過(guò)程1)如果Z-7^77W,則調(diào)整下一個(gè)條帶的數(shù)據(jù)拆分比特位bp',令bp'-bp+l;2)更新當(dāng)前冗余比特長(zhǎng)度R,使更新后的冗余比特長(zhǎng)度/'-i+丄-r;3)輸出4字節(jié)長(zhǎng)度信息0的非重要比特平面數(shù)據(jù)信息。3、根據(jù)權(quán)利要求1所述的遙感圖像二倍無(wú)損及近無(wú)損壓縮編碼方法,其中當(dāng)前條帶的重要比特平面碼流長(zhǎng)度L小于總編碼門限T時(shí),對(duì)下一個(gè)條帶的數(shù)據(jù)拆分位bp'進(jìn)行調(diào)整并輸出當(dāng)前條帶的非重要比特平面碼流,包括如下過(guò)程1)如果T-丄2^,則調(diào)整下一個(gè)條帶的數(shù)據(jù)拆分比特位bp',令bp'-bp-l,8若bp已經(jīng)為0則不做調(diào)整;2)如果T-丄SA,更新當(dāng)前冗余比特長(zhǎng)度R,使更新后的冗余比特長(zhǎng)度=+7;輸出4字節(jié)長(zhǎng)度信息0的非重要比特平面數(shù)據(jù)信息;3)如果r-丄〉i,則通過(guò)進(jìn)一步判斷超出長(zhǎng)度r-z-及與非重要比特碼流長(zhǎng)度u的關(guān)系,確定非重要比特的輸出(a)如果T-丄-i2t/,更新當(dāng)前冗余比特長(zhǎng)度R,輸出非重要比特碼流長(zhǎng)度u和非重要比特碼流;(b)如果r-丄-i<u,將當(dāng)前冗余比特長(zhǎng)度R清零,輸出長(zhǎng)度信息r-丄-及和部分非重要比特碼流。4、根據(jù)權(quán)利要求i所述的遙感圖像二倍無(wú)損及近無(wú)損壓縮編碼方法,其中對(duì)重要比特平面序列s/^,進(jìn)行差分處理是依次將每一個(gè)條帶重要比特平面序列W'^,中每一個(gè)點(diǎn)的值減去前一個(gè)點(diǎn)的值,得到一個(gè)相應(yīng)的差分序列巧,具體計(jì)算公式為,<formula>formulaseeoriginaldocumentpage3</formula>其中M,(O)和W'gS,(O)分別為序列巧和的起始數(shù)據(jù);S扭C/)為圖像條帶重要比特平面序列S扭中第j個(gè)點(diǎn)的值;巧C/)為差分序列M,中第j個(gè)點(diǎn)的值。5、根據(jù)權(quán)利要求1所述的遙感圖像二倍無(wú)損及近無(wú)損壓縮編碼方法,其中對(duì)重要比特平面序列s/p,進(jìn)行映射處理是將差分序列化映射為一個(gè)非負(fù)的序列《,具體映射公式為<formula>formulaseeoriginaldocumentpage4</formula>其他其中<formula>formulaseeoriginaldocumentpage4</formula>N為數(shù)據(jù)精度,bp為當(dāng)前編碼條帶的數(shù)據(jù)拆分位;《(/)為序列《中第j個(gè)點(diǎn)的值。6、根據(jù)權(quán)利要求1所述的遙感圖像二倍無(wú)損及近無(wú)損壓縮編碼方法,其中將非負(fù)序列《按每16個(gè)數(shù)據(jù)分為一組,獨(dú)立進(jìn)行熵編碼,是通過(guò)自適應(yīng)熵編碼器,采用分裂編碼方法按如下過(guò)程進(jìn)行(1)對(duì)分組數(shù)據(jù)n位編碼數(shù)據(jù)按照分裂位k進(jìn)行數(shù)據(jù)分裂,產(chǎn)生兩組數(shù)據(jù)一組n-k位高比特?cái)?shù)據(jù)和一組k位的低比特?cái)?shù)據(jù);(2)對(duì)高比特?cái)?shù)據(jù)進(jìn)行游程編碼;(3)把低比特?cái)?shù)據(jù)直接附加在高比特?cái)?shù)據(jù)碼流后面;(4)按照分裂位k從0到的順序,依次計(jì)算使用不同分裂位編碼將產(chǎn)生的碼流長(zhǎng)度,對(duì)產(chǎn)生的所以碼流長(zhǎng)度進(jìn)行比較,選取碼流長(zhǎng)度最短的碼流所對(duì)應(yīng)的分裂位tp,,對(duì)所述的16個(gè)數(shù)據(jù)進(jìn)行分裂編碼。7、根據(jù)權(quán)利要求1所述的遙感圖像二倍無(wú)損及近無(wú)損壓縮編碼方法,其中重要比特平面序列W^,是原序列的7V-6;j個(gè)高比特平面單獨(dú)組成一個(gè)新的序列,該序列的序號(hào)由低到高依次為O、1、…iV-6尸-l。8、根據(jù)權(quán)利要求1所述的遙感圖像二倍無(wú)損及近無(wú)損壓縮編碼方法,其中非重要比特平面序列en^,是原序列的bp個(gè)低比特平面單獨(dú)組成另一個(gè)新的序列,該序列的序號(hào)由低到高依次為O、1、…6/7-1。全文摘要本發(fā)明公開了一種遙感圖像二倍無(wú)損及近無(wú)損壓縮編碼方法。其過(guò)程是將原始圖像分成條帶,根據(jù)各條帶的寬度、高度以及圖像數(shù)據(jù)精度確定條帶編碼門限T;將每個(gè)條帶中所有數(shù)據(jù)按照其數(shù)據(jù)拆分位拆分成重要比特平面序列和非重要比特平面序列;對(duì)重要比特平面序列進(jìn)行無(wú)損編碼;根據(jù)輸出重要比特平面編碼碼流長(zhǎng)度、編碼門限以及冗余比特之間的關(guān)系控制輸出非重要比特平面碼流,以趨近編碼門限;對(duì)下一條帶數(shù)據(jù)拆分位進(jìn)行調(diào)整,并使用該調(diào)整后的數(shù)據(jù)拆分位對(duì)下一條帶進(jìn)行編碼;依次反復(fù)完成所有條帶的壓縮編碼。本發(fā)明具有復(fù)雜度低、易于硬件實(shí)現(xiàn)、編碼速度和效率高的優(yōu)點(diǎn),可用于衛(wèi)星遙感圖像壓縮。文檔編號(hào)G01S17/00GK101126807SQ20071001870公開日2008年2月20日申請(qǐng)日期2007年9月20日優(yōu)先權(quán)日2007年9月20日發(fā)明者云刁,凱劉,吳成柯,孔繁鏘,李云松,王柯儼,馬偉祥,龔曉華申請(qǐng)人:西安電子科技大學(xué)