CN115664426B - 一种探地雷达数据的实时无损压缩方法及系统 - Google Patents
一种探地雷达数据的实时无损压缩方法及系统 Download PDFInfo
- Publication number
- CN115664426B CN115664426B CN202211679809.2A CN202211679809A CN115664426B CN 115664426 B CN115664426 B CN 115664426B CN 202211679809 A CN202211679809 A CN 202211679809A CN 115664426 B CN115664426 B CN 115664426B
- Authority
- CN
- China
- Prior art keywords
- data
- coding
- data frame
- real
- variable length
- 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.)
- Active
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明提供一种探地雷达数据的实时无损压缩方法及系统,所述实时无损压缩方法包括:步骤S1,实时接收探地雷达采集的数据,并按预设道数划分为数据帧;步骤S2,对当前数据帧进行差分编码,得到差分编码后的数据;步骤S3,对经过差分编码后的当前数据帧进行变长整数编码;步骤S4,对当前数据帧进行基于字节统计概率的变长编码,得到压缩后的数据;步骤S5,继续处理下一数据帧,直至本次测线采集完毕。本发明在数据采集之后,依次进行差分编码、变长整数编码以及基于字节统计概率的变长编码等处理过程,进而能够在不丢失任何雷达数据信号的基础上,显著地减小探地雷达数据所需的存储空间,以便达到简单、快速且占用计算资源少的技术效果。
Description
技术领域
本发明涉及一种雷达数据处理领域,尤其涉及一种探地雷达数据的实时无损压缩方法,并进一步涉及采用了该探地雷达数据的实时无损压缩方法的实时无损压缩系统。
背景技术
探地雷达通过向地下发射高频电磁波并接收地下介质反射的回波来实现对地下目标的无损探测,精确探测地下介质的内部结构。探地雷达可以获取高分辨率的地下扫描数据,相应地,由于数据量很大,对雷达数据的传输、处理和存储也带来困难。
目前的探地雷达压缩方法多为有损压缩方法。有损压缩方法具有压缩比高的优点,能够保留探地雷达数据的大部分特征,但是会导致弱目标信号的丢失。探地雷达数据的无损压缩方法多基于通用的无损压缩算法,如LZ77、LZMA以及LZW等无损压缩算法,但是这些无损压缩算法并没有充分利用探地雷达数据的特点。
由于电磁波在地下传播时随传播距离按指数衰减,因此探地雷达数据随着地下深度的增加,采样值急剧变小,形成了探地雷达数据中存在小采样值占绝大多数的特点。但是现有技术中的压缩方法,并没有针对这一特点进行合理的设计。
发明内容
本发明所要解决的技术问题是需要提供的是一种探地雷达数据的实时无损压缩方法,旨在利用探地雷达数据中存在小采样值占比较大的特点,在不丢失任何雷达数据信号的情况下,能够显著减小探地雷达数据所需存储空间,进而达到简单、快速且占用计算资源少的技术效果。在此基础上,还进一步提供采用了该探地雷达数据的实时无损压缩方法的实时无损压缩系统。
对此,本发明提供一种探地雷达数据的实时无损压缩方法,包括以下步骤:
步骤S1,实时接收探地雷达采集的数据,并按预设道数划分为数据帧;
步骤S2,对当前数据帧进行差分编码,得到差分编码后的数据;
步骤S3,对经过差分编码后的当前数据帧进行变长整数编码;
步骤S4,对当前数据帧进行基于字节统计概率的变长编码,得到压缩后的数据;
步骤S5,继续处理下一数据帧,直至本次测线采集完毕。
本发明的进一步改进在于,所述步骤S2中,进行差分编码的过程包括:对于每一道的各采样点,通过公式获取当前采样点与前一道对应采样点的差值作为差分编码后的数据,其中,表示第t道第s个采样点的值;表示第t-1道第s个采样点的值;表示第t道第s个采样点经过差分编码后的值。
本发明的进一步改进在于,所述步骤S2中,进行差分编码的过程包括:对于每一道的各采样点,通过公式获取当前采样点与同一道前一采样点的差值作为编码后的数据,其中,表示第t道第s个采样点的值;表示第t道第s-1个采样点的值;表示第t道第s个采样点经过差分编码后的值。
本发明的进一步改进在于,所述步骤S3包括以下子步骤:
步骤S301,将当前数据帧的每个采样点的值,获取其符号后置补码;
步骤S302,对当前数据帧的每个采样点进行前缀处理,直到前导为0,得到压缩后的变长整数编码;
步骤S303,将当前数据帧的每个采样点压缩后的字节按遍历顺序依次排列,得到当前数据帧的变长整数编码压缩数据。
本发明的进一步改进在于,所述步骤S301中,通过公式获取每个采样点的符号后置补码,其中,表示第t道第s个采样点的值的补码;N表示探地雷达数据的整数位数;表示位或运算;表示第t道第s个采样点的符号后置补码。
本发明的进一步改进在于,所述步骤S302中,对当前数据帧的每个采样点进行前缀处理的过程为:将当前数据帧的每个采样点以二进制码从低位到高位切分成每7位一组,如果高位存在有效信息,则给这7位补上1位1,否则为0;以此反复,直到前导全为0。
本发明的进一步改进在于,所述步骤S4包括以下子步骤:
步骤S401,预先统计出字节全部的值的出现概率,制定出一个基于字节统计概率的变长编码表;
步骤S402,依次对当前数据帧的每个字节的值进行查表,将查表得到的变长编码按顺序连接,得到压缩后的数据。
本发明的进一步改进在于,所述步骤S401包括以下子步骤:
步骤S4011,根据各个字节值的统计概率构造一棵最优二叉树,最优二叉树中的每个叶子结点代表一个值,并保证所有的叶子结点到根结点的路径长度乘以各叶子结点对应的概率的总和最小;
步骤S4012,根据叶子结点的路径,从根节点开始,进入左树则编码加1位0,进入右树则编码加1位1,由此对每个字节值进行编码,预先制定出一个基于字节统计概率的变长编码表。
本发明的进一步改进在于,还包括自定义组合步骤,所述自定义组合步骤用于自定义选择所述步骤S2至步骤S4中的任意一个或几个步骤,且选择后的步骤执行顺序不变。
本发明还提供一种探地雷达数据的实时无损压缩系统,采用了如上所述的探地雷达数据的实时无损压缩方法,并包括:
数据采集模块,实时接收探地雷达采集的数据,并按预设道数划分为数据帧;
差分编码模块,对当前数据帧进行差分编码,得到差分编码后的数据;
变长整数编码模块,对经过差分编码后的当前数据帧进行变长整数编码;
基于字节统计概率的变长编码模块,对当前数据帧进行基于字节统计概率的变长编码,得到压缩后的数据;
继续处理模块,继续处理下一数据帧,直至本次测线采集完毕。
与现有技术相比,本发明的有益效果在于:利用探地雷达数据中存在小采样值占比较大的特点,在数据采集之后,依次进行差分编码、变长整数编码以及基于字节统计概率的变长编码等处理过程,进而能够在不丢失任何雷达数据信号的基础上,显著地减小探地雷达数据所需的存储空间,以便达到简单、快速且占用计算资源少的技术效果,非常适合于探地雷达数据的实时无损压缩方法及系统这种特殊的应用环境。
附图说明
图1是本发明一种实施例的工作流程示意图。
具体实施方式
下面结合附图,对本发明的较优的实施例作进一步的详细说明。
如图1所示,本实施例提供一种探地雷达数据的实时无损压缩方法,包括以下步骤:
步骤S1,实时接收探地雷达采集的数据,并按预设道数划分为数据帧;
步骤S2,对当前数据帧进行差分编码,得到差分编码后的数据;
步骤S3,对经过差分编码后的当前数据帧进行变长整数编码;
步骤S4,对当前数据帧进行基于字节统计概率的变长编码,得到压缩后的数据;
步骤S5,继续处理下一数据帧,直至本次测线采集完毕。
本实施例所述步骤S1中,实时接收探地雷达采集的数据,并按预设道数划分为帧,数据帧大小是T×S。T表示道数,S表示采样数。对于最后一帧道数小于预设道数时,T为实际的道数。在本实施例后续的各个公式中,t表示采样点的道序号,s表示采样点的采样序号。
本实施例所述步骤S2对当前数据帧进行差分编码,差分编码压缩的是采样值,差分编码后的采样数据多为较小的整数,因此,通过差分编码后,数据在小整数更加集中,有利于后续进行变长整数编码。本实施例的差分编码可以通过以下两种方法来实现。
第一种方法,本实施例所述步骤S2中,进行差分编码的过程包括:对于每一道的各采样点,通过公式获取当前采样点与前一道对应采样点的差值作为差分编码后的数据,其中,表示第t道第s个采样点的值;表示第t-1道第s个采样点的值;表示第t道第s个采样点经过差分编码后的值。
第二种方法,本实施例所述步骤S2中,进行差分编码的过程包括:对于每一道的各采样点,通过公式获取当前采样点与同一道前一采样点的差值作为编码后的数据,其中,表示第t道第s个采样点的值;表示第t道第s-1个采样点的值;表示第t道第s个采样点经过差分编码后的值。
本实施例所述步骤S3用于对当前数据帧进行变长整数编码,尤其是对经过差分编码后的当前数据帧进行变长整数编码。变长整数编码指的是可变长度的整数编码,例如varint编码。本实施例所述步骤S3的编码仅限于整数使用,把整数编码成不同长度的字节。与所述步骤S4不同,所述步骤S4针对的是字节,把字节编码成不同长度的比特,以便满足不同步骤的编码需求,提高探地雷达数据的实时无损压缩效率。变长整数编码利用了雷达数据中大整数较少而小整数较多的特点,本实施例所述步骤S3通过使较小的整数占用较少的字节来实现压缩的目的。更为具体的,本实施例所述步骤S3包括以下子步骤:
步骤S301,将当前数据帧的每个采样点的值,获取其符号后置补码;所述符号后置补码指的是将符号位进行后置以实现补码,更为具体的,所述符号后置补码的过程为将补码的符号位移到最后一位;
步骤S302,对当前数据帧的每个采样点进行前缀处理,直到前导为0,得到压缩后的变长整数编码;
步骤S303,将当前数据帧的每个采样点压缩后的字节按遍历顺序依次排列,得到当前数据帧的变长整数编码压缩数据。
在步骤S301中,无论正负整数,如果不考虑其符号后置补码的符号位,则小整数的前导0更多。因此,通过省略前导0,可以有效减少小整数占用的字节数。通过将符号位后置,能够解决符号位对前导0的影响。本实施例所述步骤S301中,通过公式获取每个采样点的符号后置补码,其中,表示第t道第s个采样点经过差分编码后的值,如果没有跳过步骤S2,那么,则表示第t道第s个采样点的值;表示第t道第s个采样点的值的补码;N表示探地雷达数据的整数位数;表示位或运算;表示第t道第s个采样点的符号后置补码。
在步骤S302中,对当前数据帧的每个采样点,如果将其符号后置补码的前导0直接去掉来作为变长整数编码,会产生违反编码唯一可译性的问题。只有在任一码字都不作为其他码字的前缀情况下,才能保证唯一可译。因此本实施例所述步骤S302在去掉前导0的同时,进行前缀处理,以保证其唯一可译。
更为具体的,本实施例所述步骤S302中,对当前数据帧的每个采样点进行前缀处理的过程为:将当前数据帧的每个采样点以二进制码从低位到高位切分成每7位一组,如果高位存在有效信息,则给这7位补上1位1,否则为0;以此反复,直到前导全为0,则得到压缩后的变长整数编码。通过伪代码表示如下:
input:int n
output:byte[] buf
i = 0;
while n > 0x7f do
buf [i++] = (n | 0x80) & 0xff;
n = n >> 7;
buf [i++] = n。
本实施例所述步骤S4用于对当前数据帧进行基于字节统计概率的变长编码,优选采用的是基于字节统计概率的哈夫曼编码。通过预先统计出字节全部的值的出现概率,使出现概率高的字节值使用较少位数的编码,压缩了高概率字节占用的比特,以此实现压缩的目的;然后根据先验统计预先制定哈夫曼码表,以便在实时压缩时对每个字节通过查表即可进行编码,提高工作效率。
更为具体的,本实施例所述步骤S4包括以下子步骤:
步骤S401,在先验统计阶段,预先统计出字节全部的值的出现概率,制定出一个基于字节统计概率的变长编码表;
步骤S402,依次对当前数据帧的每个字节的值进行查表,将查表得到的变长编码按顺序连接,得到压缩后的数据。
本实施例所述步骤S401包括以下子步骤:
步骤S4011,在预先统计出字节全部的值的出现概率之后,根据各个字节值的统计概率构造一棵最优二叉树,所述最优二叉树也称哈夫曼树,最优二叉树中的每个叶子结点代表一个值,并保证所有的叶子结点到根结点的路径长度乘以各叶子结点对应的概率的总和最小;
步骤S4012,各叶子结点的编码规则为:根据叶子结点的路径,从根节点开始,进入左树则编码加1位0,进入右树则编码加1位1,由此对每个字节值进行编码,即可预先制定出一个基于字节统计概率的变长编码表,也称基于字节统计概率的哈夫曼码表。因此,在实时压缩时对每个字节通过查表即可进行编码,很好地提高了其响应速度和工作效率。
本实施例还包括自定义组合步骤,所述自定义组合步骤用于自定义选择所述步骤S2至步骤S4中的任意一个或几个步骤,且选择后的步骤执行顺序不变。即,在步骤S1和步骤S5之外,所述步骤S2实现的差分编码过程、所述步骤S3实现的变长整数编码过程以及步骤S4实现的基于字节统计概率的变长编码过程,可以根据具体情况进行自定义选择,但顺序不可变。更为具体的,可以包括以下自定义选择方式:第一种、只依次执行步骤S2和步骤S3;第二种、只依次执行步骤S2和步骤S4;第三种、只执行步骤S3;第四种、只执行步骤S4;第五种、只依次执行步骤S3和步骤S4;第六种、依次执行全部步骤S2、步骤S3和步骤S4。值得说明的时,依次执行全部步骤S2、步骤S3和步骤S4时压缩效果最好,有序且高效地结合用于压缩采样值的步骤S2、用于压缩小整数占用的字节的步骤S3以及用于压缩高概率字节占用的比特的步骤S4,非常适合于探地雷达数据的实时无损压缩需求,能够有效地利用探地雷达数据中存在小采样值占比较大的特点,在不丢失任何雷达数据信号的基础上,显著地减小了探地雷达数据所需的存储空间。
本实施例还提供一种探地雷达数据的实时无损压缩系统,采用了如上所述的探地雷达数据的实时无损压缩方法,并包括:
数据采集模块,实时接收探地雷达采集的数据,并按预设道数划分为数据帧;
差分编码模块,对当前数据帧进行差分编码,得到差分编码后的数据;
变长整数编码模块,对经过差分编码后的当前数据帧进行变长整数编码;
基于字节统计概率的变长编码模块,对当前数据帧进行基于字节统计概率的变长编码,得到压缩后的数据;
继续处理模块,继续处理下一数据帧,直至本次测线采集完毕。
综上所述,本实施例利用探地雷达数据中存在小采样值占比较大的特点,在数据采集之后,依次进行差分编码、变长整数编码以及基于字节统计概率的变长编码等处理过程,进而能够在不丢失任何雷达数据信号的基础上,显著地减小探地雷达数据所需的存储空间,以便达到简单、快速且占用计算资源少的技术效果,非常适合于探地雷达数据的实时无损压缩方法及系统这种特殊的应用环境。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (9)
1.一种探地雷达数据的实时无损压缩方法,其特征在于,包括以下步骤:
步骤S1,实时接收探地雷达采集的数据,并按预设道数划分为数据帧;
步骤S2,对当前数据帧进行差分编码,得到差分编码后的数据;
步骤S3,对经过差分编码后的当前数据帧进行变长整数编码;
步骤S4,对当前数据帧进行基于字节统计概率的变长编码,得到压缩后的数据;
步骤S5,继续处理下一数据帧,直至本次测线采集完毕。
4.根据权利要求1至3任意一项所述的探地雷达数据的实时无损压缩方法,其特征在于,所述步骤S3包括以下子步骤:
步骤S301,将当前数据帧的每个采样点的值,获取其符号后置补码;
步骤S302,对当前数据帧的每个采样点进行前缀处理,直到前导为0,得到压缩后的变长整数编码;
步骤S303,将当前数据帧的每个采样点压缩后的字节按遍历顺序依次排列,得到当前数据帧的变长整数编码压缩数据。
6.根据权利要求4所述的探地雷达数据的实时无损压缩方法,其特征在于,所述步骤S302中,对当前数据帧的每个采样点进行前缀处理的过程为:将当前数据帧的每个采样点以二进制码从低位到高位切分成每7位一组,如果高位存在有效信息,则给这7位补上1位1,否则为0;以此反复,直到前导全为0。
7.根据权利要求1至3任意一项所述的探地雷达数据的实时无损压缩方法,其特征在于,所述步骤S4包括以下子步骤:
步骤S401,预先统计出字节全部的值的出现概率,制定出一个基于字节统计概率的变长编码表;
步骤S402,依次对当前数据帧的每个字节的值进行查表,将查表得到的变长编码按顺序连接,得到压缩后的数据。
8.根据权利要求7所述的探地雷达数据的实时无损压缩方法,其特征在于,所述步骤S401包括以下子步骤:
步骤S4011,根据各个字节值的统计概率构造一棵最优二叉树,最优二叉树中的每个叶子结点代表一个值,并保证所有的叶子结点到根结点的路径长度乘以各叶子结点对应的概率的总和最小;
步骤S4012,根据叶子结点的路径,从根节点开始,进入左树则编码加1位0,进入右树则编码加1位1,由此对每个字节值进行编码,预先制定出一个基于字节统计概率的变长编码表。
9.一种探地雷达数据的实时无损压缩系统,其特征在于,采用了如权利要求1至8任意一项所述的探地雷达数据的实时无损压缩方法,并包括:
数据采集模块,实时接收探地雷达采集的数据,并按预设道数划分为数据帧;
差分编码模块,对当前数据帧进行差分编码,得到差分编码后的数据;
变长整数编码模块,对经过差分编码后的当前数据帧进行变长整数编码;
基于字节统计概率的变长编码模块,对当前数据帧进行基于字节统计概率的变长编码,得到压缩后的数据;
继续处理模块,继续处理下一数据帧,直至本次测线采集完毕。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211679809.2A CN115664426B (zh) | 2022-12-27 | 2022-12-27 | 一种探地雷达数据的实时无损压缩方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211679809.2A CN115664426B (zh) | 2022-12-27 | 2022-12-27 | 一种探地雷达数据的实时无损压缩方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115664426A CN115664426A (zh) | 2023-01-31 |
CN115664426B true CN115664426B (zh) | 2023-03-21 |
Family
ID=85022981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211679809.2A Active CN115664426B (zh) | 2022-12-27 | 2022-12-27 | 一种探地雷达数据的实时无损压缩方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115664426B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113795773A (zh) * | 2019-03-08 | 2021-12-14 | 欧司朗股份有限公司 | 用于lidar传感器系统的部件,lidar传感器系统,lidar传感器装置,用于lidar传感器系统的方法和用于lidar传感器装置的方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10301362B4 (de) * | 2003-01-16 | 2005-06-09 | GEMAC-Gesellschaft für Mikroelektronikanwendung Chemnitz mbH | Blockdatenkompressionssystem, bestehend aus einer Kompressionseinrichtung und einer Dekompressionseinrichtung, und Verfahren zur schnellen Blockdatenkompression mit Multi-Byte-Suche |
CN101919252A (zh) * | 2008-01-18 | 2010-12-15 | 英特尔公司 | 对dct系数的行程长度和大小数据的分别霍夫曼编码 |
JP5051087B2 (ja) * | 2008-09-30 | 2012-10-17 | ヤマハ株式会社 | 可逆圧縮符号化装置および可逆復号化装置 |
US9647685B1 (en) * | 2016-09-14 | 2017-05-09 | Federal Express Corporation | Data compression |
CN108989817A (zh) * | 2018-09-03 | 2018-12-11 | 西安交通大学 | 一种基于参考帧错位预测的雷达数据压缩方法 |
-
2022
- 2022-12-27 CN CN202211679809.2A patent/CN115664426B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113795773A (zh) * | 2019-03-08 | 2021-12-14 | 欧司朗股份有限公司 | 用于lidar传感器系统的部件,lidar传感器系统,lidar传感器装置,用于lidar传感器系统的方法和用于lidar传感器装置的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115664426A (zh) | 2023-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7365658B2 (en) | Method and apparatus for lossless run-length data encoding | |
US6236341B1 (en) | Method and apparatus for data compression of network packets employing per-packet hash tables | |
EP1024600B1 (en) | Data compression method and data decompressing method, and data compressing apparatus and data decompressing apparatus therefor | |
Gopinath et al. | Comparison of lossless data compression techniques | |
CN100517979C (zh) | 一种数据压缩及解压缩方法 | |
CN112953550B (zh) | 数据压缩的方法、电子设备及存储介质 | |
CN101667843B (zh) | 嵌入式系统的数据压缩、及解压缩方法与装置 | |
CN1790968A (zh) | 用于编码通信系统的二级缩放与量化的方法及装置 | |
CN106452452A (zh) | 一种基于K‑means聚类的全脉冲数据无损压缩方法 | |
CN101534124B (zh) | 一种用于短小自然语言的压缩算法 | |
US7864085B2 (en) | Data compression method and apparatus | |
CN115664426B (zh) | 一种探地雷达数据的实时无损压缩方法及系统 | |
CN115801902A (zh) | 一种网络访问请求数据的压缩方法 | |
CN113312325B (zh) | 轨迹数据传输方法、装置、设备及存储介质 | |
CN117177100A (zh) | 一种智能ar偏振数据传输方法 | |
CN1615590A (zh) | 数字信息信号的数据压缩和扩展 | |
Shukla et al. | A comparative analysis of lossless compression algorithms on uniformly quantized audio signals | |
US5708429A (en) | Method of compressing electroencephalographic signals | |
CN1338824A (zh) | 一种特博码解码的方法以及解码器 | |
CN113141508A (zh) | 算术编码器及实现算术编码的方法和图像编码方法 | |
CN116979972B (zh) | 一种针对模数转换器采集数据的压缩及解压缩方法 | |
CN1433590A (zh) | 信息解码的方法和装置 | |
Yılmaz et al. | The effects of data compression in missile telemetry systems | |
CN111431538B (zh) | 一种嵌入式系统的数据压缩方法、系统及存储介质 | |
Huang et al. | Lossless compression algorithm for multi-source sensor data research |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |