The invention discloses a lossless compression algorithm based on low latency LZ FPGA implementation of the system, including input module, output module, cache cache shift register, read control module, calculation module, matching length calculation module and output control module, search module, character length; the input buffer module is used to cache the input source data and addressing; output buffer module used to compress the data cache output; shift register for source data input through the shift into the hash function to calculate the required 4 bytes of data; read control module is used to retrieve matching search data; matching search module is used for the calculation of the source data by hash matching the search; character length calculation module is used for calculating the matching characters can not be compressed in the sequence length, length for calculation module; The length of the matching character in a compressed sequence.
【技术实现步骤摘要】
本专利技术涉及数据压缩领域,尤其涉及一种基于低延时的LZ无损压缩算法的FPGA实现系统。
技术介绍
随着信息时代的到来,人们对数据越来越依赖,数据交换量日益增大,海量数据带来的大规模的数据传输和存储需求。将数据进行有效的压缩能够减少存储所需的空间以及最大限度地利用有限的通信带宽。而且,经过压缩的数据在一定程度上是对原始数据的加密,从而更加地提高数据的安全性。但是,当今很多数据压缩解压方案都是基于软件方式实现的。采用软件方式的压缩解压存在一个致命的弱点,那就是过多地消耗宝贵的CPU资源而且速度慢。另外系统也不稳定,很难满足一些特殊环境下的应用要求。现代VLSI超大规模集成电路(VeryLargeScaleIntegration)技术的发展使得采用硬件方式来实现压缩和解压成为可能。用专用硬件提供压缩解压可以解决上述软件压缩解压所存在的缺点。目前已有基于LZ77,LZ78及LZW等无损压缩算法的FPGA(Field-ProgrammableGateArray,即现场可编程门阵列)实现方法,主要的电路实现方式分为脉动阵列及CAM(ContentAddressableMemory,内容可寻址存储器)存储器两种。但是现有的实现方法的搜索窗口较小,导致压缩率较低,同时速率较低,没有充分发挥硬件的优势。
技术实现思路
本专利技术所要解决的技术问题是针对现有无损压缩硬件实现方法的缺陷,提供一种基于低延时的LZ(Lempel-Ziv,即Ziv和Lempel算法)无损压缩算法的FPGA实现系统,该系统采用哈希函数进行匹配搜索,搜索速度较快,输出延时小且稳定,输入数据大小不受地址限 ...
【技术保护点】
一种基于低延时的LZ无损压缩算法的FPGA实现系统,其特征在于,包括输入缓存模块、输出缓存模块、移位寄存器、回读控制模块、匹配搜索模块、字符长度计算模块、匹配长度计算模块和输出控制模块;所述输入缓存模块分别与移位寄存器和回读控制模块相连后与匹配搜索模块相连,匹配搜索模分别与字符长度计算模块和匹配长度计算模块相连后与输出控制模块相连,输出控制模块与输出缓存模块相连;所述输入缓存模块用于缓存输入的源数据并进行编址;所述输出缓存模块用于缓存输出的压缩数据;所述移位寄存器用于将输入的源数据通过移位转变为哈希函数计算所需的4字节数据;所述回读控制模块用于回读出匹配搜索需要的源数据;所述匹配搜索模块用于对源数据逐字散列计算进行匹配查找;所述字符长度计算模块用于计算压缩序列中不可匹配字符的长度;所述匹配长度计算模块用于计算压缩序列中匹配字符的长度;所述输出控制模块用于将压缩后的数据按照序列规定格式通过输出缓存中RAM的两个端口进行输出。
【技术特征摘要】
2016.09.28 CN 20161086083491.一种基于低延时的LZ无损压缩算法的FPGA实现系统,其特征在于,包括输入缓存模块、输出缓存模块、移位寄存器、回读控制模块、匹配搜索模块、字符长度计算模块、匹配长度计算模块和输出控制模块;所述输入缓存模块分别与移位寄存器和回读控制模块相连后与匹配搜索模块相连,匹配搜索模分别与字符长度计算模块和匹配长度计算模块相连后与输出控制模块相连,输出控制模块与输出缓存模块相连;所述输入缓存模块用于缓存输入的源数据并进行编址;所述输出缓存模块用于缓存输出的压缩数据;所述移位寄存器用于将输入的源数据通过移位转变为哈希函数计算所需的4字节数据;所述回读控制模块用于回读出匹配搜索需要的源数据;所述匹配搜索模块用于对源数据逐字散列计算进行匹配查找;所述字符长度计算模块用于计算压缩序列中不可匹配字符的长度;所述匹配长度计算模块用于计算压缩序列中匹配字符的长度;所述输出控制模块用于将压缩后的数据按照序列规定格式通过输出缓存中RAM的两个端口进行输出。2.根据权利要求1所述的系统,其特性在于,所述输入缓存模块包括FPGA中的块存储器,所述块存储器是一个宽度为1字节,深度为64k的随机存取存储器RAM。3.根据权利要求3所述的移位寄存器,其特性在于,所述移位寄存器长度为4个字节。4.根据权利要求3所述的系统,其特性在于,所述的回读控制模块通过读取哈希表中的地址,根据该地址实现源数据的回读。5.根据权利要求4所述的系统,其特性在于,所述匹配搜索模块包括一个对哈希表的清理逻辑电路,在复位状态时对哈希表及哈希表表中地址对应的4字节数据组成的字典进行初始化,在工作状态时,通过读取哈希表中数据进行判断该数据是否失效,若失效则将其置为0,同时将字典中相应数据置为0,若有效,则不进行任何处理,保留原数据。6.根据权利要求5所述的系统,其特性在于,所述哈希表是一个宽25位,深32k的一个RAM存储单元,其中最高位为数据有效标志位,低24位为哈希表中存储的对应的地址。7.根据权利要求6所述的系统,所述字符长度计算模块和匹配长度计算模块使用计数器进行计算,分别得到压缩序列格式需要的长度值,字符长度计算模块包括一个用于缓存不可匹配字符的块存储器。8.根据权利要求7所述的系统,其特性在于,所述输出缓存模块通过对双端口块存储器的两个端口进行切换,实现虚拟的三端口,若其中一个端口写入...
【专利技术属性】
技术研发人员:许建峰,茅文深,刘文松,周全宇,姚浩,
申请(专利权)人:中国电子科技集团公司第二十八研究所,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。