[发明专利]一种数据解压的方法以及相关装置在审
申请号: | 201810645540.3 | 申请日: | 2018-06-21 |
公开(公告)号: | CN108932315A | 公开(公告)日: | 2018-12-04 |
发明(设计)人: | 尹云峰;赵健;任智新 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;H03M7/30;H03M7/40 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 解压数据 解码处理 解码算法 数据解压 中央处理器CPU 数据解压装置 解码核心 解码数据 相关装置 性能瓶颈 异构平台 避开 发送 | ||
本发明实施例公开了一种数据解压的方法,包括:从中央处理器CPU中获取第一待解压数据,采用第一解码算法对所述第一待解压数据进行解码处理;采用第二解码算法对所述解码数据进行解码处理,以得到第二待解压数据;向所述CPU发送所述第二待解压数据。本发明实施例还公开了一种数据解压装置。本发明实现了CPU和FPGA异构平台下将解码核心操作置于FPGA中进行加速,避开了性能瓶颈,提升了解压效率。
技术领域
本发明实施例涉及软件领域,尤其涉及一种数据解压的方法以及相关装置。
背景技术
现如今,为了节省存储资源或者节省网络带宽,数据压缩与解压缩技术已经被广泛使用。随着这几年中央处理器(central processing unit,CPU)和现场可编程门阵列(field-programmable gate array,FPGA)异构计算方式的盛行,大量重复数据运算被放入FPGA中执行,利用FPGA强大的并行处理能力,能显著提高文件的解压缩效率。
目前,利用CPU和FPGA对文件进行解压缩时,由于压缩文件包含多个压缩文件块,先在FPGA中对这些数据块进行哈夫曼解码,然后CPU针对压缩文件块采用基于字典的压缩算法(lz77)进行解码,从而得到解压文件。
然而,在压缩文件块较多的情况下,由于FPGA中的哈夫曼解码部分只有一路,因此会降低解码效率。而CPU需要等待所有压缩文件块完成哈夫曼解码,才能开始进行lz77解码,从而导致解码效率较低。
发明内容
本发明实施例提供了一种数据解压的方法以及相关装置,实现了将解码核心操作置于FPGA中进行加速,避开了性能瓶颈,提升了解压效率。
有鉴于此,本发明第一方面提供了一种数据解压的方法,包括:
从中央处理器CPU中获取第一待解压数据,所述第一待解压数据为所述CPU根据待解压缩文件生成的;
采用第一解码算法对所述第一待解压数据进行解码处理,以得到解码数据;
采用第二解码算法对所述解码数据进行解码处理,以得到第二待解压数据;
向所述CPU发送所述第二待解压数据,以使得所述CPU根据所述第二待解压数据生成解压文件。
结合本发明实施例的第一方面,在第一方面的第一种可能的实现方式中,根据所述采用第一解码算法对所述第一待解压数据进行解码处理,以得到解码数据,包括:
根据所述第一待解压数据获取N个待解压数据块,其中,所述N为大于或等于1的整数;
采用哈夫曼算法对所述N待解压数据块进行解码处理,得到N个第一解码子数据,其中,所述N个第一解码子数据用于构成所述解码数据。
结合本发明实施例的第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述采用第二解码算法对所述解码数据进行解码处理,以得到第二待解压数据,包括:
采用基于字典的压缩算法lz77对所述N个解码子数据进行解码处理,得到N个第二解码子数据;
根据所述N个第二解码子数据生成所述第二待解压数据。
结合本发明实施例的第一方面的第二种可能的实现方式,本发明实施例的第一方面的第三种可能的实现方式中,所述采用哈夫曼算法对所述N待解压数据块进行解码处理,得到N个第一解码子数据,包括:
在第一时刻中,采用所述哈夫曼算法对P个待解压数据块进行解码处理,得到P个第一解码子数据,其中,所述P大于1,且所述P小于或等于所述N;
所述采用基于字典的压缩算法lz77对所述N个解码子数据进行解码处理,得到N个第二解码子数据,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810645540.3/2.html,转载请声明来源钻瓜专利网。