公开/公告号CN105512120A
专利类型发明专利
公开/公告日2016-04-20
原文格式PDF
申请/专利号CN201410488090.3
申请日2014-09-22
分类号G06F17/30(20060101);
代理机构11372 北京聿宏知识产权代理有限公司;
代理人朱绘;张文娟
地址 100728 北京市朝阳区朝阳门北大街22号
入库时间 2023-12-18 15:29:11
法律状态公告日
法律状态信息
法律状态
2019-06-04
授权
授权
2016-05-18
实质审查的生效 IPC(主分类):G06F17/30 申请日:20140922
实质审查的生效
2016-04-20
公开
公开
技术领域
本发明涉及一种石油勘探数据处理技术,尤其是一种支持随机读取的地震数据压缩 方法、压缩存储结构及随机访问方法。
背景技术
地震勘探已经进入全方位、宽频带、数字化的时代。随着地震勘探向多维度,多分 量、高精度方向发展,勘探数据呈爆炸性增长。尤其是海量勘探地震数据的出现,给现 代计算机存储和处理技术带来严峻的挑战。由于海量勘探地震数据的存储和处理都需要 占用极大的硬件资源,因此如何对地震数据进行压缩以解决海量地震数据的存储问题, 一直是业内技术人员的研究课题。
现有的地震数据压缩方法主要分为无损压缩和有损压缩两大类型。无损数据压缩方 法主要去除原始数据中的冗余,利用尽可能少的码字来描述原始数据。有损数据压缩方 法主要是利用某种正交变换(如小波变换,离散余弦变换等)将原始数据变换到频率域数 据,并对频率域数据进行量化,然后对量化后的数据进行熵编码。
目前,无论是无损数据压缩还是有损数据压缩,在对数据进行访问和处理时,都必 须先经历数据的解压缩还原过程。即,先将压缩后的数据全部还原并存储在磁盘上,然 后才能对数据进行访问和处理。由于不能直接对压缩数据进行随机读取,因此势必会占 用大量的存储空间,以及增加运行时间,降低工作效率。
发明内容
针对上述问题,本发明提出了一种新的可以支持随机访问的地震数据压缩方法、压 缩存储结构,以及相应的随机访问方法。
本发明提供一种地震数据压缩方法,用于压缩包含若干地震道数据块的地震数据, 所述压缩方法包括以下步骤:
道头无损压缩步骤,对每一个地震道数据块的道头数据去除冗余字段;
样点有损压缩步骤,对每一个地震道数据块求取地震道特征值以及各样点数据的特 征向量值,利用地震道特征值以及各样点数据的特征向量值表示样点数据。
进一步地,上述道头无损压缩步骤包括:
利用一道头描述信息记录对道头数据中的各数据项的属性定义以及道头描述信息本 身所占用的空间大小。
根据本发明的实施例,上述数据项的属性包括字面意义、数据类型和字节长度。
进一步地,上述样点有损压缩步骤包括:
读取一地震道数据块中的样点数据;
计算相邻两个样点数据之间的差值,取其中绝对值最大的差值记作样点最大差的绝 对值;
根据样点最大差的绝对值和指定的压缩级别,按照下式求取该地震道数据块的地震 道特征值Bin:
Bin=2×Dmax/Short_Level
式中,Dmax是样点最大差的绝对值,Short_Level是与压缩级别有关的参数;
根据地震道特征值,求取每一个样点数据的特征向量值;
依次输出压缩后的道头数据、第一个样点数据、样点最大差的绝对值以及其余样点 数据的特征向量值。
根据本发明的实施例,通过以下步骤求取样点数据的特征向量值:
计算样点数据的浮点特征向量FTi=Di/Bin,
式中,Di为相邻两个样点之间的差值;
对FTi取整获得特征向量值Ti=Round(FTi),
式中,Round函数是四舍五入取整函数。
根据本发明的实施例,上述样点数据可以是4字节浮点型数据,样点数据的特征向 量值可以是2字节整形数据。
相应地,与压缩级别有关的参数Short_Level可以设置为65535。
此外,本发明还提供一种地震数据压缩存储结构,其特征在于,包括:
卷头;
文件头;
道头描述信息,用于记录对道头数据中各数据项的属性定义以及道头描述信息本身 所占用的空间大小;
若干地震道数据块,每一地震道数据块中包括:
压缩的道头数据;
第一个样点数据;
样点最大差的绝对值;
其余样点数据的特征向量值。
根据本发明的实施例,上述数据项的属性包括字面意义、数据类型和字节长度。
本发明还提供一种对采用上述压缩存储结构的地震数据的随机访问方法,其包括以 下步骤:
分别获取卷头、文件头和道头描述信息所占用的空间大小;
通过下式确定第M道地震道数据块的起始位置:
StartPos=VheaderLength+FHeaderLength+DesLength+TRlength×(M-1)。
式中,VheaderLength、FHeaderLength、DesLength以及TRlength分别是卷头、文件 头、道头描述信息以及一个地震道数据块所占用的空间大小。
与现有技术相比,本发明利用地震数据的特点,分别对地震道头数据进行无损压缩 和对地震样点数据进行有损压缩,去掉冗余的道头字段和压缩样点数据,通过此方法压 缩的地震数据能够支持后期的随机定位,实时在内存中解压缩还原,能够直接为实际生 产所用。
本发明的其它特征和优点将在随后的说明书中阐述,并且部分地从说明书中变得显 而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利 要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施 例共同用于解释本发明,并不构成对本发明的限制。在附图中:
图1是现有技术中地震数据以SEGY结构存储的示意图;
图2是本发明实施例中采用的地震数据压缩方法的工作流程图;
图3是本发明实施例中压缩后的地震数据存储结构的示意图;
图4是本发明实施例中道头描述信息的内容格式的示意图;
图5是本发明实施例中采用的地震数据解压缩方法的工作流程图。
具体实施方式
下面结合附图和实施例对本发明的技术方案进行详细地描述。
实施例一
图1是现有技术中地震数据以SEGY结构存储的示意图。SEGY是目前地震勘探中最 常用的数据存储形式。一份SEGY数据文件通常包括卷头、文件头和地震道数据三大部 分。按照目前惯例,卷头数据一般为3200字节,文件头一般为400字节,地震道数据分 为若干地震道数据块(分别记为第1道~第M道)。每一个地震道数据块又分为240字 节的道头数据以及若干样点数据(分别记为样点1~样点N)。在本实施例中,样点数据 为4字节浮点型。
针对上述地震数据的特点,本发明提出一种新的地震数据压缩方法,对每一个地震 道数据块中的道头数据和样点数据分别进行压缩,并将压缩后的地震数据以一种新的结 构存储,以便后期不通过解压缩就能够读取地震数据。下面结合实施例详细地说明该压 缩方法的工作原理和工作流程(参见图2),以及压缩后的地震数据存储结构(参见图3)。
如图2所示,该压缩方法可以大致分为道头无损压缩和样点有损压缩两大步骤。
S110、对每一个地震道数据块的道头数据去除冗余字段。
一般而言,地震道数据块的道头数据中总有部分数据字段是空值或者无效值,其比 例有时甚至高达70%。因此有必要去除道头数据中毫无意义的冗余字段,也即对道头数 据进行无损压缩。在本实施例中,可以通过人工干预的方式保留有意义的数据项,并重 新定义各数据项的属性。具体地,如图3所示,优选在文件头与地震道数据之间增加一 道头描述信息,用于记录对道头数据中的各数据项的属性定义(如字面意义、数据类型和 字节长度的定义),以及记录道头描述信息本身所占用的空间大小(DesLength)。
图4显示了本实施例中道头描述信息(TraceHeaderDescription)的一段内容。其 中,<HeaderItem>表示道头数据中的一个数据项,<description>XX<description>定义该数 据项的字面意义,<type>XX<type>定义该数据项的数据类型,<length>XX<length>定 义该数据项的字节长度。道头描述信息本身所占用的空间大小DesLength=这段内容的字 节长度+4字节。这是因为本实施例中采用4个字节保存DesLength参数。
S120、对每一个地震道数据块求取地震道特征值以及各样点数据的特征向量值,利 用地震道特征值以及各样点数据的特征向量值表示样点数据。
具体地,对于每一个地震道数据块都执行下面的步骤。
S120.1、读取该地震道数据块中的样点数据。
S120.2、计算相邻两个样点数据之间的差值,并将其中绝对值最大的差值记为样点 最大差的绝对值。
在本实施例中,假设该地震道数据块包含N个样点数据,记为Sample[i],i=1~N。 那么相邻两个样点之间的差值为Di=Sample[i+1]-Sample[i],其中绝对值最大的差值称为 样点最大差的绝对值,记为Dmax。
S120.3、根据样点最大差的绝对值和指定的压缩级别,按照下式求取该地震道数据 块的地震道特征值Bin:
Bin=2×Dmax/Short_Level
式中,Short_Level是与压缩级别有关的参数。
本发明的发明人引入与压缩级别有关的参数Short_Level,并根据原样点数据的类型 以及想要获得的压缩效果设置其大小,从而在压缩效果与准确度之间取得平衡。在本实 施例中,原样点数据为4字节浮点型,当参数Short_Level为65535(也即无符号整形的 最大值)时,压缩效果最佳。当然也可以不限于此。例如,参数Short_Level也可以是 255,那么原4字节浮点型的样点数据被压缩成1字节,但是准确度降低。
S120.4、根据地震道特征值,计算每一个样点数据的特征向量值。
在本实施例中,首先计算样点数据的浮点特征向量FTi,然后对FTi取整获得最终的 特征向量值Ti:
FTi=Di/Bin
Ti=Round(FTi)
式中,Round函数对浮点数进行四舍五入取整。
S120.5、依次输出压缩的道头数据、第一个样点数据、样点最大差的绝对值以及其 余样点数据的特征向量值。其中,压缩后的道头数据是按照道头描述信息存放的数据项 的具体内容,其长度记为HeaderLength,是道头描述信息中各数据项所定义的字节长度 的总和。
对样点数据的压缩过程实质是利用地震道特征值以及各样点数据的特征向量值表示 样点数据。在本实施例中,利用了2字节整形类型的特征向量值来表示原4字节浮点类 型的样点数据。
图3显示了经过本发明的压缩方法得到的压缩数据的存储结构的示意图。与图1显 示的SEGY结构相比,本发明的压缩方法所采用的存储方式占用的空间更少。在上述实 施例中,对于一个地震道数据块,原来N个样点数据需要占用4N字节的空间,在通过本 发明的压缩方法压缩后,N个样点数据仅占用4+4+2×(N-1)字节的空间。压缩率接近 50%,有效地节省了磁盘存储空间。
与压缩方法相对应地,本发明还提出一种地震数据解压缩方法。
如图5所示,该解压缩方法也可以大致分为道头解压缩和样点解压缩两大步骤。
S210、对每一个地震道数据块还原道头数据。
S210.1、通过读取道头描述信息,获取道头数据中各数据项的数据类型和字节长 度。
S210.2、定位各地震道数据块的道头数据的起始位置,根据步骤S210.1获取的各数 据项的数据类型和字节长度解析道头数据。
S220、对每一个地震道数据块还原样点数据。
具体地,对于每一个地震道数据块都执行下面的步骤。
S220.1、定位第一个样点数据的起始位置,解析第一个样点数据以及其后的样点最 大差的绝对值。
S220.2、根据样点最大差的绝对值和压缩时所指定的压缩级别,求取该地震道数据 块的地震道特征值。其中,与压缩级别有关的参数Short_Level必须保持压缩时的取值, 否则会出现错误。
S220.3、依次读取其余各样点数据的特征向量值Ti,按照下式递归计算各原始样点 数据。
Sample[i+1]=Sample[i]+Bin×Ti,i=1~N。
此外,通过上述方法压缩的地震数据无需解压还原,就能够实现随机访问。随机定 位第M个地震道数据块的起始位置StartPos的计算公式如下:
StartPos=VheaderLength+FHeaderLength+DesLength+TRlength×(M-1)。
式中,VheaderLength、FHeaderLength、DesLength以及TRlength分别是卷头、文件 头、道头描述信息以及一个地震道数据块所占用的空间大小。
以实施例一为例,VheaderLength=3200,FHeaderLength=400,TRlength= HeaderLength+4+4+2×(N-1)。
最后需要说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制; 尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解: 其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术 特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实 施例技术方案的范围。
机译: 数据压缩和解压缩方法,数据压缩方法,数据压缩设备,数据压缩程序,数据解压缩方法,数据解压缩设备,数据解压缩程序
机译: 数据压缩及相关解压缩方法,计算机程序产品,地震接收器和地震数据采集系统
机译: 自动语音识别解码中传感器数据的随机访问压缩方法和系统