[发明专利]一种动态Huffman编码硬件实现系统及其实现方法有效
申请号: | 201210458012.X | 申请日: | 2012-11-14 |
公开(公告)号: | CN102983866A | 公开(公告)日: | 2013-03-20 |
发明(设计)人: | 汤晓东;郭彦锋;李冰 | 申请(专利权)人: | 无锡芯响电子科技有限公司 |
主分类号: | H03M7/40 | 分类号: | H03M7/40 |
代理公司: | 南京经纬专利商标代理有限公司 32200 | 代理人: | 楼高潮 |
地址: | 214135 江苏省无锡市*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 动态 huffman 编码 硬件 实现 系统 及其 方法 | ||
1.一种动态Huffman编码硬件实现系统,其特征在于,所述系统包括:
一个频率缓存单元,用于存放数据流中每一个字符出现的频率;
一个最小堆缓存单元,用于维护频率缓冲单元中频率不为0的字符,使得这些字符在存储方式上呈现连续的形式,而这些字符在逻辑关系上呈现二叉树的形式,并且使得这棵二叉树满足:左节点和右节点都大于或者等于本节点,为辅助构造Huffman树的过程做好准备;
一个父亲节点缓存单元,用于存放Huffman树中每一个节点的父亲节点,根节点除外;
一个深度缓存单元,用于存放整个Huffman树中每一个节点的深度,其中根节点的深度最大,叶子节点的深度是0;
一个码字值缓存单元,用于存放每一个字符对应的Huffman编码的值;
一个码字长度缓存单元,用于存放每一个字符对应的Huffman编码值所对应的码字长度;
一个乘法器单元,用于计算对待压缩数据块采用动态Huffman编码之后数据块的大小;
一个数据统计单元,用于统计待压缩数据流中每一个字符出现的频率,并将统计的结果存放在频率缓存单元中;
一个主控状态机部分,根据频率缓存单元中存放的每一个字符的频率,通过最小堆缓存单元、父亲节点缓存单元、深度缓存单元来构造Huffman树及Huffman表,分别存放在码字值缓存单元及码字长度缓存单元中;
三个多路选择器单元,分别用于控制频率缓存单元在不同的工作阶段由主控状态机或者是由数据统计单元控制,和码字值缓存单元、码字长度缓存单元在不同的工作阶段分别由主控状态机或者是由数据打包输出单元进行控制;
一个数据打包输出单元,用于查询待编码的数据块中每一个字符查询码字值缓存单元及码字长度缓存单元得到每一个字符的Huffman编码并打包输出;
一个加法器单元,用于快速的字符统计,统计结果存放在频率缓存单元中。
2.一种动态Huffman编码硬件实现方法,包括下述步骤:
(1)扫描待压缩的原始数据,并快速统计每一个字符出现的频率,依次存放在频率缓存单元;
(2)主控状态机读取频率缓存单元的数据并把出现频率不为0的字符顺序的放进最小堆缓存单元进行维护;
(3)利用最小堆缓存单元、父亲节点缓存单元、深度缓存单元构造Huffman树,其中Huffman树的信息最终也是存放在最小堆缓存单元中;
(4)遍历Huffman树,得到Huffman树中每一个叶子节点的码字长度;
(5)统计每一个非0码字长度字符的数目;
(6)根据每一个非0码字长度字符的数目去计算出每一个字符的Huffman码字值;
(7)统计数据块经过Huffman编码之后的数据块的大小;
(8)主控状态机部分把码字值缓存单元、码字长度缓存单元控制权交给数据打包单元;
(9)数据打包单元在得到码字值缓存单元及码字长度缓存单元的控制权之后,开始对原始的数据进行Huffman编码,并打包输出;
(10)主控状态机在进行对新的数据块进行统计之前对频率缓存单元的提前清空。
3.根据权利要求2所述的动态Huffman编码硬件实现方法,其特征在于:
所述步骤(1)中字符快速统计通过加法器和频率缓存单元完成。
4.根据权利要求2所述的动态Huffman编码硬件实现方法,其特征在于:所述步骤(2)中最小堆缓存单元进行维护过程为把频率缓存单元中的字符出现频率依次顺序的读出,并加以判断,如果不为0,就把该字符放进最小堆缓存单元中,一直到频率缓存单元中所有的叶子节点都读取并判断完毕,如果为0就不放进最小堆缓存单元中,在把字符依次存进最小堆缓存单元中的同时记录最小堆的长度,即最小堆缓存单元中有效的字符的数目,这些字符在逻辑关系上呈现二叉树的形式;
从最小堆缓存单元中数据元素个数的一半开始一直到最小堆缓存单元的顶部依次调整这棵二叉树,使得这课二叉树中的每一个节点都满足左节点和右节点都大于或者等于本节点,其中叶子节点除外。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡芯响电子科技有限公司,未经无锡芯响电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210458012.X/1.html,转载请声明来源钻瓜专利网。