湯君健,張正炳,付青青 (長江大學(xué)電子信息學(xué)院,湖北 荊州 434023)
地震勘探數(shù)據(jù)壓縮方法按照有無信息丟失可分為無損壓縮和有損壓縮2大類:無損壓縮能保證解壓數(shù)據(jù)與原始數(shù)據(jù)完全一樣,特別適合于對解壓后還需要做進一步處理的地震數(shù)據(jù)進行壓縮,但其壓縮效率低,一般壓縮倍數(shù)在2倍左右;有損壓縮在允許有少量信息損失的情況下可以獲得高倍壓縮,壓縮倍數(shù)較高,但存在信息丟失等問題[1]。
小波變換由于其在時域、頻域內(nèi)具有良好的局部分析特性,在地震數(shù)據(jù)壓縮領(lǐng)域一直是學(xué)者們關(guān)注的熱點[2~4]:在地震勘探過程中,獲取的地震信號是頻率依賴的,受大地濾波的影響,地震波類似于小波的結(jié)構(gòu),正好與小波的特征相一致;小波變換屬于變換域數(shù)據(jù)壓縮方法的一種,它具有很好的局部化特性,地震信號經(jīng)過小波變換后的能量集中在少數(shù)變換系數(shù)上,用它代替離散余弦變換并合理地利用其變換系數(shù)的特點,可獲得較好的壓縮效果,同時可克服JPEG方法產(chǎn)生的方塊效應(yīng);同時地震波信號有高度的非平穩(wěn)性,所以有良好局部分析能力的小波變換就成為地震數(shù)據(jù)壓縮的主流方法。王喜珍等[5]在研究地震數(shù)據(jù)的有損壓縮過程中,通過試驗發(fā)現(xiàn)使用bior(3,7)小波函數(shù),分解層數(shù)為5時信噪比較高,均方差較小,驗證了地震數(shù)據(jù)壓縮的效果與小波變換時濾波器系統(tǒng)長度和分解層數(shù)有關(guān);武文波等[6]選用基于小波變換的地震信號壓縮方法,當壓縮比達到50∶1以上時,經(jīng)解壓恢復(fù)后的信息沒有明顯損失;徐峰濤等[7]提出了一種基于小波變換的零樹編碼與算術(shù)編碼相結(jié)合的地震數(shù)據(jù)壓縮算法,其算法對疊前地震數(shù)據(jù)壓縮4倍時,信噪比可達50dB以上,選用適用小波基對疊后地震數(shù)據(jù)壓縮16倍時,信噪比仍可達30dB以上;張正炳等[8]針對地震勘探數(shù)據(jù)壓縮改進JPEG 2000算法,對疊前數(shù)據(jù)壓縮4倍以下時,信噪比高于42dB,對疊后數(shù)據(jù)壓縮15倍以下時,信噪比高于30dB。于文茂等[9]提出基于SPIHT改進算法的地震數(shù)據(jù)壓縮方法,對疊后地震數(shù)據(jù)壓縮16倍時,信噪比可達28.78dB。
徐峰濤等[7,8]基于小波變換的壓縮算法所得地震數(shù)據(jù)壓縮倍數(shù)較高,數(shù)據(jù)解壓效果較好。但其只是對SEG-Y文件中的地震采樣數(shù)據(jù)集進行壓縮,忽略了SEG-Y文件的格式信息,這就導(dǎo)致其解壓后的數(shù)據(jù)缺乏格式信息,他人無法讀取解析;其研究的是一個具有固定道數(shù)和采樣點數(shù)的地震采樣數(shù)據(jù)集(800道,每道800個采樣點),但是實際地震勘探中獲取的地震數(shù)據(jù)SEG-Y文件的道數(shù)與采樣點數(shù)是任意的,絕大數(shù)不滿足進行多次小波變換的條件;另外,壓縮實際地震數(shù)據(jù)時,由于數(shù)據(jù)量極大,如果將按照其壓縮方案全部數(shù)據(jù)作為一個整體進行壓縮編碼,則需要占用很大的內(nèi)存,且計算速度慢,十分不利于實際應(yīng)用。為此,筆者對其壓縮方案進行如下改進,將其算法研究向?qū)嶋H應(yīng)用方向推進一步:讀取標準SEG-Y文件,將其分割為卷頭、道頭數(shù)據(jù)和地震采樣數(shù)據(jù)集兩部分,對卷頭、道頭數(shù)據(jù)保留原始信息不壓縮;對地震采樣數(shù)據(jù)集進行分塊壓縮處理,先按采樣點數(shù)進行數(shù)據(jù)擴展填充,使其滿足多次小波變換條件,采樣點數(shù)擴展值為劃分塊的寬度值,這樣每塊的道數(shù)和采樣點數(shù)都滿足多次小波變換條件;比較3種填充方法,探索最佳擴展填充方式。
標準SEG-Y格式,是勘探地球物理學(xué)會(SEG)制定的、在地震勘探中最常用的地震數(shù)據(jù)格式[10]。標準SEG-Y格式文件的構(gòu)成如圖1所示,由以下2部分組成:
1)卷頭數(shù)據(jù)。共3600字節(jié),由一個3200字節(jié)的EBCDIC卡和一個400字節(jié)的二進制編碼頭組成,其中(3201-3260)中定義了對整個SEG-Y格式文件有效的信息,包括工作識別號、測線號、卷號、地震道數(shù)、輔助道數(shù)、采樣率、每道樣點數(shù)、樣點數(shù)據(jù)類型、覆蓋次數(shù)等27個數(shù)據(jù)項。
2)地震道數(shù)據(jù)。由m個地震道數(shù)據(jù)塊組成,每一個地震道數(shù)據(jù)由一個240字節(jié)的道頭數(shù)據(jù)和多個采樣數(shù)據(jù)構(gòu)成。地震道的每個采樣數(shù)據(jù)值以4個連續(xù)字節(jié)記錄,采用IBM格式,4個字節(jié)組成一個32位浮點數(shù),由一個符號位qs、7位階數(shù)qc和24位尾數(shù)qf組成。其中,qs表示指定數(shù)值是正還是負;qc表示16的冪;qf為一個6個字節(jié)的二進制數(shù)字,其基數(shù)點在有效位的左邊[11]。
二維離散地震采樣數(shù)據(jù)表示為:
f(x,y)x=0,1,…,n-1;y=0,1,…,m-1
(1)
式中:n為道數(shù);m為每道采樣點數(shù)。
筆者采用3種擴展填充方法,填充“0”、按邊界對稱復(fù)制原始數(shù)據(jù)填充和邊界值復(fù)制填充。
基于小波變換的SEG-Y格式地震數(shù)據(jù)壓縮/解壓方案如圖2所示。
1)SEG-Y格式文件的分割。讀取SEG-Y格式文件,將其分割為卷頭、道頭數(shù)據(jù)和地震采樣數(shù)據(jù)。
2)地震采樣數(shù)據(jù)格式轉(zhuǎn)化。SEG-Y格式文件中地震采樣數(shù)據(jù)記錄格式為工作站的32位IBM浮點數(shù)。由于微機和工作站的 CPU 架構(gòu)不同,微機不能對工作站的IBM浮點數(shù)直接進行讀取和利用,因此,工作站的IBM浮點型數(shù)據(jù)與微機的IEEE浮點型數(shù)據(jù)之間要相互轉(zhuǎn)換[12~13]。
4)對各個地震采樣數(shù)據(jù)塊分別進行處理。先進行小波正變換,采用Mallat算法,將其分解為不同分辨率的子帶,EZW編碼則利用小波變換后不同子帶上,相同位置的小波系數(shù)之間的空間相似性進行編碼[15]。算術(shù)編碼將EZW編碼形成的二進制文件進一步進行無失真壓縮,提高壓縮效率,形成最終壓縮數(shù)據(jù)文件,壓縮過程結(jié)束。
5)解碼時先分塊進行算術(shù)解碼,后進行EZW解碼,再進行小波逆變換,依次得到各塊地震采樣數(shù)據(jù)。根據(jù)原始地震采樣數(shù)據(jù)尺寸,對解壓過程中小波逆變換得到的地震采樣數(shù)據(jù)塊進行裁剪,去除掉數(shù)據(jù)擴展填充部分。
6)將各塊地震采樣數(shù)據(jù)塊按原始道號順序拼接,重組地震采樣數(shù)據(jù)部分;之后再將地震采樣數(shù)據(jù)格式由IEEE浮點數(shù)轉(zhuǎn)化為IBM浮點數(shù);最后將原始卷頭、道頭數(shù)據(jù)和IBM格式地震采樣數(shù)據(jù)按SEG-Y格式文件結(jié)構(gòu)重組,形成解壓重構(gòu)后的SEG-Y格式文件,解壓過程結(jié)束。
試驗數(shù)據(jù)為原始疊前地震勘探數(shù)據(jù)A,大小為4.28MB,其地震采樣數(shù)據(jù)集為856道,每道1250個采樣點(見圖3)。
由于地震道數(shù)小于填充后的樣點數(shù),所以可看作按筆者方法分塊的最后一塊的情況。試驗將根據(jù)原始地震采樣數(shù)據(jù)(不包含填充部分)與解壓重建數(shù)據(jù)的差值計算得到的信噪比(SNR)作為技術(shù)指標,研究填充值對壓縮質(zhì)量的影響。其中,全局信噪比為原始地震856道數(shù)據(jù)與其解壓重建數(shù)據(jù)的信噪比,邊界信噪比為最后一道原始數(shù)據(jù)與其解壓重建數(shù)據(jù)的信噪比。采用3種擴展填充方式:方法1為“0”值填充;方法2為按邊界對稱復(fù)制原始數(shù)據(jù)填充;方法3為邊界值復(fù)制填充。基于已有研究[7],選用Antonini小波基,對疊前地震勘探數(shù)據(jù)A做4層小波變換,根據(jù)筆者算法將其擴展填充為1264道,每道1264個采樣點。
根據(jù)3種擴展填充方法壓縮倍數(shù)與全局信噪比和邊界信噪比的關(guān)系曲線如圖4所示。在相同壓縮倍數(shù)下,“0”值填充無論是全局還是邊界,重構(gòu)質(zhì)量都相對最好,對壓縮質(zhì)量影響相對最小,那是因為“0”值填充只擴充了極少量信息;按邊界對稱復(fù)制填充對壓縮質(zhì)量影響相對最大,那是因為其擴充了大量信息,使編碼器編碼了大量攜帶擴充區(qū)域信息的小波變換重要系數(shù),浪費了編碼資源,從而大大降低了壓縮質(zhì)量。
選用Antonini小波基,對疊前地震勘探數(shù)據(jù)A,擴展時進行“0”值填充,做4層小波變換,如表1所示,在壓縮小于4倍時,信噪比大于48dB,如圖5(a)所示。圖5與圖3相比較,與原始數(shù)據(jù)無明顯差別,重構(gòu)誤差相對較小,可用于實際地震數(shù)據(jù)壓縮。在壓縮小于16倍時,信噪比大于13dB,如圖5(b)所示,與圖3相比較,重構(gòu)誤差較大,僅僅可用于質(zhì)量監(jiān)督。
筆者采用地震數(shù)據(jù)存儲標準SEG-Y格式文件作為壓縮原始文件,可以實現(xiàn)IBM與IEEE浮點數(shù)據(jù)之間的轉(zhuǎn)化,對地震采樣數(shù)據(jù)集進行分塊處理,每塊數(shù)據(jù)進行擴展填充操作,使地震采樣數(shù)據(jù)集適合進行多次小波變換。試驗結(jié)果表明,對SEG-Y格式文件中地震采樣數(shù)據(jù)分塊處理,數(shù)據(jù)擴展填充時使用“0”值填充,對壓縮效果影響相對較小,對疊前地震數(shù)據(jù)仍然保持著較高的壓縮效率,疊前地震數(shù)據(jù)壓縮4倍以下,信噪比高于48dB,對后續(xù)處理影響不大,有利于后續(xù)地震數(shù)據(jù)進一步有效利用。