CN110799959B - 一种数据压缩方法与解压方法以及相关设备 - Google Patents

一种数据压缩方法与解压方法以及相关设备 Download PDF

Info

Publication number
CN110799959B
CN110799959B CN201780091030.XA CN201780091030A CN110799959B CN 110799959 B CN110799959 B CN 110799959B CN 201780091030 A CN201780091030 A CN 201780091030A CN 110799959 B CN110799959 B CN 110799959B
Authority
CN
China
Prior art keywords
data
data segment
segment
file
repeated
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
CN201780091030.XA
Other languages
English (en)
Other versions
CN110799959A (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.)
Shenzhen Paitian Robot Technology Co ltd
Original Assignee
Shenzhen A&E Intelligent Technology Institute 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 Shenzhen A&E Intelligent Technology Institute Co Ltd filed Critical Shenzhen A&E Intelligent Technology Institute Co Ltd
Publication of CN110799959A publication Critical patent/CN110799959A/zh
Application granted granted Critical
Publication of CN110799959B publication Critical patent/CN110799959B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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/46Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind

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

本发明实施例公开了一种数据压缩方法与解压方法以及相关设备,用于压缩连续重复的数据。本方法可包括:获取待压缩的原始数据文件;查找所述原始数据文件中存在的对预定数据进行连续重复的重复数据段,并确定连续重复的次数d;将所述预定数据及所述连续重复的次数d写入所述原始数据文件中以代替所述重复数据段,从而压缩所述重复数据段。

Description

一种数据压缩方法与解压方法以及相关设备
技术领域
本发明涉及数据压缩领域特别涉及一种数据压缩方法与解压方法以及相关设备,用于压缩连续重复的数据,节约存储空间。
背景技术
FPGA(Field Programmable GateArray,现场可编辑门阵列)是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点,它是当今数字系统设计的主要硬件平台。
现有技术中,FPGA是基于SRAM(Static RandomAccess Memory,静态随机存取存储器)编程的,编程信息在系统掉电时会丢失,每次上电时,都需要从器件外部的FLASH存储芯片或EEPROM(Electrically Erasable Programmable Read-Only Memory,电可擦可编程只读存储器)中存储的编程数据重新写入内部的SRAM中。
在现有的技术方案中,当FPGA所需编程数据较大且该数据中有大量的连续重复数据时,该数据会占用FLASH芯片或EEPROM较大的存储空间。
发明内容
本发明实施例第一方面提供了一种数据压缩方法,可包括:
获取待压缩的原始数据文件;
查找所述原始数据文件中存在的对预定数据进行连续重复的重复数据段,并确定连续重复的次数d;
将所述预定数据及所述连续重复的次数d写入所述原始数据文件中以代替所述重复数据段,从而压缩所述重复数据段。
结合第一方面,在第一方面的第一种可能的实施方式中,所述查找所述原始数据文件中存在的对预定数据进行连续重复的重复数据段,并确定连续重复的次数d包括:
从所述原始数据文件中读取数据长度为预定数据n倍的第一数据段,n为大于等于2的正整数;
判断所述第一数据段是否为n个连续重复的所述预定数据,若是,则记录所述预定数据的重复次数d为n;
读取数据长度与所述预定数据相同的第二数据段,并判断所述第二数据段是否为所述预定数据段,若是,则将所述d的数值增加1,并返回所述读取数据长度与所述预定数据相同的第二数据段的步骤。
结合第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,所述将所述预定数据及所述连续重复的次数d写入所述原始数据文件中以代替所述重复数据段包括:
将所述第一数据段及所述连续重复的次数d写入所述原始数据文件中以代替所述重复数据段。
结合第一方面的第一种可能的实施方式,在第一方面的第三种可能的实施方式中,在所述将所述d的数值增加1之后,还包括:
判断所述d的数值是否大于等于预定的最大值,如果是,执行所述将所述预定数据及所述连续重复的次数d写入所述原始数据文件中以代替所述重复数据段的步骤。
结合第一方面,在第一方面的第四种可能的实施方式中,在将所述预定数据及所述连续重复的次数d写入所述原始数据文件中以代替所述重复数据段之后,所述方法还包括:
将所述d的数值清零;
判断所述待压缩的原始数据文件是否压缩完毕,若否,返回所述查找所述原始数据文件中存在的对预定数据进行连续重复的重复数据段,并确定连续重复的次数d的步骤。
本发明实施例第二方面提供了一种数据解压方法,其特征在于,包括:
获取待解压的压缩数据文件,所述数据文件中包括至少一段压缩数据段,所述压缩数据段包括预定数据及所述预定数据连续重复的次数d;
读取所述压缩数据段中的预定数据及所述预定数据连续重复的次数d;
将连续重复d次的预定数据写入所述压缩数据文件以代替所述压缩数据段,从而将待解压的压缩数据文件解压。
结合第二方面,在第二方面的第一种实施方式中,所述压缩数据段包括n个连续重复的所述预定数据及所述预定数据连续重复的次数d,其中n为大于或等于2的正整数;
所述读取所述压缩数据段中的预定数据及所述预定数据连续重复的次数d包括:
从所述压缩数据文件中读取数据长度为预定数据n倍的第二数据段;
判断所述第二数据段是否为n个连续重复的所述预定数据,若是,则记录所述预定数据的重复次数d为n;
读取所述第二数据段之后的一个预定长度的第三数据段,从所述第三数据段中读取所述预定数据连续重复的次数d。
结合第二方面的第一种可能的实施方式,在第二方面的第二种可能的实施方式中,所述将连续重复d次的预定数据写入所述压缩数据文件以代替所述压缩数据段包括:
将所述预定数据连续重复d次形成第四数据段,将所述第四数据段写入所述压缩数据文件以代替所述压缩数据段。
本发明实施例第三方面提供了一种数据压缩设备,其特征在于,包括输入装置、输出装置、处理器和存储器,其中,
所述输入装置用于获取待压缩的数据文件;
所述处理器用于执行如下方法:
查找所述数据文件中存在的对预定数据进行连续重复的重复数据段,并确定连续重复的次数d;
将所述预定数据及所述连续重复的次数d写入输出数据文件中以代替所述重复数据段,从而压缩所述重复数据段。
本发明实施例第四方面提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如本发明实施例中第一方面及第一方面的第一至第四种可能的实施方式以及第二方面及第二方面的第一或第二中可能的实施方式中任一项所述的方法。
本发明实施例第五方面提供了一种FPGA,包括输入装置、输出装置、处理器和存储器,其中所述输入装置用于读取原始的FPGA加载文件,所述处理器用于执行如本发明实施例中第一方面及第一方面的第一至第四种可能的实施方式中任一项所述的数据压缩方法对所述原始的FPGA加载文件进行压缩得到压缩后的FPGA加载文件,所述存储器用于存储所述压缩后的FPGA加载文件。
本发明实施例第六方面提供了一种FPGA,包括输入装置、输出装置、处理器和存储器,其中所述输入装置用于读取待解压的解压数据文件,所述处理器用于执行如本发明实施例中第二方面及第一方面的第一至第二种可能的实施方式中任一项所述的数据解压方法对原始的FPGA加载文件进行解压得到解压后的FPGA加载文件,所述存储器用于存储所述解压后的FPGA加载文件。
以上可以看出,本发明实施例中,当原始数据文件中的预定数据存在大量的连续的重复数据段时,压缩设备查找原始数据文件中存在的对预定数据进行连续重复的重复数据段,并确定连续重复的次数d,将所述预定数据及所述连续重复的次数d写入所述原始数据文件中以代替所述重复数据段,从而压缩所述重复数据段,而不必将大量的连续重复的该种预定数据展开记录,节省了存储空间。
附图说明
图1为本发明实施例中数据压缩方法一个实施例的示意图;
图2为本发明实施例中数据压缩方法另一个实施例的示意图;
图3为本发明实施例中数据解压方法一个实施例的示意图;
图4为本发明实施例中数据解压方法另一个实施例的示意图;
图5为本发明实施例中压缩设备一个实施例的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于理解,下面对本发明实施例中的具体流程进行描述,请参阅图1,本发明实施例中数据压缩方法的一个实施例包括:
101、获取待压缩的原始数据文件;
当原始数据文件中存在对预定数据进行连续重复的重复数据段时,压缩设备可以获取该原始数据文件对其进行压缩流程,可以将该原始数据文件存储在可读取的存储介质中。
102、查找原始数据文件中存在的对预定数据进行连续重复的重复数据段,并确定连续重复的次数d;
用户可以根据需求设置一种或多种预定数据,压缩设备可以查找原始数据文件中存在的对预定数据进行连续重复的重复数据段,并确定连续重复的次数d,具体的查找方式将在下述的实施例中详细描述。
103、将预定数据及连续重复的次数d写入原始数据文件中以代替重复数据段;
在确定预定数据的连续重复次数之后,压缩设备可以将该预定数据及连续重复的次数d写入原始数据文件中以替代对应的重复数据段,而不必将大量的连续重复的该种预定数据展开记录,节省了存储空间。
以上可以看出,本发明实施例中,当原始数据文件中的预定数据存在大量的连续的重复数据段时,压缩设备查找原始数据文件中存在的对预定数据进行连续重复的重复数据段,并确定连续重复的次数d,将预定数据及连续重复的次数d写入原始数据文件中以代替重复数据段,从而压缩重复数据段,而不必将大量的连续重复的该种预定数据展开记录,节省了存储空间。
上述实施例对本发明实施例中数据压缩方法的流程进行了描述,为了便于理解,下面将对本发明实施例中数据压缩方法进行详细描述,请参阅图2,本发明实施例中数据压缩方法的另一个实施例可包括:
201、获取待压缩的原始数据文件;
当原始数据文件中存在对预定数据进行连续重复的重复数据段时,压缩设备可以获取该原始数据文件以启动压缩流程,可以将该原始数据文件存储在可读取的存储介质中。
202、从原始数据文件中读取数据长度为预定数据n倍的第一数据段;
为识别原始数据文件中的重复数据段,压缩设备可以从原始数据文件中读取数据长度为预定数据n倍的第一数据段进行进一步的判断,其中n为大于等于2的正整数。
203、判断第一数据段是否为n个连续重复的预定数据;
在读取到第一数据段之后,压缩设备可以判断第一数据段是否为n个连续重复的预定数据,若是,则执行步骤204,若否,则执行步骤207。
204、记录预定数据的重复次数d为n;
当第一数据段是n个连续重复的预定数据时,可以确定预定数据在当前已读取的数据中连续重复的次数d的数值为n次。
205、读取数据长度与预定数据相同的第二数据段,并判断第二数据段是否为预定数据段;
当第一数据段是n个连续重复的预定数据时,压缩设备可以继续判断后续的数据是否为预定数据的重复形式,具体的,压缩设备可以读取数据长度与预定数据相同的第二数据段,并判断第二数据段是否为预定数据段,若是,则执行步骤206;若否,则返回执行步骤202对后续的数据进行处理。
206、将d的数值增加1;
若第二数据段也是预定数据的重复形式则将d的数值增加1,并返回执行步骤205对后续的数据进行处理。
207、重新读取数据长度为预定数据n倍的数据段。
当第一数据段不是任何一种预定数据的重复形式时,压缩设备可以重新读取数据长度为预定数据n倍的数据段作为第一数据段,重新进行判断流程。
具体的,压缩设备重新读取的新的第一数据段可以由上一个第一数据段中,除去与预定数据长度相同的前端数据段之后的部分与后续相连续的数据段组成。
208、将预定数据及连续重复的次数d写入原始数据文件中以代替重复数据段;
在确定预定数据的连续重复次数之后,压缩设备可以将该预定数据及连续重复的次数d写入原始数据文件中以替代对应的重复数据段,而不必将大量的连续重复的该种预定数据展开记录,节省了存储空间。
具体的,压缩设备可以将第一数据段及连续重复的次数d写入原始数据文件中以代替重复数据段。
以上可以看出,本实施例中压缩设备读取原始数据文件中的部分数据作为第一目标压缩数据,在判定第一目标压缩数据为一种预置压缩数据的重复形式时,继续读取第二目标压缩数据,当判定第二目标压缩数据也为同一种预置压缩数据的重复时,记录该种预置压缩数据的重复次数,当该种预置压缩数据不再连续的重复时,压缩设备可以将第一目标压缩数据和该种预置压缩数据的重复次数写入压缩文件,而不必将连续重复的该种预置压缩数据逐一展开记录,节省了存储空间。
在上述实施例的基础上,优选的,在步骤206之后,还包括:
209、判断d的数值是否大于等于预定的最大值。
实际运用中,记录同一预定数据连续重复次数d的数据所占用的数位是有限的,即d的数值具有最大值,具体的最大值可以由用户根据需求设定,在步骤206之后可以断d的数值是否大于等于预定的最大值,若大于或等于最大值,则执行步骤208,若小于最大值,则执行步骤205。
在上述实施例的基础上,优选的,在将预定数据及连续重复的次数d写入原始数据文件中以代替重复数据段之后,还包括:
210、将d的数值清零;
211、判断待压缩的原始数据文件是否压缩完毕。
若待压缩的原始数据文件压缩完毕,则结束流程,若待压缩的原始数据文件未压缩完毕,则返回步骤202,循环执行压缩流程。
可以理解的是,本实施例中的压缩设备可以是FPGA或计算机及其他可以实现上述方法的设备,此处不做限定。
上述实施例对本发明实施例中的数据压缩方法进行了描述,下面将对本发明实施例中的数据解压方法进行描述,请参阅图3,本发明实施例中数据解压方法的一个实施例可包括:
301、获取待解压的压缩数据文件;
在需要对包括至少一压缩数据段的压缩数据文件解压时,解压设备可以先读取待解压的压缩数据文件,该文件中的压缩数据段包括预定数据及该预定数据连续重复的次数d。
302、读取压缩数据段中的预定数据及预定数据连续重复的次数d;
在对压缩数据段进行解压时,需要读取确定被压缩的预定数据的种类及连续重复的次数d,具体的确定方式将在下述的实施例中详细描述。
303、将连续重复d次的预定数据写入压缩数据文件以代替压缩数据段。
在确定预定数据的连续重复次数之后,解压设备可以将预定数据连续重复d次写入压缩数据文件以代替压缩数据段。
具体的,本实施例中的待解压数据文件可以是采用图1及图2所示的数据压缩方法对原始数据文件压缩得到的。
上述实施例对本发明实施例中的数据解压方法的流程进行了描述,为了便于理解,下面将对本发明实施例中的数据解压方法进行详细描述,请参阅图4,本发明实施例中数据解压方法的另一个实施例可包括:
401、获取待解压的压缩数据文件;
解压设备获取待解压的压缩数据文件,可以将该压缩数据文件存储在可读取的存储介质中,该数据文件中包含至少一压缩数据段,该压缩数据段包括n个连续重复的预定数据及预定数据连续重复的次数d,其中n为大于或等于2的正整数。
402、从压缩数据文件中读取数据长度为预定数据n倍的第三数据段;
解压设备要从压缩数据文件中逐步读取部分数据段进行解压,为确定压缩数据段,压缩设备可以从压缩数据文件中读取数据长度为预定数据n倍的第三数据段进行判断。
403、判断第三数据段是否为n个连续重复的预定数据;
压缩设备判断读取的第三数据段是否为压缩数据段,若是,则执行步骤404,若否,则执行步骤406。
404、读取第三数据段之后的一个预定长度的第四数据段;
压缩数据段在第三数据段之后的数据段中设置有预定长度的第四数据段用于记录预定数据连续重复,压缩设备可以读取该第四数据段,并从第四数据段中读取预定数据连续重复的次数d。
405、将连续重复d次的预定数据写入压缩数据文件以代替压缩数据段。
在确定预定数据的连续重复次数之后,解压设备可以将预定数据连续重复d次写入压缩数据文件以代替压缩数据段。
具体的,解压设备可以将预定数据连续重复d次形成第五数据段,将第五数据段写入压缩数据文件以代替压缩数据段。
406、重新读取数据长度为预定数据n倍的第三数据段。
具体的,解压设备重新读取的新的第三数据段可以由上一个第三数据段中,除去与预定数据长度相同的前端数据段之后的部分与后续相连续的数据段组成。
优选的,在步骤405之后本实施例还可以包括:
407、判断压缩数据文件是否读取完成。
解压设备判断压缩数据文件是否读取完成,若完成,则结束,若未完成,则返回步骤402,循环解压。
下面将对本发明实施例中的数据压缩500设备进行描述,请参阅图5,本发明实施例中的数据压缩设备的一个实施例可包括:
输入装置501、输出装置502、处理器503和存储器504,其中,
输入装置501用于获取待压缩的数据文件;
处理器503用于执行如下方法:
查找数据文件中存在的对预定数据进行连续重复的重复数据段,并确定连续重复的次数d;
将预定数据及连续重复的次数d写入输出数据文件中以代替重复数据段,从而压缩重复数据段。
优选的,处理器具体用于:
从输入数据文件中读取数据长度为预定数据n倍的第一数据段,n为大于等于2的正整数;
判断第一数据段是否为n个连续重复的预定数据,若是,则记录预定数据的重复次数d为n;
读取数据长度与预定数据相同的第二数据段,并判断第二数据段是否为预定数据段,若是,则将d的数值增加1,并返回读取数据长度与预定数据相同的第二数据段的步骤。
优选的,处理器503具体用于:
将第一数据段及连续重复的次数d写入输出数据文件中以代替重复数据段。
优选的,处理器503还用于:
判断d的数值是否大于等于预定的最大值,如果是,执行将预定数据及连续重复的次数d写入输出数据文件中以代替重复数据段的步骤。
优选的,处理器503还用于:
将d的数值清零;
判断待压缩的输入数据文件是否压缩完毕,如果否,返回查找输入数据文件中存在的对预定数据进行连续重复的重复数据段,并确定连续重复的次数d的步骤。
本实施例中的数据压缩设备的具体功能与上述图1及图2中描述的类似,具体请参阅图1及图2所示的实施例,此处不再赘述。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当指令在计算机上运行时,使得计算机可以执行上述图1或图2或图3或图4中所示方法。
本发明实施例还提供了一种FPGA,包括输入装置、输出装置、处理器和存储器,其中输入装置用于读取原始的FPGA加载文件,处理器用于执行上述图1或图2中所示的数据压缩方法对原始的FPGA加载文件进行压缩得到压缩后的FPGA加载文件,存储器用于存储压缩后的FPGA加载文件。
本发明实施例还提供了一种FPGA,包括输入装置、输出装置、处理器和存储器,其中输入装置用于读取待解压的解压数据文件,处理器用于执行上述图3或图4中所示的数据解压方法对原始的FPGA加载文件进行解压得到解压后的FPGA加载文件,存储器用于存储解压后的FPGA加载文件。
本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在一个计算机可读取存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (13)

1.一种数据压缩方法,其特征在于,应用于FPGA,所述方法包括:
获取待压缩的原始数据文件;
查找所述原始数据文件中存在的对预定数据进行连续重复的重复数据段,并确定连续重复的次数d;
将所述预定数据及所述连续重复的次数d写入所述原始数据文件中以代替所述重复数据段,从而压缩所述重复数据段;
所述查找所述原始数据文件中存在的对预定数据进行连续重复的重复数据段,并确定连续重复的次数d包括:
从所述原始数据文件中读取数据长度为预定数据n倍的第一数据段,n为大于等于2的正整数;
判断所述第一数据段是否为n个连续重复的所述预定数据,若是,则记录所述预定数据的重复次数d为n;
读取数据长度与所述预定数据相同的第二数据段,并判断所述第二数据段是否为所述预定数据段,若是,则将所述d的数值增加1,并返回所述读取数据长度与所述预定数据相同的第二数据段的步骤;
若否,则重新读取数据长度为预定数据n倍的数据段,其中,重新读取的数据段由上一个第一数据段中,除去与所述预定数据长度相同的前端数据段之后的部分与后续相连续的数据段组成。
2.根据权利要求1所述的方法,其特征在于,所述将所述预定数据及所述连续重复的次数d写入所述原始数据文件中以代替所述重复数据段包括:
将所述第一数据段及所述连续重复的次数d写入所述原始数据文件中以代替所述重复数据段。
3.根据权利要求1所述的方法,其特征在于,在所述将所述d的数值增加1之后,还包括:
判断所述d的数值是否大于等于预定的最大值,如果是,执行所述将所述预定数据及所述连续重复的次数d写入所述原始数据文件中以代替所述重复数据段的步骤。
4.根据权利要求1至3中任一项所述的方法,其特征在于,在将所述预定数据及所述连续重复的次数d写入所述原始数据文件中以代替所述重复数据段之后,所述方法还包括:
将所述d的数值清零;
判断所述待压缩的原始数据文件是否压缩完毕,若否,返回所述查找所述原始数据文件中存在的对预定数据进行连续重复的重复数据段,并确定连续重复的次数d的步骤。
5.一种数据解压方法,其特征在于,应用于FPGA,所述方法包括:
获取待解压的压缩数据文件,所述压缩数据文件中包括至少一段压缩数据段,所述压缩数据段包括预定数据及所述预定数据连续重复的次数d;
读取所述压缩数据段中的预定数据及所述预定数据连续重复的次数d;
将连续重复d次的预定数据写入所述压缩数据文件以代替所述压缩数据段,从而将待解压的压缩数据文件解压;
所述压缩数据段包括n个连续重复的所述预定数据及所述预定数据连续重复的次数d,其中n为大于或等于2的正整数;
所述读取所述压缩数据段中的预定数据及所述预定数据连续重复的次数d包括:
从所述压缩数据文件中读取数据长度为预定数据n倍的第三数据段;
判断所述第三数据段是否为n个连续重复的所述预定数据,若是,则读取所述第三数据段之后的一个预定长度的第四数据段;
从所述第四数据段中读取所述预定数据连续重复的次数d;
若否,则重新读取数据长度为预定数据n倍的第三数据段,其中,重新读取的第三数据段由上一个第三数据段中,除去与预定数据长度相同的前端数据段之后的部分与后续相连续的数据段组成。
6.根据权利要求5所述的方法,其特征在于,所述将连续重复d次的预定数据写入所述压缩数据文件以代替所述压缩数据段包括:
将所述预定数据连续重复d次形成第五数据段,将所述第五数据段写入所述压缩数据文件以代替所述压缩数据段。
7.一种数据压缩设备,其特征在于,包括输入装置、输出装置、处理器和存储器,其中,
所述输入装置用于获取待压缩的数据文件;
所述处理器用于执行如下方法:
查找所述数据文件中存在的对预定数据进行连续重复的重复数据段,并确定连续重复的次数d;
将所述预定数据及所述连续重复的次数d写入输出数据文件中以代替所述重复数据段,从而压缩所述重复数据段;
所述处理器具体用于:
从输入数据文件中读取数据长度为预定数据n倍的第一数据段,n为大于等于2的正整数;
判断所述第一数据段是否为n个连续重复的所述预定数据,若是,则记录所述预定数据的重复次数d为n;
读取数据长度与所述预定数据相同的第二数据段,并判断所述第二数据段是否为所述预定数据段,若是,则将所述d的数值增加1,并返回所述读取数据长度与所述预定数据相同的第二数据段的步骤;
若否,则重新读取数据长度为预定数据n倍的数据段,其中,重新读取的数据段由上一个第一数据段中,除去与所述预定数据长度相同的前端数据段之后的部分与后续相连续的数据段组成。
8.根据权利要求7所述的数据压缩设备,其特征在于,所述处理器具体用于:
将所述第一数据段及所述连续重复的次数d写入输出数据文件中以代替所述重复数据段。
9.根据权利要求7所述的数据压缩设备,其特征在于,所述处理器还用于:
判断所述d的数值是否大于等于预定的最大值,如果是,执行所述将所述预定数据及所述连续重复的次数d写入所述输出数据文件中以代替所述重复数据段的步骤。
10.根据权利要求7所述的数据压缩设备,其特征在于,所述处理器还用于:
将所述d的数值清零;
判断所述待压缩的输入数据文件是否压缩完毕,如果否,返回所述查找所述输入数据文件中存在的对预定数据进行连续重复的重复数据段,并确定连续重复的次数d的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1至6中任一项所述的方法。
12.一种FPGA,包括输入装置、输出装置、处理器和存储器,其中所述输入装置用于读取原始的FPGA加载文件,所述处理器用于执行如权利要求1至4中任一项所述的数据压缩方法对所述原始的FPGA加载文件进行压缩得到压缩后的FPGA加载文件,所述存储器用于存储所述压缩后的FPGA加载文件。
13.一种FPGA,包括输入装置、输出装置、处理器和存储器,其中所述输入装置用于读取待解压的解压数据文件,所述处理器用于执行如权利要求5至6中任一项所述的数据解压方法对原始的FPGA加载文件进行解压得到解压后的FPGA加载文件,所述存储器用于存储所述解压后的FPGA加载文件。
CN201780091030.XA 2017-05-26 2017-05-26 一种数据压缩方法与解压方法以及相关设备 Active CN110799959B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/086062 WO2018214140A1 (zh) 2017-05-26 2017-05-26 一种数据压缩方法与解压方法以及相关设备

Publications (2)

Publication Number Publication Date
CN110799959A CN110799959A (zh) 2020-02-14
CN110799959B true CN110799959B (zh) 2024-02-27

Family

ID=64396072

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780091030.XA Active CN110799959B (zh) 2017-05-26 2017-05-26 一种数据压缩方法与解压方法以及相关设备

Country Status (2)

Country Link
CN (1) CN110799959B (zh)
WO (1) WO2018214140A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111313907B (zh) * 2020-02-19 2023-04-21 广西电网有限责任公司 一种海量电力数据压缩的方法及装置
CN111600961A (zh) * 2020-05-22 2020-08-28 山东超越数控电子股份有限公司 一种通过can口传输位图文件的方法、系统、设备及介质
CN111708777B (zh) * 2020-06-08 2023-06-23 云谷(固安)科技有限公司 一种显示数据的存取方法、装置及显示装置
CN112073736B (zh) * 2020-08-04 2022-06-21 深圳市创必得科技有限公司 3d模型文件的编码方法、解码方法、装置及3d打印机
CN112612830B (zh) * 2020-12-03 2023-01-31 海光信息技术股份有限公司 一种压缩数据批量导出方法、系统及电子设备
CN112579128B (zh) * 2020-12-23 2023-05-09 恒为科技(上海)股份有限公司 一种数据处理方法、上位机、单片机及系统
CN112783056B (zh) * 2021-01-04 2022-09-23 潍柴动力股份有限公司 Ecu的数据烧写方法、装置、设备及存储介质
CN113347667B (zh) * 2021-06-08 2022-07-05 武汉虹信科技发展有限责任公司 一种用于uci上报的比特压缩方法及系统
CN115543979B (zh) * 2022-09-29 2023-08-08 广州鼎甲计算机科技有限公司 重复数据的删除方法、装置、设备、存储介质和程序产品
CN116828070B (zh) * 2023-08-28 2023-11-07 无锡市锡容电力电器有限公司 一种智慧电网数据优化传输方法
CN116980492A (zh) * 2023-09-20 2023-10-31 新誉集团有限公司 Can数据的传输方法及装置
CN117331512B (zh) * 2023-12-01 2024-04-12 芯动微电子科技(武汉)有限公司 对gpu核内存储器执行写操作的数据压缩及处理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9405479B1 (en) * 2013-08-26 2016-08-02 Western Digital Technologies, Inc. Faster file compression using sliding compression window and backward compound pointers
CN106407285A (zh) * 2016-08-26 2017-02-15 西安空间无线电技术研究所 一种基于rle和lzw的优化比特文件压缩与解压缩方法
CN106656195A (zh) * 2015-11-04 2017-05-10 北京信威通信技术股份有限公司 数据压缩、解压缩的方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102122960B (zh) * 2011-01-18 2013-11-06 西安理工大学 一种针对二进制数据的多字符组合无损数据压缩方法
US9946723B2 (en) * 2014-06-02 2018-04-17 Intel Corporation Data embedding in run length encoded streams

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9405479B1 (en) * 2013-08-26 2016-08-02 Western Digital Technologies, Inc. Faster file compression using sliding compression window and backward compound pointers
CN106656195A (zh) * 2015-11-04 2017-05-10 北京信威通信技术股份有限公司 数据压缩、解压缩的方法及系统
CN106407285A (zh) * 2016-08-26 2017-02-15 西安空间无线电技术研究所 一种基于rle和lzw的优化比特文件压缩与解压缩方法

Also Published As

Publication number Publication date
WO2018214140A1 (zh) 2018-11-29
CN110799959A (zh) 2020-02-14

Similar Documents

Publication Publication Date Title
CN110799959B (zh) 一种数据压缩方法与解压方法以及相关设备
US9509334B2 (en) Non-transitory computer-readable recording medium, compression method, decompression method, compression device and decompression device
CN107305586B (zh) 索引生成方法、索引生成装置及搜索方法
CN109802684B (zh) 进行数据压缩的方法和装置
US9882582B2 (en) Non-transitory computer-readable recording medium, encoding method, encoding device, decoding method, and decoding device
US10747678B2 (en) Storage tier with compressed forward map
KR101866151B1 (ko) 적응형 레이트 압축 해시 프로세싱 디바이스
JP2007508753A (ja) データ圧縮システム及び方法
US9577666B2 (en) Method and system
US9520896B1 (en) Non-transitory computer-readable recording medium, encoding method, encoding device, decoding method, and decoding device
CN107766067B (zh) 一种提升压缩镜像烧录速度的方法、存储介质及计算机
CN110597461B (zh) 块链式账本中的数据存储方法、装置及设备
US7598891B2 (en) Data development device and data development method
CN108880559B (zh) 数据压缩方法、数据解压缩方法、压缩设备及解压缩设备
US9479195B2 (en) Non-transitory computer-readable recording medium, compression method, decompression method, compression device, and decompression device
JP6645013B2 (ja) 符号化プログラム、符号化方法、符号化装置および伸長方法
US20220199202A1 (en) Method and apparatus for compressing fastq data through character frequency-based sequence reordering
CN116192154A (zh) 数据压缩及数据解压方法、装置、电子设备、芯片
JP2010079535A (ja) データアクセス装置
US9496895B2 (en) Compression method and decompression method
US10037148B2 (en) Facilitating reverse reading of sequentially stored, variable-length data
CN108171763B (zh) 解码系数的存取方法和系统、jpeg解码系数的存取方法
CN114070471B (zh) 一种测试数据包传输方法、装置、系统、设备和介质
CN107729051B (zh) 代码处理方法、装置、可读存储介质和计算机设备
CN101467126B (zh) 根据数据历史优化不同数字式数据的存储的方法和系统

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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 518000, Building A, Building 1, Shenzhen International Innovation Valley, Dashi 1st Road, Xili Community, Xili Street, Nanshan District, Shenzhen City, Guangdong Province 1701

Patentee after: Shenzhen Paitian Robot Technology Co.,Ltd.

Country or region after: China

Address before: 518000 102a of A3, the third industrial zone of Shajing Industrial Company, Haoxiang Road, Shajing street, Bao'an District, Shenzhen City, Guangdong Province

Patentee before: SHENZHEN A&E INTELLIGENT TECHNOLOGY INSTITUTE Co.,Ltd.

Country or region before: China