[发明专利]一种哈夫曼编码的数值运算实现方法及电路有效
申请号: | 201911244652.9 | 申请日: | 2019-12-06 |
公开(公告)号: | CN110868223B | 公开(公告)日: | 2023-10-27 |
发明(设计)人: | 周永雄;陈入云;范伟 | 申请(专利权)人: | 广东海洋大学 |
主分类号: | H03M7/30 | 分类号: | H03M7/30 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 刘瑶云;陈伟斌 |
地址: | 524088 *** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 哈夫曼 编码 数值 运算 实现 方法 电路 | ||
本发明提供的一种哈夫曼编码的数值运算实现方法,包括:统计数据中各个字符的出现概率,得到字符集及相应的概率集;计算出数据的字符集中各个字符的编码长度,将各个字符的编码长度序列简称为码长集,根据概率集和码长集计算码长序列;根据码长序列,通过数值运算的方式输出哈夫曼编码,通过特别简便的方式计算出待编码的字符集的码长序列,然后对码长序列进行排序,直接生成字符集的编码;在避免构建哈夫曼树的情况下,获得与经典的哈夫曼范式编码同样的编码效果,消除构建哈夫曼树中的冗余计算和存储,提高了编码效率。本发明还提供的一种哈夫曼编码的数值运算实现电路,其实现电路简单易于实现,能源消耗低。
技术领域
本发明涉及数据压缩技术领域,更具体的,涉及一种哈夫曼编码的数值运算实现方法及电路。
背景技术
哈夫曼编码是去除信源统计冗余的压缩编码技术。以二元编码为例,它是根据统计频次(概率)最小的两个信源字符合二为一来编码。
在经典的哈夫曼编码方法中,主要依靠构建哈夫曼树、或者说根据父子节点的索引来生成编码表。现有的构建一颗哈夫曼树并生成编码表的主要步骤如下:
1)根据待编码字符集{s1,s2,L,sn}以及它们的概率(频次){p1,p2,L,pn}构造二叉树集F:{T1,T2,L,Tn},其中树Ti中仅有一个带权的根节点,且其概率等于相应字符si的概率。
2)在树集F中找到两棵根节点概率最小的树,以它们作为左右子树构造一棵新的二叉树,新二叉树根节点的概率是其左右子树根节点概率之和。
3)在树集F中删除这两棵树,并将新的二叉树加入树集F。
4)重复步骤2)和3)直到树集F中仅剩一棵树为止,这棵树就是哈夫曼树。
5)自顶向下遍历整棵树,输出编码表。
这种哈夫曼编码方法必须通过构建哈夫曼树来实现的,存在大量的冗余计算,占用大量存储空间且编码效率低,其电路实现上需要较多的元器件,复杂程度高。
发明内容
本发明为克服现有的通过构建哈夫曼树来实现的哈夫曼编码方法存在计算量大、占用大量存储空间且编码效率低的技术缺陷,提供一种哈夫曼编码的数值运算实现方法及电路。
为解决上述技术问题,本发明的技术方案如下:
一种哈夫曼编码的数值运算实现方法,包括以下步骤:
S1:统计数据中各个字符的出现概率,得到字符集及相应的概率集;
S2:计算出数据的字符集中各个字符的编码长度,将各个字符的编码长度序列简称为码长集,根据概率集和码长集计算码长序列;
S3:根据码长序列,通过数值运算的方式输出哈夫曼编码。
其中,所述步骤S1具体为:统计数据中各个字符的出现概率,得到字符集{s1,s2,...,sn}及相应的概率集{p1,p2,...,pn}。
其中,所述步骤S2具体包括以下步骤:
S21:设定字符集对应的码长集为{m1,m2,...,mn},初始值均为1;
S22:将字符集、概率集、码长集进行打包,并按照概率pi从小到大的顺序排序;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东海洋大学,未经广东海洋大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911244652.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种生产线信息采集系统
- 下一篇:一种低反射高透射膜及其制备方法