[发明专利]一种基于部分霍夫曼树的数据压缩编码方法有效
申请号: | 201310294301.5 | 申请日: | 2013-07-12 |
公开(公告)号: | CN104283568B | 公开(公告)日: | 2017-05-17 |
发明(设计)人: | 台玉朋;王海斌;汪俊;杨晓霞 | 申请(专利权)人: | 中国科学院声学研究所 |
主分类号: | H03M7/40 | 分类号: | H03M7/40 |
代理公司: | 北京方安思达知识产权代理有限公司11472 | 代理人: | 王宇杨,李彪 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种基于部分霍夫曼树的数据压缩编码方法,该方法首先通过较为粗略但计算十分简便的方法为所有需编码的字符预先分配一个编码长度,从而构成一个分层的编码表称为预编码表;然后以预编码表为基础对霍夫曼树中一些特定部分进行构建;在构建部分霍夫曼树的同时,动态的调整字符的编码长度,实现对预编码表的修改,直到其满足了最优编码表的条件为止。这样不用构建一个完整的霍夫曼树,就能获得与经典霍夫曼算法同样的编码效果。采用本发明可以有效地消除经典霍夫曼算法中的冗余计算,提高了编码效率,用于对数据的编码过程,提高实时性,同时降低对能源的消耗。 | ||
搜索关键词: | 一种 基于 部分 霍夫曼树 数据压缩 编码 方法 | ||
【主权项】:
一种基于部分霍夫曼树的数据压缩编码方法,所述的编码方法包括步骤:1)统计数据中各个字符的出现概率,得到字符集及与其相对应的概率集;2)对数据的字符集中的各个字符预先分配一个预编码长度,构成分层的预编码表;其中,所述的预编码表中每一层的字符拥有相同的编码长度,较低层字符的概率小于较高层字符的概率;该预编码表中相邻的两层之间有一个固定的概率边界,且相邻两个边界值为二倍关系;3)以预编码表为基础自底向上的逐层构建部分霍夫曼树;在构建过程中,首先递推的计算各层的节点个数;部分霍夫曼树中各层的节点个数的公式为:Sn=Cn+Sn+1/2,其中,n=1,2,…,M;其中,Sn为部分霍夫曼树中第n层的节点个数,Cn为预编码表第n层的字符个数,M为最大层序;如果一层中节点个数为偶数,则继续计算上一层的节点个数;如果一层中节点个数为奇数,需首先对该层节点个数偶数化,并动态调整字符的编码长度,同时更新编码表;如果调整后的编码表满足最优编码表的条件,则终止构建部分霍夫曼树,否则重复步骤3)继续计算上一层的节点个数;其中,所述最优编码表的条件为:式中,Li为编码表中各个字符的编码长度,其中,i=1,2,……,q;所述的步骤3)中部分霍夫曼树第n层节点个数Sn为奇数时,对于该层节点个数进行偶数化具体包括以下步骤:31)找到第n层概率最大的节点Cmax与第n‑1层概率最小的节点Cmin以及以它们为根节点的树Tmax和Tmin;32)以这两棵树作为左右子树,构成一棵新树;33)节点Cmax与节点Cmin的概率之和如果大于第n‑1层的上界值,子树Tmax中的所有节点提升一层,否则就将子树Tmin中的节点下降一层;34)找到被调整的子树Tmax或者Tmin中所含的叶子节点,更新预编码表中与其对应的字符层序;4)根据经过上述步骤3)修改后的预编码表输出最优编码表,对数据进行压缩编码。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院声学研究所,未经中国科学院声学研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310294301.5/,转载请声明来源钻瓜专利网。
- 上一篇:半导体元件
- 下一篇:一种改进的米格列奈钙的工业化制备方法