CN111726117A - 数字岩心数据并行压缩编码方法及并行解压解码方法 - Google Patents
数字岩心数据并行压缩编码方法及并行解压解码方法 Download PDFInfo
- Publication number
- CN111726117A CN111726117A CN201910213514.8A CN201910213514A CN111726117A CN 111726117 A CN111726117 A CN 111726117A CN 201910213514 A CN201910213514 A CN 201910213514A CN 111726117 A CN111726117 A CN 111726117A
- Authority
- CN
- China
- Prior art keywords
- data
- data sequence
- sub
- digital core
- sequences
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 122
- 230000006837 decompression Effects 0.000 title claims abstract description 33
- 230000006835 compression Effects 0.000 title claims abstract description 32
- 238000007906 compression Methods 0.000 title claims abstract description 32
- 239000011148 porous material Substances 0.000 claims description 22
- 239000011435 rock Substances 0.000 claims description 8
- 238000009825 accumulation Methods 0.000 claims description 4
- 230000014509 gene expression Effects 0.000 description 27
- 239000000126 substance Substances 0.000 description 9
- 238000004458 analytical method Methods 0.000 description 7
- 150000001875 compounds Chemical class 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Images
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
- H03M7/3059—Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
-
- 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/4006—Conversion to or from arithmetic code
- H03M7/4012—Binary arithmetic codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种数字岩心数据体并行压缩编码方法、一种数字岩心数据编码的存储方法、以及一种数字岩心数据并行解压解码方法。本发明不仅可以大大降低数字岩心数据体的体积,而且可以有效提高数字岩心数据体的写入速度和读取速度。此外,本发明还能够使存储的数字岩心数据更加全面,而且在打开文件时可以正常解析数字岩心数据,具有很好的应用前景。
Description
技术领域
本发明涉及数字岩心数据处理技术领域,尤其涉及一种数字岩心数据并行压缩编码方法及并行解压解码方法。
背景技术
假设在数字岩心中,用二进制数值0表示孔隙,用二进制数值1表示骨架,因此,数字岩心数据可以理解为是一个由0和1组成的三维图像。目前,通常采用以下两种方法对数字岩心数据进行处理并存储,其中,第一种方法是采用二进制raw格式对数字岩心数据进行处理并存储,第二种方法是采用图片格式(例如,tif格式)对数字岩心数据进行处理并存储。
第一种方法的具体过程如下:
(1)将数字岩心在三维方向上的多个像素点按照X方向、Y方向、Z方向的顺序排序成一维数据序列;
(2)将每个像素点值采用8位(1字节)的空间存储,例如,孔隙存储为00000000,骨架存储为00000001;
(3)将数字岩心在三维方向上的所有像素点依次序按照格式连接起来,最终形成数字岩心数据;
(4)存储该数字岩心数据。
第二种方法的具体过程如下(以tif格式为例):
(1)将数字岩心数据的维度信息(即数字岩心在X方向、Y方向、Z方向的像素点的个数)存储在文件头部;
(2)将数字岩心在三维方向上的多个像素点按照X方向、Y方向、Z方向的顺序排序成一维数据序列;
(3)将每个像素点值采用1位的空间存储,例如,孔隙存储为0,骨架存储为1;
(4)将数字岩心数据的维度信息与数字岩心在三维方向上的所有像素点依次序按照格式连接起来,最终形成数字岩心数据;
(5)存储该数字岩心数据。
由此可见,以上两种方法均将数字岩心数据按照一般的图像数据进行处理并存储,但却未考虑到数字岩心数据的特殊性。因此,以上两种方法具有如下缺点:
(1)采用以上两种方法存储的数字岩心数据的体积过大,并且在存储数字岩心数据的过程中,数字岩心数据的读取和写入速度较慢。以一个像素为10000*10000*1的数字岩心为例,采用第一种方法存储的数字岩心数据的体积可达9.31GB,采用第二种方法存储的数字岩心数据的体积也需要1.16GB。
(2)以上两种方法均仅记录了数字岩心的像素信息,却忽略了数字岩心的像素大小、来源等附加信息。因此,采用以上两种方法存储的数字岩心数据并不全面。
(3)采用第一种方法存储的数字岩心数据并未记录数字岩心数据的维度信息,因此,在打开文件时,如果不知道数字岩心数据的维度信息,会导致数字岩心数据无法正常解析。
为了解决上述技术问题,本发明提供了一种数字岩心数据并行压缩编码方法及并行解压解码方法。
发明内容
在现有技术中,通常将数字岩心数据按照一般的图像数据进行处理并存储,但却未考虑到数字岩心数据的特殊性。因此,现有方法具有如下缺点:
(1)采用现有方法存储的数字岩心数据的体积过大,并且在存储数字岩心数据的过程中,数字岩心数据的读取和写入速度较慢。
(2)采用现有方法存储的数字岩心数据并不全面。
(3)采用现有方法存储的数字岩心数据并未记录数字岩心数据的维度信息,因此,在打开文件时,如果不知道数字岩心数据的维度信息,会导致数字岩心数据无法正常解析。
为了解决上述技术问题,本发明提供了一种数字岩心数据并行压缩编码方法及并行解压解码方法,尤其提供一种数字岩心数据体并行压缩编码方法、数字岩心数据编码的存储方法、以及数字岩心数据并行解压解码方法。
根据本发明的一个方面,提供了一种数字岩心数据体并行压缩编码方法,包括:
使用0表示孔隙元素,使用1表示岩石骨架元素,将数字岩心在三维方向上的多个像素点按照X方向、Y方向、Z方向的顺序进行排列,得到一维数据序列;
根据所述一维数据序列包含的所有元素的总数和孔隙元素的个数,对所述一维数据序列包含的所有元素进行分组,得到多组子数据序列;
对所述多组子数据序列中的每一组并行执行压缩操作,得到压缩后的各组子数据序列;
将所述压缩后的各组子数据序列包含的所有元素按照组号依次进行合并,得到第一数据序列;
根据所述压缩后的各组子数据序列包含的所有元素和第一预设规则,对所述第一数据序列包含的所有元素进行编码,得到数字岩心数据体编码。
在本发明一优选实施例中,根据所述一维数据序列包含的所有元素的总数和孔隙元素的个数,对所述一维数据序列包含的所有元素进行分组,得到多组子数据序列,包括:
根据所述一维数据序列包含的所有元素的总数和孔隙元素的个数,得到数字岩心孔隙度;
根据所述一维数据序列包含的所有元素的总数和所述数字岩心孔隙度,得到所述一维数据序列被划分为子数据序列的组数;
根据所述一维数据序列包含的所有元素的总数和所述一维数据序列被划分为子数据序列的组数,得到每组子数据序列包含的元素的个数;
根据所述一维数据序列被划分为子数据序列的组数、以及每组子数据序列包含的元素的个数,对所述一维数据序列包含的所有元素进行分组,得到每组子数据序列包含的元素,从而得到多组子数据序列。
在本发明一优选实施例中,对所述多组子数据序列中的每一组并行执行压缩操作,得到压缩后的各组子数据序列,包括:
针对每组子数据序列,并行执行以下操作:
在该组子数据序列包含的首位元素之前和末位元素之后分别添加1,得到第二数据序列;
根据第二数据序列包含的所有元素中数值为1的元素在该第二数据序列中的编号,得到第三数据序列;
对第三数据序列包含的所有元素进行差分运算,得到第四数据序列;
从第四数据序列包含的所有元素中选出数值不为1的元素,得到第五数据序列;
将第五数据序列包含的每个元素均减1,得到第六数据序列;
判断该组子数据序列包含的首位元素是否为1,并根据判断结果,确定第七数据序列包含的元素;
对该组子数据序列包含的所有元素进行取反运算,得到第八数据序列;
在第八数据序列包含的首位元素之前和末位元素之后分别添加1,得到第九数据序列;
根据第九数据序列包含的所有元素中数值为1的元素在该第九数据序列中的编号,得到第十数据序列;
对第十数据序列包含的所有元素进行差分运算,得到第十一数据序列;
从第十一数据序列包含的所有元素中选出数值不为1的元素,得到第十二数据序列;
将第十二数据序列包含的每个元素均减1,得到第十三数据序列;
判断该组子数据序列包含的末位元素是否为0,并根据判断结果,确定第十四数据序列包含的元素;
根据第二预设规则对第七数据序列和第十四数据序列包含的所有元素进行合并,得到压缩后的该组子数据序列。
在本发明一优选实施例中,根据所述压缩后的各组子数据序列包含的所有元素和第一预设规则,对所述第一数据序列包含的所有元素进行编码,得到数字岩心数据体编码,包括:
根据所述压缩后的各组子数据序列包含的所有元素,得到所述压缩后的各组子数据序列包含的所有元素中的最大值;
根据所述最大值和第一预设规则,得到对所述第一数据序列包含的所有元素进行编码的二进制位数;
根据所述二进制位数,对所述第一数据序列包含的所有元素进行编码,得到数字岩心数据体编码。
在本发明一优选实施例中,判断该组子数据序列包含的首位元素是否为1,并根据判断结果,确定第七数据序列包含的元素,包括:
判断该组子数据序列包含的首位元素是否为1;
若该组子数据序列包含的首位元素为1,则将第七数据序列包含的元素确定为在第六数据序列包含的首位元素之前添加0后得到的元素;
若该组子数据序列包含的首位元素不为1,则将第七数据序列包含的元素确定为第六数据序列包含的元素。
在本发明一优选实施例中,判断该组子数据序列包含的末位元素是否为0,并根据判断结果,确定第十四数据序列包含的元素,包括:
判断该组子数据序列包含的末位元素是否为0;
若该组子数据序列包含的末位元素为0,则将第十四数据序列包含的元素确定为在第十三数据序列包含的末位元素之后添加0后得到的元素;
若该组子数据序列包含的末位元素不为0,则将第十四数据序列包含的元素确定为第十三数据序列包含的元素。
根据本发明的另一个方面,提供了一种数字岩心数据编码的存储方法,包括:
将数字岩心数据的维度信息编码、尺寸信息编码、说明信息编码、数据头编码、以及根据上述方法得到的数字岩心数据体编码依次连接,得到数字岩心数据编码;
存储所述数字岩心数据编码。
在本发明一优选实施例中,
所述数字岩心数据的维度信息编码是以第一预设编码方式和第一预设编码位数对数字岩心在X方向、Y方向、Z方向的像素点的个数进行编码而得到的;
所述数字岩心数据的尺寸信息编码是以第二预设编码方式和第二预设编码位数对每个像素点在X方向、Y方向、Z方向的实际尺寸进行编码而得到的;
所述数字岩心数据的说明信息编码是以第三预设编码方式和第三预设编码位数对数字岩心的附加信息进行编码而得到的;
所述数字岩心数据的数据头编码是以第四预设编码方式和第四预设编码位数对二进制位数进行编码而得到的,所述二进制位数是根据压缩后的各组子数据序列包含的所有元素和第一预设规则而得到的。
根据本发明的再一个方面,提供了一种数字岩心数据并行解压解码方法,用于解析根据上述方法得到的数字岩心数据编码,包括:
根据第一至第四预设编码方式和第一至第四预设编码位数,对所述数字岩心数据编码进行解码操作,得到数字岩心数据的维度信息编码、尺寸信息编码、说明信息编码、数据头编码和数字岩心数据体编码;
根据所述数据头编码和所述数字岩心数据体编码,得到第一数据序列;
根据所述第一数据序列包含的所有元素的总数和计算设备配置情况,对所述第一数据序列包含的所有元素进行分组,得到多组子数据序列;
对所述多组子数据序列中的每一组并行执行解压解码操作,得到解压解码后的各组子数据序列;
将所述解压解码后的各组子数据序列包含的所有元素按照组号依次进行合并,得到一维数据序列;
根据所述数字岩心数据的维度信息编码,按照X方向、Y方向、Z方向的顺序对所述一维数据序列包含的所有元素进行排列,得到数字岩心数据体。
在本发明一优选实施例中,根据所述第一数据序列包含的所有元素的总数和计算设备配置情况,对所述第一数据序列包含的所有元素进行分组,得到多组子数据序列,包括:
根据计算设备配置情况,确定所述第一数据序列被划分为子数据序列的组数;
根据所述第一数据序列包含的所有元素的总数和所述第一数据序列被划分为子数据序列的组数,得到每组子数据序列包含的元素的个数;
根据所述第一数据序列被划分为子数据序列的组数、以及每组子数据序列包含的元素的个数,对所述第一数据序列包含的所有元素进行分组,得到每组子数据序列包含的元素,从而得到多组子数据序列。
在本发明一优选实施例中,对所述多组子数据序列中的每一组并行执行解压解码操作,得到解压解码后的各组子数据序列,包括:
针对每组子数据序列,并行执行以下操作:
对该组子数据序列包含的每个元素进行累加运算,得到第十五数据序列;
根据第十五数据序列包含的末位元素,创建第十六数据序列,所述第十六数据序列包含的所有元素均为0,且所述第十六数据序列包含的元素的个数为第十五数据序列包含的末位元素;
根据第十五数据序列包含的所有元素和第三预设规则,对所述第十六数据序列包含的元素进行处理,得到解压解码后的该组子数据序列。
与现有技术相比,上述方案中的一个或多个实施例可以具有如下优点或有益效果:
(1)本发明实施例提供的数字岩心数据体并行压缩编码方法,是对数字岩心的多组子数据序列中的每一组并行执行压缩操作,不仅可以有效提高数字岩心数据体的计算速度,而且可以大大降低数字岩心数据体的体积,从而为后续数字岩心数据的存储奠定良好基础。
(2)本发明实施例提供的数字岩心数据编码的存储方法,能够存储数字岩心的维度信息、尺寸信息、说明信息、数据头和数据体,因此,应用本发明的方法存储的数字岩心数据更加全面,而且在打开文件时可以正常解析数字岩心数据。
此外,由于其存储的数据体是采用并行压缩编码方法得到的数字岩心数据体,因此,其存储的数字岩心数据的体积大大降低,存储数字岩心数据的速度大大提高。
(3)本发明实施例提供的数字岩心数据并行解压解码方法,是对数字岩心数据体的多组子数据序列的每一组并行执行解压解码操作,可以有效提高数字岩心数据的读取速度,具有很好的应用前景。
本发明的其它特征和优点将在随后的说明书中阐述,并且部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例一的数字岩心数据体并行压缩编码方法的具体流程示意图;
图2为图1中步骤S102的具体流程示意图;
图3为图1中步骤S103的具体流程示意图;
图4为图1中步骤S105的具体流程示意图;
图5为本发明实施例二的数字岩心数据编码的存储方法的具体流程示意图;
图6为本发明实施例二的数字岩心数据编码的具体格式的示意图;
图7为本发明实施例三的数字岩心数据并行解压解码方法的具体流程示意图;
图8为图7中的步骤S303的具体流程示意图;
图9为图7中的步骤S304的具体流程示意图;
图10为应用示例一的数字岩心数据体图像。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
在现有技术中,通常将数字岩心数据按照一般的图像数据进行处理并存储,但却未考虑到数字岩心数据的特殊性。因此,现有方法具有如下缺点:
(1)采用现有方法存储的数字岩心数据的体积过大,并且在存储数字岩心数据的过程中,数字岩心数据的读取和写入速度较慢。
(2)采用现有方法存储的数字岩心数据并不全面。
(3)采用现有方法存储的数字岩心数据并未记录数字岩心数据的维度信息,因此,在打开文件时,如果不知道数字岩心数据的维度信息,会导致数字岩心数据无法正常解析。
为了解决上述技术问题,本发明提供了一种数字岩心数据并行压缩编码方法及并行解压解码方法,尤其提供一种数字岩心数据体并行压缩编码方法、数字岩心数据编码的存储方法、以及数字岩心数据并行解压解码方法。
实施例一
岩石的特点是孔隙和岩石骨架相对连续分布,而不是毫无规律的随机离散分布,这使得数字岩心数据体的0、1数据具有连续一段0、再接连续的一段1这样的分布特点。基于数字岩心的这个特点,本实施例使用奇数位置记录连续为孔隙的像素点的个数,使用偶数位置记录连续为骨架的像素点的个数。如果对整个数字岩心数据体进行计算,一是会出现很大的一个连续为0或1的区域,形成一个很大的整数,浪费存储空间;二是计算速度慢。
为了克服上述问题,本实施例提供了一种数字岩心数据体并行压缩编码方法,其核心思想是将数字岩心在三维方向上的多个像素点的0、1数据转换为0、1的数量。
图1为本发明实施例一的数字岩心数据体并行压缩编码方法的具体流程示意图。
如图1所示,本实施例的数字岩心数据体并行压缩编码方法,主要包括以下步骤S101至步骤S105。
在步骤S101中,使用0表示孔隙元素,使用1表示岩石骨架元素,将数字岩心在三维方向上的多个像素点按照X方向、Y方向、Z方向的顺序进行排列,得到一维数据序列{an}。
在步骤S102中,根据一维数据序列包含的所有元素的总数和孔隙元素的个数,对一维数据序列包含的所有元素进行分组,得到多组子数据序列。其中,一维数据序列包含的所有元素包括所有孔隙元素和所有骨架元素。其具体过程如图2所示。
在步骤S1021中,根据一维数据序列包含的所有元素的总数和孔隙元素的个数,得到数字岩心孔隙度。
优选地,根据以下表达式(1)得到数字岩心孔隙度:
其中,φ为数字岩心孔隙度,K为一维数据序列包含的孔隙元素的个数,N为一维数据序列包含的所有元素的总数。
需要说明的是,数字岩心孔隙度一般小于0.5。
在步骤S1022中,根据一维数据序列包含的所有元素的总数和数字岩心孔隙度,得到一维数据序列被划分为子数据序列的组数。
优选地,根据以下表达式(2)得到一维数据序列被划分为子数据序列的组数:
m=[Nφ/ln(N)] (2)
其中,m为一维数据序列被划分为子数据序列的组数,N为一维数据序列包含的所有元素的总数,φ为数字岩心孔隙度,[]表示对Nφ/ln(N)所得的商取整。
在步骤S1023中,根据一维数据序列包含的所有元素的总数和一维数据序列被划分为子数据序列的组数,得到每组子数据序列包含的元素的个数。
优选地,根据以下表达式(3)得到每组子数据序列包含的元素的个数:
P1=[N/(m-1)] (3)
其中,P1为前(m-1)组子数据序列包含的元素的个数,N为一维数据序列包含的所有元素的总数,m为一维数据序列被划分为子数据序列的组数,[]表示对N/(m-1)所得的商取整,第m组子数据序列包含的元素的个数P2为N/P1所得的余数。
在步骤S1024中,根据一维数据序列被划分为子数据序列的组数、以及每组子数据序列包含的元素的个数,对一维数据序列包含的所有元素进行分组,得到每组子数据序列包含的元素,从而得到多组子数据序列。
在步骤S103中,对多组子数据序列中的每一组并行执行压缩操作,得到压缩后的各组子数据序列。其具体过程如图3所示。
针对每组子数据序列,并行执行以下操作:
优选地,根据以下表达式(4)得到第四数据序列包含的所有元素:
优选地,根据以下表达式(5)得到第六数据序列包含的所有元素:
在步骤S1036中,判断该组子数据序列包含的首位元素是否为1,并根据判断结果,确定第七数据序列包含的元素。
具体地,判断该组子数据序列包含的首位元素是否为1。
若该组子数据序列包含的首位元素为1,则将第七数据序列包含的元素确定为在第六数据序列包含的首位元素之前添加0后得到的元素,即其中,表示第k组子数据序列中的第七数据序列的第n个元素,表示第k组子数据序列中的第六数据序列的第n个元素,n为正整数。
在步骤S1037中,对该组子数据序列包含的所有元素进行取反运算,得到第八数据序列,即其中,表示第k组子数据序列中的第八数据序列的第n个元素,表示第k组子数据序列中的第n个元素,n为正整数。在本示例中,
在步骤S1043中,判断该组子数据序列包含的末位元素是否为0,并根据判断结果,确定第十四数据序列包含的元素。
具体地,判断该组子数据序列包含的末位元素是否为0。
若该组子数据序列包含的末位元素为0,则将第十四数据序列包含的元素确定为在第十三数据序列包含的末位元素之后添加0后得到的元素,即其中,表示第k组子数据序列中的第十四数据序列的第n个元素,表示第k组子数据序列中的第十三数据序列的第n个元素,n为正整数。
在步骤S1044中,根据第二预设规则(即以下表达式(6)和(7))对第七数据序列和第十四数据序列包含的所有元素进行合并,得到压缩后的该组子数据序列。
优选地,根据以下表达式(6)和(7)得到压缩后的该组子数据序列包含的所有元素:
其中,表示压缩后的第k组子数据序列包含的第2n-1个元素,表示第k组子数据序列中的第七数据序列的第n个元素,表示压缩后的第k组子数据序列包含的第2n个元素,表示第k组子数据序列中的第十四数据序列的第n个元素,n为正整数。
在步骤S104中,将压缩后的各组子数据序列包含的所有元素按照组号依次进行合并,得到第一数据序列。
在步骤S105中,根据压缩后的各组子数据序列包含的所有元素和第一预设规则,对第一数据序列包含的所有元素进行编码,得到数字岩心数据体编码。其具体过程如图4所示。
在步骤S1051中,根据压缩后的各组子数据序列包含的所有元素,得到压缩后的各组子数据序列包含的所有元素中的最大值。
在步骤S1052中,根据该最大值和第一预设规则(即以下表达式(8)和(9)),得到对第一数据序列包含的所有元素进行编码的二进制位数。
优选地,根据以下表达式(8)和(9)得到对第一数据序列包含的所有元素进行编码的二进制位数:
2q-1≥tmax (8)
2q-1-1<tmax (9)
其中,q表示对第一数据序列包含的所有元素进行编码的二进制位数,tmax表示压缩后的各组子数据序列包含的所有元素中的最大值。
在步骤S1053中,根据二进制位数,对第一数据序列包含的所有元素进行编码,得到数字岩心数据体编码。
应用本发明实施例提供的数字岩心数据体并行压缩编码方法,由于对数字岩心的多组子数据序列中的每一组并行执行压缩操作,不仅可以有效提高数字岩心数据体的计算速度,而且可以大大降低数字岩心数据体的体积,从而为后续数字岩心数据的存储奠定良好基础。
实施例二
本实施例提供了一种数字岩心数据编码的存储方法。
图5为本发明实施例二的数字岩心数据编码的存储方法的具体流程示意图。
如图5所示,本实施例的数字岩心数据编码的存储方法,主要包括以下步骤S201至步骤S202。
在步骤S201中,将数字岩心数据的维度信息编码、尺寸信息编码、说明信息编码、数据头编码、以及根据实施例一所述的方法得到的数字岩心数据体编码依次连接,得到数字岩心数据编码。数字岩心数据编码的具体格式如图6所示。
其中,数字岩心数据的维度信息编码、尺寸信息编码和说明信息编码作为数字岩心的摘要和属性信息,用于快速获取数字岩心的基本信息。
具体地,数字岩心数据的维度信息编码是以第一预设编码方式和第一预设编码位数对数字岩心在X方向、Y方向、Z方向的像素点的个数进行编码而得到的。数字岩心数据的维度信息编码最大允许记录4294967296个像素点的数据。
优选地,第一预设编码方式为二进制无符号整数编码,第一预设编码位数为:数字岩心在X方向、Y方向和Z方向中的每一个方向的像素点的个数采用32位(4字节)进行编码。
数字岩心数据的尺寸信息编码是以第二预设编码方式和第二预设编码位数对每个像素点在X方向、Y方向、Z方向的实际尺寸(即数字岩心分辨率,单位为nm)进行编码而得到的。
优选地,第二预设编码方式为二进制无符号整数编码,第二预设编码位数为:每个像素点在X方向、Y方向和Z方向中的每一个方向的实际尺寸采用20位进行编码。
数字岩心数据的尺寸信息编码最低可表示1048576nm(约1mm)精度的分辨率,最高可表示1nm精度的分辨率。
数字岩心数据的说明信息编码是以第三预设编码方式和第三预设编码位数对数字岩心的附加信息进行编码而得到的。其中,附加信息包括数字岩心的取心、扫描设备、处理方法等信息。
优选地,第三预设编码方式为UTF编码,可记录任意文字、符号,无固定长度。通常,在说明信息编码结尾添加一个空字符(UTF代码:U+0000)。第三预设编码位数为:每个字符采用32位进行编码。
数字岩心数据的数据头编码是以第四预设编码方式和第四预设编码位数对二进制位数进行编码而得到的。该二进制位数是根据压缩后的各组子数据序列包含的所有元素和第一预设规则(即以上表达式(8)和(9))而得到的。该二进制位数表示数字岩心数据体包含的每个元素所占的位数。
优选地,第四预设编码方式为二进制无符号整数编码,第四预设编码位数为8位。数字岩心数据体包含的每个元素最大允许占256位。
数字岩心数据体编码用于记录数字岩心的孔隙和骨架信息,即表示数字岩心中的每一个坐标位置是孔隙还是骨架。
在步骤S202中,存储该数字岩心数据编码。
应用本发明实施例提供的数字岩心数据编码的存储方法,由于其存储了数字岩心的维度信息、尺寸信息、说明信息、数据头和数据体,因此,其存储的数字岩心数据更加全面,而且在打开文件时可以正常解析数字岩心数据。
此外,由于本发明实施例提供的数字岩心数据编码的存储方法,其存储的数据体是采用实施例一所述的方法得到的数字岩心数据体,因此,其存储的数字岩心数据的体积大大降低,存储数字岩心数据的速度大大提高。
有关试验数据表明:采用本发明实施例提供的方法存储像素为10000*10000*1的数字岩心,其存储的数字岩心数据的体积仅为0.1GB,是采用现有技术中的第一种方法存储的数字岩心数据的体积的1%,是采用现有技术中的第二种方法存储的数字岩心数据的体积的10%。
实施例三
本实施例提供了一种数字岩心数据并行解压解码方法,用于解析根据实施例二所述的方法得到的数字岩心数据编码。
图7为本发明实施例三的数字岩心数据并行解压解码方法的具体流程示意图。
如图7所示,本实施例的数字岩心数据并行解压解码方法,主要包括以下步骤S301至步骤S306。
在步骤S301中,根据实施例二中的第一至第四预设编码方式和第一至第四预设编码位数,对数字岩心数据编码进行解码操作,得到数字岩心数据的维度信息编码、尺寸信息编码、说明信息编码、数据头编码和数字岩心数据体编码。其具体过程如下:
从数字岩心数据编码的第一位开始,以第一预设编码方式和第一预设编码位数对数字岩心数据编码进行解码操作,得到数字岩心数据的维度信息编码。
从数字岩心数据的维度信息编码的下一位开始,以第二预设编码方式和第二预设编码位数对数字岩心数据编码进行解码操作,得到数字岩心数据的尺寸信息编码。
从数字岩心数据的尺寸信息编码的下一位开始,以第三预设编码方式和第三预设编码位数对数字岩心数据编码进行解码操作,得到数字岩心数据的说明信息编码。
从数字岩心数据的说明信息编码的下一位开始,以第四预设编码方式和第四预设编码位数对数字岩心数据编码进行解码操作,得到数字岩心数据的数据头编码,从而得到对数字岩心数据体包含的每个元素进行编码的二进制位数。
从数字岩心数据的数据头编码的下一位开始至数字岩心数据编码的末位为止,即为数字岩心数据体编码。
在步骤S302中,根据数据头编码和数字岩心数据体编码,得到第一数据序列。
在步骤S303中,根据第一数据序列包含的所有元素的总数和计算设备配置情况,对第一数据序列包含的所有元素进行分组,得到多组子数据序列。其具体过程如图8所示。
在步骤S3031中,根据计算设备配置情况,确定第一数据序列被划分为子数据序列的组数。
优选地,根据计算设备的CPU核数来确定第一数据序列被划分为子数据序列的组数。
在步骤S3032中,根据第一数据序列包含的所有元素的总数和第一数据序列被划分为子数据序列的组数,得到每组子数据序列包含的元素的个数。
优选地,根据以下表达式(10)和(11)得到每组子数据序列包含的元素的个数:
P3=[(M/m)+1] (10)
P4=M-(m-1)·P3 (11)
其中,P3为前(m-1)组子数据序列包含的元素的个数,M为第一数据序列包含的所有元素的总数,m为第一数据序列被划分为子数据序列的组数,[]表示对(M/m)+1所得的和取整,P4表示第m组子数据序列包含的元素的个数。
需要说明的是,若P3为奇数,则前(m-1)组子数据序列包含的元素的个数为P3-1。
在步骤S3033中,根据第一数据序列被划分为子数据序列的组数、以及每组子数据序列包含的元素的个数,对第一数据序列包含的所有元素进行分组,得到每组子数据序列包含的元素,从而得到多组子数据序列。
在步骤S304中,对多组子数据序列中的每一组并行执行解压解码操作,得到解压解码后的各组子数据序列。其具体过程如图9所示。
针对每组子数据序列,并行执行以下操作:
在步骤S3041中,对该组子数据序列包含的每个元素进行累加运算,得到第十五数据序列。
优选地,根据以下表达式(12)得到第十五数据序列包含的所有元素:
在步骤S3042中,根据第十五数据序列包含的末位元素,创建第十六数据序列。其中,第十六数据序列包含的所有元素均为0,且第十六数据序列包含的元素的个数为第十五数据序列包含的末位元素。
在步骤S3043中,根据第十五数据序列包含的所有元素和第三预设规则,对第十六数据序列包含的元素进行处理,得到解压解码后的该组子数据序列。
其中,第三预设规则为:
在步骤S305中,将解压解码后的各组子数据序列包含的所有元素按照组号依次进行合并,得到一维数据序列。
在步骤S306中,根据数字岩心数据的维度信息编码,按照X方向、Y方向、Z方向的顺序对一维数据序列包含的所有元素进行排列,得到数字岩心数据体。
应用本发明实施例提供的数字岩心数据并行解压解码方法,由于对数字岩心数据体的多组子数据序列的每一组并行执行解压解码操作,可以有效提高数字岩心数据的读取速度,具有很好的应用前景。
下面通过具体应用示例对本发明进行详细描述。
应用示例一
本应用示例一描述了数字岩心数据体并行压缩编码方法和数字岩心数据编码的存储方法。
图10为本应用示例一的数字岩心数据体图像。
在本应用示例中,数字岩心数据体像素为10*10*1,该数字岩心的每个像素点的精度为1nm。
数字岩心在X方向具有10个像素点,在Y方向具有10个像素点,在Z方向具有1个像素点,数字岩心在各个方向的像素点数目采用32位二进制无符号整数编码方式进行编码。由于10的32位二进制无符号整数编码为00000000000000000000000000001010,1的32位二进制无符号整数编码为00000000000000000000000000000001,因此,数字岩心数据的维度信息编码为:000000000000000000000000000010100000000000000000000000000000101000000000000000000000000000000001。
数字岩心的每个像素点的精度采用20位二进制无符号整数编码方式进行编码。由于数字岩心的每个像素点在各个方向的精度为1nm,1的20位二进制无符号整数编码为00000000000000000001,因此,数字岩心数据的尺寸信息编码为:000000000000000000010000000000000000000100000000000000000001。
数字岩心的说明信息为“这是一个示例”,该字符对应的Unicode代码如下表1所示:
表1数字岩心的说明信息编码
因此,数字岩心数据的说明信息编码为:00000000000000001000111111011001000000000000000001100110001011110000000000000000010011100000000000000000000000000100111000101010000000000000000001111001001110100000000000000000010011111000101100000000000000000000000000000000。
下面通过实施例一中所述的方法得到数字岩心的数据头编码和数字岩心数据体编码,具体过程如下:
在步骤S101中,使用0表示孔隙元素,使用1表示岩石骨架元素,将数字岩心在三维方向上的多个像素点按照X方向、Y方向、Z方向的顺序进行排列,得到一维数据序列{an}。数字岩心数据的形式如下表2所示。
表2数字岩心数据的形式
Y/X | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
2 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 |
3 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 |
4 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 |
5 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
6 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 |
7 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 |
8 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 |
9 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
10 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
因此,一维数据序列{an}为:1111111111110001101110000111111000011111110001000111101000011100100001100001111111001111111111111111。
在步骤S102中,根据一维数据序列包含的所有元素的总数和孔隙元素的个数,对一维数据序列包含的所有元素进行分组,得到多组子数据序列。其中,一维数据序列包含的所有元素包括所有孔隙元素和所有骨架元素。其具体过程如下。
在步骤S1021中,由表2可见,一维数据序列包含的所有元素的总数为100,孔隙元素的个数(即表2中0的数目)为35,根据以上表达式(1),可以得到:数字岩心孔隙度为0.35。
在步骤S1022中,由于一维数据序列包含的所有元素的总数为100,数字岩心孔隙度为0.35,根据以上表达式(2),可以得到:一维数据序列被划分为子数据序列的组数为7。
在步骤S1023中,由于一维数据序列包含的所有元素的总数为100,一维数据序列被划分为子数据序列的组数为7,根据以上表达式(3),可以得到:前6组子数据序列包含的元素的个数为16,第7组子数据序列包含的元素的个数为4。
在步骤S103中,对7组子数据序列中的每一组并行执行压缩操作,得到压缩后的各组子数据序列。其具体过程如下。
针对每组子数据序列,并行执行以下操作:
在步骤S1036中,判断该组子数据序列包含的首位元素是否为1,并根据判断结果,确定第七数据序列包含的元素。
在步骤S1043中,判断该组子数据序列包含的末位元素是否为0,并根据判断结果,确定第十四数据序列包含的元素。
并行执行上述7组子数据序列,得到压缩后的各组子数据序列,如下表3所示。
表3压缩后的各组子数据序列
在步骤S104中,将压缩后的各组子数据序列包含的所有元素按照组号依次进行合并,得到第一数据序列
在步骤S105中,根据压缩后的各组子数据序列包含的所有元素和第一预设规则,对第一数据序列包含的所有元素进行编码,得到数字岩心数据体编码。其具体过程如下。
在步骤S1051中,根据压缩后的各组子数据序列包含的所有元素,得到压缩后的各组子数据序列包含的所有元素中的最大值。
在本示例中,由表3可见,压缩后的各组子数据序列包含的所有元素中的最大值tmax=12。
在步骤S1052中,根据该最大值和第一预设规则(即以上表达式(8)和(9)),得到对第一数据序列包含的所有元素进行编码的二进制位数q=4。
此外,由于数字岩心数据的数据头编码采用8位二进制无符号整数编码方式进行编码,又由于4的8位二进制无符号整数编码为00000100,因此,可以得到:数字岩心数据的数据头编码为00000100。
在步骤S1053中,根据二进制位数,对第一数据序列包含的所有元素进行编码,得到数字岩心数据体编码为00001100001100010000000100010011010001100001000000110111001100010010000000010100000100010100001100100000000000010100001001000101000000100010110000000100。
在步骤S201中,将数字岩心数据的维度信息编码、尺寸信息编码、说明信息编码、数据头编码、以及数字岩心数据体编码依次连接,得到数字岩心数据编码为000000000000000000000000000010100000000000000000000000000000101000000000000000000000000000000001000000000000000000010000000000000000000100000000000000000001000000000000000010001111110110010000000000000000011001100010111100000000000000000100111000000000000000000000000001001110001010100000000000000000011110010011101000000000000000000100111110001011000000000000000000000000000000000000010000001100001100010000000100010011010001100001000000110111001100010010000000010100000100010100001100100000000000010100001001000101000000100010110000000100。
在步骤S202中,存储该数字岩心数据编码。
应用示例二
本应用示例二描述了数字岩心数据并行解压解码方法,用于解析根据应用示例一所述的方法得到的数字岩心数据编码。
在步骤S301中,根据应用示例一中的数字岩心数据的维度信息编码、尺寸信息编码、说明信息编码、数据头编码和数字岩心数据体编码的编码方式和编码位数,对数字岩心数据编码进行解码操作,得到数字岩心数据的维度信息编码、尺寸信息编码、说明信息编码、数据头编码和数字岩心数据体编码。其具体过程如下:
从数字岩心数据编码的第1位开始,根据应用示例一中的数字岩心数据的维度信息编码的编码方式和编码位数,读取数字岩心数据编码的第1-96位,得到数字岩心数据的维度信息编码为:000000000000000000000000000010100000000000000000000000000000101000000000000000000000000000000001。对上述编码每隔32位进行解析,可以得到数字岩心数据的维度信息,如下表4所示。
表4数字岩心数据的维度信息编码解析结果
维度 | 维度信息编码 | 维度信息编码解析结果 |
X | 00000000000000000000000000001010 | 10 |
Y | 00000000000000000000000000001010 | 10 |
Z | 00000000000000000000000000000001 | 1 |
从数字岩心数据编码的第97位开始,根据应用示例一中的数字岩心数据的尺寸信息编码的编码方式和编码位数,读取数字岩心数据编码的第97-156位,得到数字岩心数据的尺寸信息编码为:000000000000000000010000000000000000000100000000000000000001。对上述编码每隔20位进行解析,可以得到数字岩心数据的尺寸信息,如下表5所示。
表5数字岩心数据的尺寸信息编码解析结果
维度 | 尺寸信息编码 | 尺寸信息编码解析结果 |
X | 00000000000000000001 | 1nm |
Y | 00000000000000000001 | 1nm |
Z | 00000000000000000001 | 1nm |
根据应用示例一中的数字岩心数据的说明信息编码的编码方式和编码位数,从数字岩心数据编码的第157位开始读取,每隔32位解析为一个字符,直到读取到一个空字符结束,得到数字岩心数据的说明信息,如下表6所示。
表6数字岩心数据的说明信息编码解析结果
通过检测空字符,确定数字岩心数据的说明信息共占224位(从第157位到第380位),解析得到的数字岩心数据的说明信息为“这是一个示例”。
从数字岩心数据编码的第381位开始,根据应用示例一中的数字岩心数据的数据头编码的编码方式和编码位数,读取数字岩心数据编码的第381-388位,得到数字岩心数据的数据头编码为:00000100,从而得到对数字岩心数据体包含的每个元素进行编码的二进制位数q=4。
从数字岩心数据编码的第389位开始,根据应用示例一中的数字岩心数据体编码的编码方式和编码位数,读取数字岩心数据编码的第389位到数字岩心数据编码的末位,得到数字岩心数据体编码。
在步骤S302中,根据数据头编码和数字岩心数据体编码,得到第一数据序列,如下表7所示。
表7数字岩心数据体编码解析结果
在步骤S303中,根据第一数据序列包含的所有元素的总数和计算设备配置情况,对第一数据序列包含的所有元素进行分组,得到多组子数据序列。其具体过程如下。
在步骤S3031中,根据计算设备的CPU核数,确定第一数据序列被划分为子数据序列的组数为4。
在步骤S3032中,根据第一数据序列包含的所有元素的总数和第一数据序列被划分为子数据序列的组数,结合以上表达式(10)和(11),可以得到:前3组子数据序列包含的元素的个数为10,第4组子数据序列包含的元素的个数为8。
在步骤S3033中,根据第一数据序列被划分为子数据序列的组数、以及每组子数据序列包含的元素的个数,对第一数据序列包含的所有元素进行分组,得到每组子数据序列包含的元素,从而得到4组子数据序列,如下表8所示。
表8解压解码前的各组子数据序列
组号 | 解压解码前的子数据序列 |
1 | 0,12,3,1,0,1,1,3,4,6 |
2 | 1,0,3,7,3,1,2,0,1,4 |
3 | 1,1,4,3,2,0,0,1,4,2 |
4 | 4,5,0,2,2,12,0,4 |
在步骤S304中,对以上4组子数据序列中的每一组并行执行解压解码操作,得到解压解码后的各组子数据序列。其具体过程如下:
针对每组子数据序列,并行执行以下操作:
在步骤S3042中,根据第十五数据序列包含的末位元素,创建第十六数据序列。
在步骤S3043中,根据第十五数据序列包含的所有元素和第三预设规则,对第十六数据序列包含的元素进行处理,得到解压解码后的该组子数据序列。
其中,第三预设规则为:
并行执行第1组子数据序列到第4组子数据序列,得到解压解码后的各组子数据序列,如下表9所示。
表9解压解码后的各组子数据序列
在步骤S305中,将解压解码后的各组子数据序列包含的所有元素按照组号依次进行合并,得到一维数据序列为:1111111111110001101110000111111000011111110001000111101000011100100001100001111111001111111111111111。由此可见,该一维数据序列与应用示例一中的一维数据序列相同。
在步骤S306中,根据数字岩心数据的维度信息编码,按照X方向、Y方向、Z方向的顺序对一维数据序列包含的所有元素进行排列,得到数字岩心数据体,即如上表2所示。
本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所公开的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (11)
1.一种数字岩心数据体并行压缩编码方法,其特征在于,包括:
使用0表示孔隙元素,使用1表示岩石骨架元素,将数字岩心在三维方向上的多个像素点按照X方向、Y方向、Z方向的顺序进行排列,得到一维数据序列;
根据所述一维数据序列包含的所有元素的总数和孔隙元素的个数,对所述一维数据序列包含的所有元素进行分组,得到多组子数据序列;
对所述多组子数据序列中的每一组并行执行压缩操作,得到压缩后的各组子数据序列;
将所述压缩后的各组子数据序列包含的所有元素按照组号依次进行合并,得到第一数据序列;
根据所述压缩后的各组子数据序列包含的所有元素和第一预设规则,对所述第一数据序列包含的所有元素进行编码,得到数字岩心数据体编码。
2.根据权利要求1所述的数字岩心数据体并行压缩编码方法,其特征在于,根据所述一维数据序列包含的所有元素的总数和孔隙元素的个数,对所述一维数据序列包含的所有元素进行分组,得到多组子数据序列,包括:
根据所述一维数据序列包含的所有元素的总数和孔隙元素的个数,得到数字岩心孔隙度;
根据所述一维数据序列包含的所有元素的总数和所述数字岩心孔隙度,得到所述一维数据序列被划分为子数据序列的组数;
根据所述一维数据序列包含的所有元素的总数和所述一维数据序列被划分为子数据序列的组数,得到每组子数据序列包含的元素的个数;
根据所述一维数据序列被划分为子数据序列的组数、以及每组子数据序列包含的元素的个数,对所述一维数据序列包含的所有元素进行分组,得到每组子数据序列包含的元素,从而得到多组子数据序列。
3.根据权利要求1所述的数字岩心数据体并行压缩编码方法,其特征在于,对所述多组子数据序列中的每一组并行执行压缩操作,得到压缩后的各组子数据序列,包括:
针对每组子数据序列,并行执行以下操作:
在该组子数据序列包含的首位元素之前和末位元素之后分别添加1,得到第二数据序列;
根据第二数据序列包含的所有元素中数值为1的元素在该第二数据序列中的编号,得到第三数据序列;
对第三数据序列包含的所有元素进行差分运算,得到第四数据序列;
从第四数据序列包含的所有元素中选出数值不为1的元素,得到第五数据序列;
将第五数据序列包含的每个元素均减1,得到第六数据序列;
判断该组子数据序列包含的首位元素是否为1,并根据判断结果,确定第七数据序列包含的元素;
对该组子数据序列包含的所有元素进行取反运算,得到第八数据序列;
在第八数据序列包含的首位元素之前和末位元素之后分别添加1,得到第九数据序列;
根据第九数据序列包含的所有元素中数值为1的元素在该第九数据序列中的编号,得到第十数据序列;
对第十数据序列包含的所有元素进行差分运算,得到第十一数据序列;
从第十一数据序列包含的所有元素中选出数值不为1的元素,得到第十二数据序列;
将第十二数据序列包含的每个元素均减1,得到第十三数据序列;
判断该组子数据序列包含的末位元素是否为0,并根据判断结果,确定第十四数据序列包含的元素;
根据第二预设规则对第七数据序列和第十四数据序列包含的所有元素进行合并,得到压缩后的该组子数据序列。
4.根据权利要求3所述的数字岩心数据体并行压缩编码方法,其特征在于,根据所述压缩后的各组子数据序列包含的所有元素和第一预设规则,对所述第一数据序列包含的所有元素进行编码,得到数字岩心数据体编码,包括:
根据所述压缩后的各组子数据序列包含的所有元素,得到所述压缩后的各组子数据序列包含的所有元素中的最大值;
根据所述最大值和第一预设规则,得到对所述第一数据序列包含的所有元素进行编码的二进制位数;
根据所述二进制位数,对所述第一数据序列包含的所有元素进行编码,得到数字岩心数据体编码。
5.根据权利要求3所述的数字岩心数据体并行压缩编码方法,其特征在于,判断该组子数据序列包含的首位元素是否为1,并根据判断结果,确定第七数据序列包含的元素,包括:
判断该组子数据序列包含的首位元素是否为1;
若该组子数据序列包含的首位元素为1,则将第七数据序列包含的元素确定为在第六数据序列包含的首位元素之前添加0后得到的元素;
若该组子数据序列包含的首位元素不为1,则将第七数据序列包含的元素确定为第六数据序列包含的元素。
6.根据权利要求3所述的数字岩心数据体并行压缩编码方法,其特征在于,判断该组子数据序列包含的末位元素是否为0,并根据判断结果,确定第十四数据序列包含的元素,包括:
判断该组子数据序列包含的末位元素是否为0;
若该组子数据序列包含的末位元素为0,则将第十四数据序列包含的元素确定为在第十三数据序列包含的末位元素之后添加0后得到的元素;
若该组子数据序列包含的末位元素不为0,则将第十四数据序列包含的元素确定为第十三数据序列包含的元素。
7.一种数字岩心数据编码的存储方法,其特征在于,包括:
将数字岩心数据的维度信息编码、尺寸信息编码、说明信息编码、数据头编码、以及根据权利要求1至6中任一项所述的方法得到的数字岩心数据体编码依次连接,得到数字岩心数据编码;
存储所述数字岩心数据编码。
8.根据权利要求7所述的数字岩心数据编码的存储方法,其特征在于,
所述数字岩心数据的维度信息编码是以第一预设编码方式和第一预设编码位数对数字岩心在X方向、Y方向、Z方向的像素点的个数进行编码而得到的;
所述数字岩心数据的尺寸信息编码是以第二预设编码方式和第二预设编码位数对每个像素点在X方向、Y方向、Z方向的实际尺寸进行编码而得到的;
所述数字岩心数据的说明信息编码是以第三预设编码方式和第三预设编码位数对数字岩心的附加信息进行编码而得到的;
所述数字岩心数据的数据头编码是以第四预设编码方式和第四预设编码位数对二进制位数进行编码而得到的,所述二进制位数是根据压缩后的各组子数据序列包含的所有元素和第一预设规则而得到的。
9.一种数字岩心数据并行解压解码方法,用于解析根据权利要求7或8所述的方法得到的数字岩心数据编码,其特征在于,包括:
根据第一至第四预设编码方式和第一至第四预设编码位数,对所述数字岩心数据编码进行解码操作,得到数字岩心数据的维度信息编码、尺寸信息编码、说明信息编码、数据头编码和数字岩心数据体编码;
根据所述数据头编码和所述数字岩心数据体编码,得到第一数据序列;
根据所述第一数据序列包含的所有元素的总数和计算设备配置情况,对所述第一数据序列包含的所有元素进行分组,得到多组子数据序列;
对所述多组子数据序列中的每一组并行执行解压解码操作,得到解压解码后的各组子数据序列;
将所述解压解码后的各组子数据序列包含的所有元素按照组号依次进行合并,得到一维数据序列;
根据所述数字岩心数据的维度信息编码,按照X方向、Y方向、Z方向的顺序对所述一维数据序列包含的所有元素进行排列,得到数字岩心数据体。
10.根据权利要求9所述的数字岩心数据并行解压解码方法,其特征在于,根据所述第一数据序列包含的所有元素的总数和计算设备配置情况,对所述第一数据序列包含的所有元素进行分组,得到多组子数据序列,包括:
根据计算设备配置情况,确定所述第一数据序列被划分为子数据序列的组数;
根据所述第一数据序列包含的所有元素的总数和所述第一数据序列被划分为子数据序列的组数,得到每组子数据序列包含的元素的个数;
根据所述第一数据序列被划分为子数据序列的组数、以及每组子数据序列包含的元素的个数,对所述第一数据序列包含的所有元素进行分组,得到每组子数据序列包含的元素,从而得到多组子数据序列。
11.根据权利要求9所述的数字岩心数据并行解压解码方法,其特征在于,对所述多组子数据序列中的每一组并行执行解压解码操作,得到解压解码后的各组子数据序列,包括:
针对每组子数据序列,并行执行以下操作:
对该组子数据序列包含的每个元素进行累加运算,得到第十五数据序列;
根据第十五数据序列包含的末位元素,创建第十六数据序列,所述第十六数据序列包含的所有元素均为0,且所述第十六数据序列包含的元素的个数为第十五数据序列包含的末位元素;
根据第十五数据序列包含的所有元素和第三预设规则,对所述第十六数据序列包含的元素进行处理,得到解压解码后的该组子数据序列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910213514.8A CN111726117A (zh) | 2019-03-20 | 2019-03-20 | 数字岩心数据并行压缩编码方法及并行解压解码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910213514.8A CN111726117A (zh) | 2019-03-20 | 2019-03-20 | 数字岩心数据并行压缩编码方法及并行解压解码方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111726117A true CN111726117A (zh) | 2020-09-29 |
Family
ID=72562439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910213514.8A Pending CN111726117A (zh) | 2019-03-20 | 2019-03-20 | 数字岩心数据并行压缩编码方法及并行解压解码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111726117A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112686001A (zh) * | 2021-01-05 | 2021-04-20 | 中科三清科技有限公司 | 气象数据的变换方法、传输方法、服务器及数据传输系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3833900A (en) * | 1972-08-18 | 1974-09-03 | Ibm | Image compaction system |
US4862167A (en) * | 1987-02-24 | 1989-08-29 | Hayes Microcomputer Products, Inc. | Adaptive data compression method and apparatus |
US20030122694A1 (en) * | 2001-12-11 | 2003-07-03 | International Business Machines Corporation | Variable length encoding and decoding of ascending numerical sequences |
CN101129063A (zh) * | 2005-11-18 | 2008-02-20 | 索尼株式会社 | 编码设备和方法、解码设备和方法以及传输系统 |
CN103326730A (zh) * | 2013-06-06 | 2013-09-25 | 清华大学 | 数据并行压缩方法 |
CN105022631A (zh) * | 2015-07-08 | 2015-11-04 | 西安理工大学 | 一种面向科学计算的浮点型数据并行无损压缩方法 |
CN106558084A (zh) * | 2016-12-11 | 2017-04-05 | 天津君邦科技有限公司 | 地理信息图像的压缩方法 |
-
2019
- 2019-03-20 CN CN201910213514.8A patent/CN111726117A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3833900A (en) * | 1972-08-18 | 1974-09-03 | Ibm | Image compaction system |
US4862167A (en) * | 1987-02-24 | 1989-08-29 | Hayes Microcomputer Products, Inc. | Adaptive data compression method and apparatus |
US20030122694A1 (en) * | 2001-12-11 | 2003-07-03 | International Business Machines Corporation | Variable length encoding and decoding of ascending numerical sequences |
CN101129063A (zh) * | 2005-11-18 | 2008-02-20 | 索尼株式会社 | 编码设备和方法、解码设备和方法以及传输系统 |
CN103326730A (zh) * | 2013-06-06 | 2013-09-25 | 清华大学 | 数据并行压缩方法 |
CN105022631A (zh) * | 2015-07-08 | 2015-11-04 | 西安理工大学 | 一种面向科学计算的浮点型数据并行无损压缩方法 |
CN106558084A (zh) * | 2016-12-11 | 2017-04-05 | 天津君邦科技有限公司 | 地理信息图像的压缩方法 |
Non-Patent Citations (1)
Title |
---|
常子鹏 宋文广 顾宫: "基于深度学习的岩心图像压缩模型研究", 《电脑知识与技术》, pages 173 - 174 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112686001A (zh) * | 2021-01-05 | 2021-04-20 | 中科三清科技有限公司 | 气象数据的变换方法、传输方法、服务器及数据传输系统 |
CN112686001B (zh) * | 2021-01-05 | 2021-12-03 | 中科三清科技有限公司 | 气象数据的变换方法、传输方法、服务器及数据传输系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230188736A1 (en) | Methods and apparatuses for hierarchically encoding and decoding a bytestream | |
US7039241B1 (en) | Method and apparatus for compression and decompression of color data | |
EP2410489A2 (en) | Scalable coding of 3d meshes and cross-references | |
JP7127137B2 (ja) | 符号化方法、復号方法、および装置 | |
CN102640498A (zh) | 纹理图案自适应分区块变换 | |
CN109840585B (zh) | 一种面向稀疏二维卷积的运算方法和系统 | |
CN115208414B (zh) | 数据压缩方法、数据压缩装置、计算机设备及存储介质 | |
CN114222129A (zh) | 图像压缩编码方法、装置、计算机设备和存储介质 | |
CN111726117A (zh) | 数字岩心数据并行压缩编码方法及并行解压解码方法 | |
CN104125475A (zh) | 一种多维量子数据压缩、解压缩方法及装置 | |
US7460722B2 (en) | Encoding of digital data with determination of sample path | |
TWI463438B (zh) | 特徵點描述壓縮方法及特徵點描述壓縮裝置 | |
CN111654696B (zh) | 一种帧内的多参考行预测方法、装置、存储介质及终端 | |
JP6457558B2 (ja) | データ圧縮装置およびデータ圧縮方法 | |
CN112052228A (zh) | 一种基于标准欧几里德空间与平面空间投影互为映射的二进制编码方法 | |
US9948928B2 (en) | Method and apparatus for encoding an image | |
JP5036643B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
CN114501011A (zh) | 图像压缩方法、图像解压缩方法及装置 | |
US8554773B2 (en) | Method for indexing images and for reading an index of an image | |
CN110956670A (zh) | 一种基于深度偏移的多模式自适应z值压缩算法 | |
CN102238381B (zh) | 加速游程长度编码的影像编码方法与影像编码装置 | |
CN107172425B (zh) | 缩略图生成方法、装置及终端设备 | |
CN111291240A (zh) | 处理数据的方法和数据处理装置 | |
Kamal et al. | Iteration free fractal compression using genetic algorithm for still colour images | |
CN109831209B (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 |