一种利用冗余位的字典查询压缩方法及装置制造方法及图纸

技术编号:8657475 阅读:211 留言:0更新日期:2013-05-02 01:19
本发明专利技术公开了一种利用冗余位的字典查询压缩方法,包括:将已编码的原文作为滑动窗口,并将即将要编码的原文作为前瞻窗口;对所述滑动窗口与所述前瞻窗口的内容分别进行冗余位判断;对进行所述冗余位判断后的所述滑动窗口与所述前瞻窗口的内容进行匹配比较,其中只对非冗余位的内容进行匹配比较,而对冗余位的内容一律视为匹配成功;根据匹配结果进行编码。本发明专利技术通过在匹配时引入冗余位判断,将原来的不匹配情形转化为匹配情形,提高压缩比,节省数据带宽,同时对解压缩端无任何影响。

【技术实现步骤摘要】

本专利技术涉及通信领域,更具体地,涉及一种利用冗余位的字典查询压缩方法及装置
技术介绍
目前,字典查询压缩在信息处理中有着广泛的应用。通常,字典查询压缩是一种无损压缩,其在解压后可以完全复原,但是压缩比偏低。现有的字典查询压缩的基本原理如图1所示,其核心思想是保留最近已编码的原文作为滑动窗口,将即将要编码的原文作为前瞻窗口。在滑动窗口中搜索尽可能长的与前瞻窗口重合的部分(即,相匹配的部分),并输出其在滑动窗口中的位置和长度,作为编码结果,并更新滑动窗口与前瞻窗口。如无匹配,则另以该字符及匹配长度为O编码。图1示出了该现有技术中的字典查询压缩方法的基本原理图,例如,如图1 (a)中所示,滑动窗口长度为20字节,前瞻窗口长度为8字节。其中粗体字部分为搜索到的滑动窗口与前瞻窗口中的最长匹配字符串,其在滑动窗口中的起始位置为6,长度为5,因此,编码结果为(6, 5),编码后如图1 (b)所示。编码完成后新的滑动窗口与前瞻窗口如图1 (c)所示。然而,若没有搜索到重合部分,则只能编码为(C,0),其中C代表原文,O代表匹配长度为O。图2为上述现有技术中的字典查询压缩方法的流程图。该字典查询压缩开始后,在步骤210中,首先在已编码的滑动窗口中搜索尽可能长的与将要编码的前瞻窗口重合(即,匹配)的部分;接着,在步骤220中,判断匹配结果,S卩,判断在滑动窗口中是否搜索到与前瞻窗口匹配的部分,如果匹配成功,则进入步骤230,采取匹配长度与匹配位置的组合作为新编码;如果匹配不成功,则进入步骤240,此时只能采取一个原文单位(通常为字节)和匹配长度为O作为新编码;然后进入步骤250,判断是否已编码到文件尾,如果为是则该字典查询压缩结束;如果为否则进入步骤260,更新滑动窗口(剔除最老的已编码原文,并将刚才编码的原文加到滑动窗口的尾部)和前瞻窗口(剔除刚才编码的原文,并将前瞻窗口外的新原文加到前瞻窗口的尾部),接着跳回步骤210重复新的循环。此外,图3为图2所示的现有的字典查询压缩方法中的步骤210中所采用的比较器的原理图,其中图3 (a)示出了该比较器的传统结构,其只是简单地将待比较的两个字符串进行比较,例如,图3 (b)示出两个输入的字符串在第3字节不同,所以比较结果为不匹配;图3 (c)示出两个输入的字符串完全相同,故比较结果为匹配。由上述分析可得,根据现有的字典查询压缩方法,只有在匹配时,该算法才能达到压缩效果,否则反而需要加上额外的匹配长度为O字节的字符,较原文更长。然而,在很多实际应用中,并非原文的所有内容都是有效信息,那些即便被改变也不影响应用效果的内容即冗余位。如果能充分利用冗余位,则可以得到更多的匹配情况,从而能够谋求压缩效率的提高。
技术实现思路
本专利技术所要解决的技术问题在于提供一种利用冗余位的字典查询压缩方法及装置,可以提高字典查询压缩方法匹配的可能性,从而提高压缩效率。为了解决该技术问题,一方面,本专利技术提供了一种利用冗余位的字典查询压缩方法,包括:将已编码的原文作为滑动窗口,并将即将要编码的原文作为前瞻窗口 ;对所述滑动窗口与所述前瞻窗口的内容分别进行冗余位判断;对进行所述冗余位判断后的所述滑动窗口与所述前瞻窗口的内容进行匹配比较,其中只对非冗余位的内容进行匹配比较,而对冗余位的内容一律视为匹配成功;根据匹配结果进行编码。采用本专利技术,在检测匹配时,引入冗余位判断;只对非冗余位进行比较,而冗余位一律视为匹配成功。因而可利用冗余标志得到更多匹配可能。具体地,将前瞻窗口的待压缩原文与滑动窗口的已压缩原文比较时,只比较非冗余位,冗余位一律视为匹配成功;且解压方法和装置无需为冗余位做任何改变,虽解压得到的内容可能与压缩前不一致,但这些相异处全部位于冗余位,不影响结果。因此,采用本专利技术还可以有效地提高压缩比,节省数据带宽,同时对解压缩端无任何影响。 在本专利技术中,所述冗余位判断包括将所述滑动窗口与所述前瞻窗口的内容分别与指示冗余位的比特流进行逻辑与运算。在本专利技术中,所述指示冗余位的比特流包括随原文同时输入的另外的比特流。在本专利技术中,所述指示冗余位的比特流包括直接根据原文特征产生的指示冗余位的比特流。在本专利技术中,所述原文的每个信息单位为字节。在本专利技术中,所述根据匹配结果进行编码包括采取相匹配的字符串在所述滑动窗口中的匹配位置与其匹配长度的组合作为新编码。在本专利技术中,所述根据匹配结果进行编码包括采取原文字节和匹配长度为O作为新编码。在本专利技术中,还包括在所述编码完成后更新滑动窗口与前瞻窗口。在本专利技术中,所述更新滑动窗口与前瞻窗口包括对所述滑动窗口剔除最老的已编码原文,并将刚才编码的原文加到所述滑动窗口的尾部,而对所述前瞻窗口剔除刚才编码的原文,并将所述前瞻窗口外的新原文加到所述前瞻窗口的尾部。另一方面,本专利技术还提供一种用于上述利用冗余位的字典查询压缩方法中的装置,包括:使所述滑动窗口的内容与指示冗余位的比特流进行逻辑与运算的第一冗余位判断单元,使所述前瞻窗口的内容与所述指示冗余位的比特流进行逻辑与运算的第二冗余位判断单元,对所述第一单元和第二单元输出的内容进行匹配比较的比较单元。本专利技术的利用冗余位的字典查询压缩方法及装置将结合以下的实施形态及附图详细说明。附图说明图1为现有技术中的字典查询压缩方法的基本原理图;图2为现有技术中的字典查询压缩方法的流程图;图3为现有技术中的字典查询压缩方法中所采用的比较器的原理图4为本专利技术的字典查询压缩方法中所采用的加入冗余位处理的比较器的原理图;图5为现有的字典查询压缩的过程图;图6为带冗余位的字典查询压缩的过程图。具体实施例方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术的各实施方式进行详细的阐述。然而,本领域技术人员可以理解,在本专利技术各实施方式中,为了更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请各权利要求所要求保护的技术方案。以下,结合附图详细说明本专利技术的利用冗余位的字典查询压缩方法及装置。在本专利技术的字典查询压缩方法的一实施形态中,将最近已编码的N个字节作为滑动窗口,将即将要编码的L个字节作为前瞻窗口 ;其中,所述N为滑动窗口包含的字节数,所述L为前瞻窗口包含的字节数。以下说明本专利技术的字典查询压缩方法的具体内容。与如图2所示的现有技术中的字典查询压缩方法的主要流程相类似,本专利技术的字典查询压缩方法包括:在步骤210中,在滑动窗口中搜索尽可能长的与前瞻窗口匹配的部分。但是本专利技术主要就是针对该步骤210进行改进,其将在后文进行详述。接着,在步骤220中,判断在滑动窗口中是否搜索到与前瞻窗口匹配的部分。如果搜索到与前瞻窗口匹配的部分,则进入步骤230 ;如果未搜索到与前瞻窗口匹配的部分,则进入步骤240。当进入步骤230时,编码结果为(匹配位置,匹配长度);当进入步骤240时,编码结果为(原文字节,O)。然后进入步骤250,判断是否已到文件尾,如果为是则结束,否则进入步骤260,更新滑动窗口和前瞻窗口(采取先进先出的原则,对滑动窗口剔除最老的编码内容,以刚编码完成的内容置于该滑动窗口的尾部;对前瞻窗口即剔除刚编码完成的内容,再从原文取新内容置于该前瞻窗口的尾部),接着,再回到步骤210开始本文档来自技高网
...

【技术保护点】
一种利用冗余位的字典查询压缩方法,其特征在于,包括:将已编码的原文作为滑动窗口,并将即将要编码的原文作为前瞻窗口;对所述滑动窗口与所述前瞻窗口的内容分别进行冗余位判断;对进行所述冗余位判断后的所述滑动窗口与所述前瞻窗口的内容进行匹配比较,其中只对非冗余位的内容进行匹配比较,而对冗余位的内容一律视为匹配成功;根据匹配结果进行编码。

【技术特征摘要】
1.一种利用冗余位的字典查询压缩方法,其特征在于,包括: 将已编码的原文作为滑动窗口,并将即将要编码的原文作为前瞻窗口 ; 对所述滑动窗口与所述前瞻窗口的内容分别进行冗余位判断; 对进行所述冗余位判断后的所述滑动窗口与所述前瞻窗口的内容进行匹配比较,其中只对非冗余位的内容进行匹配比较,而对冗余位的内容一律视为匹配成功; 根据匹配结果进行编码。2.根据权利要求1所述的利用冗余位的字典查询压缩方法,其特征在于,所述冗余位判断包括将所述滑动窗口与所述前瞻窗口的内容分别与指示冗余位的比特流进行逻辑与运算。3.根据权利要求2所述的利用冗余位的字典查询压缩方法,其特征在于,所述指示冗余位的比特流包括随原文同时输入的另外的比特流。4.根据权利要求2所述的利用冗余位的字典查询压缩方法,其特征在于,所述指示冗余位的比特流包括直接根据原文特征产生的指示冗余位的比特流。5.根据上述权利要求1至4中任一项所述的利用冗余位的字典查询压缩方法,其特征在于,所述原文的每个信息单位为字节。6.根据权利要求5所述的利用冗余位的字典查询压缩方法,其...

【专利技术属性】
技术研发人员:黄寅胡兴微蒋玉东
申请(专利权)人:上海宇芯科技有限公司
类型:发明
国别省市:

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

1