[发明专利]并行解压缩的硬件实现的系统及方法有效
申请号: | 201010167216.9 | 申请日: | 2010-05-10 |
公开(公告)号: | CN102244518A | 公开(公告)日: | 2011-11-16 |
发明(设计)人: | 欧阳剑;田甲子;李浩华 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | H03M7/40 | 分类号: | H03M7/40 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 11038 | 代理人: | 刘震 |
地址: | 100080 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 并行 解压缩 硬件 实现 系统 方法 | ||
1.一种并行解压缩的硬件实现的系统,其特征在于,所述系统包含:
不定长的位操作模块,用于对待解压缩数据进行不定长的位操作,获取不定长的数据;
哈夫曼码表恢复模块,用于根据所述不定长的数据,恢复哈夫曼码表;
哈夫曼译码模块,用于根据所述哈夫曼码表,并行执行哈夫曼译码;以及
解码模块,用于根据哈夫曼译码的结果,进行解码。
2.根据权利要求1所述的系统,其特征在于,所述不定长的位操作模块进一步包括:
数据合并子模块,用于将输入端读取的待解压缩数据和数据缓存子模块中被移位操作后的数据进行合并,生成新的待解压缩数据;
多路选择器,用于根据输入的缓存数据进行选择;如果所述缓存数据小于预定的位数,那么就把所述数据合并子模块合并后的数据选通并写入到所述数据缓存子模块中;否则,用移位后的数据来更新所述数据缓存子模块中的数据;
所述数据缓存子模块,用于缓存所述数据合并子模块输入的所述新的待解压缩数据,以及向移位子模块输出不定长的待解压缩数据;
所述移位子模块,用于对所述数据缓存子模块中的数据进行右移位操作,以丢弃上一周期使用的数据,并把移位操作后新生成的数据输出给所述数据合并子模块。
3.根据权利要求1所述的系统,其特征在于,所述哈夫曼码表恢复模块进一步包括:
码长计算子模块,用于根据所述不定长的数据,计算各个编码数据对应的码长;
码长存储子模块,用于存储所述码长计算子模块计算出的码长;
哈夫曼码表恢复子模块,用于根据计算的结果,统计每个码长的个数,统计每个所述码长对应的symbol,以及对所述symbol排序后,根据每个所述码长恢复哈夫曼码表。
4.根据权利要求1所述的系统,其特征在于,所述哈夫曼译码模块进一步包括:
位置换子模块,用于对输入数据进行位倒置,以复原所述输入数据;
比较子模块,用于从复原后的数据中取出最大编码长度的数据,并与扩展初始码做并行比较;
前导1检测子模块,用于根据所述比较子模块的比较结果,确定起始位是“1”的位置,从而确定当前数据的实际码长;
码表初始地址子模块,用于根据所述前导1检测子模块确定的实际码长作为地址查询得到所述实际码长对应的哈夫曼码表的初始地址;
数据裁剪子模块,用于根据所述位置换子模块输出数据和数据的码长对所述输出数据进行裁剪,保留所述码长位宽的低位数据,得到哈夫曼待译码数据。
5.根据权利要求1所述的系统,其特征在于,所述解码模块选用Lz77解码模块,用于根据哈夫曼译码的结果进行Lz77解码操作。
6.根据权利要求5所述的系统,其特征在于,所述Lz77解码模块进一步包括:
解码控制子模块,用于根据所述哈夫曼译码模块获得的哈夫曼译码的数据结果生成读取或写入历史数据存储子模块的地址,完成数据匹配;
历史数据存储子模块,用于根据所述解码控制子模块提供的地址存储所匹配的数据;
校验子模块,用于对解码控制子模块获得的匹配数据进行CRC32校验,以判断解压缩的正确性。
7.一种并行解压缩的硬件实现的方法,其特征在于,所述方法包括:
对待解压缩数据进行不定长的位操作,获取不定长的数据;
根据所述不定长的数据,恢复哈夫曼码表;
根据所述哈夫曼码表,并行执行哈夫曼译码;以及
根据哈夫曼译码的结果,进行解码。
8.根据权利要求7所述的方法,其特征在于,所述对待解压缩数据进行不定长的位操作,获取不定长的数据进一步包括:
将数据合并子模块输入端读取的待解压缩数据和被移位操作后的数据进行合并,生成新的待解压缩数据;
根据输入的缓存数据进行选择;如果所述缓存数据小于预定的位数,那么就把所述数据合并子模块合并后的数据选通并写入到数据缓存子模块中;否则,用移位后的数据来更新所述数据缓存子模块中的数据;
缓存所述新的待解压缩数据,并输出不定长的待解压缩数据;以及
对所述不定长的待解压缩数据进行右移位操作,以丢弃上一周期使用的数据,并把移位操作后新生成的数据输出给所述数据合并子模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010167216.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:客户端设定来电视铃以及分享视频的方法
- 下一篇:使用五个最近邻的故障像素替换