CN109672449B - 一种基于fpga快速实现lz77压缩的装置及方法 - Google Patents

一种基于fpga快速实现lz77压缩的装置及方法 Download PDF

Info

Publication number
CN109672449B
CN109672449B CN201811526824.7A CN201811526824A CN109672449B CN 109672449 B CN109672449 B CN 109672449B CN 201811526824 A CN201811526824 A CN 201811526824A CN 109672449 B CN109672449 B CN 109672449B
Authority
CN
China
Prior art keywords
data
hash
compression
compressed
linked list
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811526824.7A
Other languages
English (en)
Other versions
CN109672449A (zh
Inventor
王晓斌
陈伯芳
詹万鹏
危必波
郑蓉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Zhongyuan Huadian Science & Technology Co ltd
Original Assignee
Wuhan Zhongyuan Huadian Science & Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Zhongyuan Huadian Science & Technology Co ltd filed Critical Wuhan Zhongyuan Huadian Science & Technology Co ltd
Priority to CN201811526824.7A priority Critical patent/CN109672449B/zh
Publication of CN109672449A publication Critical patent/CN109672449A/zh
Application granted granted Critical
Publication of CN109672449B publication Critical patent/CN109672449B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3086Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing a sliding window, e.g. LZ77

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种基于FPGA快速实现LZ77压缩的装置及方法,压缩装置中数据缓存模块存储压缩滑动窗口内的原始数据,采取FPGA内Block RAM资源实现;HASH链表模块实现HASH字典的构建及存储,采取FPGA内Block RAM+逻辑资源实现;LZ77编码模式实现相同字符串的查找及编码。在压缩过程中,构建一等同压缩窗口大小循环缓存存储HASH冲突链表,按照待压缩数据顺序依次存入冲突链表,通过循环覆盖方式替代移出窗口操作;在利用HASH链表查找相同字符串时,利用FPGA并行处理优势,在通过HASH链表查找相同字符串的过程中同时从两个方向进行匹配字符串的查找,同时在压缩编码时采取预处理的方式提前剔除掉HASH特征值相同但字符不同的匹配值,达到快速消除数据冗余实现LZ77数据压缩目的。

Description

一种基于FPGA快速实现LZ77压缩的装置及方法
技术领域:
本发明涉及一种基于FPGA快速实现LZ77压缩的装置及方法,应用于FPGA快速实现LZ77数据压缩的领域。
背景技术:
随着信息化社会的发展,信息的交互越来越频繁,数据量的传输也越来越大,而如此大规模数据量的处理对数据的压缩也提出了更高的要求。一般的数据压缩都是由软件进行,在大规模的数据量进行传输时,不但占用了CPU大量的计算资源,而且其频繁的数据压缩处理也会影响CPU的性能。
发明内容:
本发明的目的为了克服上述现有技术存在的问题,提供一种基于FPGA快速实现LZ77压缩的装置及方法,本发明采用FPGA实现LZ77数据压缩的方法,无需CPU参与,将CPU从繁忙的数据处理中解脱出来,减小其开销。而且利用FPGA并行处理数据及流水线结构的优点,采取相应HASH链表存储方式避免移出链表操作可以提高压缩的速度,通过多次匹配字符串的查找也可以提高压缩率。本发明所提出的方法也可以用在GZIP压缩、LZW压缩等FPGA实现过程中。
本发明的技术方案为:
一种基于FPGA快速实现LZ77压缩的装置,包括数据缓存模块、HASH链表模块、LZ77编码模块,其特征在于:LZ77编码模块分别与数据缓存模块、HASH链表模块相连:数据缓存模块用以存储压缩滑动窗口内的原始数据,为LZ77编码模块提供编码的数据源,采取FPGA内的Block RAM资源实现;HASH链表模块实现HASH字典的构建及存储,以原始待压缩数据3个连续字符的HASH计算值为字典的“页码”构建链表式的字典,以便LZ77通过翻找字典的方式快速的定位相同字符串进行压缩编码,采取FPGA内的Block RAM+逻辑资源实现;LZ77编码模式实现相同字符串的查找及编码;
所述数据缓存模块为一个比压缩移动窗口稍大的循环缓存,包括一大一小两部分:大的循环缓存用于按照原始数据顺序存储匹配窗口内的已压缩数据,大小等同于压缩移动窗口;小的循环缓存用于存储紧邻匹配窗口的待压缩数据,压缩过程中实时的将已压缩数据移入压缩窗口中同时存入新的待压缩数据;
所述HASH链表模块对原始压缩数据实现字典的构建和为LZ77编码模块提供与待压缩数据相同字符串匹配地址的功能;在构建字典的过程中,以3个字节数据为一组,选取合适的HASH函数,以其HASH函数值为字典的地址,将HASH函数计算值相同的3个字节的数据以链表的方式连接在一起。这样在LZ77编码过程中,可以快速的将与正编码的3个字节数据相同的字符串查找出来,达到快速压缩编码的目的。为进一步提高压缩的速度,本设计采用等同压缩窗口大小的双端口RAM存储HASH冲突链表,按原始待压缩数据顺序循环利用该存储空间,通过指针的方式将窗口内具有相同HASH特征值的字符串链接在一起形成冲突链表。为加快查找表的速度,可以从前后两个方向同时进行匹配查找。在数据插入链表的过程中,可以通过并行的方式同时处理4个字符串HASH值的插入链表操作。
所述LZ77编码模块通过HASH链表模块提供的与待压缩数据相同字符串匹配地址,通过比较找出相同字符串的长度以及与压缩滑动窗口右侧的距离实现编码。由于相同字符串又可能不止一个,为提高压缩率需在这些相同字符串中找出压缩最优的一种。当然在HASH链表比较长的情况下,相同字符串匹配结果也比较多,如果将这些匹配结果都进行LZ77编码,比较其编码结果从中选取最优的编码会比较消耗时间,所以需通过阈值设定的方式规定其查找次数。
所述HASH链表模块在构建字典的过程中,以3个字节数据为一组,选取合适的HASH函数,以HASH函数值为字典的地址,将HASH函数计算值相同的3个字节的数据以链表的方式连接在一起;这样在LZ77编码过程中,能快速的将与LZ77正编码的3个字节数据相同的字符串查找出来,达到快速压缩编码的目的。
所述HASH链表模块采用等同压缩窗口大小的双端口RAM存储HASH冲突链表,按原始待压缩数据的顺序依次将待压缩数据前后相邻两个具有相同HASH地址的数据位置存入HASH链表模块内的缓存空间内,由于为循环缓存存储的RAM地址即为原始数据在滑动窗内的地址;通过这种指针的方式将窗口内具有相同HASH函数值的字符串链接在一起形成冲突链表,构建一个滑动的“字典”;为加快查找表的速度,从前后两个方向同时进行匹配查找;在数据插入冲突链表的过程中,通过并行的方式同时处理4个字符串HASH函数值的插入操作。
一种基于FPGA快速实现LZ77压缩的方法,其特征在于按以下步骤进行:
步骤一:将原始压缩数据分别输入数据缓存模块和HASH链表模块中,两个模块并行处理,彼此不会互相干扰影响速度;
步骤二:数据缓存模块包括两个循环存储空间,由FPGA内的Block RAM资源实现,一个与压缩滑动窗口等同大小的双端口RAM用以存储已压缩数据,通过循环写入的方式实现窗口的滑动;另一个循环缓存为256Byte大小的双端口RAM,用以存储压缩窗口右侧的等待压缩数据;在压缩过程中,数据首先存入256Byte的缓存中,当LZ77编码模块编码完成后,将已压缩的数据移入滑动窗口的缓存中,同时将新的等待压缩数据移入该256Byte缓存;
步骤三:HASH链表模块用相邻3个BYTE字符的HASH函数值为字典地址,按原始待压缩数据的顺序依次将待压缩数据前后相邻两个具有相同HASH地址的数据位置存入HASH链表模块内的缓存空间内,通过这种指针的方式将HASH函数值相同的字符串链接在一起,构建一个链式字典,该链式字典的大小等同于压缩滑动窗口的大小,由于为循环缓存存储的RAM地址即为原始数据在滑动窗内的地址;链式字典外部有一个缓冲空间,用以存储HASH链表的首尾两个数据的信息,在查找相同字符串的过程中,通过该入口的数据信息能轻易的指向链式字典链表信息的首尾两个位置,快速的实现链式字典信息的查找;
步骤四:LZ77编码模块实现压缩的编码功能,通过HASH链表模块提供的相同字符串位置信息,分别向数据缓存模块的滑动窗内缓存和待压缩数据缓存发送读取请求,得到压缩滑动窗内该相同字符串位置处对应的已压缩数据和等待压缩数据,通过比较的方式,得到相同字符串的长度以及距离压缩滑动窗口右侧的位置,用长度+位置信息的方式对相同字符串的压缩编码,达到消除冗余实现数据压缩的目的。
本发明利用LZ77是基于字典和滑动窗口的无损压缩技术,将滑动窗口内的数据通过HASH链表的方式构建字典,通过字典查找的方法寻找重复出现的字符串,并用较短的编码代替这些重复出现的字符串以达到消除冗余实现压缩的目的。
实施本发明的优势:1.采用双端口RAM,在进行查找操作时可同时从链表首尾两个方向进行匹配字符串查找,加快压缩速度,提高压缩率;2.采用并行处理方式,充分利用了FPGA并行运行的特性,极大的提高了HASH处理及压缩的速度;3.LZ77压缩查找匹配数据时,在查找表时进行预处理,剔除掉HASH值相同但字符不同的匹配值,提高压缩效率;4.HASH链表存储空间大小等同于压缩窗口(32KB或者16KB),该存储空间按原始待压缩数据顺序循环存入,通过覆盖的方式替代移出窗口数据的删除,无需额外的删除操作,进一步加快压缩的速度;
附图说明
图1为本发明的LZ77压缩装置结构示意图。
图2为本发明的HASH链表模块结构图。
图3为本发明的链表示意图。
具体实施方式
结合附图对本发明作进一步描述。
如图1所示,一种基于FPGA快速实现LZ77压缩的装置,包括数据缓存模块、HASH链表模块、LZ77编码模块,其特征在于:LZ77编码模块分别与数据缓存模块、HASH链表模块相连:数据缓存模块用以存储压缩滑动窗口内的原始数据,为LZ77编码模块提供编码的数据源,采取FPGA内的Block RAM资源实现;HASH链表模块实现HASH字典的构建及存储,以原始待压缩数据3个连续字符的HASH计算值为字典的“页码”构建链表式的字典,以便LZ77通过翻找字典的方式快速的定位相同字符串进行压缩编码,采取FPGA内的Block RAM+逻辑资源实现;LZ77编码模式实现相同字符串的查找及编码;
1、数据缓存模块
所述数据缓存模块为一个比压缩移动窗口稍大的循环缓存,包括一大一小两部分:大的循环缓存用于按照原始数据顺序存储匹配窗口内的已压缩数据,大小等同于压缩移动窗口;小的循环缓存用于存储紧邻匹配窗口的待压缩数据,压缩过程中实时的将已压缩数据移入压缩窗口中同时存入新的待压缩数据;一级缓存为等同压缩窗口大小的双端口RAM,该缓存中数据全部处于滑动匹配窗口内,供LZ77编码模块进行匹配查找。二级缓存为256Byte大小的循环缓存,用于存储紧邻压缩滑动窗口的未压缩数据;从外部模块读取的原始数据首先被存储在该二级缓存中,匹配查找模块需要读取不在一级缓存中的数据时,直接从二级缓存读取数据,当数据被压缩完成后,数据被移入一级缓存。
2、HASH链表模块
所述HASH链表模块对原始压缩数据实现字典的构建和为LZ77编码模块提供与待压缩数据相同字符串匹配地址的功能;HASH链表模块将压缩数据分成3个字节一组的数据流,根据其HASH值的不同将其存入HASH链表中,该模块可协助LZ77编码模块快速定位查找到与当前编码部分相同3个字节原始数据的位置,实现快速查找相同字符串匹配的目的。该模块的结构如图2所示,包含4个部分:HASH控制模块、链表头模块、链表模块、匹配输出模块。
HASH控制模块:将输入的原始数据转成3字节一组的数据流形式,按原始待压缩数据输入的顺序给每一组数据编上32bit的地址;计算每一个3字节数据的HASH值,本设计采用CRC算法输出12bit的HASH计算结果作为特征值进行寻址;根据地址及HASH计算值生成并行的2个插入链表请求操作。
整个HASH链表模块包括链表头模块和链表模块,链表头模块为HASH值的寻址入口,存储的是链表的第一个和最后一个值指向的位置,同时也是冲突链表的寻址指针,分别指向链表的不同位置。链表模块分两部分,分别存储链表从窗口左到由的前向指针和从窗口右到左的反向指针。如图3所示,X(n)表示反向链表,Y(n)表示前向链表,通过指针的方式将HASH值相同的字符串连接在一起形成HASH链表。
链表头模块:该模块实际为深度4096(2^12)的双端口RAM,存储HASH链表的表头指针、表尾指针,分别指向距离窗口右端最近的位置、距离窗口左端最近的位置。在查找的时候分别从窗口的左右位置进行双向查找,可以加快查找的速度。
链表模块:该模块实际为等同于窗口大小(32KB)深度的双端口RAM,写数据端口完成插入链表请求操作,读数据端口完成查表请求操作,读写操作可同时进行,插入链表时按原始待压缩数据顺序写入。根据待压缩数据的顺序将链表的指针依次循环存入RAM,RAM的地址与原始待压缩数据的地址是一一对应的。由于RAM是循环存入,移出窗口的数据会被新移入的数据覆盖。本设计采用这种特殊的链表存储方式避免移出链表的操作减少压缩时间。为实现并行处理,32KB深度的RAM分为4个8KB深度的RAM,每一个RAM具有独立的读写操作信号。表示冲突HASH链表0的RAM存储原始地址为0、4、8、12、16……的指针信息;表示冲突HASH链表1的RAM存储原始地址为1、5、9、13、17……的指针信息;表示冲突HASH链表2的RAM存储原始地址为2、6、10、14、18……的指针信息;表示冲突HASH链表3的RAM存储原始地址为3、7、11、15、19……的指针信息。这样就可以依次操作4个RAM,实现数据的并行处理。链表模块RAM的读写操作请求由链表头模块控制,在建表请求过程中,对于反向链表,需要将链表头RAM中存储的上一个相同HASH计算值的原始地址移出链表头,存入冲突链表当前操作的存储单元,用以指向链表的前一个节点,通过这种前向链表指针的方式将具有相同HASH值的窗口内所有存在连接在一起;对于前向链表,需要将正在操作的地址写入链表的尾部。这样在查找请求时,就可以快速的定位到所有相同HASH地址的位置供LZ77编码模块使用。
匹配输出模块:该模块将匹配查找结果进行预处理,在链表中额外存储对应原始数据的某一特征值,在查找时,通过比较待查找字符和匹配查找结果的特征值,剔除掉HASH计算值相同但字符串不相等的匹配结果,提高查找的准确性,减少LZ77编码的有效时间。
3、LZ77编码模块
所述LZ77编码模块通过HASH链表模块提供的与待压缩数据相同字符串匹配地址,通过比较找出相同字符串的长度以及与压缩滑动窗口右侧的距离实现编码。LZ77编码模块根据查找匹配结果提供的相同字符串地址信息,读取数据缓存模块对应地址信息数据。
一种基于FPGA快速实现LZ77压缩的方法,其特征在于按以下步骤进行:
步骤一:将原始压缩数据分别输入数据缓存模块和HASH链表模块中,两个模块并行处理,彼此不会互相干扰影响速度;
步骤二:数据缓存模块包括两个循环存储空间,由FPGA内的Block RAM资源实现,一个与压缩滑动窗口等同大小的双端口RAM用以存储已压缩数据,通过循环写入的方式实现窗口的滑动;另一个循环缓存为256Byte大小的双端口RAM,用以存储压缩窗口右侧的等待压缩数据;在压缩过程中,数据首先存入256Byte的缓存中,当LZ77编码模块编码完成后,将已压缩的数据移入滑动窗口的缓存中,同时将新的等待压缩数据移入该256Byte缓存;
步骤三:HASH链表模块用相邻3个BYTE字符的HASH函数值为字典地址,按原始待压缩数据的顺序依次将待压缩数据前后相邻两个具有相同HASH地址的数据位置存入HASH链表模块内的缓存空间内,通过指针的方式将HASH函数值相同的字符串链接在一起,构建一个链式字典,该链式字典的大小等同于压缩滑动窗口的大小,由于为循环缓存存储的RAM地址即为原始数据在滑动窗内的地址;链式字典外部有一个缓冲空间,用以存储HASH链表的首尾两个数据的信息,在查找相同字符串的过程中,通过该入口的数据信息能轻易的指向链式字典链表信息的首尾两个位置,快速的实现链式字典信息的查找;
步骤四:LZ77编码模块实现压缩的编码功能,通过HASH链表模块提供的相同字符串位置信息,分别向数据缓存模块的滑动窗内缓存和待压缩数据缓存发送读取请求,得到压缩滑动窗内该相同字符串位置处对应的已压缩数据和等待压缩数据,通过比较的方式,得到相同字符串的长度以及距离压缩滑动窗口右侧的位置,用长度+位置信息的方式对相同字符串的压缩编码,达到消除冗余实现数据压缩的目的。

Claims (4)

1.一种基于FPGA快速实现LZ77压缩的装置,包括数据缓存模块、HASH链表模块、LZ77编码模块,其特征在于:LZ77编码模块分别与数据缓存模块、HASH链表模块相连:数据缓存模块用以存储压缩滑动窗口内的原始数据,为LZ77编码模块提供编码的数据源,采取FPGA内的Block RAM资源实现;HASH链表模块实现HASH字典的构建及存储,以原始待压缩数据3个连续字符的HASH计算值为字典的“页码”构建链表式的字典,以便LZ77通过翻找字典的方式快速的定位相同字符串进行压缩编码,采取FPGA内的Block RAM+逻辑资源实现;LZ77编码模式实现相同字符串的查找及编码;
所述数据缓存模块为一个比压缩移动窗口稍大的循环缓存,包括一大一小两部分:大的循环缓存用于按照原始数据顺序存储匹配窗口内的已压缩数据,大小等同于压缩移动窗口;小的循环缓存用于存储紧邻匹配窗口的待压缩数据,压缩过程中实时的将已压缩数据移入压缩窗口中同时存入新的待压缩数据;
所述HASH链表模块对原始压缩数据实现字典的构建和为LZ77编码模块提供与待压缩数据相同字符串匹配地址的功能;
所述LZ77编码模块通过HASH链表模块提供的与待压缩数据相同字符串匹配地址,通过比较找出相同字符串的长度以及与压缩滑动窗口右侧的距离实现编码。
2.根据权利要求1所述的基于FPGA快速实现LZ77压缩的装置,其特征在于:所述HASH链表模块在构建字典的过程中,以3个字节数据为一组,选取一HASH函数,以HASH函数值为字典的地址,将HASH函数计算值相同的3个字节的数据以链表的方式连接在一起;这样在LZ77编码过程中,能快速的将与LZ77正编码的3个字节数据相同的字符串查找出来,达到快速压缩编码的目的。
3.根据权利要求2所述的基于FPGA快速实现LZ77压缩的装置,其特征在于:所述HASH链表模块采用等同压缩窗口大小的双端口RAM存储HASH冲突链表,按原始待压缩数据顺序循环利用双端口RAM的存储空间,通过指针的方式将窗口内具有相同HASH函数值的字符串链接在一起形成冲突链表,构建一个滑动的“字典”;为加快查找表的速度,从前后两个方向同时进行匹配查找;在数据插入冲突链表的过程中,通过并行的方式同时处理4个字符串HASH函数值的插入操作。
4.一种基于FPGA快速实现LZ77压缩的方法,其特征在于按以下步骤进行:
步骤一:将原始压缩数据分别输入数据缓存模块和HASH链表模块中,两个模块并行处理,彼此不会互相干扰影响速度;
步骤二:数据缓存模块包括两个循环存储空间,由FPGA内的Block RAM资源实现,一个与压缩滑动窗口等同大小的双端口RAM用以存储已压缩数据,通过循环写入的方式实现窗口的滑动;另一个循环缓存为256Byte大小的双端口RAM,用以存储压缩窗口右侧的等待压缩数据;在压缩过程中,数据首先存入256Byte的缓存中,当LZ77编码模块编码完成后,将已压缩的数据移入滑动窗口的缓存中,同时将新的等待压缩数据移入该256Byte缓存;
步骤三:HASH链表模块用相邻3个BYTE字符的HASH函数值为字典地址,按原始待压缩数据的顺序依次将待压缩数据前后相邻两个具有相同HASH地址的数据位置存入HASH链表模块内的缓存空间内,通过这种指针的方式将HASH函数值相同的字符串链接在一起,构建一个链式字典,该链式字典的大小等同于压缩滑动窗口的大小,循环缓存存储的RAM地址即为原始数据在滑动窗内的地址;链式字典外部有一个缓冲空间,用以存储HASH链表的首尾两个数据的信息,在查找相同字符串的过程中,通过该入口的数据信息能轻易的指向链式字典链表信息的首尾两个位置,快速的实现链式字典信息的查找;
步骤四:LZ77编码模块实现压缩的编码功能,通过HASH链表模块提供的相同字符串位置信息,分别向数据缓存模块的滑动窗内缓存和待压缩数据缓存发送读取请求,得到压缩滑动窗内该相同字符串位置处对应的已压缩数据和等待压缩数据,通过比较的方式,得到相同字符串的长度以及距离压缩滑动窗口右侧的位置,用长度+位置信息的方式对相同字符串的压缩编码,达到消除冗余实现数据压缩的目的。
CN201811526824.7A 2018-12-13 2018-12-13 一种基于fpga快速实现lz77压缩的装置及方法 Active CN109672449B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811526824.7A CN109672449B (zh) 2018-12-13 2018-12-13 一种基于fpga快速实现lz77压缩的装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811526824.7A CN109672449B (zh) 2018-12-13 2018-12-13 一种基于fpga快速实现lz77压缩的装置及方法

Publications (2)

Publication Number Publication Date
CN109672449A CN109672449A (zh) 2019-04-23
CN109672449B true CN109672449B (zh) 2023-03-10

Family

ID=66143787

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811526824.7A Active CN109672449B (zh) 2018-12-13 2018-12-13 一种基于fpga快速实现lz77压缩的装置及方法

Country Status (1)

Country Link
CN (1) CN109672449B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110674364B (zh) * 2019-08-30 2021-11-23 北京浩瀚深度信息技术股份有限公司 一种利用fpga实现的滑动字符串匹配的方法
CN110913012A (zh) * 2019-12-05 2020-03-24 金陵科技学院 一种基于农业物联网的高速并行数据的处理方法
CN113672602B (zh) * 2021-08-02 2022-07-19 申瓯通信设备有限公司 一种基于数字调度的通信设备
CN117950598B (zh) * 2024-03-26 2024-06-07 深圳市凯博科技有限公司 一种电子产品设计数据智能存储方法
CN118449679B (zh) * 2024-07-04 2024-10-01 西安凡果软件技术有限公司 一种线上竞价拍卖信息处理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103095305A (zh) * 2013-01-06 2013-05-08 中国科学院计算技术研究所 一种硬件lz77的压缩实现系统及方法
CN103248369A (zh) * 2013-05-21 2013-08-14 南京畅洋科技有限公司 基于fpga的压缩系统及其方法
US9112525B1 (en) * 2014-03-28 2015-08-18 Comtech Ef Data Corp. System and method for parallel hash-based data compression
CN106656198A (zh) * 2016-11-23 2017-05-10 郑州云海信息技术有限公司 一种基于lz77的编码方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7538695B2 (en) * 2007-06-29 2009-05-26 Rmi Corporation System and method for deflate processing within a compression engine
US9590655B2 (en) * 2015-03-27 2017-03-07 Microsoft Technology Licensing, Llc Scalable high-bandwidth architecture for lossless compression

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103095305A (zh) * 2013-01-06 2013-05-08 中国科学院计算技术研究所 一种硬件lz77的压缩实现系统及方法
CN103248369A (zh) * 2013-05-21 2013-08-14 南京畅洋科技有限公司 基于fpga的压缩系统及其方法
US9112525B1 (en) * 2014-03-28 2015-08-18 Comtech Ef Data Corp. System and method for parallel hash-based data compression
CN106656198A (zh) * 2016-11-23 2017-05-10 郑州云海信息技术有限公司 一种基于lz77的编码方法

Also Published As

Publication number Publication date
CN109672449A (zh) 2019-04-23

Similar Documents

Publication Publication Date Title
CN109672449B (zh) 一种基于fpga快速实现lz77压缩的装置及方法
US5936560A (en) Data compression method and apparatus performing high-speed comparison between data stored in a dictionary window and data to be compressed
US6597812B1 (en) System and method for lossless data compression and decompression
CN112953550B (zh) 数据压缩的方法、电子设备及存储介质
CA2007168C (en) Variable length string matcher
CN105207678B (zh) 一种改进型lz4压缩算法的硬件实现系统
US5440753A (en) Variable length string matcher
US8134483B2 (en) Data processing apparatus and method
US10224957B1 (en) Hash-based data matching enhanced with backward matching for data compression
US8937564B2 (en) System, method and non-transitory computer readable medium for compressing genetic information
WO2018005342A1 (en) Optimized selection of hash collision chains
US20200294629A1 (en) Gene sequencing data compression method and decompression method, system and computer-readable medium
WO2015029329A1 (en) Data decompression utilizing pre-expanded dictionaries during decompression
US9035809B2 (en) Optimizing compression engine throughput via run pre-processing
CN111030702A (zh) 一种文本压缩方法
KR20090025885A (ko) 데이터 압축 장치 및 방법
CN108287877A (zh) 一种rib渲染压缩文件fpga压缩/解压缩系统及硬件解压方法
CN114697654B (zh) 一种神经网络量化压缩方法及系统
CN108873062A (zh) 一种基于fpga的多编码器高速地震数据并行无损压缩方法
CN114157305B (zh) 一种基于硬件快速实现gzip压缩的方法及其应用
CN114567331A (zh) 一种基于lz77的压缩方法、装置及其介质
CN116015311A (zh) 基于滑动字典实现的Lz4文本压缩方法
US12001339B2 (en) Dictionary compression device and memory system
CN116683914A (zh) 数据压缩方法、装置和系统
Hirschberg et al. Parsing algorithms for dictionary compression on the PRAM

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Wang Xiaobin

Inventor after: Chen Bofang

Inventor after: Zhan Wanpeng

Inventor after: Wei Bibo

Inventor after: Zheng Rong

Inventor after: Shu Huai

Inventor after: Guo Mingyu

Inventor before: Wang Xiaobin

Inventor before: Chen Bofang

Inventor before: Zhan Wanpeng

Inventor before: Wei Bibo

Inventor before: Zheng Rong