整数压缩方法及装置与流程

文档序号:11929195阅读:来源:国知局

技术特征:

1.一种整数压缩方法,其特征在于,所述方法包括:

获取待压缩整数集合,所述待压缩整数集合中各个待压缩整数的整数长度相同,且各个所述待压缩整数的数值互不相同;

对各个所述待压缩整数进行桶排序,生成所述待压缩整数集合对应的目标位数组,所述目标位数组中的数组位与所述压缩整数集合中的所述待压缩整数对应;

通过预定压缩算法对所述目标位数组进行压缩,得到所述待压缩整数集合对应的压缩数据。

2.根据权利要求1所述的方法,其特征在于,所述对各个所述待压缩整数进行桶排序,生成所述待压缩整数集合对应的目标位数组,包括:

根据所述待压缩整数的所述整数长度生成初始位数组,所述初始位数组中包含2n个数组位,且各个数组位均为0,n为所述整数长度;

读取所述待压缩整数集合中各个所述待压缩整数;

将所述待压缩整数在所述初始位数组中对应的所述数组位设置为1,生成所述目标位数组。

3.根据权利要求1或2所述的方法,其特征在于,所述对各个所述待压缩整数进行桶排序,生成所述待压缩整数集合对应的目标位数组之前,包括:

获取内存容量;

根据所述待压缩整数的所述整数长度计算所述目标位数组的预计内存占用量,所述预计内存占用量为2n bit,n为所述整数长度;

若所述预计内存占用量小于所述内容容量,则执行所述对各个所述待压缩整数进行桶排序,生成所述待压缩整数集合对应的目标位数组的步骤。

4.根据权利要求1或2所述的方法,其特征在于,所述通过预定压缩算法对所述目标位数组进行压缩,得到所述待压缩整数集合对应的压缩数据之前,还包括:

获取所述待压缩集合中所述待压缩整数的数量以及所述待压缩整数的所述整数长度;

根据所述待压缩整数的数量以及所述整数长度计算所述待压缩整数集合的极限压缩率;

若所述极限压缩率小于预设压缩率阈值,则执行通过预定压缩算法对所述目标位数组进行压缩,得到所述待压缩整数集合对应的压缩数据的步骤。

5.根据权利要求4所述的方法,其特征在于,

所述极限压缩率=mn÷{-2n×[m/2n×log2(m/2n)+(1-m/2n)×log2(1-m/2n)]},

其中,m为所述待压缩整数的数量,n为所述整数长度。

6.根据权利要求1或2所述的方法,其特征在于,所述预定压缩算法为区间编码算法或算数编码算法。

7.一种整数压缩装置,其特征在于,所述装置包括:

第一获取模块,用于获取待压缩整数集合,所述待压缩整数集合中各个待压缩整数的整数长度相同,且各个所述待压缩整数的数值互不相同;

生成模块,用于对各个所述待压缩整数进行桶排序,生成所述待压缩整数集合对应的目标位数组,所述目标位数组中的数组位与所述压缩整数集合中的所述待压缩整数对应;

压缩模块,用于通过预定压缩算法对所述目标位数组进行压缩,得到所述待压缩整数集合对应的压缩数据。

8.根据权利要求7所述的装置,其特征在于,所述生成模块,包括:

第一生成单元,用于根据所述待压缩整数的所述整数长度生成初始位数组,所述初始位数组中包含2n个数组位,且各个数组位均为0,n为所述整数长度;

读取单元,用于读取所述待压缩整数集合中各个所述待压缩整数;

第二生成单元,用于将所述待压缩整数在所述初始位数组中对应的所述数组位设置为1,生成所述目标位数组。

9.根据权利要求7或8所述的装置,其特征在于,所述装置,包括:

第二获取模块,用于获取内存容量;

第一计算模块,用于根据所述待压缩整数的所述整数长度计算所述目标位数组的预计内存占用量,所述预计内存占用量为2n bit,n为所述整数长度;

所述生成模块,还用于在所述预计内存占用量小于所述内容容量时,对各个所述待压缩整数进行桶排序,生成所述待压缩整数集合对应的所述目标位数组。

10.根据权利要求7或8所述的装置,其特征在于,所述装置,还包括:

第三获取模块,用于获取所述待压缩集合中所述待压缩整数的数量以及所述待压缩整数的所述整数长度;

第二计算模块,用于根据所述待压缩整数的数量以及所述整数长度计算所述待压缩整数集合的极限压缩率;

所述压缩模块,还用于在所述极限压缩率小于预设压缩率阈值时,通过所述预定压缩算法对所述目标位数组进行压缩,得到所述待压缩整数集合对应的所述压缩数据。

11.根据权利要求10所述的装置,其特征在于,

所述极限压缩率=mn÷{-2n×[m/2n×log2(m/2n)+(1-m/2n)×log2(1-m/2n)]},

其中,m为所述待压缩整数的数量,n为所述整数长度。

12.根据权利要求7或8所述的装置,其特征在于,所述预定压缩算法为区间编码算法或算数编码算法。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1