两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

高效自適應地震數(shù)據(jù)流無損壓縮及解壓縮方法

文檔序號:7527178閱讀:662來源:國知局
高效自適應地震數(shù)據(jù)流無損壓縮及解壓縮方法
【專利摘要】本發(fā)明涉及一種高效自適應地震數(shù)據(jù)流無損壓縮及解壓縮方法,為解決數(shù)據(jù)占用存儲空間,影響傳輸效率問題,是用于對24位模數(shù)轉換后的地球物理勘探儀器數(shù)據(jù)特別是地震數(shù)據(jù)進行高效壓縮;其特征是實時對數(shù)據(jù)流進行無損壓縮,通過使用編碼方式將采樣數(shù)據(jù)原始的24位3字節(jié)形式自適應的壓縮為1字節(jié)或2字節(jié)或3字節(jié)或者和少量數(shù)據(jù)轉化為4字節(jié);在數(shù)據(jù)壓縮前,首先根據(jù)原始數(shù)據(jù)的數(shù)值大小進行所需字節(jié)的判定,0~63及-64~-1區(qū)間的數(shù)據(jù)壓縮后為1字節(jié),64~8191及-8192~-65區(qū)間的數(shù)據(jù)壓縮后為2字節(jié),8192~104875及-104876~-8193區(qū)間的數(shù)據(jù)壓縮方法操作后為3字節(jié),占用字節(jié)與原來相同,除以上數(shù)據(jù)范圍外,其他24位有符號整型數(shù)據(jù)可以表示的其他整型數(shù)在經壓縮算法操作后需要使用4個字節(jié)表示。具有大量節(jié)省存儲空間,顯著提高數(shù)據(jù)傳輸效率的優(yōu)點。
【專利說明】高效自適應地震數(shù)據(jù)流無損壓縮及解壓縮方法

【技術領域】
[0001] 本發(fā)明涉及一種地震數(shù)據(jù)處理方法,特別是涉及一種高效自適應地震數(shù)據(jù)流無損 壓縮及解壓縮方法。 技術背景
[0002] 24位AD轉換技術是目前地球物理勘探儀器特別是地震勘探儀器最為常用的模數(shù) 轉換技術。經24模數(shù)轉換后采樣數(shù)據(jù)為3字節(jié)有符號整型數(shù)據(jù),一般來講AD轉換位數(shù)越 高,采集數(shù)據(jù)大小的動態(tài)范圍越大,但同時也增加了數(shù)據(jù)量,且近年來隨著采集道數(shù)的大幅 增加,分布式地球物理儀器特別是地震儀器的數(shù)據(jù)存儲和數(shù)據(jù)傳輸過程中面臨著既需要保 證高的采集精度又需要提高數(shù)傳效率降低存儲空間的雙重需求?,F(xiàn)有的地震數(shù)據(jù)壓縮算法 可以分為有損壓縮和無損壓縮兩種,無損壓縮一般使用通用計算機數(shù)據(jù)壓縮方法,是利用 數(shù)據(jù)的統(tǒng)計冗余進行壓縮,很顯然需要數(shù)據(jù)采集后對一定量的數(shù)據(jù)進行操作,不適用于實 時傳送的數(shù)據(jù)流。針對地震數(shù)據(jù)的有損壓縮算法一般是通過傅里葉變換、小波變換等數(shù)學 方法將地震數(shù)據(jù)由時間域變換到其他域以減小數(shù)據(jù)量,這需要復雜的計算,反變換實現(xiàn)解 壓縮后不能完全恢復原始數(shù)據(jù),且同樣存在必須對完整的地震數(shù)據(jù)進行操作,而不能對一 個或少量幾個采樣數(shù)據(jù)處理,無法對數(shù)據(jù)流實時壓縮。
[0003] 事實上,在地震數(shù)據(jù)采集時,除少量近偏移距的且震源激發(fā)后較短時間內的數(shù)據(jù) 除外,其余絕大部分的數(shù)據(jù)數(shù)值均較小,使用8位或者16位即可完整表示,也就是說對每 個采樣點數(shù)據(jù)均使用3字節(jié)的有符號整型數(shù)據(jù)進行表示造成了存儲空間浪費,存在著數(shù)據(jù) 壓縮的可能性和必要性。而對該類型地震數(shù)據(jù)依據(jù)數(shù)值大小,由3字節(jié)變?yōu)?或2或3字 節(jié),實現(xiàn)無損壓縮技術難點明顯在于使用合理的方式對數(shù)據(jù)進行編碼,使得在對數(shù)據(jù)解壓 縮時,可以根據(jù)編碼規(guī)則判定出每一個采樣點數(shù)據(jù)所占用的字節(jié)數(shù),并通過合理的解碼方 式完整的恢復原始數(shù)據(jù)。


【發(fā)明內容】

[0004] 本發(fā)明目的在于克服現(xiàn)有技術的上述缺陷,提供一種高效自適應地震數(shù)據(jù)流無損 壓縮及解壓縮方法。其是應用于海量地球物理采集數(shù)據(jù)特別是地震數(shù)據(jù)的高效無損壓縮和 解壓縮方法??梢栽诘厍蛭锢碓O備特別是地震設備采集時使用本發(fā)明方法對24位模數(shù)轉 換數(shù)據(jù)進行實時無損壓縮,以提高設備存儲能力及傳輸效率。是地球物理勘探設備特別是 地震勘探設備通信及數(shù)傳過程中的一種數(shù)據(jù)編碼解碼技術。
[0005] 為實現(xiàn)上述目的,本發(fā)明高效自適應地震數(shù)據(jù)流無損壓縮及解壓縮方法,用于對 24位模數(shù)轉換后的地球物理勘探儀器數(shù)據(jù)特別是地震數(shù)據(jù)進行高效壓縮;是實時對數(shù)據(jù) 流進行無損壓縮,通過使用編碼方式將采樣數(shù)據(jù)原始的24位3字節(jié)形式自適應的壓縮為1 字節(jié)或2字節(jié)或3字節(jié)或者和少量數(shù)據(jù)轉化為4字節(jié);壓縮后數(shù)據(jù)量大幅減小,可提高數(shù)據(jù) 傳輸效率,節(jié)省存儲空間。
[0006] 在數(shù)據(jù)壓縮前,首先根據(jù)原始數(shù)據(jù)的數(shù)值大小進行所需字節(jié)的判定,[0?63]及
[-64?-1]區(qū)間的數(shù)據(jù)壓縮后為1字節(jié),[64?8191]及[-8192?-65]區(qū)間的數(shù)據(jù)壓縮后 為2字節(jié),[8192?104875]及[-104876?-8193]區(qū)間的數(shù)據(jù)壓縮方法操作后為3字節(jié), 占用字節(jié)與原來相同,除以上數(shù)據(jù)范圍外,其他24位有符號整型數(shù)據(jù)可以表示的其他整型 數(shù)在經壓縮算法操作后需要使用4個字節(jié)表示;
[0007] 在數(shù)據(jù)壓縮時,根據(jù)所需字節(jié)數(shù)及數(shù)值正負選用不同的操作符和操作碼對指定字 節(jié)進行位操作,操作碼是一個字節(jié)的二進制數(shù),操作符有兩種,按位與(&)和按位或(I),比 指定字節(jié)位置低的字節(jié)無須處理,比指定字節(jié)位置高的字節(jié)為無效字節(jié),直接刪除;不同條 件下首字節(jié)操作選取的操作符和操作碼不同。不同條件下首字節(jié)操作選取的操作符和操作 碼具體見附表1。
[0008] 壓縮后數(shù)據(jù)量大幅減小,可提高數(shù)據(jù)傳輸效率,節(jié)省存儲空間。經測試,使用該方 法可以將使用炸藥震源或可控震源正常采集的地震數(shù)據(jù)壓縮為原始數(shù)據(jù)大小的60?80% (依據(jù)前放增益不同而有區(qū)別),而對于沒有較強震動能量條件下的地震數(shù)據(jù)采集,如微震 監(jiān)控等,數(shù)據(jù)壓縮可達到原數(shù)據(jù)的40?50 %,最優(yōu)情況下可達33 %。具有可以在地球物理 設備特別是地震設備采集時對24位模數(shù)轉換數(shù)據(jù)進行實時無損壓縮,以提高設備存儲能 力及傳輸效率的優(yōu)點。
[0009] 作為優(yōu)化,壓縮操作是循環(huán)對每一個采樣點數(shù)據(jù)的三個字節(jié)進行操作的:讀取某 一字節(jié)后首先進行數(shù)值判定,依據(jù)數(shù)值大小及數(shù)值正負,可以分成8種情況進行壓縮處理, 壓縮操作的核心工作是在不改變與數(shù)值大小有關的位的基礎上,刪除多余的符號位,同時 添加可以識別數(shù)據(jù)字節(jié)個數(shù)的不同標志位。如"〇〇"代表數(shù)據(jù)壓縮成了 1個字節(jié)正數(shù),"10" 代表數(shù)據(jù)壓縮成了 1個字節(jié)的負數(shù),"010"代表數(shù)據(jù)壓縮成2字節(jié)正數(shù)等等。
[0010] 作為優(yōu)化,所述8種操作方式如下:
[0011] ①[000000h,00003Fh]區(qū)間的數(shù)據(jù),直接取尾字節(jié)作為壓縮結果,實現(xiàn)3字節(jié)至1 字節(jié)的壓縮操作。因為該區(qū)間內的數(shù)據(jù)前面兩個字節(jié)均為〇〇h,而且尾字節(jié)頭兩位為00 ;
[0012] ②[FFFFCOh,F(xiàn)FFFFFh]區(qū)間的數(shù)據(jù),取尾字節(jié)與BFh進行進行按位與操作后作為 壓縮結果,尾字節(jié)由llbbbbbb變?yōu)閘Obbbbbb,實現(xiàn)3字節(jié)至1字節(jié)的壓縮操作。其中"b" 代表該位上數(shù)據(jù)可能是0也可能是1,以下相同;
[0013] ③[000040h,001FFFh]區(qū)間的數(shù)據(jù),中間字節(jié)與40h進行按位或操作后與尾字節(jié) 一起作為壓縮結果,中間字節(jié)由OOObbbbb變?yōu)镺lObbbbb,實現(xiàn)3字節(jié)至2字節(jié)的壓縮操作;
[0014] ④[FFEOOOh,F(xiàn)FFFBFh]區(qū)間的數(shù)據(jù),中間字節(jié)與DFh進行按位與操作后與尾字節(jié) 一起作為壓縮結果,中間字節(jié)由lllbbbbb變?yōu)閘lObbbbb,實現(xiàn)3字節(jié)至2字節(jié)的壓縮操作;
[0015] ⑤[002000h,0FFFFFh]區(qū)間的數(shù)據(jù),首字節(jié)與60h按位或操作后與中間字節(jié)及尾 字節(jié)一起作為壓縮結果,首字節(jié)由oooobbbb變?yōu)镺llObbbb,中間字節(jié)與尾字節(jié)不變,壓縮 操作前后均占用3字節(jié);
[0016] ⑥[F00000h,F(xiàn)FDFFFh]區(qū)間的數(shù)據(jù),首字節(jié)與EFh按位與操作后與中間字節(jié)及尾 字節(jié)一起作為壓縮結果,首字節(jié)由lllObbbb變?yōu)閘lllbbbb,中間字節(jié)與尾字節(jié)不變,壓縮 操作前后均占用3字節(jié);
[0017] ⑦[100000h,7FFFFFh]區(qū)間的數(shù)據(jù),保持原始的3個字節(jié)不動,添加70h作為首字 節(jié),新形成的4個字節(jié)作為壓縮操作的結果;
[0018] ⑧[800000h,EFFFFFh]區(qū)間的數(shù)據(jù),保持原始的3個字節(jié)不動,添加F0h作為首字 節(jié),新形成的4個字節(jié)作為壓縮操作的結果。
[0019] 作為優(yōu)化,條件7和條件8的操作實際上增大了占用字節(jié)數(shù),由原始數(shù)據(jù)的3個字 節(jié)變成了使用4個字節(jié)表示,這是因為在條件6及條件7中就需要除符號位外的另外3位共 同作為標志位,即"0110"和"1110",可以表示的正負數(shù)據(jù)范圍分別由23位的0(l)bbbbbbb bbbbbbbb bbbbbbbb 縮小到 20 位的 0(l)110bbbb bbbbbbbb bbbbbbbb,有效數(shù)據(jù)占用在 20 位至23位之間的數(shù)據(jù)無法使用3個字節(jié)表示。此外需要指出的是,4字節(jié)時添加的首字節(jié) "70h"和"R)h"不是唯一的,因為標志位要求壓縮結果占用4個字節(jié)時判斷碼使用"01110" 或"11110",即首字節(jié)可以是OlllObbb及l(fā)lllObbb表示的任何數(shù),使用這個范圍的任何數(shù) 作為首字節(jié)都不影響解壓縮時字節(jié)數(shù)的判斷及解壓縮結果。
[0020] 對于地震數(shù)據(jù)來講,一般情況下符合條件1,2, 3和4的情況遠遠大于條件5-8的 情況,特別是7和8很少出現(xiàn),所以整體來講可以很好的實現(xiàn)數(shù)據(jù)壓縮效果。
[0021] 作為優(yōu)化,該方法實施過程中獨立的對每個采樣數(shù)據(jù)進行壓縮,不依賴于其他采 樣數(shù)據(jù),故可以實時的對數(shù)據(jù)流進行壓縮。
[0022] 作為優(yōu)化,解壓縮時首先對使用所述壓縮方法壓縮完成的二進制數(shù)據(jù)進行操作, 首先可以根據(jù)壓縮編碼規(guī)則判定每個采樣點數(shù)據(jù)所占用的字節(jié)數(shù),隨后經設定的解碼操 作,可隨時將壓縮后的1字節(jié)或2字節(jié)或3字節(jié)或者和極少數(shù)為4字節(jié)地震采樣數(shù)據(jù)無損 恢復成原始的24位3字節(jié)數(shù)據(jù)形式。
[0023] 基本過程是:①選取一個字節(jié),通過使用掩碼判定的方法判斷從該字節(jié)開始,多少 個字節(jié)(1個或2個或3個或4個)為一個采樣數(shù)據(jù)。②進行有效字節(jié)恢復。即截取步驟1 中判斷出的數(shù)個字節(jié),隨后對首個字節(jié)進行位操作,以恢復有效字節(jié)。其余字節(jié)原樣保留。 ③符號位拓展。即對不滿3個字節(jié)的采樣數(shù)據(jù)添加不影響數(shù)值僅表示符號的字節(jié),使所有 采樣數(shù)據(jù)恢復成3字節(jié)24位形式。具有可以將壓縮后的數(shù)據(jù)無損恢復成原始的24位3字 節(jié)形式,解壓方便可靠的優(yōu)點。
[0024] 作為優(yōu)化,從壓縮文件或數(shù)據(jù)流的第一個字節(jié)開始,對該字節(jié)進行掩碼操作,和 FOh進行按位與操作,依據(jù)操作結果數(shù)值可以分為8種不同條件。
[0025] 作為優(yōu)化,所述8種不同條件,具體如下:
[0026] ①操作結果為00h或10h或20h或30h中的某個值,則表示從該字節(jié)起(含該字 節(jié))1個字節(jié)為一個數(shù)值為正的采樣點數(shù)據(jù),用其作為尾字節(jié),再添加〇〇h作為中間字節(jié), 00h作為首字節(jié),此3字節(jié)作為解壓縮結果,與壓縮前一致。
[0027] ②操作結果為80h或90h或A0h或B0h中的某個值,則表示從該字節(jié)起(含該字 節(jié))1個字節(jié)為一個數(shù)值為負的采樣點數(shù)據(jù),使用該字節(jié)與c〇h按位或操作,結果作為尾字 節(jié),再添加ffh作為中間字節(jié),ffh作為首字節(jié),此3字節(jié)作為解壓縮結果,與壓縮前一致。
[0028] ③操作結果為50h或40h中的某個值,則表示從該字節(jié)起(含該字節(jié))2個字節(jié)為 一個數(shù)值為正的采樣點數(shù)據(jù),使用該字節(jié)與lFh按位與操作,結果作為尾字節(jié),該字節(jié)的下 一個字節(jié)作為中間字節(jié),添加00h作為首字節(jié),此3字節(jié)作為解壓縮結果,與壓縮前一致。
[0029] ④操作結果為D0h或C0h中的某個值,則表示從該字節(jié)起(含該字節(jié))2個字節(jié)為 一個數(shù)值為負的采樣點數(shù)據(jù),使用該字節(jié)與E0h按位或操作,結果作為尾字節(jié),該字節(jié)的下 一個字節(jié)作為中間字節(jié),添加FFh作為首字節(jié),此3字節(jié)作為解壓縮結果,與壓縮前一致。
[0030] ⑤操作結果為60h,則表示從該字節(jié)起(含該字節(jié))3個字節(jié)為一個數(shù)值為正的采 樣點數(shù)據(jù),使用該字節(jié)與OFh按位與操作,結果作為尾字節(jié),該字節(jié)的下兩個字節(jié)作為中間 字節(jié)和首字節(jié),此3字節(jié)作為解壓縮結果,與壓縮前一致。
[0031] ⑥操作結果為EFh,則表示從該字節(jié)起(含該字節(jié))3個字節(jié)為一個數(shù)值為負的采 樣點數(shù)據(jù),使用該字節(jié)與EOh按位或操作,結果作為尾字節(jié),該字節(jié)的下兩個字節(jié)作為中間 字節(jié)和首字節(jié),此3字節(jié)作為解壓縮結果,與壓縮前一致。
[0032] ⑦操作結果為70h,則表示從該字節(jié)起(含該字節(jié))4個字節(jié)為一個數(shù)值為正的采 樣點數(shù)據(jù),當前字節(jié)不需要,從當前字節(jié)往后的3個字節(jié)為原始數(shù)據(jù)。
[0033] ⑧操作結果為R)h,則表示從該字節(jié)起(含該字節(jié))4個字節(jié)為一個數(shù)值為負的采 樣點數(shù)據(jù),當前字節(jié)不需要,從當前字節(jié)往后的3個字節(jié)為原始數(shù)據(jù)。
[0034] 使用以上8種條件的任意一種進行一個采樣數(shù)據(jù)的解壓縮操作后,需要將指針跳 轉相應的字節(jié)進行下一采樣數(shù)據(jù)的判斷及解壓操作,即條件1和2操作后跳轉1個字節(jié),條 件3和4操作后跳轉2個字節(jié),條件5和6操作后跳轉3個字節(jié),條件7和8操作后跳轉4 個字節(jié)。
[0035] 作為優(yōu)化,除地震數(shù)據(jù)流壓縮外也可應用于以二進制形式存儲的24位采樣的地 震數(shù)據(jù)文件。使用壓縮算法對文件處理后,文件字節(jié)數(shù)大幅減小,使用解壓縮算法后可以完 全恢復成原始文件。而對于以普通整型(4字節(jié)32位有符號整型)存儲的地震數(shù)據(jù)文件, 由于其只是在24位整型的基礎上做了符號位拓展,添加了一個值為00h或者FFh的不影響 數(shù)值的符號位字節(jié),因此對每個采樣點對應的4個字節(jié)中的該符號位字節(jié)可以不用考慮, 可以直接對其余3個字節(jié)進行本方法中所述的壓縮操作。解壓縮時可先進行本方法解壓縮 操作,隨后進行符號位拓展,恢復成原始4字節(jié)整型數(shù)據(jù)文件。類似操作可實施于使用4字 節(jié)整型表示的地震數(shù)據(jù)流,實現(xiàn)壓縮與解壓縮操作。
[0036] 作為優(yōu)化,在地震勘探采集系統(tǒng)中使用的基本過程是:采集站模數(shù)轉換模塊輸出 的24位整型數(shù)據(jù),交由主控cpu或者FPGA模塊進行壓縮操作,壓縮后經網絡傳輸至電源站 或交叉站,電源站或交叉站的主控模塊或FPGA模塊依據(jù)解壓算法進行解壓縮操作,恢復24 位整型數(shù)據(jù);壓縮數(shù)據(jù)也可以在地震儀主機系統(tǒng)接受后進行解壓縮操作,或直接將壓縮結 果進行文件存儲,隨后對文件進行解壓縮操作恢復原始數(shù)據(jù)。
[0037] 采用上述技術方案后,本發(fā)明高效自適應地震數(shù)據(jù)流無損壓縮及解壓縮方法具有 可以在地球物理設備特別是地震設備采集時對24位模數(shù)轉換數(shù)據(jù)進行實時無損壓縮,以 提高設備存儲能力及傳輸效率,壓縮后數(shù)據(jù)量大幅減小,能將壓縮后的數(shù)據(jù)無損恢復成原 始的24位3字節(jié)形式,解壓方便可靠,可顯著提高數(shù)據(jù)傳輸效率,節(jié)省存儲空間的優(yōu)點。

【專利附圖】

【附圖說明】
[0038] 圖1是本發(fā)明高效自適應地震數(shù)據(jù)流無損壓縮方法的操作流程示意圖;
[0039] 圖2是本發(fā)明高效自適應地震數(shù)據(jù)流無損解壓縮方法的操作流程示意圖。

【具體實施方式】
[0040] 本發(fā)明高效自適應地震數(shù)據(jù)流無損壓縮及解壓縮方法中的無損壓縮的過程見附 圖1。如附圖1所示,壓縮操作是循環(huán)對每一個采樣點數(shù)據(jù)的三個字節(jié)進行操作的。讀取某 一字節(jié)后首先進行數(shù)值判定,依據(jù)數(shù)值大小及數(shù)值正負,可以分成8種情況進行壓縮處理, 表1和圖1中均有8種情況對應的原始數(shù)據(jù)數(shù)值范圍以及每種情況下原始3字節(jié)數(shù)據(jù)壓縮 操作后轉換成1或2或3或4個字節(jié)。表1中還列出了壓縮后的數(shù)據(jù)其二進制形式。其中 的"b"代表該位可能是0也可能是1。從壓縮后數(shù)值的二進制形式可以看出,壓縮操作的核 心工作是在不改變與數(shù)值大小有關的位的基礎上,刪除多余的符號位,同時添加可以識別 數(shù)據(jù)字節(jié)個數(shù)的不同標志位,如"〇〇"代表數(shù)據(jù)壓縮成了 1個字節(jié)正數(shù)," 10"代表數(shù)據(jù)壓縮 成了 1個字節(jié)的負數(shù),"010"代表數(shù)據(jù)壓縮成2字節(jié)正數(shù)等等。下面詳述8種操作方式。
[0041] ①[000000h,00003Fh]區(qū)間的數(shù)據(jù),直接取尾字節(jié)作為壓縮結果,實現(xiàn)3字節(jié)至1 字節(jié)的壓縮操作。因為該區(qū)間內的數(shù)據(jù)前面兩個字節(jié)均為〇〇h,而且尾字節(jié)頭兩位為00。
[0042] ②[FFFFCOh,F(xiàn)FFFFFh]區(qū)間的數(shù)據(jù),取尾字節(jié)與BFh進行進行按位與操作后作為 壓縮結果,尾字節(jié)由llbbbbbb變?yōu)閘Obbbbbb,實現(xiàn)3字節(jié)至1字節(jié)的壓縮操作。
[0043] ③[000040h,001FFFh]區(qū)間的數(shù)據(jù),中間字節(jié)與40h進行按位或操作后與尾字節(jié) 一起作為壓縮結果,中間字節(jié)由OOObbbbb變?yōu)镺lObbbbb,實現(xiàn)3字節(jié)至2字節(jié)的壓縮操作。
[0044] ④[FFEOOOh,F(xiàn)FFFBFh]區(qū)間的數(shù)據(jù),中間字節(jié)與DFh進行按位與操作后與尾字節(jié) 一起作為壓縮結果,中間字節(jié)由11 lbbbbb變?yōu)? lObbbbb,實現(xiàn)3字節(jié)至2字節(jié)的壓縮操作。
[0045] ⑤[002000h,0FFFFFh]區(qū)間的數(shù)據(jù),首字節(jié)與60h按位或操作后與中間字節(jié)及尾 字節(jié)一起作為壓縮結果,首字節(jié)由oooobbbb變?yōu)镺llObbbb,中間字節(jié)與尾字節(jié)不變,壓縮 操作前后均占用3字節(jié)。
[0046] ⑥[F00000h,F(xiàn)FDFFFh]區(qū)間的數(shù)據(jù),首字節(jié)與EFh按位與操作后與中間字節(jié)及尾 字節(jié)一起作為壓縮結果,首字節(jié)由lllObbbb變?yōu)閘lllbbbb,中間字節(jié)與尾字節(jié)不變,壓縮 操作前后均占用3字節(jié)。
[0047] ⑦[100000h,7FFFFFh]區(qū)間的數(shù)據(jù),保持原始的3個字節(jié)不動,添加70h作為首字 節(jié),新形成的4個字節(jié)作為壓縮操作的結果。
[0048] ⑧[800000h,EFFFFFh]區(qū)間的數(shù)據(jù),保持原始的3個字節(jié)不動,添加F0h作為首字 節(jié),新形成的4個字節(jié)作為壓縮操作的結果。
[0049] 條件7和條件8的操作實際上增大了占用字節(jié)數(shù),由原始數(shù)據(jù)的3個字節(jié)變成 了使用4個字節(jié)表示,這是因為在條件6及條件7中就需要除符號位外的另外3位共同 作為標志位,即"0110"和" 1110",可以表示的正負數(shù)據(jù)范圍分別由23位的0 (1) bbbbbbb bbbbbbbb bbbbbbbb 縮小到 20 位的 0(1) llObbbb bbbbbbbb bbbbbbbb,有效數(shù)據(jù)占用在 20 位至23位之間的數(shù)據(jù)無法使用3個字節(jié)表示。此外需要指出的是,4字節(jié)時添加的首字節(jié) "70h"和"R)h"不是唯一的,因為標志位要求壓縮結果占用4個字節(jié)時判斷碼使用"01110" 或" 11110",即首字節(jié)可以是0lllObbb及111 10bbb表示的任何數(shù),使用這個范圍的任何數(shù) 作為首字節(jié)都不影響解壓縮時字節(jié)數(shù)的判斷及解壓縮結果。
[0050] 對于地震數(shù)據(jù)來講,一般情況下符合條件1,2, 3和4的情況遠遠大于條件5-8的 情況,特別是7和8很少出現(xiàn),所以整體來講可以很好的實現(xiàn)數(shù)據(jù)壓縮效果。
[0051] 數(shù)據(jù)解壓縮的基本過程見附圖2。解壓縮操作的第一步是進行采樣點數(shù)據(jù)占用字 節(jié)數(shù)的判斷,即在恢復每個采樣點數(shù)據(jù)前要判斷該樣點數(shù)據(jù)壓縮后占用了多少個字節(jié)。從 壓縮文件或數(shù)據(jù)流的第一個字節(jié)開始,對該字節(jié)進行掩碼操作,和F0h進行按位與操作,依 據(jù)操作結果數(shù)值可以分為8中不同條件,具體如下:
[0052] 操作結果為00h或10h或20h或30h中的某個值,則表示從該字節(jié)起(含該字節(jié))1 個字節(jié)為一個數(shù)值為正的采樣點數(shù)據(jù),用其作為尾字節(jié),再添加ooh作為中間字節(jié),OOh作 為首字節(jié),此3字節(jié)作為解壓縮結果,與壓縮前一致。
[0053] ⑨操作結果為80h或90h或AOh或BOh中的某個值,則表示從該字節(jié)起(含該字 節(jié))1個字節(jié)為一個數(shù)值為負的采樣點數(shù)據(jù),使用該字節(jié)與COh按位或操作,結果作為尾字 節(jié),再添加FFh作為中間字節(jié),F(xiàn)Fh作為首字節(jié),此3字節(jié)作為解壓縮結果,與壓縮前一致。
[0054] ⑩操作結果為50h或40h中的某個值,則表示從該字節(jié)起(含該字節(jié))2個字節(jié)為 一個數(shù)值為正的采樣點數(shù)據(jù),使用該字節(jié)與lFh按位與操作,結果作為尾字節(jié),該字節(jié)的下 一個字節(jié)作為中間字節(jié),添加00h作為首字節(jié),此3字節(jié)作為解壓縮結果,與壓縮前一致。
[0055] ?操作結果為D0h或COh中的某個值,則表示從該字節(jié)起(含該字節(jié))2個字節(jié)為 一個數(shù)值為負的采樣點數(shù)據(jù),使用該字節(jié)與E0h按位或操作,結果作為尾字節(jié),該字節(jié)的下 一個字節(jié)作為中間字節(jié),添加FFh作為首字節(jié),此3字節(jié)作為解壓縮結果,與壓縮前一致。
[0056] ?操作結果為60h,則表示從該字節(jié)起(含該字節(jié))3個字節(jié)為一個數(shù)值為正的采 樣點數(shù)據(jù),使用該字節(jié)與〇Fh按位與操作,結果作為尾字節(jié),該字節(jié)的下兩個字節(jié)作為中間 字節(jié)和首字節(jié),此3字節(jié)作為解壓縮結果,與壓縮前一致。
[0057] ?操作結果為EFh,則表示從該字節(jié)起(含該字節(jié))3個字節(jié)為一個數(shù)值為負的采 樣點數(shù)據(jù),使用該字節(jié)與E0h按位或操作,結果作為尾字節(jié),該字節(jié)的下兩個字節(jié)作為中間 字節(jié)和首字節(jié),此3字節(jié)作為解壓縮結果,與壓縮前一致。
[0058] ?操作結果為70h,則表示從該字節(jié)起(含該字節(jié))4個字節(jié)為一個數(shù)值為正的采 樣點數(shù)據(jù),當前字節(jié)不需要,從當前字節(jié)往后的3個字節(jié)為原始數(shù)據(jù)。
[0059] ?操作結果為R)h,則表示從該字節(jié)起(含該字節(jié))4個字節(jié)為一個數(shù)值為負的采 樣點數(shù)據(jù),當前字節(jié)不需要,從當前字節(jié)往后的3個字節(jié)為原始數(shù)據(jù)。
[0060] 使用以上8種條件的任意一種進行一個采樣數(shù)據(jù)的解壓縮操作后,需要將指針跳 轉相應的字節(jié)進行下一采樣數(shù)據(jù)的判斷及解壓操作,即條件1和2操作后跳轉1個字節(jié),條 件3和4操作后跳轉2個字節(jié),條件5和6操作后跳轉3個字節(jié),條件7和8操作后跳轉4 個字節(jié)。
[0061] 下見,表1是高效自適應地震數(shù)據(jù)流無損壓縮及解壓縮方法所需操作符及操作碼 簡表。
[0062]

【權利要求】
1. 一種高效自適應地震數(shù)據(jù)流無損壓縮及解壓縮方法,用于對24位模數(shù)轉換后的地 球物理勘探儀器數(shù)據(jù)特別是地震數(shù)據(jù)進行高效壓縮;其特征是實時對數(shù)據(jù)流進行無損壓 縮,通過使用編碼方式將采樣數(shù)據(jù)原始的24位3字節(jié)形式自適應的壓縮為1字節(jié)或2字節(jié) 或3字節(jié)或者和少量數(shù)據(jù)轉化為4字節(jié); 在數(shù)據(jù)壓縮前,首先根據(jù)原始數(shù)據(jù)的數(shù)值大小進行所需字節(jié)的判定,〇?63 及-64?-1區(qū)間的數(shù)據(jù)壓縮后為1字節(jié),64?8191及-8192?-65區(qū)間的數(shù)據(jù)壓縮后為 2字節(jié),8192?104875及-104876?-8193區(qū)間的數(shù)據(jù)壓縮方法操作后為3字節(jié),占用字 節(jié)與原來相同,除以上數(shù)據(jù)范圍外,其他24位有符號整型數(shù)據(jù)可以表示的其他整型數(shù)在經 壓縮算法操作后需要使用4個字節(jié)表示; 在數(shù)據(jù)壓縮時,根據(jù)所需字節(jié)數(shù)及數(shù)值正負選用不同的操作符和操作碼對指定字節(jié)進 行位操作,操作碼是一個字節(jié)的二進制數(shù),操作符有兩種,按位與(&)和按位或(I),比指定 字節(jié)位置低的字節(jié)無須處理,比指定字節(jié)位置高的字節(jié)為無效字節(jié),直接刪除;不同條件下 首字節(jié)操作選取的操作符和操作碼不同。
2. 根據(jù)權利要求1所述方法,其特征在于壓縮操作是循環(huán)對每一個采樣點數(shù)據(jù)的三個 字節(jié)進行操作的:讀取某一字節(jié)后首先進行數(shù)值判定,依據(jù)數(shù)值大小及數(shù)值正負,可以分成 8種情況進行壓縮處理,壓縮操作的核心工作是在不改變與數(shù)值大小有關的位的基礎上,刪 除多余的符號位,同時添加可以識別數(shù)據(jù)字節(jié)個數(shù)的不同標志位。
3. 根據(jù)權利要求2所述方法,其特征在于所述8種操作方式如下: ① [000000h,00003Fh]區(qū)間的數(shù)據(jù),直接取尾字節(jié)作為壓縮結果,實現(xiàn)3字節(jié)至1字節(jié) 的壓縮操作;該區(qū)間內的數(shù)據(jù)前面兩個字節(jié)均為〇〇h,而且尾字節(jié)頭兩位為00 ; ② [FFFFCOh,F(xiàn)FFFFFh]區(qū)間的數(shù)據(jù),取尾字節(jié)與BFh進行進行按位與操作后作為壓縮 結果,尾字節(jié)由llbbbbbb變?yōu)閘Obbbbbb,實現(xiàn)3字節(jié)至1字節(jié)的壓縮操作;其中"b"代表 該位上數(shù)據(jù)可能是0也可能是1,以下相同; ③ [000040h,001FFFh]區(qū)間的數(shù)據(jù),中間字節(jié)與40h進行按位或操作后與尾字節(jié)一起 作為壓縮結果,中間字節(jié)由OOObbbbb變?yōu)镺lObbbbb,實現(xiàn)3字節(jié)至2字節(jié)的壓縮操作; ④ [FFEOOOh,F(xiàn)FFFBFh]區(qū)間的數(shù)據(jù),中間字節(jié)與DFh進行按位與操作后與尾字節(jié)一起 作為壓縮結果,中間字節(jié)由lllbbbbb變?yōu)閘lObbbbb,實現(xiàn)3字節(jié)至2字節(jié)的壓縮操作; ⑤ [002000h,0FFFFFh]區(qū)間的數(shù)據(jù),首字節(jié)與60h按位或操作后與中間字節(jié)及尾字節(jié) 一起作為壓縮結果,首字節(jié)由OOOObbbb變?yōu)镺llObbbb,中間字節(jié)與尾字節(jié)不變,壓縮操作 前后均占用3字節(jié); ⑥ [FOOOOOh,F(xiàn)FDFFFh]區(qū)間的數(shù)據(jù),首字節(jié)與EFh按位與操作后與中間字節(jié)及尾字節(jié) 一起作為壓縮結果,首字節(jié)由lllObbbb變?yōu)閘lllbbbb,中間字節(jié)與尾字節(jié)不變,壓縮操作 前后均占用3字節(jié); ⑦ [100000h,7FFFFFh]區(qū)間的數(shù)據(jù),保持原始的3個字節(jié)不動,添加70h作為首字節(jié), 新形成的4個字節(jié)作為壓縮操作的結果; ⑧ [800000h,EFFFFFh]區(qū)間的數(shù)據(jù),保持原始的3個字節(jié)不動,添加FOh作為首字節(jié), 新形成的4個字節(jié)作為壓縮操作的結果。
4. 根據(jù)權利要求3所述方法,其特征在于條件7和條件8的操作實際上增大了占用 字節(jié)數(shù),由原始數(shù)據(jù)的3個字節(jié)變成了使用4個字節(jié)表示,這是因為在條件6及條件7中 就需要除符號位外的另外3位共同作為標志位,即"0110"和"1110",可以表示的正負數(shù) 據(jù)范圍分別由 23 位的 0 (1) bbbbbbb bbbbbbbb bbbbbbbb 縮小到 20 位的 0 (1) 1 lObbbb bbbbbbbbbbbbbbbb,有效數(shù)據(jù)占用在20位至23位之間的數(shù)據(jù)無法使用3個字節(jié)表不。此外 需要指出的是,4字節(jié)時添加的首字節(jié)"70h"和"FOh"不是唯一的,因為標志位要求壓縮結 果占用4個字節(jié)時判斷碼使用"01110"或" 11110",即首字節(jié)可以是OlllObbb及111lObbb 表示的任何數(shù),使用這個范圍的任何數(shù)作為首字節(jié)都不影響解壓縮時字節(jié)數(shù)的判斷及解壓 縮結果。
5. 根據(jù)權利要求1所述方法,其特征在于該方法實施過程中獨立的對每個采樣數(shù)據(jù)進 行壓縮,不依賴于其他采樣數(shù)據(jù),實時的對數(shù)據(jù)流進行壓縮。
6. 根據(jù)權利要求1所述方法,其特征在于解壓縮時首先對使用所述壓縮方法壓縮完 成的二進制數(shù)據(jù)進行操作,首先可以根據(jù)壓縮編碼規(guī)則判定每個采樣點數(shù)據(jù)所占用的字節(jié) 數(shù),隨后經設定的解碼操作,可隨時將壓縮后的1字節(jié)或2字節(jié)或3字節(jié)或者和極少數(shù)為4 字節(jié)地震采樣數(shù)據(jù)無損恢復成原始的24位3字節(jié)數(shù)據(jù)形式; 基本過程是:①選取一個字節(jié),通過使用掩碼判定的方法判斷從該字節(jié)開始,1個或2 個或3個或4個字節(jié)為一個采樣數(shù)據(jù);②進行有效字節(jié)恢復。即截取步驟1中判斷出的數(shù)個 字節(jié),隨后對首個字節(jié)進行位操作,以恢復有效字節(jié);其余字節(jié)原樣保留;③符號位拓展, 對不滿3個字節(jié)的采樣數(shù)據(jù)添加不影響數(shù)值僅表示符號的字節(jié),使所有采樣數(shù)據(jù)恢復成3 字節(jié)24位形式。
7. 根據(jù)權利要求6所述方法,其特征在于從壓縮文件或數(shù)據(jù)流的第一個字節(jié)開始,對 該字節(jié)進行掩碼操作,和F0h進行按位與操作,依據(jù)操作結果數(shù)值可以分為8種不同條件。
8. 根據(jù)權利要求7所述方法,其特征在于所述8種不同條件具體如下: ① 操作結果為〇〇h或10h或20h或30h中的某個值,則表示從該字節(jié)起1個字節(jié)為一 個數(shù)值為正的采樣點數(shù)據(jù),用其作為尾字節(jié),再添加〇〇h作為中間字節(jié),00h作為首字節(jié),此 3字節(jié)作為解壓縮結果,與壓縮前一致; ② 操作結果為80h或90h或A0h或B0h中的某個值,則表示從該字節(jié)起1個字節(jié)為一 個數(shù)值為負的采樣點數(shù)據(jù),使用該字節(jié)與cOh按位或操作,結果作為尾字節(jié),再添加ffh作 為中間字節(jié),ffh作為首字節(jié),此3字節(jié)作為解壓縮結果,與壓縮前一致; ③ 操作結果為50h或40h中的某個值,則表示從該字節(jié)起2個字節(jié)為一個數(shù)值為正的 采樣點數(shù)據(jù),使用該字節(jié)與lFh按位與操作,結果作為尾字節(jié),該字節(jié)的下一個字節(jié)作為中 間字節(jié),添加〇〇h作為首字節(jié),此3字節(jié)作為解壓縮結果,與壓縮前一致; ④ 操作結果為D0h或COh中的某個值,則表示從該字節(jié)起2個字節(jié)為一個數(shù)值為負的 采樣點數(shù)據(jù),使用該字節(jié)與E0h按位或操作,結果作為尾字節(jié),該字節(jié)的下一個字節(jié)作為中 間字節(jié),添加FFh作為首字節(jié),此3字節(jié)作為解壓縮結果,與壓縮前一致; ⑤ 操作結果為60h,則表示從該字節(jié)起3個字節(jié)為一個數(shù)值為正的采樣點數(shù)據(jù),使用該 字節(jié)與〇Fh按位與操作,結果作為尾字節(jié),該字節(jié)的下兩個字節(jié)作為中間字節(jié)和首字節(jié),此 3字節(jié)作為解壓縮結果,與壓縮前一致; ⑥ 操作結果為EFh,則表示從該字節(jié)起3個字節(jié)為一個數(shù)值為負的采樣點數(shù)據(jù),使用該 字節(jié)與E0h按位或操作,結果作為尾字節(jié),該字節(jié)的下兩個字節(jié)作為中間字節(jié)和首字節(jié),此 3字節(jié)作為解壓縮結果,與壓縮前一致; ⑦ 操作結果為70h,則表示從該字節(jié)起4個字節(jié)為一個數(shù)值為正的采樣點數(shù)據(jù),當前字 節(jié)不需要,從當前字節(jié)往后的3個字節(jié)為原始數(shù)據(jù); ⑧ 操作結果為H)h,則表示從該字節(jié)起4個字節(jié)為一個數(shù)值為負的采樣點數(shù)據(jù),當前字 節(jié)不需要,從當前字節(jié)往后的3個字節(jié)為原始數(shù)據(jù); 使用以上8種條件的任意一種進行一個采樣數(shù)據(jù)的解壓縮操作后,需要將指針跳轉相 應的字節(jié)進行下一采樣數(shù)據(jù)的判斷及解壓操作:條件1和2操作后跳轉1個字節(jié),條件3和 4操作后跳轉2個字節(jié),條件5和6操作后跳轉3個字節(jié),條件7和8操作后跳轉4個字節(jié)。
9. 根據(jù)權利要求1-8任一所述方法,其特征在于除地震數(shù)據(jù)流壓縮外也應用于以二進 制形式存儲的24位采樣的地震數(shù)據(jù)文件;使用壓縮算法對文件處理后,文件字節(jié)數(shù)大幅減 小,解壓縮后完全恢復成原始文件;而對于以普通整型4字節(jié)32位有符號整型存儲的地震 數(shù)據(jù)文件,在24位整型的基礎上做了符號位拓展,添加了一個值為OOh或者FFh的不影響 數(shù)值的符號位字節(jié),對每個采樣點對應的4個字節(jié)中的該符號位字節(jié)不用考慮,可以直接 對其余3個字節(jié)進行本方法中所述的壓縮操作;解壓縮時可先進行本方法解壓縮操作,隨 后進行符號位拓展,恢復成原始4字節(jié)整型數(shù)據(jù)文件;類似操作可實施于使用4字節(jié)整型表 示的地震數(shù)據(jù)流,實現(xiàn)壓縮與解壓縮操作。
10. 根據(jù)權利要求1-8任一所述方法,其特征在于在地震勘探采集系統(tǒng)中使用的基本 過程是:采集站模數(shù)轉換模塊輸出的24位整型數(shù)據(jù),交由主控cpu或者FPGA模塊進行壓縮 操作,壓縮后經網絡傳輸至電源站或交叉站,電源站或交叉站的主控模塊或FPGA模塊依據(jù) 解壓算法進行解壓縮操作,恢復24位整型數(shù)據(jù);壓縮數(shù)據(jù)也可以在地震儀主機系統(tǒng)接受后 進行解壓縮操作,或直接將壓縮結果進行文件存儲,隨后對文件進行解壓縮操作恢復原始 數(shù)據(jù)。
【文檔編號】H03M7/30GK104378118SQ201410591173
【公開日】2015年2月25日 申請日期:2014年10月29日 優(yōu)先權日:2014年10月29日
【發(fā)明者】徐善輝, 郭建, 楊長春, 劉光鼎 申請人:中國科學院地質與地球物理研究所
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
博乐市| 汾西县| 伊宁县| 田阳县| 安陆市| 封丘县| 丰城市| 东莞市| 清原| 平陆县| 九台市| 壶关县| 无锡市| 溧水县| 当阳市| 德州市| 蒙阴县| 通道| 合山市| 渭源县| 木里| 青海省| 清镇市| 韶关市| 肃北| 东宁县| 宜城市| 阿坝县| 湾仔区| 偃师市| 轮台县| 曲靖市| 偃师市| 金华市| 台安县| 哈密市| 盱眙县| 界首市| 安新县| 湟源县| 东莞市|