[发明专利]一种哈夫曼编码的数值运算实现方法及电路有效
申请号: | 201911244652.9 | 申请日: | 2019-12-06 |
公开(公告)号: | CN110868223B | 公开(公告)日: | 2023-10-27 |
发明(设计)人: | 周永雄;陈入云;范伟 | 申请(专利权)人: | 广东海洋大学 |
主分类号: | H03M7/30 | 分类号: | H03M7/30 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 刘瑶云;陈伟斌 |
地址: | 524088 *** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 哈夫曼 编码 数值 运算 实现 方法 电路 | ||
1.一种哈夫曼编码的数值运算实现方法,其特征在于,包括以下步骤:
S1:统计数据中各个字符的出现概率,得到字符集及相应的概率集;
S2:计算出数据的字符集中各个字符的编码长度,将各个字符的编码长度序列简称为码长集,根据概率集和码长集计算码长序列;
S3:根据码长序列,通过数值运算的方式输出哈夫曼编码。
2.根据权利要求1所述的一种哈夫曼编码的数值运算实现方法,其特征在于,所述步骤S1具体为:统计数据中各个字符的出现概率,得到字符集{s1,s2,...,sn}及相应的概率集{p1,p2,...,pn}。
3.根据权利要求2所述的一种哈夫曼编码的数值运算实现方法,其特征在于,所述步骤S2具体包括以下步骤:
S21:设定字符集对应的码长集为{m1,m2,...,mn},初始值均为1;
S22:将字符集、概率集、码长集进行打包,并按照概率pi从小到大的顺序排序;
S23:计算每个哈夫曼编码合二为一过程中,权值最小的两个节点实质包含的字符数k;
S24:将码长集中前k个字符的码长增加1位,即mi=mi+1,i=1,2,L,k;
S25:设定一个中间变量count=p1+pk,将概率集前k个数据修改为count;
S26:重复执行步骤S22-S25,执行n-2次,完成码长序列的计算。
4.根据权利要求3所述的一种哈夫曼编码的数值运算实现方法,其特征在于,在所述步骤S23中,所述的字符数k具体表达式为:
5.根据权利要求4所述的一种哈夫曼编码的数值运算实现方法,其特征在于,所述步骤S3具体为:将字符集、码长集进行打包,并按照码长mi从小到大排序,得到数据序列:q1=0,其中,qi的码长为mi的二进制即表示第i个字符对应的范式哈夫曼编码。
6.一种应用如权利要求5所述的哈夫曼编码的数值运算实现方法的电路,其特征在于,包括单片机、存储器、显示器、振荡电路、复位电路和加法器模块;其中:
所述单片机输入端与所述振荡电路、复位电路输出端电性连接;
所述单片机输出端与所述显示器电性连接;
所述单片机与所述存储器、加法器模块电性连接,实现数据的交互,运用加法器模块与单片机结合实现哈夫曼编码的数值运算实现方法。
7.根据权利要求6所述的哈夫曼编码的数值运算实现电路,其特征在于:所述加法器模块包括74HC595串转并子模块、74LS283全加器子模块和74HC165并转串子模块;其中:
所述74HC595串转并子模块输入端与所述单片机输出端电性连接;
所述74HC595串转并子模块输出端与所述74LS283全加器子模块输入端电性连接;
所述74LS283全加器子模块输出端与所述74HC165并转串子模块输入端电性连接;
所述74HC165并转串子模块输出端与所述单片机电性连接。
8.根据权利要求7所述的哈夫曼编码的数值运算实现电路,其特征在于:所述单片机采用P87C51RD单片机。
9.根据权利要求7所述的哈夫曼编码的数值运算实现电路,其特征在于:所述存储器采用AT24C02储存器。
10.根据权利要求7所述的哈夫曼编码的数值运算实现电路,其特征在于:所述显示器采用LCD4002液晶显示器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东海洋大学,未经广东海洋大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911244652.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种生产线信息采集系统
- 下一篇:一种低反射高透射膜及其制备方法