霍夫曼编码方法、系统及设备.pdf
《霍夫曼编码方法、系统及设备.pdf》由会员分享,可在线阅读,更多相关《霍夫曼编码方法、系统及设备.pdf(22页完成版)》请在专利查询网上搜索。
1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 202010820245.4 (22)申请日 2020.08.14 (71)申请人 山东云海国创云计算装备产业创新 中心有限公司 地址 250001 山东省济南市自由贸易试验 区济南片区浪潮路1036号浪潮科技园 S01楼35层 (72)发明人 秦臻袁涛李树青王金富 (74)专利代理机构 北京集佳知识产权代理有限 公司 11227 代理人 王雨 (51)Int.Cl. H03M 7/40(2006.01) (54)发明名称 一种霍夫曼编码方法、 系统及设备 (57)摘要 本申请公。
2、开了一种霍夫曼编码方法、 系统及 设备, 获取待编码数据; 统计待编码数据中的待 编码字符和待编码字符的出现频率; 统计在对待 编码字符进行霍夫曼编码的过程中, 待编码字符 的被应用次数; 将待编码字符的被应用次数作为 待编码字符的码长; 基于待编码字符的出现频率 及待编码字符的码长, 确定待编码字符的霍夫曼 编码值, 以对待编码数据进行霍夫曼编码; 其中, 在对待编码字符进行霍夫曼编码的过程中, 禁止 生成二叉树。 本申请中, 无需生成二叉树, 避免了 存储二叉树带来的内存消耗; 且只需记录待编码 字符的被应用次数, 记录的内容简单且少, 便于 软硬件实现; 此外, 可以提高霍夫曼编码的效率。
3、, 局限性低。 权利要求书3页 说明书12页 附图6页 CN 112003625 A 2020.11.27 CN 112003625 A 1.一种霍夫曼编码方法, 其特征在于, 包括: 获取待编码数据; 统计所述待编码数据中的待编码字符和所述待编码字符的出现频率; 统计在对所述待编码字符进行霍夫曼编码的过程中, 所述待编码字符的被应用次数; 将所述待编码字符的被应用次数作为所述待编码字符的码长; 基于所述待编码字符的出现频率及所述待编码字符的码长, 确定所述待编码字符的霍 夫曼编码值, 以对所述待编码数据进行霍夫曼编码; 其中, 在对所述待编码字符进行霍夫曼编码的过程中, 禁止生成二叉树。 2。
4、.根据权利要求1所述的方法, 其特征在于, 所述统计在对所述待编码字符进行霍夫曼 编码的过程中, 所述待编码字符的被应用次数, 包括: 初始化所述待编码字符的被应用次数; 在所述待编码字符的出现频率中, 选取两个值最小的所述出现频率进行合并, 得到合 并后的所述出现频率, 重新对所述待编码字符的出现频率进行排序, 并更新当前轮选取的 所述出现频率对应的所述待编码字符的被应用次数; 判断所述待编码字符的出现频率值的数量是否为1, 若所述待编码字符的出现频率值 的数量不为1, 则返回执行所述在所述待编码字符的出现频率中, 选取两个值最小的所述出 现频率进行合并的步骤; 若所述待编码字符的出现频率值。
5、的数量为1, 则输出所述待编码字 符的被应用次数。 3.根据权利要求2所述的方法, 其特征在于, 所述在所述待编码字符的出现频率中, 选 取两个值最小的所述出现频率进行合并, 得到合并后的所述出现频率, 重新对所述待编码 字符的出现频率进行排序, 并更新当前轮选取的所述出现频率对应的所述待编码字符的被 应用次数, 包括: 确定所述待编码字符的标识信息, 且所述标识信息的类型为数字; 初始化设置的第一标识信息及第二标识信息; 在所述待编码字符的出现频率中, 选取两个值最小的所述出现频率进行合并, 得到合 并后的所述出现频率; 解析选取的两个所述出现频率的类型; 若选取的两个所述出现频率均为所述待。
6、编码字符原始的所述出现频率, 则计算选取的 两个所述出现频率对应的所述待编码字符的标识信息的和值, 将所述和值作为所述第一标 识信息及选取的两个所述出现频率对应的所述待编码字符的当前标识信息的值, 将当前标 识信息等于所述第一标识信息的已被应用的所述待编码字符的被应用次数加1; 若选取的两个所述出现频率中, 一个为所述待编码字符原始的所述出现频率, 一个为 合并后的所述出现频率, 则将合并后的所述出现频率对应的所述待编码字符的原始标识信 息的和值作为所述第一标识信息的值, 将所述第一标识信息的值作为另一选取的所述出现 频率对应的所述待编码字符的当前标识信息, 将所述第一标识信息的值作为合并后的。
7、所述 出现频率对应的所述待编码字符的当前标识信息的值, 将当前标识信息等于所述第一标识 信息的已被应用的所述待编码字符的被应用次数加1; 若选取的两个所述出现频率均为合并后的所述出现频率, 则将选取的被应用次数多的 所述出现频率作为第一出现频率, 将另一选取的所述出现频率作为第二出现频率, 将所述 权利要求书 1/3 页 2 CN 112003625 A 2 第一出现频率对应的所述待编码字符的原始标识信息的和值作为所述第一标识信息, 将所 述第二出现频率对应的所述待编码字符的当前标识信息作为所述第二标识信息, 将当前标 识信息小于等于所述第二标识信息的已被应用的所述待编码字符的当前标识信息更新。
8、为 所述第一标识信息, 将当前标识信息等于所述第一标识信息的已被应用的所述待编码字符 的被应用次数加1。 4.根据权利要求3所述的方法, 其特征在于, 所述在所述待编码字符的出现频率中, 选 取两个值最小的所述出现频率进行合并, 得到合并后的所述出现频率, 重新对所述待编码 字符的出现频率进行排序, 并更新当前轮选取的所述出现频率对应的所述待编码字符的被 应用次数的过程中, 包括: 按照待编码字符、 待编码字符的被应用次数、 待编码字符的当前标识信息、 第一标识信 息、 第二标识信息的格式记录对应数据。 5.根据权利要求3所述的方法, 其特征在于, 所述待编码字符的标识信息的值大于预设 值。 。
9、6.一种霍夫曼编码系统, 其特征在于, 包括: 第一获取模块, 用于获取待编码数据; 第一统计模块, 用于统计所述待编码数据中的待编码字符和所述待编码字符的出现频 率; 第二统计模块, 用于统计在对所述待编码字符进行霍夫曼编码的过程中, 所述待编码 字符的被应用次数; 第一处理模块, 用于将所述待编码字符的被应用次数作为所述待编码字符的码长; 第一确定模块, 用于基于所述待编码字符的出现频率及所述待编码字符的码长, 确定 所述待编码字符的霍夫曼编码值, 以对所述待编码数据进行霍夫曼编码; 其中, 在对所述待编码字符进行霍夫曼编码的过程中, 禁止生成二叉树。 7.根据权利要求6所述的系统, 其特。
10、征在于, 所述第二统计模块包括: 第一初始化子模块, 用于初始化所述待编码字符的被应用次数; 第一统计子模块, 用于在所述待编码字符的出现频率中, 选取两个值最小的所述出现 频率进行合并, 得到合并后的所述出现频率, 重新对所述待编码字符的出现频率进行排序, 并更新当前轮选取的所述出现频率对应的所述待编码字符的被应用次数; 第一判断模块, 用于判断所述待编码字符的出现频率值的数量是否为1, 若所述待编码 字符的出现频率值的数量不为1, 则提示所述第一统计子模块执行所述在所述待编码字符 的出现频率中, 选取两个值最小的所述出现频率进行合并的步骤; 若所述待编码字符的出 现频率值的数量为1, 则输。
11、出所述待编码字符的被应用次数。 8.根据权利要求7所述的系统, 其特征在于, 所述第一统计子模块包括: 第一确定单元, 用于确定所述待编码字符的标识信息, 且所述标识信息的类型为数字; 第一初始化单元, 用于初始化设置的第一标识信息及第二标识信息; 第一合并单元, 用于在所述待编码字符的出现频率中, 选取两个值最小的所述出现频 率进行合并, 得到合并后的所述出现频率; 第一解析单元, 用于解析选取的两个所述出现频率的类型; 第一处理单元, 用于若选取的两个所述出现频率均为所述待编码字符原始的所述出现 权利要求书 2/3 页 3 CN 112003625 A 3 频率, 则计算选取的两个所述出现。
12、频率对应的所述待编码字符的标识信息的和值, 将所述 和值作为所述第一标识信息及选取的两个所述出现频率对应的所述待编码字符的当前标 识信息的值, 将当前标识信息等于所述第一标识信息的已被应用的所述待编码字符的被应 用次数加1; 第二处理单元, 用于若选取的两个所述出现频率中, 一个为所述待编码字符原始的所 述出现频率, 一个为合并后的所述出现频率, 则将合并后的所述出现频率对应的所述待编 码字符的原始标识信息的和值作为所述第一标识信息的值, 将所述第一标识信息的值作为 另一选取的所述出现频率对应的所述待编码字符的当前标识信息, 将所述第一标识信息的 值作为合并后的所述出现频率对应的所述待编码字符。
13、的当前标识信息的值, 将当前标识信 息等于所述第一标识信息的已被应用的所述待编码字符的被应用次数加1; 第三处理单元, 用于若选取的两个所述出现频率均为合并后的所述出现频率, 则将选 取的被应用次数多的所述出现频率作为第一出现频率, 将另一选取的所述出现频率作为第 二出现频率, 将所述第一出现频率对应的所述待编码字符的原始标识信息的和值作为所述 第一标识信息, 将所述第二出现频率对应的所述待编码字符的当前标识信息作为所述第二 标识信息, 将当前标识信息小于等于所述第二标识信息的已被应用的所述待编码字符的当 前标识信息更新为所述第一标识信息, 将当前标识信息等于所述第一标识信息的已被应用 的所述。
14、待编码字符的被应用次数加1。 9.根据权利要求8所述的系统, 其特征在于, 所述第二统计模块包括: 第一记录单元, 用于按照待编码字符、 待编码字符的被应用次数、 待编码字符的当前标 识信息、 第一标识信息、 第二标识信息的格式记录对应数据。 10.一种霍夫曼编码设备, 其特征在于, 包括: 存储器, 用于存储计算机程序; 处理器, 用于执行所述计算机程序时实现如权利要求1至5任一项所述霍夫曼编码方法 的步骤。 权利要求书 3/3 页 4 CN 112003625 A 4 一种霍夫曼编码方法、 系统及设备 技术领域 0001 本申请涉及数字编码技术领域, 更具体地说, 涉及一种霍夫曼编码方法、。
15、 系统、 及 设备。 背景技术 0002 当前, 随着科学技术的不断发展, 数据信息呈现出爆炸时的增长。 云计算的兴起, 人工智能的推进, 大数据时代的到来, 新的工作负载不断增大, 海量数据传输和存储的问题 不断引起关注, 如何能够高效的传输海量数据, 同时不对处理器造成过于沉重负荷的问题 亟待解决。 如果能够在文件传输时进行预先压缩, 不仅可以节省数据流量, 同时也降低了传 输时间; 如果在读取磁盘文件之前对文件进行压缩, 就可以提高文件读取的速率; 总而言 之, 压缩数据从一个新的角度提供了改善计算机性能的方法, 对其的研究具有重要的现实 意义。 0003 在此过程中, 霍夫曼编码的应用。
16、越来越多, 霍夫曼编码是由David A Huffman在 1952年发明的无损数据压缩编码, 其编码过程如下: 首先读文件, 统计每个字符出现次数, 根据每个符号出现的次数, 建立霍夫曼树, 创建霍夫曼表为每个字符编码, 将文件的每个符 号替换成它的霍夫曼编码并输出。 0004 然而, 在霍夫曼编码的过程中, 需要直接迭代构造霍夫曼树, 生成过程繁琐, 且二 叉树的数据存储形式不利于硬件实现, 对软件实现也会有计算量大、 浪费存储的困难, 使得 霍夫曼编码的局限性较大。 0005 综上所述, 如何降低霍夫曼编码的局限性是目前本领域技术人员亟待解决的问 题。 发明内容 0006 本申请的目的是。
17、提供一种霍夫曼编码方法, 其能在一定程度上解决如何降低霍夫 曼编码的局限性的技术问题。 本申请还提供了一种霍夫曼编码系统及设备。 0007 为了实现上述目的, 本申请提供如下技术方案: 0008 一种霍夫曼编码方法, 包括: 0009 获取待编码数据; 0010 统计所述待编码数据中的待编码字符和所述待编码字符的出现频率; 0011 统计在对所述待编码字符进行霍夫曼编码的过程中, 所述待编码字符的被应用次 数; 0012 将所述待编码字符的被应用次数作为所述待编码字符的码长; 0013 基于所述待编码字符的出现频率及所述待编码字符的码长, 确定所述待编码字符 的霍夫曼编码值, 以对所述待编码数。
18、据进行霍夫曼编码; 0014 其中, 在对所述待编码字符进行霍夫曼编码的过程中, 禁止生成二叉树。 0015 优选的, 所述统计在对所述待编码字符进行霍夫曼编码的过程中, 所述待编码字 说明书 1/12 页 5 CN 112003625 A 5 符的被应用次数, 包括: 0016 初始化所述待编码字符的被应用次数; 0017 在所述待编码字符的出现频率中, 选取两个值最小的所述出现频率进行合并, 得 到合并后的所述出现频率, 重新对所述待编码字符的出现频率进行排序, 并更新当前轮选 取的所述出现频率对应的所述待编码字符的被应用次数; 0018 判断所述待编码字符的出现频率值的数量是否为1, 若。
19、所述待编码字符的出现频 率值的数量不为1, 则返回执行所述在所述待编码字符的出现频率中, 选取两个值最小的所 述出现频率进行合并的步骤; 若所述待编码字符的出现频率值的数量为1, 则输出所述待编 码字符的被应用次数。 0019 优选的, 所述在所述待编码字符的出现频率中, 选取两个值最小的所述出现频率 进行合并, 得到合并后的所述出现频率, 重新对所述待编码字符的出现频率进行排序, 并更 新当前轮选取的所述出现频率对应的所述待编码字符的被应用次数, 包括: 0020 确定所述待编码字符的标识信息, 且所述标识信息的类型为数字; 0021 初始化设置的第一标识信息及第二标识信息; 0022 在所。
20、述待编码字符的出现频率中, 选取两个值最小的所述出现频率进行合并, 得 到合并后的所述出现频率; 0023 解析选取的两个所述出现频率的类型; 0024 若选取的两个所述出现频率均为所述待编码字符原始的所述出现频率, 则计算选 取的两个所述出现频率对应的所述待编码字符的标识信息的和值, 将所述和值作为所述第 一标识信息及选取的两个所述出现频率对应的所述待编码字符的当前标识信息的值, 将当 前标识信息等于所述第一标识信息的已被应用的所述待编码字符的被应用次数加1; 0025 若选取的两个所述出现频率中, 一个为所述待编码字符原始的所述出现频率, 一 个为合并后的所述出现频率, 则将合并后的所述出。
21、现频率对应的所述待编码字符的原始标 识信息的和值作为所述第一标识信息的值, 将所述第一标识信息的值作为另一选取的所述 出现频率对应的所述待编码字符的当前标识信息, 将所述第一标识信息的值作为合并后的 所述出现频率对应的所述待编码字符的当前标识信息的值, 将当前标识信息等于所述第一 标识信息的已被应用的所述待编码字符的被应用次数加1; 0026 若选取的两个所述出现频率均为合并后的所述出现频率, 则将选取的被应用次数 多的所述出现频率作为第一出现频率, 将另一选取的所述出现频率作为第二出现频率, 将 所述第一出现频率对应的所述待编码字符的原始标识信息的和值作为所述第一标识信息, 将所述第二出现频。
22、率对应的所述待编码字符的当前标识信息作为所述第二标识信息, 将当 前标识信息小于等于所述第二标识信息的已被应用的所述待编码字符的当前标识信息更 新为所述第一标识信息, 将将当前标识信息等于所述第一标识信息的已被应用的所述待编 码字符的被应用次数加1。 0027 优选的, 所述在所述待编码字符的出现频率中, 选取两个值最小的所述出现频率 进行合并, 得到合并后的所述出现频率, 重新对所述待编码字符的出现频率进行排序, 并更 新当前轮选取的所述出现频率对应的所述待编码字符的被应用次数的过程中, 包括: 0028 按照待编码字符、 待编码字符的被应用次数、 待编码字符的当前标识信息、 第一标 识信息。
23、、 第二标识信息的格式记录对应数据。 说明书 2/12 页 6 CN 112003625 A 6 0029 优选的, 所述待编码字符的标识信息的值大于预设值。 0030 一种霍夫曼编码系统, 包括: 0031 第一获取模块, 用于获取待编码数据; 0032 第一统计模块, 用于统计所述待编码数据中的待编码字符和所述待编码字符的出 现频率; 0033 第二统计模块, 用于统计在对所述待编码字符进行霍夫曼编码的过程中, 所述待 编码字符的被应用次数; 0034 第一处理模块, 用于将所述待编码字符的被应用次数作为所述待编码字符的码 长; 0035 第一确定模块, 用于基于所述待编码字符的出现频率及。
24、所述待编码字符的码长, 确定所述待编码字符的霍夫曼编码值, 以对所述待编码数据进行霍夫曼编码; 0036 其中, 在对所述待编码字符进行霍夫曼编码的过程中, 禁止生成二叉树。 0037 优选的, 所述第二统计模块包括: 0038 第一初始化子模块, 用于初始化所述待编码字符的被应用次数; 0039 第一统计子模块, 用于在所述待编码字符的出现频率中, 选取两个值最小的所述 出现频率进行合并, 得到合并后的所述出现频率, 重新对所述待编码字符的出现频率进行 排序, 并更新当前轮选取的所述出现频率对应的所述待编码字符的被应用次数; 0040 第一判断模块, 用于判断所述待编码字符的出现频率值的数量。
25、是否为1, 若所述待 编码字符的出现频率值的数量不为1, 则提示所述第一统计子模块执行所述在所述待编码 字符的出现频率中, 选取两个值最小的所述出现频率进行合并的步骤; 若所述待编码字符 的出现频率值的数量为1, 则输出所述待编码字符的被应用次数。 0041 优选的, 所述第一统计子模块包括: 0042 第一确定单元, 用于确定所述待编码字符的标识信息, 且所述标识信息的类型为 数字; 0043 第一初始化单元, 用于初始化设置的第一标识信息及第二标识信息; 0044 第一合并单元, 用于在所述待编码字符的出现频率中, 选取两个值最小的所述出 现频率进行合并, 得到合并后的所述出现频率; 00。
26、45 第一解析单元, 用于解析选取的两个所述出现频率的类型; 0046 第一处理单元, 用于若选取的两个所述出现频率均为所述待编码字符原始的所述 出现频率, 则计算选取的两个所述出现频率对应的所述待编码字符的标识信息的和值, 将 所述和值作为所述第一标识信息及选取的两个所述出现频率对应的所述待编码字符的当 前标识信息的值, 将当前标识信息等于所述第一标识信息的已被应用的所述待编码字符的 被应用次数加1; 0047 第二处理单元, 用于若选取的两个所述出现频率中, 一个为所述待编码字符原始 的所述出现频率, 一个为合并后的所述出现频率, 则将合并后的所述出现频率对应的所述 待编码字符的原始标识信。
27、息的和值作为所述第一标识信息的值, 将所述第一标识信息的值 作为另一选取的所述出现频率对应的所述待编码字符的当前标识信息, 将所述第一标识信 息的值作为合并后的所述出现频率对应的所述待编码字符的当前标识信息的值, 将当前标 识信息等于所述第一标识信息的已被应用的所述待编码字符的被应用次数加1; 说明书 3/12 页 7 CN 112003625 A 7 0048 第三处理单元, 用于若选取的两个所述出现频率均为合并后的所述出现频率, 则 将选取的被应用次数多的所述出现频率作为第一出现频率, 将另一选取的所述出现频率作 为第二出现频率, 将所述第一出现频率对应的所述待编码字符的原始标识信息的和值。
28、作为 所述第一标识信息, 将所述第二出现频率对应的所述待编码字符的当前标识信息作为所述 第二标识信息, 将当前标识信息小于等于所述第二标识信息的已被应用的所述待编码字符 的当前标识信息更新为所述第一标识信息, 将将当前标识信息等于所述第一标识信息的已 被应用的所述待编码字符的被应用次数加1。 0049 优选的, 所述第二统计模块包括: 0050 第一记录单元, 用于按照待编码字符、 待编码字符的被应用次数、 待编码字符的当 前标识信息、 第一标识信息、 第二标识信息的格式记录对应数据。 0051 一种霍夫曼编码设备, 包括: 0052 存储器, 用于存储计算机程序; 0053 处理器, 用于执。
29、行所述计算机程序时实现如上任一所述霍夫曼编码方法的步骤。 0054 本申请提供的一种霍夫曼编码方法, 获取待编码数据; 统计待编码数据中的待编 码字符和待编码字符的出现频率; 统计在对待编码字符进行霍夫曼编码的过程中, 待编码 字符的被应用次数; 将待编码字符的被应用次数作为待编码字符的码长; 基于待编码字符 的出现频率及待编码字符的码长, 确定待编码字符的霍夫曼编码值, 以对待编码数据进行 霍夫曼编码; 其中, 在对待编码字符进行霍夫曼编码的过程中, 禁止生成二叉树。 本申请中, 无需生成二叉树, 避免了存储二叉树带来的内存消耗; 且只需统计在对待编码字符进行霍 夫曼编码的过程中, 待编码字。
30、符的被应用次数, 所以本申请只需记录待编码字符的被应用 次数, 记录的内容简单且少, 便于软硬件实现; 此外, 只需将待编码字符的被应用次数作为 待编码字符的码长, 基于待编码字符的出现频率及待编码字符的码长, 便可确定待编码字 符的霍夫曼编码值, 简便了霍夫曼编码值的确定方式, 可以提高霍夫曼编码的效率, 局限性 低。 本申请提供的一种霍夫曼编码系统及设备也解决了相应技术问题。 附图说明 0055 为了更清楚地说明本申请实施例或现有技术中的技术方案, 下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本 申请的实施例, 对于本领域普通技术人员。
31、来讲, 在不付出创造性劳动的前提下, 还可以根据 提供的附图获得其他的附图。 0056 图1为本申请实施例提供的一种霍夫曼编码方法的流程图; 0057 图2为本申请实施例提供的待编码数据的示意图; 0058 图3为待编码数据的添加结果图; 0059 图4为待编码数据的第一步运行结果图; 0060 图5为待编码数据的第二步运行结果图; 0061 图6为待编码数据的第三步运行结果图; 0062 图7为待编码数据的第四步运行结果图; 0063 图8为待编码数据的第五步运行结果图; 0064 图9为本申请实施例提供的一种霍夫曼编码系统的结构示意图; 说明书 4/12 页 8 CN 112003625 。
32、A 8 0065 图10为本申请实施例提供的一种霍夫曼编码设备的结构示意图; 0066 图11为本申请实施例提供的一种霍夫曼编码设备的另一结构示意图。 具体实施方式 0067 下面将结合本申请实施例中的附图, 对本申请实施例中的技术方案进行清楚、 完 整地描述, 显然, 所描述的实施例仅仅是本申请一部分实施例, 而不是全部的实施例。 基于 本申请中的实施例, 本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例, 都属于本申请保护的范围。 0068 请参阅图1, 图1为本申请实施例提供的一种霍夫曼编码方法的流程图。 0069 本申请实施例提供的一种霍夫曼编码方法, 可以包括以下。
33、步骤: 0070 步骤S101: 获取待编码数据。 0071 实际应用中, 可以先获取待编码数据, 待编码数据的类型可以根据实际需要确定, 本申请在此不做具体限定, 比如待编码数据可以为视频数据、 音频数据等。 0072 步骤S102: 统计待编码数据中的待编码字符和待编码字符的出现频率。 0073 实际应用中, 因为霍夫曼编码过程中需要依据待编码数据中每个字符的出现频 率, 所以在获取待编码数据之后, 需要统计待编码数据中的待编码字符和待编码字符的出 现频率。 0074 步骤S103: 统计在对待编码字符进行霍夫曼编码的过程中, 待编码字符的被应用 次数; 其中, 在对待编码字符进行霍夫曼编。
34、码的过程中, 禁止生成二叉树。 0075 实际应用中, 因为二叉树会占用较多的内存, 且不利于软硬件实现, 所以本申请 中, 在对待编码字符进行霍夫曼编码的过程中, 禁止生成二叉树; 此外, 本申请的申请人发 现, 在生成二叉树的过程中, 待编码字符被应用的次数越多, 待编码字符在二叉树中的位置 越靠下, 而待编码字符被应用的次数相当于待编码字符的码长, 所以可以根据待编码字符 被应用的次数来确定待编码字符的霍夫曼编码值, 也即本申请只统计待编码字符的被应用 次数即可, 相应的, 本申请只需记录待编码字符被应用的次数即可。 0076 步骤S104: 将待编码字符的被应用次数作为待编码字符的码长。
35、。 0077 步骤S105: 基于待编码字符的出现频率及待编码字符的码长, 确定待编码字符的 霍夫曼编码值, 以对待编码数据进行霍夫曼编码。 0078 实际应用中, 在得到待编码字符的被应用次数之后, 便可以将待编码字符的被应 用次数作为待编码字符的码长, 并基于待编码字符的出现频率及待编码字符的码长, 确定 待编码字符的霍夫曼编码值, 以对待编码数据进行霍夫曼编码。 0079 应当指出, 在基于待编码字符的出现频率及待编码字符的码长, 确定待编码字符 的霍夫曼编码值, 以对待编码数据进行霍夫曼编码的过程中, 可以先按照待编码字符的出 现频率从小到大的顺序, 对待编码字符进行排序, 再根据排序。
36、后的待编码字符的位置及码 长确定各个待编码字符的霍夫曼编码值。 基于待编码字符的霍夫曼编码值对待编码数据进 行霍夫曼编码的过程, 可以参阅现有技术, 在此不再赘述。 0080 本申请提供的一种霍夫曼编码方法, 获取待编码数据; 统计待编码数据中的待编 码字符和待编码字符的出现频率; 统计在对待编码字符进行霍夫曼编码的过程中, 待编码 字符的被应用次数; 将待编码字符的被应用次数作为待编码字符的码长; 基于待编码字符 说明书 5/12 页 9 CN 112003625 A 9 的出现频率及待编码字符的码长, 确定待编码字符的霍夫曼编码值, 以对待编码数据进行 霍夫曼编码; 其中, 在对待编码字符。
37、进行霍夫曼编码的过程中, 禁止生成二叉树。 本申请中, 无需生成二叉树, 避免了存储二叉树带来的内存消耗; 且只需统计在对待编码字符进行霍 夫曼编码的过程中, 待编码字符的被应用次数, 所以本申请只需记录待编码字符的被应用 次数, 记录的内容简单且少, 便于软硬件实现; 此外, 只需将待编码字符的被应用次数作为 待编码字符的码长, 基于待编码字符的出现频率及待编码字符的码长, 便可确定待编码字 符的霍夫曼编码值, 简便了霍夫曼编码值的确定方式, 可以提高霍夫曼编码的效率, 局限性 低。 0081 本申请实施例提供的一种霍夫曼编码方法中, 在统计在对待编码字符进行霍夫曼 编码的过程中, 待编码字。
38、符的被应用次数的过程中, 可以: 0082 初始化待编码字符的被应用次数; 0083 在待编码字符的出现频率中, 选取两个值最小的出现频率进行合并, 得到合并后 的出现频率, 重新对待编码字符的出现频率进行排序, 并更新当前轮选取的出现频率对应 的待编码字符的被应用次数; 0084 判断待编码字符的出现频率值的数量是否为1, 若待编码字符的出现频率值的数 量不为1, 则返回执行在待编码字符的出现频率中, 选取两个值最小的出现频率进行合并的 步骤; 若待编码字符的出现频率值的数量为1, 则输出待编码字符的被应用次数。 0085 应当指出, 在初始化待编码字符的被应用次数的过程中, 可以将待编码字。
39、符的被 应用次数初始化为0, 这样, 后续可以直接将最终的待编码字符的被应用次数作为待编码字 符的码长。 0086 本申请实施例提供的一种霍夫曼编码方法中, 因为会出现合并的出现频率, 此时 属于间接应用待编码字符, 会给待编码字符的被应用次数的统计带来困难, 为了便于确定 各个待编码字符的被应用次数, 可以引入其他信息来配合确定被应用次数, 也即在待编码 字符的出现频率中, 选取两个值最小的出现频率进行合并, 得到合并后的出现频率, 重新对 待编码字符的出现频率进行排序, 并更新当前轮选取的出现频率对应的待编码字符的被应 用次数的过程中, 可以: 0087 确定待编码字符的标识信息, 且标识。
40、信息的类型为数字; 0088 初始化设置的第一标识信息及第二标识信息; 0089 在待编码字符的出现频率中, 选取两个值最小的出现频率进行合并, 得到合并后 的出现频率; 0090 解析选取的两个出现频率的类型; 0091 若选取的两个出现频率均为待编码字符原始的出现频率, 则计算选取的两个出现 频率对应的待编码字符的标识信息的和值, 将和值作为第一标识信息及选取的两个出现频 率对应的待编码字符的当前标识信息的值, 将当前标识信息等于第一标识信息的已被应用 的待编码字符的被应用次数加1; 0092 若选取的两个出现频率中, 一个为待编码字符原始的出现频率, 一个为合并后的 出现频率, 则将合并。
41、后的出现频率对应的待编码字符的原始标识信息的和值作为第一标识 信息的值, 将第一标识信息的值作为另一选取的出现频率对应的待编码字符的当前标识信 息, 将第一标识信息的值作为合并后的出现频率对应的待编码字符的当前标识信息的值, 说明书 6/12 页 10 CN 112003625 A 10 将当前标识信息等于第一标识信息的已被应用的待编码字符的被应用次数加1; 0093 若选取的两个出现频率均为合并后的出现频率, 则将选取的被应用次数多的出现 频率作为第一出现频率, 将另一选取的出现频率作为第二出现频率, 将第一出现频率对应 的待编码字符的原始标识信息的和值作为第一标识信息, 将第二出现频率对应。
42、的待编码字 符的当前标识信息作为第二标识信息, 将当前标识信息小于等于第二标识信息的已被应用 的待编码字符的当前标识信息更新为第一标识信息, 将当前标识信息等于第一标识信息的 已被应用的待编码字符的被应用次数加1。 0094 具体应用场景中, 在待编码字符的出现频率中, 选取两个值最小的出现频率进行 合并, 得到合并后的出现频率, 重新对待编码字符的出现频率进行排序, 并更新当前轮选取 的出现频率对应的待编码字符的被应用次数的过程中的过程中, 可以按照待编码字符、 待 编码字符的被应用次数、 待编码字符的当前标识信息、 第一标识信息、 第二标识信息的格式 记录对应数据。 0095 具体应用场景。
43、中, 为了避免待编码字符及第一标识信息、 第二标识信息的值相等, 可以设置待编码字符的标识信息的值大于预设值, 且预设值可以较大。 0096 为了便于理解本申请提供的一种霍夫曼编码方法, 现假设待编码数据为图2所示 的数据, 则按照本申请提供的霍夫曼编码方法进行编码的过程可以如下: 0097 第一步: 对待编码数据中的待编码字符及出现频率进行统计, 统计结果如图1; 0098 图1待编码字符及出现频率统计表 0099 字符abcdef 出现次数5912131645 0100 第二步: 为待编码字符添加标识信息, 添加结果可以如图3所示, 其中, Frequency 表示出现频率, Symbol。
44、表示待编码字符, Name表示待编码字符的标识信息; 0101 第三步, 合并两个最小概率的节点(叶子节点), 也即需要将s和b相合并, 合并之后 即得到值为14的Node节点, 合并结果如图4所示, 其中, M表示输出集合, 输出集合中的第一 行表示已被应用的待编码字符, 第二行表示待编码字符的被应用次数, 第三行表示待编码 字符的当前标识信息; UpdateName表示第一标识信息, Rename表示第二标识信息; 因为在第 三步中, 选取的是两个原始待编码字符, 所以第一标识信息的值为a和b的标识信息的和值, 且a和b的当前标识信息需更新为第一标识信息的值, 且a和b的被应用次数需要加1。
45、; 0102 第四步, 合并目前最小出现频率的两个节点, 也即需要将c和d相合并, 合并之后即 得到值为25的Node节点, 合并结果如图5所示; 因为在第四步中, 选取的是两个原始待编码 字符, 所以第一标识信息的值为c和d的标识信息的和值, 且c和d的当前标识信息需更新为 第一标识信息的值, 且c和d的被应用次数需要加1; 0103 第五步, 合并目前最小出现频率的两个节点, 也即需要将a、 b合并的Node节点14与 Symbol节点e相合并, 合并之后即得到值为30的Node节点, 合并结果如图6所示; 因为在第五 步中, 选取的是一个原始待编码字符的出现频率及一个合并后的出现频率, 。
46、所以第一标识 信息的值需为a和b原始标识信息的和值, 且e的当前标识信息需更新为第一标识信息的值, a和b当前标识信息的值也需要更新为第一标识信息的值, 且需要将当前标识信息等于第一 标识信息的已被应用的待编码字符的被应用次数加1, 也即需要将a、 b和e的被应用次数加 1; 说明书 7/12 页 11 CN 112003625 A 11 0104 第六步, 合并目前最小出现频率的两个节点, 也即需要将a、 b、 e合并的Node节点30 与c、 d合并的Node节点25相合并, 合并之后即得到值为55的Node节点, 合并结果如图7所示; 因为在第六步中, 选取的是两个合并后的出现频率, 所。
47、以第一标识信息的值需为a、 b、 c、 d、 e 的原始标识信息的和值, 且c、 d的当前标识信息需更新为第二标识信息的值, 且需要将当前 标识信息等于第二标识信息的待编码字符的当前标识信息更新为第二标识信息, 最后将当 前标识信息等于第一标识信息的已被应用的待编码字符的被应用次数加1, 也即需要将a、 b、 c、 d、 e的被应用次数加1; 0105 第七步, 合并最后两个节点, 即值为45的Symbol节点f和(a+b)+e+(c+d)代表的 值为55的Node节点, 合并后得到最终值为100的Node节点, 合并结果如图8所示; 因为在第七 步中, 选取的是一个原始待编码字符的出现频率及。
48、一个合并后的出现频率, 所以第一标识 信息的值需为a、 b、 e、 c、 d原始标识信息的和值, 且a、 b、 e、 c、 d、 e、 f的当前标识信息需更新为 第一标识信息的值, 且需要将当前标识信息等于第一标识信息的已被应用的待编码字符的 被应用次数加1, 也即需要将a、 b、 c、 d、 e、 f的被应用次数加1; 至此, 便可以确定出各个待编 码字符的被应用次数。 0106 应当指出, 在此过程中引入二叉树只是为了便于对霍夫曼编码的过程进行描述, 实际运行过程中, 无需生成二叉树。 0107 请参阅图9, 图9为本申请实施例提供的一种霍夫曼编码系统的结构示意图。 0108 本申请实施例。
49、提供的一种霍夫曼编码系统, 可以包括: 0109 第一获取模块101, 用于获取待编码数据; 0110 第一统计模块102, 用于统计待编码数据中的待编码字符和待编码字符的出现频 率; 0111 第二统计模块103, 用于统计在对待编码字符进行霍夫曼编码的过程中, 待编码字 符的被应用次数; 0112 第一处理模块104, 用于将待编码字符的被应用次数作为待编码字符的码长; 0113 第一确定模块105, 用于基于待编码字符的出现频率及待编码字符的码长, 确定待 编码字符的霍夫曼编码值, 以对待编码数据进行霍夫曼编码; 0114 其中, 在对待编码字符进行霍夫曼编码的过程中, 禁止生成二叉树。。
50、 0115 本申请实施例提供的一种霍夫曼编码系统, 第二统计模块可以包括: 0116 第一初始化子模块, 用于初始化待编码字符的被应用次数; 0117 第一统计子模块, 用于在待编码字符的出现频率中, 选取两个值最小的出现频率 进行合并, 得到合并后的出现频率, 重新对待编码字符的出现频率进行排序, 并更新当前轮 选取的出现频率对应的待编码字符的被应用次数; 0118 第一判断模块, 用于判断待编码字符的出现频率值的数量是否为1, 若待编码字符 的出现频率值的数量不为1, 则提示第一统计子模块执行在待编码字符的出现频率中, 选取 两个值最小的出现频率进行合并的步骤; 若待编码字符的出现频率值的。
- 内容关键字: 霍夫曼 编码 方法 系统 设备
活性炭吸附印刷废气净化设备.pdf
园林绿化植物可调式保护支架.pdf
烟气脱硫塔的除尘装置.pdf
石材仿形切割装置.pdf
茶叶加工用上料装置.pdf
藻类培养容器的自动清洗装置.pdf
轨道车用液压马达与扇叶的连接装置.pdf
布卷抽布装置.pdf
双电源切换装置.pdf
应用于综合配电箱风冷却的降温装置.pdf
电力电缆安装用张紧装置.pdf
用于兽药残留检测的样品预处理装置.pdf
矿用可移动终端的模块电路.pdf
净水剂检测用取样装置.pdf
汽车双发电机双蓄电池并联电路.pdf
防火型电气控制柜.pdf
便携式食品样品取样装置.pdf
电缆铺设夹持组件.pdf
柜体装配检验装置.pdf
用于按摩椅的柔性按摩机构.pdf
硬炭及其制备方法、二次电池.pdf
汽车左悬置支架焊接设备.pdf
路面摊铺器.pdf
滤波器腔体生产装置.pdf
带漏电的保护插线板.pdf
电动轮椅安全阈值控制方法.pdf
重点管控一般工业固体废物筛查方法及系统.pdf
用于小型渠道整型施工装置及施工方法.pdf
miRNA标志物组合在制备预测年龄产品中的应用.pdf
水质检测方法及其系统.pdf
防误插的圆形电连接器.pdf
用于新能源汽车零件的皮碗压装装置.pdf
一种一孔两用的隧洞排水孔结构.pdf
钢管桩围堰结构.pdf
一种生态砌块.pdf
一种铁路桥梁用泄水管.pdf
一种卷帘门的抗风装置.pdf
一种掺有非预应力钢筋的管桩钢筋笼.pdf
大型沉管隧道管段基础.pdf
汽车手套箱开启装置.pdf
城市道路上空花园式电动跃层停车商务楼.pdf
蒸压加气砌块砌窗结构.pdf
一种升降式旋转室外消火栓.pdf
框架结构T型连接柱.pdf
防静电地板吸板器.pdf
一种建筑用箱体或井口预留孔洞活动模具.pdf
速成拉建房屋.pdf
预制桥面板精轧螺纹钢筋弧形连接构造.pdf
一种内固定式伸缩门滑行导轨及伸缩门.pdf
多用途封井器.pdf
一种新型圆弧建筑模板紧固件.pdf