【技术实现步骤摘要】
LZ4解压缩硬件加速实现/压缩方法、装置、介质及芯片
[0001]本申请属于数据通信
,涉及一种压缩/解压缩方法,特别是涉及一种LZ4改进压缩方法、解压缩硬件加速实现方法、装置、介质及芯片。
技术介绍
[0002]LZ4是无损压缩算法的一种,多在内存压缩技术中使用。在当前主流的无损压缩算法中,LZ4虽然压缩效率不是最优的,但解压缩速度很快,综合性能最佳。LZ4压缩算法的基本原理是:字典缓存和滑窗匹配;即当前位置的一个字符串序列,在以前的历史数据中也出现过,那么则用一种特殊的格式或者特殊的小序列来表示它,就可以起到压缩的效果,因为特殊格式或者特殊小序列通常都是比原本的字符串序列更小的。这里提到的历史数据就是字典缓存,字典的窗口固定,通过不断地向前滑窗,完成数据匹配。
[0003]数据的压缩部分称为match数据,未压缩的部分称为literal数据,具体压缩后的数据格式(即LZ4格式)如表1所示:表1:
TokenLiteral_length+(optional)LiteralsoffsetMatch_le ...
【技术保护点】
【技术特征摘要】
1.一种LZ4改进压缩方法,其特征在于,包括:基于改进的LZ4压缩格式对源文件进行压缩编码,生成压缩文件;所述改进的LZ4压缩格式包括:第一压缩模式,包括token和literals;第二压缩模式,包括token、literal_length和literals;第三压缩模式,包括token、offset和match_length;或/和第四压缩模式,包括token、offset、literal_length和literals;其中,所述literal_length和match_length占用的存储空间大小固定。2.根据权利要求1所述的LZ4改进压缩方法,其特征在于:所述第一压缩模式中,token占1字节存储空间,literals占1~64字节存储空间;其为仅包括未压缩数据的literal数据类型的压缩格式。3.根据权利要求1所述的LZ4改进压缩方法,其特征在于:所述第二压缩模式中,token占1字节存储空间,literal_length占1字节存储空间,literals占65~16384字节存储空间;其为仅包括未压缩数据的literal数据类型的压缩格式。4.根据权利要求1所述的LZ4改进压缩方法,其特征在于:所述第三压缩模式中,token占1字节存储空间,offset占1字节存储空间,match_length占1字节存储空间;其为仅包括压缩数据的match数据类型的压缩格式。5.根据权利要求1所述的LZ4改进压缩方法,其特征在于:所述第四压缩模式中,token占1字节存储空间,offset占1字节存储空间,literal_length占1字节存储空间,literals占1~16字节存储空间;其为包括压缩数据的match数据类型和未压缩数据的literal数据类型的混合数据类型的压缩格式。6.根据权利要求1所述的LZ4改进压缩方法,其特征在于,还包括:根据字典空间的大小与所述源文件的压缩率以及硬件功耗之间的关系,确定所述源文件所采用的字典空间的大小;或调整所述match_length的最小长度值,减少长度较小的match的占比。7.一种LZ4解压缩硬件加速实现方法,其特征在于,包括:读取压缩文件;缓存所述压缩文件的待解码数据,并进行数据解码,获得解码字段;所述解码字段的类型包括token字段、offset字段、literal_length字段、match_length字段和literals字段;根据所述literal_length字段和所述literals字段完成literal类型解压缩,获得literal类型解压缩数据,写入字典;查询字典,根据所述offset字段和所述match_length字段完成match类型解压缩,获得match类型解压缩数据,写入字典;或根据所述token字段确定输出所述literal类型解压缩和所述match类型解压缩混合的综合解压缩数据,写入字典。8.根据权利要求7所述的LZ4解压缩硬件加速实现方法,其特征在于,还包括:对所述数据解码进行解码时序控制,所述解码时序控制包括:读取当前缓存中的待解码数据,计算出当前码字的有效长度;根据所述当前码字的有效长度确定当前待解码有效数据,解码所述当前待解码有效数
据获得对应的字段数据;根据所述当前缓存中的待解码数据和所述当前码字的有效长度,获得剩余的有效数据;先缓存所述剩余的有效数据,再缓存新输入的待解码数据,返回执行所述读取当前缓存中的待解码数据的步骤,直至当前缓存中的待解码数据全部完成解码。9.根据权利要求7所述的LZ4解压缩硬件加速实现方法,其特征在于,还包括:将解码完成的字段的数据进行有效拼接,包括:将所述literals字段的数据直接写入寄存器;将所述offset字段的数据和所述match_length字段的数据查询字典转译回原始数据后写入所述寄存器;所述寄存器每缓存预设空间大小数据后写一次字典;若最后所...
【专利技术属性】
技术研发人员:刘磊,马振强,李磊,
申请(专利权)人:杭州爱芯元智科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。