一种整型数据无损压缩方法、解压缩方法及装置制造方法及图纸

技术编号:8628240 阅读:233 留言:0更新日期:2013-04-26 01:43
本发明专利技术提供一种整型数据无损压缩方法、解压缩方法及装置,所述整型数据压缩方法包括:位重组处理过程、数据块划分及基本信息存储过程和编码处理过程;所述整型数据解压缩方法包括:基本信息解析过程、解码处理过程和位恢复处理过程;所述整型数据压缩装置包括:位重组处理模块、数据块划分及基本信息存储模块和编码处理模块;所述整型数据解压缩装置包括:基本信息解析模块、解码处理模块和位恢复处理模块。本发明专利技术算法简单、易于实现,编码解码效率高,压缩效果好,可用于对音频数据、地震勘探信号、地球物理测井波形数据和图像数据等多种类型的整型数据进行无损压缩和解压缩。

【技术实现步骤摘要】

本专利技术涉及数据压缩
,具体地,涉及一种整型数据无损压缩、无损解压缩方法及装置。
技术介绍
数据压缩是一种消除原始数据之间的冗余性,将原始数据文件转化为另一个占用存储空间更小的数据文件的技术。数据压缩的目的是尽可能地减小数据文件的大小,以节省数据传输和存储的成本。我们通常所说的数据压缩实质上包括两个部分第一部分是通过压缩算法将原始数据文件转化为压缩数据文件,即压缩部分;另一部分是通过解压算法对压缩数据文件进行解压,以重构出原始数据文件,即解压部分。根据不同压缩方法对应的解压方法,可由压缩数据文件基本或完全准确地重构出原始数据文件。根据是否可以通过压缩数据文件无失真地恢复原始数据文件,数据压缩方法可分为两大类无损压缩(重构数据与原始数据完全一致)和有损压缩(允许重构数据与原始数据存在偏差,因而一般可以取得比无损压缩更好的压缩效果)。数据压缩技术在过去20年里得到了快速的发展。目前,它已广泛应用于数字通信、数字广播、数字电视、数字存储、计算机、互联网、数字摄影、数字出版、多媒体娱乐、玩具、家电、石油勘探以及智能控制等众多领域。根据不同的应用需求,需要选择不同类型的压缩方法。对于可执行计算机程序、法律文本文档、医学X光映像和遗传(基因)信息等数据文件,任何一位(或一个字)信息的改变或缺失将导致程序不能执行或不能按照正确的思路执行或将导致原始信息意义的改变,而这类文件是不允许出现这种情况的;因此,这类数据文件的压缩需要采用无损压缩方法。对于一般的图像、视频和音频等数据文件,当其中部分数据发生较小的改变时,我们很难甚至完全不能发现其中信息的改变,不会影响这些数据文件的正常使用;因此,这类数据文件可以采用有损压缩方法,以在不影响它们正常使用的情况下获得更好的压缩效果。目前已有的数据压缩方法主要包括统计类编码(Shannon-Fano编码,Huffman编码,Run-Length编码,Arithmetic编码等)方法、字典类编码(LZ编码,LZ77编码,LZ78编码,LZff编码等)方法、变换类(K-L变换,W-H变换,离散余弦变换,Haar变换,小波变换等)压缩方法、图像压缩方法(Image Transforms, JPEG, JBIG,矢量量化等)、视频压缩方法(MPEG,MPEG-4, H. 261, H. 264 等)、音频压缩方法(ADPCM 音频压缩,FLAC,Monkey’ s Audio,AAC 等)坐寸o编码是所有数据压缩方法的关键组成部分,它直接影响着压缩方法的压缩效果,有些压缩方法的压缩效果甚至完全取决于所使用的编码方式。所谓编码就是将原始数据流或经过处理的数据流以某种特殊的方式记录下来。不同的编码方法对不同类型的数据序列有效。例如,Shannon-Fano编码和Huffman编码适用于文件中各符号出现的概率为2的负指数次方的文件压缩;算术编码适用于文件中少数符号出现的概率明显大于其他符号出现的概率的文件压缩;LZW编码适用于文件中相同符号组合出现频率较高的数据文件压缩;专门为视频或音频数据文件设计的编码方法适用于视频或音频数据文件压缩等。如果我们用一种专门为图像或音频数据设计的压缩程序(或编码方式)对文本文件进行压缩的话,那么压缩后文件大小常常大于甚至远大于原始数据文件。因此,针对不同类型的数据文件,选择或设计合适的编码方式是压缩成功的关键。对经典的算术编码方法和LZW编码方法、通用的WinRAR软件以及专业音频数据压缩软件FLAC (Free Lossless Audio Codec)进行无损压缩测试表明,这些编码(或压缩)方法的压缩效果并不足够理想(算术编码、LZW、WinRAR和FLAC对经过去相关处理的声波测井波形数据文件的平均压缩比分别为1.32、1. 12,1.38和1. 01),压缩比有进一步提升的空间。
技术实现思路
本专利技术实施例的主要目的在于提供一种整型数据无损压缩方法、解压缩方法及装置,以提供一种相比现有技术能够获得更好压缩效果的压缩技术。为了实现上述目的,本专利技术实施例提供一种整型数据无损压缩方法,包括读取原始整型数据序列;确定原始比特位总数,所述原始比特位总数为所述原始整型数据的完整二进制码对应的比特位数;针对所述原始比特位总数中的每一比特位,依次提取所有原始整型数据的完整二进制码中该比特位的码值,得到该比特位对应的二进制码串;按照设定比特位顺序对所述原始比特位总数中所有比特位对应的二进制码串进行排列,得到位重组二进制码序列;以第一设定数目的码值为一组完整二进制码,顺序提取所述位重组二进制码序列中的各组码值并确定对应的整型数据,将确定的整型数据组成位重组整型数据序列;以第二设定数目个整型数据为一数据块,将所述位重组整型数据序列顺序划分成至少一个数据块;存储压缩文件基本信息,所述压缩文件基本信息包括原始整型数据总数、所述原始比特位总数、所述设定比特位顺序、所述第一设定数目、所述第二设定数目;针对所述每一数据块执行以下编码处理确定当前数据块中出现概率最大的整型数据及对应的概率值,判断所述概率值是否大于设定阈值,若是,则根据标记编码方式对当前数据块进行编码,否则,根据常规编码方式对当前数据块进行编码;对所有数据块完成所述编码处理后,将输出的二进制码组成二进制压缩文件;其中,根据标记编码方式对当前数据块进行编码,具体包括输出标记编码方式标记符;输出当前数据块中出现概率最大的整型数据的完整二进制码;顺序读取当前数据块中的每一整型数据,判断该整型数据是否为所述出现概率最大的整型数据,若是,则输出替代标记符,否则,依次输出非替代标记符和该整型数据的完整二进制码;根据常规编码方式对当前数据块进行编码,具体包括输出常规编码方式标记符;顺序读取当前数据块中的每一整型数据,并输出该整型数据的完整二进制码。优选的,所述整型数据无损压缩方法中,所述设定阈值按照如下方式确定假设所述第二设定数目个整型数据满足条件分别采用标记编码方式和常规编码方式进行编码时,得到的编码结果占用相同大小的存储空间;则将该第二设定数目个整型数据中各整型数据的出现概率的最大值确定为所述设定阈值。优选的,所述整型数据无损压缩方法中,读取原始整型数据序列之前,还包括对所述原始整型数据序列进行预处理获得预处理整型数据序列,所述预处理整型数据序列的均方值小于所述原始整型数据序列的均方值;则针对所述原始比特位总数中的每一比特位,依次提取所有原始整型数据的完整二进制码中该比特位的码值,得到该比特位对应的二进制码串,具体为针对所述原始比特位总数中的每一比特位,依次提取所述预处理整型数据序列中所有预处理整型数据的完整二进制码中该比特位的码值,得到该比特位对应的二进制码串;所述压缩文件基本信息还包括所述预处理的过程信息。优选的,所述整型数据无损压缩方法中,对所述原始整型数据序列进行预处理,具体包括对所述原始整型数据进行线性预测处理/非线性预测处理/小波变换处理;和/或,将所述原始整型数据中的有符号整型数据转换为无符号整型数据。一种整型数据解压缩方法,包括对压缩文件基本信息进行解析,获取所述压缩文件基本信息中存储的原始整型数据总数、原始比特位总数、设定比特位顺序、第一设定数目、第二设定数目;对二进制压缩文件执行以下解码处理过程本文档来自技高网
...

【技术保护点】
一种整型数据无损压缩方法,其特征在于,包括:读取原始整型数据序列;确定原始比特位总数,所述原始比特位总数为所述原始整型数据的完整二进制码对应的比特位数;针对所述原始比特位总数中的每一比特位,依次提取所有原始整型数据的完整二进制码中该比特位的码值,得到该比特位对应的二进制码串;按照设定比特位顺序对所述原始比特位总数中所有比特位对应的二进制码串进行排列,得到位重组二进制码序列;以第一设定数目的码值为一组完整二进制码,顺序提取所述位重组二进制码序列中的各组码值并确定对应的整型数据,将确定的整型数据组成位重组整型数据序列;以第二设定数目个整型数据为一数据块,将所述位重组整型数据序列顺序划分成至少一个数据块;存储压缩文件基本信息,所述压缩文件基本信息包括:原始整型数据总数、所述原始比特位总数、所述设定比特位顺序、所述第一设定数目、所述第二设定数目;针对所述每一数据块执行以下编码处理:确定当前数据块中出现概率最大的整型数据及对应的概率值,判断所述概率值是否大于设定阈值,若是,则根据标记编码方式对当前数据块进行编码,否则,根据常规编码方式对当前数据块进行编码;对所有数据块完成所述编码处理后,将输出的二进制码组成二进制压缩文件;其中,根据标记编码方式对当前数据块进行编码,具体包括:输出标记编码方式标记符;输出当前数据块中出现概率最大的整型数据的完整二进制码;顺序读取当前数据块中的每一整型数据,判断该整型数据是否为所述出现概率最大的整型数据,若是,则输出替代标记符,否则,依次输出非替代标记符和该整型数据的完整二进制码;根据常规编码方式对当前数据块进行编码,具体包括:输出常规编码方式标记符;顺序读取当前数据块中的每一整型数据,并输出该整型数据的完整二进制码。...

【技术特征摘要】
1.一种整型数据无损压缩方法,其特征在于,包括 读取原始整型数据序列;确定原始比特位总数,所述原始比特位总数为所述原始整型数据的完整二进制码对应的比特位数;针对所述原始比特位总数中的每一比特位,依次提取所有原始整型数据的完整二进制码中该比特位的码值,得到该比特位对应的二进制码串;按照设定比特位顺序对所述原始比特位总数中所有比特位对应的二进制码串进行排列,得到位重组二进制码序列;以第一设定数目的码值为一组完整二进制码,顺序提取所述位重组二进制码序列中的各组码值并确定对应的整型数据,将确定的整型数据组成位重组整型数据序列; 以第二设定数目个整型数据为一数据块,将所述位重组整型数据序列顺序划分成至少一个数据块;存储压缩文件基本信息,所述压缩文件基本信息包括原始整型数据总数、所述原始比特位总数、所述设定比特位顺序、所述第一设定数目、所述第二设定数目; 针对所述每一数据块执行以下编码处理确定当前数据块中出现概率最大的整型数据及对应的概率值,判断所述概率值是否大于设定阈值,若是,则根据标记编码方式对当前数据块进行编码,否则,根据常规编码方式对当前数据块进行编码;对所有数据块完成所述编码处理后,将输出的二进制码组成二进制压缩文件; 其中,根据标记编码方式对当前数据块进行编码,具体包括 输出标记编码方式标记符;输出当前数据块中出现概率最大的整型数据的完整二进制码;顺序读取当前数据块中的每一整型数据,判断该整型数据是否为所述出现概率最大的整型数据,若是,则输出替代标记符,否则,依次输出非替代标记符和该整型数据的完整二进制码; 根据常规编码方式对当前数据块进行编码,具体包括 输出常规编码方式标记符;顺序读取当前数据块中的每一整型数据,并输出该整型数据的完整二进制码。2.根据权利要求1所述的整型数据无损压缩方法,其特征在于,所述设定阈值按照如下方式确定 假设所述第二设定数目个整型数据满足条件分别采用标记编码方式和常规编码方式进行编码时,得到的编码结果占用相同大小的存储空间; 则将该第二设定数目个整型数据中各整型数据的出现概率的最大值确定为所述设定阈值。3.根据权利要求1或2所述的整型数据无损压缩方法,其特征在于,读取原始整型数据序列之前,还包括对所述原始整型数据序列进行预处理获得预处理整型数据序列,所述预处理整型数据序列的均方值小于所述原始整型数据序列的均方值; 则针对所述原始比特位总数中的每一比特位,依次提取所有原始整型数据的完整二进制码中该比特位的码值,得到该比特位对应的二进制码串,具体为针对所述原始比特位总数中的每一比特位,依次提取所述预处理整型数据序列中所有预处理整型数据的完整二进制码中该比特位的码值,得到该比特位对应的二进制码串; 所述压缩文件基本信息还包括所述预处理的过程信息。4.根据权利要求3所述的整型数据无损压缩方法,其特征在于,对所述原始整型数据序列进行预处理,具体包括对所述原始整型数据进行线性预测处理/非线性预测处理/小波变换处理;和/或, 将所述原始整型数据中的有符号整型数据转换为无符号整型数据。5.一种整型数据解压缩方法,其特征在于,包括 对压缩文件基本信息进行解析,获取所述压缩文件基本信息中存储的原始整型数据总数、原始比特位总数、设定比特位顺序、第一设定数目、第二设定数目; 对二进制压缩文件执行以下解码处理过程顺序读取一个未读码值;确定所述未读码值为标记编码方式标记符时,根据标记解码方式对后续码值进行解码,直至得到所述第二设定数目的解码整型数据;确定所述未读码值为常规编码方式标记符时,根据常规解码方式对后续码值进行解码,直至得到所述第二设定数目的解码整型数据;重复执行上述解码处理过程,直至得到数目为所述原始整型数据总数乘以原始比特位总数再除以第一设定数目个解码整型数据; 将所述解码处理过程得到的所有解码整型数据的完整二进制码顺序组合为位恢复二进制码序列;定义多个整型数据,所述定义的多个整型数据总数等于所述原始整型数据总数,且所述定义的每一整型数据的完整二进制码对应的比特位数等于所述原始比特位总数;以所述原始整型数据总数为一组,顺序提取所述位恢复二进制码序列中的各组码值,按照所述设定比特位顺序将每一组码值包括的各码值依次赋值给所述定义的各整型数据的相应比特位;将所述赋值后的整型数据顺序组成解压缩整型数据序列; 其中,根据标记解码方式对后续码值进行解码,具体包括 读取所述第一设定数目的后续码值作为一组完整二进制码,将其对应的整型数据确定为被替代整型数据,并循环执行以下步骤继续读取一个后续码值;确定该后续码值为替代标记符时,将所述被替代整型数据确定为解码整型数据;确定该后续码值为非替代标记符时,继续读取所述第一设定数目的后续码值作为一组完整二进制码,将其对应的整型数据确定为解码整型数据; 根据常规解码方式对后续码值进行解码,具体包括 循环执行以下步骤读取所述第一设定数目的后续码值作为一组完整二进制码,将其对应的整型数据确定为解码整型数据。6.根据权利要求5所述的整型数据解压缩方法,其特征在于,还包括获取所述压缩文件基本信息中存储的预处理过程信息;则 将所述赋值后的整型数据顺序组成解压缩整型数据序列之前,还包括对所述赋值后的整型数据进行反预处理,所述反预处理的过程与所述...

【专利技术属性】
技术研发人员:蔡明乔文孝鞠晓东车小花卢俊强
申请(专利权)人:中国石油天然气集团公司中国石油大学北京
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1