CN106506007A - 一种无损数据压缩和解压缩装置及其方法 - Google Patents

一种无损数据压缩和解压缩装置及其方法 Download PDF

Info

Publication number
CN106506007A
CN106506007A CN201510568126.3A CN201510568126A CN106506007A CN 106506007 A CN106506007 A CN 106506007A CN 201510568126 A CN201510568126 A CN 201510568126A CN 106506007 A CN106506007 A CN 106506007A
Authority
CN
China
Prior art keywords
data
dictionary
data stream
lossless
storage medium
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.)
Withdrawn
Application number
CN201510568126.3A
Other languages
English (en)
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.)
MediaTek Singapore Pte Ltd
Original Assignee
MediaTek Singapore Pte 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 MediaTek Singapore Pte Ltd filed Critical MediaTek Singapore Pte Ltd
Priority to CN201510568126.3A priority Critical patent/CN106506007A/zh
Priority to US15/161,100 priority patent/US9742437B2/en
Publication of CN106506007A publication Critical patent/CN106506007A/zh
Withdrawn legal-status Critical Current

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
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • 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/3059Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy 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/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3088Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

本申请公开了一种无损数据压缩和解压缩装置及其方法,其中,该无损数据压缩装置包括:处理器,用于在接收到对原始数据流的压缩指令时,将所述原始数据流与预先建立的字典中的数据项进行匹配,并依照匹配结果输出相应字符;熵编码电路,用于将输出的所述相应字符进行熵编码得到压缩数据流。通过上述方式,能够提高数据压缩或解压缩的速率。

Description

一种无损数据压缩和解压缩装置及其方法
技术领域
本申请涉及数据压缩技术领域,特别是一种无损数据压缩和解压缩装置及其方法。
背景技术
随着互联网的发展,终端间的大数据传输,如视频、照片传输等,已成为用户的普遍需求。为便于大数据的传输,终端间的传输数据会先进行压缩处理,以降低该传输数据的数据量。
目前的数据压缩和解压缩方式都由终端的处理器执行。然而,由于终端的处理器需要处理该终端的各种事务,且其处理资源有限,故当处理器由于处理其他事务而占用较多资源,此时,如果需要对数据进行压缩或解压缩,则导致处理器由于剩余资源不足而使得压缩或解压缩的速度较慢。
此外,无损数据压缩(Lossless Data Compression)技术,即原始数据进行压缩后信息不受损失,在进行解压缩后能够得到与原始数据完全相同的数据。其由于能够完整保留原始数据的信息,而成为目前主流的数据压缩技术。
发明内容
本申请提供一种无损数据压缩和解压缩装置及其方法,能够提高数据压缩或解压缩的速率。
本申请第一方面提供一种无损数据压缩装置,包括:处理器,用于在接收到对原始数据流的压缩指令时,将所述原始数据流与预先建立的字典中的数据项进行匹配,并依照匹配结果输出相应字符;熵编码电路,用于将输出的所述相应字符进行熵编码得到压缩数据流。
其中,还包括与所述处理器连接的第一存储介质、查字典电路以及与所述查字典电路连接的第二存储介质,所述第一存储介质和第二存储介质均用于存储所述字典;所述处理器用于在接收到对所述原始数据流的所述压缩指令且所述原始数据流超出预设数据量时,将要压缩的原始数据流与所述第一存储介质的所述字典中的所述数据项进行匹配,并依照匹配结果输出所述相应字符;所述查字典电路用于在接收到对所述原始数据流的所述压缩指令且所述原始数据流不超出预设数据量时,将要压缩的原始数据流与所述第二存储介质的所述字典中的所述数据项进行匹配,并依照匹配结果输出所述相应字符至所述熵编码电路。
其中,所述装置还包括数据流缓冲器、字符缓冲器,所述数据流缓冲器用于缓存所述原始数据流;所述处理器包括第一控制模块和对比模块;所述第一控制模块用于在接收到对所述原始数据流的所述压缩指令时,提取所述数据流缓冲器中的所述原始数据流的数据,在所述字典中查找至少与提取的所述数据的前面部分匹配的数据项,并将提取的所述数据写入到所述字典中,其中,所述字典中的数据项为之前写入到所述字典的所述原始数据流中的其他数据;所述对比模块用于在所述第一控制模块查找到所述数据项时,将提取的所述数据和查找到的所述数据项进行比对,得到所述提取的数据和查找到的所述数据项匹配的数据长度;所述第一控制模块还用于在查找到所述数据项时,将提取的所述数据与查找到的所述数据项间的不匹配部分、查找到的所述数据项在所述原始数据流的地址、匹配的所述数据长度作为提取的所述数据对应的字符输出至所述字符缓冲器;在没有查找到所述数据项时,将提取的所述数据作为对应的字符输出至所述字符缓冲器。
其中,所述装置还包括第三存储介质,所述第三存储介质用于存储概率表;所述熵编码电路包括第二控制模块和编码模块;所述第二控制模块用于提取所述字符缓冲器中的所述字符,统计提取的所述字符在所述原始数据流的所有对应字符中的出现概率,并将提取的所述字符的出现概率记录在所述概率表中;所述编码模块用于对所述原始数据流的对应字符和所述字符的出现概率进行熵编码,得到压缩数据流。
其中,所述字典为哈希列表,所述熵编码为适应性二元算数熵编码。
本申请第二方面提供一种无损数据解压缩装置,包括:熵解码电路,用于在接收到对压缩数据流的解压缩指令时,将所述压缩数据流进行熵解码,得到相应字符;处理器,用于从预先建立的字典中查找得到与所述熵解码电路输出的所述相应字符对应的原始数据,输出由所述原始数据组成的原始数据流。
其中,还包括与所述处理器连接的第一存储介质、查字典电路和与所述查字典电路连接的第二存储介质,所述第一存储介质和第二存储介质均用于存储所述字典;所述处理器用于在所述压缩数据流超出预设数据量时,从预先建立的所述字典中查找得到与所述熵解码电路输出的所述相应字符对应的所述原始数据,输出由所述原始数据组成的所述原始数据流;所述查字典电路用于在所述压缩数据流不超出预设数据量时,从预先建立的所述字典中查找得到与所述熵解码电路输出的所述相应字符对应的所述原始数据,输出由所述原始数据组成的所述原始数据流。
其中,包括数据流缓冲器、字符缓冲器,所述字符缓冲器用于缓存所述熵解码电路输出的所述相应字符,所述字符包括所述字典中与所述相应字符匹配的数据项的地址、所述数据项的数据长度以及所述相应字符对应的原始数据与所述数据项的不匹配部分;所述处理器用于从所述字典中获取所述地址指向的且具有所述数据长度的数据项,将所述数据项与所述相应字符中的不匹配部分组成所述相应字符对应的所述原始数据,并将所述原始数据缓存在所述数据流缓冲器中。
其中,所述装置还包括第三存储介质,所述第三存储介质用于存储压缩数据流压缩时建立的概率表;所述熵解码电路包括控制模块和解码模块;所述控制模块用于对照所述概率表,查找出所述压缩数据流的所述相应字符的出现概率;所述解码模块用于根据所述压缩数据流的所述相应字符的所述出现概率,对所述压缩数据流进行熵解码,得到相应的字符。
其中,所述字典为哈希列表,所述熵解码为适应性二元算数熵解码。
本申请第三方面提供一种无损数据压缩方法,所述方法应用于无损数据压缩装置,所述装置包括处理器和熵编码电路,所述方法包括:所述处理器在接收到对原始数据流的压缩指令时,将所述原始数据流与预先建立的字典中的数据项进行匹配,并依照匹配结果输出相应字符;所述熵编码电路将输出的所述相应字符进行熵编码得到压缩数据流。
其中,所述装置还包括与所述处理器连接的第一存储介质、查字典电路以及与所述查字典电路连接的第二存储介质,所述第一存储介质和第二存储介质均用于存储所述字典;所述处理器在接收到对原始数据流的压缩指令时,将所述原始数据流与预先建立的字典中的数据项进行匹配,并依照匹配结果输出相应字符,包括:所述处理器在接收到对所述原始数据流的所述压缩指令且所述原始数据流超出预设数据量时,将要压缩的原始数据流与所述第一存储介质的所述字典中的所述数据项进行匹配,并依照匹配结果输出所述相应字符;且所述查字典电路在接收到对所述原始数据流的压缩指令且所述原始数据流不超出所述预设数据量时,将要压缩的原始数据流与所述第二存储介质的所述字典中的所述数据项进行匹配,并依照匹配结果输出所述相应字符至所述熵编码电路。
本申请第四方面提供一种无损数据解压缩方法,所述方法应用于无损数据解压缩装置,所述装置包括熵解码电路和处理器,所述方法包括:所述熵解码电路在接收到对压缩数据流的解压缩指令时,将所述压缩数据流进行熵解码,得到相应字符;所述处理器从预先建立的字典中查找得到与所述熵解码电路输出的所述相应字符对应的原始数据,输出由所述原始数据组成的原始数据流。
其中,所述装置还包括与所述处理器连接的第一存储介质、查字典电路和与所述查字典电路连接的第二存储介质,所述第一存储介质和第二存储介质均用于存储所述字典;所述处理器从预先建立的字典中查找得到与所述熵解码电路输出的所述相应字符对应的原始数据,输出由所述原始数据组成的原始数据流,包括:所述处理器在所述压缩数据流超出预设数据量时,从预先建立的所述字典中查找得到与所述熵解码电路输出的所述相应字符对应的原始数据,输出由所述原始数据组成的所述原始数据流;且所述查字典电路在所述压缩数据流不超出所述预设数据量时,从预先建立的字典中查找得到与所述熵解码电路输出的所述相应字符对应的原始数据,输出由所述原始数据组成的所述原始数据流。
上述方案中,由处理器执行与预先建立的字典相关的操作,由于处理器具有的内存空间较大,确保了能够给字典提供足够的存储空间,进而确保了数据压缩比,同时,无损数据压缩或解压缩装置设置专门的熵编码或熵解码电路,避免了熵编码或熵解码过程中出现资源竞争情况,提高了数据压缩或解压缩速率。
附图说明
图1是本申请无损数据压缩装置一实施方式的结构示意图;
图2是本申请无损数据压缩装置另一实施方式的结构示意图;
图3是本申请无损数据解压缩装置一实施方式的结构示意图;
图4是本申请无损数据解压缩装置另一实施方式的结构示意图;
图5是本申请无损数据压缩方法一实施方式的流程图;
图6是本申请无损数据解压缩方法一实施方式的流程图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定***结构、接口、技术之类的具体细节,以便透彻理解本申请。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施方式中也可以实现本申请。在其它情况中,省略对众所周知的装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
请参阅图1,图1是本申请无损数据压缩装置一实施方式的结构示意图。本实施方式中,该无损数据压缩装置10即采用的是无损数据压缩技术,其基本思想是除去或尽量除去原始数据流中的重复和冗余部分,而不丢失其中的任何信息。具体地,该无损数据压缩装置10包括处理器11和熵编码电路12。
处理器11用于在接收到对原始数据流的压缩指令时,将该原始数据流与预先建立的字典中的数据项进行匹配,并依照匹配结果输出相应字符。
处理器11为该无损数据压缩装置10提供处理能力,即,该无损数据压缩装置10除进行数据压缩外的功能如通信、运算等操作,均由该处理器11执行,故该处理器11的处理资源有限且竞争较强。同时,处理器11作为无损数据压缩装置10的控制核心,具备足够大的存储空间。基于在本申请的数据压缩过程中,字典对存储空间的要求较大,而熵编码由于涉及算法,其所需占用的处理资源较多,故本申请将数据压缩的查字典和熵编码两个过程分别采用两个硬件部分执行。其中,处理器11用于查字典,即在接收到对原始数据流的压缩指令时,将该原始数据流与预先建立的字典中的数据项进行匹配,并依照匹配结果输出相应字符。具体,处理器11可采用LZ77、LZSS、LZ78、LZW等编码算法,将该原始数据流与字典中的数据项进行匹配并输出相应字符。
其中,该字典可为静态字典或动态字典,静态字典即在对此次原始数据流进行压缩前已建立且其内容在压缩过程中不发生改变的,即该字典与此次原始数据流的数据无关,且该字典通常容量较大,以记录各种数据项及其对应的字符。该对应字符能够代表该数据项,且比该数据项简短。动态字典即在此次原始数据流进行压缩时建立,且其内容在压缩过程中根据原始数据流中的数据而变化。例如,在压缩开始时,该字典的内容为空,每次将原始数据流中的部分数据与字典中的数据项进行匹配时,将该部分数据写入到字典中。通常,该动态字典可包括数据项及其相关信息,如该数据项在原始数据流中的地址信息。
本实施方式中,处理器11在确定原始数据流中的数据与字典中的数据项匹配时,则输出字典中与匹配的数据项对应的字符以代表该原始数据流的数据,在确定原始数据流中的数据与字典中的数据项不匹配时,则直接输出原始数据流中的数据。可以理解的是,要该原始数据流的最终数据压缩比与其进行匹配的字典的容量相关,当字典包含的数据项越多,即跟原始数据流中的数据匹配的可能性越大,进而原始数据流中能够使用字典中的字符进行代表的数据越多,即其最终数据压缩比也就越大。
熵编码电路12用于将所述输出的字符进行熵编码得到压缩数据流。
熵编码即编码过程中按熵原理不丢失任何信息的编码。信息熵为信源的平均信息量(不确定性的度量)。如上述,熵编码所需占用的处理资源较多,故本申请无损数据压缩装置10专门设置有独立的熵编码电路对处理器11输出的字符进行熵编码,以避免熵编码过程所需要的资源与无损数据压缩装置10的其他功能所需资源出现竞争,故提高了数据压缩速率。其中,熵编码所采用的算法包括香农(shannon)编码、哈夫曼(huffman)编码、算术编码(arithmetic coding)如适应性二元算术编码(adaptive binary arithmetic coding)等算法。
本实施方式中,由处理器执行将原始数据流的数据与字典的数据项进行匹配,并根据匹配结果输出相应字符,由于处理器具有的内存空间较大,确保了能够给字典提供足够的存储空间,进而确保了数据压缩比,同时,无损数据压缩装置设置专门用于熵编码的熵编码电路,避免了熵编码过程中出现资源竞争情况,提高了数据压缩速率。
请参阅图2,图2是本申请无损数据压缩装置另一实施方式的结构示意图。区别于上一实施方式,本实施方式的无损数据压缩装置20还包括查字典电路23、与处理器21连接的第一存储介质24、以及与查字典电路23连接的第二存储介质25。该第一存储介质24用于为处理器21提供存储空间,可用于存储上述字典,通常,为了满足处理器21的处理需求,第一存储介质24的存储空间较大,例如为动态随机存取存储器(dynamic random access memory,简称DRAM)。第二存储介质25用于为查字典电路23提供存储空间,同样可用于存储上述字典,例如为静态随机存取存储器(static random access memory,简称SRAM)。
处理器21具体用于在接收到对所述原始数据流的压缩指令且所述原始数据流超出预设数据量时,将要压缩的原始数据流与所述第一存储介质24的字典中的数据项进行匹配,并依照匹配结果输出相应字符至熵编码电路22。其中,该预设数据量可由用户设定或者处理器21根据当前处理器21空闲的处理资源而设定的。通常,该预设数据量不小于1MB,例如为1MB、2MB等。
查字典电路23用于在接收到对原始数据流的压缩指令且所述原始数据流不超出预设数据量时,将要压缩的原始数据流与所述第二存储介质25的字典中的数据项进行匹配,并依照匹配结果输出相应字符至熵编码电路22。例如,当处理器21接收到对原始数据流的压缩指令,并判断该原始数据流的数据量是否超出预设数据量,在超出时,由处理器21自身执行查字典操作,在不超出时,处理器21将该压缩指令转发给查字典电路23,由查字典电路23执行查字典操作。
本实施方式中,在原始数据流超出预设数据量时,即表示该原始数据流所需的字典的容量较大,为保证能够给字典提供足够的存储空间,故由处理器21执行查字典的操作,在原始数据流不超出预设数据量时,即表示该原始数据流所需的字典的容量较小,故无需为其提供较大的存储空间,此时则由专门设置的查字典电路执行查字典操作,故也避免了查字典过程中出现资源竞争情况,进一步提高了数据压缩速率。
具体地,该装置20还可包括数据流缓冲器26、字符缓冲器27和第三存储介质28,该数据流缓冲器26用于缓存原始数据流。处理器21包括第一控制模块211和对比模块212。熵编码电路22包括第二控制模块221和编码模块222。
该第一控制模块211用于在接收到对原始数据流的压缩指令时,提取数据流缓冲器26中的原始数据流的数据,在预先建立的字典中查找至少与该提取的数据的前面部分匹配的数据项,并将所述提取的数据写入到字典中,其中,所述字典中的数据项为之前写入到所述字典的所述原始数据流中的其他数据,即第一控制模块211之前在将提取的原始数据流中的其他数据与字典中的数据项进行匹配时,写入到该字典中的。该至少与该提取的数据的前面部分匹配的数据项即为该数据项的内容至少与提取的数据的开头部分相同。如,提取的数据为“abc”,查找到的数据项为“ab”。
本实施方式中,该字典可为哈希(Hash)列表。
对比模块212用于在第一控制模块211查找到该数据项时,将该提取的数据和查找到的该数据项进行比对,得到该提取的数据和查找到的该数据项匹配的数据长度。
第一控制模块211还用于在查找到该数据项时,将该提取的数据与该查找到的数据项间的不匹配部分、该查找到的数据项在该原始数据流的地址、该匹配的数据长度作为该提取的数据对应的字符输出至该字符缓冲器27;在没有查找到该数据项时,将该提取的数据作为对应的字符输出至该字符缓冲器27。
其中,该查找到的数据项在该原始数据流的地址可以理解为该数据项在该原始数据流中与最开始字符间的相对地址,或者在该数据项在该原始数据流中于该提取的数据间的相对地址。例如,提取的数据为“abc”,其开始字符为原始数据流的第10字符,查找到的数据项为“ab”,其开始字符为原始数据流中的第3字符,即该数据项在原始数据流的地址可以表示为该数据项与提取数据相隔的字符数为7,匹配的数据长度为2个字符,不匹配部分为“c”。所以,输出的相应字符为(7,2)c。
第三存储介质28用于存储概率表。该概率表用于记录该原始数据流的对应字符的出现概率。
第二控制模块221用于提取字符缓冲器27中的字符,统计该提取的字符在该原始数据流的所有对应字符中的出现概率,并将该提取的字符的出现概率记录在该概率表中。依此,第二控制模块221统计字符缓冲器27中的所有字符的该出现概率,并记录在该概率表中。
编码模块222用于对该原始数据流的对应字符和该字符的出现概率进行熵编码,得到相应的压缩数据。
为便于理解,下面进行举例说明。
要压缩的原始数据流为“abcdabceabcef”,并缓存在数据流缓冲器26中。处理器21接收到压缩指令时,计算得到该原始数据流的数据量为2MB,大于预设数据量1MB,则确定由其处理器21自身执行查字典操作。具体地,
1)处理器21执行查字典:
在进行压缩时,先建立空字典。第一控制模块211从数据流缓冲器26中提取“a”,并在空字典中没有查找到匹配的数据项,将该字典中写入“a”,并输出(0,0)a至字符缓冲器27中;第一控制模块211依上理分别提取“b”“c”“d”,并将其写入到字典中,且输出(0,0)b、(0,0)c、(0,0)d;
第一控制模块211继续提取第5个字符“a”,在字典“abcd”中查找到有匹配的a,即继续提取后面的“bc”直到存在不匹配字符“e”,以获得最长的与字典中数据项匹配的数据,即第一控制模块211提取的数据为“abce”,在字典“abcd”查找到匹配的数据项为“abc”,将提取的“abce”写入字典以与后续提取数据进行匹配,对比模块212比较提取的“abce”和数据项“abc”,得到匹配的数据长度为3,第一控制模块211将以第5字符开始的“abce”与查找到的原始数据流中以第1字符开始“abc”之间相隔的相对地址5-1=4作为查找到的该数据项的地址,并输出“abce”对应的字符(4,3)e至字符缓冲器27中。
依上理,可得到原始数据流对应的字符如下表1:
表1
2)熵编码电路22执行熵编码:
第二控制模块221在统计该原始数据流的对应字符的出现概率时,在第三存储介质28中建立空的概率表,第二控制模块221从字符缓冲器27中依序提取字符缓冲器27中的字符,每提取一字符,则在概率表中更新目前该字符在所有已提取的该原始数据流的对应字符中的出现次数,在提取完字符缓冲器27的所有字符后,统计该概率表中每个字符的出现概率,如上表,即可得到(0,0)a、(0,0)b、(0,0)c、(0,0)d、(0,0)f的出现概率均为1/7,(4,3)e的出现概率为2/7。编码模块222获得第二控制模块221输出的原始数据流的对应字符,以及每该对应字符的出现概率,并进行熵编码得到该原始数据流对应的压缩数据流。
可以理解的是,在其他实施方式中,查字典电路也可采用上述处理器的方式进行查字典,例如包括第一控制模块和对比模块。
请参阅图3,图3是本申请无损数据解压缩装置一实施方式的结构示意图。本实施方式中,无损数据解压缩装置30为对应上述实施方式中的无损数据压缩装置的解压缩装置,包括熵解码电路31和处理器32。
处理器31如上面实施方式中的处理器11,为该装置30提供处理能力,故其处理资源有限且竞争较强,且具备足够大的存储空间。基于在本申请的数据解压缩过程中,字典对存储空间的要求较大,而熵解码同理于熵编码,由于涉及算法,其所需占用的处理资源较多,故本申请采用将数据解压缩的熵解码和查字典两个过程分别采用熵解码电路31和处理器32两个硬件部分执行。
熵解码电路31用于在接收到对压缩数据流的解压缩指令时,将所述压缩数据流进行熵解码,得到相应字符。
熵解码即为对应上述熵编码的逆运算。如上述,熵解码过程需占用较多处理资源,故本申请装置30专门设置有独立的熵解码电路对压缩数据流进行熵解码,以避免熵解码过程所需要的资源与装置30的其他功能所需资源出现竞争,故提高了数据解压缩速率。其中,熵解码所采用的算法包括香农(Shannon)编码、哈夫曼(huffman)编码、算术编码(arithmetic coding)如适应性二元算术编码(Adaptive Binary ArithmeticCoding)等所对应的解码算法。
处理器32用于从预先建立的字典中查找得到与所述熵解码电路输出的字符对应的原始数据,输出由所述原始数据组成的原始数据流。
处理器32可采用LZ77、LZSS、LZ78、LZW等解码算法,进行查字典操作,该查字典操作即从预先建立的字典中查找得到与该熵解码电路输出的字符匹配的数据项,根据该字符和数据项得到该字符对应的原始数据。
该字典可为静态字典或动态字典,静态字典即在对此次压缩数据流进行解压缩前已建立且其内容在解压缩过程中不发生改变的,即该字典与此次压缩数据流的数据无关,且该字典通常容量较大,以记录各种数据项及其对应的字符。通常,该解压缩时建立的静态字典与压缩时建立的静态字典一致。动态字典即在此次压缩数据流进行解压缩时建立,且其内容在解压缩过程中根据压缩数据流中的数据而变化。例如,在解压缩开始时,该字典的内容为空,在每次根据该字典以及对压缩数据流进行熵解码得到的字符,得到该字符对应的原始数据后,将该原始数据作为数据项写入到字典中。通常,该动态字典可包括数据项及其相关信息,如该数据项在原始数据流中的地址信息。
本实施方式中,由处理器执行从预先建立的字典中查找得到与所述熵解码电路输出的字符对应的原始数据,由于处理器具有的内存空间较大,确保了能够给字典提供足够的存储空间,进而确保能完整解编码得到该压缩数据对应的原始数据,同时,无损数据解压缩装置设置专门用于熵解码的熵解码电路,避免了熵解码过程中出现资源竞争情况,提高了数据解压缩速率。
请参阅图4,图4是本申请无损数据解压缩装置另一实施方式的结构示意图。区别于上一实施方式,本实施方式的无损数据解压缩装置40还包括查字典电路43、与处理器42连接的第一存储介质44、以及与查字典电路43连接的第二存储介质45。该第一存储介质44用于为处理器42提供存储空间,可用于存储上述字典,通常,为了满足处理器42的处理需求,第一存储介质44的存储空间较大,例如为DRAM。第二存储介质45用于为查字典电路43提供存储空间,同样可用于存储上述字典,例如为SRAM。
处理器42具体用于在所述压缩数据流超出预设数据量时,从预先建立的字典中查找得到与所述熵解码电路41输出的字符对应的原始数据,输出由所述原始数据组成的原始数据流。其中,该预设数据量可由用户设定或者处理器42根据当前处理器42空闲的处理资源而设定的。通常,该预设数据量不小于1MB,例如为1MB、2MB等。
查字典电路43用于在所述压缩数据流不超出预设数据量时,从预先建立的字典中查找得到与所述熵解码电路41输出的字符对应的原始数据,输出由所述原始数据组成的原始数据流。例如,当处理器42接收到对压缩数据流的解压缩指令,并判断该压缩数据流的数据量是否超出预设数据量,在超出时,由处理器42自身执行查字典操作,在不超出时,处理器42将该压缩指令转发给查字典电路43,由查字典电路43执行查字典操作。
本实施方式中,在压缩数据流超出预设数据量时,即表示该压缩数据流所需的字典的容量较大,为保证能够给字典提供足够的存储空间,故由处理器42执行查字典的操作,在压缩数据流不超出预设数据量时,即表示该压缩数据流所需的字典的容量较小,故无需为其提供较大的存储空间,此时则由专门设置的查字典电路执行查字典操作,故也避免了查字典过程中出现资源竞争情况,进一步提高了数据压缩速率。
具体地,该装置40还可包括数据流缓冲器46、字符缓冲器47和第三存储介质48。熵解码电路41包括控制模块411和解码模块412。第三存储介质48用于存储概率表。该概率表用于存储压缩数据流压缩时建立的概率表,即上面无损数据压缩装置实施方式中的概率表。
控制模块411用于对照所述概率表,查找出所述压缩数据流的相应字符的出现概率。
解码模块412用于根据所述压缩数据流的相应字符的出现概率,对所述压缩数据流进行熵解码,得到相应的字符。
字符缓冲器47用于缓存所述熵解码电路41输出的字符。所述字符包括所述字典中与所述字符匹配的数据项的地址、所述数据项的数据长度以及所述字符对应的原始数据与所述数据项的不匹配部分。
处理器42具体用于从所述字典中获取所述地址指向的且具有所述数据长度的数据项,将所述数据项与所述字符中的不匹配部分组成所述字符对应的原始数据,并将所述原始数据缓存在所述数据流缓存器46中。
本实施方式中,该字典可为哈希(Hash)列表。
其中,该字典中与该字符匹配的数据项的地址可以理解为该数据项在原始数据流中与最开始字符间的相对地址,或者在该数据项在该原始数据流中与该字符对应的原始数据间的相对地址。
为便于理解,下面承接上面无损数据压缩装置实施例中压缩得到的压缩数据流进行举例说明。
1)熵解码电路41执行熵解码:
控制模块411在对照压缩时建立的上述概率表,查找出该压缩数据流的相应字符的出现概率,为每个字符的出现概率分别为1/7、1/7、1/7、1/7、2/7、1/7。解码模块412获得控制模块411输出的每个字符的出现概率,对压缩数据流进行熵解码得到相应的字符,分别为(0,0)a、(0,0)b、(0,0)c、(0,0)d、(4,3)e、(4,3)e、(0,0)f。解码模块412将得到的字符输出至字符缓冲器47中。
2)处理器42执行查字典:
处理器42判断该压缩数据流的数据量为1.1MB,超过该预设数据量1MB,则确定由自身执行查字典。具体,处理器42先在第一存储介质中建立空字典,并从字符缓冲器47中获取第一个字符(0,0)a,根据预先协议好的字符定义,处理器42确定该字符对应的原始数据在字典中匹配数据项,且不匹配部分为a,故输出该字符对应的原始数据为“a”,并写入字典中;同理,处理器42根据字符(0,0)b、(0,0)c、(0,0)d,输出对应的原始数据“b”、“c”、“d”,并将b”、“c”、“d”写入字典中,字典此时存储有“abcd”。
处理器42继续从字符缓冲器47获取字符(4,3)e,根据该字符所给出的信息为该字符匹配的数据项为从字典中向前第4个字符“a”开始的3个字符,即为“abc”,且不匹配部分为“e”,故该字符对应的原始数据为“abce”,将该“abce”继续写入字典中。同理,处理器42根据下面的字符(4,3)e、(0,0)f,分别得到对应原始数据“abce”、“f”,将该“abce”、“f”写入字典中。
此时,处理器42将压缩数据流对应的全部字符还原得到原始数据,由该原始数据组成得到“abcdabceabcef”。
可以理解的是,在其他实施方式中,查字典电路也可采用类同上述处理器的方式进行查字典。
在具体应用实施方式中,上述无损数据压缩装置和无损数据解压缩装置可集成为同一装置,即在同一装置中,包括上述无损数据压缩装置的处理器和熵编码电路和上述无损数据解压缩装置的处理器和熵解码电路,以使该装置既可实现压缩也可实现解压缩。此时,该无损数据压缩装置的处理器和该无损数据解压缩装置的处理器可集成为一处理器。
具体地,上述无损数据压缩装置和无损数据解压缩装置可以为任意可进行数据处理的电子终端,如电视、媒体盒、移动通信终端具体如手机、平板电脑等。
本申请无损数据压缩和解压缩装置可为装置中的任意数据进行压缩或解压缩。下面对本申请应用场景中也进行举例说明,例如,针对该装置的运行***如安卓***、Windows***或IOS***等,该无损数据压缩装置在关闭该运行***时,将该运行***的启动代码按照上述压缩方式进行线下压缩,并保存在Flash存储器或ROM存储器中,当需要启动该运行***时,解压缩装置对压缩后的启动代码按照上述解压缩方式进行解压缩,并将解压缩后的代码加载到DRAM中,实现启动该运行***。又例如,装置的应用程序的安装程序可由上述压缩方式进行压缩得到压缩后的安装包,如安装***下的安装包APK、IOS***下的安装包APP。当需要安装该安装包时,装置对该安装包进行解压缩,得到安装程序,并执行该安装程序实现安装。故,该装置具有上述的压缩或解压缩功能后,能够对其数据进行压缩或解压缩,进而达到节省该装置的存储空间效果,而且,数据经压缩后数据量变少,故会减少了读/写数据量,进而提高了对该数据的读/写速度。
请参阅图5,图5是本申请无损数据压缩方法一实施方式的流程图。本实施方式中,所述方法应用于上述实施方式中的无损数据压缩装置,即该装置包括处理器和熵编码电路,该方法包括:
S51:处理器在接收到对原始数据流的压缩指令时,将所述原始数据流与预先建立的字典中的数据项进行匹配,并依照匹配结果输出相应字符;
S52:熵编码电路将所述输出的字符进行熵编码得到压缩数据流。
可选地,该装置还包括与所述处理器连接的第一存储介质、查字典电路以及与所述查字典电路连接的第二存储介质,所述第一存储介质和第二存储介质均用于存储所述字典。
上述S51具体包括:
处理器在接收到对所述原始数据流的压缩指令且所述原始数据流超出预设数据量时,将要压缩的原始数据流与所述第一存储介质的字典中的数据项进行匹配,并依照匹配结果输出相应字符;且查字典电路在接收到对所述原始数据流的压缩指令且所述原始数据流不超出预设数据量时,将要压缩的原始数据流与所述第二存储介质的字典中的数据项进行匹配,并依照匹配结果输出相应字符至所述熵编码电路。
可选地,该装置还包括数据流缓冲器、字符缓冲器,所述数据流缓冲器用于缓存所述原始数据流;
在上述S51中,所述将要压缩的原始数据流与所述第一存储介质的字典中的数据项进行匹配,并依照匹配结果输出相应字符的步骤,包括:
提取所述数据流缓冲器中的所述原始数据流的数据,在所述字典中查找至少与所述提取的数据的前面部分匹配的数据项,并将所述提取的数据写入到字典中,其中,所述字典中的数据项为之前写入到所述字典的所述原始数据流中的其他数据;
在查找到所述数据项时,将所述提取的数据和查找到的所述数据项进行比对,得到所述提取的数据和查找到的所述数据项匹配的数据长度,将所述提取的数据与所述查找到的数据项间的不匹配部分、所述查找到的数据项在所述原始数据流的地址、所述匹配的数据长度作为所述提取的数据对应的字符输出至所述字符缓冲器;在没有查找到所述数据项时,将所述提取的数据作为对应的字符输出至所述字符缓冲器。
可选地,该装置还包括第三存储介质,所述第三存储介质用于存储概率表;
上述S52步骤具体包括:
熵编码电路提取所述字符缓冲器中的所述字符,统计所述提取的字符在所述原始数据流的所有对应字符中的出现概率,并将所述提取的字符的出现概率记录在所述概率表中;
熵编码电路对所述原始数据流的对应字符和所述字符的出现概率进行熵编码,得到压缩数据流。
可选地,所述字典为哈希列表,所述熵编码为适应性二元算数熵编码。
在另一实施方式中,该无损数据压缩方法的步骤可包括上面实施方式中的无损数据压缩装置中每个部分执行压缩时进行的操作。
请参阅图6,图6是本申请无损数据解压缩方法一实施方式的流程图。所述方法应用于上面实施方式中的无损数据解压缩装置,即该装置包括熵解码电路和处理器,所述方法包括:
S61:熵解码电路在接收到对压缩数据流的解压缩指令时,将所述压缩数据流进行熵解码,得到相应字符;
S62:处理器从预先建立的字典中查找得到与所述熵解码电路输出的字符对应的原始数据,输出由所述原始数据组成的原始数据流。
可选地,所述装置还包括与所述处理器连接的第一存储介质、查字典电路和与所述查字典电路连接的第二存储介质,所述第一存储介质和第二存储介质均用于存储所述字典;
上述S61步骤具体包括:
处理器在所述压缩数据流超出预设数据量时,从预先建立的字典中查找得到与所述熵解码电路输出的字符对应的原始数据,输出由所述原始数据组成的原始数据流;查字典电路在所述压缩数据流不超出预设数据量时,从预先建立的字典中查找得到与所述熵解码电路输出的字符对应的原始数据,输出由所述原始数据组成的原始数据流。
可选地,包括数据流缓冲器、字符缓冲器,所述字符缓冲器用于缓存所述熵解码电路输出的字符,所述字符包括所述字典中与所述字符匹配的数据项的地址、所述数据项的数据长度以及所述字符对应的原始数据与所述数据项的不匹配部分;
在上述S61中,所述从预先建立的字典中查找得到与所述熵解码电路输出的字符对应的原始数据,输出由所述原始数据组成的原始数据流的步骤,包括:从所述字典中获取所述地址指向的且具有所述数据长度的数据项,将所述数据项与所述字符中的不匹配部分组成所述字符对应的原始数据,并将所述原始数据缓存在所述数据流缓存器中。
可选地,所述装置还包括第三存储介质,所述第三存储介质用于存储压缩数据流压缩时建立的概率表;
上述S62步骤具体包括:
熵解码电路对照所述概率表,查找出所述压缩数据流的相应字符的出现概率;
该熵解码电路根据所述压缩数据流的相应字符的出现概率,对所述压缩数据流进行熵解码,得到相应的字符。
可选地,所述字典为哈希列表,所述熵解码为适应性二元算数熵解码。
在另一实施方式中,该无损数据压缩方法的步骤可包括上面实施方式中的无损数据压缩装置中每个部分执行压缩时进行的操作。
上述方案中,由处理器执行与预先建立的字典相关的操作,由于处理器具有的内存空间较大,确保了能够给字典提供足够的存储空间,进而确保了数据压缩比,同时,无损数据压缩或解压缩装置设置专门的熵编码或熵解码电路,避免了熵编码或熵解码过程中出现资源竞争情况,提高了数据压缩或解压缩速率。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (20)

1.一种无损数据压缩装置,其特征在于,包括:
处理器,用于在接收到对原始数据流的压缩指令时,将所述原始数据流与预先建立的字典中的数据项进行匹配,并依照匹配结果输出相应字符;
熵编码电路,用于将输出的所述相应字符进行熵编码得到压缩数据流。
2.根据权利要求1所述的无损数据压缩装置,其特征在于,还包括与所述处理器连接的第一存储介质、查字典电路以及与所述查字典电路连接的第二存储介质,所述第一存储介质和第二存储介质均用于存储所述字典。
3.根据权利要求2所述的无损数据压缩装置,其特征在于,所述处理器用于在接收到对所述原始数据流的所述压缩指令且所述原始数据流超出预设数据量时,将要压缩的原始数据流与所述第一存储介质的所述字典中的所述数据项进行匹配,并依照匹配结果输出所述相应字符。
4.根据权利要求2所述的无损数据压缩装置,其特征在于,所述查字典电路用于在接收到对所述原始数据流的所述压缩指令且所述原始数据流不超出预设数据量时,将要压缩的原始数据流与所述第二存储介质的所述字典中的所述数据项进行匹配,并依照匹配结果输出所述相应字符至所述熵编码电路。
5.根据权利要求1所述的无损数据压缩装置,其特征在于,所述无损数据压缩装置还包括数据流缓冲器、字符缓冲器,所述数据流缓冲器用于缓存所述原始数据流。
6.根据权利要求5所述的无损数据压缩装置,其特征在于,所述处理器包括第一控制模块和对比模块;所述第一控制模块用于在接收到对所述原始数据流的所述压缩指令时,提取所述数据流缓冲器中的所述原始数据流的数据,在所述字典中查找至少与提取的所述数据的前面部分匹配的数据项,并将提取的所述数据写入到所述字典中,其中,所述字 典中的数据项为之前写入到所述字典的所述原始数据流中的其他数据;
所述对比模块用于在所述第一控制模块查找到所述数据项时,将提取的所述数据和查找到的所述数据项进行比对,得到所述提取的数据和查找到的所述数据项匹配的数据长度。
7.根据权利要求6所述的无损数据压缩装置,其特征在于,所述第一控制模块还用于在查找到所述数据项时,将提取的所述数据与查找到的所述数据项间的不匹配部分、查找到的所述数据项在所述原始数据流的地址、匹配的所述数据长度作为提取的所述数据对应的字符输出至所述字符缓冲器;在没有查找到所述数据项时,将提取的所述数据作为对应的字符输出至所述字符缓冲器。
8.根据权利要求5所述的无损数据压缩装置,其特征在于,所述无损数据压缩装置还包括第三存储介质,所述第三存储介质用于存储概率表;
所述熵编码电路包括第二控制模块和编码模块;
所述第二控制模块用于提取所述字符缓冲器中的所述字符,统计提取的所述字符在所述原始数据流的所有对应字符中的出现概率,并将提取的所述字符的出现概率记录在所述概率表中;
所述编码模块用于对所述原始数据流的对应字符和所述字符的出现概率进行熵编码,得到压缩数据流。
9.根据权利要求1所述的无损数据压缩装置,其特征在于,所述字典为哈希列表,所述熵编码为适应性二元算数熵编码。
10.一种无损数据解压缩装置,其特征在于,包括:
熵解码电路,用于在接收到对压缩数据流的解压缩指令时,将所述压缩数据流进行熵解码,得到相应字符;
处理器,用于从预先建立的字典中查找得到与所述熵解码电路输出的所述相应字符对应的原始数据,输出由所述原始数据组成的原始数据流。
11.根据权利要求10所述的无损数据解压缩装置,其特征在于,还包括与所述处理器连接的第一存储介质、查字典电路和与所述查字典电 路连接的第二存储介质,所述第一存储介质和第二存储介质均用于存储所述字典。
12.根据权利要求11所述的无损数据解压缩装置,其特征在于,所述处理器用于在所述压缩数据流超出预设数据量时,从预先建立的所述字典中查找得到与所述熵解码电路输出的所述相应字符对应的所述原始数据,输出由所述原始数据组成的所述原始数据流。
13.根据权利要求11所述的无损数据解压缩装置,其特征在于,所述查字典电路用于在所述压缩数据流不超出预设数据量时,从预先建立的所述字典中查找得到与所述熵解码电路输出的所述相应字符对应的所述原始数据,输出由所述原始数据组成的所述原始数据流。
14.根据权利要求10所述的无损数据解压缩装置,其特征在于,所述无损数据解压缩装置另包括数据流缓冲器、字符缓冲器,所述字符缓冲器用于缓存所述熵解码电路输出的所述相应字符,所述相应字符包括所述字典中与所述相应字符匹配的数据项的地址、所述数据项的数据长度以及所述相应字符对应的原始数据与所述数据项的不匹配部分;
所述处理器用于从所述字典中获取所述地址指向的且具有所述数据长度的数据项,将所述数据项与所述相应字符中的所述不匹配部分组成所述相应字符对应的所述原始数据,并将所述原始数据缓存在所述数据流缓冲器中。
15.根据权利要求10所述的无损数据解压缩装置,其特征在于,所述无损数据解压缩装置还包括第三存储介质,所述第三存储介质用于存储压缩数据流压缩时建立的概率表;
所述熵解码电路包括控制模块和解码模块;
所述控制模块用于对照所述概率表,查找出所述压缩数据流的所述相应字符的出现概率;
所述解码模块用于根据所述压缩数据流的所述相应字符的所述出现概率,对所述压缩数据流进行熵解码,得到相应的字符。
16.根据权利要求10所述的无损数据解压缩装置,其特征在于,所述字典为哈希列表,所述熵解码为适应性二元算数熵解码。
17.一种无损数据压缩方法,其特征在于,所述无损数据压缩方法应用于无损数据压缩装置,所述无损数据压缩装置包括处理器和熵编码电路,所述无损数据压缩方法包括:
所述处理器在接收到对原始数据流的压缩指令时,将所述原始数据流与预先建立的字典中的数据项进行匹配,并依照匹配结果输出相应字符;
所述熵编码电路将输出的所述相应字符进行熵编码得到压缩数据流。
18.根据权利要求17所述的无损数据压缩方法,其特征在于,所述无损数据压缩装置还包括与所述处理器连接的第一存储介质、查字典电路以及与所述查字典电路连接的第二存储介质,所述第一存储介质和第二存储介质均用于存储所述字典;
所述处理器在接收到对原始数据流的压缩指令时,将所述原始数据流与预先建立的字典中的数据项进行匹配,并依照匹配结果输出相应字符,进一步包括:
所述处理器在接收到对所述原始数据流的所述压缩指令且所述原始数据流超出预设数据量时,将要压缩的原始数据流与所述第一存储介质的所述字典中的所述数据项进行匹配,并依照匹配结果输出所述相应字符;且所述查字典电路在接收到对所述原始数据流的所述压缩指令且所述原始数据流不超出所述预设数据量时,将要压缩的原始数据流与所述第二存储介质的所述字典中的所述数据项进行匹配,并依照匹配结果输出所述相应字符至所述熵编码电路。
19.一种无损数据解压缩方法,其特征在于,所述无损数据解压缩方法应用于无损数据解压缩装置,所述无损数据解压缩装置包括熵解码电路和处理器,所述无损数据解压缩方法包括:
所述熵解码电路在接收到对压缩数据流的解压缩指令时,将所述压缩数据流进行熵解码,得到相应字符;
所述处理器从预先建立的字典中查找得到与所述熵解码电路输出的所述相应字符对应的原始数据,输出由所述原始数据组成的原始数据 流。
20.根据权利要求19所述的无损数据解压缩方法,其特征在于,所述无损数据解压缩装置还包括与所述处理器连接的第一存储介质、查字典电路和与所述查字典电路连接的第二存储介质,所述第一存储介质和第二存储介质均用于存储所述字典;
所述处理器从预先建立的字典中查找得到与所述熵解码电路输出的所述相应字符对应的原始数据,输出由所述原始数据组成的原始数据流,进一步包括:
所述处理器在所述压缩数据流超出预设数据量时,从预先建立的所述字典中查找得到与所述熵解码电路输出的所述相应字符对应的所述原始数据,输出由所述原始数据组成的所述原始数据流;且所述查字典电路在所述压缩数据流不超出所述预设数据量时,从预先建立的所述字典中查找得到与所述熵解码电路输出的所述相应字符对应的原始数据,输出由所述原始数据组成的所述原始数据流。
CN201510568126.3A 2015-09-08 2015-09-08 一种无损数据压缩和解压缩装置及其方法 Withdrawn CN106506007A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510568126.3A CN106506007A (zh) 2015-09-08 2015-09-08 一种无损数据压缩和解压缩装置及其方法
US15/161,100 US9742437B2 (en) 2015-09-08 2016-05-20 Method for lossless data compression/decompression and device thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510568126.3A CN106506007A (zh) 2015-09-08 2015-09-08 一种无损数据压缩和解压缩装置及其方法

Publications (1)

Publication Number Publication Date
CN106506007A true CN106506007A (zh) 2017-03-15

Family

ID=58190402

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510568126.3A Withdrawn CN106506007A (zh) 2015-09-08 2015-09-08 一种无损数据压缩和解压缩装置及其方法

Country Status (2)

Country Link
US (1) US9742437B2 (zh)
CN (1) CN106506007A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109921799A (zh) * 2019-02-20 2019-06-21 重庆邮电大学 一种基于聚能量字典学习的张量压缩方法
CN111095423A (zh) * 2017-08-25 2020-05-01 深圳华大生命科学研究院 编码/解码方法、装置和数据处理装置
CN111384964A (zh) * 2018-12-28 2020-07-07 上海寒武纪信息科技有限公司 数据压缩解压装置和数据压缩方法
CN114419171A (zh) * 2022-01-17 2022-04-29 深圳市宏电技术股份有限公司 基于香农编码的字典编码方法、图像处理方法及处理设备
CN115208414A (zh) * 2022-09-15 2022-10-18 本原数据(北京)信息技术有限公司 数据压缩方法、数据压缩装置、计算机设备及存储介质
US11562241B2 (en) 2019-12-31 2023-01-24 Beijing Baidu Netcom Science and Technology Co., Ltd Data output method, data acquisition method, device, and electronic apparatus

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108279941B (zh) 2016-12-31 2021-06-15 阿里巴巴集团控股有限公司 一种应用程序的压缩方法和装置
US10496335B2 (en) 2017-06-30 2019-12-03 Intel Corporation Method and apparatus for performing multi-object transformations on a storage device
JP2021145281A (ja) * 2020-03-13 2021-09-24 キオクシア株式会社 圧縮装置、伸張装置及び方法
CN113989398A (zh) * 2021-10-29 2022-01-28 赛诺威盛科技(北京)股份有限公司 Ct数据无损压缩、解压方法、***、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101178424A (zh) * 2007-12-12 2008-05-14 北京四方继保自动化股份有限公司 电网广域测量***(wams)中动态数据压缩存储方法
CN101252694A (zh) * 2008-03-31 2008-08-27 清华大学 基于块的视频解码的帧存储压缩和地址映射***
US20130018889A1 (en) * 2011-07-13 2013-01-17 International Business Machines Corporation Lossless compression of high nominal-range data
WO2014178840A1 (en) * 2013-04-30 2014-11-06 Hewlett-Packard Development Company, L.P. Creation of a hierarchical dictionary
CN104378119A (zh) * 2014-12-09 2015-02-25 西安电子科技大学 嵌入式设备文件***数据的快速无损压缩方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9524052B2 (en) * 2014-04-24 2016-12-20 Qualcomm Incorporated Efficient lossless compression for peripheral interface data transfer
US9219496B1 (en) * 2014-08-18 2015-12-22 Advanced Micro Devices, Inc. Efficient lossless data compression system, data compressor, and method therefor
US9516197B2 (en) * 2014-10-21 2016-12-06 Pixspan, Inc. Apparatus and method for lossless compression of raw color sensor data from a color array filtered image sensor
US9270295B1 (en) * 2015-05-06 2016-02-23 The Boeing Company Lossless compression of data based on a modified differential pulse code modulation (DPCM) scheme

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101178424A (zh) * 2007-12-12 2008-05-14 北京四方继保自动化股份有限公司 电网广域测量***(wams)中动态数据压缩存储方法
CN101252694A (zh) * 2008-03-31 2008-08-27 清华大学 基于块的视频解码的帧存储压缩和地址映射***
US20130018889A1 (en) * 2011-07-13 2013-01-17 International Business Machines Corporation Lossless compression of high nominal-range data
WO2014178840A1 (en) * 2013-04-30 2014-11-06 Hewlett-Packard Development Company, L.P. Creation of a hierarchical dictionary
CN104378119A (zh) * 2014-12-09 2015-02-25 西安电子科技大学 嵌入式设备文件***数据的快速无损压缩方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111095423A (zh) * 2017-08-25 2020-05-01 深圳华大生命科学研究院 编码/解码方法、装置和数据处理装置
CN111384964A (zh) * 2018-12-28 2020-07-07 上海寒武纪信息科技有限公司 数据压缩解压装置和数据压缩方法
CN111384964B (zh) * 2018-12-28 2022-05-31 上海寒武纪信息科技有限公司 数据压缩解压装置和数据压缩方法
CN109921799A (zh) * 2019-02-20 2019-06-21 重庆邮电大学 一种基于聚能量字典学习的张量压缩方法
US11562241B2 (en) 2019-12-31 2023-01-24 Beijing Baidu Netcom Science and Technology Co., Ltd Data output method, data acquisition method, device, and electronic apparatus
CN114419171A (zh) * 2022-01-17 2022-04-29 深圳市宏电技术股份有限公司 基于香农编码的字典编码方法、图像处理方法及处理设备
CN115208414A (zh) * 2022-09-15 2022-10-18 本原数据(北京)信息技术有限公司 数据压缩方法、数据压缩装置、计算机设备及存储介质
CN115208414B (zh) * 2022-09-15 2023-01-03 本原数据(北京)信息技术有限公司 数据压缩方法、数据压缩装置、计算机设备及存储介质

Also Published As

Publication number Publication date
US9742437B2 (en) 2017-08-22
US20170070238A1 (en) 2017-03-09

Similar Documents

Publication Publication Date Title
CN106506007A (zh) 一种无损数据压缩和解压缩装置及其方法
US8782018B2 (en) Storage device and data processing device utilizing determined dictionary compression
US11463102B2 (en) Data compression method, data decompression method, and related apparatus, electronic device, and system
CN102122960B (zh) 一种针对二进制数据的多字符组合无损数据压缩方法
CN101800556B (zh) 数据传输及编码数据字符串的方法
CA1223965A (en) High speed data compression and decompression apparatus and method
US9454552B2 (en) Entropy coding and decoding using polar codes
US7924183B2 (en) Method and system for reducing required storage during decompression of a compressed file
CN107027036A (zh) 一种fpga异构加速平台的解压缩方法、装置及***
CN103236847A (zh) 基于多层哈希结构与游程编码的数据无损压缩方法
CN110518917B (zh) 基于Huffman编码的LZW数据压缩方法及***
CN107423397B (zh) 一种面向多任务微***的自适应压缩存储及解压提取方法
CN112003625A (zh) 一种霍夫曼编码方法、***及设备
CN107919943A (zh) 二进制数据的编码、解码方法和装置
CN108886367A (zh) 用于压缩和解压缩数据的方法、设备和***
US10897270B2 (en) Dynamic dictionary-based data symbol encoding
CN103546161A (zh) 基于二进制位处理的无损压缩方法
EP4154406A1 (en) Compression/decompression using index correlating uncompressed/compressed content
CN114337678A (zh) 数据压缩方法、装置、设备及存储介质
CN115395961A (zh) 基于联合中间件的数据无损压缩及加密传输方法
CN115189696A (zh) 一种基于Huffman解码表的硬件压缩解压方法
CN103701470B (zh) 一种流智能预测差异压缩算法及相应的控制装置
CN103078647A (zh) 一种lz77压缩算法的硬件解码实现***及方法
US10103747B1 (en) Lossless binary compression in a memory constrained environment
CN106484852B (zh) 数据压缩方法、设备与计算设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20170315