一种对地震数据流的自适应实时无损压缩方法与流程

文档序号:11388696阅读:208来源:国知局

本发明涉及一种地震数据压缩方法,特别涉及一种针对地震数据流的自适应实时无损压缩方法。



背景技术:

地震勘探仪器通常使用24位ad转换技术获取3字节有符号整型的采样数据。ad转换位数的增加和采集道数的增加需要更高的数据传输效率。现有的地震数据流压缩方法利用数据数值的分布规律对单个采样数据重新编码,从而达到压缩数据的目的。这种方法只考虑了单次采样的数据,没有利用相邻多次采样的数据之间的相关性消除数据之间存在的冗余,即数据还能被进一步压缩。

事实上,单通道在一段时间内采集到的地震数据类似于一次机械振动的数据。通常地震勘探仪器的采样频率远大于地震信号的频率,样点之间数据的变化一般要远小于信号幅度,如果用样点间的差来表示数据值,大部分数据将分布在一个较小的范围内。然后使用指数golomb编码可以极大地减小地震数据占用的长度。



技术实现要素:

本发明的目的在于:克服现有技术的上述缺陷,提供一种针对地震数据流的自适应实时无损压缩方法,可以在地震勘探设备采集时使用本发明方法对24位模数转换数据进行自适应实时无损压缩,以提高设备的传输效率。是地震勘探设备通信及数传过程中的一种数据编码解码技术。

为实现上述目的,本发明一种对地震数据流的自适应实时无损压缩方法,用于对单个通道若干个周期采集到的24位地震数据进行压缩,是实时对数据流进行无损压缩,使用自适应的编码方法压缩n个周期3n字节的数据;压缩后数据量大幅减小,可提高数据传输效率。

数据压缩分两步进行:n阶差分预测编码、k阶指数golomb编码;

(1)n阶差分预测编码实现步骤如下:

(11)差分预测编码是对单个通道n个周期采集到的3n字节的原始数据进行的;

(12)先计算n个周期的数据的一阶差分,利用后一个数据减前一个数据得到差分数据,即原始数据为:x1,x2,…,xn,则一阶差分数据为:x1,x2-x1,…,xn-xn-1;

(13)对一阶差分数据再做一次差分,即后一个数据减前一个数据,得到二阶差分,即原始数据的二阶差分为:x1,x2-x1,x3-2x2+x1,…,xn-2xn-1+xn-2;

(14)对二阶差分后的数据再做一次差分,得到三阶差分,再对三阶差分后的数据再做一次差分,可得四阶差分,以此类推,得到任意阶次的差分预测编码;

(2)k阶指数golomb编码实现如下:

(21)将差分预测编码后的单个数据即(xn-xn-1)分成两个部分:符号位sign(xn-xn-1)和绝对值|xn-xn-1|,指数golomb编码仅对绝对值进行,考虑对非负整数m的k阶指数golomb编码;

(22)将m用二进制码表示,去掉低位的k个比特,k即为指数golomb编码的阶数,然后加1;

(23)计算留下的比特数,将此数减1,并记作m;

(24)将步骤(22)中的去掉的k个比特补回串尾,并在串头添加m个0,得到非负整数m的k阶指数golomb编码;

(25)对差分预测编码后的n个数据,分别计算其k阶指数golomb编码,然后将这n个k阶指数golomb编码的数据按位组合得到一帧数据,即为3n字节原始数据压缩后的数据。

再计算在不同的n和k下数据压缩后的长度,然后选择最佳压缩时的n和k,由此实现自适应编码。

本发明与现有技术相比的优点在于:

(1)与现有的地震数据流压缩技术相比,本发明中的地震数据流压缩方法利用相邻多次采样的数据之间存在的相关性来消除数据之间存在的冗余;同时利用自适应编码对不同地震期的数据进行最佳的编码,因此本发明中的地震数据流压缩方法有更好的压缩性能。

(2)经测试,使用本发明所述的压缩方法通常可以将采集到的地震数据压缩为原始数据大小的30%-70%;对于处于地震平稳期的数据,数据压缩可达到原数据的50%以下;数据压缩在理论上的最优情况下可达原数据的10%。

附图说明

图1是本发明一种对地震数据流的自适应实时无损压缩方法的操作流程示意图。

具体实施方式

本发明中的压缩方法分两步进行:差分预测编码、指数golomb编码。

1.差分预测编码:

差分编码,即除第一个元素外,将其中各元素都表示为各该元素与其前一元素的差的编码。

原始数据为:x1,x2,…,xn

压缩数据为:x1,x2-x1,…,xn-xn-1

二阶差分,即对差分后的数据再做一次差分。

原始数据为:x1,x2,x3,…,xn

压缩数据为:x1,x2-x1,x3-2x2+x1,…,xn-2xn-1+xn-2

对二阶差分后的数据再做一次差分,可得三阶差分,再对三阶差分后的数据再做一次差分,可得四阶差分。以此类推,可得高阶差分。

n阶差分是用前n个点拟合n-1次函数,并预测下一个点会出现在该函数曲线上,用预测误差进行编码。由于地震波形及其各阶导数的数值在相邻采样点间的变化很小,所以在预测编码后,大部分数据将分布在一个较小的范围内。然后使用指数golomb编码可以极大地减小地震数据占用的长度。

差分预测编码只需要做若干次减法,容易用硬件实现,可以用于实时压缩和解压。

欲解压,只需对差分预测编码后的数据做若干次加法,就可以得到无损的原始数据。

2.指数golomb编码:

在差分预测编码之后,信号中存在统计冗余(即小幅度比大幅度出现的概率大),故可依据信号幅度的概率分布特点来压缩数据。这里我们采用指数golomb编码。表示非负整数m的k阶指数golomb编码用如下方法生成:

a)将m用二进制码表示,去掉低位的k个比特,然后加1

b)计算留下的比特数,将此数减1,并记作m

c)将第1步去掉的k个比特补回串尾,并在串头添加m个0

例如,对1阶指数golomb编码,0到13的编码如下:

由此可见,如果数据出现小幅度的概率比出现大幅度的概率大,则通过指数golomb编码可以较好地压缩数据。

k阶指数golomb编码包含以下数据:

mbit的0+1bit的1+(m+k)bit的数据

对于可能为负数的整数,指数golomb编码还应增加1bit的符号位。

解压时,对于某串k阶指数golomb编码的数据,先计算数据头部0的个数,并记作m;再去掉这m个0,该数据的有效位数为m+k+1,将该数据减去2k,即可得到指数golomb编码数据的解码,即原始数据。

k阶指数golomb编码和解码可以用一个组合逻辑电路实现,因此可以用于实时压缩和解压。

经过n阶差分预测编码和k阶指数golomb编码,n个24位的原始数据被转换为n个位长不定的数据。将这n个位长不定的数据按位依次排列在一起,并在数据头部加上有关n和k的信息,可形成一帧待传输的数据。

对于相同的n个原始数据,不同的n和k得到的压缩率是不同的;对于不同的原始数据,最佳压缩时的n和k也是不同的。如果我们事先做好电路,当我们输入n个原始数据时,就可以迅速得出压缩效果最佳时的差分预测编码阶数n和指数golomb编码阶数k,即可以为每一段数据选择最佳的n和k,由此实现自适应编码。

解压一帧数据时,先解析数据头部的n和k,再对数据的余下部分进行k阶指数golomb编码的解码,得到n个数据;最后对这n个数据做n阶差分预测编码的解码,可以得到n个24位的原始数据。

采用上述技术方案后,本发明一种对地震数据流的自适应实时无损压缩方法可以在地震勘探设备采集时对24位模数转换数据进行自适应实时无损压缩,以提高设备的传输效率,压缩后数据量大幅减小,能将压缩后的数据无损恢复成原始的24位形式。

下面结合实例再对本发明进行详细说明,如图1所示,本发明实施例一种对地震数据流的自适应实时无损压缩方法中的压缩过程。压缩对单个通道n个周期采集到的24位地震数据共3n字节的数据进行。n通常取8、16、32或64。

先计算3n字节原始数据的1到p阶的差分预测编码,p<n且p通常不超过4,使用np-p(p+1)/2个减法器可实现这一步。每阶的差分预测编码都有3n个字节。算上重复的,1到p阶的差分预测编码共有[np-p(p+1)/2]*3个字节。算上原始数据,所有数据共有[np-p(p+1)/2+n]*3个字节。

再计算这些数据的指数golomb编码,指数golomb编码的阶数可取k1,k2,...,ks。如果硬件资源足够,指数golomb编码的阶数可取0,1,2,…,24。某阶的指数golomb编码可用一个组合逻辑电路来计算。计算上一步中所有数据的各阶指数golomb编码一共需要[np-p(p+1)/2+n]*s个这样的组合逻辑电路。

对于每一个差分预测编码的阶数(0到p)和每一个指数golomb编码的阶数(k1到ks),利用组合逻辑电路可以计算3n字节的原始数据在差分预测编码和指数golomb编码后的长度。比较这(p+1)*s个长度,选择使得编码后长度最短的差分预测编码阶数n和指数golomb编码阶数k作为最佳压缩时的n和k。

将有关n和k的信息放在一帧数据的头部,这些信息占一个字节,其中n占3位,k占5位,n可取值0~7,k可取值0~31。头部之后存放3n字节原始数据经过n阶差分预测编码和k阶指数golomb编码后的数据。

解压时,根据数据帧头部的信息得出数据压缩时使用的差分预测编码阶数n和指数golomb编码阶数k;再选取合适的指数golomb解码器对数据的余下部分进行解码,得到n个数据;最后对这n个数据做n阶差分预测编码的解码,可以得到n个24位的原始数据。

以上所述为本发明的具体实施方案,提供以上实施方案仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1