一種改進的seg-y文件中地震數(shù)據(jù)無損壓縮算法
【專利摘要】本發(fā)明公開了一種改進的SEG?Y文件中地震數(shù)據(jù)無損壓縮算法,解決SEG?Y文件中地震數(shù)據(jù)壓縮比率過高的問題,本發(fā)明將SEG?Y文件中的地震數(shù)據(jù)值根據(jù)表示該數(shù)據(jù)值的四個字節(jié)依次分解成四個分組數(shù)據(jù),所有地震數(shù)據(jù)值分解后得到四個分組數(shù)據(jù)組,運用基尼系數(shù)計算方法分別計算出SEG?Y文件中所有地震數(shù)據(jù)值以及其分解成每個數(shù)據(jù)組的基尼系數(shù),根據(jù)該基尼系數(shù)能分析出對不同分組數(shù)據(jù)組采取不同算法進行壓縮,通過對比不同壓縮算法對各個分組的壓縮比率,采用Lzma算法對SEG?Y文件中所有地震數(shù)據(jù)中A和B分組數(shù)據(jù)組進行壓縮,同時,將SEG?Y文件中所有地震數(shù)據(jù)中C和D分組數(shù)據(jù)組采用Deflate算法進行壓縮。
【專利說明】
-種改進的化G-Y文件中地震數(shù)據(jù)無損壓縮算法
技術(shù)領(lǐng)域
[0001] 本發(fā)明設及一種壓縮算法,具體設及一種改進的SEG-Y文件中地震數(shù)據(jù)無損壓縮 算法。
【背景技術(shù)】
[0002] 隨著油氣勘探開發(fā)的不斷深入W及勘探目標復雜度的提高,=維地震采集W及高 精度=維地震采集在實際生產(chǎn)中也越來越多地使用,伴隨而來的是炮點和檢波點布置越來 越多,采集的數(shù)據(jù)量也越來越大。例如:2013年大慶和平牧場=維勘探任務,單炮所產(chǎn)生的 數(shù)據(jù)為140MB,每天采集的數(shù)據(jù)量約為100~140GB;二維勘探任務中每天采集的數(shù)據(jù)量差不 多在5~IOGB之間,運無疑將產(chǎn)生大量的地震數(shù)據(jù)。目前地震數(shù)據(jù)普遍采用SEG-Y文件進行 記錄,如此龐大的SEG-Y文件地震數(shù)據(jù)不僅給存儲和傳輸速度方面造成相當大的壓力,而且 對于傳輸成本和生產(chǎn)監(jiān)測等方面也造成了相當大的負擔。因此為了減少各方面的壓力和負 擔,對SEG-Y文件中的地震數(shù)據(jù)先進行壓縮成為將其存儲或者傳輸之前必不可少的準備工 作之一。
[0003] 數(shù)據(jù)壓縮技術(shù)發(fā)展至今主要包括了無損壓縮算法和有損壓縮算法,無損壓縮算法 也稱為無失真編碼、賭編碼、信息保持編碼等,被壓縮的數(shù)據(jù)能夠通過解壓縮恢復到之前的 原狀態(tài),其設及到的算法及軟件有很多,目前應用最廣的算法主要有Lzma算法、Deflate算 法、Bzip2算法和WinRAR算法,然而在運用運四種算法對SEG-Y文件中地震數(shù)據(jù)進行無損壓 縮時,普遍存在壓縮比率過高的問題。于是在對SEG-Y文件中地震數(shù)據(jù)進行壓縮時,發(fā)明一 種壓縮比率較低的算法成為該技術(shù)領(lǐng)域技術(shù)人員亟待解決的難題。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明主要針對地震數(shù)據(jù)文件中最常用的SEG-Y文件進行研究,從無損數(shù)據(jù)壓縮 算法著手,設計出一種對于SEG-Y文件進行壓縮時壓縮比率更低的無損壓縮算法。本發(fā)明要 解決的技術(shù)問題是:解決現(xiàn)有技術(shù)中對SEG-Y文件中地震數(shù)據(jù)進行壓縮時壓縮比率過高的 問題。
[0005] 為實現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案如下:
[0006] -種改進的SEG-Y文件中地震數(shù)據(jù)無損壓縮算法,具有如下步驟:
[0007] 步驟1:將SEG-Y文件中單個地震數(shù)據(jù)值分解成四個分組數(shù)據(jù),分別為第一分組數(shù) 據(jù)、第二分組數(shù)據(jù)、第=分組數(shù)據(jù)和第四分組數(shù)據(jù);
[000引步驟2:將SEG-Y文件中所有地震數(shù)據(jù)值根據(jù)步驟1的方法進行分解,將所有第一分 組數(shù)據(jù)列為A分組數(shù)據(jù)組,將所有第二分組數(shù)據(jù)列為B分組數(shù)據(jù)組、將所有第=分組數(shù)據(jù)列 為C分組數(shù)據(jù)組,將所有第四分組數(shù)據(jù)列為D分組數(shù)據(jù)組;
[0009]步驟3:運用基尼系數(shù)計算方法分別計算出SEG-Y文件中所有地震數(shù)據(jù)值的基尼系 數(shù),W及所有地震數(shù)據(jù)值分解成的每個數(shù)據(jù)組的基尼系數(shù),根據(jù)該基尼系數(shù)分析出對不同 的分組數(shù)據(jù)組采取不同的算法進行壓縮,然后采用Lzma算法對SEG-Y文件中所有地震數(shù)據(jù) 中的A分組數(shù)據(jù)組和B分組數(shù)據(jù)組進行壓縮,同時,將SEG-Y文件中所有地震數(shù)據(jù)中的C分組 數(shù)據(jù)組和D分組數(shù)據(jù)組采用Deflate算法進行壓縮。
[0010] 進一步地,所述步驟3中基尼系數(shù)根據(jù)公
圧行計算,其中,G 值表示基尼系數(shù),1£[0,255],11 = 256,¥1表示第0個數(shù)值到第1個數(shù)值的頻次累計占所有頻 次和的百分比,所述數(shù)值按頻次從小到大排列;式中,G值越趨近于1,表示該文件中數(shù)據(jù)在 [0,255]區(qū)間內(nèi)的分布越不均衡,越趨近于0,表示該文件中數(shù)據(jù)在[0,25引區(qū)間內(nèi)的分布越 均衡。
[0011] 現(xiàn)將本發(fā)明的發(fā)明原理做一個簡要說明:
[0012] 1.數(shù)據(jù)頻率分布
[0013] 通過頻次統(tǒng)計可W直觀的得到單個文件中數(shù)據(jù)的分布情況,不過對于多個文件的 分析,運種方法則較為繁瑣,且不便于定量比較不同文件的數(shù)據(jù)分布差異,因此,本發(fā)明引 入基尼系數(shù)描述SEG-Y文件的大致分布情況,其計算公式如下所示:
式 中1£[0,255],11 = 256,胖1表示第1個數(shù)值到第1個數(shù)值的頻次(將數(shù)值按頻次由小到大排 列)累計占所有頻次和的百分比。在本發(fā)明中,若G值越趨近于1,則表示該文件中數(shù)據(jù)在[0, 255]區(qū)間內(nèi)的分布越不均衡,越趨近于0,則表示該文件中數(shù)據(jù)在[0,255]區(qū)間內(nèi)的分布越 均衡。
[0014] 如圖1所示,本發(fā)明選取了 10個不同大小的SEG-Y文件,對每一個SEG-Y文件計算其 整體數(shù)據(jù)和各分組數(shù)據(jù)的基尼系數(shù),從圖1中可W看出,不同SEG-Y文件的各分組數(shù)據(jù)計算 得到的G值相近,說明各文件中的數(shù)據(jù)在[0,255]區(qū)間內(nèi)的分布情況大體相近;且各分組數(shù) 據(jù)的G值與整體數(shù)據(jù)的G值不相同,可知A、B、C、D分組數(shù)據(jù)與整體數(shù)據(jù)在[0,255]區(qū)間內(nèi)的分 布情況不同,其中,A組數(shù)據(jù)的G值最大,且趨近于1,表明其數(shù)據(jù)在[0,255]區(qū)間內(nèi)的分布極 不均衡,B組數(shù)據(jù)次之,C組和D組G值較小,分布較為均衡;而整體數(shù)據(jù)的G值在各分組數(shù)據(jù)的 G值之間,運也意味著是分布均衡數(shù)據(jù)組與分布不均衡組的一個中和結(jié)果。
[00巧]2.分組壓縮方法
[0016] 通過上述的分析可知不同分組數(shù)據(jù)組中數(shù)據(jù)的頻率分布與整體數(shù)據(jù)的頻率分布 不同,而無損數(shù)據(jù)壓縮算法的效果又與數(shù)據(jù)的頻率分布息息相關(guān),因此,有必要對不同頻率 分布的分組數(shù)據(jù)組采用不同的數(shù)據(jù)壓縮算法。下面分別采用了 Lzma算法、Def late算法、 Bzip2算法和WinRAR算法對各分組數(shù)據(jù)組進行壓縮,分別得到結(jié)果如圖2、3、4、5所示。
[0017] 從圖2可W看出,四種壓縮算法對A組數(shù)據(jù)的壓縮效果較為顯著,基本壓縮到原數(shù) 據(jù)大小的30% W下,其中Deflate算法壓縮效果最差,WinRAR算法壓縮次之,Lzma算法與 bzip2算法的壓縮效果最好且相近,達到18%左右。
[0018] 從圖3可W看出,四種算法的壓縮效果相近,為原數(shù)據(jù)大小的90%左右,Deflate算 法與Lzma算法對于B組數(shù)據(jù)的壓縮效果相比于WinRAR算法較好,其中,Lzma算法相比于 Def曰1 te算法,壓縮率相差1個百分點左右,Lzma算法表現(xiàn)較優(yōu)。
[0019] 從圖4可W看出,四種算法對于C組數(shù)據(jù)不能取得很好的壓縮效果,Lzma算法的壓 縮效果最差,甚至壓縮后的數(shù)據(jù)大小比原數(shù)據(jù)大小還大,而Deflate算法在四種算法中表現(xiàn) 最好,能夠取得99 %的壓縮效果。
[0020] 從圖5可W看出,四種算法對于D組數(shù)據(jù)同樣不能取得很好的壓縮效果,與C組的對 比結(jié)果相似,Deflate算法在四種算法中表現(xiàn)最好,能夠取得99%的壓縮效果。
[0021] 根據(jù)所做的實驗結(jié)果,可W得出A、B兩組的壓縮效果WLzma算法較優(yōu),BZip2算法 次之,而C、D兩組的壓縮情況WDef late算法和WinRAR算法表現(xiàn)較好,因此本發(fā)明對A、B兩組 數(shù)據(jù)采用Lzma算法壓縮,同時對C、D兩組數(shù)據(jù)則采用Deflate算法壓縮。
[0022] 與現(xiàn)有技術(shù)相比,本發(fā)明具有W下有益效果:
[0023] 按照本發(fā)明對SEG-Y文件中各地震數(shù)據(jù)進行壓縮時,其壓縮比率在75 %~80 %之 間,與目前行業(yè)壓縮算法相比,壓縮比率最低,不僅極大地減少了此類文件存儲和傳輸速度 方面的壓力,而且使傳輸成本和生產(chǎn)監(jiān)測等方面的負擔得到了很大的改善。
【附圖說明】
[0024] 圖1為不同SEG-Y文件中地震整體數(shù)據(jù)和各分組數(shù)據(jù)組G值對比圖。
[0025] 圖2為不同算法對A組數(shù)據(jù)組的壓縮效果對比圖。
[00%]圖3為不同算法對B組數(shù)據(jù)組的壓縮效果對比圖。
[0027] 圖4為不同算法對C組數(shù)據(jù)組的壓縮效果對比圖。
[0028] 圖5為不同算法對D組數(shù)據(jù)組的壓縮效果對比圖。
[00巧]圖6本發(fā)明與Lzma算法、Def late算法、Bzip2算法和WinRAR算法壓縮結(jié)果對比圖。 [0030] 圖7本發(fā)明與Lzma算法、Def late算法、Bz ip2算法和WinRAR算法解壓縮效率對比 圖。
[0031 ]圖8為本發(fā)明的流程示意圖。
【具體實施方式】
[0032] 下面結(jié)合【附圖說明】和實施例對本發(fā)明作進一步說明,本發(fā)明的方式包括但不僅限 于W下實施例。
[0033] 如圖1、2、3、4、5、8所示,一種改進的SEG-Y文件中地震數(shù)據(jù)無損壓縮算法,具有如 下步驟:
[0034] 步驟1:將SEG-Y文件中單個地震數(shù)據(jù)值分解成四個分組數(shù)據(jù),分別為第一分組數(shù) 據(jù)、第二分組數(shù)據(jù)、第=分組數(shù)據(jù)和第四分組數(shù)據(jù);
[0035] 步驟2:將SEG-Y文件中所有地震數(shù)據(jù)值根據(jù)步驟1的方法進行分解,將所有第一分 組數(shù)據(jù)列為A分組數(shù)據(jù)組,將所有第二分組數(shù)據(jù)列為B分組數(shù)據(jù)組、將所有第=分組數(shù)據(jù)列 為C分組數(shù)據(jù)組,將所有第四分組數(shù)據(jù)列為D分組數(shù)據(jù)組;
[0036] 步驟3:運用基尼系數(shù)計算方法分別計算出SEG-Y文件中所有地震數(shù)據(jù)值的基尼系 數(shù),W及所有地震數(shù)據(jù)值分解成的每個數(shù)據(jù)組的基尼系數(shù),根據(jù)該基尼系數(shù)分析出對不同 的分組數(shù)據(jù)組采取不同的算法進行壓縮,通過對比不同壓縮算法對各個分組的壓縮比率, 采用Lzma算法對SEG-Y文件中所有地震數(shù)據(jù)中的A分組數(shù)據(jù)組和B分組數(shù)據(jù)組進行壓縮,同 時,將SEG-Y文件中所有地震數(shù)據(jù)中的C分組數(shù)據(jù)組和D分組數(shù)據(jù)組采用Deflate算法進行壓 縮。
[0037] 進一步地,所述步驟3中基尼系數(shù)根據(jù)公^! &行計算,其中,G 值表示基尼系數(shù),1£[0,255],11 = 256,¥1表示第0個數(shù)值到第1個數(shù)值的頻次累計占所有頻 次和的百分比,所述數(shù)值按頻次從小到大排列;式中,G值越趨近于1,表示該文件中數(shù)據(jù)在 [0,255]區(qū)間內(nèi)的分布越不均衡,越趨近于0,表示該文件中數(shù)據(jù)在[0,25引區(qū)間內(nèi)的分布越 均衡。
[0038] 為了測試本發(fā)明提出的分組壓縮算法的有效性,對本發(fā)明的壓縮結(jié)果和解壓縮效 率與目前流行的壓縮算法及軟件進行了對比實驗,實驗方法和結(jié)果如下:
[0039] 本實驗包括了E、F兩臺計算機,其硬件環(huán)境如下:CPU為Interl (R)Core(TM) i5- :3470 CPU@3.20細Z,內(nèi)存為4.00G,網(wǎng)絡適配器為Realtek PCIe G邸 Family Con化oiler。 實驗數(shù)據(jù)選取了 1902肺至188728肺不同大小的25個沈G-Y文件。
[0040] 利用本發(fā)明提出的分組壓縮算法與Lzma算法、Def late算法、Bzip2算法和WinRAR 算法對1902肺至188728肺不同大小的25個SEG-Y文件進行了壓縮,將壓縮后的文件大小除 W原始文件的大小得到算法的壓縮率,統(tǒng)計結(jié)果如圖6所示,若值為100%,則表示壓縮后的 文件大小與原始文件大小相同,值越小表示壓縮效果越好。
[0041] 從圖6中不難看出,對于不同大小的SEG-Y文件,各算法的壓縮率基本保持一致,而 不同算法的壓縮差異也可W直觀地看到,本發(fā)明算法壓縮率最低,在75%到80%之間,Lzma 算法次之,在85 %左右,而Def late算法、Bzip2算法與WinRAR算法之間雖有差異,不過略小, 基本保持在90 %左右。
[0042] 各算法在對原始SEG-Y文件進行壓縮后,調(diào)用計時函數(shù)得到各算法對壓縮文件的 解壓縮耗時,并且各算法對每個文件重復10次實驗,計算得到10次實驗的平均值,最終統(tǒng)計 得到結(jié)果如圖7所示。
[0043] 從圖7中可W看出,當文件大小較小時,各算法的解壓縮耗時差異不是很明顯,而 隨著SEG-Y文件大小的增加,各算法的差異也就顯現(xiàn)出來,可W看出各算法的解壓縮耗時與 文件大小近似于線性關(guān)系,其中,WBzip2算法耗時最長且增長速度最快,Lzma算法次之, Deflate算法和WinRAR算法解壓縮耗時較為相近,在幾種算法中耗時最少且增長速度最慢, 而本發(fā)明算法則處于四者之間。
[0044] 本發(fā)明對SEG-Y文件地震數(shù)據(jù)提供了一種無損壓縮算法,將SEG-Y文件地震數(shù)據(jù)按 照表示該數(shù)據(jù)值的四個字節(jié)依次分解成四個分組數(shù)據(jù);整個SEG-Y文件中的地震數(shù)據(jù)經(jīng)過 分解后就會得出四個分組數(shù)據(jù)組,即分別為A分組數(shù)據(jù)組、B分組數(shù)據(jù)組、C分組數(shù)據(jù)組和D分 組數(shù)據(jù)組,然后引用基尼系數(shù)實驗對比SEG-Y文件整體數(shù)據(jù)和各分組數(shù)據(jù)組的分布情況,確 定利用Lzma算法壓縮前兩個分組數(shù)據(jù)組(即A分組數(shù)據(jù)組和B分組數(shù)據(jù)組),同時將后兩個分 組數(shù)據(jù)組(即C分組數(shù)據(jù)組和D分組數(shù)據(jù)組)采用Def late算法進行壓縮。本發(fā)明最后和目前 流行的壓縮算法及軟件對SEG-Y文件的壓縮率和解壓縮時間進行了對比,實驗結(jié)果表明本 發(fā)明提出的方法可W實現(xiàn)75%-80%范圍的壓縮率,達到了目前行業(yè)應用軟件中壓縮率最 低,并且解壓縮的時間也介于目前流行軟件之間。本發(fā)明具備突出的實質(zhì)性特點和顯著進 步。
[0045] 上述實施例僅為本發(fā)明的優(yōu)選實施方式之一,不應當用于限制本發(fā)明的保護范 圍,但凡在本發(fā)明的主體設計思想和精神上作出的毫無實質(zhì)意義的改動或潤色,其所解決 的技術(shù)問題仍然與本發(fā)明一致的,均應當包含在本發(fā)明的保護范圍之內(nèi)。
【主權(quán)項】
1. 一種改進的SEG-Y文件中地震數(shù)據(jù)無損壓縮算法,其特征在于:具有如下步驟: 步驟1:將SEG-Y文件中單個地震數(shù)據(jù)值分解成四個分組數(shù)據(jù),分別為第一分組數(shù)據(jù)、第 二分組數(shù)據(jù)、第三分組數(shù)據(jù)和第四分組數(shù)據(jù); 步驟2:將SEG-Y文件中所有地震數(shù)據(jù)值根據(jù)步驟1的方法進行分解,將所有第一分組數(shù) 據(jù)列為A分組數(shù)據(jù)組,將所有第二分組數(shù)據(jù)列為B分組數(shù)據(jù)組、將所有第三分組數(shù)據(jù)列為C分 組數(shù)據(jù)組,將所有第四分組數(shù)據(jù)列為D分組數(shù)據(jù)組; 步驟3:運用基尼系數(shù)計算方法分別計算出SEG-Y文件中所有地震數(shù)據(jù)值的基尼系數(shù), 以及所有地震數(shù)據(jù)值分解成的每個數(shù)據(jù)組的基尼系數(shù),根據(jù)上述基尼系數(shù)分析出對不同的 分組數(shù)據(jù)組采取不同的算法進行壓縮,然后采用Lzma算法對SEG-Y文件中所有地震數(shù)據(jù)中 的A分組數(shù)據(jù)組和B分組數(shù)據(jù)組進行壓縮,同時,將SEG-Y文件中所有地震數(shù)據(jù)中的C分組數(shù) 據(jù)組和D分組數(shù)據(jù)組采用Deflate算法進行壓縮。2. 根據(jù)權(quán)利要求1所述的一種改進的SEG-Y文件中地震數(shù)據(jù)無損壓縮算法,其特征在 于:所述步驟3中基尼系數(shù)根據(jù)公?!進行計算,其中,G值表示基尼系數(shù), ie [〇,255] ,Ii = SSej1表示第O個數(shù)值到第i個數(shù)值的頻次累計占所有頻次和的百分比,所 述數(shù)值按頻次從小到大排列;式中,G值越趨近于1,表示該文件中數(shù)據(jù)在[0,255]區(qū)間內(nèi)的 分布越不均衡,越趨近于0,表示該文件中數(shù)據(jù)在[0,255]區(qū)間內(nèi)的分布越均衡。
【文檔編號】H03M7/30GK106019369SQ201610486968
【公開日】2016年10月12日
【申請日】2016年6月28日
【發(fā)明人】庹先國, 李懷良, 沈統(tǒng), 劉勇, 劉瑤, 李金夫, 榮文鉦, 呂中云
【申請人】西南科技大學, 四川理工學院