[发明专利]一种LZ77压缩算法的硬件解码实现系统及方法无效
申请号: | 201310013616.8 | 申请日: | 2013-01-15 |
公开(公告)号: | CN103078647A | 公开(公告)日: | 2013-05-01 |
发明(设计)人: | 尚壮壮;隋秀峰;郭彦锋;李冰 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | H03M7/30 | 分类号: | H03M7/30 |
代理公司: | 北京律诚同业知识产权代理有限公司 11006 | 代理人: | 祁建国;梁挥 |
地址: | 100190 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 lz77 压缩 算法 硬件 解码 实现 系统 方法 | ||
技术领域
本发明涉及数据解压缩技术,尤其涉及一种LZ77压缩算法的硬件解码实现系统及方法。
背景技术
在数据压缩领域,LZ77算法是众所周知的,该算法是由Abraham Lempel与Jacob Ziv在1977年发表的,采用“滑动窗口”的原理实现数据的压缩。
近年来,LZ77算法出现了许多变型,同时出现了一些LZ77算法和其它压缩算法结合的压缩方法,这些压缩方法表现出更优越的压缩效果。其中,比较著名的是LZ77算法与Huffman算法结合实现的Gzip压缩算法,该算法先利用LZ77算法将数据进行一级压缩(字典模式压缩),然后利用Huffman算法将压缩后的数据进行二级压缩(统计模式压缩),无疑,经结合后的算法在压缩效果上将更为优越。正是由于Gzip压缩算法的这种优势,使得该算法大量运用在大数据处理中,诸如互联网数据处理和近年兴起的云计算方面。数据经Gzip压缩算法处理之后,一方面,可以大幅度提高磁盘的有效容量,提高读写操作时的输入输出(I/O)有效带宽,从而有效的降低互联网和云计算数据处理的成本;另一方面,压缩后的数据起到加密的作用,在一定程度上保护了数据的安全性。
然而,调查发现,通过软件实现Gzip压缩解压缩算法的方式进行数据处理时的效率较低,同时Gzip解压缩的算法一般都采用软件实现。分析发现,作为Gzip压缩算法核心组成部分的LZ77算法对压缩解压缩效果影响明显,尤其是在解压缩过程中,LZ77算法的解码效率直接影响Gzip解压缩效率。测试发现,以主频约2.7GHz的CPU为例,其进行压缩的带宽约为6MB/s,而解压缩的带宽约为25MB/s。因而,在互联网或者近年热门的云计算当中,当面对大规模数据处理时,待压缩解压缩的数据流将巨增,采用CPU进行压缩解压缩处理数据必然会占用大量的CPU资源,而在进行解压缩过程时,CPU资源被大量占用的问题更为明显。
因此,如何大幅度提高Gzip解压缩的处理效率,成为现有Gzip解压缩技术所亟待解决的技术问题,尤其是针对性的提出提高Gzip算法核心组成部分LZ77算法的解码方案。
发明内容
本发明的发明目的是提供一种LZ77压缩算法的硬件解码实现系统及方法,能够有效的提高现有Gzip解压缩算法核心组成部分LZ77算法的解码效率。
为实现上述目的,本发明提供了一种LZ77压缩算法的硬件解码实现系统,包括:
字符类别判决模块,用于判断待解码数据的属性;
字符类别判决结果反馈模块,用于根据待解码数据的属性进行解码操作;
缓存模块,用于缓存解码后的字符,并统计缓存的字符数目;
缓存字符数结果反馈模块,用于根据所述字符数目从缓存模块中移位相应字符到字典模块中进行存储,并返回字符类别判决模块继续解码直至解码结束,
其中字典模块用于存储缓存模块中的字符以备后续解码使用。
进一步的,所述字符类别判决结果反馈模块中:
若是新字符,则直接缓存该新字符;
若是重复字符,则从待解码数据中获取重复字符长度,从待解码数据中获取所述重复字符的指回距离,并判断所述重复字符所处的位置;根据所述重复长度和所述指回距离到所述位置处拷贝并缓存所述重复字符。
进一步的,所述字符类别判决结果反馈模块中若是结束字符标志,则解码结束。
进一步的,所述硬件解码实现系统还包括:
数据存储模块,用于存储解码后的字符;
移位模块,用于丢弃所述数据存储模块中已经移位到字典模块中的字符。
为实现上述目的,本发明还提供了一种LZ77压缩算法的硬件解码实现方法,包括:
步骤1,字符类别判决模块判断待解码数据的属性;
步骤2,字符类别判决结果反馈模块根据待解码数据的属性进行解码操作;
步骤3,缓存模块缓存解码后的字符,并统计缓存的字符数目;
步骤4,缓存字符数结果反馈模块根据所述字符数目从缓存模块中移位相应字符到字典模块中进行存储,并返回步骤1继续解码直至解码结束,
其中字典模块用于存储缓存模块中的字符以备后续解码使用。
进一步的,所述步骤2中:
若是新字符,则直接缓存该新字符;
若是重复字符,则从待解码数据中获取重复字符长度,从待解码数据中获取所述重复字符的指回距离,并判断所述重复字符所处的位置;根据所述重复长度和所述指回距离到所述位置处拷贝并缓存所述重复字符。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310013616.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:带有运料接料装置钢管螺纹滚丝机
- 下一篇:定长金属丝同步切割装置