[发明专利]一种哈夫曼修正编码方法、系统及相关组件在审
| 申请号: | 202110920688.5 | 申请日: | 2021-08-11 |
| 公开(公告)号: | CN113676187A | 公开(公告)日: | 2021-11-19 |
| 发明(设计)人: | 张永兴;刘宇豪 | 申请(专利权)人: | 山东云海国创云计算装备产业创新中心有限公司 |
| 主分类号: | H03M7/40 | 分类号: | H03M7/40 |
| 代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 刘翠香 |
| 地址: | 250001 山东省济南市自由贸易试验*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 哈夫曼 修正 编码 方法 系统 相关 组件 | ||
本申请公开了一种哈夫曼修正编码方法、系统及相关组件,该方法包括:获取目标文件中的目标数据块;对目标数据块中的所有目标元素进行频率分布统计并排序得到元素排序结果;利用元素排序结果构建第一哈夫曼树;判断第一哈夫曼树的深度是否超出预设值;若否,利用第一哈夫曼树对目标数据块编码;若是,则按照元素排序结果,将备份顺序码长表中的原始元素替换为目标元素得到目标顺序码长表,并生成对应目标顺序码长表的第二哈夫曼码表对目标数据块编码。本申请在哈夫曼树的深度超出预设值时利用备用顺序码长表和当前元素排序结果生成目标顺序码长表和第二哈夫曼码表进行编码,不需对第一哈夫曼码树遍历,同样达到校正超长码的效果,且效率明显提高。
技术领域
本发明涉及数据压缩领域,特别涉及一种哈夫曼修正编码方法、系统及相关组件。
背景技术
随着信息科学领域数据爆发式的增长,服务器对如何存储海量数据有较大压力,数据压缩成为减轻服务器存储负担、降低存储成本的有效手段。常见的数据压缩标准,如Gzip、zip、zlib等,会将数据块压缩封装为一种deflate格式的数据,deflate是一种无损数据压缩算法,其中采用LZ77算法查找数据中的重复数据,采用哈夫曼编码对重复数据进行表征和编码。
由于哈夫曼编码时经过排序生成的哈夫曼树可能存在过深、编码出现超长码的情况,在超过deflate协议规定的最大深度时,必须对超过最大深度的哈夫曼树进行校正。目前常用的超长码校正方法基于软件算法,需要遍历搜索二叉树,在其中找到超长节点的位置和超长节点的嫁接点。这种方法能够得到保证最优压缩率的哈夫曼树,但是遍历搜索耗时极高,特殊情况下不能并行遍历,极端情形下,校正哈夫曼树的时间消耗可能会数倍于构建哈夫曼树的时间消耗。
因此,如何提供一种解决上述技术问题的方案是目前本领域技术人员需要解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种哈夫曼修正编码方法、系统及相关组件。其具体方案如下:
一种哈夫曼修正编码方法,包括:
获取目标文件中的目标数据块;
对所述目标数据块中的所有目标元素进行频率分布统计并排序,得到元素排序结果;
利用所述元素排序结果构建第一哈夫曼树;
判断所述第一哈夫曼树的深度是否超出预设值;
若否,则利用所述第一哈夫曼树生成第一哈夫曼码表,并利用所述第一哈夫曼码表对所述目标数据块编码;
若是,则结合所述元素排序结果和备份顺序码长表得到目标顺序码长表,并按照协议规范生成对应所述目标顺序码长表的第二哈夫曼码表,利用所述第二哈夫曼码表对所述目标数据块编码;
其中,所述备份顺序码长表中码长最大值不超过所述预设值。
优选的,所述利用所述第一哈夫曼树生成第一哈夫曼码表,并利用所述第一哈夫曼码表对所述目标数据块编码之后,还包括:
当所述第一哈夫曼树的深度未超出所述预设值,根据所述第一哈夫曼树更新所述备份顺序码长表。
优选的,所述备份顺序码长表具体为所述目标文件中已编码数据块的所述第一哈夫曼树在未超出所述预设值时对应的顺序码长表。
优选的,所述已编码数据块具体为所述目标文件中与所述目标数据块相邻的已编码数据块。
优选的,所述预设值为15。
优选的,所述哈夫曼修正编码方法通过硬件电路实现。
相应的,本申请还公开了一种哈夫曼修正编码系统,包括获取模块,排序模块,构建模块,判断模块,表模块,编码模块:
所述获取模块用于获取目标文件中的目标数据块;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东云海国创云计算装备产业创新中心有限公司,未经山东云海国创云计算装备产业创新中心有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110920688.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:壁挂设备
- 下一篇:一种高炉用耐火砖制备装置及其制备方法





