CN108494409B - 基于小字典的随钻中子测井仪井下高速实时压缩方法 - Google Patents

基于小字典的随钻中子测井仪井下高速实时压缩方法 Download PDF

Info

Publication number
CN108494409B
CN108494409B CN201810209645.4A CN201810209645A CN108494409B CN 108494409 B CN108494409 B CN 108494409B CN 201810209645 A CN201810209645 A CN 201810209645A CN 108494409 B CN108494409 B CN 108494409B
Authority
CN
China
Prior art keywords
small
dictionary
data
bytes
small dictionary
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
Application number
CN201810209645.4A
Other languages
English (en)
Other versions
CN108494409A (zh
Inventor
张伟
师奕兵
李焱骏
高继宗
杨伦
陶宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201810209645.4A priority Critical patent/CN108494409B/zh
Publication of CN108494409A publication Critical patent/CN108494409A/zh
Application granted granted Critical
Publication of CN108494409B publication Critical patent/CN108494409B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • EFIXED CONSTRUCTIONS
    • E21EARTH OR ROCK DRILLING; MINING
    • E21BEARTH OR ROCK DRILLING; OBTAINING OIL, GAS, WATER, SOLUBLE OR MELTABLE MATERIALS OR A SLURRY OF MINERALS FROM WELLS
    • E21B47/00Survey of boreholes or wells
    • E21B47/26Storing data down-hole, e.g. in a memory or on a record carrier

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Geology (AREA)
  • Mining & Mineral Resources (AREA)
  • Geophysics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Fluid Mechanics (AREA)
  • General Life Sciences & Earth Sciences (AREA)
  • Geochemistry & Mineralogy (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开了一种基于小字典的随钻中子测井仪井下高速实时压缩方法,上电时对字典进行初始化,接着对原始井下数据进行缓存;8字节移位寄存器存满后启动压缩,8字节数据同时在8个小字典中进行查找,一个时钟周期即可输出匹配长度和匹配地址,若存在多个字典同时匹配的情况下选取匹配长度最长的字典对应的10bits地址作为压缩码输出;将10bits压缩码转换成8bits数据后串并转换存入Flash;同时更新小字典地址并且将匹配的字符串与下一字符写入到此地址中;更新移位寄存器;如此循环,直至压缩结束。

Description

基于小字典的随钻中子测井仪井下高速实时压缩方法
技术领域
本发明属于数据压缩技术领域,更为具体地讲,涉及一种基于小字典的随钻中子测井仪井下高速实时压缩方法。
背景技术
随钻中子测井是目前比较常用的一种测量底层孔隙度的方法,其测量原理是通过测量因中子碰撞而产生的热中子数量来统计出底层的含氢量,测井仪器在井中测量不同源距、深度影响下的热中子能量,从而确定底层孔隙度,划分石油储集层,同时,随钻中子仪器具有在测井工程中实时测量地层特性的优势,钻井作业结束时即可完成测井工作,避免了传统仪器需要在钻井结束后才能测井的弊端。
随钻中子测井仪器结构,如图1所示,井下数据采集电路分为中子部分和井径部分;中子部分主要功能是采集中子脉冲参数并处理,其中包含主控及数据存储模块、中子发生器、模拟模块、高压模块。主控及数据存储模块作为中子部分的控制中枢,主要由控制器、电源、传感器、通讯接口、存储器等部分组成。其主要功能有:中子部分数据采集的流程控制、仪器工作参数监测以及测井数据处理和存储等。
随钻中子测井仪的井下信号采集原理如图2所示,电源通信模块和中控之间通过1553总线通讯,将接收的通讯指令通过***通信总线传输给中子部分的主控及数据存储模块和井径部分的井径处理模块。主控存储模块与后级的高压、模拟模块之间通过并行总线方式通信,控制12路探测器进行数据采集与传输。
由于随钻中子测井数据量非常大,井下数据传输率受限制,给数据的实时存储和传输带来了困难。所以,必须选用合适的数据压缩算法,对测井数据进行实时压缩处理,减少数据量,提高测井效率。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于小字典的随钻中子测井仪井下高速实时压缩方法,实现井下仪器在大量采集信号的同时对测井数据进行实时、有效地压缩,减少数据存储量和传输量,提高测井效率。
为实现上述发明目的,本发明基于小字典的随钻中子测井仪井下高速实时压缩方法,其特征在于,包括以下步骤:
(1)、构造随钻中子测井仪中的小字典
构造8个位宽与存储深度均不同的小字典,第一至第八个小字典的存储深度和宽度分别为:256/1byte、256/2byte、128/3byte,128/4byte,64/5byte,64/6byte,64/7byte,64/8byte;8个小字典的地址依次为:10’h000~10’h0FF,10’h100~10’h1FF,10’h200~10’h27FF,10’h280~10’h2FF,10’h300~10’h33F,10’h340~10’h37F,10’h380~10’h3BF,10’h3C0~10’h3FF;
输入的字符串在小字典中查找匹配时,如果第i个字典中存在对应输入字符串的前i个字节,则匹配成功;
(2)、原始数据的缓存处理
利用移位寄存器对采集的原始数据按照每8byte大小进行缓存,当输入数不足8byte时,将移位寄存器未存满的部分用X补充;
(3)、对缓存后的数据进行实时压缩
(3.1)、对8个小字典进行初始化;
(3.2)、将缓存后的数据同时送入至8个小字典,并在每个小字典中进行查找,其中,在第i个小字典中查找移位寄存器的前i个字节,i≤8,并获取匹配结果,对于未获取到匹配结果的表明该小字典中无此字符串,则输出当前字符作为匹配结果,并且将当前字符与下一字符写入下一个字典;这样每个小字典输出对应宽度的匹配结果,再通过多路选择器在8个匹配结果中找出匹配结果宽度最长的小字典j,并将该小字典j对应的地址作为编码输出;
(3.3)、小字典和移位寄存器的更新:如果j<8,则对第j+1个小字典地址进行更新,即addr=addr+1,并将第j+1字节写入到第j+1个小字典的addr地址处,移位寄存器移位继续读入第j个字节;如果j=8,则不进行小字典更新,仅将此时匹配成功的8个字节的字符串进行输出,移位寄存器读入新的8个字节数据;若小字典满后,需要写入该小字典的新字符串存放到小字典的第一个地址处,然后重复步骤(3.2)和(3.3),直至压缩结束;
(4)、压缩编码的位宽转换与缓存输出
压缩结束后,将小字典的输出结果进行位宽转换,再通过FIFO进行缓存,最后将FIFO的中数据按照UART通信协议进行串行输出。
本发明的发明目的是这样实现的:
本发明基于小字典的随钻中子测井仪井下高速实时压缩方法,上电时对字典进行初始化,接着对原始井下数据进行缓存;8字节移位寄存器存满后启动压缩,8字节数据同时在8个小字典中进行查找,一个时钟周期即可输出匹配长度和匹配地址,若存在多个字典同时匹配的情况下选取匹配长度最长的字典对应的10bits地址作为压缩码输出;将10bits压缩码转换成8bits数据后串并转换存入Flash;同时更新小字典地址并且将匹配的字符串与下一字符写入到此地址中;更新移位寄存器;如此循环,直至压缩结束。
同时,本发明基于小字典的随钻中子测井仪井下高速实时压缩方法还具有以下有益效果:
(1)、通过对中子测井的原始数据的实时压缩,减小了实时存储所需的空间,减小了存储板和通讯板的存储压力,数据上传的速度也能得到大幅提升。
(2)、该压缩算法采用8个不同存储宽度以及不同存储深度的字典,与传统的所有存储单元的存储宽度相同的字典相比减少了资源损耗,另外字典的实现完全采用组合逻辑实现,大幅减少字符串查找所消耗的时间从而提升了压缩速率。
(3)、巧妙的字典深度设计能够保证压缩编码长度的统一,与其他字典不同,压缩过程中不会出现数据冲突,压缩结果精确,而且从输出的压缩编码的前4bits能够容易的看出该字符串在字典的位置,利于在数据的解压缩过程中的字典恢复。
附图说明
图1是随钻中子测井仪器结构示意图;
图2是随钻中子测井仪的信号采集示意图;
图3是本发明基于小字典的随钻中子测井仪井下高速实时压缩方法流程图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
实施例
图3是本发明基于小字典的随钻中子测井仪井下高速实时压缩方法流程图。
在本实施例中,如图3所示,本发明一种基于小字典的随钻中子测井仪井下高速实时压缩方法,包括以下步骤:
S1、构造随钻中子测井仪中的小字典
小字典需要存放历史字符串、能够进行字符串比较并且输出匹配标志位和匹配地址。小字典的深度设计为1024,实际划分为8个小字典,但本实施例中构造8个位宽与存储深度均不同的小字典,如表1所示;
表1是8个小字典的结构表;
字典号 深度 宽度(字节) 字典地址
1 256 1 10’h000~10’h0FF
2 256 2 10’h100~10’h1FF
3 128 3 10’h200~10’h27F
4 128 4 10’h280~10’h2FF
5 64 5 10’h300~10’h33F
6 64 6 10’h340~10’h37F
7 64 7 10’h380~10’h3BF
8 64 8 10’h3C0~10’h3FF
表1
输入的字符串在小字典中查找匹配时,如果第i个小字典中存在对应输入字符串的前i个字节,则匹配成功;
当小字典存满后,采用FIFO(先进先出)的更新策略,无需等待便可进行字典更新。
输入的字符串在小字典中查找时,与传统的哈希查找或者其他查找方式不同,小字典是基于CAM的LZW压缩算法,能够将待压缩数据与已存入字典中的所有数据同时进行比较并且输出对应的匹配标志,因此能够快速查找并且输出;另外此算法将小字典地址作为压缩输出的编码,能够快速、准确的输出,不会产生任何冲突。
S2、原始数据的缓存处理
利用移位寄存器对采集的原始数据按照每8byte大小进行缓存,当输入数不足8byte时,将移位寄存器未存满的部分用X补充;
S3、对缓存后的数据进行实时压缩
S3.1、对8个小字典进行初始化;
S3.2、将缓存后的数据同时送入至8个小字典,并在每个小字典中进行查找,其中,在第i个小字典中查找移位寄存器的前i个字节,i≤8,并获取匹配结果,对于未获取到匹配成功标志位的表明该小字典中无此字符串,若所有的小字典均能输出匹配成功标志位,则输出当前字符作为匹配结果,并且将当前字符与下一字符写入下一个小字典;对于多个字典同时匹配成功的情况,再通过多路选择器在8个匹配结果中找出匹配结果宽度最长的小字典j,并将该小字典j对应的地址作为编码输出;
S3.3、小字典和移位寄存器的更新:如果j<8,则对第j+1个小字典地址进行更新,即addr=addr+1,并将第j+1字节写入到第j+1个小字典的addr地址处,移位寄存器移位继续读入第j个字节;如果j=8,则不进行小字典更新,仅将此时匹配成功的8个字节的字符串进行输出,移位寄存器读入新的8个字节数据;若小字典满后,需要写入该小字典的新字符串存放到小字典的第一个地址处,然后重复步骤S3.2和S3.3,直至压缩结束;
在本实施例中,输入数据流为ababababbbababaacdac...,压缩开始时将移位寄存器填满,如表2所示,此时以为寄存器的值为:abababab,经查询,8个字典中没有与此字符串匹配的历史字符串,则输出字符a,并将ab存入字典2的地址10’h100处;更新移位寄存器的值,此时移位寄存器中值为:babababb,经查询,字典中同样没有与此字符串匹配的历史字符,则输出b,将ba存入字典2的地址10’h101处;更新移位寄存器的值,此时移位寄存器中值为:abababbb,经查询,在字典2中查找到历史字符串ab,此时输出该地址即:10’h100,将aba写入字典3的10’h200地址处;更新移位寄存器的值,此时移位寄存器中值为:ababbbabab,同上述过程,字典3中查找到匹配字符,输出该地址10’h200,将abab写入字典4的10’h280地址处;....依次循环,直至压缩结束。其中,对于多个字典同时匹配成功的情况时,如第4步中,对于字符串ababbbab,在小字典2中100地址处能够找到ab与之匹配,在小字典3中200地址处能够找到aba与之匹配,此处选择匹配长度更长的小字典3的地址作为200地址作为输出。
表2是压缩流程表;
Figure BDA0001596822470000061
表2
S4、压缩编码的位宽转换与缓存输出
小字典的输出位宽为10bits,串行总线协议UART中每帧数据的数据位为8bits,因此,压缩结束后,将CAM小字典的输出结果进行位宽转换,即将10bits数据转换8bits数据,再通过FIFO进行缓存,最后将FIFO的中数据按照UART通信协议进行串行输出。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

Claims (2)

1.一种基于小字典的随钻中子测井仪井下高速实时压缩方法,其特征在于,包括以下步骤:
(1)、构造随钻中子测井仪中的小字典
构造8个位宽与存储深度均不同的小字典,第一至第八个小字典的存储深度和位宽分别为:256/1byte、256/2byte、128/3byte,128/4byte,64/5byte,64/6byte,64/7byte,64/8byte;8个小字典的地址依次为:10’h000~10’h0FF,10’h100~10’h1FF,10’h200~10’h27FF,10’h280~10’h2FF,10’h300~10’h33F,10’h340~10’h37F,10’h380~10’h3BF,10’h3C0~10’h3FF;
输入的字符串在小字典中查找匹配时,如果第i个小字典中存在对应输入字符串的前i个字节,则匹配成功;
(2)、原始数据的缓存处理
利用移位寄存器对采集的原始数据按照每8byte大小进行缓存,当输入数不足8byte时,将移位寄存器未存满的部分用X补充;
(3)、对缓存后的数据进行实时压缩
(3.1)、对8个小字典进行初始化;
(3.2)、将缓存后的数据同时送入至8个小字典,并在每个小字典中进行查找,其中,在第i个小字典中查找移位寄存器的前i个字节,i≤8,并获取匹配结果,对于未获取到匹配结果的表明该小字典中无此字符串,则输出当前字符作为匹配结果,并且将当前字符与下一字符写入下一个小字典;这样每个小字典输出对应宽度的匹配结果,再通过多路选择器在8个匹配结果中找出匹配结果宽度最长的小字典j,并将该小字典j对应的地址作为编码输出;
(3.3)、小字典和移位寄存器的更新:如果j<8,则对第j+1个小字典地址进行更新,即addr=addr+1,并将第j+1字节写入到第j+1个小字典的addr地址处,移位寄存器移位继续读入第j个字节;如果j=8,则不进行小字典更新,仅将此时匹配成功的8个字节的字符串进行输出,移位寄存器读入新的8个字节数据;若小字典满后,新读入的8个字节数据存放到小字典的第一个地址处,然后重复步骤(3.2)和(3.3),直至压缩结束;
(4)、压缩编码的位宽转换与缓存输出
压缩结束后,将小字典的输出结果进行位宽转换,再通过FIFO进行缓存,最后将FIFO中的数据按照UART通信协议进行串行输出。
2.根据权利要求1所述的一种基于小字典的随钻中子测井仪井下高速实时压缩方法,其特征在于,所述步骤(4)中,小字典的输出结果进行位宽转换的方式为:将10bits数据转换为8bits数据。
CN201810209645.4A 2018-03-14 2018-03-14 基于小字典的随钻中子测井仪井下高速实时压缩方法 Active CN108494409B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810209645.4A CN108494409B (zh) 2018-03-14 2018-03-14 基于小字典的随钻中子测井仪井下高速实时压缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810209645.4A CN108494409B (zh) 2018-03-14 2018-03-14 基于小字典的随钻中子测井仪井下高速实时压缩方法

Publications (2)

Publication Number Publication Date
CN108494409A CN108494409A (zh) 2018-09-04
CN108494409B true CN108494409B (zh) 2021-07-13

Family

ID=63338884

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810209645.4A Active CN108494409B (zh) 2018-03-14 2018-03-14 基于小字典的随钻中子测井仪井下高速实时压缩方法

Country Status (1)

Country Link
CN (1) CN108494409B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110784227B (zh) * 2019-10-21 2021-07-30 清华大学 一种对数据集的多路压缩方法、装置及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5379036A (en) * 1992-04-01 1995-01-03 Storer; James A. Method and apparatus for data compression
US5646617A (en) * 1994-06-16 1997-07-08 Seiko Epson Corporation Data compressing method, data restoring method, and information processing apparatus
CN100385437C (zh) * 2005-11-10 2008-04-30 浙江中控技术股份有限公司 实时数据压缩方法
CN102522999A (zh) * 2011-12-09 2012-06-27 电子科技大学 一种三维声波测井数据的实时压缩方法
CN102688032A (zh) * 2012-05-11 2012-09-26 东华大学 基于精简公共字典库的心电信号稀疏分解压缩***
CN104933684A (zh) * 2015-06-12 2015-09-23 北京工业大学 一种光场重建方法
CN105207678A (zh) * 2015-09-29 2015-12-30 东南大学 一种改进型lz4压缩算法的硬件实现***
CN105846825A (zh) * 2015-01-30 2016-08-10 富士通株式会社 压缩方法、解压缩方法、压缩装置以及解压缩装置
CN106130562A (zh) * 2016-06-15 2016-11-16 中国石油集团渤海钻探工程有限公司 一种随钻测井数据实时压缩方法及解压缩方法
CN107483055A (zh) * 2017-08-04 2017-12-15 北京世纪铭辰科技有限公司 一种无损压缩方法及***

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5379036A (en) * 1992-04-01 1995-01-03 Storer; James A. Method and apparatus for data compression
US5646617A (en) * 1994-06-16 1997-07-08 Seiko Epson Corporation Data compressing method, data restoring method, and information processing apparatus
CN100385437C (zh) * 2005-11-10 2008-04-30 浙江中控技术股份有限公司 实时数据压缩方法
CN102522999A (zh) * 2011-12-09 2012-06-27 电子科技大学 一种三维声波测井数据的实时压缩方法
CN102688032A (zh) * 2012-05-11 2012-09-26 东华大学 基于精简公共字典库的心电信号稀疏分解压缩***
CN105846825A (zh) * 2015-01-30 2016-08-10 富士通株式会社 压缩方法、解压缩方法、压缩装置以及解压缩装置
CN104933684A (zh) * 2015-06-12 2015-09-23 北京工业大学 一种光场重建方法
CN105207678A (zh) * 2015-09-29 2015-12-30 东南大学 一种改进型lz4压缩算法的硬件实现***
CN106130562A (zh) * 2016-06-15 2016-11-16 中国石油集团渤海钻探工程有限公司 一种随钻测井数据实时压缩方法及解压缩方法
CN107483055A (zh) * 2017-08-04 2017-12-15 北京世纪铭辰科技有限公司 一种无损压缩方法及***

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"A Lossless Data Compression and Decompression Algorithm and Its Hardware Architecture";Ming-Bo Lin等;《IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS》;20060930;第14卷(第9期);925-936 *
"Design of Acoustic Wireless Remote Transmission System for Logging-While-Drilling Data";Zhang Wei等;《The 11th IEEE International Conference on Electronic Measurement & Instruments》;20140220;53-57 *
"测井数据的实时无损压缩研究和硬件实现";刘玉梅等;《电子技术》;20110325;54-55,51 *

Also Published As

Publication number Publication date
CN108494409A (zh) 2018-09-04

Similar Documents

Publication Publication Date Title
US7283591B2 (en) Parallelized dynamic Huffman decoder
CN102244518B (zh) 并行解压缩的硬件实现的***及方法
US8134483B2 (en) Data processing apparatus and method
CN1193294C (zh) 一种多通道多位并行计算crc码的方法
CN101667843B (zh) 嵌入式***的数据压缩、及解压缩方法与装置
CN105207678A (zh) 一种改进型lz4压缩算法的硬件实现***
CA2472952A1 (en) Interleaving apparatus and method for a communication system
CN202931289U (zh) 一种硬件lz77压缩实现***
CN108494409B (zh) 基于小字典的随钻中子测井仪井下高速实时压缩方法
CN109672449A (zh) 一种基于fpga快速实现lz77压缩的装置及方法
CN1220523A (zh) 维特比译码装置及维特比译码方法
CN108873062A (zh) 一种基于fpga的多编码器高速地震数据并行无损压缩方法
CN108540139A (zh) 一种通用的准循环ldpc码编码器的fpga实现方法及装置
CN111030702A (zh) 一种文本压缩方法
US8542137B2 (en) Decoding encoded data
CN103283149B (zh) 用于处理数据元素序列的装置和方法
CN114157305B (zh) 一种基于硬件快速实现gzip压缩的方法及其应用
CN107943727A (zh) 一种高效dma控制器
CN108494408A (zh) 基于哈希字典的随钻密度测井仪井下高速实时压缩方法
CN104348571B (zh) 数据分块方法及装置
CN107483055B (zh) 一种无损压缩方法及***
CN103269255B (zh) 一种并行crc电路的生成方法和装置
CN100373346C (zh) 一种位宽转换数据的检测装置及其方法
US9866219B2 (en) Device for logic operation
CN102355331A (zh) 一种通用多模式译码装置

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