CN104378118B - 高效自适应地震数据流无损压缩及解压缩方法 - Google Patents
高效自适应地震数据流无损压缩及解压缩方法 Download PDFInfo
- Publication number
- CN104378118B CN104378118B CN201410591173.5A CN201410591173A CN104378118B CN 104378118 B CN104378118 B CN 104378118B CN 201410591173 A CN201410591173 A CN 201410591173A CN 104378118 B CN104378118 B CN 104378118B
- Authority
- CN
- China
- Prior art keywords
- byte
- data
- bytes
- compression
- result
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000007906 compression Methods 0.000 title claims abstract description 86
- 230000006835 compression Effects 0.000 title claims abstract description 86
- 230000006837 decompression Effects 0.000 title claims abstract description 63
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000013144 data compression Methods 0.000 claims abstract description 27
- 230000005540 biological transmission Effects 0.000 claims abstract description 11
- 238000006243 chemical reaction Methods 0.000 claims abstract description 11
- 230000003044 adaptive effect Effects 0.000 claims abstract description 3
- 238000005070 sampling Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 12
- 241001269238 Data Species 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 5
- 238000012546 transfer Methods 0.000 claims description 4
- 238000011084 recovery Methods 0.000 claims description 2
- 230000008901 benefit Effects 0.000 abstract description 4
- 238000005457 optimization Methods 0.000 description 9
- 230000001066 destructive effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 241001274660 Modulus Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4093—Variable length to variable length coding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/70—Type of the data to be coded, other than image and sound
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01V—GEOPHYSICS; GRAVITATIONAL MEASUREMENTS; DETECTING MASSES OR OBJECTS; TAGS
- G01V1/00—Seismology; Seismic or acoustic prospecting or detecting
- G01V1/24—Recording seismic data
- G01V1/247—Digital recording of seismic data, e.g. in acquisition units or nodes
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01V—GEOPHYSICS; GRAVITATIONAL MEASUREMENTS; DETECTING MASSES OR OBJECTS; TAGS
- G01V1/00—Seismology; Seismic or acoustic prospecting or detecting
- G01V1/28—Processing seismic data, e.g. for interpretation or for event detection
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01V—GEOPHYSICS; GRAVITATIONAL MEASUREMENTS; DETECTING MASSES OR OBJECTS; TAGS
- G01V1/00—Seismology; Seismic or acoustic prospecting or detecting
- G01V1/28—Processing seismic data, e.g. for interpretation or for event detection
- G01V1/32—Transforming one recording into another or one representation into another
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01V—GEOPHYSICS; GRAVITATIONAL MEASUREMENTS; DETECTING MASSES OR OBJECTS; TAGS
- G01V11/00—Prospecting or detecting by methods combining techniques covered by two or more of main groups G01V1/00 - G01V9/00
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/66—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission for reducing bandwidth of signals; for improving efficiency of transmission
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明涉及一种高效自适应地震数据流无损压缩及解压缩方法,为解决数据占用存储空间,影响传输效率问题,是用于对24位模数转换后的地球物理勘探仪器数据特别是地震数据进行高效压缩;其特征是实时对数据流进行无损压缩,通过使用编码方式将采样数据原始的24位3字节形式自适应的压缩为1字节或2字节或3字节或者和少量数据转化为4字节;在数据压缩前,首先根据原始数据的数值大小进行所需字节的判定,0~63及‑64~‑1区间的数据压缩后为1字节,64~8191及‑8192~‑65区间的数据压缩后为2字节,8192~104875及‑104876~‑8193区间的数据压缩方法操作后为3字节,占用字节与原来相同,除以上数据范围外,其他24位有符号整型数据可以表示的其他整型数在经压缩算法操作后需要使用4个字节表示。具有大量节省存储空间,显著提高数据传输效率的优点。
Description
技术领域
本发明涉及一种地震数据处理方法,特别是涉及一种高效自适应地震数据流无损压缩及解压缩方法。
技术背景
24位AD转换技术是目前地球物理勘探仪器特别是地震勘探仪器最为常用的模数转换技术。经24模数转换后采样数据为3字节有符号整型数据,一般来讲AD转换位数越高,采集数据大小的动态范围越大,但同时也增加了数据量,且近年来随着采集道数的大幅增加,分布式地球物理仪器特别是地震仪器的数据存储和数据传输过程中面临着既需要保证高的采集精度又需要提高数传效率降低存储空间的双重需求。现有的地震数据压缩算法可以分为有损压缩和无损压缩两种,无损压缩一般使用通用计算机数据压缩方法,是利用数据的统计冗余进行压缩,很显然需要数据采集后对一定量的数据进行操作,不适用于实时传送的数据流。针对地震数据的有损压缩算法一般是通过傅里叶变换、小波变换等数学方法将地震数据由时间域变换到其他域以减小数据量,这需要复杂的计算,反变换实现解压缩后不能完全恢复原始数据,且同样存在必须对完整的地震数据进行操作,而不能对一个或少量几个采样数据处理,无法对数据流实时压缩。
事实上,在地震数据采集时,除少量近偏移距的且震源激发后较短时间内的数据除外,其余绝大部分的数据数值均较小,使用8位或者16位即可完整表示,也就是说对每个采样点数据均使用3字节的有符号整型数据进行表示造成了存储空间浪费,存在着数据压缩的可能性和必要性。而对该类型地震数据依据数值大小,由3字节变为1或2或3字节,实现无损压缩技术难点明显在于使用合理的方式对数据进行编码,使得在对数据解压缩时,可以根据编码规则判定出每一个采样点数据所占用的字节数,并通过合理的解码方式完整的恢复原始数据。
发明内容
本发明目的在于克服现有技术的上述缺陷,提供一种高效自适应地震数据流无损压缩及解压缩方法。其是应用于海量地球物理采集数据特别是地震数据的高效无损压缩和解压缩方法。可以在地球物理设备特别是地震设备采集时使用本发明方法对24位模数转换数据进行实时无损压缩,以提高设备存储能力及传输效率。是地球物理勘探设备特别是地震勘探设备通信及数传过程中的一种数据编码解码技术。
为实现上述目的,本发明高效自适应地震数据流无损压缩及解压缩方法,用于对24位模数转换后的地球物理勘探仪器数据特别是地震数据进行高效压缩;是实时对数据流进行无损压缩,通过使用编码方式将采样数据原始的24位3字节形式自适应的压缩为1字节或2字节或3字节或者和少量数据转化为4字节;压缩后数据量大幅减小,可提高数据传输效率,节省存储空间。
在数据压缩前,首先根据原始数据的数值大小进行所需字节的判定,[0~63]及[-64~-1]区间的数据压缩后为1字节,[64~8191]及[-8192~-65]区间的数据压缩后为2字节,[8192~104875]及[-104876~-8193]区间的数据压缩方法操作后为3字节,占用字节与原来相同,除以上数据范围外,其他24位有符号整型数据可以表示的其他整型数在经压缩算法操作后需要使用4个字节表示;
在数据压缩时,根据所需字节数及数值正负选用不同的操作符和操作码对指定字节进行位操作,操作码是一个字节的二进制数,操作符有两种,按位与(&)和按位或(|),比指定字节位置低的字节无须处理,比指定字节位置高的字节为无效字节,直接删除;不同条件下首字节操作选取的操作符和操作码不同。不同条件下首字节操作选取的操作符和操作码具体见附表1。
压缩后数据量大幅减小,可提高数据传输效率,节省存储空间。经测试,使用该方法可以将使用炸药震源或可控震源正常采集的地震数据压缩为原始数据大小的60~80%(依据前放增益不同而有区别),而对于没有较强震动能量条件下的地震数据采集,如微震监控等,数据压缩可达到原数据的40~50%,最优情况下可达33%。具有可以在地球物理设备特别是地震设备采集时对24位模数转换数据进行实时无损压缩,以提高设备存储能力及传输效率的优点。
作为优化,压缩操作是循环对每一个采样点数据的三个字节进行操作的:读取某一字节后首先进行数值判定,依据数值大小及数值正负,可以分成8种情况进行压缩处理,压缩操作的核心工作是在不改变与数值大小有关的位的基础上,删除多余的符号位,同时添加可以识别数据字节个数的不同标志位。如“00”代表数据压缩成了1个字节正数,“10”代表数据压缩成了1个字节的负数,“010”代表数据压缩成2字节正数等等。
作为优化,所述8种操作方式如下:
①[000000h,00003Fh]区间的数据,直接取尾字节作为压缩结果,实现3字节至1字节的压缩操作。因为该区间内的数据前面两个字节均为00h,而且尾字节头两位为00;
②[FFFFC0h,FFFFFFh]区间的数据,取尾字节与BFh进行进行按位与操作后作为压缩结果,尾字节由11bbbbbb变为10bbbbbb,实现3字节至1字节的压缩操作。其中“b”代表该位上数据可能是0也可能是1,以下相同;
③[000040h,001FFFh]区间的数据,中间字节与40h进行按位或操作后与尾字节一起作为压缩结果,中间字节由000bbbbb变为010bbbbb,实现3字节至2字节的压缩操作;
④[FFE000h,FFFFBFh]区间的数据,中间字节与DFh进行按位与操作后与尾字节一起作为压缩结果,中间字节由111bbbbb变为110bbbbb,实现3字节至2字节的压缩操作;
⑤[002000h,0FFFFFh]区间的数据,首字节与60h按位或操作后与中间字节及尾字节一起作为压缩结果,首字节由0000bbbb变为0110bbbb,中间字节与尾字节不变,压缩操作前后均占用3字节;
⑥[F00000h,FFDFFFh]区间的数据,首字节与EFh按位与操作后与中间字节及尾字节一起作为压缩结果,首字节由1110bbbb变为1111bbbb,中间字节与尾字节不变,压缩操作前后均占用3字节;
⑦[100000h,7FFFFFh]区间的数据,保持原始的3个字节不动,添加70h作为首字节,新形成的4个字节作为压缩操作的结果;
⑧[800000h,EFFFFFh]区间的数据,保持原始的3个字节不动,添加F0h作为首字节,新形成的4个字节作为压缩操作的结果。
作为优化,条件7和条件8的操作实际上增大了占用字节数,由原始数据的3个字节变成了使用4个字节表示,这是因为在条件6及条件7中就需要除符号位外的另外3位共同作为标志位,即“0110”和“1110”,可以表示的正负数据范围分别由23位的0(1)bbbbbbbbbbbbbbb bbbbbbbb缩小到20位的0(1)110bbbb bbbbbbbb bbbbbbbb,有效数据占用在20位至23位之间的数据无法使用3个字节表示。此外需要指出的是,4字节时添加的首字节“70h”和“F0h”不是唯一的,因为标志位要求压缩结果占用4个字节时判断码使用“01110”或“11110”,即首字节可以是01110bbb及11110bbb表示的任何数,使用这个范围的任何数作为首字节都不影响解压缩时字节数的判断及解压缩结果。
对于地震数据来讲,一般情况下符合条件1,2,3和4的情况远远大于条件5-8的情况,特别是7和8很少出现,所以整体来讲可以很好的实现数据压缩效果。
作为优化,该方法实施过程中独立的对每个采样数据进行压缩,不依赖于其他采样数据,故可以实时的对数据流进行压缩。
作为优化,解压缩时首先对使用所述压缩方法压缩完成的二进制数据进行操作,首先可以根据压缩编码规则判定每个采样点数据所占用的字节数,随后经设定的解码操作,可随时将压缩后的1字节或2字节或3字节或者和极少数为4字节地震采样数据无损恢复成原始的24位3字节数据形式。
基本过程是:①选取一个字节,通过使用掩码判定的方法判断从该字节开始,多少个字节(1个或2个或3个或4个)为一个采样数据。②进行有效字节恢复。即截取步骤1中判断出的数个字节,随后对首个字节进行位操作,以恢复有效字节。其余字节原样保留。③符号位拓展。即对不满3个字节的采样数据添加不影响数值仅表示符号的字节,使所有采样数据恢复成3字节24位形式。具有可以将压缩后的数据无损恢复成原始的24位3字节形式,解压方便可靠的优点。
作为优化,从压缩文件或数据流的第一个字节开始,对该字节进行掩码操作,和F0h进行按位与操作,依据操作结果数值可以分为8种不同条件。
作为优化,所述8种不同条件,具体如下:
①操作结果为00h或10h或20h或30h中的某个值,则表示从该字节起(含该字节)1个字节为一个数值为正的采样点数据,用其作为尾字节,再添加00h作为中间字节,00h作为首字节,此3字节作为解压缩结果,与压缩前一致。
②操作结果为80h或90h或A0h或B0h中的某个值,则表示从该字节起(含该字节)1个字节为一个数值为负的采样点数据,使用该字节与c0h按位或操作,结果作为尾字节,再添加ffh作为中间字节,ffh作为首字节,此3字节作为解压缩结果,与压缩前一致。
③操作结果为50h或40h中的某个值,则表示从该字节起(含该字节)2个字节为一个数值为正的采样点数据,使用该字节与1Fh按位与操作,结果作为尾字节,该字节的下一个字节作为中间字节,添加00h作为首字节,此3字节作为解压缩结果,与压缩前一致。
④操作结果为D0h或C0h中的某个值,则表示从该字节起(含该字节)2个字节为一个数值为负的采样点数据,使用该字节与E0h按位或操作,结果作为尾字节,该字节的下一个字节作为中间字节,添加FFh作为首字节,此3字节作为解压缩结果,与压缩前一致。
⑤操作结果为60h,则表示从该字节起(含该字节)3个字节为一个数值为正的采样点数据,使用该字节与0Fh按位与操作,结果作为尾字节,该字节的下两个字节作为中间字节和首字节,此3字节作为解压缩结果,与压缩前一致。
⑥操作结果为EFh,则表示从该字节起(含该字节)3个字节为一个数值为负的采样点数据,使用该字节与E0h按位或操作,结果作为尾字节,该字节的下两个字节作为中间字节和首字节,此3字节作为解压缩结果,与压缩前一致。
⑦操作结果为70h,则表示从该字节起(含该字节)4个字节为一个数值为正的采样点数据,当前字节不需要,从当前字节往后的3个字节为原始数据。
⑧操作结果为F0h,则表示从该字节起(含该字节)4个字节为一个数值为负的采样点数据,当前字节不需要,从当前字节往后的3个字节为原始数据。
使用以上8种条件的任意一种进行一个采样数据的解压缩操作后,需要将指针跳转相应的字节进行下一采样数据的判断及解压操作,即条件1和2操作后跳转1个字节,条件3和4操作后跳转2个字节,条件5和6操作后跳转3个字节,条件7和8操作后跳转4个字节。
作为优化,除地震数据流压缩外也可应用于以二进制形式存储的24位采样的地震数据文件。使用压缩算法对文件处理后,文件字节数大幅减小,使用解压缩算法后可以完全恢复成原始文件。而对于以普通整型(4字节32位有符号整型)存储的地震数据文件,由于其只是在24位整型的基础上做了符号位拓展,添加了一个值为00h或者FFh的不影响数值的符号位字节,因此对每个采样点对应的4个字节中的该符号位字节可以不用考虑,可以直接对其余3个字节进行本方法中所述的压缩操作。解压缩时可先进行本方法解压缩操作,随后进行符号位拓展,恢复成原始4字节整型数据文件。类似操作可实施于使用4字节整型表示的地震数据流,实现压缩与解压缩操作。
作为优化,在地震勘探采集系统中使用的基本过程是:采集站模数转换模块输出的24位整型数据,交由主控cpu或者FPGA模块进行压缩操作,压缩后经网络传输至电源站或交叉站,电源站或交叉站的主控模块或FPGA模块依据解压算法进行解压缩操作,恢复24位整型数据;压缩数据也可以在地震仪主机系统接受后进行解压缩操作,或直接将压缩结果进行文件存储,随后对文件进行解压缩操作恢复原始数据。
采用上述技术方案后,本发明高效自适应地震数据流无损压缩及解压缩方法具有可以在地球物理设备特别是地震设备采集时对24位模数转换数据进行实时无损压缩,以提高设备存储能力及传输效率,压缩后数据量大幅减小,能将压缩后的数据无损恢复成原始的24位3字节形式,解压方便可靠,可显著提高数据传输效率,节省存储空间的优点。
附图说明
图1是本发明高效自适应地震数据流无损压缩方法的操作流程示意图;
图2是本发明高效自适应地震数据流无损解压缩方法的操作流程示意图。
具体实施方式
本发明高效自适应地震数据流无损压缩及解压缩方法中的无损压缩的过程见附图1。如附图1所示,压缩操作是循环对每一个采样点数据的三个字节进行操作的。读取某一字节后首先进行数值判定,依据数值大小及数值正负,可以分成8种情况进行压缩处理,表1和图1中均有8种情况对应的原始数据数值范围以及每种情况下原始3字节数据压缩操作后转换成1或2或3或4个字节。表1中还列出了压缩后的数据其二进制形式。其中的“b”代表该位可能是0也可能是1。从压缩后数值的二进制形式可以看出,压缩操作的核心工作是在不改变与数值大小有关的位的基础上,删除多余的符号位,同时添加可以识别数据字节个数的不同标志位,如“00”代表数据压缩成了1个字节正数,“10”代表数据压缩成了1个字节的负数,“010”代表数据压缩成2字节正数等等。下面详述8种操作方式。
①[000000h,00003Fh]区间的数据,直接取尾字节作为压缩结果,实现3字节至1字节的压缩操作。因为该区间内的数据前面两个字节均为00h,而且尾字节头两位为00。
②[FFFFC0h,FFFFFFh]区间的数据,取尾字节与BFh进行进行按位与操作后作为压缩结果,尾字节由11bbbbbb变为10bbbbbb,实现3字节至1字节的压缩操作。
③[000040h,001FFFh]区间的数据,中间字节与40h进行按位或操作后与尾字节一起作为压缩结果,中间字节由000bbbbb变为010bbbbb,实现3字节至2字节的压缩操作。
④[FFE000h,FFFFBFh]区间的数据,中间字节与DFh进行按位与操作后与尾字节一起作为压缩结果,中间字节由111bbbbb变为110bbbbb,实现3字节至2字节的压缩操作。
⑤[002000h,0FFFFFh]区间的数据,首字节与60h按位或操作后与中间字节及尾字节一起作为压缩结果,首字节由0000bbbb变为0110bbbb,中间字节与尾字节不变,压缩操作前后均占用3字节。
⑥[F00000h,FFDFFFh]区间的数据,首字节与EFh按位与操作后与中间字节及尾字节一起作为压缩结果,首字节由1110bbbb变为1111bbbb,中间字节与尾字节不变,压缩操作前后均占用3字节。
⑦[100000h,7FFFFFh]区间的数据,保持原始的3个字节不动,添加70h作为首字节,新形成的4个字节作为压缩操作的结果。
⑧[800000h,EFFFFFh]区间的数据,保持原始的3个字节不动,添加F0h作为首字节,新形成的4个字节作为压缩操作的结果。
条件7和条件8的操作实际上增大了占用字节数,由原始数据的3个字节变成了使用4个字节表示,这是因为在条件6及条件7中就需要除符号位外的另外3位共同作为标志位,即“0110”和“1110”,可以表示的正负数据范围分别由23位的0(1)bbbbbbb bbbbbbbbbbbbbbbb缩小到20位的0(1)110bbbb bbbbbbbb bbbbbbbb,有效数据占用在20位至23位之间的数据无法使用3个字节表示。此外需要指出的是,4字节时添加的首字节“70h”和“F0h”不是唯一的,因为标志位要求压缩结果占用4个字节时判断码使用“01110”或“11110”,即首字节可以是01110bbb及11110bbb表示的任何数,使用这个范围的任何数作为首字节都不影响解压缩时字节数的判断及解压缩结果。
对于地震数据来讲,一般情况下符合条件1,2,3和4的情况远远大于条件5-8的情况,特别是7和8很少出现,所以整体来讲可以很好的实现数据压缩效果。
数据解压缩的基本过程见附图2。解压缩操作的第一步是进行采样点数据占用字节数的判断,即在恢复每个采样点数据前要判断该样点数据压缩后占用了多少个字节。从压缩文件或数据流的第一个字节开始,对该字节进行掩码操作,和F0h进行按位与操作,依据操作结果数值可以分为8中不同条件,具体如下:
操作结果为00h或10h或20h或30h中的某个值,则表示从该字节起(含该字节)1个字节为一个数值为正的采样点数据,用其作为尾字节,再添加00h作为中间字节,00h作为首字节,此3字节作为解压缩结果,与压缩前一致。
⑨操作结果为80h或90h或A0h或B0h中的某个值,则表示从该字节起(含该字节)1个字节为一个数值为负的采样点数据,使用该字节与C0h按位或操作,结果作为尾字节,再添加FFh作为中间字节,FFh作为首字节,此3字节作为解压缩结果,与压缩前一致。
⑩操作结果为50h或40h中的某个值,则表示从该字节起(含该字节)2个字节为一个数值为正的采样点数据,使用该字节与1Fh按位与操作,结果作为尾字节,该字节的下一个字节作为中间字节,添加00h作为首字节,此3字节作为解压缩结果,与压缩前一致。
操作结果为D0h或C0h中的某个值,则表示从该字节起(含该字节)2个字节为一个数值为负的采样点数据,使用该字节与E0h按位或操作,结果作为尾字节,该字节的下一个字节作为中间字节,添加FFh作为首字节,此3字节作为解压缩结果,与压缩前一致。
操作结果为60h,则表示从该字节起(含该字节)3个字节为一个数值为正的采样点数据,使用该字节与0Fh按位与操作,结果作为尾字节,该字节的下两个字节作为中间字节和首字节,此3字节作为解压缩结果,与压缩前一致。
操作结果为EFh,则表示从该字节起(含该字节)3个字节为一个数值为负的采样点数据,使用该字节与E0h按位或操作,结果作为尾字节,该字节的下两个字节作为中间字节和首字节,此3字节作为解压缩结果,与压缩前一致。
操作结果为70h,则表示从该字节起(含该字节)4个字节为一个数值为正的采样点数据,当前字节不需要,从当前字节往后的3个字节为原始数据。
操作结果为F0h,则表示从该字节起(含该字节)4个字节为一个数值为负的采样点数据,当前字节不需要,从当前字节往后的3个字节为原始数据。
使用以上8种条件的任意一种进行一个采样数据的解压缩操作后,需要将指针跳转相应的字节进行下一采样数据的判断及解压操作,即条件1和2操作后跳转1个字节,条件3和4操作后跳转2个字节,条件5和6操作后跳转3个字节,条件7和8操作后跳转4个字节。
下见,表1是高效自适应地震数据流无损压缩及解压缩方法所需操作符及操作码简表。
Claims (9)
1.一种高效自适应地震数据流无损压缩及解压缩方法,用于对24位模数转换后的地球物理勘探仪器数据特别是地震数据进行高效压缩;其特征是实时对数据流进行无损压缩,通过使用编码方式将采样数据原始的24位3字节形式自适应的压缩为1字节或2字节或3字节或者和少量数据转化为4字节;
在数据压缩前,首先根据原始数据的数值大小进行所需字节的判定,0~63及-64~-1区间的数据压缩后为1字节,64~8191及-8192~-65区间的数据压缩后为2字节,8192~104875及-104876~-8193区间的数据压缩方法操作后为3字节,占用字节与原来相同,除以上数据范围外,其他24位有符号整型数据可以表示的其他整型数在经压缩算法操作后需要使用4个字节表示;
在数据压缩时,根据所需字节数及数值正负选用不同的操作符和操作码对指定字节进行位操作,操作码是一个字节的二进制数,操作符有两种,按位与(&)和按位或(|),比指定字节位置低的字节无须处理,比指定字节位置高的字节为无效字节,直接删除;不同条件下首字节操作选取的操作符和操作码不同;
除地震数据流压缩外也应用于以二进制形式存储的24位采样的地震数据文件;使用压缩算法对文件处理后,文件字节数大幅减小,解压缩后完全恢复成原始文件;而对于以普通整型4字节32位有符号整型存储的地震数据文件,在24位整型的基础上做了符号位拓展,添加了一个值为00h或者FFh的不影响数值的符号位字节,对每个采样点对应的4个字节中的该符号位字节不用考虑,可以直接对其余3个字节进行本方法中所述的压缩操作;解压缩时可先进行本方法解压缩操作,随后进行符号位拓展,恢复成原始4字节整型数据文件;类似操作可实施于使用4字节整型表示的地震数据流,实现压缩与解压缩操作。
2.根据权利要求1所述方法,其特征在于压缩操作是循环对每一个采样点数据的三个字节进行操作的:读取某一字节后首先进行数值判定,依据数值大小及数值正负,可以分成8种情况进行压缩处理,压缩操作的核心工作是在不改变与数值大小有关的位的基础上,删除多余的符号位,同时添加可以识别数据字节个数的不同标志位。
3.根据权利要求2所述方法,其特征在于所述8种操作方式如下:
①[000000h,00003Fh]区间的数据,直接取尾字节作为压缩结果,实现3字节至1字节的压缩操作;该区间内的数据前面两个字节均为00h,而且尾字节头两位为00;
②[FFFFC0h,FFFFFFh]区间的数据,取尾字节与BFh进行进行按位与操作后作为压缩结果,尾字节由11bbbbbb变为10bbbbbb,实现3字节至1字节的压缩操作;其中“b”代表该位上数据可能是0也可能是1,以下相同;
③[000040h,001FFFh]区间的数据,中间字节与40h进行按位或操作后与尾字节一起作为压缩结果,中间字节由000bbbbb变为010bbbbb,实现3字节至2字节的压缩操作;
④[FFE000h,FFFFBFh]区间的数据,中间字节与DFh进行按位与操作后与尾字节一起作为压缩结果,中间字节由111bbbbb变为110bbbbb,实现3字节至2字节的压缩操作;
⑤[002000h,0FFFFFh]区间的数据,首字节与60h按位或操作后与中间字节及尾字节一起作为压缩结果,首字节由0000bbbb变为0110bbbb,中间字节与尾字节不变,压缩操作前后均占用3字节;
⑥[F00000h,FFDFFFh]区间的数据,首字节与EFh按位与操作后与中间字节及尾字节一起作为压缩结果,首字节由1110bbbb变为1111bbbb,中间字节与尾字节不变,压缩操作前后均占用3字节;
⑦[100000h,7FFFFFh]区间的数据,保持原始的3个字节不动,添加70h作为首字节,新形成的4个字节作为压缩操作的结果;
⑧[800000h,EFFFFFh]区间的数据,保持原始的3个字节不动,添加F0h作为首字节,新形成的4个字节作为压缩操作的结果。
4.根据权利要求3所述方法,其特征在于条件7和条件8的操作实际上增大了占用字节数,由原始数据的3个字节变成了使用4个字节表示,这是因为在条件6及条件7中就需要除符号位外的另外3位共同作为标志位,即“0110”和“1110”,可以表示的正负数据范围分别由23位的0(1)bbbbbbb bbbbbbbb bbbbbbbb缩小到20位的0(1)110bbbb bbbbbbbb bbbbbbbb,有效数据占用在20位至23位之间的数据无法使用3个字节表示;此外需要指出的是,4字节时添加的首字节“70h”和“F0h”不是唯一的,因为标志位要求压缩结果占用4个字节时判断码使用“01110”或“11110”,即首字节可以是01110bbb及11110bbb表示的任何数,使用这个范围的任何数作为首字节都不影响解压缩时字节数的判断及解压缩结果。
5.根据权利要求1所述方法,其特征在于该方法实施过程中独立的对每个采样数据进行压缩,不依赖于其他采样数据,实时的对数据流进行压缩。
6.根据权利要求1所述方法,其特征在于解压缩时首先对使用所述压缩方法压缩完成的二进制数据进行操作,首先可以根据压缩编码规则判定每个采样点数据所占用的字节数,随后经设定的解码操作,可随时将压缩后的1字节或2字节或3字节或者和极少数为4字节地震采样数据无损恢复成原始的24位3字节数据形式;
基本过程是:①选取一个字节,通过使用掩码判定的方法判断从该字节开始,1个或2个或3个或4个字节为一个采样数据;②进行有效字节恢复,即截取步骤1中判断出的数个字节,随后对首个字节进行位操作,以恢复有效字节;其余字节原样保留;③符号位拓展,对不满3个字节的采样数据添加不影响数值仅表示符号的字节,使所有采样数据恢复成3字节24位形式。
7.根据权利要求6所述方法,其特征在于从压缩文件或数据流的第一个字节开始,对该字节进行掩码操作,和F0h进行按位与操作,依据操作结果数值可以分为8种不同条件。
8.根据权利要求7所述方法,其特征在于所述8种不同条件具体如下:
①操作结果为00h或10h或20h或30h中的某个值,则表示从该字节起1个字节为一个数值为正的采样点数据,用其作为尾字节,再添加00h作为中间字节,00h作为首字节,此3字节作为解压缩结果,与压缩前一致;
②操作结果为80h或90h或A0h或B0h中的某个值,则表示从该字节起1个字节为一个数值为负的采样点数据,使用该字节与c0h按位或操作,结果作为尾字节,再添加ffh作为中间字节,ffh作为首字节,此3字节作为解压缩结果,与压缩前一致;
③操作结果为50h或40h中的某个值,则表示从该字节起2个字节为一个数值为正的采样点数据,使用该字节与1Fh按位与操作,结果作为尾字节,该字节的下一个字节作为中间字节,添加00h作为首字节,此3字节作为解压缩结果,与压缩前一致;
④操作结果为D0h或C0h中的某个值,则表示从该字节起2个字节为一个数值为负的采样点数据,使用该字节与E0h按位或操作,结果作为尾字节,该字节的下一个字节作为中间字节,添加FFh作为首字节,此3字节作为解压缩结果,与压缩前一致;
⑤操作结果为60h,则表示从该字节起3个字节为一个数值为正的采样点数据,使用 该字节与0Fh按位与操作,结果作为尾字节,该字节的下两个字节作为中间字节和首字节,此3字节作为解压缩结果,与压缩前一致;
⑥操作结果为EFh,则表示从该字节起3个字节为一个数值为负的采样点数据,使用该字节与E0h按位或操作,结果作为尾字节,该字节的下两个字节作为中间字节和首字节,此3字节作为解压缩结果,与压缩前一致;
⑦操作结果为70h,则表示从该字节起4个字节为一个数值为正的采样点数据,当前字节不需要,从当前字节往后的3个字节为原始数据;
⑧操作结果为F0h,则表示从该字节起4个字节为一个数值为负的采样点数据,当前字节不需要,从当前字节往后的3个字节为原始数据;
使用以上8种条件的任意一种进行一个采样数据的解压缩操作后,需要将指针跳转相应的字节进行下一采样数据的判断及解压操作:条件1和2操作后跳转1个字节,条件3和4操作后跳转2个字节,条件5和6操作后跳转3个字节,条件7和8操作后跳转4个字节。
9.根据权利要求1-8任一所述方法,其特征在于在地震勘探采集系统中使用的基本过程是:采集站模数转换模块输出的24位整型数据,交由主控cpu或者FPGA模块进行压缩操作,压缩后经网络传输至电源站或交叉站,电源站或交叉站的主控模块或FPGA模块依据解压算法进行解压缩操作,恢复24位整型数据;压缩数据也可以在地震仪主机系统接受后进行解压缩操作,或直接将压缩结果进行文件存储,随后对文件进行解压缩操作恢复原始数据。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410591173.5A CN104378118B (zh) | 2014-10-29 | 2014-10-29 | 高效自适应地震数据流无损压缩及解压缩方法 |
PCT/CN2015/000680 WO2016065732A1 (zh) | 2014-10-29 | 2015-10-09 | 高效自适应地震数据流无损压缩及解压缩方法 |
US15/523,449 US9900025B2 (en) | 2014-10-29 | 2015-10-09 | Efficient adaptive seismic data flow lossless compression and decompression method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410591173.5A CN104378118B (zh) | 2014-10-29 | 2014-10-29 | 高效自适应地震数据流无损压缩及解压缩方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104378118A CN104378118A (zh) | 2015-02-25 |
CN104378118B true CN104378118B (zh) | 2017-08-11 |
Family
ID=52556815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410591173.5A Expired - Fee Related CN104378118B (zh) | 2014-10-29 | 2014-10-29 | 高效自适应地震数据流无损压缩及解压缩方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9900025B2 (zh) |
CN (1) | CN104378118B (zh) |
WO (1) | WO2016065732A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104378118B (zh) | 2014-10-29 | 2017-08-11 | 中国科学院地质与地球物理研究所 | 高效自适应地震数据流无损压缩及解压缩方法 |
CN106646595B (zh) * | 2016-10-09 | 2018-05-29 | 电子科技大学 | 一种基于张量的自适应秩截断的地震数据压缩方法 |
US10069511B2 (en) * | 2016-12-12 | 2018-09-04 | Texas Instruments Incorporated | Lossless data compression |
CN106772567A (zh) * | 2016-12-23 | 2017-05-31 | 中国石油大学(华东) | 一种用于地震勘探仪的数据传输无损压缩算法 |
CN109581502B (zh) * | 2018-10-26 | 2020-09-08 | 中国石油天然气集团有限公司 | 地震勘探数据压缩方法、装置以及压缩存储结构 |
CN110446124B (zh) * | 2019-08-19 | 2021-10-12 | 深圳市双翼科技股份有限公司 | 基于光网络终端的单元远程管理方法、存储介质以及装置 |
CN112751567B (zh) * | 2019-10-31 | 2023-07-25 | 北京映翰通网络技术股份有限公司 | 电力系统暂态录波交互数据的压缩方法 |
CN111064472B (zh) * | 2020-01-15 | 2023-09-29 | 洛阳乾禾仪器有限公司 | 功图数据压缩、解压缩方法、装置与计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1857007A (zh) * | 2003-06-10 | 2006-11-01 | 简-奥洛夫·斯特龙伯格 | 压缩数据的方法 |
CN101008890A (zh) * | 2007-01-30 | 2007-08-01 | 金蝶软件(中国)有限公司 | 整型数据的压缩方法、装置及解压缩方法、装置 |
CN103067022A (zh) * | 2012-12-19 | 2013-04-24 | 中国石油天然气集团公司 | 一种整型数据无损压缩方法、解压缩方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5757852A (en) * | 1997-01-24 | 1998-05-26 | Western Atlas International, Inc. | Method for compression of high resolution seismic data |
US6021378A (en) * | 1997-06-13 | 2000-02-01 | Aware, Inc. | Compression system for seismic data |
CN103792570B (zh) * | 2012-10-26 | 2016-11-23 | 中国石油化工股份有限公司 | 一种地震采集数据的压缩及传输方法 |
CN103197343B (zh) * | 2013-03-12 | 2015-08-19 | 合肥国为电子有限公司 | 一种适用于地球物理勘探的数据无损压缩传输方法 |
CN104378118B (zh) * | 2014-10-29 | 2017-08-11 | 中国科学院地质与地球物理研究所 | 高效自适应地震数据流无损压缩及解压缩方法 |
-
2014
- 2014-10-29 CN CN201410591173.5A patent/CN104378118B/zh not_active Expired - Fee Related
-
2015
- 2015-10-09 US US15/523,449 patent/US9900025B2/en not_active Expired - Fee Related
- 2015-10-09 WO PCT/CN2015/000680 patent/WO2016065732A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1857007A (zh) * | 2003-06-10 | 2006-11-01 | 简-奥洛夫·斯特龙伯格 | 压缩数据的方法 |
CN101008890A (zh) * | 2007-01-30 | 2007-08-01 | 金蝶软件(中国)有限公司 | 整型数据的压缩方法、装置及解压缩方法、装置 |
CN103067022A (zh) * | 2012-12-19 | 2013-04-24 | 中国石油天然气集团公司 | 一种整型数据无损压缩方法、解压缩方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US9900025B2 (en) | 2018-02-20 |
CN104378118A (zh) | 2015-02-25 |
WO2016065732A1 (zh) | 2016-05-06 |
US20170317688A1 (en) | 2017-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104378118B (zh) | 高效自适应地震数据流无损压缩及解压缩方法 | |
CN112953550B (zh) | 数据压缩的方法、电子设备及存储介质 | |
CN101383617B (zh) | 数据压缩/解压缩设备和方法 | |
US8407378B2 (en) | High-speed inline data compression inline with an eight byte data path | |
WO2014021837A1 (en) | Entropy coding and decoding using polar codes | |
CN101667843B (zh) | 嵌入式系统的数据压缩、及解压缩方法与装置 | |
CN103995988A (zh) | 一种高通量dna测序质量分数无损压缩系统及压缩方法 | |
CN103346800B (zh) | 一种数据压缩方法及装置 | |
CN202931289U (zh) | 一种硬件lz77压缩实现系统 | |
CN105024702A (zh) | 一种面向科学计算的浮点型数据无损压缩方法 | |
CN103095305A (zh) | 一种硬件lz77的压缩实现系统及方法 | |
CN108886367A (zh) | 用于压缩和解压缩数据的方法、设备和系统 | |
CN102790621B (zh) | 红外数据处理存储方法及红外遥控器 | |
CN101534124B (zh) | 一种用于短小自然语言的压缩算法 | |
CN111510152A (zh) | 一种声波测井数据的压缩及解压缩方法 | |
CN110021369A (zh) | 基因测序数据压缩解压方法、系统及计算机可读介质 | |
CN103078646B (zh) | 字典查询压缩、解压缩方法及其装置 | |
CN101924562A (zh) | 基于整数小波变换的曲线矢量数据压缩式编码方案 | |
CN103281087A (zh) | 基于多级压缩感知的信号采样系统及方法 | |
CN113312325B (zh) | 轨迹数据传输方法、装置、设备及存储介质 | |
CN117177100B (zh) | 一种智能ar偏振数据传输方法 | |
CN102843142B (zh) | 可编程逻辑器件配置数据流压缩、解压缩处理方法及系统 | |
CN107483055B (zh) | 一种无损压缩方法及系统 | |
CN1979475A (zh) | 一种压缩文件处理方法 | |
CN108932315A (zh) | 一种数据解压的方法以及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170811 Termination date: 20191029 |
|
CF01 | Termination of patent right due to non-payment of annual fee |