CN108880556A - 基于lz77的无损数据压缩方法、误码修复方法及编码器和解码器 - Google Patents
基于lz77的无损数据压缩方法、误码修复方法及编码器和解码器 Download PDFInfo
- Publication number
- CN108880556A CN108880556A CN201810534508.8A CN201810534508A CN108880556A CN 108880556 A CN108880556 A CN 108880556A CN 201810534508 A CN201810534508 A CN 201810534508A CN 108880556 A CN108880556 A CN 108880556A
- Authority
- CN
- China
- Prior art keywords
- character string
- encoded
- data
- check code
- module
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3086—Compression; 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1515—Reed-Solomon codes
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明涉及一种基于LZ77的无损数据压缩方法、误码修复方法及编码器和解码器,该压缩方法包含:读取待压缩字符串,获取已编码符号序列及待编码字符串;按照滑动窗口解析顺序依次从已编码符号序列中查找并记录当前待编码字符串的最长匹配前缀;根据当前待编码字符串的最长匹配前缀的匹配多重性,确定嵌入比特信息;将嵌入比特信息与当前待编码字符串的每个最长匹配前缀进行一一映射;根据预设嵌入数值,选取对应的最长匹配前缀作为当前待编码字符串的码字并输出,直至待编码字符串均有码字输出,完成数据压缩。本发明能够在不损失任何压缩能力的情况下,对额外冗余数据利用信道编码器进行保护,以纠正有限数量的错误,具有较强的兼容性和实用性。
Description
技术领域
本发明属于数据压缩技术领域,特别涉及一种基于LZ77的无损数据压缩方法、误码修复方法及编码器和解码器。
背景技术
在信源信道分离理论的指导下,目前的通信系统中,信源编码实现了通信有效性问题,信道编码实现了通信可靠性问题。由于分离定理的局限性,级联编码的设计思想使信源编码后的序列抗干扰能力变得十分薄弱。事实上,自适应数据压缩缺乏修复能力是在许多应用中存在的一个突出缺点。从信源编码机理分析可见,信源编码得到的数据几乎是没有冗余的,这种数据经过信道传输后,由于信道噪声和干扰的影响,往往存在误码。而近乎零冗余的压缩数据是没有抗误码能力的,在这种情况下进行信源译码时,误码会导致构造码表和重构数据出现错误,随着译码进行码表和数据误码的影响就呈现出扩散的态势,引发大规模的差错传播即误码扩散,所以少量误码就有可能造成严重后果。因此,压缩数据流对传输错误非常敏感,含误码的压缩数据无法进行译码,往往一个比特的错误就会危及后续所有数据,并造成整个文件无法解压,严重影响了压缩数据恢复的质量,导致信息的丢失。
LZ77算法是采用字典做数据压缩,由以色列Jacob Ziv与Abraham Lempel在1977年提出。基于统计的数据压缩编码,比如Huffman编码,需要得到先验知识——信源的字符频率,然后进行压缩。但是在大多数情况下,这种先验知识是很难预先获得。设计一种更为通用的数据压缩编码显得尤为重要,LZ77数据压缩算法应运而生,其核心思想:利用数据的重复结构信息来进行数据压缩。编码实际应用中根据需求,会需要携带一些额外信息,但根据LZ77 编码思想,若直接将该额外信息添加至待编码字符串中,则在传递过程中容易被获取,实用性和安全性打了折扣,因此亟需一种可携带额外隐藏信息的编码压缩方法,以提高网络压缩数据传输的安全性和可靠性。
发明内容
针对现有技术中的不足,本发明提供一种基于LZ77的无损数据压缩方法、误码修复方法及编码器和解码器,通过嵌入额外冗余信息,保证解码兼容性的同时,可携带预设消息进行数据压缩传输,保证数据压缩和解压效率的同时,能够提高数据压缩、解压的实用性和可靠性。
按照本发明所提供的设计方案,一种基于LZ77的无损数据压缩方法,包含如下步骤:
A1)、读取待压缩字符串,获取已编码符号序列及待编码字符串;
A2)、按照滑动窗口解析顺序依次从已编码符号序列中查找并记录当前待编码字符串的最长匹配前缀,其中,最长匹配前缀通过指针三元组表示;
A3)、根据当前待编码字符串的最长匹配前缀的匹配多重性,确定嵌入比特信息;
A4)、将嵌入比特信息与当前待编码字符串的每个最长匹配前缀进行一一映射;
A5)、根据预设嵌入数值,选取对应的最长匹配前缀作为当前待编码字符串的码字并输出,返回步骤A2),直至待编码字符串均有码字输出,完成数据压缩。
上述的,最长匹配前缀通过指针三元组表示,该三元组包含:用于表示待编码字符串第一个字符与字典中匹配字符串距离的位置元素,用于表示匹配字符串长度的长度元素,及用于待编码字符串中下一个读取的符号元素。
上述的,A3)中,根据当前待编码字符串的最长匹配前缀的匹配多重性,确定该当前待编码字符串的最长匹配前缀的数目m,确定嵌入比特个数d,m≥1。
优选的,A4)中,根据比特个数进行二进制编码,并将该二进制编码结果与m个最长匹配前缀进行一一映射。
更进一步地,A5)中,根据预设嵌入数值确定对应的二进制编码,选取该二进制编码映射的最长匹配前缀作为当前待编码字符串的码字并输出。
一种无损数据压缩的误码修复方法,基于上述的无损数据压缩方法实现,包含如下内容:
B1)、读取待压缩字符串,获取已编码符号序列及待编码字符串;
B2)、按照滑动窗口解析顺序依次从已编码符号序列中查找并记录当前待编码字符串的最长匹配前缀,该最长匹配前缀通过三元组指针编码并输出对应编码结果,直至查找完待编码字符串所有字符,输出待压缩字符串的压缩数据流;
B3)、对压缩数据流进行分块处理,并按照逆序顺序,获取数据块的RS校验码,将数据块的RS校验码作为预设嵌入数值,利用最长匹配前缀的匹配多重性,将该RS校验码嵌入数据块的指针三元组中,得到最终压缩数据流;
B4)、对最终压缩数据流进行译码,提取嵌入RS校验码并进行校验恢复,获取正确数据块,解压得到原始字符串。
上述的误码修复方法中,B3)中,按照逆序顺序,获取第i+1个数据块的RS校验码,将该RS校验码作为预设嵌入数值,利用匹配的多重性嵌入到第i个数据块的指针三元组中,其中,第一个数据块的校验码保存在压缩文件的开头。
一种基于误码修复的LZ77编码器,基于上述的无损数据压缩的误码修复方法实现数据编码压缩,该LZ77编码器包含:压缩模块、分割模块、嵌入模块和输出模块,其中,
压缩模块,用于对待压缩字符串利用滑动窗口进行编码压缩,获取压缩数据流,并将压缩数据流传输至分割模块;
分割模块,用于将压缩数据流进行分割成块;
嵌入模块,用于按照逆序将数据块的RS校验码作为预设嵌入数值,嵌入数据块的指针三元组中,获取最终压缩数据流;
输出模块,用于将最终压缩数据流进行输出。
上述的LZ77编码器中,嵌入模块包含计算单元、编码单元和缓存单元,其中,
计算单元,用于计算数据块Ci的RS校验码RSi,其中,i为按照从逆序表示当前数据块标号,RS校验码表示为RSi(a,b),a表示码长,即数据块的大小,b表示信息长,即有效载荷的大小;
编码单元,用于将数据块Ci的校验码RSi作为预设嵌入数值,嵌入到数据块Ci-1的指针三元组中,获取最终压缩数据并传输至缓存单元;
缓存单元,用于存储数据块按照逆序获取的最终压缩数据。
一种基于误码修复的LZ77解码器,对通过上述的基于误码修复的LZ77编码器实现的编码压缩数据进行解码,该LZ77解码器包含:校正模块、解压模块和输出模块,其中,
校正模块,用于根据输入码字的指针三元组序列获取每个数据块的校验码,利用校验码对数据块进行校正;
解压模块,用于根据数据块校正结果,并通过输入码字及校验码将编码压缩数据按照从左至右的顺序进行译码重构,获取每个数据块原始字符串;
输出模块,用于对获取的原始字符串进行输出。
本发明的有益效果:
本发明在LZ77数据压缩基础上,通过在编码数据中嵌入另外文件中额外数据,利用短语匹配的多重性,通过指针三元组,嵌入额外数据的部分比特,该额外数据部分比特可以用于多种目的,例如鉴定或误码纠正等,在不影响标准编码算法兼容性的情况下,实现在压缩编码中携带额外冗余信息;能够在不损失任何压缩能力的情况下,对额外冗余数据利用信道编码器进行保护,以纠正有限数量的错误,保证解码兼容性的同时,可携带预设消息进行数据压缩传输,保证数据压缩和解压效率的同时,能够提高数据压缩、解压的可行性和有效性。
附图说明:
图1为实施例中无损数据压缩方法流程图;
图2为实施例中LZ77算法编码示意图;
图3为实施例中指针三元组匹配示意图;
图4为实施例中误码修复方法流程示意图;
图5为实施例中编码器示意图;
图6为实施例中编码器嵌入模块示意图;
图7为实施例中解码器示意图
图8为实施例中编码器操作流程图;
图9为实施例中通过给定字符串进行编码压缩示意图。
具体实施方式:
为使本发明的目的、技术方案和优点更加清楚、明白,下面结合附图和技术方案对本发明作进一步详细的说明。
针对现有LZ77无损数据压缩系统中通过将该额外信息添加至待编码字符串中进行编码压缩,在传递过程中容易被获取,实用性和安全性大打折扣等情形。为此,本发明实施例,参见图1所示,提供一种基于LZ77的无损数据压缩方法,包含如下步骤:
A1)、读取待压缩字符串,获取已编码符号序列及待编码字符串;
A2)、按照滑动窗口解析顺序依次从已编码符号序列中查找并记录当前待编码字符串的最长匹配前缀,其中,最长匹配前缀通过指针三元组表示;
A3)、根据当前待编码字符串的最长匹配前缀的匹配多重性,确定嵌入比特信息;
A4)、将嵌入比特信息与当前待编码字符串的每个最长匹配前缀进行一一映射;
A5)、根据预设嵌入数值,选取对应的最长匹配前缀作为当前待编码字符串的码字并输出,返回步骤A2),直至待编码字符串均有码字输出,完成数据压缩。
LZ77算法的基本原理是将在编码字符串X=(X1,X2,X3…)中重复出现的符号序列,用指向之前出现的相同序列的指针Y=(Y1,Y2,Y3…)进行替换。该算法在处理过的符号序列E=(X1,X2…Xi-1)中,查找当前编码字符串S=(Xi、Xi+1…XN)的最长匹配项(Xi,Xi+1…Xi+l-1)。指针用三元符号组Yk=(pk、lk、sk)表示,其中pk是相对于当前索引i的最长匹配项的位置(例如起始索引),lk是最长匹配项的长度,而sk=Xi+l是在匹配序列之后的第一个不匹配的符号。
在当前符号没有找到匹配的情况下,需要使用符号sk进行处理,参见图2所示,对起始位置为i的序列进行编码时,存在起始位置为j的序列与之相匹配的例子,在LZ77算法中,一个关于用指针记录重复字符串的例子,在位置j,有一个长度l=6的序列,与当前位置i 的序列重复。为了避免过大的位置和长度参数值,LZ77算法采用了一个称为滑动窗口的原则。该算法只在固定大小的窗口中查找最长的匹配项。LZ77将虚拟的跟随压缩进行滑动的窗口作为字典,待压缩字符串如果在该滑动窗口中存在有最长匹配前缀,则输出其出现位置和长度,在有限符号集A中,文本T的长度为|T|=n,T[i](1≤i≤n)表示T的第i个符号。用T[i,j]作为子串T[i]T[i+1]…T[j](1≤i≤j≤n)的缩写,约定T[i,i]=T[i]。T的前缀用子串T[1,j]表示, T的后缀用子串T[i,n]表示。LZ77算法在读取数据时对数据进行实时处理,按照从左到右的顺序解析文件,并检查已编码的符号序列,以查找与当前位置开始的待编码字符串的最长匹配前缀。本发明实施例中,最长匹配前缀可通过指针三元组进行表示,该三元组包含:用于表示待编码字符串第一个字符与字典中匹配字符串距离的位置元素,用于表示匹配字符串长度的长度元素,及用于待编码字符串中下一个读取的符号元素。假设字符串T的前i-1个符号已经在前k-1个短语中解析出来了,即T[1,i-1]=y1y2…yk-1。为了识别第k条短语,LZ77算法在T[1,i-1]中查找与T[i,n]相匹配的最长前缀字符串。如果T[j,j+l-1],j<i是与最长前缀匹配的字符串,那么下一个短语是yk=T[j,j+l-1];给出指针(j,l,T[i+l)],然后将当前的位置值由i更新为i+l+1。
允许在T的编码数据中嵌入另一个文件F的数据。如果一个短语的起始位置距离T的开头为i,在T中存在与从位置i开始的完全匹配的m个最长前缀,则称该短语具有匹配的多重性m。本发明的另一个实施例中,根据当前待编码字符串的最长匹配前缀的匹配多重性,确定该当前待编码字符串的最长匹配前缀的数目m,确定嵌入比特个数d,m≥1。根据比特个数进行二进制编码,并将该二进制编码结果与m个最长匹配前缀进行一一映射。更进一步地,A5)中,根据预设嵌入数值确定对应的二进制编码,选取该二进制编码映射的最长匹配前缀作为当前待编码字符串的码字并输出。
具有m>1个多重匹配的最长前缀的位置是可以嵌入文件F的部分比特的地方,通过从m 个选项中选择一个特定的指针三元组来嵌入个比特。这些额外的比特可以用于各种目的,如鉴定或误码纠正。设T的初始部分T[1,i-1]已经被解析过了,对所有0≤l≤m-1,设{(p0,l,T[i+l]),(p1,l,T[i+l])…(pm-1,l,T[i+l]),}m≥1,为T[i,n]最长前缀的所有可能的指针三元组,其中l>1,1≤pl≤i。如果m=1,则不嵌入额外的信息位,直接跳到下一个短语。当m 大于1时,根据文件F中的个比特的值来选择m个指针三元组中的一个。假设F 的前t-1个比特已经嵌入到前面的短语中,则编码结果为指针三元组接着把T的当前位置移动到i+l+1,并把t递增d。
通常,对于给定的序列或短语,有不止一个最长的匹配,这意味着存在不止一个可能的指针。算法选择最新的指针,即最小的位置值。但是,选择另一个指针不会影响到解压缩过程。实际上,匹配的多重性表示某种类型的冗余,可以在不降低压缩率的情况下嵌入额外的信息位。在m个可能的指针中,最多可以增加个额外比特。当存在M>1个相同的匹配指针时,可以通过指针的合理选择来对额外的比特进行编码,如图3所示,由于选择不同的指针对解码过程没有影响,因此所提出的算法与标准LZ77解码器完全兼容,图3中,最长匹配数量m=4的例子。通过从四个可能指针中选择其中一个,可以编码得到两个额外比特。
基于上述的无损数据压缩方法实现,确定LZ77的冗余位,如何利用额外的冗余比特来实现错误纠正,本发明实施例还提供一种无损数据压缩的误码修复方法,参见图4所示,包含如下内容:
B1)、读取待压缩字符串,获取已编码符号序列及待编码字符串;
B2)、按照滑动窗口解析顺序依次从已编码符号序列中查找并记录当前待编码字符串的最长匹配前缀,该最长匹配前缀通过三元组指针编码并输出对应编码结果,直至查找完待编码字符串所有字符,输出待压缩字符串的压缩数据流;
B3)、对压缩数据流进行分块处理,并按照逆序顺序,获取数据块的RS校验码,将数据块的RS校验码作为预设嵌入数值,利用最长匹配前缀的匹配多重性,将该RS校验码嵌入数据块的指针三元组中,得到最终压缩数据流;
B4)、对最终压缩数据流进行译码,提取嵌入RS校验码并进行校验恢复,获取正确数据块,解压得到原始字符串。
译码相当于编码的逆过程,译码后得到码字对应的字符串,并在字典中查找有无同样的字符串,若有多个相匹配的同样的字符串,则根据字符串序号提取字符串中嵌入的比特信息,压缩编码中对应嵌入的比特信息进行提取后,获取数据块RS校验码,利用该RS校验码对数据块进行校验,若存在错误,则自动进行校正,否则,无需纠正,得到正确数据块后对该正确的数据块进行解压,获取原始数据。
上述的误码修复方法中,按照逆序顺序,获取第i+1个数据块的RS校验码,将该RS校验码作为预设嵌入数值,利用匹配的多重性嵌入到第i个数据块的指针三元组中,其中,第一个数据块的校验码不嵌入任何分块中,而是保存在压缩文件的开头。
由于被保护的指针三元组是由字节序列表示的,所以使用Reed-Solomon(RS)编码进行保护。RS编码用RS(a,b)表示,其中a是块的大小,b是有效载荷的大小。RS解码器可以纠分块中的e个错误,其中e=(a-b)/2。给定一个用s比特表示的码元,RS码的最大分块长度为a=2s-1。例如,具有8位码元(s=8)的码字的最大长度是255个字节。因此s=8的RS码可以用RS(255、255-2e)表示。每个分块包含255个字节,其中255-2e为数据,2e为校验码。编码可以自动检测并纠正分块中任何位置的e个字节错误。利用LZ77编码器留下的冗余即额外比特嵌入RS校验码。嵌入的校验码可以检测和纠正错误,而不会降低压缩性能。为了成功地纠正e个字节的错误,应该嵌入2e个字节的校验码。每个编码块中嵌入的校验码的数量是恒定的,并且对所有的块都是相等的,因此e被冗余最小的块的冗余所限制。
基于上述的无损数据压缩的误码修复方法实现数据编码压缩,本发明实施例还提供一种基于误码修复的LZ77编码器,参见图5所示,该LZ77编码器包含:压缩模块101、分割模块102、嵌入模块103和输出模块104,其中,
压缩模块101,用于对待压缩字符串利用滑动窗口进行编码压缩,获取压缩数据流,并将压缩数据流传输至分割模块;
分割模块102,用于将压缩数据流进行分割成块;
嵌入模块103,用于按照逆序将数据块的RS校验码作为预设嵌入数值,嵌入数据块的指针三元组中,获取最终压缩数据流;
输出模块104,用于将最终压缩数据流进行输出。
上述的LZ77编码器中,参见图6所示,嵌入模块103包含计算单元3001、编码单元3002 和缓存单元3003,其中,
计算单元3001,用于计算数据块Ci的RS校验码RSi,其中,i为按照从逆序表示当前数据块标号,RS校验码表示为RSi(a,b),a表示码长,即数据块的大小,b表示信息长,即有效载荷的大小;
编码单元3002,用于将数据块Ci的校验码RSi作为预设嵌入数值,嵌入到数据块Ci-1的指针三元组中,获取最终压缩数据并传输至缓存单元;
缓存单元3003,用于存储数据块按照逆序获取的最终压缩数据。
针对上述的基于误码修复的LZ77编码器实现的编码压缩数据,本发明实施例还提供一种基于误码修复的LZ77解码器,对其进行解码,参见图7所示,该LZ77解码器包含:校正模块201、解压模块202和输出模块203,其中,
校正模块201,用于根据输入码字的指针三元组序列获取每个数据块的校验码,利用校验码对数据块进行校正;
解压模块202,用于根据数据块校正结果,并通过输入码字及校验码将编码压缩数据按照从左至右的顺序进行译码重构,获取每个数据块原始字符串;
输出模块203,用于对获取的原始字符串进行输出。
输入字符串X首先使用标准的LZ77算法进行编码。编码后的数据Y被分成大小为255-2e 个字节的块,这些块以反向顺序处理,从最后一个块开始。当处理第Bn块时,首先用RS(255, 255-2e)码计算第Bn+1块的2e个字节的校验码,然后将这些校验码嵌入到块Bn的指针中。如果需要保护第一个块,可以把第一个块的校验码存储在文件开头。否则,为了保证与LZ77解码器的兼容性,应该省略第一个块的保护。解码过程以相反的顺序执行。使用文件开头的附加校验码纠正第一个块(只有在第一个块被保护的情况下)。然后使用LZ77解压缩算法来解压缩,它重新构造了原始字符串的第一部分,并恢复了第二个块的奇偶校验码。接着,算法对第二个块进行纠正和解压缩,并以这种方式继续进行,直到文件的结束。解码过程中,每个块中有效修正的误码e的最大数目,是作为算法输入参数给出的。根据编码数据的冗余,在指针选择中嵌入位元的能力决定了这个数字的上限。解码器接收到指针三元组序列,最前面是第一个块的校验码。首先将输入数据流分成大小为255-2e的分块。然后使用校验码来校正第一个分块B1。一旦分块B1是正确的,就对其解压缩,不仅重构了原始文件的初始部分,也恢复了在特定选择的指针三元组中存储的比特信息。这些额外的比特被收集起来,成为第二个分块B2的校验码,解码器可以纠正分块B2中可能出现的误码,然后算法解压分块B2,并提取出分块B3的校验码。这个过程一直持续到所有块都被解压缩为止。编码器需要以逆序处理这些分块的原因是显而易见的,在指针三元组完成译码前,编码器无法计算RS校验码。由于解码器在解压缩之前需要知道当前分块的校验码,因此将当前分块的RS校验码嵌入到前一个分块中,就可以随着前一个分块的解压得到当前分块的RS码并对当前分块进行校验。
所有编码块采用相同的常数e,显然不是最优的,因为数据字符串不同部分的冗余会有很大的不同。如果字符串中只有一个部分的冗余度非常低,那么它将决定整个字符串的最大值e。这样的低冗余块通常位于编码数据的开头,因为搜寻窗口中还没有足够的数据来进行匹配并构建冗余。本发明实施例中,为了更好地利用总体冗余,可以通过根据每个块中可以利用的冗余位来对e进行自适应的调整。在这种情况下,字符串的低冗余部分只会影响到这些部分的错误保护性能和信息嵌入的量,而字符串的其余部分可以根据其自身的冗余可用性得到更好的保护。因此,e的平均值可以更高,从而更好地抵抗误码影响。输入字符串X首先使用标准的LZ77算法进行编码,同时记录每个指针具有的相同匹配的数量mk。然后根据可用冗余能够嵌入的比特数量,将编码数据划分为不同长度的块。首先,第一个块B1的数据长度为255-2e1字节,e1作为算法的输入参数。然后,根据B1的mk的值计算第二块B2的校验码的字节数,e2的计算方法如下:
例如,如果根据第一个块的多重匹配指针得到能嵌入的附加位数是43,那么第二个块的校验码数量为字节。根据所获得的值,得到第二个块的数据长度是 255-2e2=251字节。然后重复这个过程,直到输入数据结束。最后得到了数据长度各不相同的分别为255-2en的b个块。把所有数据切分成不同长度的块后,就会进行RS编码和嵌入校验码的过程。,这些分块按照从最后一个到第一个的逆序进行处理,每个块可以嵌入的信息位的数量2en是不同的,编码器的操作流程如图8所示的编码器处理压缩数据的操作流程中,RSn表示块Bn的校验码。正如前面所提到的,第一个块的期望误码校正能力e1是作为算法的输入参数给出的,而对于所有其它分块,期望误码校正能力en都是根据其前一分块的冗余自适应得到的。算法中,第一个块的校验码在编码数据的开头,如果想保留与标准LZ77解码器的兼容性,那么就需要去掉第一个分块的校验码,此时e1等于0。
解码过程中每一个分块Bn首先使用前一个分块Bn-1中嵌入的2en个校验码进行误码纠正,然后用解码器解压恢复出相应的原始字符串,并获得下一个分块的2en+1个校验码。校验码用来确定下一个分块Bn+1的数据长度并用来校正该分块。这个过程重复执行一直持续到最后一个分块。下面通过给定字符串对本发明中预设消息嵌入原理做进一步解释说明:
参见图9所示,图中黑色粗框中的字符串是字典,虚线框中的是待编码字符串,LZ77算法编码时,就是在前面字典中寻找一个字符串,使得找到的字符串与以a开头(框上部箭头所指位置)的待编码字符串有最长的匹配。图中能找到的最长匹配字符串是“abc”,长度为 3,字典中共有4处(框下部箭头所指位置)完全匹配的最长前缀,即具有m=4个最长匹配前缀,从左到右的距离依次为:15、11、8、3,对应的编码结果分别为(15,3,g)、(11,3,g)、 (8,3,g)、(3,3,g)。标准的LZ77算法一般选择距离最近处的匹配字符串,对于图中就会选择距离为3的匹配字符串,此时编码结果为(3,3,g)。本实施例中利用m个最长匹配前缀,最多可以嵌入个额外比特,最长匹配前缀的数量为m=4,即可以嵌入个比特的信息,因此分别用00、01、10、11与码字(15,3,g)、(11,3,g)、(8,3,g)、(3,3,g) 一一对应。然后,根据预设数值即要嵌入的2个比特的具体数值选择相应的编码结果。例如,如果要嵌入的2个比特是01,则编码结果为(11,3,g)。译码时,根据接收到的码字进行译码得到对应的字符串,并在字典中寻找有无同样的字符串,如有,则计算数量m和最多可以嵌入的额外比特个数并用d个比特对m个字符串进行编号,根据接收到的码字所对应的编号得到所嵌入的比特。本例中,如果接收到的码字为(11,3,g),对码字进行译码得到字符串abc,通过查找字典发现共有4处(框下部箭头所指位置),即m=4并可计算得到由于码字(11,3,g)对应的数值为01,所以可以提取出2个比特的嵌入信息01。通过在编码数据中嵌入另外文件中额外数据,利用短语匹配的多重性,通过指针三元组,嵌入额外数据的部分比特,该额外数据部分比特可以用于多种目的,例如鉴定或误码纠正等,在不影响标准编码算法兼容性的情况下,实现在压缩编码中携带额外冗余信息;能够在不损失任何压缩能力的情况下,对额外冗余数据利用信道编码器进行保护,以纠正有限数量的错误,具有较强的兼容性和实用性。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的各实例的模块及方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已按照功能一般性地描述了各示例的组成及步骤。这些功能是以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不认为超出本发明的范围。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如:只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种基于LZ77的无损数据压缩方法,其特征在于,包含如下内容:
A1)、读取待压缩字符串,获取已编码符号序列及待编码字符串;
A2)、按照滑动窗口解析顺序依次从已编码符号序列中查找并记录当前待编码字符串的最长匹配前缀,其中,最长匹配前缀通过指针三元组表示;
A3)、根据当前待编码字符串的最长匹配前缀的匹配多重性,确定嵌入比特信息;
A4)、将嵌入比特信息与当前待编码字符串的每个最长匹配前缀进行一一映射;
A5)、根据预设嵌入数值,选取对应的最长匹配前缀作为当前待编码字符串的码字并输出,返回步骤A2),直至待编码字符串均有码字输出,完成数据压缩。
2.根据权利要求1所述的基于LZ77的无损数据压缩方法,其特征在于,最长匹配前缀通过指针三元组表示,该三元组包含:用于表示待编码字符串第一个字符与字典中匹配字符串距离的位置元素,用于表示匹配字符串长度的长度元素,及用于待编码字符串中下一个读取的符号元素。
3.根据权利要求1所述的基于LZ77的无损数据压缩方法,其特征在于,A3)中,根据当前待编码字符串的最长匹配前缀的匹配多重性,确定该当前待编码字符串的最长匹配前缀的数目m,确定嵌入比特个数d,m≥1。
4.根据权利要求3所述的基于LZ77的无损数据压缩方法,其特征在于,A4)中,根据比特个数进行二进制编码,并将该二进制编码结果与m个最长匹配前缀进行一一映射。
5.根据权利要求4所述的基于LZ77的无损数据压缩方法,其特征在于,A5)中,根据预设嵌入数值确定对应的二进制编码,选取该二进制编码映射的最长匹配前缀作为当前待编码字符串的码字并输出。
6.一种无损数据压缩的误码修复方法,其特征在于,基于权利要求1中的无损数据压缩方法实现,包含如下内容:
B1)、读取待压缩字符串,获取已编码符号序列及待编码字符串;
B2)、按照滑动窗口解析顺序依次从已编码符号序列中查找并记录当前待编码字符串的最长匹配前缀,该最长匹配前缀通过三元组指针编码并输出对应编码结果,直至查找完待编码字符串所有字符,输出待压缩字符串的压缩数据流;
B3)、对压缩数据流进行分块处理,并按照逆序顺序,获取数据块的RS校验码,将数据块的RS校验码作为预设嵌入数值,利用最长匹配前缀的匹配多重性,将该RS校验码嵌入数据块的指针三元组中,得到最终压缩数据流;
B4)、对最终压缩数据流进行译码,提取嵌入RS校验码并进行校验恢复,获取正确数据块,解压得到原始字符串。
7.根据权利要求6所述的无损数据压缩的误码修复方法,其特征在于,B3)中,按照逆序顺序,获取第i+1个数据块的RS校验码,将该RS校验码作为预设嵌入数值,利用匹配的多重性嵌入到第i个数据块的指针三元组中,其中,第一个数据块的校验码保存在压缩文件的开头。
8.一种基于误码修复的LZ77编码器,其特征在于,基于权利要求6所述的无损数据压缩的误码修复方法实现数据编码压缩,该LZ77编码器包含:压缩模块、分割模块、嵌入模块和输出模块,其中,
压缩模块,用于对待压缩字符串利用滑动窗口进行编码压缩,获取压缩数据流,并将压缩数据流传输至分割模块;
分割模块,用于将压缩数据流进行分割成块;
嵌入模块,用于按照逆序将数据块的RS校验码作为预设嵌入数值,嵌入数据块的指针三元组中,获取最终压缩数据流;
输出模块,用于将最终压缩数据流进行输出。
9.根据权利要求8所述的基于误码修复的LZ77编码器,其特征在于,嵌入模块包含计算单元、编码单元和缓存单元,其中,
计算单元,用于计算数据块Ci的RS校验码RSi,其中,i为按照从逆序表示当前数据块标号,RS校验码表示为RSi(a,b),a表示码长,即数据块的大小,b表示信息长,即有效载荷的大小;
编码单元,用于将数据块Ci的校验码RSi作为预设嵌入数值,嵌入到数据块Ci-1的指针三元组中,获取最终压缩数据并传输至缓存单元;
缓存单元,用于存储数据块按照逆序获取的最终压缩数据。
10.一种基于误码修复的LZ77解码器,其特征在于,对通过权利要求8所述的基于误码修复的LZ77编码器实现的编码压缩数据进行解码,该LZ77解码器包含:校正模块、解压模块和输出模块,其中,
校正模块,用于根据输入码字的指针三元组序列获取每个数据块的校验码,利用校验码对数据块进行校正;
解压模块,用于根据数据块校正结果,并通过输入码字及校验码将编码压缩数据按照从左至右的顺序进行译码重构,获取每个数据块原始字符串;
输出模块,用于对获取的原始字符串进行输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810534508.8A CN108880556B (zh) | 2018-05-30 | 2018-05-30 | 基于lz77的无损数据压缩方法、误码修复方法及编码器和解码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810534508.8A CN108880556B (zh) | 2018-05-30 | 2018-05-30 | 基于lz77的无损数据压缩方法、误码修复方法及编码器和解码器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108880556A true CN108880556A (zh) | 2018-11-23 |
CN108880556B CN108880556B (zh) | 2021-09-07 |
Family
ID=64335404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810534508.8A Active CN108880556B (zh) | 2018-05-30 | 2018-05-30 | 基于lz77的无损数据压缩方法、误码修复方法及编码器和解码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108880556B (zh) |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110808738A (zh) * | 2019-09-16 | 2020-02-18 | 平安科技(深圳)有限公司 | 数据压缩方法、装置、设备及计算机可读存储介质 |
CN110868222A (zh) * | 2019-11-29 | 2020-03-06 | 中国人民解放军战略支援部队信息工程大学 | Lzss压缩数据误码检测方法及装置 |
CN110995753A (zh) * | 2019-12-19 | 2020-04-10 | 中国电力科学研究院有限公司 | 用电信息采集系统中远程通信报文的组合压缩方法 |
CN111294053A (zh) * | 2018-12-06 | 2020-06-16 | 英韧科技(上海)有限公司 | 硬件友好的数据压缩方法、系统及装置 |
CN112217521A (zh) * | 2020-10-13 | 2021-01-12 | 杭州天谷信息科技有限公司 | 一种基于gzip的大文件分布式压缩方法 |
CN113765854A (zh) * | 2020-06-04 | 2021-12-07 | 华为技术有限公司 | 一种数据压缩方法及服务器 |
CN114172521A (zh) * | 2022-02-08 | 2022-03-11 | 苏州浪潮智能科技有限公司 | 一种解压缩芯片验证方法、装置、设备及可读存储介质 |
CN115269659A (zh) * | 2022-09-19 | 2022-11-01 | 江苏泰恩特环境技术有限公司 | 一种组合式空调箱的能耗检测的远程监控系统 |
CN115296862A (zh) * | 2022-07-14 | 2022-11-04 | 南京问量网络科技有限公司 | 一种基于数据编码的网络数据安全传输方法 |
CN115603870A (zh) * | 2022-09-02 | 2023-01-13 | 杭州航天电子技术有限公司(Cn) | 一种基于递增数的无缓冲误码率实时检测方法 |
CN116388767A (zh) * | 2023-04-11 | 2023-07-04 | 河南大学 | 用于软件开发数据的安全管理方法 |
CN116436987A (zh) * | 2023-06-12 | 2023-07-14 | 深圳舜昌自动化控制技术有限公司 | 一种IO-Link主站数据报文传输处理方法和系统 |
CN116634029A (zh) * | 2023-07-21 | 2023-08-22 | 众科云(北京)科技有限公司 | 基于区块链的用工平台数据快速传输方法 |
WO2023160123A1 (zh) * | 2022-02-24 | 2023-08-31 | 麒麟软件有限公司 | Lz系列压缩算法编解码速度优化方法 |
CN116684631A (zh) * | 2023-08-02 | 2023-09-01 | 北京点聚信息技术有限公司 | 一种针对公文的图像压缩方法 |
CN116827351A (zh) * | 2023-08-31 | 2023-09-29 | 浙江中骏石墨烯科技有限公司 | 一种石墨烯发热墙面温度智能监测系统 |
CN116938256A (zh) * | 2023-09-18 | 2023-10-24 | 苏州科尔珀恩机械科技有限公司 | 基于大数据的回转炉运行参数智能管理方法 |
CN117014519A (zh) * | 2023-09-27 | 2023-11-07 | 北京融威众邦科技股份有限公司 | 一种数据传输方法及医院智能传输系统 |
CN117097442A (zh) * | 2023-10-19 | 2023-11-21 | 深圳大普微电子股份有限公司 | 一种数据解码方法、系统、设备及计算机可读存储介质 |
CN117119120A (zh) * | 2023-10-25 | 2023-11-24 | 上海伯镭智能科技有限公司 | 基于多台无人驾驶矿车的协同控制方法 |
CN117375627A (zh) * | 2023-12-08 | 2024-01-09 | 深圳市纷享互联科技有限责任公司 | 适用于字符串的纯文本格式数据的无损压缩方法和系统 |
CN117811588A (zh) * | 2024-01-08 | 2024-04-02 | 北京新数科技有限公司 | 一种基于霍夫曼编码与lz77的日志压缩存取方法、系统、设备及可读存储介质 |
CN117950598A (zh) * | 2024-03-26 | 2024-04-30 | 深圳市凯博科技有限公司 | 一种电子产品设计数据智能存储方法 |
CN118101763A (zh) * | 2024-04-26 | 2024-05-28 | 西安尚诺西饼有限公司 | 一种用于自助销售柜的存取控制方法 |
CN118300617A (zh) * | 2024-06-06 | 2024-07-05 | 贵州现代数智科技有限公司 | 一种基于物流冷链大数据的信息集成服务数据压缩方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6243496B1 (en) * | 1993-01-07 | 2001-06-05 | Sony United Kingdom Limited | Data compression |
KR20100087437A (ko) * | 2009-01-28 | 2010-08-05 | 한국과학기술원 | 데이터에 대한 압축 및 암호화 연산을 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체 |
CN104052503A (zh) * | 2013-03-15 | 2014-09-17 | 广达电脑股份有限公司 | 纠错码 |
CN104662802A (zh) * | 2012-09-26 | 2015-05-27 | 高通股份有限公司 | 用于基于存储器的分组压缩编码的方法和装置 |
CN104682966A (zh) * | 2015-03-24 | 2015-06-03 | 河海大学 | 列表数据的无损压缩方法 |
-
2018
- 2018-05-30 CN CN201810534508.8A patent/CN108880556B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6243496B1 (en) * | 1993-01-07 | 2001-06-05 | Sony United Kingdom Limited | Data compression |
KR20100087437A (ko) * | 2009-01-28 | 2010-08-05 | 한국과학기술원 | 데이터에 대한 압축 및 암호화 연산을 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체 |
CN104662802A (zh) * | 2012-09-26 | 2015-05-27 | 高通股份有限公司 | 用于基于存储器的分组压缩编码的方法和装置 |
CN104052503A (zh) * | 2013-03-15 | 2014-09-17 | 广达电脑股份有限公司 | 纠错码 |
CN104682966A (zh) * | 2015-03-24 | 2015-06-03 | 河海大学 | 列表数据的无损压缩方法 |
Non-Patent Citations (2)
Title |
---|
HIDEOTOSHI YOKOO: ""An Improvement in the Pointer Coding Compression Method"", 《ELECTRONICS AND COMMUNICATIONS IN JAPAN》 * |
祖渊: ""基于图形处理器的高速并行算法研究"", 《中国博士学位论文全文数据库 信息科技辑》 * |
Cited By (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111294053A (zh) * | 2018-12-06 | 2020-06-16 | 英韧科技(上海)有限公司 | 硬件友好的数据压缩方法、系统及装置 |
CN111294053B (zh) * | 2018-12-06 | 2023-06-16 | 英韧科技(上海)有限公司 | 硬件友好的数据压缩方法、系统及装置 |
CN110808738B (zh) * | 2019-09-16 | 2023-10-20 | 平安科技(深圳)有限公司 | 数据压缩方法、装置、设备及计算机可读存储介质 |
CN110808738A (zh) * | 2019-09-16 | 2020-02-18 | 平安科技(深圳)有限公司 | 数据压缩方法、装置、设备及计算机可读存储介质 |
CN110868222A (zh) * | 2019-11-29 | 2020-03-06 | 中国人民解放军战略支援部队信息工程大学 | Lzss压缩数据误码检测方法及装置 |
CN110868222B (zh) * | 2019-11-29 | 2023-12-15 | 中国人民解放军战略支援部队信息工程大学 | Lzss压缩数据误码检测方法及装置 |
CN110995753A (zh) * | 2019-12-19 | 2020-04-10 | 中国电力科学研究院有限公司 | 用电信息采集系统中远程通信报文的组合压缩方法 |
CN113765854A (zh) * | 2020-06-04 | 2021-12-07 | 华为技术有限公司 | 一种数据压缩方法及服务器 |
CN112217521B (zh) * | 2020-10-13 | 2024-01-09 | 杭州天谷信息科技有限公司 | 一种基于gzip的大文件分布式压缩方法 |
CN112217521A (zh) * | 2020-10-13 | 2021-01-12 | 杭州天谷信息科技有限公司 | 一种基于gzip的大文件分布式压缩方法 |
CN114172521A (zh) * | 2022-02-08 | 2022-03-11 | 苏州浪潮智能科技有限公司 | 一种解压缩芯片验证方法、装置、设备及可读存储介质 |
WO2023160123A1 (zh) * | 2022-02-24 | 2023-08-31 | 麒麟软件有限公司 | Lz系列压缩算法编解码速度优化方法 |
CN115296862B (zh) * | 2022-07-14 | 2024-01-26 | 广州地铁小额贷款有限公司 | 一种基于数据编码的网络数据安全传输方法 |
CN115296862A (zh) * | 2022-07-14 | 2022-11-04 | 南京问量网络科技有限公司 | 一种基于数据编码的网络数据安全传输方法 |
CN115603870A (zh) * | 2022-09-02 | 2023-01-13 | 杭州航天电子技术有限公司(Cn) | 一种基于递增数的无缓冲误码率实时检测方法 |
CN115603870B (zh) * | 2022-09-02 | 2024-05-28 | 杭州航天电子技术有限公司 | 一种基于递增数的无缓冲误码率实时检测方法 |
CN115269659A (zh) * | 2022-09-19 | 2022-11-01 | 江苏泰恩特环境技术有限公司 | 一种组合式空调箱的能耗检测的远程监控系统 |
CN115269659B (zh) * | 2022-09-19 | 2022-12-30 | 江苏泰恩特环境技术有限公司 | 一种组合式空调箱的能耗检测的远程监控系统 |
CN116388767A (zh) * | 2023-04-11 | 2023-07-04 | 河南大学 | 用于软件开发数据的安全管理方法 |
CN116388767B (zh) * | 2023-04-11 | 2023-10-13 | 河北湛泸软件开发有限公司 | 用于软件开发数据的安全管理方法 |
CN116436987A (zh) * | 2023-06-12 | 2023-07-14 | 深圳舜昌自动化控制技术有限公司 | 一种IO-Link主站数据报文传输处理方法和系统 |
CN116436987B (zh) * | 2023-06-12 | 2023-08-22 | 深圳舜昌自动化控制技术有限公司 | 一种IO-Link主站数据报文传输处理方法和系统 |
CN116634029A (zh) * | 2023-07-21 | 2023-08-22 | 众科云(北京)科技有限公司 | 基于区块链的用工平台数据快速传输方法 |
CN116634029B (zh) * | 2023-07-21 | 2023-09-29 | 众科云(北京)科技有限公司 | 基于区块链的用工平台数据快速传输方法 |
CN116684631B (zh) * | 2023-08-02 | 2023-09-29 | 北京点聚信息技术有限公司 | 一种针对公文的图像压缩方法 |
CN116684631A (zh) * | 2023-08-02 | 2023-09-01 | 北京点聚信息技术有限公司 | 一种针对公文的图像压缩方法 |
CN116827351A (zh) * | 2023-08-31 | 2023-09-29 | 浙江中骏石墨烯科技有限公司 | 一种石墨烯发热墙面温度智能监测系统 |
CN116827351B (zh) * | 2023-08-31 | 2023-11-17 | 浙江中骏石墨烯科技有限公司 | 一种石墨烯发热墙面温度智能监测系统 |
CN116938256B (zh) * | 2023-09-18 | 2023-11-28 | 苏州科尔珀恩机械科技有限公司 | 基于大数据的回转炉运行参数智能管理方法 |
CN116938256A (zh) * | 2023-09-18 | 2023-10-24 | 苏州科尔珀恩机械科技有限公司 | 基于大数据的回转炉运行参数智能管理方法 |
CN117014519A (zh) * | 2023-09-27 | 2023-11-07 | 北京融威众邦科技股份有限公司 | 一种数据传输方法及医院智能传输系统 |
CN117014519B (zh) * | 2023-09-27 | 2023-12-29 | 北京融威众邦科技股份有限公司 | 一种数据传输方法及医院智能传输系统 |
CN117097442A (zh) * | 2023-10-19 | 2023-11-21 | 深圳大普微电子股份有限公司 | 一种数据解码方法、系统、设备及计算机可读存储介质 |
CN117097442B (zh) * | 2023-10-19 | 2024-01-16 | 深圳大普微电子股份有限公司 | 一种数据解码方法、系统、设备及计算机可读存储介质 |
CN117119120B (zh) * | 2023-10-25 | 2023-12-22 | 上海伯镭智能科技有限公司 | 基于多台无人驾驶矿车的协同控制方法 |
CN117119120A (zh) * | 2023-10-25 | 2023-11-24 | 上海伯镭智能科技有限公司 | 基于多台无人驾驶矿车的协同控制方法 |
CN117375627A (zh) * | 2023-12-08 | 2024-01-09 | 深圳市纷享互联科技有限责任公司 | 适用于字符串的纯文本格式数据的无损压缩方法和系统 |
CN117375627B (zh) * | 2023-12-08 | 2024-04-05 | 深圳市纷享互联科技有限责任公司 | 适用于字符串的纯文本格式数据的无损压缩方法和系统 |
CN117811588A (zh) * | 2024-01-08 | 2024-04-02 | 北京新数科技有限公司 | 一种基于霍夫曼编码与lz77的日志压缩存取方法、系统、设备及可读存储介质 |
CN117950598A (zh) * | 2024-03-26 | 2024-04-30 | 深圳市凯博科技有限公司 | 一种电子产品设计数据智能存储方法 |
CN117950598B (zh) * | 2024-03-26 | 2024-06-07 | 深圳市凯博科技有限公司 | 一种电子产品设计数据智能存储方法 |
CN118101763A (zh) * | 2024-04-26 | 2024-05-28 | 西安尚诺西饼有限公司 | 一种用于自助销售柜的存取控制方法 |
CN118300617A (zh) * | 2024-06-06 | 2024-07-05 | 贵州现代数智科技有限公司 | 一种基于物流冷链大数据的信息集成服务数据压缩方法及系统 |
CN118300617B (zh) * | 2024-06-06 | 2024-08-09 | 贵州现代数智科技有限公司 | 一种基于物流冷链大数据的信息集成服务数据压缩方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108880556B (zh) | 2021-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108880556A (zh) | 基于lz77的无损数据压缩方法、误码修复方法及编码器和解码器 | |
CN108768403B (zh) | 基于lzw的无损数据压缩、解压方法及lzw编码器、解码器 | |
US9680500B2 (en) | Staged data compression, including block level long range compression, for data streams in a communications system | |
CA1330838C (en) | Method and apparatus for encoding, decoding and transmitting data in compressed form | |
US5608396A (en) | Efficient Ziv-Lempel LZI data compression system using variable code fields | |
CN112953550B (zh) | 数据压缩的方法、电子设备及存储介质 | |
US8325069B2 (en) | System, method, and apparatus for a scalable processor architecture for a variety of string processing applications | |
CN110868222B (zh) | Lzss压缩数据误码检测方法及装置 | |
US6611213B1 (en) | Method and apparatus for data compression using fingerprinting | |
US10938410B2 (en) | Hardware friendly data compression | |
US10224959B2 (en) | Techniques for data compression verification | |
US7340666B1 (en) | Method and apparatus for using memory compression to enhance error correction | |
CN103618554B (zh) | 基于字典的内存页面压缩方法 | |
CN115993939B (zh) | 存储系统重复数据删除方法及装置 | |
CN110209598B (zh) | 一种高速缓冲存储器、一种数据读写控制方法及系统 | |
Lonardi et al. | Error resilient LZ'77 data compression: Algorithms, analysis, and experiments | |
CN108429553A (zh) | 极化码的编码方法、编码装置及设备 | |
US20030038739A1 (en) | Method for compressing data | |
Wang et al. | Repair and restoration of corrupted LZSS files | |
EP2779467B1 (en) | Staged data compression, including block-level long-range compression, for data streams in a communications system | |
KR100607932B1 (ko) | 에러 정정 코드를 이용한 부호화 방법 및 이에 적합한 복호화 방법 | |
Roder et al. | Fast list Viterbi decoding and application for source-channel coding of images | |
CN117955500A (zh) | 一种基于硬件架构的高效lzma编解码方法 | |
Yuanfu et al. | The methods of improving the compression ratio of LZ77 family data compression algorithms | |
JP2023132713A (ja) | データ伸張装置、メモリシステム、およびデータ伸張方法 |
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 |