[发明专利]一种基于部分霍夫曼树的数据压缩编码方法有效
| 申请号: | 201310294301.5 | 申请日: | 2013-07-12 |
| 公开(公告)号: | CN104283568B | 公开(公告)日: | 2017-05-17 |
| 发明(设计)人: | 台玉朋;王海斌;汪俊;杨晓霞 | 申请(专利权)人: | 中国科学院声学研究所 |
| 主分类号: | H03M7/40 | 分类号: | H03M7/40 |
| 代理公司: | 北京方安思达知识产权代理有限公司11472 | 代理人: | 王宇杨,李彪 |
| 地址: | 100190 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 部分 霍夫曼树 数据压缩 编码 方法 | ||
1.一种基于部分霍夫曼树的数据压缩编码方法,所述的编码方法包括步骤:
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)修改后的预编码表输出最优编码表,对数据进行压缩编码。
2.根据权利要求1所述的数据压缩编码方法,其特征在于,所述的预编码表的层序即该层字符的编码长度。
3.根据权利要求1或2所述的数据压缩编码方法,其特征在于,所述的预编码表的建立方法包括步骤:
21)确定分层边界,规定第n层与第n-1层概率边界值为:Un=2-n+0.5,第n层与第n+1层概率边界值为:Un+1=2-n-0.5;
22)在字符集{a1,a2,...,aq}中,若字符ai的概率pi满足Un<pi≤Un+1,则将ai填入预编码表的第n层。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院声学研究所,未经中国科学院声学研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310294301.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:半导体元件
- 下一篇:一种改进的米格列奈钙的工业化制备方法





