[发明专利]一种静态哈夫曼并行全编码实现方法有效
申请号: | 201710690814.6 | 申请日: | 2017-08-14 |
公开(公告)号: | CN107565974B | 公开(公告)日: | 2020-06-12 |
发明(设计)人: | 万国春;陈怡;夏子为;唐令怡 | 申请(专利权)人: | 同济大学 |
主分类号: | H03M7/40 | 分类号: | H03M7/40 |
代理公司: | 上海科律专利代理事务所(特殊普通合伙) 31290 | 代理人: | 叶凤 |
地址: | 200092 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 静态 哈夫曼 并行 编码 实现 方法 | ||
1.一种静态哈夫曼并行全编码实现方法,其特征在于,
首先进行优化的并行全比较,算法为:一个时钟周期内能得到所有权值的比较值,其中比较值为‘0’或者为‘1’,假如权值A比权值B大,那么A比B的比较值为‘1’,B比A的比较值根据A比B的比较值取反得到,即为‘0’,不需要多增加一个比较器就能得到B比A的比较值,这样只使用一半的大于等于比较器就能够得出所有的比较结果,根据此优化的并行全比较算法,不仅减少FPGA硬件资源的使用率,而且提高时钟频率;
然后半累加值,算法为:把每个权值与其他所有权值的比较值相加,得到一个相应的累加值,考虑到一旦需要比较的权值比较多,为了提高时序,每个权值的所有比较值分两次相加,用两个寄存器变量存放50%比较值的相加结果;
然后全累加值,算法为:下一个时钟周期再把这两个累加值相加得到一个完整的累加值,根据优化的并行全比较算法,每个权值的累加值各不相同,累加值的大小就代表该权值的大小;
然后根据最小的两个累加值选出相应的两个最小权值,把它们的权值相加得到一个新的权值,同时对这两个最小权值进行编码,两者之中最小的那个权值编码0,次最小权值编码1;
接着继续下一次的并行全比较、半累加值相加、全累加值相加、得到每个权值的排序结果、两个最小权值相加为一个新的权值,如此循环下去,直到循环第N-1次,整个过程结束;
此外,在进行两个最小权值相加为一个新的权值的时候,利用FPGA的并行处理功能,同时,对所有数据进行静态Huffman的编码,最后伴随着循环结束,所有数据的静态Huffman编码也随之结束;
最后采用流水线技术,流水输出每个数据对应的Huffman编码值。
2.如权利要求1所述的静态哈夫曼并行全编码实现方法,其特征在于,采用流水线的输出方式,此流水线分为三级,第一级为读取需要输出编码值的数据,第二级为取出该数据对应的静态Huffman编码值和码长,第三级为输出编码,该流水线能够保证在数据码长不固定的情况下,不断流输出编码值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于同济大学,未经同济大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710690814.6/1.html,转载请声明来源钻瓜专利网。