[发明专利]一种优化的霍夫曼解码方法和装置有效
申请号: | 200710099475.0 | 申请日: | 2007-05-22 |
公开(公告)号: | CN101060337A | 公开(公告)日: | 2007-10-24 |
发明(设计)人: | 王箫程 | 申请(专利权)人: | 北京中星微电子有限公司 |
主分类号: | H03M7/40 | 分类号: | H03M7/40 |
代理公司: | 北京德琦知识产权代理有限公司 | 代理人: | 王琦;王诚华 |
地址: | 100083北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 优化 霍夫曼 解码 方法 装置 | ||
技术领域
本发明涉及数据压缩编解码技术领域,特别涉及一种优化的霍夫曼(Huffman)解码方法和装置。
背景技术
霍夫曼编码是霍夫曼(Huffman)在1952年提出的一种利用消息符号的统计特性的编码方法,即从下到上的编码方法。霍夫曼编码是目前普遍使用的一种熵编码技术,也是最基础和主要的编码技术之一。
图1所示为霍夫曼编码的一种简单的实现流程,包括如下步骤:
步骤101:把总数为N的信元符号,按每个信元符号出现的概率Pi(i=1,2,...N)由大到小顺序排列,为P1≥P2≥...≥PN;
步骤102:将出现概率最小的两个信元符号的概率相加,合成一个概率;将这个概率与其他信元符号的概率一起重新按大小顺序排列;
步骤103:判断是否概率为1,若是则执行步骤104,否则转至步骤102;
步骤104:用线将信元符号连接起来,逐步从后向前进行编码,每个节点有两个分支,对概率大的赋0,概率小的赋1(也可以对概率大的赋1,概率小的赋0),经过几个节点后到达末节点,也称为端点;
步骤105:将从首节点到端点的0或1按顺序排列起来,就是这个端点所对应的信元符号的码字。
图2所示为霍夫曼编码的码字结构示意图。其中,白色圆圈代表中间节点(Internal Node),灰色圆圈则代表端点(Result Node)。可以看出,该码字的长度是可变的。根据上述编码流程可知,概率最大的信元符号对应最短的码字,而概率最小的信元符号对应最长的码字,这样就可以缩短总的编码长度。
目前常采用二进树搜索法对上述码字进行解码。其基本原理是从首节点开始,每次从码字中读取一个比特,根据0或1判断选择二叉树的分支,然后根据分支结点的值判断是否已经寻找到需要的码字还是需要下一步搜索,已经读取的比特可以丢弃。可以看到,二进树搜索法最坏情况下搜索的次数为霍夫曼码字中最长码字的长度。搜索得到码字后,再查找预先设置的码字与信元符号的对应关系表,就可以得到该码字对应的信元符号。
从分组的角度看二进搜索树的结构,可以认为二进搜索树的分组长度固定为1。解码的时候对码流的搜索是逐比特的,即一次分析一个比特。二进树搜索法的霍夫曼解码方法可以达到很高的解码效率,但是需要存储每一个中间节点以及端点。从图2可以看出,由于每个节点只对应一个比特的码字,但对于每个节点需要分配一定长度的存储空间,因此,现有的二进树搜索法需要消耗较多的存储空间。
发明内容
有鉴于此,本发明的目的在于,提出一种优化的霍夫曼解码方法和装置,能够在解码效率基本不受影响的情况下,大大节省所需的存储空间。
所述霍夫曼解码方法包括如下步骤:对霍夫曼码表中的所有码字进行变长度的动态分组,根据分组得到的变长度的码字片段生成节点,并将所述节点组成变长度分组霍夫曼搜索树;具体包括:为各级节点分配存储空间;为所述变长度的码字片段分配相应的端点标识;对于端点标识为假的码字片段,将端点标识、该节点对应的下一级节点分组长度和下一级节点首地址保存到该节点的存储空间;对于端点标识为真的码字片段,则将端点标识、该码字片段的长度以及信元符号保存在该节点的存储空间;根据所述变长度分组霍夫曼搜索树对码流进行搜索,得到码字对应的信元符号。
所述霍夫曼解码装置包括码表信息检索模块、分组模块和搜索模块,其中,
所述码表信息检索模块用于存储变长度分组霍夫曼搜索树的相关信息,并将所存储的变分组霍夫曼树的节点信息分别发送至搜索模块和分组模块;
所述分组模块用于接收霍夫曼码流,根据来自搜索模块的下一级节点分组长度对所接收的霍夫曼码流进行分组,得到当前需要搜索的码字片段;将所得码字片段发送到搜索模块;
所述搜索模块用于接收来自分组模块的码字片段,并接收来自码表信息检索模块的变长度分组霍夫曼搜索树的节点信息,根据所述节点信息对所述码字片段进行搜索,找到与所述码字片段对应的节点,进而最终找到完整的霍夫曼码字对应的信元符号。
从以上技术方案可以看出,本发明方案对霍夫曼码字进行变长度分组,可以用较少存储空间的实现霍夫曼解码。
附图说明
图1为霍夫曼编码的一种实现流程图;
图2为霍夫曼编码的码字结构示意图;
图3为本发明实施例的节点存储结构示意图;
图4为本发明实施例根据变长度分组霍夫曼搜索树对码流进行解码的流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京中星微电子有限公司,未经北京中星微电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710099475.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:带有局部补强结构的机车构架
- 下一篇:气吸滚动薄片分离装置