胡澤龍,楊 峰,喬 旭
(中國礦業(yè)大學(xué)(北京)機(jī)電與信息工程學(xué)院,北京 100083)
礦井災(zāi)害是制約我國煤礦發(fā)展的重要因素,礦井地質(zhì)雷達(dá)具有大小輕便、探測精度高等優(yōu)勢,是礦井地質(zhì)超前探測的有效手段。礦井三維雷達(dá)一次掃描產(chǎn)生多達(dá)189 道數(shù)據(jù),對龐大的雷達(dá)數(shù)據(jù)進(jìn)行實(shí)時探測,需要對海量數(shù)據(jù)進(jìn)行壓縮。本文主要討論如何對礦井三位雷達(dá)數(shù)據(jù)進(jìn)行有效壓縮,以解決以上問題。
近些年,學(xué)界針對嵌入式零樹編碼(EZW)[1]的壓縮算法的研究與適配已經(jīng)非常廣泛。楊成林等使用改進(jìn)的EZW 算法,其將主掃描和輔掃描結(jié)合并且將低頻數(shù)據(jù)直接傳輸,實(shí)現(xiàn)了對聲納數(shù)據(jù)壓縮[2]。王亞清將EZW 應(yīng)用于醫(yī)學(xué)圖像壓縮,使用MATLAB 實(shí)現(xiàn)[3]。徐鋒濤等獎EZW 應(yīng)用于地震數(shù)據(jù)壓縮,數(shù)據(jù)壓縮4 倍時,信噪比可達(dá)50dB 以上,壓縮16 倍時,信噪比仍然可達(dá)30dB 以上[4]。所以EZW 算法可應(yīng)用于各類行業(yè)的壓縮。
本文使用嵌入式零樹編碼算法(EZW)進(jìn)行壓縮測試,并對傳統(tǒng)EZW 算法進(jìn)行優(yōu)化。最后將改進(jìn)算法和傳統(tǒng)算法做對比,驗(yàn)證了改進(jìn)算法在壓縮率和壓縮速度方面的優(yōu)勢。
礦井三維雷達(dá)的圖像數(shù)據(jù)是一系列B-Scan 的數(shù)據(jù)集的集合,A-Scan、B-Scan和C-Scan。A-Scan圖像如圖1(1)所示,當(dāng)?shù)V井三維雷達(dá)的天線沿著x 軸移動時,會產(chǎn)生一組A-Scan 數(shù)據(jù),這一組數(shù)據(jù)組成一個二維的數(shù)據(jù)集,也就是B-Scan 數(shù)據(jù)集,如圖1(2)所示;當(dāng)探地雷達(dá)沿著多個相互平行的x 軸移動時,會產(chǎn)生一組三維的C-Scan 數(shù)據(jù)集,如圖1(3)所示。由于礦井三維雷達(dá)是從多個角度探測,所以在數(shù)據(jù)層面,其是由一組B-Scan數(shù)據(jù)集組成。
圖1 A-Scan,B-Scan和C-Scan
當(dāng)單路探地雷達(dá)在等間隔移動探測時,可得出探地雷達(dá)B-Scan 數(shù)據(jù),此時的數(shù)據(jù)可以理解成一個二維圖像。由于雷達(dá)數(shù)據(jù)返回的每個幅值是一個帶符號的16 位二進(jìn)制,可以將數(shù)據(jù)拆分成兩個8 位二進(jìn)制,這代表著一幅雷達(dá)數(shù)據(jù)可以無損轉(zhuǎn)換成兩個256色階的灰度圖。雷達(dá)圖像如圖2 所示,這代表著一段B-Scan數(shù)據(jù)。
圖2 一個雷達(dá)圖像B-Scan示例
雷達(dá)圖像本身是電磁波信號,橫坐標(biāo)代表距離x(m),縱坐標(biāo)代表往返時間t(ns),文件頭記錄了時間窗口w(ns)、采樣點(diǎn)數(shù)K,道間距d(m)等。采樣點(diǎn)數(shù)K 指的是兩次脈沖的時間窗口,縱坐標(biāo)中往返時間t 的大小是通過時間窗w、信號采樣點(diǎn)位置k 以及采樣點(diǎn)數(shù)K計(jì)算的,公式如下:
嵌入式零樹編碼是一個經(jīng)典的基于小波分解的壓縮算法。經(jīng)過多級小波變化之后的小波系數(shù)圖像,對每一個系數(shù)而言,與其具有相同相對位置的低級系數(shù)是他的子孫,從圖像的低頻開始一直延伸,最后可以形成一個樹形結(jié)構(gòu),這個樹形結(jié)構(gòu)就是零樹。
⑴指定量化閾值T
最開始的量化閾值T0應(yīng)該保證2T0>Cmax(,Cmax是一個小波分解后最大的系數(shù)),一般情況下T0=2n。
⑵主掃描
主掃描中,每個小波分解系數(shù)都會被掃描并判定其類型碼。編碼的依據(jù)如圖3所示。
圖3 主掃描判斷依據(jù)
⑶輔掃描
系數(shù)的類型碼為“P”和“N”的節(jié)點(diǎn)需要被更準(zhǔn)確的記錄。在主掃描進(jìn)類型碼判定同時要進(jìn)行量化。輸入?yún)^(qū)間為[Ti-1,2Ti-1],將這個區(qū)間以Ti-1+Ti-1/2為中點(diǎn)進(jìn)行切分,切分為[Ti-1,Ti-1+Ti-1/2 ]和[Ti-1+Ti-1/2,2Ti-1]兩個區(qū)間,量化的輸出為1 個比特位,即輸出‘0’或者‘1’。
⑷輸出編碼信息
主要包含本次掃描的閾值T,主掃描的類型碼和輔掃描的輔編碼。由于這個過程是循環(huán)進(jìn)行的,所以編碼和傳輸?shù)倪^程可以同時進(jìn)行。
一個好的小波基滿足一下幾個特征:①相似性,小波基選擇的與雷達(dá)數(shù)據(jù)越相似,變換后的能量越集中,有利于壓縮。②正則性,正則性用來刻畫函數(shù)的光滑程度,正則性越強(qiáng),小波基就越平滑,奇異點(diǎn)就越少。③緊支性,為了減少計(jì)算量,傾向選用長度小的小波基。本文選取了十余種小波基來進(jìn)行綜合測試,比較各類小波基的適用性。
實(shí)際應(yīng)用中,雷達(dá)數(shù)據(jù)是一段持續(xù)產(chǎn)生的,有限長度的數(shù)據(jù)流,如果不進(jìn)行分界處理,經(jīng)過小波分解的數(shù)據(jù)量會過多。為了避免實(shí)際應(yīng)用中的運(yùn)算阻塞問題,本文使用周期延拓的方法對數(shù)據(jù)進(jìn)行預(yù)處理。
小波分解層次越多,對信號分解的越細(xì)。與此同時,隨著分解層次的增加,造成的信號位移也越多。為了探究雷達(dá)數(shù)據(jù)的小波分解層次,本文對比了1至5層小波分解后峰值信噪比變化,綜合評比不同小波分解層次的適用性。
使用雷達(dá)數(shù)據(jù)測試后分析編碼數(shù)據(jù),發(fā)現(xiàn)其有幾個問題:
⑴ EZW 是面向傳統(tǒng)RGB 圖像的,傳統(tǒng)的EZW圖像處理過程是將RGB 顏色空間轉(zhuǎn)換為YCbCr 顏色空間,然后對YCbCr 圖像進(jìn)行色彩采樣,隨后將三個矩陣送入編碼器。因?yàn)槔走_(dá)數(shù)據(jù)特性不同于傳統(tǒng)RGB 圖像,可以理解為只有一個的灰度矩陣,所以可以省略另外兩個矩陣處理。
⑵每輪掃描得到的類型碼的最后有大量零樹根類型碼“T”,這些內(nèi)容是無用的。因?yàn)槊總€樹的末尾最后必定是有大量零樹根,其信息不具備編碼條件,所以可以進(jìn)行省略。
⑶主掃描產(chǎn)生的類型碼序列中,存在大量冗余連續(xù)的獨(dú)立零“Z”和零樹根“T”類型碼,零樹根出現(xiàn)概率為50%以上,且經(jīng)常連續(xù)出現(xiàn),有的輪次碼流中有成百的“Z”連續(xù)出現(xiàn)。
本文提出了一種改進(jìn)的EZW 壓縮算法,能夠保持EZW 的高效率的特點(diǎn),同時可以適應(yīng)雷達(dá)圖像算法,改進(jìn)的EZW算法的具體改進(jìn)有以下三點(diǎn):
⑴針對雷達(dá)數(shù)據(jù)特征,對一張輸入圖片只保留一個灰度的矩陣進(jìn)行處理,省略其他兩個顏色區(qū)間。
⑵對于每一次主掃描最后的的類型碼為“T”的編碼予以省略。
⑶針對大量類型碼冗余的情況,引入四個新的編碼。隨后,針對這八種編碼,引入霍夫曼[5]編碼來對他們進(jìn)行重新的算術(shù)編碼。由于霍夫曼編碼是一種無損編碼,在這個處理階段不會影響圖像質(zhì)量,采用這種方式可以在提高編碼效率的同時盡可能的避免符號冗余。
圖4 改進(jìn)的EZW的系統(tǒng)流程圖
從客觀角度出發(fā),掃描輪次(n),壓縮比C進(jìn)行比對,壓縮比越高,證明壓縮后的文件越小。C的定義如下:
其中,n 為壓縮前的數(shù)據(jù)量,m 為壓縮后的數(shù)據(jù)量。取一次測試的掃描輪次與兩種算法的壓縮倍數(shù)得到表1內(nèi)容。
表1 隨著輪次變化的壓縮率變化表
從表1 中可以發(fā)現(xiàn)隨著掃描輪次增加,壓縮倍數(shù)逐漸減小,改進(jìn)型EZW 在每輪都有不同程度的提升,在輪次較低的時候提升效果明顯。
峰值信噪比(PSNR)和均方根信誤差(MSE)是描述數(shù)據(jù)還原度的評價指標(biāo)。為了探究種算法的優(yōu)劣,本文計(jì)算了同組數(shù)據(jù)不同算法在不同比特率下PSNR和MSE,PSNR和MSE的定義如下:
對數(shù)據(jù)整理后,得到圖5和圖6,從圖中可以發(fā)現(xiàn),改進(jìn)的EZW 算法的MSE 曲線在傳統(tǒng)EZW 下方,PSNR 在傳統(tǒng)EZW 上方。證明改進(jìn)新算法有實(shí)質(zhì)性的壓縮率提升。
圖5 改進(jìn)EZW和傳統(tǒng)EZW的MSE差別圖
圖6 改進(jìn)EZW和傳統(tǒng)EZW的PSNR差別圖
針對運(yùn)算時間,統(tǒng)計(jì)了一次壓縮的時間,并將數(shù)據(jù)繪制柱狀圖,得到表2內(nèi)容。
表2 壓縮時間提升率
由表2 數(shù)據(jù)可見,改進(jìn)型的EZW 比起傳統(tǒng)EZW具有顯著的運(yùn)算時間縮減,證明其效率有所提升。
基于改進(jìn)的EZW 算法,我們使用十余種小波基進(jìn)行分析,實(shí)驗(yàn)結(jié)果如圖7 所示,從中可以發(fā)現(xiàn),使用db11,sym15,sym10 效果比較好,而bior1.3,coif17,db38效果比較差。
圖7 不同的小波基狀態(tài)下PSNR的變化
選定了合適的小波基以后,再次對不同小波分解層次進(jìn)行選擇,結(jié)果如圖8所示,可以知道分解層次為3級、4級、5級效果比較好,分解1級、2級效果較差。
圖8 不同的小波變換層次下PSNR變化
為了驗(yàn)證本文選取上文中提到的幾種壓縮方法,使用雷達(dá)數(shù)據(jù)進(jìn)行測試,得到表3。
表3 不同壓縮算法的平均壓縮率及峰值信噪比
從數(shù)據(jù)中可知道,使用Huffman編碼、DCT變換的傳統(tǒng)壓縮方法由于其算法結(jié)構(gòu)簡單,運(yùn)行速度較快,但是其壓縮能力有限制。使用EZW 和本文改進(jìn)的EZW 算法可以根據(jù)壓縮要求變換運(yùn)算時間,如果要求最佳壓縮效果,壓縮率可以達(dá)到43%,峰值信噪比為50db以上,優(yōu)于前兩者,具備實(shí)際使用價值。
本文采用了改進(jìn)的EZW 算法對雷達(dá)數(shù)據(jù)進(jìn)行壓縮,省略了傳統(tǒng)EZW 碼流的冗余信息,并對碼流進(jìn)行二次壓縮,并根據(jù)三維探地雷達(dá)數(shù)據(jù)的特性降低了計(jì)算量。實(shí)驗(yàn)證明,改進(jìn)的EZW 算法壓縮雷達(dá)數(shù)據(jù)在壓縮速度和壓縮質(zhì)量上都超過了傳統(tǒng)EZW 算法。并且基于改進(jìn)EZW,探究了對于雷達(dá)數(shù)據(jù)適應(yīng)的小波變換小波基和分解層次。
在對本文方法的深入研究中發(fā)現(xiàn)了存在的幾點(diǎn)問題:
⑴并沒有充分利用雷達(dá)數(shù)據(jù)中波形的時間相關(guān)性特征。實(shí)際情況中,雷達(dá)信號具有非常強(qiáng)的時間連續(xù)性。
⑵分析小波分析時發(fā)現(xiàn),同一子帶之間依然存在關(guān)聯(lián)性。具體體現(xiàn)是高頻子代也會包含低頻元素。在高頻子帶存在的大量低值元素會增加掃描的冗余性,EZW并不能處理好這個問題。
⑶EZW 算法具有計(jì)算復(fù)雜,壓縮時間相對還是較長。主要原因是零樹數(shù)量多,每輪掃描需要遍歷整個零樹,單個零樹節(jié)點(diǎn)掃描不具有并行性,處理依賴之前節(jié)點(diǎn),所以不能使用多線程進(jìn)行優(yōu)化。