[发明专利]一种基于低延时的LZ无损压缩算法的FPGA实现系统有效

专利信息
申请号: 201610913661.2 申请日: 2016-10-20
公开(公告)号: CN106385260B 公开(公告)日: 2019-05-21
发明(设计)人: 许建峰;茅文深;刘文松;周全宇;姚浩 申请(专利权)人: 中电莱斯信息系统有限公司
主分类号: H03M7/42 分类号: H03M7/42
代理公司: 江苏圣典律师事务所 32237 代理人: 胡建华
地址: 210007 *** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种基于低延时的LZ无损压缩算法的FPGA实现系统,包括输入缓存模块、输出缓存模块、移位寄存器、回读控制模块、匹配搜索模块、字符长度计算模块、匹配长度计算模块和输出控制模块;输入缓存模块用于缓存输入的源数据并进行编址;输出缓存模块用于缓存输出的压缩数据;移位寄存器用于将输入的源数据通过移位转变为哈希函数计算所需的4字节数据;回读控制模块用于回读出匹配搜索需要的源数据;匹配搜索模块用于对源数据逐字散列计算进行匹配查找;字符长度计算模块用于计算压缩序列中不可匹配字符的长度;匹配长度计算模块用于计算压缩序列中匹配字符的长度。
搜索关键词: 一种 基于 延时 lz 无损 压缩 算法 fpga 实现 系统
【主权项】:
1.一种基于低延时的LZ无损压缩算法的FPGA实现系统,其特征在于,包括输入缓存模块、输出缓存模块、移位寄存器、回读控制模块、匹配搜索模块、字符长度计算模块、匹配长度计算模块和输出控制模块;所述输入缓存模块分别与移位寄存器和回读控制模块相连后与匹配搜索模块相连,匹配搜索模块 分别与字符长度计算模块和匹配长度计算模块相连后与输出控制模块相连,输出控制模块与输出缓存模块相连;所述输入缓存模块用于缓存输入的源数据并进行编址;所述输出缓存模块用于缓存输出的压缩数据;所述移位寄存器用于将输入的源数据通过移位转变为哈希函数计算所需的4字节数据;所述回读控制模块用于回读出匹配搜索需要的源数据;所述匹配搜索模块用于对源数据逐字散列计算进行匹配查找;所述字符长度计算模块用于计算压缩序列中不可匹配字符的长度;所述匹配长度计算模块用于计算压缩序列中匹配字符的长度;所述输出控制模块用于将压缩后的数据按照序列规定格式通过输出缓存中RAM的两个端口进行输出;所述输入缓存模块包括FPGA中的块存储器,所述块存储器是一个宽度为1字节,深度为64k的随机存取存储器RAM;所述移位寄存器长度为4个字节;所述的回读控制模块通过读取哈希表中的地址,根据该地址实现源数据的回读;所述匹配搜索模块包括一个对哈希表的清理逻辑电路,在复位状态时对哈希表及哈希表表中地址对应的4字节数据组成的字典进行初始化,在工作状态时,通过读取哈希表中数据进行判断该数据是否失效,若失效则将其置为0,同时将字典中相应数据置为0,若有效,则不进行任何处理,保留原数据;所述哈希表是一个宽25位,深32k的一个RAM存储单元,其中最高位为数据有效标志位,低24位为哈希表中存储的对应的地址;所述字符长度计算模块和匹配长度计算模块使用计数器进行计算,分别得到压缩序列格式需要的长度值,字符长度计算模块包括一个用于缓存不可匹配字符的块存储器;所述输出缓存模块通过对双端口块存储器的两个端口进行切换,实现虚拟的三端口,若其中一个端口写入压缩数据空闲时切换为数据输出,这样就实现了写入压缩数据的同时输出压缩数据;所述匹配搜索模块对源数据逐字散列计算进行匹配查找包括以下步骤:步骤1‑1,读入未压缩的4字节源数据,进行哈希函数计算,获得哈希值,将4字节源数据存入哈希表中;步骤1‑2,通过获得的哈希值,读取哈希表中的地址和字典中的4字节,并且将当前数据存入到字典中,将当前地址存入到哈希表中;步骤1‑3,比较未压缩的数据与从字典中读取的4字节是否相同,同时比较当前地址与哈希表中的地址之差是否小于64k,并通过读取哈希表中数据的最高位来判断该数据是否有效,若上述三个条件均满足则代表查找到匹配,进入步骤1‑4,否则返回步骤1‑1;步骤1‑4,找到匹配后,判断不可匹配字节长度大小,若长度超过阀值,则不向后查找匹配并返回步骤1‑1,若长度小于阀值,则读取后续字节进行比较,查找可匹配字符,若可匹配字符长度大于65536个字节,在第65536个字节处停止向后匹配,返回步骤1‑1;若可匹配字符长度小于65536个字节,则查找结束后返回步骤1‑1;所述输出控制模块执行以下步骤:步骤2‑1,若不可匹配字符长度大于15字节,将查找到的不可匹配字符前15个字节通过输出缓存中RAM的端口1输入到输出缓存中,同时通过输出缓存中RAM的端口2在压缩序列的首地址写入F0,进入步骤2‑2;若不可匹配字符长度小于15字节,则直接通过端口1输入到输出缓存中,进入步骤2‑3;步骤2‑2,在不可匹配字符第15字节后添加一个字节用来表示后续不可匹配字符的值,若后续不可匹配字符长度大于128字节,则在其后再添加一个字节用于表示后续不可匹配字符减去128字节后的值,重复该过程直到不可匹配数据结束,其中不可匹配字符用端口1输出,不可匹配字符长度由端口2输出;步骤2‑3,在不可匹配字符后写入2字节的偏移量;步骤2‑4,若匹配字符长度大于19字节,则在偏移量后面添加2字节用于表示剩下的可匹配字符长度,若小于19字节,则不添加这两个字节;步骤2‑5,若不可匹配字符长度超过阀值则不再写入令牌token,若小于阀值时,若不可匹配字符长度大于15,则令牌高4位为F,否则令牌高4位为不可匹配字符长度;若匹配字符长度大于19字节,则令牌低4位为F,否则令牌低4位为匹配字符长度减去4,根据上述规则确定令牌值后将步骤2‑1中的F0修改为相应值后回到步骤2‑1。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中电莱斯信息系统有限公司,未经中电莱斯信息系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201610913661.2/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top