CN111384965B - 数据压缩解压装置和数据解压方法 - Google Patents

数据压缩解压装置和数据解压方法 Download PDF

Info

Publication number
CN111384965B
CN111384965B CN201811628245.3A CN201811628245A CN111384965B CN 111384965 B CN111384965 B CN 111384965B CN 201811628245 A CN201811628245 A CN 201811628245A CN 111384965 B CN111384965 B CN 111384965B
Authority
CN
China
Prior art keywords
data
decompressed
decompression
write
compressed
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
CN201811628245.3A
Other languages
English (en)
Other versions
CN111384965A (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.)
Shanghai Cambricon Information Technology Co Ltd
Original Assignee
Shanghai Cambricon Information 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 Shanghai Cambricon Information Technology Co Ltd filed Critical Shanghai Cambricon Information Technology Co Ltd
Priority to CN201811628245.3A priority Critical patent/CN111384965B/zh
Priority to PCT/CN2019/121056 priority patent/WO2020114283A1/zh
Publication of CN111384965A publication Critical patent/CN111384965A/zh
Application granted granted Critical
Publication of CN111384965B publication Critical patent/CN111384965B/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/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4006Conversion to or from arithmetic code
    • 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/55Compression Theory, e.g. compression of random number, repeated compression
    • 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/60General implementation details not specific to a particular type of compression
    • H03M7/6011Encoder aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本申请涉及数据压缩解压装置和数据解压方法,其控制电路根据待解压数据中压缩数据的起始地址和长度得到解压控制命令,之后在基于该解压控制指令对读取的待解压数据在的压缩数据进行解压,该装置可以对同时包含压缩数据和非压缩数据的待解压数据的进行解压。

Description

数据压缩解压装置和数据解压方法
技术领域
本申请涉及计算机技术技术领域,特别是涉及一种数据压缩解压装置和数据解压方法。
背景技术
数据解压是数据压缩的逆过程,传统技术中数据解压过程一般为选用合适的编码算法对压缩的数据进行处理,使之恢复到压缩之前的状态。
但是传统技术的数据解压方法无法既包含压缩数据又包含非压缩数据的待运算数据进行解压。
发明内容
基于此,有必要针对上述技术问题,提供一种能够对包含压缩数据和非压缩数据的待运算数据的数据压缩解压装置和数据解压方法质。
一种数据压缩解压装置,所述装置包括,控制电路和压缩解压电路,所述控制电路与所述压缩解压电路连接,
所述控制电路用于根据待解压数据中压缩数据的起始地址和长度得到解压控制命令,其中,所述待解压数据包含压缩数据和非压缩数据;
所述压缩解压电路用于根据所述解压控制命令解压所述待解压数据中的压缩数据。
作为一种可选地实施方式,所述控制电路还用于根据压缩解压电路的数量得到每一压缩解压电路的读写控制命令;
各个所述压缩解压电路用于根据所述读写控制命令从待运算数据中读取待解压数据,其中,所述待运算数据包含至少一个待解压数据。3、根据权利要求2所述的装置,其特征在于,所述压缩解压电路包括第一读写电路、第一存储器以及压缩解压部件,所述第一读写电路与所述控制电路和所述第一存储器连接,所述压缩解压部件分别与所述控制电路和所述第一存储器连接,
所述第一读写电路用于根据所述读写控制指令从所述待运算数据中读取待解压数据,并将所述待解压数据写入所述第一存储器;
所述控制电路还用于根据所述第一存储器存储的所述待解压数据中的压缩数据的起始地址和数据长度得到解压控制指令;
所述压缩解压部件,用于根据所述解压控制指令对所述待解压数据中的压缩数据进行压缩。
作为一种可选地实施方式,所述装置还包括非压缩数据通路以及第二读写电路,所述非压缩数据通路与所述第一存储器连接,所述第二读写电路与所述控制电路以及所述第一存储器连接,
所述控制电路还用于根据所述第一存储器中待解压数据的非压缩数据得到写出控制指令;
所述第二读写电路用于根据所述写出控制指令将所述非压缩数据从所述非压缩数据通路写出。
作为一种可选地实施方式,所述装置还包括第二存储器,所述第二存储器分别与所述控制电路和所述压缩解压电路连接,
所述第二存储器用于存储所述待运算数据,其中,所述待运算数据包含头段和数据段,所述头段包含多个数据头,所述数据段包含多个数据体和非压缩数据,所述数据头包含对应的数据体或非压缩数据的起始地址和数据长度,所述数据体包含对应的数据块的压缩编码数据。
作为一种可选地实施方式,所述控制电路具体用于根据当前待解压数据中的数据头,得到当前待解压数据中对应的数据体和非压缩数据的起始地址和数据长度,根据所述当前待解压数据中的数据体的起始地址和数据长度得到解压控制命令,以及根据所述当前待解压数据中的非压缩数据的起始地址和数据长度得到写出控制命令;
所述压缩解压部件具体用于根据所述解压控制命令解压所述当前待解压数据中的数据体,得到解压数据。
作为一种可选地实施方式,所述控制电路还用于获取与所述当前待解压数据对应的数据写入窗口的方向参数,并根据所述方向参数得到写入控制命令;
所述第二读写电路还用于根据所述写入控制命令将所述当前待解压数据中数据体的解压数据,写入第二存储器上与所述数据写入窗口对应的存储空间,以及通过非压缩数据通道将所述当前待解压数据中非压缩数据写入所述数据写入窗口对应的存储空间。
一种数据解压方法,所述方法包括:
根据待解压数据中压缩数据的起始地址和长度得到解压控制命令,其中,所述待解压数据包含压缩数据和非压缩数据;
根据所述解压控制命令解压所述待解压数据中的压缩数据。
作为一种可选地实施方式,所述方法还包括:
根据压缩解压电路的数量得到读写控制命令;
根据所述读写控制命令从待运算数据中获取待解压数据。
作为一种可选地实施方式,所述方法还包括:
所述待运算数据中读取待解压数据后将所述待解压数据写入所述压缩解压电路的第一存储器。
作为一种可选地实施方式,所述方法还包括,
根据所述待解压数据的非压缩数据得到写出控制指令;
根据所述写出控制指令将所述非压缩数据从非压缩数据通路写出。
作为一种可选地实施方式,所述方法还包括:
获取待运算数据,并将所述待运算数据存储至第二存储器,其中,所述待运算数据包含头段和数据段,所述头段包含多个数据头,所述数据段包含多个数据体和非压缩数据,所述数据头包含对应的数据体或非压缩数据的起始地址和数据长度,所述数据体包含对应的数据块的压缩编码数据。
作为一种可选地实施方式,根据所述解压控制命令解压所述待解压数据中的压缩数据,包括:
根据当前待解压数据中的数据头,得到当前待解压数据中对应的数据体的起始地址和数据长度;
根据所述当前待解压数据中的数据体的起始地址和数据长度得到解压控制命令;
根据所述解压控制命令解压所述当前待解压数据中的数据体,得到解压数据。
作为一种可选地实施方式,根据所述待解压数据的非压缩数据得到写出控制指令,包括:
根据当前待解压数据中的数据头,得到当前待解压数据中对应的非压缩数据的起始地址和数据长度;
根据所述当前待解压数据中的非压缩数据的起始地址和数据长度得到写出控制命令。
作为一种可选地实施方式,获取与所述当前待解压数据对应的数据写入窗口的方向参数,并根据所述方向参数得到写入控制命令;
根据所述写入控制命令将所述当前待解压数据中数据体的解压数据,写入第二存储器上与所述数据写入窗口对应的存储空间,以及通过非压缩数据通道将所述当前待解压数据中非压缩数据写入所述数据写入窗口对应的存储空间。
上述实施例中的数据压缩解压装置和数据解压方法,其控制电路根据待解压数据中压缩数据的起始地址和长度得到解压控制命令,之后在基于该解压控制指令对读取的待解压数据在的压缩数据进行解压,该装置可以对同时包含压缩数据和非压缩数据的待解压数据的进行解压。
附图说明
图1为一个实施例中数据压缩解压装置的结构框图;
图2为一个实施例中数据压缩解压装置的结构框图;
图3为一个实施例中数据压缩解压装置的结构框图;
图4为一个实施例中数据压缩解压装置的结构框图;
图5为一个实施例数据压缩解压装置的结构框图;
图6为一个实施例中的一种数据解压方法步骤的流程示意图;
图7为一个实施例中的一种数据解压方法补充步骤的流程示意图;
图8为一个实施例中的一种数据解压方法补充步骤的流程示意图;
图9为一个实施例中待运算数据的结构示意图;
图10为一个实施例中解压所述当前待解压数据中压缩数据的步骤的流程示意图;
图11为一个实施例中解压所述当前待解压数据中非压缩数据的步骤的流程示意图;
图12为一个实施例中一种数据解压方法补充步骤的流程示意图;
图13为一个实施例中得到的解压结果的示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
如图1-图5所示,为本申请在其中一个实施例中提出的数据压缩解压装置100的结构框图,该数据压缩解压装置100包括:控制电路110和压缩解压电路120。该控制电路100与压缩解压电路120连接。其中,
控制电路100用于根据待解压数据中压缩数据的起始地址和长度得到解压控制命令,其中,所述待解压数据包含压缩数据和非压缩数据。压缩解压电路120用于根据所述解压控制命令解压所述待解压数据中的压缩数据。
本实施例中的数据压缩解压装置,其控制电路根据待解压数据中压缩数据的起始地址和长度得到解压控制命令,之后在基于该解压控制指令对读取的待解压数据在的压缩数据进行解压,该装置可以对同时包含压缩数据和非压缩数据的待解压数据的进行解压。
作为一种可选地实施方式,数据压缩解压装置100中的压缩解压电路120可以为多个,每一压缩解压电路120均连接至控制电路110。其中,该控制电路110将得到解压控制指令发送至各个压缩解压电路120,各个压缩解压电路120根据接收的解压控制指令对接收的待运算数据中的待解压数据中的压缩数据进行解压。其中,各个压缩解压电路120接收的待解压数据组成待运算数据。进一步地,控制电路110可以用于根据压缩解压电路的数量得到每一压缩解压电路120的读写控制命令。
各个压缩解压电路120还可以用于根据所述读写控制指令从所述待运算数据中读取待解压数据。
本实施例中的数据压缩解压装置和数据解压方法,根据压缩解压电路的数量得到每一压缩解压电路的读写控制命令,各个压缩解压电路用于根据所述读写控制命令从待运算数据中读取待解压数据,其中,所述待运算数据包含至少一个待解压数据,之后各个解压电路即可并行处理待解压数据,数据处理效率高。
进一步地,如图2所示,该压缩解压电路120可以包括:第一读写电路121、第一存储器122以及压缩解压部件123。其中,第一读写电路121与控制电路110以及所述第一存储器122连接,所述压缩解压部件123分别与所述控制电路110和所述第一存储器123连接。
其中,第一读写电路121用于根据从待运算数据中读取待解压数据,并将所述待解压数据写入所述第一存储器122;所述控制电路110还用于根据所述第一存储器122存储的所述待解压数据中的压缩数据的起始地址和数据长度得到解压控制指令;所述压缩解压部件123,用于根据所述解压控制指令对所述待解压数据中的压缩数据进行解压。
在其中一个实施例中,如图3-图4所示,该数据压缩解压装置100还包括非压缩数据通路130以及第二读写电路140,该非压缩数据通路130与第一存储器123与连接。该第二读写电路140与所述控制电路以及所述第一存储器连接。
其中,非压缩数据通路130用于所述非压缩数据的传输。具体地,第二读写电路140根据所述写出控制指令将所述第一存储器上待解压数据中的非压缩数据从所述非压缩数据通路写出。具体地,控制电路110还用于根据待解压数据中的的非压缩数据得到写出控制指令;第二读写电路140用于根据所述写出控制指令将所述非压缩数据从所述非压缩数据通路写出。可选地,该各个压缩解压电路120可以共用同一非压缩数据通路130(图3)。可选地,各个压缩解压电路120也可以独立设置一非压缩数据通路130(图4)。
进一步地,如图5所示,该数据压缩解压装置100还包括第二存储器150。该第二存储器150与第二读写电路140连接。该第二存储器150可以用于存储待运算数据。可选地,所述待运算数据包含头段和数据段,所述头段包含多个数据头,所述数据段包含多个数据体和非压缩数据,所述数据头包含对应的数据体或非压缩数据的起始地址和数据长度,所述数据体包含对应的数据块的压缩编码数据。
可选地,该第二存储器150还可以与第二读写电路140以及压缩解压电路的压缩解压部件123连接。该第二存储器还可以用于存储第二读写电路140通过非压缩数据通路130写出的待解压数据中的非压缩数据,以及压缩解压部件123输出的解压数据。可选地,第二存储器150按照预设格式解压数据以及非压缩数据。可选地,该预设格式可以根据待运算数据压缩前的存储格式进行设置。
在其中一个实施例中,在待运算数据包含头段和数据段时,控制电路110具体用于根据当前待解压数据中的数据头,得到当前待解压数据中对应的数据体和非压缩数据的起始地址和数据长度,根据所述当前待解压数据中的数据体的起始地址和数据长度得到解压控制命令,以及根据所述当前待解压数据中的非压缩数据的起始地址和数据长度得到写出控制命令。压缩解压部件123具体用于根据所述解压控制命令解压所述当前待解压数据中的数据体,得到解压数据。
进一步地,控制电路110还用于获取与所述当前待解压数据对应的数据写入窗口的方向参数,并根据所述方向参数得到写入控制命令。该方向参数与各个压缩解压电路读取的输入数据中的数据单元的大小以及位置相关。其中,输入数据被非整压缩后得到与待运算数据。该数据单元中包含的完整数据块为待压缩数据,非整数据块为非压缩数据。输入数据被非整压缩的具体方式可以包括:首先,控制电路110根据压缩解压电路120的数量确定所述数据单元的大小,并根据所述数据单元的大小确定数据读取窗口,根据数据读取窗口得到读写控制指令;压缩解压电路120根据所述读写控制指令从所述输入数据中读取数据单元。之后,控制电路100根据数据单元中待压缩数据的起始地址和数据长度得到压缩控制指令,其中,输入数据包含至少一个数据单元,所述数据单元包含待压缩数据和非压缩数据。压缩解压电路120根据所述压缩控制指令获取所述待压缩数据,并对所述待压缩数据进行压缩得到压缩数据,该压缩数据被存储于第二存储器的预设存储空间。最后,控制电路110还用于根据数据单元中的非压缩数据得到写出控制指令;第二读写电路140用于根据所述写出控制指令将所述非压缩数据从所述非压缩数据通路写出至第二存储器的预设存储空间。第二存储器上预设存储空间的数据即为待运算数据。
具体地,第二读写电路140还用于根据所述写入控制命令将所述当前待解压数据中数据体的解压数据,写入第二存储器上与所述数据写入窗口对应的存储空间,以及通过非压缩数据通道将所述当前待解压数据中非压缩数据写入所述数据写入窗口对应的存储空间。应当清楚的是,数据读取窗口与对应的数据写入窗口使用的方向参数一致。
基于同样的发明构思,如图6所示,本申请还提出了一种数据解压方法,该种数据解压方法被上述实施例中的数据压缩解压装置100执行,具体包括如下步骤:
步骤S610,根据待解压数据中压缩数据的起始地址和长度得到解压控制命令,其中,所述待解压数据包含压缩数据和非压缩数据。
具体地,控制电路110根据待解压数据中压缩数据的起始地址和长度得到解压控制命令,其中,所述待解压数据包含压缩数据和非压缩数据。
步骤S620,根据所述解压控制命令解压所述待解压数据中的压缩数据。
具体地,压缩解压电路120根据所述解压控制命令解压所述待解压数据中的压缩数据。可选地,压缩解压电路对待压缩数据进行压缩时,使用的数据压缩算法可以是Huffman编码、游程编码、LZ77以及它们的任意组合等。应当清楚的是,压缩解压电路120选择使用的解压算法需与得到待运算数据使用的压缩算法对应,例如,使用Huffman算法对输入数据进行压缩得到待运算数据,则在解压该通过Huffman算法得到的待运算数据时也需要使用对应的Huffman算法,该过程中对输入数据进行压缩得到待运算数据,与对待运算数据解压得到解压数据互为逆过程。
在其中一个实施例中,如图7所示,上述数据压缩方法还包括:
步骤S630,根据压缩解压电路的数量得到读写控制命令。
具体地,控制电路110根据压缩解压电路的数量得到读写控制命令。进一步地,一般来说控制电路将待运算数据中同一压缩解压电路得到的待压缩数据分发至一个压缩解压电路进行解压。即使用了几个压缩解压电路进行数据压缩得到待运算数据,在对待运算数据进行解压时需要同一数量的压缩解压电路。
步骤S640,根据所述读写控制命令从待运算数据中获取待解压数据。
具体地,压缩解压电路120的第一读写电路121根据所述读写控制命令从待运算数据中获取待解压数据。进一步地,第一读写电路121在读取待解压数据后,将该待解压数据写入该压缩解压电路的第一存储器122中。
在其中一个可选地实施例中,如图8所示,所述数据压缩方法还包括:
步骤S650,根据所述待解压数据的非压缩数据得到写出控制指令。
其中,非压缩数据为待运算数据中无需解压的数据。具体地,控制电路110根据所述待解压数据的非压缩数据得到写出控制指令。
步骤S660,根据所述写出控制指令将所述非压缩数据从非压缩数据通路写出。
具体地,第二读写电路根据所述写出控制指令将所述非压缩数据从非压缩数据通路写出。可选地,将非压缩数据写出至第二存储器150。
在其中一个实施例中,上述数据解压方法,还可以包括:获取待运算数据,并将所述待运算数据存储至第二存储器,其中,所述待运算数据结构如图9所示,包含头段(head)和数据段(data),所述头段包含多个数据头,所述数据段包含多个数据体和非压缩数据,所述数据头包含对应的数据体或非压缩数据的起始地址和数据长度,所述数据体包含对应的数据块的压缩编码数据。其中,head A中包含head 0和数据单元A中的非压缩数据的数据头;head B中包含head 2和数据单元B中的非压缩数据的数据头;head C中包含head 6和数据单元C中的非压缩数据的数据头;head D中包含head 8和数据单元D中的非压缩数据的数据头。
具体地,压缩解压电路120的第一读写电路121获取待运算数据,并将所述待运算数据存储至第二存储器,其中,所述待运算数据包含头段和数据段,所述头段包含多个数据头,所述数据段包含多个数据体和非压缩数据,所述数据头包含对应的数据体或非压缩数据的起始地址和数据长度,所述数据体包含对应的数据块的压缩编码数据。
在其中一个实施例中,如图10所示,若第一存储器中的待运算数据数据头和数据体,步骤S620包括:
步骤S621,根据当前待解压数据中的数据头,得到当前待解压数据中对应的数据体的起始地址和数据长度;根据所述当前待解压数据中的数据体的起始地址和数据长度得到解压控制命令。
具体地,控制电路110根据当前待解压数据中的数据头,得到当前待解压数据中对应的数据体的起始地址和数据长度;根据所述当前待解压数据中的数据体的起始地址和数据长度得到解压控制命令。
步骤S622,根据所述解压控制命令解压所述当前待解压数据中的数据体,得到解压数据。
具体地,压缩解压电路120的压缩解压部件123根据所述解压控制命令解压所述当前待解压数据中的数据体,得到解压数据。
进一步地,如图11所示,步骤S650包括:
S651,根据当前待解压数据中的数据头,得到当前待解压数据中对应的非压缩数据的起始地址和数据长度。
具体地,控制电路110根据当前待解压数据中的数据头,得到当前待解压数据中对应的非压缩数据的起始地址和数据长度。
S652,根据所述当前待解压数据中的非压缩数据的起始地址和数据长度得到写出控制命令。
具体地,压缩解压电路120根据所述当前待解压数据中的非压缩数据的起始地址和数据长度得到写出控制命令。
在其中一个实施例中,如图12所示,上述数据解压方法还包括:
S670,获取与所述当前待解压数据对应的数据写入窗口的方向参数,并根据所述方向参数得到写入控制命令。
具体地,控制电路110获取与所述当前待解压数据对应的数据写入窗口的方向参数,并根据所述方向参数得到写入控制命令。可选地,该窗口参数可以包含四个方向参数,例如将各个方向的参数设定为:top(上)、bottom(下)、left(左)、right(右)。该四个方向参数该与各个压缩解压电路读取的输入数据中的数据单元的大小以及位置相关。其中,输入数据被非整压缩后得到与待运算数据。该数据单元中包含的完整数据块为待压缩数据,非整数据块为非压缩数据。
例如,压缩解压电路读取数据单元的数据读取窗口的窗口参数可以为top=0、bottom=3、left=0、right=30。则该数据写入窗口的方向参数也可以为top=0、bottom=3、left=0、right=30。
S680,根据所述写入控制命令将所述当前待解压数据中数据体的解压数据,写入第二存储器上与所述数据写入窗口对应的存储空间,以及通过非压缩数据通道将所述当前待解压数据中非压缩数据写入所述数据写入窗口对应的存储空间。
具体地,第二读写电路根据所述写入控制命令将所述当前待解压数据中数据体的解压数据,写入第二存储器上与所述数据写入窗口对应的存储空间,以及通过非压缩数据通道将所述当前待解压数据中非压缩数据写入所述数据写入窗口对应的存储空间。承接上例,将当前待解压数据写入第二存储器的得到的解压结果如图13所示。
本实施例的数据解压方法,可以对包含头段和数据段的待运算数据进行解压,所述头段包含多个数据头,所述数据段包含多个数据体和非压缩数据,所述数据头包含对应的数据体或非压缩数据的起始地址和数据长度,所述数据体包含对应的数据块的压缩编码数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (11)

1.一种数据压缩解压装置,其特征在于,所述装置包括,控制电路和压缩解压电路,所述控制电路与所述压缩解压电路连接,所述压缩解压电路包括第一读写电路、第一存储器以及压缩解压部件,所述第一读写电路与所述控制电路和所述第一存储器连接,所述压缩解压部件分别与所述控制电路和所述第一存储器连接,所述装置还包括非压缩数据通路以及第二读写电路,所述非压缩数据通路与所述第一存储器连接,所述第二读写电路与所述控制电路以及所述第一存储器连接;
所述第一读写电路用于根据读写控制指令从待运算数据中读取待解压数据,并将所述待解压数据写入所述第一存储器;
所述控制电路用于根据所述第一存储器中存储的所述待解压数据中压缩数据的起始地址和长度得到解压控制命令,其中,所述待解压数据包含压缩数据和非压缩数据;
所述压缩解压部件,用于根据所述解压控制命令解压所述待解压数据中的压缩数据;
所述控制电路还用于根据所述第一存储器中所述待解压数据的非压缩数据得到写出控制指令;所述第二读写电路用于根据所述写出控制指令将所述非压缩数据从所述非压缩数据通路写出;各个压缩解压电路共用同一非压缩数据通路或针对各个压缩解压电路独立设置非压缩数据通路。
2.根据权利要求1所述的装置,其特征在于,
所述控制电路还用于根据压缩解压电路的数量得到每一压缩解压电路的所述读写控制指令;所述待运算数据包含至少一个待解压数据。
3.根据权利要求1所述的装置,其特征在于,所述装置还包括第二存储器,所述第二存储器分别与所述控制电路和所述压缩解压电路连接,
所述第二存储器用于存储所述待运算数据,其中,所述待运算数据包含头段和数据段,所述头段包含多个数据头,所述数据段包含多个数据体和非压缩数据,所述数据头包含对应的数据体或非压缩数据的起始地址和数据长度,所述数据体包含对应的数据块的压缩编码数据。
4.根据权利要求3所述的装置,其特征在于,
所述控制电路具体用于根据当前待解压数据中的数据头,得到当前待解压数据中对应的数据体和非压缩数据的起始地址和数据长度,根据所述当前待解压数据中的数据体的起始地址和数据长度得到解压控制命令,以及根据所述当前待解压数据中的非压缩数据的起始地址和数据长度得到写出控制命令;
所述压缩解压部件具体用于根据所述解压控制命令解压所述当前待解压数据中的数据体,得到解压数据。
5.根据权利要求4所述的装置,其特征在于,
所述控制电路还用于获取与所述当前待解压数据对应的数据写入窗口的方向参数,并根据所述方向参数得到写入控制命令;
所述第二读写电路还用于根据所述写入控制命令将所述当前待解压数据中数据体的解压数据,写入第二存储器上与所述数据写入窗口对应的存储空间,以及通过非压缩数据通道将所述当前待解压数据中非压缩数据写入所述数据写入窗口对应的存储空间。
6.一种数据解压方法,其特征在于,所述方法包括:
从待运算数据中读取待解压数据后将所述待解压数据写入压缩解压电路的第一存储器;
根据所述第一存储器存储的所述待解压数据中压缩数据的起始地址和长度得到解压控制命令,其中,所述待解压数据包含压缩数据和非压缩数据;
根据所述解压控制命令解压所述待解压数据中的压缩数据;
根据所述待解压数据的非压缩数据得到写出控制指令;
根据所述写出控制指令将所述非压缩数据从非压缩数据通路写出;所述非压缩数据通路为用于多个待解压数据中的非压缩数据写出而设置的共有通路,或者所述非压缩数据通路为用于多个待解压数据中一个待解压数据的非压缩数据写出而设置的通路。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
根据压缩解压电路的数量得到读写控制指令;
根据所述读写控制指令从待运算数据中获取所述待解压数据。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
获取待运算数据,并将所述待运算数据存储至第二存储器,其中,所述待运算数据包含头段和数据段,所述头段包含多个数据头,所述数据段包含多个数据体和非压缩数据,所述数据头包含对应的数据体或非压缩数据的起始地址和数据长度,所述数据体包含对应的数据块的压缩编码数据。
9.根据权利要求8所述的方法,其特征在于,根据所述解压控制命令解压所述待解压数据中的压缩数据,包括:
根据当前待解压数据中的数据头,得到当前待解压数据中对应的数据体的起始地址和数据长度;
根据所述当前待解压数据中的数据体的起始地址和数据长度得到解压控制命令;
根据所述解压控制命令解压所述当前待解压数据中的数据体,得到解压数据。
10.根据权利要求9所述的方法,其特征在于,根据所述待解压数据的非压缩数据得到写出控制指令,包括:
根据当前待解压数据中的数据头,得到当前待解压数据中对应的非压缩数据的起始地址和数据长度;
根据所述当前待解压数据中的非压缩数据的起始地址和数据长度得到写出控制命令。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
获取与所述当前待解压数据对应的数据写入窗口的方向参数,并根据所述方向参数得到写入控制命令;
根据所述写入控制命令将所述当前待解压数据中数据体的解压数据,写入第二存储器上与所述数据写入窗口对应的存储空间,以及通过非压缩数据通道将所述当前待解压数据中非压缩数据写入所述数据写入窗口对应的存储空间。
CN201811628245.3A 2018-12-07 2018-12-28 数据压缩解压装置和数据解压方法 Active CN111384965B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811628245.3A CN111384965B (zh) 2018-12-28 2018-12-28 数据压缩解压装置和数据解压方法
PCT/CN2019/121056 WO2020114283A1 (zh) 2018-12-07 2019-11-26 数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811628245.3A CN111384965B (zh) 2018-12-28 2018-12-28 数据压缩解压装置和数据解压方法

Publications (2)

Publication Number Publication Date
CN111384965A CN111384965A (zh) 2020-07-07
CN111384965B true CN111384965B (zh) 2022-06-17

Family

ID=71218199

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811628245.3A Active CN111384965B (zh) 2018-12-07 2018-12-28 数据压缩解压装置和数据解压方法

Country Status (1)

Country Link
CN (1) CN111384965B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6414610B1 (en) * 1997-02-24 2002-07-02 Rodney J Smith Data compression
CN102236543A (zh) * 2010-05-07 2011-11-09 百度在线网络技术(北京)有限公司 数据解压装置及方法
CN102457283A (zh) * 2010-10-28 2012-05-16 阿里巴巴集团控股有限公司 一种数据压缩、解压缩方法及设备
CN103516369A (zh) * 2013-06-20 2014-01-15 易乐天 一种自适应数据压缩和解压缩的方法和***及存储装置
CN107919872A (zh) * 2016-10-07 2018-04-17 株式会社东芝 数据压缩装置、数据解压装置以及数据压缩解压装置
CN108292222A (zh) * 2015-12-26 2018-07-17 英特尔公司 用于数据解压缩的硬件装置和方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6392567B2 (en) * 2000-03-31 2002-05-21 Fijitsu Limited Apparatus for repeatedly compressing a data string and a method thereof
EP1225704A1 (en) * 2001-01-12 2002-07-24 STMicroelectronics S.r.l. "A process and system for compressing and decompressing digital information and computer program product therefor
CN101582067A (zh) * 2008-05-15 2009-11-18 国际商业机器公司 解压压缩文件时减小存储需求的方法和***
TWI522910B (zh) * 2013-10-18 2016-02-21 威盛電子股份有限公司 微處理器、選擇性解壓縮微程式碼方法、產生選擇性壓縮微程式碼方法、產生描述方法以及電腦程式產品
KR102078853B1 (ko) * 2013-11-27 2020-02-18 삼성전자 주식회사 메모리 시스템, 호스트 시스템 및 메모리 시스템에서의 라이트 동작 수행 방법
CN107526743B (zh) * 2016-06-21 2020-08-07 伊姆西Ip控股有限责任公司 用于压缩文件***元数据的方法和设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6414610B1 (en) * 1997-02-24 2002-07-02 Rodney J Smith Data compression
CN102236543A (zh) * 2010-05-07 2011-11-09 百度在线网络技术(北京)有限公司 数据解压装置及方法
CN102457283A (zh) * 2010-10-28 2012-05-16 阿里巴巴集团控股有限公司 一种数据压缩、解压缩方法及设备
CN103516369A (zh) * 2013-06-20 2014-01-15 易乐天 一种自适应数据压缩和解压缩的方法和***及存储装置
CN108292222A (zh) * 2015-12-26 2018-07-17 英特尔公司 用于数据解压缩的硬件装置和方法
CN107919872A (zh) * 2016-10-07 2018-04-17 株式会社东芝 数据压缩装置、数据解压装置以及数据压缩解压装置

Also Published As

Publication number Publication date
CN111384965A (zh) 2020-07-07

Similar Documents

Publication Publication Date Title
US9720821B2 (en) Adaptive compression data storing method for non-volatile memories and system using the same
CN107632776B (zh) 用于压缩输入数据的数据存储装置
KR960032912A (ko) 색인된 칼라 이미지데이타를 위한 데이타압축장치 및 방법
US11513783B2 (en) Control apparatus, program update system, and program update method
JPH06152435A (ja) 可変長符号の伸長装置および圧縮伸長装置
US10686468B2 (en) Data processing apparatus, memory system, and method of processing data
US9594627B2 (en) Controller and control method
US11048622B2 (en) Memory system
US20170070244A1 (en) Storage control device, storage system, and storage control method
CN110419036B (zh) 数据压缩方法、设备与计算设备
KR101224397B1 (ko) 데이터 압축장치 및 방법, 이를 포함하는 화상형성장치
US10303402B2 (en) Data compression using partial statistics
CN111384961B (zh) 数据压缩解压装置和数据压缩方法
CN111384965B (zh) 数据压缩解压装置和数据解压方法
CN106293542B (zh) 一种文件解压缩的方法及装置
JP2022188911A (ja) 圧縮装置、圧縮伸張装置及びメモリシステム
US7439887B2 (en) Method and apparatus for GIF decompression using fixed-size codeword table
US20190095338A1 (en) Semiconductor device, data processing system, and semiconductor device control method
US9008185B2 (en) Apparatus and method of lossless compression/restoration of selective image information
KR100208412B1 (ko) 정보 기억 장치
CN101996660B (zh) 数据压缩/解压缩方法、数据压缩方法及光盘驱动器
JPH09247671A (ja) デジタル画像復号装置
TW200537497A (en) Silicon storage media and controller thereof, controlling method thereof, and data frame based storage media
JP2021174472A (ja) ストレージシステム
US11824566B2 (en) Data decompression device, data compression device, and memory system

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