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