[发明专利]一种基于硬件的Huffman编码方法及系统有效
申请号: | 201710529129.5 | 申请日: | 2017-07-01 |
公开(公告)号: | CN107623524B | 公开(公告)日: | 2020-07-31 |
发明(设计)人: | 黄以华;吴黄涛;吴君豪;陈锐 | 申请(专利权)人: | 中山大学 |
主分类号: | H03M7/40 | 分类号: | H03M7/40 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 林丽明 |
地址: | 510275 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 硬件 huffman 编码 方法 系统 | ||
1.一种基于硬件的Huffman编码方法,其特征在于:包括以下步骤:
S1.将所有的编码元素按照其权值的大小进行排序,然后将排序后的编码元素按照从小到大的顺序分别存储在若干个寄存器组中,寄存器组的数量与编码元素的数量一致;所述寄存器组包括Huffman编码位、码长位和标识位;为每个寄存器组的标识位初始化一个标识数值;
S2.将权值最小及次小的两个编码元素所在的寄存器组分别记为寄存器组1与寄存器组2,然后对两个编码元素的权值做加法操作,得到合并后的权值;
S3.使用合并后的权值对寄存器组1的编码元素的权值进行替换;将寄存器组2的编码元素的权值赋值为二进制的全1,即最大值;
S4.根据寄存器组1的标识,调用标识判断器从所有的寄存器组中找出标识与其相应的寄存器组;
S5.对步骤S4找出的寄存器组,调用编码单元以压栈的方式在其编码位中添加编码1,然后调用累加单元在其码长位中加1,标识位保持不变;
S6.根据寄存器组2的标识,调用标识判断器从所有的寄存器组中找出标识与其相应的寄存器组;
S7.对步骤S6找出的寄存器组,调用编码单元以压栈的方式在其编码位中添加编码0,然后调用累加单元在其码长位中加1,标识位保持不变;
S8.调用标识单元使用步骤S2中寄存器组1的标识替换步骤S7中找出的所有寄存器组的标识;
S9.循环执行步骤S1~步骤S8共t次,t为编码元素的个数;
S10.执行完毕步骤S9后,t个寄存器组中分别存储了各个编码元素的编码和码长,即Huffman编码需要用到的编码表,根据编码表完成Huffman编码输出。
2.根据权利要求1所述的基于硬件的Huffman编码方法,其特征在于:所述码长和标识采用2进制编码表示。
3.根据权利要求1所述的基于硬件的Huffman编码方法,其特征在于:所述寄存器组中,从高位到低位依次为Huffman编码位、码长位和标识位。
4.一种实现权利要求1~3任一项所述方法的系统,其特征在于:包括若干个寄存器组、标识判断器、编码单元、累加单元和标识单元。
5.根据权利要求4所述的系统,其特征在于:所述系统还包括有控制单元,所述控制单元用于协调寄存器组、标识判断器、编码单元、累加单元和标识单元的工作处理过程,以及步骤S2对权值的合并。
6.根据权利要求4所述的系统,其特征在于:所述系统还包括有排序单元,所述排序单元用于将所有的编码元素按照其权值的大小进行排序。
7.根据权利要求4所述的系统,其特征在于:所述系统还包括有输出单元,所述输出单元用于根据编码表完成Huffman编码输出。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中山大学,未经中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710529129.5/1.html,转载请声明来源钻瓜专利网。