[发明专利]一种基于非完备码表解析码长的哈夫曼解码方法有效

专利信息
申请号: 200810218565.1 申请日: 2008-10-22
公开(公告)号: CN101729076A 公开(公告)日: 2010-06-09
发明(设计)人: 裴少芳;苏丹;叶广明;胡胜发 申请(专利权)人: 安凯(广州)软件技术有限公司
主分类号: H03M7/42 分类号: H03M7/42
代理公司: 广州知友专利商标代理有限公司 44104 代理人: 宣国华
地址: 510630 广东省广州市天河*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 完备 码表 解析 哈夫曼 解码 方法
【说明书】:

技术领域

发明涉及一种哈夫曼解码方法,尤其涉及一种基于非完备码表快速解析码 长的哈夫曼解码方法。

背景技术

哈夫曼算法是一种根据待压缩数据中各元素出现的概率进行编码和解码的 算法,能无损的压缩数据所占用的空间。图1是一个哈夫曼码字生成树的例子, 以其码字为叶子,码字所属层数为级别数。

解析哈夫曼码时,先确定要解析的码流的首个码字长度,将其取出,用哈夫 曼编码提供的符号表就可以找到这个码字所对应的数据元素。除去码流里的首个 码字,将剩余的码流按上述方法逐一解析,即可完成哈夫曼的解码过程。由于哈 夫曼编码是变长编码,在整个解码过程中,必须解决的一个问题是确定哈夫曼码 字的长度,以下描述了哈夫曼解码中码字长度解析的常见解决方案:

1、级别比较解析法。基于哈夫曼码字生成树建立一个叶子检索表来指示最 近下一级存在哈夫曼码字的级别(等同码字长度),并将同一级上最小码字作为 前缀位,其余位补0,扩充到最大码长长度。以哈夫曼前缀码所在级别为索引, 以这个扩充码为索引值,建一张各级最小哈夫曼码字为前缀的定长码字检索表。 在哈夫曼码码长解析时,按叶子检索表0级检索下一级别,并以这个下一级别检 索定长码字检索表里的码字,取出最大码长长度的码流数值与之比较,如果这个 码流数值不小于定长码字检索表里的码字,叶子检索表的当前级别用下一级别替 换,并用这个新的当前级别检索下一级存在叶子的级别,然后用这个新的下一级 级别检索定长码字检索表里的码字,用码流数值与之比较,直到码流数值小于定 长码字检索表里的码字,此时叶子检索表里当前级别和码流里存在的码字长度相 同。

2、完备码表解析法。基于码流中所包含的所有哈夫曼码字生成树的叶子码 字,建立一张完备码长码表。这个完备码长码表的每项索引以哈夫曼码字为前缀、 按一定规则扩展到最大码长长度,其索引值为相应的哈夫曼前缀码码长。对于当 前待解析的哈夫曼码流,按照其待解析码字所属的哈夫曼码字生成树,在定长码 字完备码长码表中检索到与这个哈夫曼码字生成树相对应的码表部分。以最大码 字长度截取当前待解析的哈夫曼码流,并将这个截取出的码流数值作为索引,在 当前码流哈夫曼码字生成树对应的码长码表部分检索,检索到的当前码长码表值 即为当前待解析码流中首个码字码长。

得到码长后提取首个码字,在当前哈夫曼码字生成树所对应的符号表中即可 解析到当前码字所对应的数据。从码流中除去已解析的部分,在剩余码流中继续 逐个操作,即可完成所有哈夫曼码的解析。

现有普遍使用的哈夫曼解码算法虽然利用了编码表体现的码字出现的概率, 并基于哈夫曼码生成树各级叶子的存在性对检索算法进行了优化,但对于绝大部 分码字,码长均需要多次才能确定,在总的解码算法中耗时比例较大;基于完备 码表解析码长虽然提高了码长解析速度,但是对于嵌入式系统的硬件存储要求而 言,其空间复杂度增加太大,难以满足要求。

在音频、视频领域,基于哈夫曼数据压缩的编码、解码算法在嵌入式系统中 应用非常广泛。在哈夫曼算法中,码字以变长二进制前缀码表示,为了解析一个 哈夫曼码字,必须先解析哈夫曼码字的字长,传统的码长解析算法不是速度过慢 就是码表数据量过大,如何在不增加码表数据量的同时减少码长解析的时间,这 对于哈夫曼解码有很重要的意义。

发明内容

本发明目的在于提供一种基于非完备码表解析码长的哈夫曼解码方法,该方 法可以大大减少码表占用的储存空间和加快解码速度。

本发明的目的可以通过以下方案实现:一种基于非完备码表的哈夫曼解码方 法,步骤包括:

1、按级别比较解析法,构建所有用于级别比较解析的码表,包括叶子检索 表和各级哈夫曼最小码字为前缀的定长码字检索表;

2、确定非完备码表临界码长L:从最小码长和最大码长之间选择一个值L, 作为构建非完备码表的临界码长;

3、基于码流中所包含的所有哈夫曼码字生成树的不超过临界码长L比特的 叶子码字,再构建一个以哈夫曼码字为前缀的L比特非完备码表;

4、按照当前码流中待解析部分所属的哈夫曼码字生成树,读取最大码长长 度的码流数值,以这个码流数值为索引,按照当前待解析码流所属的哈夫曼码字 生成树,在对应的以各级哈夫曼最小码字为前缀的定长码字检索表里检索级别 (码长)为(L+1)的码字;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于安凯(广州)软件技术有限公司,未经安凯(广州)软件技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200810218565.1/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top