一种针对二进制数据的多字符组合无损数据压缩方法技术

技术编号:6009045 阅读:1180 留言:0更新日期:2012-04-11 18:40
一种针对二进制数据的多字符组合无损数据压缩方法,数据的压缩包括对待压缩的原始二进制数据运用多字符组合式字典压缩算法的初次压缩,以及对初次压缩得到的字符串运用Huffmnan算法进行的二次压缩;数据的解压缩:包括依次完成Huffmnan算法的解压缩,以及字典构建方式的无损压缩模型的解压缩。本发明专利技术解决了数据完整性还原的问题,不仅压缩比高,而且算法复杂度低,压缩速度较快,为数据的无损压缩提供了新的思路。

【技术实现步骤摘要】

本专利技术属于数据处理
,涉及一种针对二进制数据的多字符组合无损数据 压缩方法。
技术介绍
信息技术的飞速发展,不断影响着人类的日常生活和工作,改变着人们的活动方 式。目前,人类社会已经进入了信息时代。人们每天都可以通过各种渠道(如PDA、网络、电 视、广播等)获得大量的信息,这些信息给我们的生活增加了很多色彩。然而,庞大的信息数据量一方面带来数据存储和传输的困难,另一方面出于通信 带宽和通信传输速度的限制,使得数据不经过压缩处理而直接传输所付出的代价极大。虽 然存储器硬件容量在不断增加,在一定程度上缓解了数据存储的需求,但现阶段解决海量 数据存储和传输问题的根本途径还是要研究更为有效的压缩方法。数据压缩技术分类一般是分为无损压缩和有损压缩。对于不是很注重细节的数据 如图像、视频等,当今流行的压缩技术大都采用有损压缩技术,如MPEG,H. 263,H. 264等。而 对于程序、电子档案、指纹识别以及医学图像等重要信息,则必须采用无损压缩技术,以使 数据恢复时不会破坏其完整性。目前现有无损压缩算法中,有压缩速度较慢,但是压缩比高的算法;也有压缩速度 较快,但压缩比较低的算法;但是压缩比高,压缩速度快的算法还不多见。
技术实现思路
本专利技术的目的是提供了,解 决了数据完整性压缩和还原的问题,不仅压缩比高,而且算法复杂度低,压缩速度较快,为 数据的无损压缩提供了新的思路。本专利技术所采用的技术方案是,一种针对二进制数据的多字符组合无损数据压缩方 法,包括以下步骤A、数据的压缩包括对待压缩的原始二进制数据运用多字符组合捆绑式字典压缩 算法进行的初次压缩,以及对初次压缩得到的字符串运用Huffman算法进行的二次压缩;其中,初次压缩包括1)、选定组合因子个数m,m的选值满足2彡m彡8 ;2)、初始化字典将组合因子个数为m的二进制字符排列组合得到的不同字符串, 以及特殊字符和自定义字符作为字典条目构建字典,并依次赋予字典序号,其中,所述二进 制字符排列组合得到的字符串的个数η满足n = 2m ;3)、初次压缩数据依次读入待压缩的原始二进制数据,先读入待压缩字符串的前 m个字符作为前缀,再读入接下来的m个字符作为后缀,将前缀和后缀组成的2m个字符作为 整体,在字典中查找是否有相同条目;若有相同条目,则将前2m个字符在字典中的序号作 为前缀,再读入m个字符作为后缀,将其作为整体再在字典中查找是否有相同条目,若有相3同条目,按照此做法继续进行;若无相同条目,则先将这2m个字符添加到字典中,作为新的 字典条目,并赋予字典序号,再将前缀m个字符对应的字典条目的序号输出,舍去前缀的m 个字符,将后缀作为前缀,再读入待压缩原始数据的m个字符,作为后缀,把现有的2m个字 符作为整体再在字典中查找是否有相同条目,依次循环直至读入全部待压缩的原始二进制 数据,最终得到初次压缩后的字符串;二次压缩包括4)、对上述步骤3)得到的字符串中的每个字符进行概率统计,使用的公式为P(X) = TjP^i)XiGS其中,P(X)表示整个字符中某一字符X出现的总概率,S表示整个字符串,P(Xi)表 示每一个X出现的概率;5)、根据步骤4)得到的概率统计结果,运用Huffman算法对步骤3)得到的字符串 进行进行编码储存,最终实现数据的无损压缩;B、数据的解压缩包括依次完成Huffman算法的解压缩,以及多字符组合捆绑式 字典压缩算法的解压缩。其中,数据压缩的过程中,步骤3)里,字典查找采用哈希算法。本专利技术的针对二进制数据的多字符组合无损数据压缩方法主要优点是压缩速度 快,压缩比高。其基于多字符组合捆绑构建字典思想的无损压缩方法,该方法突出的特点是 打破了 LZ系列字典算法单个处理源字符流的方式,将多个待处理字符组合捆绑起来一起 处理,并计算出它们的每种不同排列的组合方式,随后把按照不同排列组合构成的字符串 存入字典,这样构建无损压缩模型的好处是可以大大降低压缩后的数据量,进而提高信道 的传输和存储器的存储能力,对无损压缩算法的创新开发,尤其是对LZ系列压缩算法的发 展具有重要意义。具体实施例方式本专利技术多字符组合无损数据压缩方法,包括以下步骤权利要求1.,其特征在于,包括以下步骤A、数据的压缩包括对待压缩的原始二进制数据运用多字符组合捆绑式字典压缩算法 进行的初次压缩,以及对初次压缩得到的字符串运用Huffman算法进行的二次压缩;其中,所述初次压缩包括1)、选定组合因子个数m,m的选值满足2< m < 8 ;2)、初始化字典将组合因子个数为m的二进制字符排列组合得到的不同字符串,以及 特殊字符和自定义字符作为字典条目构建字典,并依次赋予字典序号,其中,所述二进制字 符排列组合得到的字符串的个数η满足m = 2m ;3)、初次压缩数据依次读入待压缩的原始二进制数据,先读入待压缩字符串的前m个 字符作为前缀,再读入接下来的m个字符作为后缀,将前缀和后缀组成的2m个字符作为整 体,在字典中查找是否有相同条目;若有相同条目,则将前2m个字符在字典中的序号作为 前缀,再读入m个字符作为后缀,将其作为整体再在字典中查找是否有相同条目,若有相同 条目,按照此做法继续进行;若无相同条目,则先将这2m个字符添加到字典中,作为新的字 典条目,并赋予字典序号,再将前缀m个字符对应的字典条目的序号输出,舍去前缀的m个 字符,将后缀作为前缀,再读入待压缩原始数据的m个字符,作为后缀,把现有的2m个字符 作为整体再在字典中查找是否有相同条目,依次循环直至读入全部待压缩的原始二进制数 据,最终得到初次压缩后的字符串;所述二次压缩包括4)、对上述步骤3)得到的字符串中的每个字符进行概率统计,使用的公式为P(X) = YjP(Xi)XiGS其中,P(X)表示整个字符中某一字符X出现的总概率,S表示整个字符串,P(Xi)表示 每一个X出现的概率;5)、根据步骤4)得到的概率统计结果,运用Huffman算法对步骤3)得到的字符串进行 进行编码储存,最终实现数据的无损压缩;B、数据的解压缩包括依次完成Huffman算法的解压缩,以及多字符组合捆绑式字典 压缩算法的解压缩。2.按照权利要求1所述的针对二进制数据的多字符组合无损数据压缩方法,其特征在 于,所述数据压缩的过程中,步骤3)里,字典查找采用哈希算法。全文摘要,数据的压缩包括对待压缩的原始二进制数据运用多字符组合式字典压缩算法的初次压缩,以及对初次压缩得到的字符串运用Huffmnan算法进行的二次压缩;数据的解压缩包括依次完成Huffmnan算法的解压缩,以及字典构建方式的无损压缩模型的解压缩。本专利技术解决了数据完整性还原的问题,不仅压缩比高,而且算法复杂度低,压缩速度较快,为数据的无损压缩提供了新的思路。文档编号H03M7/42GK102122960SQ201110009620公开日2011年7月13日 申请日期2011年1月18日 优先权日2011年1月18日专利技术者华灯鑫, 张毅坤, 李啸, 陈浩, 黑新宏 申请人:西安理工大学本文档来自技高网...

【技术保护点】
1.一种针对二进制数据的多字符组合无损数据压缩方法,其特征在于,包括以下步骤:A、数据的压缩:包括对待压缩的原始二进制数据运用多字符组合捆绑式字典压缩算法进行的初次压缩,以及对初次压缩得到的字符串运用Huffman算法进行的二次压缩;其中,所述初次压缩包括:1)、选定组合因子个数m,m的选值满足:2≤m≤8;2)、初始化字典:将组合因子个数为m的二进制字符排列组合得到的不同字符串,以及特殊字符和自定义字符作为字典条目构建字典,并依次赋予字典序号,其中,所述二进制字符排列组合得到的字符串的个数n满足:n=2m;3)、初次压缩数据:依次读入待压缩的原始二进制数据,先读入待压缩字符串的前m个字符作为前缀,再读入接下来的m个字符作为后缀,将前缀和后缀组成的2m个字符作为整体,在字典中查找是否有相同条目;若有相同条目,则将前2m个字符在字典中的序号作为前缀,再读入m个字符作为后缀,将其作为整体再在字典中查找是否有相同条目,若有相同条目,按照此做法继续进行;若无相同条目,则先将这2m个字符添加到字典中,作为新的字典条目,并赋予字典序号,再将前缀m个字符对应的字典条目的序号输出,舍去前缀的m个字符,将后缀作为前缀,再读入待压缩原始数据的m个字符,作为后缀,把现有的2m个字符作为整体再在字典中查找是否有相同条目,依次循环直至读入全部待压缩的原始二进制数据,最终得到初次压缩后的字符串;所述二次压缩包括:4)、对上述步骤3)得到的字符串中的每个字符进行概率统计,使用的公式为:(math)??(mrow)?(mi)P(/mi)?(mrow)?(mo)((/mo)?(mi)X(/mi)?(mo))(/mo)?(/mrow)?(mo)=(/mo)?(munder)?(mi)&Sigma;(/mi)?(mrow)?(msub)?(mi)x(/mi)?(mi)i(/mi)?(/msub)?(mo)&Element;(/mo)?(mi)S(/mi)?(/mrow)?(/munder)?(mi)P(/mi)?(mrow)?(mo)((/mo)?(msub)?(mi)x(/mi)?(mi)i(/mi)?(/msub)?(mo))(/mo)?(/mrow)?(/mrow)?(/math)其中,P(X)表示整个字符中某一字符X出现的总概率,S表示整个字符串,P(xi)表示每一个X出现的概率;5)、根据步骤4)得到的概率统计结果,运用Huffman算法对步骤3)得到的字符串进行进行编码储存,最终实现数据的无损压缩;B、数据的解压缩:包括依次完成Huffman算法的解压缩,以及多字符组合捆绑式字典压缩算法的解压缩。...

【技术特征摘要】

【专利技术属性】
技术研发人员:张毅坤李啸黑新宏华灯鑫陈浩
申请(专利权)人:西安理工大学
类型:发明
国别省市:87

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

1