[发明专利]基于FPGA的压缩系统及其方法无效
| 申请号: | 201310197032.0 | 申请日: | 2013-05-21 |
| 公开(公告)号: | CN103248369A | 公开(公告)日: | 2013-08-14 |
| 发明(设计)人: | 姬磊;唐敏;陶泽文;刘文天 | 申请(专利权)人: | 南京畅洋科技有限公司 |
| 主分类号: | H03M7/30 | 分类号: | H03M7/30 |
| 代理公司: | 北京市振邦律师事务所 11389 | 代理人: | 李朝辉 |
| 地址: | 210000 江苏省南京市玄*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 fpga 压缩 系统 及其 方法 | ||
技术领域
本发明涉及数据的压缩技术,尤其是一种基于FPGA的压缩系统及其方法。
背景技术
在嵌入式开发系统中,对数据进行压缩和解压缩是非常重要的手段之一,其可以大幅度的提高磁盘的有效容量,提高读写操作时输入输出的有效带宽,提高应用层程序的执行速度。当前,数据的压缩和解压缩一般采用GZIP算法,并通过软件的方式进行数据处理,然而GZIP算法里面有大量的串行的操作,使用软件算法进行处理的效率较低。而且GZIP解压缩的算法均采用软件来实现,它采用多级查表的方式完成哈夫曼解码,也就是说接触一个码可能需要查表多次,该方法的优点是内存的使用量较少,对应大部分查表只需要一次查表即可完成,效率较高,所以在软件里面广泛应用,但该算法的并行度较低,在大规模的数据处理中会占用大量的CPU资源,不合适硬件实现。因此在大规模的数据处理中,待压缩的数据流巨大;其使用CPU进行压缩解压缩时必然要占用大量的CPU资源,在进行数据解压时CPU资源占用的问题更为明显。
因此,如何提高压缩处理效率成为现有GZIP解压缩技术亟待解决的技术问题,尤其是能否针对现有GZIP解压算法提供相应的解决方案。
发明内容
本发明要解决的一个技术问题是提供一个压缩方法和硬件系统,来提高磁盘的有效容量,同时也有效的提高原有GZIP压缩算法的处理效率。
本发明的一个方面提供了一种基于FPGA的压缩系统,其包括:将外部数据进行压缩的FPGA模块、向FPGA模块提供外部数据的数据模块、接收经FPGA模块压缩后的数据的外部存储模块,其中FPGA模块包括与数据模块相连的输入接口单元、与接口单元相连的存储单元、压缩文件格式单元、对由存储单元而来的数据按照压缩文件格式单元的文件格式进行压缩的压缩算法单元、以及将压缩算法单元所压缩的数据输出至外部存储模块的输出接口单元。
优选地,所述存储单元为内存,而外部存储模块为硬盘。
优选地,所述文件格式具有头部、数据部、和用于校验的尾部,其中所述头部包括ID1、ID2、CM、FLG、MTIME、XFL、OS、以及额外的头字段,而所述数据部为DEFLATE数据格式。
优选地,所述压缩算法单元包括LZ77算法、哈夫曼编码。
优选地,所述ID1与ID2各占1字节,且为固定值,所述CM、FLG、XFL、OS均占1字节,而所述MTIME占4字节。
本发明的另一个方面提供了一种基于FPGA的压缩方法,其包括:由输入接口单元接收外部数据;存储所接收的外部数据;对所存储的外部数据按照文件格式进行压缩,其中压缩算法至少包括LZ77算法、哈夫曼编码;通过输出接口单元将压缩数据输出到外部存储模块。
优选地,所述文件格式具有头部、数据部、和用于校验的尾部三部分,其中所述头部包括ID1、ID2、CM、FLG、MTIME、XFL、OS、以及额外的头字段,而所述数据部为DEFLATE数据格式。
优选地,所述ID1与ID2各占1字节,且为固定值,所述CM、FLG、XFL、OS均占1字节,而所述MTIME占4字节。
优选地,所述的LZ77算法的变种是指如果文件中有两块内容相同的话,那么只要知道前一块的位置和大小,就可以确定后一块的内容,所以可以用(两者之间的距离,相同内容的长度)这样一对信息,来替换后一块内容,而由于(两者之间的距离,相同内容的长度)这一对信息的大小,小于被替换内容的大小,所以文件得到了压缩。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京畅洋科技有限公司,未经南京畅洋科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310197032.0/2.html,转载请声明来源钻瓜专利网。





