梁小溪,朱 迪,張 慧,李亞乾,顧村鋒*
(1. 上海機電工程研究所,上海,201109;2. 上海新力動力設備研究所,上海,201109;3. 上海擴博智能技術有限公司,上海,200241)
圖像傳輸在防空武器中廣泛應用,如紅外導引頭,圖像回傳可實現(xiàn)人在回路控制導彈與目標交匯,同時用于戰(zhàn)場環(huán)境監(jiān)測與殺傷評估。如德國IDAS潛射防空導彈采用紅外成像導引頭[1],導彈發(fā)射出水后在水平360°方向進行搜索,紅外導引頭可對戰(zhàn)場態(tài)勢進行成像[2],并實時回傳成像信息,通過光纖實現(xiàn)圖像傳輸。然而,通過光纖進行圖像傳輸有很多的弊端。一方面,在導彈飛行過程中光纖因受力可能斷裂,這樣會終止導彈與武器系統(tǒng)的正常通信;另一方面,光纖的使用常常會限制導彈的作用距離,并且不利于導彈與潛艇之間的多點傳輸。為了解決這個問題,可以采用無線通信的方式來代替光纖通信,但是受制于作戰(zhàn)環(huán)境,圖像的無線傳輸易受環(huán)境的影響,多路徑、雜波、氣候等因素會導致信息傳輸信噪比降低,限制了圖像傳輸?shù)淖罡邤?shù)據(jù)率,進一步限制了圖像無線傳輸在防空武器系統(tǒng)領域的應用。
本文在對比分析JPEG、JPEG2000和SPIHT三種圖像壓縮算法特點的基礎上,將具有實時性特點,并支持多分辨率漸進傳輸?shù)腟PIHT圖像壓縮算法應用到防空武器系統(tǒng)中,以不影響人在回路視覺效果為前提,對導引頭產(chǎn)生的紅外圖像進行壓縮,降低無線圖像傳輸過程中對數(shù)據(jù)率的要求,文中還通過紅外圖像壓縮實例分析了該算法的實用性和有效性。
無線通信系統(tǒng)的信道容量即數(shù)據(jù)的傳輸速率由香農(nóng)定理決定。香農(nóng)指出,加性高斯白噪聲信道的信道容量C由信道帶寬B和信號的傳輸信噪比SNR決定[3],具體如式(1)所示。
C=Blog2(1+SNR)
(1)
由式(1)可以看出,在無線通信系統(tǒng)的信道帶寬B一定的情況下,數(shù)據(jù)的傳輸速率由信噪比決定。對于防空武器系統(tǒng),無線信息傳輸通常會工作在復雜惡劣的工作環(huán)境,如海面背景環(huán)境,無線通信信號的信噪比得不到保證,進而導致無線信息傳輸?shù)臄?shù)據(jù)率得不到保障。而無線圖像傳輸又需要較高的通信速率才能保證實現(xiàn)人在回路控制、圖像實時回傳等功能。為此,圖像壓縮成了在一定通信速度條件下改善無線圖像傳輸性能的不可或缺的技術手段。
常用的圖像壓縮算法包括JPEG、JPEG2000、SPIHT等。其中,JPEG壓縮算法復雜度低,實時性好,但壓縮性能較差,不支持多分辨率漸進傳輸;JPEG2000壓縮算法壓縮性能好,支持多分辨漸進傳輸,但算法復雜,難以保證實時性;SPIHT壓縮算法支持多分辨率漸進傳輸,算法復雜度低,實時性好。綜合考慮三種算法的性能特點,可將SPIHT圖像壓縮算法應用于防空武器系統(tǒng),降低圖像實時傳輸對無線通信速率的要求。
SPIHT圖像壓縮算法采用整數(shù)5/3小波變換和SPIHT編碼方式對圖像進行壓縮。小波變換具有多分辨率多尺度特性[4],SPIHT編碼算法是基于小波變換的一種編碼方式。在編碼過程中,SPIHT編碼算法生成一個嵌入碼流,能夠使得在任意位置中斷碼流時,都可解壓并生成圖像。所以SPIHT圖像壓縮算法具有很好的漸進傳輸特性。除此之外,該SPIHT圖像壓縮算法獲得的峰值信噪比比較高,支持有損壓縮和無損壓縮,同時具有計算復雜度較低、碼率容易控制等優(yōu)點[5]。
小波的興起和快速發(fā)展,適應了圖像信息處理等不同科學領域發(fā)展的需要。作為一種新興的數(shù)學工具,它被廣泛應用到信號處理和圖像處理等方面。
整數(shù)小波變換包含分裂過程、預測過程和更新過程三個主要步驟[6],如圖1所示。其中分裂過程是把輸入信號x(n)分成奇數(shù)和偶數(shù)兩個子序列集合,原信號分裂為奇序列xo=x(2n+1)和偶序列xe=x(2n),這個過程由原信號經(jīng)過下采樣得到。預測過程由xe=x(2n)乘以預測參數(shù)P,來預測xo=x(2n+1),原來的奇序列數(shù)值與預測值的差值就是高頻系數(shù)的d(n)。更新過程是d(n)乘以更新系數(shù)Q與xe=x(2n)的和值,獲得低頻系數(shù)s(n)。5/3整數(shù)小波變換在JPEG2000中如式(2)和式(3)所示[7]。
(2)
(3)
對圖像進行二維小波變換可以先對每行像素進行一維小波變換,然后再對每列像素進行一維小波變換。
SPIHT編碼算法采用零樹結構,這與EZW(Embedded Zerotree Wavelet, 嵌入式小波零樹編碼)算法類似。但是不同之處在于SPIHT編碼算法采用了獨特的方法對系數(shù)子集進行了分割以及對重要信息進行了傳輸,并且采用隱式方式傳送了排序信息[5]。這種做法主要是基于用分支點的比較結果來定義每一個排序算法的執(zhí)行路徑理念。當解碼器和編碼器采取相同的系數(shù)排序算法時,解碼器通過執(zhí)行相同的過程就可以獲得系數(shù)的排序位置信息。
下面我們先介紹SPIHT算法所使用的樹結構、分集規(guī)則和順序表,然后描述具體的算法過程。
2.2.1樹結構
在SPIHT圖像壓縮算法的小波樹結構中,一個小波系數(shù)對應一個節(jié)點,這里,用坐標(i,j)來表示小波系數(shù)節(jié)點ci,j。小波系數(shù)的樹結構如圖2所示。最低頻的系數(shù)和最高頻的系數(shù)沒有后繼節(jié)點,而其余所有小波系數(shù)節(jié)點(i,j)均有四個直接后繼節(jié)點:(2i,2j)、(2i,2j+1)、(2i+1,2j)和(2i+1,2j+1)。
設X是一個小波系數(shù)坐標集:X={(i,j)}。對于正整數(shù)n,記
(4)
如果Sn(X)=1,那么稱X是重要的;否則,稱X是不重要的。為了簡化單個系數(shù)集的記號,我們用Sn(i,j)表示Sn({i,j})。
2.2.2分集規(guī)則
為了說明分集規(guī)則,引入以下符號:
1)O(i,j):節(jié)點(i,j)所有直接后繼節(jié)點的坐標集合。
2)D(i,j):節(jié)點(i,j)所有后繼節(jié)點的坐標集合(包括直接后繼節(jié)點的坐標)。
3)L(i,j):節(jié)點(i,j)的所有間接后繼節(jié)點的坐標集合。L(i,j)=D(i,j)-O(i,j)。
4)H:所有樹根節(jié)點的坐標集合(對于N級小波變換,LLN、LHN、HLN和HHN所有小波系數(shù)的坐標集合就是H)。
根據(jù)樹結構的特點,除LLN、LH1、HL1和HH1之外,對于任意系數(shù)的坐標(i,j),都有
O(i,j)={(2i,2j),(2i,2j+1),
(2i+1,2j),(2i+1,2j+1)}
(5)
SPIHT算法的分集規(guī)則如下:
1) 最初坐標集由{(i,j)|(i,j)∈H}和{D(i,j)|(i,j)∈H且具有非零子孫}組成。
2) 若D(i,j)對于當前閾值是重要的,則D(i,j)分成L(i,j)及四個單節(jié)點(k,l)∈O(i,j)。事實上,D(i,j)=L(i,j)∪{(k,l)|(k,l)∈O(i,j)}。
2.2.3有序表
對于SPIHT圖像壓縮算法的編碼過程,子集的重要性測試順序很重要,因此我們引入三個順序表來存放排序信息。這三個順序表分別是:不重要系數(shù)表(LIP)、不重要子集表(LIS)和重要系數(shù)表(LSP)。在這三個順序表中,坐標(i,j)標識每一個表項。在不重要系數(shù)表和重要系數(shù)表中,單小波系數(shù)用坐標(i,j)來表示;而在不重要子集表中,用D(i,j)和L(i,j)來代表子集,其中,D(i,j)稱為D型表項,L(i,j)稱為L型表項,分別用(i,j)D和(i,j)L表示。
2.2.4SPIHT算法描述
SPIHT算法的主要步驟如下,算法流程如圖3所示。
2) 排序掃描:分為兩個主要部分。
首先,順序處理不重要系數(shù)表中的每個表項,判斷其是否重要。如果表項中的系數(shù)是重要的,那么輸出1及其符號位(1正0負),并將該小波系數(shù)從不重要系數(shù)表中刪除,并添加到重要系數(shù)表的尾部。如果表項是不重要的,那么輸出0,保留表項的原來位置。
然后,順次處理不重要子集表中的每個表項,在這個過程中,對D型和L型表項的處理方式不同。對于D型表項,如果該表項的系數(shù)坐標集合是重要的,則輸出1,同時根據(jù)分集規(guī)則將其分裂為對應的L型表項和四個直接后繼節(jié)點,然后依次處理這四個直接后繼節(jié)點。對于每個后繼節(jié)點,處理方式相同。如果該系數(shù)是重要的,輸出1及其符號位,同時將其添加到重要系數(shù)表的尾部;如果該系數(shù)不重要,則輸出0,同時將其添加到不重要系數(shù)表的尾部。在四個直接后繼節(jié)點處理完畢之后,再處理分裂后對應的L型表型,如果其非空,則添加到不重要子集表的尾部。在做完分裂工作之后, 將D型表項從不重要子集表中刪除。如
果D型表項不重要則輸出0,同時保持其在不重要子集表中的位置。對于L型表項,若重要,則輸出1,同時根據(jù)分裂規(guī)則將其分為4個D型表項并添加到不重要集合表的尾部,并將該L型表項刪除;若不重要則輸出0,同時保持其在不重要子集表中的位置。
3) 精細掃描:對于重要系數(shù)表中的每個系數(shù)(i,j),若該系數(shù)不是上述掃描過程中新添加的,則輸出該小波系數(shù)的第n個重要的位,其中T=2n是閾值,它是在掃描過程中設定的。
4) 進行下一次的排序和精細掃描:設定新閾值T=2n-1,重復過程2)。
SPIHT圖像壓縮算法可以實現(xiàn)有損壓縮和無損壓縮。對于有損壓縮,首先對圖像進行5/3小波變換,然后對小波變換系數(shù)進行SPIHT編碼,生成壓縮碼流,根據(jù)預先設定的壓縮比對壓縮碼流進行截取,以達到減小數(shù)據(jù)量的目的。解壓縮時,對截取后的壓縮碼流進行SPIHT編碼逆過程,重構圖像,根據(jù)原圖像和重構圖像可以計算峰值信噪比。對于8位灰度圖像,峰值信噪比計算方法如式(6)所示。
(6)
(7)
式(7)中:MSE為均方誤差,I為原圖像的像素值,P為重構圖像的像素值。
對于無損壓縮,5/3小波變換后進行SPIHT編碼,壓縮碼流完全保留,對壓縮碼流解壓后的重構圖像與原圖像完全相同,沒有信息損失。
試驗圖像采用波音AH-64武裝直升機和F-117A隱身攻擊機紅外圖像(256×256,8位灰度),如圖4所示。
首先對原圖像進行5/3小波變換,圖5為二級小波變換結果。從圖中可以看出,原圖像的大部分信息集中在低頻分量中,高頻分量中含有的信息量很少。
然后對小波變換系數(shù)進行SPIHT編碼,對于有損壓縮,設定的壓縮比越大,重構后的峰值信噪比越小,圖像的視覺失真度越大。圖6和圖7為不同壓縮比下的重構圖像,從圖中可以看出,在壓縮比CR低于32倍時,圖像的失真度很小,人眼幾乎難以分辨。
從表1中可以看出,采用SPIHT圖像壓縮算法進行無損壓縮時,壓縮比可以達到3倍左右,表1中還給出了不同壓縮比下對應的圖像重構峰值信噪比。
紅外圖像壓縮比CRPSNR/dBF-117A隱身攻擊機3.11無損457.4853.21648.53246.16440.512833.2AH-64武裝直升機2.64無損453.5848.41644.53241.86437.612832.5
圖8為不同壓縮比下對應的圖像重構峰值信噪比曲線。從圖中可以看出,即使壓縮比達到32倍時,重構圖像的峰值信噪比也可以達到40 dB以上。
為了降低惡劣戰(zhàn)場環(huán)境下無線圖像傳輸對通信速率的要求,文中在對比JPEG、JPEG2000和SPIHT三種圖像壓縮算法特點的基礎上,將具有實時性特點并支持多分辨率漸進傳輸?shù)腟PIHT圖像壓縮算法應用到防空武器系統(tǒng)無線圖像傳輸系統(tǒng)中。利用波音AH-64武裝直升機和F-117A隱身攻擊機紅外圖像進行了壓縮仿真分析,分析結果表明,SPIHT圖像的壓縮算法的無損壓縮比可達3倍左右,在基本不影響視覺效果的前提下有損壓縮比可達32倍左右。本文的研究成果為SPIHT圖像壓縮算法在防空武器系統(tǒng)中的應用,以及防空武器系統(tǒng)中紅外等圖像無線傳輸?shù)墓こ虒崿F(xiàn)提供了理論基礎。