CN104125475A - 一种多维量子数据压缩、解压缩方法及装置 - Google Patents
一种多维量子数据压缩、解压缩方法及装置 Download PDFInfo
- Publication number
- CN104125475A CN104125475A CN201410359727.9A CN201410359727A CN104125475A CN 104125475 A CN104125475 A CN 104125475A CN 201410359727 A CN201410359727 A CN 201410359727A CN 104125475 A CN104125475 A CN 104125475A
- Authority
- CN
- China
- Prior art keywords
- code
- data
- amount
- coding
- quantum
- 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.)
- Granted
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明实施例提供一种多维量子数据压缩、解压缩方法及装置,该多维量子数据压缩方法包括:获取输入的源数据,生成源数据的二进制编码数据;对二进制编码数据进行多维游程编码,将源数据码分解为序码和量码;对序码和量码分别构造量子编码词典;将序码和量码分别依据构造的量子编码词典进行二进制数据量子化编码,按照顺序将数据量子替换为数据量子编码,分别得到序码的量子码和量码的量子码;分别针对序码的量子码和量码的量子码,进行压缩,得到压缩数据;将压缩参数编码为压缩数据头;将压缩数据头和压缩数据合并为最终的压缩输出数据。其提供一种普遍适用于所有的数据类型的数据压缩和解压缩方法。
Description
技术领域
本发明涉及计算机信息技术领域,尤其涉及一种多维量子数据压缩、解压缩方法及装置。
背景技术
在计算机科学和信息论中,数据压缩或者源编码是按照特定的编码机制用比未经编码少的数据比特(或者其它信息相关的单位)表示信息的过程。
目前,比较常用的数据压缩的无损压缩法中,常用编码方式包括:游程编码(RLC,RunLength Coding)、词典编码(dictionary encoding)、算术编码等方法。
游程编码(RLC,Run Length Coding)压缩技术的基本原理是:用一个符号值或串代替具有相同值的连续符号,使符号长度少于原始数据的长度。现有的游程编码的基本方法是:通过统计信源符号中的重复个数,并以<重复个数><重复符号><编码分割提示符>格式来编码。用一个符号值或串长代替具有相同值的连续符号(连续符号构成了一段连续的“游程”),使符号长度少于原始数据的长度。只在各行或者各列数据的代码发生变化时,一次记录该代码及相同代码重复的个数,从而实现数据的压缩。例如:
数据888888899999999999999000000001111111111
游程编码为:(7,8)(14,9)(8,0)(10,1)
词典编码(dictionary encoding)压缩技术主要是利用编码数据本身存在字符串重复特性来实现数据压缩的。从输入的数据中创建一个由短语组成的“编码词典”,编码数据过程中当遇到已经在词典中出现的“短语”时,编码器就输出这个词典中短语的“索引号”,而不是短语本身。如图1所示,为现有技术词典编码法示意图。
目前主流的词典编码法的算法都是以Abraham Lempel和Jakob Ziv在1977年开发和发表的称为LZ77压缩方法为基础的,简称为LZ系列压缩方法。目前常用的LZ系列压缩方法是LZW方法。LZW压缩方法是Unisys公司的专利,在美国的LZW专利于2003年6月20日失效,而在日本Unisys公司以“数字信号流压缩法及其压缩设备(专利发布号:平5-68893)”之名申请LZW专利,并在日本获得批准,该专利期限也于2004年6月20日到期。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:1、现有游程编码方法必须构造独特的编码分割提示符,<重复符号><重复个数><编码分割提示符>三者混合一体构成压缩后的编码,分割提示符增加了数据冗余度,降低了压缩比率。并且,对于经常变化、重复次数不多的数据进行游程编码压缩,不仅仅压缩比率不高,甚至会出现数据变大的现象。例如:对颜色丰富的自然图像数据,如果使用RLE编码方法,不仅不能压缩图像数据,反而可能使原来的图像数据变得更大。再例如:普通英文中并没有多少重复。有许多双写,但是很少有3次重复的,普通英文文件的压缩效率就很低。这导致游程编码方法只能用于一些特殊数据的压缩。2、现有的词典编码方法普遍使用了ASCII码字符作为词典的基本字符(根词典),不支持二进制数据的压缩,不能压缩图像、音频、视频等二进制数据。3、现有的游程编码和词典编码两种方法如果在数据压缩过程中多次反复使用,不但不能有效提高压缩比率,甚至还可能降低压缩比率。
发明内容
本发明实施例提供一种多维量子数据压缩、解压缩方法及装置,以提供一种普遍适用于所有的数据类型的数据压缩方法,进而提高压缩比率。
一方面,本发明实施例提供了一种多维量子数据压缩方法,所述多维量子数据压缩方法包括:
获取输入的源数据,生成所述源数据的二进制编码数据;
对所述二进制编码数据进行多维游程编码,将源数据码分解为序码和量码;
对所述序码和所述量码分别构造量子编码词典;
将所述序码和所述量码分别依据构造的所述量子编码词典进行二进制数据量子化编码,按照顺序将数据量子替换为数据量子编码,分别得到所述序码的量子码和所述量码的量子码;
分别针对所述序码的量子码和所述量码的量子码,基于其分别对应的量子编码词典,进行压缩,得到压缩数据;
将压缩参数编码为压缩数据头;
将所述压缩数据头和所述压缩数据合并为最终的压缩输出数据。
优选的,在本发明一实施例中,所述对所述二进制编码数据进行多维游程编码,将源数据码分解为序码和量码,包括:将所述二进制编码数据文件头部所有的0和尾部所有的1截去,规范化为以1开头、以0结尾的规范化二进制编码,并记录所述二进制编码数据文件被截去的0、1的数量;或者将所述二进制编码数据文件头部所有的1和尾部所有的0截去,规范化为以0开头、以1结尾的规范化二进制编码,并记录所述二进制编码数据文件被截去的1、0的数量;设定编码基数n,将二进制数据中,0或者1重复次数多于n的,以n个0或者1代替,同时,新产生一个记录超过n次重复的数量的数据,依次记录重复的次数;这样,源数据码就分离为两个数据:记录源数据中0和1出现顺序的数据编码,简称为序码,和记录源数据中0或1重复次数超过n次的重复次数记录数据编码,简称为量码;其中,n为大于1的自然数。
优选的,在本发明一实施例中,所述压缩参数包括:数据标准化参数、多维游程编码参数、量码多维游程编码1阶、量码多维游程编码2阶、量码多维游程编码3阶及以上阶、量子编码词典构造参数、词典压缩算法标识、压缩数据顺序;其中,所述量子编码词典构造参数包括序码量子化参数k和量码量子化参数k;所述压缩数据顺序为:序码量子码及码长、量码1阶序码量子码及码长、量码2阶序码量子码及码长、量码2阶量码量子码及码长;量码3阶及以上阶序码量子码及码长;量码3阶及以上阶量码量子码及码长;其中,k为大于1的自然数;所述对所述序码和所述量码分别构造量子编码词典,包括:对所述序码构造量子编码词典,选取量子化基数的序码量子化参数k,生成0或1不重复出现序码量子化参数k次的数据量子,并对数据量子进行再次编码;对所述量码构造量子编码词典,选取量子化基数的量码量子化参数k,生成0或1不重复出现量码量子化参数k次的数据量子,并对数据量子进行再次编码。
优选的,在本发明一实施例中,所述分别针对所述序码的量子码和所述量码的量子码,基于其分别对应的量子编码词典,进行压缩,得到压缩数据,包括:分别针对所述序码的量子码和所述量码的量子码,基于其分别对应的量子编码词典,按词典编码压缩方法进行压缩,得到压缩数据;所述词典编码压缩方法包括LZ系列压缩方法。
另一方面,本发明实施例提供了一种多维量子数据压缩装置,所述多维量子数据压缩装置包括:
二进制编码数据生成单元,用于获取输入的源数据,生成所述源数据的二进制编码数据;
多维游程编码单元,用于对所述二进制编码数据进行多维游程编码,将源数据码分解为序码和量码;
量子编码词典构造单元,用于对所述序码和所述量码分别构造量子编码词典;
二进制数据量子化编码单元,用于将所述序码和所述量码分别依据构造的所述量子编码词典进行二进制数据量子化编码,按照顺序将数据量子替换为数据量子编码,分别得到所述序码的量子码和所述量码的量子码;
数据压缩单元,用于分别针对所述序码的量子码和所述量码的量子码,基于其分别对应的量子编码词典,进行压缩,得到压缩数据;
数据头压缩单元,用于将压缩参数编码为压缩数据头;
压缩数据合并单元,用于将所述压缩数据头和所述压缩数据合并为最终的压缩输出数据。
优选的,在本发明一实施例中,所述多维游程编码单元,进一步用于将所述二进制编码数据文件头部所有的0和尾部所有的1截去,规范化为以1开头、以0结尾的规范化二进制编码,并记录所述二进制编码数据文件被截去的0、1的数量;或者将所述二进制编码数据文件头部所有的1和尾部所有的0截去,规范化为以0开头、以1结尾的规范化二进制编码,并记录所述二进制编码数据文件被截去的1、0的数量;设定编码基数n,将二进制数据中,0或者1重复次数多于n的,以n个0或者1代替,同时,新产生一个记录超过n次重复的数量的数据,依次记录重复的次数;这样,源数据码就分离为两个数据:记录源数据中0和1出现顺序的数据编码,简称为序码,和记录源数据中0或1重复次数超过n次的重复次数记录数据编码,简称为量码;其中,n为大于1的自然数。
优选的,在本发明一实施例中,所述压缩参数包括:数据标准化参数、多维游程编码参数、量码多维游程编码1阶、量码多维游程编码2阶、量码多维游程编码3阶及以上阶、量子编码词典构造参数、词典压缩算法标识、压缩数据顺序;其中,所述量子编码词典构造参数包括序码量子化参数k和量码量子化参数k;所述压缩数据顺序为:序码量子码及码长、量码1阶序码量子码及码长、量码2阶序码量子码及码长、量码2阶量码量子码及码长;量码3阶及以上阶序码量子码及码长;量码3阶及以上阶量码量子码及码长;其中,k为大于1的自然数;所述量子编码词典构造单元,进一步用于:对所述序码构造量子编码词典,选取量子化基数的序码量子化参数k,生成0或1不重复出现序码量子化参数k次的数据量子,并对数据量子进行再次编码;对所述量码构造量子编码词典,选取量子化基数的量码量子化参数k,生成0或1不重复出现量码量子化参数k次的数据量子,并对数据量子进行再次编码。
优选的,在本发明一实施例中,所述数据压缩单元,进一步用于分别针对所述序码的量子码和所述量码的量子码,基于其分别对应的量子编码词典,按词典编码压缩方法进行压缩,得到压缩数据;所述词典编码压缩方法包括LZ系列压缩方法。
又一方面,本发明实施例提供了一种多维量子数据解压缩方法,所述多维量子数据解压缩方法包括:
获取压缩输出数据;
从所述压缩输出数据解析出压缩参数和压缩数据;
根据所述压缩参数构造量子编码词典;
利用所述量子编码词典对所述压缩数据解压缩,分离出序码的量子码压缩数据和量码的量子码压缩数据;
根据所述量子编码词典,获取所述序码的量子码压缩数据对应的二进制编码数据和所述量码的量子码压缩数据对应的二进制编码数据;
根据所述序码的量子码压缩数据对应的二进制编码数据和所述量码的量子码压缩数据对应的二进制编码数据,并根据所述压缩参数进行多维游程编码还原,反编码出压缩前的源数据。
优选的,在本发明一实施例中,所述从所述压缩输出数据解析出压缩参数和压缩数据,包括:从所述压缩输出数据解析出压缩数据头;根据所述压缩数据头,按照预先设定的数据格式规范,解析出压缩参数和压缩数据。
优选的,在本发明一实施例中,所述压缩参数包括:数据标准化参数、多维游程编码参数、量码多维游程编码1阶、量码多维游程编码2阶、量码多维游程编码3阶及以上阶、量子编码词典构造参数、词典压缩算法标识、压缩数据顺序;其中,所述量子编码词典构造参数包括序码量子化参数k和量码量子化参数k;所述压缩数据顺序为:序码量子码及码长、量码1阶序码量子码及码长、量码2阶序码量子码及码长、量码2阶量码量子码及码长;量码3阶及以上阶序码量子码及码长;量码3阶及以上阶量码量子码及码长;其中,k为大于1的自然数;所述根据所述压缩参数构造量子编码词典,包括:根据所述序码量子化参数k和所述量码量子化参数k分别构造量子编码词典。
优选的,在本发明一实施例中,所述根据所述序码的量子码压缩数据对应的二进制编码数据和所述量码的量子码压缩数据对应的二进制编码数据,并根据所述压缩参数进行多维游程编码还原,反编码出压缩前的源数据,包括:根据所述多维游程编码参数,从量码最高价的量码开始,依次还原出下一个低阶的量码,直到还原出量码1阶的数据来;最后由量码1阶的数据结合序码数据,反编码出压缩前的源数据。
再一方面,本发明实施例提供了一种多维量子数据解压缩装置,所述多维量子数据解压缩装置包括:
压缩输出数据获取单元,用于获取压缩输出数据;
解析单元,用于从所述压缩输出数据解析出压缩参数和压缩数据;
解压缩量子编码词典构造单元,用于根据所述压缩参数构造量子编码词典;
解压缩单元,用于利用所述量子编码词典对所述压缩数据解压缩,分离出序码的量子码压缩数据和量码的量子码压缩数据;
二进制编码数据单元,用于根据所述量子编码词典,获取所述序码的量子码压缩数据对应的二进制编码数据和所述量码的量子码压缩数据对应的二进制编码数据;
多维游程编码还原单元,用于根据所述序码的量子码压缩数据对应的二进制编码数据和所述量码的量子码压缩数据对应的二进制编码数据,并根据所述压缩参数进行多维游程编码还原,反编码出压缩前的源数据。
优选的,在本发明一实施例中,所述解析单元,进一步用于从所述压缩输出数据解析出压缩数据头;根据所述压缩数据头,按照预先设定的数据格式规范,解析出压缩参数和压缩数据。
优选的,在本发明一实施例中,所述压缩参数包括:数据标准化参数、多维游程编码参数、量码多维游程编码1阶、量码多维游程编码2阶、量码多维游程编码3阶及以上阶、量子编码词典构造参数、词典压缩算法标识、压缩数据顺序;其中,所述量子编码词典构造参数包括序码量子化参数k和量码量子化参数k;所述压缩数据顺序为:序码量子码及码长、量码1阶序码量子码及码长、量码2阶序码量子码及码长、量码2阶量码量子码及码长;量码3阶及以上阶序码量子码及码长;量码3阶及以上阶量码量子码及码长;其中,k为大于1的自然数;所述解压缩量子编码词典构造单元,进一步用于根据所述序码量子化参数k和所述量码量子化参数k分别构造量子编码词典。
优选的,在本发明一实施例中,所述多维游程编码还原单元,进一步用于根据所述多维游程编码参数,从量码最高价的量码开始,依次还原出下一个低阶的量码,直到还原出量码1阶的数据来;最后由量码1阶的数据结合序码数据,反编码出压缩前的源数据。
上述技术方案具有如下有益效果:1.本发明基于数据的二进制编码进行数据压缩,提供了一种普遍适用于所有的数据类型的数据压缩方法。2.本发明提供的多维游程编码方法,去除了游程编码分隔提示符,提高了游程编码方法的压缩效率。3.本发明提供了一种二进制数据量子化编码方法,据此构造二进制编码量子词典,使得当前的词典编码技术可有效应用于二进制数据压缩、解压缩。4.本发明提供多维度游程编码方法,根据数据的量子编码把数据分解为多个维度的序码和量码,每个维度的数据可单独编码、存储、传输,可用于构造多维度、多层级的加密解密方法。5.本发明提供了一种可通过多次采用不同压缩参数反复压缩而不断提高压缩比率的数据压缩方法。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术词典编码法示意图;
图2为本发明实施例一种多维量子数据压缩方法流程图;
图3为本发明实施例一种多维量子数据压缩装置结构示意图;
图4为本发明实施例一种多维量子数据解压缩方法流程图;
图5为本发明实施例一种多维量子数据解压缩装置结构示意图;
图6为本发明应用实例包含了多维多阶量子化数据压缩***结构示意图;
图7为本发明应用实例维量子数据编解码***三大部分的典型应用示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图2所示,为本发明实施例一种多维量子数据压缩方法流程图,所述多维量子数据压缩方法包括:
101、获取输入的源数据,生成所述源数据的二进制编码数据;
102、对所述二进制编码数据进行多维游程编码,将源数据码分解为序码和量码;
103、对所述序码和所述量码分别构造量子编码词典;
104、将所述序码和所述量码分别依据构造的所述量子编码词典进行二进制数据量子化编码,按照顺序将数据量子替换为数据量子编码,分别得到所述序码的量子码和所述量码的量子码;
105、分别针对所述序码的量子码和所述量码的量子码,基于其分别对应的量子编码词典,进行压缩,得到压缩数据;
106、将压缩参数编码为压缩数据头;
107、将所述压缩数据头和所述压缩数据合并为最终的压缩输出数据。
优选的,所述对所述二进制编码数据进行多维游程编码,将源数据码分解为序码和量码,包括:将所述二进制编码数据文件头部所有的0和尾部所有的1截去,规范化为以1开头、以0结尾的规范化二进制编码,并记录所述二进制编码数据文件被截去的0、1的数量;或者将所述二进制编码数据文件头部所有的1和尾部所有的0截去,规范化为以0开头、以1结尾的规范化二进制编码,并记录所述二进制编码数据文件被截去的1、0的数量;设定编码基数n,将二进制数据中,0或者1重复次数多于n的,以n个0或者1代替,同时,新产生一个记录超过n次重复的数量的数据,依次记录重复的次数;这样,源数据码就分离为两个数据:记录源数据中0和1出现顺序的数据编码,简称为序码,和记录源数据中0或1重复次数超过n次的重复次数记录数据编码,简称为量码;其中,n为大于1的自然数。
优选的,所述压缩参数包括:数据标准化参数、多维游程编码参数(例如编码基数)、量码多维游程编码1阶、量码多维游程编码2阶、量码多维游程编码3阶及以上阶、量子编码词典构造参数、词典压缩算法标识、压缩数据顺序;其中,所述量子编码词典构造参数包括序码量子化参数k和量码量子化参数k;所述压缩数据顺序为:序码量子码及码长、量码1阶序码量子码及码长、量码2阶序码量子码及码长、量码2阶量码量子码及码长;量码3阶及以上阶序码量子码及码长;量码3阶及以上阶量码量子码及码长;其中,k为大于1的自然数;所述对所述序码和所述量码分别构造量子编码词典,包括:对所述序码构造量子编码词典,选取量子化基数的序码量子化参数k,生成0或1不重复出现序码量子化参数k次的数据量子,并对数据量子进行再次编码;对所述量码构造量子编码词典,选取量子化基数的量码量子化参数k,生成0或1不重复出现量码量子化参数k次的数据量子,并对数据量子进行再次编码。
优选的,所述分别针对所述序码的量子码和所述量码的量子码,基于其分别对应的量子编码词典,进行压缩,得到压缩数据,包括:分别针对所述序码的量子码和所述量码的量子码,基于其分别对应的量子编码词典,按词典编码压缩方法进行压缩,得到压缩数据;所述词典编码压缩方法包括LZ系列压缩方法。
对应于上述方法实施例,如图3所示,为本发明实施例一种多维量子数据压缩装置结构示意图,所述多维量子数据压缩装置包括:
二进制编码数据生成单元21,用于获取输入的源数据,生成所述源数据的二进制编码数据;
多维游程编码单元22,用于对所述二进制编码数据进行多维游程编码,将源数据码分解为序码和量码;
量子编码词典构造单元23,用于对所述序码和所述量码分别构造量子编码词典;
二进制数据量子化编码单元24,用于将所述序码和所述量码分别依据构造的所述量子编码词典进行二进制数据量子化编码,按照顺序将数据量子替换为数据量子编码,分别得到所述序码的量子码和所述量码的量子码;
数据压缩单元25,用于分别针对所述序码的量子码和所述量码的量子码,基于其分别对应的量子编码词典,进行压缩,得到压缩数据;
数据头压缩单元26,用于将压缩参数编码为压缩数据头;
压缩数据合并单元27,用于将所述压缩数据头和所述压缩数据合并为最终的压缩输出数据。
优选的,所述多维游程编码单元22,进一步用于将所述二进制编码数据文件头部所有的0和尾部所有的1截去,规范化为以1开头、以0结尾的规范化二进制编码,并记录所述二进制编码数据文件被截去的0、1的数量;或者将所述二进制编码数据文件头部所有的1和尾部所有的0截去,规范化为以0开头、以1结尾的规范化二进制编码,并记录所述二进制编码数据文件被截去的1、0的数量;设定编码基数n,将二进制数据中,0或者1重复次数多于n的,以n个0或者1代替,同时,新产生一个记录超过n次重复的数量的数据,依次记录重复的次数;这样,源数据码就分离为两个数据:记录源数据中0和1出现顺序的数据编码,简称为序码,和记录源数据中0或1重复次数超过n次的重复次数记录数据编码,简称为量码;其中,n为大于1的自然数。
优选的,所述压缩参数包括:数据标准化参数、多维游程编码参数、量码多维游程编码1阶、量码多维游程编码2阶、量码多维游程编码3阶及以上阶、量子编码词典构造参数、词典压缩算法标识、压缩数据顺序;其中,所述量子编码词典构造参数包括序码量子化参数k和量码量子化参数k;所述压缩数据顺序为:序码量子码及码长、量码1阶序码量子码及码长、量码2阶序码量子码及码长、量码2阶量码量子码及码长;量码3阶及以上阶序码量子码及码长;量码3阶及以上阶量码量子码及码长;其中,k为大于1的自然数;所述量子编码词典构造单元23,进一步用于:对所述序码构造量子编码词典,选取量子化基数的序码量子化参数k,生成0或1不重复出现序码量子化参数k次的数据量子,并对数据量子进行再次编码;对所述量码构造量子编码词典,选取量子化基数的量码量子化参数k,生成0或1不重复出现量码量子化参数k次的数据量子,并对数据量子进行再次编码。
优选的,所述数据压缩单元25,进一步用于分别针对所述序码的量子码和所述量码的量子码,基于其分别对应的量子编码词典,按词典编码压缩方法进行压缩,得到压缩数据;所述词典编码压缩方法包括LZ系列压缩方法。
如图4所示,为本发明实施例一种多维量子数据解压缩方法流程图,所述多维量子数据解压缩方法包括:
301、获取压缩输出数据;
302、从所述压缩输出数据解析出压缩参数和压缩数据;
303、根据所述压缩参数构造量子编码词典;
304、利用所述量子编码词典对所述压缩数据解压缩,分离出序码的量子码压缩数据和量码的量子码压缩数据;
305、根据所述量子编码词典,获取所述序码的量子码压缩数据对应的二进制编码数据和所述量码的量子码压缩数据对应的二进制编码数据;
306、根据所述序码的量子码压缩数据对应的二进制编码数据和所述量码的量子码压缩数据对应的二进制编码数据,并根据所述压缩参数进行多维游程编码还原,反编码出压缩前的源数据。
优选的,所述从所述压缩输出数据解析出压缩参数和压缩数据,包括:从所述压缩输出数据解析出压缩数据头;根据所述压缩数据头,按照预先设定的数据格式规范,解析出压缩参数和压缩数据。
优选的,所述压缩参数包括:数据标准化参数、多维游程编码参数、量码多维游程编码1阶、量码多维游程编码2阶、量码多维游程编码3阶及以上阶、量子编码词典构造参数、词典压缩算法标识、压缩数据顺序;其中,所述量子编码词典构造参数包括序码量子化参数k和量码量子化参数k;所述压缩数据顺序为:序码量子码及码长、量码1阶序码量子码及码长、量码2阶序码量子码及码长、量码2阶量码量子码及码长;量码3阶及以上阶序码量子码及码长;量码3阶及以上阶量码量子码及码长;其中,k为大于1的自然数;所述根据所述压缩参数构造量子编码词典,包括:根据所述序码量子化参数k和所述量码量子化参数k分别构造量子编码词典。
优选的,所述根据所述序码的量子码压缩数据对应的二进制编码数据和所述量码的量子码压缩数据对应的二进制编码数据,并根据所述压缩参数进行多维游程编码还原,反编码出压缩前的源数据,包括:根据所述多维游程编码参数,从量码最高价的量码开始,依次还原出下一个低阶的量码,直到还原出量码1阶的数据来;最后由量码1阶的数据结合序码数据,反编码出压缩前的源数据。
对应于上述方法实施例,如图5所示,为本发明实施例一种多维量子数据解压缩装置结构示意图,所述多维量子数据解压缩装置包括:
压缩输出数据获取单元41,用于获取压缩输出数据;
解析单元42,用于从所述压缩输出数据解析出压缩参数和压缩数据;
解压缩量子编码词典构造单元43,用于根据所述压缩参数构造量子编码词典;
解压缩单元44,用于利用所述量子编码词典对所述压缩数据解压缩,分离出序码的量子码压缩数据和量码的量子码压缩数据;
二进制编码数据单元45,用于根据所述量子编码词典,获取所述序码的量子码压缩数据对应的二进制编码数据和所述量码的量子码压缩数据对应的二进制编码数据;
多维游程编码还原单元46,用于根据所述序码的量子码压缩数据对应的二进制编码数据和所述量码的量子码压缩数据对应的二进制编码数据,并根据所述压缩参数进行多维游程编码还原,反编码出压缩前的源数据。
优选的,所述解析单元,进一步用于从所述压缩输出数据解析出压缩数据头;根据所述压缩数据头,按照预先设定的数据格式规范,解析出压缩参数和压缩数据。
优选的,所述压缩参数包括:数据标准化参数、多维游程编码参数、量码多维游程编码1阶、量码多维游程编码2阶、量码多维游程编码3阶及以上阶、量子编码词典构造参数、词典压缩算法标识、压缩数据顺序;其中,所述量子编码词典构造参数包括序码量子化参数k和量码量子化参数k;所述压缩数据顺序为:序码量子码及码长、量码1阶序码量子码及码长、量码2阶序码量子码及码长、量码2阶量码量子码及码长;量码3阶及以上阶序码量子码及码长;量码3阶及以上阶量码量子码及码长;其中,k为大于1的自然数;所述解压缩量子编码词典构造单元,进一步用于根据所述序码量子化参数k和所述量码量子化参数k分别构造量子编码词典。
优选的,所述多维游程编码还原单元,进一步用于根据所述多维游程编码参数,从量码最高价的量码开始,依次还原出下一个低阶的量码,直到还原出量码1阶的数据来;最后由量码1阶的数据结合序码数据,反编码出压缩前的源数据。
上述技术方案具有如下有益效果:1.本发明基于数据的二进制编码进行数据压缩,提供了一种普遍适用于所有的数据类型的数据压缩方法。2.本发明提供的多维游程编码方法,去除了游程编码分隔提示符,提高了游程编码方法的压缩效率。3.本发明提供了一种二进制数据量子化编码方法,据此构造二进制编码量子词典,使得当前的词典编码技术可有效应用于二进制数据压缩、解压缩。4.本发明提供多维度游程编码方法,根据数据的量子编码把数据分解为多个维度的序码和量码,每个维度的数据可单独编码、存储、传输,可用于构造多维度、多层级的加密解密方法。5.本发明提供了一种可通过多次采用不同压缩参数反复压缩而不断提高压缩比率的数据压缩方法。
以下结合应用实例对本发明实施例上述技术方案进行详细说明:
本发明提应用实例出了一种适用于所有数据类型的无损数据压缩方法和无损数据解压缩方法,基于二进制数据编码,本发明应用实例提出了一种二进制数据量子化方法,据此可将词典编码方法广泛应用于二进制数据的压缩和解压缩。并且,本发明应用实例提出了一种多维游程编码方法,即每次游程编码时将数据分类为排列顺序编码(序码)和重复次数编码(量码)等维度,根据选取的数据量子的数量,每个数据量子可对应一个自身重复次数的量码维度,据此可分离出一个序码维度和多个量码维度,每个维度的数据可单独压缩、解压缩。
本发明应用实例的技术方案由两部分组成:
(1)多维量子数据压缩***:接收输入数据,根据多维度量子化数据编码方法进行压缩编码,生成压缩数据并输出。
(2)多维量子数据解压缩***:接收输入数据,根据多维度量子化数据解码方法进行解压缩解码,生成解压缩数据并输出。
1、多维量子数据压缩***
多维量子数据压缩***将输入的源数据变为二进制数据,然后开始多维游程编码,为每个维度的数据构造一个量子词典,并对每个维度的数据使用合适的词典编码方法进行压缩。将压缩参数按照与解压缩时约定的数据记录格式进行编码作为输出数据的头部,与各个维度词典压缩后的编码合并后,输出压缩数据编码。可通过调整多维量子数据压缩***中各个步骤的游程编码量子化数据编码的编码基数取值n、量码的计数位数m、量子词典基本字编码位数k,实现不同的压缩比率,并且,通过调整以上三个参数可多次使用多维量子数据压缩***对数据进行压缩编码。
参见图2,多维量子数据压缩***工作过程如下:
一、输入源数据,生成源数据的二进制编码数据。
二、多维游程编码。将源数据文件头部所有的0和尾部所有的1截去,规范化为以1开头、以0结尾的规范化二进制编码。并记录源数据文件被截去的0、1的数量。设定编码基数n(n>1),将二进制数据中,0或者1重复次数多于n的,以n个0或者1代替,同时,新产生一个记录超过n次重复的数量的数据,依次记录重复的次数。这样,源数据就分离为两个数据:记录源数据中0和1出现顺序的数据编码(简称为序码)和记录源数据中0或1重复次数超过n次的重复次数记录数据编码(简称为量码)。简而言之,多维游程编码使源数据码分解为序码和量码。其中,
(一)序码满足条件:重复的0或者1不超过n
(二)量码需要满足以下条件:
(1)、量码采用固定长度动态计数编码方法。量码中的计数规则如下:使用m位二进制编码计数,其中,第1位为是否溢出,如果溢出,记录为1,自动增加m位作为高位。例如:取m=4,则量码计数规则为:Yxxx,其中:Y取值0或1,0代表无后续数字,1代表数字未完,后续有高位。并且后续必须再有4位编码数字,格式也是Yxxx。后续的三位数(xxx)2是当前三位数字(xxx)1的高位,连成xxxxxx六位数字。依次类推。计数举例:
0000代表0次(指00或者11,含义:另加0个重复字符)
0100代表4次(指000000或者111111,含义:另加4个重复字符)
11000010代表10100次,即20次
10000101代表101000次,即40次
(2)、量码需规范化编码,规范化后的量码也需满足条件:重复的0或者1不超过n。量码规范化编码方式为:将量码作为二进制数据源数据输入,进行多维游程编码。可循环多次进行多维游程编码。
三、构造量子编码词典。选取量子化基数k,生成0或1不重复出现k次的数据量子,并对数据量子进行再次编码。例如:当k=4时,量子编码词典如下表1所示:
数据量子 | 数据量子编码 | 数据量子编码 |
(二进制) | (26进制) | |
10 | 0000 | A |
100 | 0001 | B |
1000 | 0010 | C |
10000 | 0011 | D |
110 | 0100 | E |
1100 | 0101 | F |
11000 | 0110 | G |
110000 | 0111 | H |
1110 | 1000 | I |
11100 | 1001 | J |
111000 | 1010 | K |
1110000 | 1011 | L |
11110 | 1100 | M |
111100 | 1101 | N |
1111000 | 1110 | O |
11110000 | 1111 | P |
表1:量子编码词典(k=4)
四、二进制数据量子化编码。将多维游程编码的序码和量码分别依据量子编码词典按照顺序将数据量子替换为数据量子编码,分别得到序码和量码的量子码。序码和量码的量子化基数k的取值可以相同,也可不同。
五、量子码词典压缩。分别针对序码的量子码和量码的量子码,基于其对应的量子编码词典,按照某种词典编码压缩方法(例如LZ压缩方法)进行压缩,得到压缩数据。
六、压缩参数编码:将以上各步的压缩参数编码为压缩数据头。
七、输出压缩数据:将压缩数据头和压缩数据合并为最终的压缩输出数据。
多维量子数据压缩***完整过程示例如下:
第一步:读取源数据文件,生成源数据二进制编码
例如:假定读取到的源数据为:11100000 11001110 10101100 11000001 1011111111010111 11010011
第二步:多维游程编码
(1)数据标准化,记录:尾部去掉2个1,得到标准数据:
11100000 11001110 10101100 11000001 10111111 11010111 110100
(2)取编码基数n=2,m=3,多维游程编码如下:
a)序码:
1100 1100 110 10 10 1100 1100 110 110 10 110 100
b)量码:
001 011 000 000 001 000 000 000 101 001 000 100 010 011 000
量码多维游程编码1阶:(头部去掉2个0,取n=4,m=4)
量码1阶序码:10 110000 10000 10 100 1000 1000 100 11000
量码1阶量码:0100 0101
量码多维游程编码2阶:(头部去掉1个0,尾部去掉1个1,取n=4,m=4)
量码2阶序码:1000 10
量码2阶量码:无
第三步:构造量子编码词典。
1)对序码,取k=2,构造序码量子编码词典,如下表2:
表2:量子编码词典(k=2)
2)对量码,取k=4,构造出量子编码词典,如上文表1。
第四步:二进制数据量子化编码。
1)序码量子码(四进制):冬冬秋春春冬冬秋秋春秋夏
2)量码1阶序码量子码(26进制):AHDABCCBG
3)量码2阶序码量子码(26进制):CA
4)量码2阶量码量子码(26进制):无
第五步:量子码词典压缩:(采用某种词典压缩方法)
1)序码量子码:词典编码后的压缩编码(记为M1);
2)量码1阶序码量子码(26进制):词典编码后的压缩编码(记为M2);
3)量码2阶序码量子码(26进制):词典编码后的压缩编码(记为M3);
4)量码2阶量码量子码(26进制):无(记为null);
第六步:压缩参数编码:
1)数据标准化参数,头部去掉0个0,尾部去掉2个1
2)多维游程编码参数:n=2,m=3
3)量码多维游程编码1阶:(头部去掉2个0,尾部去掉0个1,取n=4,m=4)
4)量码多维游程编码2阶:(头部去掉1个0,尾部去掉1个1,取n=4,m=4)
5)量子编码词典构造参数:序码量子化参数k=2,量码量子化参数k=4
6)词典压缩算法标识:001
7)压缩数据顺序:序码量子码及码长、量码1阶序码量子码及码长、量码2阶序码量子码及码长、量码2阶量码量子码及码长
第七步:输出压缩数据。
将压缩参数采用预先设定的数据格式记录在一个参数说明文件中,把这个说明文件作为压缩数据的头文件,量子词典压缩数据按照压缩数据顺序说明参数的标识,依次在该头文件后面输出,最终输出压缩数据。
2、多维量子数据解压缩***
多维量子数据解压缩***从输入的压缩数据中,取出头部的压缩参数记录数据。根据压缩参数,从压缩数据中分离出各个维度的压缩数据、压缩参数,再据此对每个维度的压缩数据进行量子词典编码解压缩、从量子化编码中还原出二进制数据,增加头部和尾部的补充数据,解析出各个维度游程编码的原始数据,多个维度的数据按照多维游程编码参数编译出压缩前的原始数据。
参见图4所示,多维量子数据解压缩***工作过程如下:
这里以上面的多维量子数据压缩***压缩数据完整过程示例输出的压缩数据来说明多维量子数据解压缩***的解压缩过程。
一、读取压缩数据。
二、解析压缩参数。从压缩数据中取出参数头文件,按照预先设定的数据格式规范,解析出各个压缩参数。包括:
1.数据标准化参数,头部去掉0个0,尾部去掉2个1
2.多维游程编码参数:n=2,m=3
3.量码多维游程编码1阶:(头部去掉2个0,尾部去掉0个1,取n=4,m=4)
4.量码多维游程编码2阶:(头部去掉1个0,尾部去掉1个1,取n=4,m=4)
5.量子编码词典构造参数:序码量子化参数k=2,量码量子化参数k=4
6.词典压缩算法标识:001
7.压缩数据顺序:序码量子码及码长、量码1阶序码量子码及码长、量码2阶序码量子码及码长、量码2阶量码量子码及码长
三、构造量子化词典。根据参数“序码量子化参数k=2,量码量子化参数k=4“构造出两个量子编码词典,见上文表1、表2。
四、量子词典编码解压缩。
a)根据压缩数据顺序参数“序码量子码及码长、量码1阶序码量子码及码长、量码2阶序码量子码及码长、量码2阶量码量子码及码长”,分离出序码量子码压缩数据、量码1阶序码量子码压缩数据、量码2阶序码量子码压缩数据、量码2阶量码量子码压缩数据等4个数据维度,得到数据M1、M2、M3、null。
b)根据词典压缩算法标识“001”调用001词典编码压缩方法,对以上各维度的数据解压缩。得到量子码数据:
1.序码量子码(四进制):冬冬秋春春冬冬秋秋春秋夏
2.量码1阶序码量子码(26进制):AHDABCCBG
3.量码2阶序码量子码(26进制):CA
4.量码2阶量码量子码(26进制):无
五、根据量子编码词典,对照翻译出二进制编码数据:
1.序码:1100 1100 110 10 10 1100 1100 110 110 10 110 100
2.量码1阶序码:10 110000 10000 10 100 1000 1000 100 11000
3.量码2阶序码:1000 10
4.量码2阶量码:无
六、多维数据游程编码还原。根据多维游程编码参数,从量码最高价的量码(编码数据“无”)开始,依次还原出下一个低阶的量码,直到还原出量码1阶的数据来。最后由量码1阶的数据结合序码数据,反编码出压缩前的源数据。示例过程如下:
1.取量码多维游程编码2阶参数:头部去掉1个0,尾部去掉1个1,取n=4,m=4;
2.根据量码2阶量码:无;量码2阶序码:100010,解析出量码1阶量码为:01000101;
3.取量码多维游程编码1阶参数:头部去掉2个0,尾部去掉0个1,取n=4,m=4;
4.根据量码1阶序码:10 110000 10000 10 100 1000 1000 100 11000,结合量码1阶量码:0100 0101,根据游程编码方法,解析出量码值为1 011 000 000001 000 000 000 101 001 000 100 010 011 000,在头部增加2个0,尾部增加0个1后,得到量码的值为:001 011 000 000 001 000 000 000 101 001 000100 010 011 000
5.根据序码1100 1100 110 10 10 1100 1100 110 110 10 110 100和量码001 011000 000 001 000 000 000 101 001 000 100 010 011 000,遵循二维游程编码原理,解析出标准数据:11100000 11001110 10101100 11000001 1011111111010111 110100。
最后,可以输出解压缩后得到的源数据。根据数据标准化参数:“头部去掉0个0,尾部去掉2个1”,在标准数据尾部增加2个1,最终解析出源数据:11100000 1100111010101100 11000001 10111111 11010111 11010011,作为解压缩后的数据输出。
如图6所示,为本发明应用实例包含了多维多阶量子化数据压缩***结构示意图,其包括的多维量子数据编解码***由三大部分组成:
1、二维游程量子化数据编解码终端***:是用于计算能力较弱的终端设备(例如:手机、平板电脑、嵌入式***)的编解码终端***。该***的特点是:计算能力和存储空间要求低,总体压缩比较低。该***每次游程编码时将数据编码为2维,分离出序码和量码。
2、多维游程量子化数据编解码终端***:是用于计算能力中等的终端设备(例如:服务器)的编解码终端***。计算能力和存储空间要求中等,总体压缩比中等。该***每次游程编码时将数据编码为多维,分离出一个序码和多个量码。每次量子化数据编码的编码基数取值n、量码的计数位数m、量子词典基本字编码位数k随着压缩文件的长度而自适应优化调整。
3、多维多阶量子数据编解码服务平台。是用于计算能力优良的大中型计算设备和云(例如:小型机、计算云)的编解码服务***。计算能力和存储空间要求高,总体压缩比高。该***每次游程编码时将数据编码为多维,分离出一个序码和多个量码。每次量子化数据编码的编码基数取值n、量码的计数位数m、量子词典基本字编码位数k随着压缩文件的长度而自适应优化调整。
如图7所示,为本发明应用实例维量子数据编解码***三大部分的典型应用示意图。
安装在终端设备上的二维游程量子化数据编解码终端***的压缩数据可用自身或者另外设备上的二维游程量子化数据编解码终端***解压缩。
安装在服务器上的多维游程量子化数据编解码终端***可用自身或者另外设备上的多维游程量子化数据编解码终端***解压缩。
多维多阶量子数据编解码服务平台可编解码出二维游程量子化数据编解码终端***、多维游程量子化数据编解码终端***的数据。
多维多阶量子数据编解码服务平台包括12个部分:
1)模型管理:***可以预先设定各种编解码模型,用于快速提高数据编解码效率和编解码效率测试调优。
2)量子化编码模型库:***建立了常用的1到16阶量子化编码模型库,为量子化编码提供快速服务。可通过模型管理增加更多的量子化编码模型
3)量子编码词典模型库:***建立了常用的1到16阶量子编码词典。可通过模型管理增加更多高阶量子编码词典模型。
4)多维游程编码模型库:***建立了常用的1到128维的游程编码模型。可通过模型管理增加更多高维游程编码模型。
5)压缩参数配置管理:可对平台的各种参数,例如:游程编码维数w、量子编码基数n、量码计数位数m、量子词典基本字编码位数k、重复压缩次数等等各种参数进行设置和调整,并按照数据文件长度、数据类别(例如:文本类、图形类、图像类、视频类、压缩数据类等等)、最低压缩比要求等等参数,预设了多种优化参数配置方案。
6)多维游程编解码引擎:根据压缩参数,对输入的二进制数据实施多维游程编解码,输出编解码后的数据。
7)二进制数据量子化编解码引擎:根据压缩参数,对输入的二进制数据实施量子化编解码,输出编解码后的数据。
8)量子编码词典引擎:根据压缩参数,快速提供对应的量子编码词典;并提供量子编码词典查询服务。
9)量子词典编解码引擎:根据压缩参数,对输入的二进制数据实施量子词典编解码,输出编解码后的数据。
10)多维游程多阶量子编解码***:根据输入数据和输入的压缩参数,按照多维度量子化数据压缩流程或者逆向解压流程,调用多维游程编解码引擎、二进制数据量子化编解码引擎、量子编码词典引擎、量子词典编解码引擎,提供数据编码或者数据解码服务。
11)数据压缩服务***:接收输入数据,根据输入数据类型选取压缩参数,调用多维游程多阶量子编解码***,生成压缩数据并输出。
12)数据解压服务***:接收输入数据,根据压缩参数,调用多维游程多阶量子编解码***,生成解压缩数据并输出。
本发明应用实例技术方案带来如下的有益效果:
1、本发明包含的多维游程编码方法、数据编码量子化方法、量子词典构造方法、固定长度动态计数编码方法可用于数据压缩、数据解压缩、数据加密、数据解密等方面,可用于研发各种多维度量子化的数据压缩算法和数据加密算法。
2、本发明可对网络数据传输的所有类型的数据压缩和数据解压缩,可通过软件、服务、或者设备等方式,作为网络数据传输的一个必要环节,用于减少数据传输的数据量,减少数据传输的时间。
3、本发明可对数据存储的所有类型的数据压缩和数据解压缩,可通过软件、服务、或者设备等方式,作为数据存储的一个必要环节,用于减少数据存储的数据量。
4、本发明支持循环压缩,每次压缩都能提高压缩比,尤其支持大数据的高比率压缩,可用于生产、制造大数据的高效率传输、高效率存储等方面的压缩解压缩软件和设备。
5、本发明包含的二进制编码数据量子化方法和量子词典,使得已有的词典编码压缩技术可高效应用于二进制数据及其他所有的数据类型。
6、本发明提供了多维度游程编码方法,根据数据的量子编码把源数据分解为多个维度的序码和量码,并且把传统的游程编码压缩方法定义为多维游程编码方法的1维游程编码方法,使得游程编码方法能够应用更广泛和更灵活。
7、本发明提供的多维游程编码方法,将数据分解为序码和量码,去除了游程编码分隔提示符,提高了游程编码方法的压缩效率。
8、本发明提供的数据量子化编码方式、多维游程编码方法结合起来应用,可对每个维度的序码和量码均可独立进行不同次数的循环量子化编码、量子化压缩。因此,本发明支持对同一输入数据编码出无数种不同的输出数据,可用于数据加密的密钥。
9、本发明可对当前的各种数据压缩方法产生的压缩文件再次进行高比率压缩,可有效提高当前的数字化视频压缩、数字化图像压缩、数字化音频压缩、文本压缩、地图等矢量数据压缩等各种压缩技术的压缩比率,为视频编解码设备、图像编解码设备、音频编解码设备、遥感编解码设备等等设备针对提升压缩比率而进行技术升级提供了很好的技术支持。
10、本发明可有效应用于并行计算算法和量子计算算法,在集群计算环境和量子计算环境中,按照本发明的方法编写的相关软件可大幅提高计算速度。
需要说明的是,本发明上述实施例或应用实例以包含一种基于二进制的数据编解码方式为例,但上述二进制编码可替换成其他任何一种数制编码,例如3进制、8进制、10进制、16进制等各种数制。基于二进制之外的其他数制的多维游程编码和量子词典编码方式都是本发明应用实例的展现方式。本发明应用实例包含多个***和部件,但本发明应用实例***也可以将其中各子***全部集中在一个***之中,以单个软件模块、服务器、芯片或者其他设备方式呈现,这些也是本发明应用实例***的展现方式。
本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrativelogical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrativecomponents),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个***的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、DVD、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种多维量子数据压缩方法,其特征在于,所述多维量子数据压缩方法包括:
获取输入的源数据,生成所述源数据的二进制编码数据;
对所述二进制编码数据进行多维游程编码,将源数据码分解为序码和量码;
对所述序码和所述量码分别构造量子编码词典;
将所述序码和所述量码分别依据构造的所述量子编码词典进行二进制数据量子化编码,按照顺序将数据量子替换为数据量子编码,分别得到所述序码的量子码和所述量码的量子码;
分别针对所述序码的量子码和所述量码的量子码,基于其分别对应的量子编码词典,进行压缩,得到压缩数据;
将压缩参数编码为压缩数据头;
将所述压缩数据头和所述压缩数据合并为最终的压缩输出数据。
2.如权利要求1所述多维量子数据压缩方法,其特征在于,所述对所述二进制编码数据进行多维游程编码,将源数据码分解为序码和量码,包括:
将所述二进制编码数据文件头部所有的0和尾部所有的1截去,规范化为以1开头、以0结尾的规范化二进制编码,并记录所述二进制编码数据文件被截去的0、1的数量;或者将所述二进制编码数据文件头部所有的1和尾部所有的0截去,规范化为以0开头、以1结尾的规范化二进制编码,并记录所述二进制编码数据文件被截去的1、0的数量;设定编码基数n,将二进制数据中,0或者1重复次数多于n的,以n个0或者1代替,同时,新产生一个记录超过n次重复的数量的数据,依次记录重复的次数;这样,源数据就分离为两个数据:记录源数据中0和1出现顺序的数据编码,简称为序码,和记录源数据中0或1重复次数超过n次的重复次数记录数据编码,简称为量码;其中,n为大于1的自然数。
3.如权利要求1所述多维量子数据压缩方法,其特征在于,所述压缩参数包括:数据标准化参数、多维游程编码参数、量码多维游程编码1阶、量码多维游程编码2阶、量码多维游程编码3阶及以上阶、量子编码词典构造参数、词典压缩算法标识、压缩数据顺序;其中,所述量子编码词典构造参数包括序码量子化参数k和量码量子化参数k;所述压缩数据顺序为:序码量子码及码长、量码1阶序码量子码及码长、量码2阶序码量子码及码长、量码2阶量码量子码及码长;量码3阶及以上阶序码量子码及码长;量码3阶及以上阶量码量子码及码长;其中,k为大于1的自然数;
所述对所述序码和所述量码分别构造量子编码词典,包括:对所述序码构造量子编码词典,选取量子化基数的序码量子化参数k,生成0或1不重复出现序码量子化参数k次的数据量子,并对数据量子进行再次编码;对所述量码构造量子编码词典,选取量子化基数的量码量子化参数k,生成0或1不重复出现量码量子化参数k次的数据量子,并对数据量子进行再次编码。
4.如权利要求1所述多维量子数据压缩方法,其特征在于,所述分别针对所述序码的量子码和所述量码的量子码,基于其分别对应的量子编码词典,进行压缩,得到压缩数据,包括:
分别针对所述序码的量子码和所述量码的量子码,基于其分别对应的量子编码词典,按词典编码压缩方法进行压缩,得到压缩数据;所述词典编码压缩方法包括LZ系列压缩方法。
5.一种多维量子数据压缩装置,其特征在于,所述多维量子数据压缩装置包括:
二进制编码数据生成单元,用于获取输入的源数据,生成所述源数据的二进制编码数据;
多维游程编码单元,用于对所述二进制编码数据进行多维游程编码,将源数据码分解为序码和量码;
量子编码词典构造单元,用于对所述序码和所述量码分别构造量子编码词典;
二进制数据量子化编码单元,用于将所述序码和所述量码分别依据构造的所述量子编码词典进行二进制数据量子化编码,按照顺序将数据量子替换为数据量子编码,分别得到所述序码的量子码和所述量码的量子码;
数据压缩单元,用于分别针对所述序码的量子码和所述量码的量子码,基于其分别对应的量子编码词典,进行压缩,得到压缩数据;
数据头压缩单元,用于将压缩参数编码为压缩数据头;
压缩数据合并单元,用于将所述压缩数据头和所述压缩数据合并为最终的压缩输出数据。
6.一种多维量子数据解压缩方法,其特征在于,所述多维量子数据解压缩方法包括:
获取压缩输出数据;
从所述压缩输出数据解析出压缩参数和压缩数据;
根据所述压缩参数构造量子编码词典;
利用所述量子编码词典对所述压缩数据解压缩,分离出序码的量子码压缩数据和量码的量子码压缩数据;
根据所述量子编码词典,获取所述序码的量子码压缩数据对应的二进制编码数据和所述量码的量子码压缩数据对应的二进制编码数据;
根据所述序码的量子码压缩数据对应的二进制编码数据和所述量码的量子码压缩数据对应的二进制编码数据,并根据所述压缩参数进行多维游程编码还原,反编码出压缩前的源数据。
7.如权利要求6所述多维量子数据解压缩方法,其特征在于,所述从所述压缩输出数据解析出压缩参数和压缩数据,包括:
从所述压缩输出数据解析出压缩数据头;
根据所述压缩数据头,按照预先设定的数据格式规范,解析出压缩参数和压缩数据。
8.如权利要求6所述多维量子数据解压缩方法,其特征在于,所述压缩参数包括:数据标准化参数、多维游程编码参数、量码多维游程编码1阶、量码多维游程编码2阶、量码多维游程编码3阶及以上阶、量子编码词典构造参数、词典压缩算法标识、压缩数据顺序;其中,所述量子编码词典构造参数包括序码量子化参数k和量码量子化参数k;所述压缩数据顺序为:序码量子码及码长、量码1阶序码量子码及码长、量码2阶序码量子码及码长、量码2阶量码量子码及码长;量码3阶及以上阶序码量子码及码长;量码3阶及以上阶量码量子码及码长;其中,k为大于1的自然数;
所述根据所述压缩参数构造量子编码词典,包括:根据所述序码量子化参数k和所述量码量子化参数k分别构造量子编码词典。
9.如权利要求8所述多维量子数据解压缩方法,其特征在于,所述根据所述序码的量子码压缩数据对应的二进制编码数据和所述量码的量子码压缩数据对应的二进制编码数据,并根据所述压缩参数进行多维游程编码还原,反编码出压缩前的源数据,包括:
根据所述多维游程编码参数,从量码最高价的量码开始,依次还原出下一个低阶的量码,直到还原出量码1阶的数据来;最后由量码1阶的数据结合序码数据,反编码出压缩前的源数据。
10.一种多维量子数据解压缩装置,其特征在于,所述多维量子数据解压缩装置包括:
压缩输出数据获取单元,用于获取压缩输出数据;
解析单元,用于从所述压缩输出数据解析出压缩参数和压缩数据;
解压缩量子编码词典构造单元,用于根据所述压缩参数构造量子编码词典;
解压缩单元,用于利用所述量子编码词典对所述压缩数据解压缩,分离出序码的量子码压缩数据和量码的量子码压缩数据;
二进制编码数据单元,用于根据所述量子编码词典,获取所述序码的量子码压缩数据对应的二进制编码数据和所述量码的量子码压缩数据对应的二进制编码数据;
多维游程编码还原单元,用于根据所述序码的量子码压缩数据对应的二进制编码数据和所述量码的量子码压缩数据对应的二进制编码数据,并根据所述压缩参数进行多维游程编码还原,反编码出压缩前的源数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410359727.9A CN104125475B (zh) | 2014-07-25 | 2014-07-25 | 一种多维量子数据压缩、解压缩方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410359727.9A CN104125475B (zh) | 2014-07-25 | 2014-07-25 | 一种多维量子数据压缩、解压缩方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104125475A true CN104125475A (zh) | 2014-10-29 |
CN104125475B CN104125475B (zh) | 2017-02-15 |
Family
ID=51770718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410359727.9A Active CN104125475B (zh) | 2014-07-25 | 2014-07-25 | 一种多维量子数据压缩、解压缩方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104125475B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105049094A (zh) * | 2015-07-16 | 2015-11-11 | 陈飞 | 一种复杂型多组参数转码传输的方法与*** |
CN105119970A (zh) * | 2015-07-16 | 2015-12-02 | 陈飞 | 一种多组并列参数转码传输的方法与*** |
CN105959065A (zh) * | 2016-06-28 | 2016-09-21 | 西安邮电大学 | 一种量子信息的压缩方法及装置 |
CN107241188A (zh) * | 2017-06-02 | 2017-10-10 | 丁爱民 | 一种量子存储数据编解码方法、装置及*** |
CN110417811A (zh) * | 2019-08-22 | 2019-11-05 | 上海兆芯集成电路有限公司 | 比特流编码压缩的方法及装置 |
CN112511302A (zh) * | 2021-02-01 | 2021-03-16 | 北京中创为南京量子通信技术有限公司 | Qkd***的基矢比对网络数据压缩传输方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1248863A (zh) * | 1998-09-17 | 2000-03-29 | 汤姆森多媒体公司 | 图形数据压缩方法 |
EP1895665A2 (en) * | 2000-07-25 | 2008-03-05 | Juniper Networks, Inc. | System and method for incremental and continuous data compression |
CN103825726A (zh) * | 2014-03-03 | 2014-05-28 | 哈尔滨工业大学 | 基于fpga的筛选模块及筛选方法 |
-
2014
- 2014-07-25 CN CN201410359727.9A patent/CN104125475B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1248863A (zh) * | 1998-09-17 | 2000-03-29 | 汤姆森多媒体公司 | 图形数据压缩方法 |
EP1895665A2 (en) * | 2000-07-25 | 2008-03-05 | Juniper Networks, Inc. | System and method for incremental and continuous data compression |
CN103825726A (zh) * | 2014-03-03 | 2014-05-28 | 哈尔滨工业大学 | 基于fpga的筛选模块及筛选方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105049094A (zh) * | 2015-07-16 | 2015-11-11 | 陈飞 | 一种复杂型多组参数转码传输的方法与*** |
CN105119970A (zh) * | 2015-07-16 | 2015-12-02 | 陈飞 | 一种多组并列参数转码传输的方法与*** |
CN105049094B (zh) * | 2015-07-16 | 2018-09-28 | 陈飞 | 一种复杂型多组参数转码传输的方法与*** |
CN105119970B (zh) * | 2015-07-16 | 2019-06-14 | 陈飞 | 一种多组并列参数转码传输的方法与*** |
CN105959065A (zh) * | 2016-06-28 | 2016-09-21 | 西安邮电大学 | 一种量子信息的压缩方法及装置 |
CN105959065B (zh) * | 2016-06-28 | 2018-05-25 | 西安邮电大学 | 一种量子信息的压缩方法及装置 |
CN107241188A (zh) * | 2017-06-02 | 2017-10-10 | 丁爱民 | 一种量子存储数据编解码方法、装置及*** |
CN107241188B (zh) * | 2017-06-02 | 2022-01-28 | 丁爱民 | 一种量子存储数据编解码方法、装置及*** |
CN110417811A (zh) * | 2019-08-22 | 2019-11-05 | 上海兆芯集成电路有限公司 | 比特流编码压缩的方法及装置 |
CN110417811B (zh) * | 2019-08-22 | 2021-08-10 | 上海兆芯集成电路有限公司 | 比特流编码压缩的方法及装置 |
CN112511302A (zh) * | 2021-02-01 | 2021-03-16 | 北京中创为南京量子通信技术有限公司 | Qkd***的基矢比对网络数据压缩传输方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104125475B (zh) | 2017-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103067022B (zh) | 一种整型数据无损压缩方法、解压缩方法及装置 | |
CN104125475A (zh) | 一种多维量子数据压缩、解压缩方法及装置 | |
CN101095284B (zh) | 用于有选择地压缩和解压缩数据的设备与方法 | |
JP5936687B2 (ja) | ツリー構造の適応的エントロピー符号化方法 | |
CN103236847B (zh) | 基于多层哈希结构与游程编码的数据无损压缩方法 | |
CN100517979C (zh) | 一种数据压缩及解压缩方法 | |
CN103258030A (zh) | 基于字典与游长编码的移动设备内存压缩方法 | |
US20230042018A1 (en) | Multi-context entropy coding for compression of graphs | |
CN104156990B (zh) | 一种支持特大型数据窗口的无损压缩编码方法及*** | |
CN111211787A (zh) | 一种工业数据压缩方法、***、存储介质及终端 | |
Belodedov et al. | Development of an algorithm for optimal encoding of WAV files using genetic algorithms | |
KR101023536B1 (ko) | 데이터 무손실 압축 방법 | |
CN104682966B (zh) | 列表数据的无损压缩方法 | |
CN102129872B (zh) | 资料压缩、解压缩方法及其装置 | |
CN102388538A (zh) | 编码输入位序列的方法和设备以及相应解码方法和设备 | |
Jacob et al. | Comparative analysis of lossless text compression techniques | |
Williams | Performance Overhead of Lossless Data Compression and Decompression Algorithms: A Qualitative Fundamental Research Study | |
Ambadekar et al. | Advanced data compression using J-bit Algorithm | |
Rajput et al. | Comparative Study of Data Compression Techniques | |
CN103517022A (zh) | 一种图像数据压缩和解压缩方法、装置 | |
CN111130558A (zh) | 一种基于统计概率的编码表压缩方法 | |
Shu et al. | A two-stage data compression method for real-time database | |
Asolkar et al. | Review of data compression and different techniques of data compression | |
CN104124981A (zh) | 用于对车联网大量信息的存储及传输的k复游程编码方法 | |
CN111866520A (zh) | 编解码方法、编解码设备以及通信*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |