CN1737791A - 一种对数据进行有限穷举优化的压缩方法 - Google Patents

一种对数据进行有限穷举优化的压缩方法 Download PDF

Info

Publication number
CN1737791A
CN1737791A CN 200510096002 CN200510096002A CN1737791A CN 1737791 A CN1737791 A CN 1737791A CN 200510096002 CN200510096002 CN 200510096002 CN 200510096002 A CN200510096002 A CN 200510096002A CN 1737791 A CN1737791 A CN 1737791A
Authority
CN
China
Prior art keywords
data
cataphasia
unit
length
coding
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
Application number
CN 200510096002
Other languages
English (en)
Other versions
CN100349160C (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.)
Inventec Besta Xian Co Ltd
Original Assignee
Inventec Besta Xian Co Ltd
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 Inventec Besta Xian Co Ltd filed Critical Inventec Besta Xian Co Ltd
Priority to CNB2005100960026A priority Critical patent/CN100349160C/zh
Publication of CN1737791A publication Critical patent/CN1737791A/zh
Application granted granted Critical
Publication of CN100349160C publication Critical patent/CN100349160C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种对数据统计特征进行有限穷举优化的压缩方法。其技术解决方案包括以下步骤:1)判断待压缩数据的编码类型,然后进行长字节码替换或者码数据预压缩;2)判断是否为字典类数据;3)统计最大长度范围内的重复语言单位;4)利用有限穷举法搜寻最优替代重复语言单位的长度范围;5)顺次从长到短替换最优替代重复语言单位的长度范围内的重复语言单位,并对其进行编码,输出替代信息文件,同时记录重复语言单位;6)统计非替代字符的频率,根据该频率生成Huffman树;7)生成压缩数据。本发明提供一种对数据量大,语言重复率高等具有统计特征的数据进行有限穷举优化的压缩方法,其数据压缩适应性强、可实现压缩数据的优化、提高了压缩率。

Description

一种对数据进行有限穷举优化的压缩方法
一、技术领域
本发明涉及一种对数据统计特征进行有限穷举优化的压缩方法。
二、背景技术
当今世界系一个电子信息化产业飞速发展的世界,计算器等高科技产品发展迅猛。随着当前的掌上型电子消费产品的广泛应用,人们对掌上型电子消费产品的使用要求越来越高,未来的掌上型电子消费产品能否提供更超大容量的知识和其它讯息服务已成为评价高科技产品技术是否领先的标志。
但是,当前的掌上型电子消费产品,尤其是各种嵌入式设备由于受资源的限制,如内存有限和CPU速度有限,有时无法解决超大容量数据的储存和快速读取问题,因此需要对数据进行压缩。而目前在数据压缩等数据处理过程中,一般是采用HUFFMAN压缩算法加定长重复语言单位替代,其不能对数据充分压缩。因此,当遇到大容量数据,尤其像字典数据中语言重复频率高的数据时,如果不针对数据的自身特点,提出最优的压缩方案,那么将可能造成存储器存储空间的浪费。
而对各种字典类数据进行压缩时,由于字典语言具有重复性和独立性的特点,采用定长重复语言单位替代并不能达到最优,同时会影响字典压缩的大范围适应性。
三、发明内容
本发明为解决背景技术中的数据压缩方法存在的上述技术问题,而提供一种对数据量大,语言重复率高等具有统计特征的数据进行有限穷举优化的压缩方法,其数据压缩适应性强、可实现压缩数据的优化、提高了压缩率。
本发明的技术解决方案是本发明为一种对数据进行有限穷举优化的压缩方法,其特殊之处在于:该方法包括以下步骤:
1)判断待压缩数据的编码类型是Unicode码数据,还是本地码数据,若为Unicode码数据则进行长字节码替换,对Unicode码数据进行预压缩,对码值小于0×80的编码消除高字节,其它编码按使用频率排序,使用频率较高的127个编码用码值0×80-0×FE替代,余下的编码使用0×ff标记加上两字节编码替代,然后进至步骤2),若为本地码数据,则直接进至步骤2);
2)判断是否为字典类数据,若为字典类数据,则记录该字典类数据的分块标记,然后进至步骤3),若否,则直接进至步骤步骤3);
3)统计最大长度范围内的重复语言单位;首先统计数据中所有相同字符的位置,然后对所有相同字符依后续字符进行排序,最后找出最大长度范围内的所有重复语言单位并按照长度进行记录;
4)利用有限穷举法搜寻最优替代重复语言单位的长度范围;
5)根据最优替代重复语言单位的长度范围生成重复语言单位替代信息文件,顺次从长到短替换最优替代重复语言单位的长度范围内的重复语言单位,并对其进行编码,输出替代信息文件,同时记录重复语言单位;
6)根据原数据和替代信息文件,统计非替代字符的频率,根据该频率生成Huffman树;
7)生成压缩数据;根据替代信息文件和Huffman树对原数据利用LZSS算法和Huffman算法进行混合编码替换,同时根据块信息进行分块,生成最终文件,最后把重复语言单位、块信息和Huffman树打入最终数据。
上述步骤4)中的具体步骤如下:
4.1)确定从基准值到最大重复语言单位长度为有限穷举寻优范围;
4.2)以寻优范围内的每一个重复语言单位长度为最优长度进行由长到短的逐次替代,然后记录每个替代后减小的长度;
4.3)根据每个替代后减小的长度,找到一个最大减小长度,最大减小长度对应的重复语言单位的长度范围即为最优替代重复语言单位的长度范围。
本发明主要是针对在当前嵌入式设备开发时,数据压缩处理方法上一般都采用哈夫曼(HUFFMAN)压缩方法,再加上对指定长度范围内的重复语言单位进行替代,实现压缩。然而由于数据的独立性和数据长度的变化,指定的重复语言长度的范围也要相应发生变动,才能达到最大限度的压缩,才可以同时保证不增加解压缩的时间复杂度和空间复杂度。
因此,针对上述情况,本发明方法主要是通过统计技术得到数据的特点,依据数据特点统计出最大长度重复语言单位的数量,然后再使用有限穷举法寻找最优替代方法,根据最优替代方法依序号替换重复语言单位,而对非重复单位简单语言则按照哈夫曼予以编码,从而达到不增加解压缩空间复杂度的前提下提高数据压缩效率的目的,另外,再利用字典类DATABASE的分块独特性,将其大数据分成小块,进行小分块压缩,从而提高数据查询速度,从而达到不增加解压缩时间复杂度的前提下提高数据压缩效率的目的。
因此本发明具有以下优点:
1、本发明采用有限穷举优化可对数据的重复语言单位进行充分压缩,从而提高了数据压缩率和保证压缩算法的适应性。
2、本发明通过对数据进行分块压缩,消除了块与块之间的相关性,提高了数据的查询速度,同时实现块单位的随机解压。
3、本法明可实现大数据,在时间空间需求较小的情况下正确解压,适用于资源有限的嵌入式系统。
四、附图说明
图1为本发明的方法流程图;
图2为本发明步骤4的具体流程图;
图3为本发明在进行有限穷举优化时减小长度记录表的实施例;
图4为应用本发明和习知的压缩方法对大英英中日韩辞典数据压缩的压缩结果对照表;
图5为应用本发明和习知的压缩方法对牛津辞典数据压缩的压缩结果对照表。
五、具体实施方式
参见图1,本发明的方法流程如下:
1)判断待压缩数据的编码类型是Unicode码数据,还是本地码数据,若为Unicode码数据则进行长字节码替换,对Unicode码数据进行预压缩,对码值小于0×80的编码消除高字节,其它编码按使用频率排序,使用频率较高的127个编码用码值0×80-0×FE替代,余下的编码使用0×ff标记加上两字节编码替代,然后进至步骤2),若为本地码数据,则直接进至步骤2);
2)判断是否为字典类数据,若为字典类数据,则记录该字典类数据的分块标记,然后进至步骤3),若否,则直接进至步骤步骤3);
3)统计最大长度范围内的重复语言单位;首先统计数据中所有相同字符的位置,然后对所有相同字符依后续字符进行排序,最后找出最大长度范围内的所有重复语言单位并按照长度进行记录;
4)利用有限穷举法搜寻最优替代重复语言单位的长度范围;
5)根据最优替代重复语言单位的长度范围生成重复语言单位替代信息文件,顺次从长到短替换最优替代重复语言单位的长度范围内的重复语言单位,并对其进行编码,输出替代信息文件,同时记录重复语言单位;
6)根据原数据和替代信息文件,统计非替代字符的频率,根据该频率生成Huffman树;
7)生成压缩数据;根据替代信息文件和Huffman树对原数据利用LZSS算法和Huffman算法进行混合编码替换,同时根据块信息进行分块,生成最终文件,最后把重复语言单位、块信息和Huffman树打入最终数据。
参见图2,根据上述流程说明,可以看出有限穷举寻找最优替代范围是实现本发明方法、提高数据压缩率的关键,因此下面将对实现统计数据重复率的算法做一简要介绍:Len为重复语言单位长度;Rep为重复语言单位复次数;nBit为重复语言单位编码的位数;CompressRate为压缩率
重复语言单位替代的压缩率为
k=[0,kMax-1]
Lenk=BEG_NUM+k
Repk>=kMax+BEG_NUM-1-k
CompressRate % = Σ k = 0 kMax - 1 Len k + Σ k = 0 kMax - 1 [ ( Σ i = 0 Re p ki ) * nBit / 8 ] Σ k = 0 kMax [ Len k * ( Σ i = 0 Re p ki ) ]
单条重复语言单位替代的压缩率
CompressRate % = 1 Re p + nBit Len * 8
由单条重复语言单位替代之压缩率可知
Rep越大,压缩率就会相应越小;
Len越大,压缩率就会相应越小;
由上可知,重复语言长度的增加,可能有利于压缩。另外考虑到重复语言单位的交叉(cat和at),有可能降低替代效率,并且重复语言单位之交叉属于复杂现象,难于定量估值。因此本发明使用首先统计大长度重复语言单位,然后有限穷举寻找最优压缩实现压缩优化。其具体步骤如下:
4.1)确定从基准值到最大重复语言单位长度为有限穷举寻优范围;
4.2)以寻优范围内的每一个重复语言单位长度为最优长度进行由长到短的逐次替代,然后记录每个替代后减小的长度;
4.3)根据每个替代后减小的长度,找到一个最大减小长度,最大减小长度对应的重复语言单位长度范围即为最优替代重复语言单位的长度范围。
参见图3,该实施例的列表为每个替代后减小的长度列表,最大减小长度对应的35即为最优替代重复语言单位的长度范围。
下面结合具体实施例对本发明作进一步详细说明。
参见图4,有一笔大英英中日韩辞典数据,其原始文件长度为45,776,158bytes,首先预处理后文件长度为27,668,745bytes,统计出大长度(0x7f)数据重复字符串和重复字符串频率存放于.rep文件中,有限穷举优化后最优长度为35,对最优长度范围内的重复字符串有长到短进行编号,得到重复字符串长度为491,862bytes,为克服字典类大容量DATABASE对数据径行分块,并在每个分块头建立地址索引,将地址索引存放于.idx文件中,其长度为55,379bytes,做完上述工作后,开始对数据进行压缩,得到压缩结果12,115,479bytes;而使用已有的压缩方法压缩该笔辞典数据时,其数据长度为12,839,525bytes。
另外,本发明方法压缩的数据共分为24,862块,压缩率为28.05%,而已有的压缩方法压缩率为66.7%。
参见图5,再以设置在掌上型电子产品中的牛津辞典数据来看,根据该牛津辞典数据压缩结果对照表,可看到原始数据长度为22,580,376Bytes,压缩后数据长度为4,505,792Bytes;而以已有的压缩方法进行压缩得到数据长度为5,089,223Bytes。由此,本发明方法压缩的数据共分为146,292块,压缩率为19.95%,而已有的压缩方法压缩率为22.54%。
通过具体实际数据对比可以看出,本发明方法不仅提高了数据压缩的效率,而且对超大容量数据特别是重复字符串频率高的数据,更是在处理上实现了更快、更方便统计字符串重复频率的功效。

Claims (2)

1、一种对数据进行有限穷举优化的压缩方法,其特征在于:该方法包括以下步骤:
1)判断待压缩数据的编码类型是Unicode码数据,还是本地码数据,若为Unicode码数据则进行长字节码替换,对Unicode码数据进行预压缩,对码值小于0×80的编码消除高字节,其它编码按使用频率排序,使用频率较高的127个编码用码值0×80-0×FE替代,余下的编码使用0×ff标记加上两字节编码替代,然后进至步骤2),若为本地码数据,则直接进至步骤2);
2)判断是否为字典类数据,若为字典类数据,则记录该字典类数据的分块标记,然后进至步骤3),若否,则直接进至步骤步骤3);
3)统计最大长度范围内的重复语言单位;首先统计数据中所有相同字符的位置,然后对所有相同字符依后续字符进行排序,最后找出最大长度范围内的所有重复语言单位并按照长度进行记录;
4)利用有限穷举法搜寻最优替代重复语言单位的长度范围;
5)根据最优替代重复语言单位的长度范围生成重复语言单位替代信息文件,顺次从长到短替换最优替代重复语言单位的长度范围内的重复语言单位,并对其进行编码,输出替代信息文件,同时记录重复语言单位;
6)根据原数据和替代信息文件,统计非替代字符的频率,根据该频率生成Huffman树;
7)生成压缩数据;根据替代信息文件和Huffman树对原数据利用LZSS算法和Huffman算法进行混合编码替换,同时根据块信息进行分块,生成最终文件,最后把重复语言单位、块信息和Huffman树打入最终数据。
2、根据权利要求1所述的对数据进行有限穷举优化的压缩方法,其特征在于:所述步骤4)中的具体步骤如下:
4.1)确定从基准值到最大重复语言单位长度为有限穷举寻优范围;
4.2)以寻优范围内的每一个重复语言单位长度为最优长度进行由长到短的逐次替代,然后记录每个替代后减小的长度;
4.3)根据每个替代后减小的长度,找到一个最大减小长度,最大减小长度对应的重复语言单位的长度范围即为最优替代重复语言单位的长度范围。
CNB2005100960026A 2005-09-08 2005-09-08 一种对数据进行有限穷举优化的压缩方法 Expired - Fee Related CN100349160C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100960026A CN100349160C (zh) 2005-09-08 2005-09-08 一种对数据进行有限穷举优化的压缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100960026A CN100349160C (zh) 2005-09-08 2005-09-08 一种对数据进行有限穷举优化的压缩方法

Publications (2)

Publication Number Publication Date
CN1737791A true CN1737791A (zh) 2006-02-22
CN100349160C CN100349160C (zh) 2007-11-14

Family

ID=36080588

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100960026A Expired - Fee Related CN100349160C (zh) 2005-09-08 2005-09-08 一种对数据进行有限穷举优化的压缩方法

Country Status (1)

Country Link
CN (1) CN100349160C (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100437627C (zh) * 2006-07-12 2008-11-26 中国物品编码中心 数据信息的编码方法
CN102222075A (zh) * 2010-04-15 2011-10-19 李朝中 一种基于树结构的语言库压缩方法和系统
CN101803203B (zh) * 2007-09-14 2013-10-16 微软公司 使用数据依赖组块的优化数据流压缩
CN103731154A (zh) * 2013-11-01 2014-04-16 陕西理工学院 一种基于语义分析的数据压缩算法
CN104679776A (zh) * 2013-11-29 2015-06-03 腾讯科技(深圳)有限公司 倒排索引的压缩方法及装置
CN104682965A (zh) * 2015-03-20 2015-06-03 深圳市微科通讯设备有限公司 一种gps数据的压缩方法
CN106027062A (zh) * 2015-05-11 2016-10-12 上海兆芯集成电路有限公司 直接对lz77引擎输出的标记进行霍夫曼编码程序的硬件数据压缩器
CN109412604A (zh) * 2018-12-05 2019-03-01 云孚科技(北京)有限公司 一种基于语言模型的数据压缩方法
CN115834504A (zh) * 2022-11-04 2023-03-21 电子科技大学 一种基于axi总线的数据压缩/解压缩方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4799242A (en) * 1987-08-24 1989-01-17 International Business Machines Corporation Multi-mode dynamic code assignment for data compression
CN1138501C (zh) * 2000-04-11 2004-02-18 西安交通大学 Holter系统的无损数据压缩方法及其装置

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100437627C (zh) * 2006-07-12 2008-11-26 中国物品编码中心 数据信息的编码方法
CN101803203B (zh) * 2007-09-14 2013-10-16 微软公司 使用数据依赖组块的优化数据流压缩
CN102222075A (zh) * 2010-04-15 2011-10-19 李朝中 一种基于树结构的语言库压缩方法和系统
CN103731154A (zh) * 2013-11-01 2014-04-16 陕西理工学院 一种基于语义分析的数据压缩算法
CN103731154B (zh) * 2013-11-01 2017-01-11 陕西理工学院 一种基于语义分析的数据压缩算法
CN104679776A (zh) * 2013-11-29 2015-06-03 腾讯科技(深圳)有限公司 倒排索引的压缩方法及装置
CN104679776B (zh) * 2013-11-29 2019-08-27 腾讯科技(深圳)有限公司 倒排索引的压缩方法及装置
CN104682965A (zh) * 2015-03-20 2015-06-03 深圳市微科通讯设备有限公司 一种gps数据的压缩方法
CN106027062A (zh) * 2015-05-11 2016-10-12 上海兆芯集成电路有限公司 直接对lz77引擎输出的标记进行霍夫曼编码程序的硬件数据压缩器
CN106027062B (zh) * 2015-05-11 2020-06-12 上海兆芯集成电路有限公司 直接对lz77引擎输出的标记进行霍夫曼编码程序的硬件数据压缩器
CN109412604A (zh) * 2018-12-05 2019-03-01 云孚科技(北京)有限公司 一种基于语言模型的数据压缩方法
CN115834504A (zh) * 2022-11-04 2023-03-21 电子科技大学 一种基于axi总线的数据压缩/解压缩方法及装置

Also Published As

Publication number Publication date
CN100349160C (zh) 2007-11-14

Similar Documents

Publication Publication Date Title
CN1737791A (zh) 一种对数据进行有限穷举优化的压缩方法
CN1183683C (zh) 使用前缀预测的位自适应编码方法
CN1166072C (zh) 用于数据压缩、传输、存储以及通信的方法、设备和系统
CN1949670A (zh) 一种数据压缩及解压缩方法
Gilchrist Parallel data compression with bzip2
EP1891545B1 (en) Compressing language models with golomb coding
CN106100641A (zh) 针对fastq数据的多线程快速存储无损压缩方法及其系统
CN1741616A (zh) 一种基于上下文的自适应熵编/解码方法
CN103685589A (zh) 基于二进制编码的dns数据压缩、解压缩方法及系统
US20200294629A1 (en) Gene sequencing data compression method and decompression method, system and computer-readable medium
CN112527754A (zh) 基于按位变长存储的数值型数据压缩方法及系统
Pibiri et al. Efficient data structures for massive n-gram datasets
CN1426629A (zh) 使用多个编码器的优化无损压缩的方法和装置
CN1112674C (zh) 用于语音有效编码的谱参数预测分解矩阵量化
CN102904580A (zh) X-bit压缩编码算法
CN113078908B (zh) 一种适用于时间序列数据库的简易编解码方法
CN101060337A (zh) 一种优化的霍夫曼解码方法和装置
Guerra et al. Performance comparison of sequential and parallel compression applications for DNA raw data
CN1681326A (zh) 使用最后非零检测电路的高速图像压缩设备
Cannane et al. A general-purpose compression scheme for large collections
CN1581162A (zh) 一种基于快速排序算法的快速分页排序方法
Li et al. Erasing-based lossless compression method for streaming floating-point time series
CN112506876B (zh) 一种支持sql查询的无损压缩查询方法
CN1858998A (zh) 数字音频滤波器的无乘法实现方法
WO2009001174A1 (en) System and method for data compression and storage allowing fast retrieval

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
EE01 Entry into force of recordation of patent licensing contract

Assignee: Village Technology Limited

Assignor: Wudi Science and Technology Co., Ltd. (Xian)

Contract fulfillment period: 2006.12.1 to 2011.11.30 contract change

Contract record no.: 2008310000047

Denomination of invention: Data compression method by finite exhaustive optimization

Granted publication date: 20071114

License type: Exclusive license

Record date: 2008.9.18

LIC Patent licence contract for exploitation submitted for record

Free format text: EXCLUSIVE LICENCE; TIME LIMIT OF IMPLEMENTING CONTACT: 2006.12.1 TO 2011.11.30

Name of requester: BESTA SCIENCE CO., LTD.

Effective date: 20080918

C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20071114