当前位置: 首页 > 专利查询>河南大学专利>正文

基于霍夫曼编码的多类型数据分段压缩方法及系统技术方案

技术编号:37078341 阅读:45 留言:0更新日期:2023-03-29 19:54
本发明专利技术提供了一种基于霍夫曼编码的多类型数据分段压缩方法及系统,涉及数据处理技术领域,该方法包括:获取待压缩数据;使用不同的分组数分别对待压缩数据进行分组,获取每个分组数对应的每组数据的霍夫曼编码效率和编码时长;获取每个分组数的编码评分;根据每个编码评分获取最优分组数;根据最优分组数将待压缩数据分为多组,对每组待压缩数据进行霍夫曼编码并赋予标识码,完成待压缩数据的分段压缩;本发明专利技术通过对待压缩数据进行最优分组数下的霍夫曼编码,解决了相关技术中在对多类型的数据进行霍夫曼编码时,霍夫曼树较大导致的编码效率低下的技术问题。码效率低下的技术问题。码效率低下的技术问题。

【技术实现步骤摘要】
基于霍夫曼编码的多类型数据分段压缩方法及系统


[0001]本专利技术涉及数据处理
,具体涉及一种基于霍夫曼编码的多类型数据分段压缩方法及系统。

技术介绍

[0002]随着信息化的到来,每天都有海量的数据产生,对数据的压缩存储成为研究的热点。在数字系统中,可以对数据进行压缩以节省存储成本或减少传输时间。当前数据压缩方式有很多种,霍夫曼编码因为其编码原理简单、高效,在数据压缩中应用广泛。霍夫曼编码是根据同种数据类型出现的概率进行编码,同种数据类型出现的概率越大编码长度越短,同种数据类型出现的概率越小编码长度越长;通过对待压缩数据进行霍夫曼编码,可以实现对待压缩数据的无损压缩。
[0003]现有技术中在对数据进行霍夫曼编码压缩时,对数据中的每个类型数据依次进行霍夫曼编码压缩,因此,对于多类型数据来说在进行霍夫曼编码压缩后形成的霍夫曼树往往是巨大的,排在末尾的数据类型拥有较长的码长,造成致编码效率低下。

技术实现思路

[0004]为了解决相关技术中在对数据进行霍夫曼编码时存在霍夫曼树大,以及编码效率低下的技术问题,本专利技术提供了一种基于霍夫曼编码的多类型数据分段压缩方法及系统,该方法通过对待压缩数据进行多次分组,并根据每次分组后每组待压缩数据的霍夫曼编码效率和编码时长,获取每次分组后对待压缩数据的编码评分;根据编码评分获取最优分组数;根据最优分组数将所述待压缩数据分为多组数据;并对多组数据分别进行霍夫曼编码,并对编码后的数据赋予标识码,得到分段压缩后的待压缩数据;有鉴于此,本专利技术通过以下技术方案予以是实现。
[0005]本专利技术的一个方案提供了一种基于霍夫曼编码的多类型数据分段压缩方法,包括:
[0006]获取待压缩数据,并判断所述待压缩数据是否需要分段压缩;
[0007]获取需要分段压缩的待压缩数据,并使用多种不同的分组方式对所述待压缩数据进行分组,获取每次分组后每组待压缩数据进行霍夫曼编码时的编码效率和编码时长;
[0008]根据每次分组后每组待压缩数据的编码效率和编码时长,获取每次分组后对待压缩数据的目标编码评分;根据所述目标编码评分获取最优编码评分,根据所述最优编码评分获取对所述待压缩数据的最优分组数;
[0009]根据所述最优分组数对所述待压缩数据进行分组,对分组后的所述待压缩数据进行霍夫曼编码,并对编码后的数据赋予标识码,得到分段压缩后的待压缩数据。
[0010]进一步地,判断所述待压缩数据是否需要分段压缩的过程为:
[0011]获取所述待压缩数据进行第一霍夫曼编码时的第一编码效率和第一编码时长;根据所述第一编码效率和第一编码时长获取第一编码评分;
[0012]将所述待压缩数据分为两组,分别获取每组待压缩数据进行第二霍夫曼码时的编码效率和编码时长;根据每组待压缩数据进行第二霍夫曼编码时的编码效率和编码时长获取第二编码评分;当所述第二编码评分大于所述第一编码评分时,所述待压缩数据需要分段压缩。
[0013]进一步地,所述第一编码评分通过第一编码效率与第一编码时长的比值得到;所述第二编码评分通过将每组待压缩数据的编码评分进行加和得到。
[0014]进一步地,获取每次分组后对待压缩数据的目标编码评分的过程中,所述目标编码评分通过将每次分组后每组待压缩数据的编码评分进行求和得到。
[0015]进一步地,根据所述最优编码评分获取对所述待压缩数据的最优分组数的过程中,将最大目标编码评分作为最优编码评分,并将最优编码评分对应的分组数确定为最优分组数。
[0016]进一步地,根据所述最优编码评分获取对所述待压缩数据的最优分组数的过程为:
[0017]根据每个分组数对应的目标编码评分拟合一个关于目标编码评分和分组数的函数,以所述分组数为横坐标,所述目标编码评分为纵坐标作曲线图;选取所述曲线图中最大目标编码评分对应的分组数作为最优分组数。
[0018]进一步地,选取所述曲线图中最大目标编码评分对应的分组数作为最优分组数的过程中,当所述最大目标编码评分对应的分组数为非整数时,对所述非整数进行就近向上或向下取整数,并将所述整数作为最优分组数。
[0019]本专利技术的另一个方案提供了一种基于霍夫曼编码的多类型数据分段压缩系统,包括:
[0020]数据获取模块,用于获取待压缩数据,并判断所述待压缩数据是否需要分段压缩;
[0021]数据分组模块,用于使用多种不同的分组方式对所述数据获取模块获取的需要分段压缩的待压缩数据进行分组,获取每次分组后每组待压缩数据进行霍夫曼编码时的编码效率和编码时长;根据所述目标编码评分获取最优编码评分,根据所述最优编码评分获取对所述待压缩数据的最优分组数;
[0022]数据压缩模块,用于根据所述数据分组模块获得的最优分组数对所述待压缩数据进行分组,对分组后的所述待压缩数据进行霍夫曼编码,并对编码后的数据赋予标识码,得到分段压缩后的待压缩数据。
[0023]与现有技术相比,本专利技术的有益效果是:
[0024]本专利技术提供了一种基于霍夫曼编码的多类型数据分段压缩方法及系统,该方法包括:获取待压缩数据,并判断待压缩数据是否需要进行分段压缩;在判断待压缩数据是否需要进行分段压缩的过程中,当待压缩数据需要进行分段压缩,说明对待压缩数据进行分段压缩时压缩效率会更高,当待压缩数据不需要分段压缩时,直接对待压缩数据进行霍夫曼编码即可,并再次获取待压缩数据,直至得到需要分段压缩的待压缩数据;使用多种不同的分组方式对待压缩数据进行分组,获取每次分组后每组待压缩数据的霍夫曼编码效率和编码时长;根据每次分组后每组待压缩数据的霍夫曼编码效率和编码时长,获取每次分组后对待压缩数据的目标编码评分;在获得每次分组后对待压缩数据的目标编码评分后,根据每次分组后对待压缩数据的目标编码评分可得出最优评分对应的分组次数,获取最优编码
评分,根据最优编码评分获取对待压缩数据的最优分组数;根据最优分组数对待压缩数据进行分组,由此实现对待压缩数据的最佳分组数,根据最佳分组数对待压缩数据分为多组,对每组待压缩数据进行霍夫曼编码,可实现对待压缩数据最大效率的压缩;对分组后的待压缩数据进行霍夫曼编码,能够减小编码时的霍夫曼树,对编码后的数据赋予标识码,得到分段压缩后的待压缩数据;本专利技术的技术方案通过对待压缩数据进行最优分组数下的霍夫曼编码,解决了相关技术中,在对多类型的数据进行霍夫曼编码时,霍夫曼树较大导致的编码效率低下的技术问题。
附图说明
[0025]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0026]图1为本专利技术实施例提供的分段压缩方法的流程示意图;
[0027]图2为本专利技术实施例提供的分段压缩系统的原理示意图。
具体实施方式
[0028]下面将本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于霍夫曼编码的多类型数据分段压缩方法,其特征在于,包括以下步骤:获取待压缩数据,并判断所述待压缩数据是否需要分段压缩;获取需要分段压缩的待压缩数据,并使用多种不同的分组方式对所述待压缩数据进行分组,获取每次分组后每组待压缩数据进行霍夫曼编码时的编码效率和编码时长;根据每次分组后每组待压缩数据的编码效率和编码时长,获取每次分组后对待压缩数据的目标编码评分;根据所述目标编码评分获取最优编码评分,根据所述最优编码评分获取对所述待压缩数据的最优分组数;根据所述最优分组数对所述待压缩数据进行分组,对分组后的所述待压缩数据进行霍夫曼编码,并对编码后的数据赋予标识码,得到分段压缩后的待压缩数据。2.根据权利要求1所述的基于霍夫曼编码的多类型数据分段压缩方法,其特征在于,判断所述待压缩数据是否需要分段压缩的过程为:获取所述待压缩数据进行第一霍夫曼编码时的第一编码效率和第一编码时长;根据所述第一编码效率和第一编码时长获取第一编码评分;将所述待压缩数据分为两组,分别获取每组待压缩数据进行第二霍夫曼码时的编码效率和编码时长;根据每组待压缩数据进行第二霍夫曼编码时的编码效率和编码时长获取第二编码评分;当所述第二编码评分大于所述第一编码评分时,所述待压缩数据需要分段压缩。3.根据权利要求2所述的基于霍夫曼编码的多类型数据分段压缩方法,其特征在于,所述第一编码评分通过第一编码效率与第一编码时长的比值得到;所述第二编码评分通过将每组待压缩数据的编码评分进行加和得到。4.根据权利要求1所述的基于霍夫曼编码的多类型数据分段压缩方法,其特征在于,获取每次分组后对待压缩数据的目标编码评分的过程中,所述目标编码评分通过将每次分组后每组待...

【专利技术属性】
技术研发人员:刘凤桐
申请(专利权)人:河南大学
类型:发明
国别省市:

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

1