[发明专利]硬件友好的数据压缩方法、系统及装置有效
申请号: | 201910972547.0 | 申请日: | 2019-10-10 |
公开(公告)号: | CN111294053B | 公开(公告)日: | 2023-06-16 |
发明(设计)人: | 张元茂 | 申请(专利权)人: | 英韧科技(上海)有限公司 |
主分类号: | H03M7/30 | 分类号: | H03M7/30 |
代理公司: | 上海一平知识产权代理有限公司 31266 | 代理人: | 成春荣;竺云 |
地址: | 201210 上海市浦东新区中国*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 硬件 友好 数据压缩 方法 系统 装置 | ||
1.一种数据压缩方法,其特征在于,包括:
将一个或多个字面量长度字段与一个或多个字面量字段交织到输出,所述一个或多个字面量字段中的每一个包含从输入数据流逐字复制到所述输出的第一数据段的一部分,所述一个或多个字面量长度字段的每一个包含表示后续字面量字段的长度的值,所述一个或多个字面量长度字段的组合包含表示所述第一数据段的总长度的第一总值;
确定与先前逐字复制的数据序列匹配的所述输入数据流的第二数据段和匹配位置;以及
向所述输出写入一个或多个匹配长度字段和包含表示所述匹配位置的值的匹配位置字段,所述一个或多个匹配长度字段的组合包含表示所述第二数据段的总长度的第二总值。
2.如权利要求1所述的方法,其特征在于,还包括:
将所述输入数据流打包成多个数据片段,每个所述数据片段具有最小匹配长度的长度,所述多个数据片段的第一数据片段从所述输入数据流的起始数据单元处开始,所述第一数据片段之后的每个所述数据片段从前一个数据片段的第二个数据单元处开始;
计算所述多个数据片段中的每一个的散列值;以及
分别基于对应的散列值,确定所述多个数据片段中的每一个是否在先前处理的数据中具有匹配。
3.如权利要求2所述的方法,其特征在于,第二数据片段通过合并两个或更多个匹配的数据片段来获得,并且所述匹配位置是所述两个或更多个匹配的数据片段的第一匹配数据片段的位置。
4.如权利要求2所述的方法,其特征在于,第二数据片段通过合并由索引差值分开的至少两个匹配数据片段来获得所述索引差值等于匹配位置差值,并且所述索引差值是所述最小匹配长度或小于所述最小匹配长度。
5.如权利要求2所述的方法,其特征在于,还包括:在散列表中跟踪先前处理的数据。
6.如权利要求5所述的方法,其特征在于,所述散列表是以散列值作为索引的字典,并且索引指向的每个条目存储与所述散列值对应的数据片段和所述数据片段的位置。
7.如权利要求2所述的方法,其特征在于,还包括:
确定是否存在重复模式;以及
生成一个或多个重复长度字段,其包含表示所述重复模式的重复次数的第三总值。
8.如权利要求1所述的方法,其特征在于,所述匹配位置是从所述输入数据流的起始起的绝对索引。
9.如权利要求1所述的方法,其特征在于,所述匹配位置是相对于正在处理的数据片段的当前位置的偏移量。
10.一种数据压缩装置,其特征在于,包括:
编码器,所述编码器包括:
数据打包器,用于从输入数据流生成一个或多个数据片段,所述一个或多个数据片段中的每一个具有最小匹配长度;
散列值计算器,用于为所述一个或多个数据片段中的每一个生成散列值;
散列表,用于使用对应的散列值跟踪所述一个或多个数据片段;
匹配位置搜索器,用于基于所述散列表中的条目搜索数据片段是否在已处理的数据中具有匹配;
匹配位置合并器,用于合并已在已处理数据中找到匹配的两个或多个数据片段;以及
输出汇编器,被配置为:将一个或多个字面量长度字段与一个或多个字面量字段交织到输出,所述一个或多个字面量字段中的每一个包含从所述输入数据流逐字复制到输出的第一数据段的一部分,所述一个或多个字面量长度字段中的每一个包含表示后续字面量字段长度的值,所述一个或多个字面量长度字段的组合包含表示所述第一数据段的总长度的第一总值;
确定与先前逐字复制的数据序列匹配的所述输入数据流的第二数据段和匹配位置;以及
向所述输出写入一个或多个匹配长度字段和包含表示匹配位置的值的匹配位置字段,所述一个或多个匹配长度字段的组合包含表示所述第二数据段的总长度的第二总值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英韧科技(上海)有限公司,未经英韧科技(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910972547.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于辅助关闭集装箱箱门的方法
- 下一篇:用于制造半导体装置的方法