CN103701470A - 一种流智能预测差异压缩算法及相应的控制装置 - Google Patents
一种流智能预测差异压缩算法及相应的控制装置 Download PDFInfo
- Publication number
- CN103701470A CN103701470A CN201310739133.6A CN201310739133A CN103701470A CN 103701470 A CN103701470 A CN 103701470A CN 201310739133 A CN201310739133 A CN 201310739133A CN 103701470 A CN103701470 A CN 103701470A
- Authority
- CN
- China
- Prior art keywords
- dictionary
- algorithm
- data stream
- new data
- matched
- 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
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明提供流智能预测差异压缩算法,包括:a.确定源数据流及新数据流;b.根据新数据流确定最合适的字典;c.基于所述最合适的字典对新数据流进行匹配;d.根据上述匹配结果对新数据流进行编码;e.根据编码结果确定差异数据流。还提供流智能预测差异压缩装置,包括:第一确定装置,用于确定源数据流及新数据流;第二确定装置,用于根据新数据流确定最合适的字典;第一处理装置,用于基于最合适的字典对所述新数据流进行匹配;第一编码装置,用于根据上述匹配结果对新数据流进行编码;第三确定装置,用于根据编码结果确定差异数据流。和传统的字典压缩算法采用一个字典不同,本算法生成多重字典以产生最佳效果,具备网络自适应性。
Description
技术领域
本发明涉及计算机处理系统,尤其是信息编码算法,具体地,涉及流智能预测差异压缩算法以及相应的控制装置。
背景技术
随着互联网的发展,特别是网络云的出现,大量数据信息的存储与传输对现实的网络物理层造成了极大的压力。在常见的网络应用中,例如程序文档更新,网络游戏版本更迭等更是对网络数据传输量提出了很高的需求。因此差异和压缩算法成为了未来理论研究的热点。现在压缩算法从最初的莫尔斯电报码到香农的系统数学理论模型的提出经过100多年的发展已初具规模,而差异算法则还处于探索阶段。虽然已出现一些不错的算法,但仍具备一些缺点。
现有差异算法大多基于块分组静态统计模型或是各类压缩算法变形。但或多或少拥有如下的缺点:
1、网络传输的适应性。现有很大部分差异算法基于静态统计模型,造成信源编码缺乏自适应性无法实时编码译码。但在现实应用中,往往新流的信息无法静态统计或是静态统计时间过长导致不具备实时性。例如在云存储中,当一个终端对某个大型的数据流进行大量的统计而生成差异数据或许会花费大量的时间,而这个时候无法将数据迅速的更新到各个云节点。
2、编码译码内存不可控编码译码的流往往是以GB甚至是TB论,而大多差异包算法内存使用无法控制,导致要么算法崩溃要么终止对大型的信源的处理。
3、编码译码速度慢或差异数据大。有些差异算法速度过慢,特别是在对大型信源进行处理时往往编码和译码的时间太长缺乏实用性。要么差异数据流生成比较大,缺乏对各类信道源的适应性。
所以,为了提高网络传输的快捷、高效,我们有必要提出一种效率更高的压缩算法或者说编码方法。
发明内容
针对现有技术中压缩算法无法完全满足网络传输需求的缺陷,本发明的目的是提供一种流智能预测差异压缩算法以及相应的压缩装置。
根据本发明的一个方面,提供一种流智能预测差异压缩算法,其特征在于,包括如下步骤:
a.确定源数据流以及新数据流;
b.根据所述新数据流确定最合适的字典;
c.基于所述最合适的字典对所述新数据流进行匹配;
d.根据上述匹配结果对所述新数据流进行编码;
e.根据编码结果确定差异数据流。
优选地,上述步骤d包括如下步骤:d1.判断所述被匹配内容是否被匹配到;d2.若所述被匹配内容被匹配到,则根据所述匹配结果在所述最合适字典中的偏移量、所述匹配结果的长度分别进行编码。
优选地,上述步骤d2包括如下步骤:若所述被匹配内容被匹配到,则根据所述匹配结果在所述最合适字典中的偏移量、所述匹配结果的长度、所述匹配结果的前缀字符分别进行编码。
优选地,所述匹配结果的前缀字符至少包含如下信息中的任一种或任多种:用于表示所述最合适字典的标识信息;或者用于表示所述被匹配内容是否被匹配到的标识信息。
优选地,上述步骤d还包括如下步骤:d3.若所述被匹配内容未被匹配到,则选取所述被匹配内容的第一个元素进行编码。
根据本发明的另一个方面,还提供一种流智能预测差异压缩装置,其特征在于,包括:
第一确定装置,其用于确定源数据流以及新数据流;
第二确定装置,其用于根据所述新数据流确定最合适的字典;
第一处理装置,其用于基于所述最合适的字典对所述新数据流进行匹配;
第一编码装置,其用于根据上述匹配结果对所述新数据流进行编码;以及
第三确定装置,其用于根据编码结果确定差异数据流。
优选地,所述第一编码装置包括:第一判断装置,其用于判断所述被匹配内容是否被匹配到;以及,第二编码装置,其用于当所述被匹配内容被匹配到时根据所述匹配结果在所述最合适字典中的偏移量、所述匹配结果的长度分别进行编码。
优选地,所述第一编码装置还包括:第三编码装置,其用于当所述被匹配内容未被匹配到时选取所述被匹配内容的第一个元素进行编码。
优选地,上述编码算法至少包括如下算法中的任一种或任多种:
-Haffman算法;
-仙侬算法;以及
-自适应的算数算法。
优选地,上述自适应性的算数算法至少根据编码过程中需要编码的数据出现的概率进概率统计,并根据所述概率的变化进行算数算法概率区间的修正或是HUFFMAN树的动态调整结构。
优选地,上述自适应性的算数算法还同时依据压缩率的改变可以将熵编码器重置为最初状态。
优选地,上述Haffman算法为基于PPM模型的Haffman算法,其中,所述基于PPM模型的Haffman算法从N个编码树中选择一个最合适的编码树对当前被编码内容进行编码。
优选地,上述基于PPM模型的Haffman算法为模糊PPM模型的Haffman算法,其中,所述N小于最完整编码树的数量,所述最完整编码树的数量为用于所述基于PPM模型的Haffman算法的最大编码树的数量。
优选地,上述最合适的字典至少包括如下字典:源数据字典,所述源数据字典优选地为所述源数据流的内容;新数据字典,所述新数据字典用于对所述新数据流进行匹配;以及智能预测字典,所述智能预测字典包括曾经编码过的、出现频率超过第一阈值的短语。
优选地,上述最合适的字典还包括用户静态字典,所述用户静态字典用于对指定的数据流进行匹配。
优选地,上述源数据字典和/或新数据字典和/或用户静态字典和/或智能预测字典优选地是如下字典中的任一种:基于LZ77的滑动字典窗口;或者LZ78算法的检索字典。
优选地,上述智能预测字典包括如下类型中的任一种:匹配智能预测字典,其中存储有被匹配到的字符或字符串;或者未匹配智能预测字典,其中存储未被匹配到的字符或字符串。
优选地,上述智能预测字典中条目被自适应地删除或者增加。
优选地,针对所述匹配智能预测字典,向其中增加条目的步骤如下:将被匹配到的字符或字符串增加到所述匹配智能预测字典中,同时,相适应地存储于所述被匹配到的字符或字符串对应的权重以及增加时间。
优选地,针对所述匹配智能预测字典,向其中增加条目的步骤还包括如下步骤:若所述被匹配到的字符或字符串不是第一次被匹配到,则将所述被匹配到的字符或字符串对应的权重加大,同时更新所述增加时间。
优选地,针对所述匹配智能预测字典,从其中移除条目的步骤包括如下步骤:当所述匹配智能预测字典中的条目达到最大限额时,根据权重大小以及所述增加时间将一个字符或字符串从所述匹配智能预测字典中移除。
优选地,针对未匹配智能预测字典,向其中增加条目的步骤包括如下步骤:将未被匹配到的且长度超过第二阈值的字符或字符串加入所述未匹配智能预测字典。
总结上述发明内容,实际上,在现有理论基础上,我们提出了一种新的算法,即Stream Intelligence Prediction Diffrencing and Compressionalgorithm流智能预测差异压缩算法(以下简称SIPDC)。针对如上一些缺点,SIPDC算法融合了几种自适应压缩算法模型。能够有效解决如上所述的缺点。本算法基于压缩算法中字典算法,但和其它同样基于字典算法的差异算法最大的特点是提出了流智能预测的概念。
差异算法顾名思义是根据源数据和新数据生成差异数据描述信息的算法。和传统的字典压缩算法采用一个字典不同,本算法会采用源数据流以及新数据流生成多重字典以便产生最佳效果。
本发明通过采用多个字典的方式,获得了显著的压缩效果。具体地,本发明提供的算法具有如下特点:
1、采用创新的的历史智能字典和用户自定义字典,可以在可控内存模式下有效的解决字典大小限制造成某块数据信息失效果,导致后续流无法找到该数据的缺陷,提高了差异压缩率。
2、高效的HASH和B树模型,加快匹配字典速度。同时搜索算法采用策略模式,可以随意替换。
3、采用模糊前缀匹配方式,有效解决PPM压缩算法内存使用无法控制的问题。
4、根据算法的特点,可以覆盖到已经读取过源文件的部分不会导致译码时失败,可以有效减少的译码时的写量。同时译码时可以根据编码中某块数据没有选择源文件的字典。可以在一定程度上减少译码时读取的量。
5、具备网络自适应性。可以在新数据和源数据都是动态信道源的情况下,依然可以编码。同时译码也具备动态自适应性适合云更新,远程桌面,卫星通讯等等苛刻场景。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出根据本发明的第一实施例的,流智能预测差异压缩算法的流程图;
图2示出根据本发明的第一实施例的,流智能预测差异压缩算法中根据匹配结果对新数据流进行编码步骤的流程图;
图3示出根据本发明的第一实施例的,流智能预测差异压缩算法中对字典中的条目进行增加的步骤的流程图;
图4示出根据本发明的第二实施例的,流智能预测差异压缩算法中根据源数据流以及新数据流生成差异数据流的示意图;
图5示出根据本发明的第二实施例的,流智能预测差异压缩算法中得出的最合适的输出编码字典的输出格式图;以及
图6示出根据本发明的第二实施例的,流智能预测差异压缩算法中根据源数据流和差异数据流生成新数据流的示意图。
具体实施方式
图1示出根据本发明的第一实施例的,流智能预测差异压缩算法的流程图。本领域技术人员理解,在本实施例中,基于流智能预测对一个新的数据流进行压缩,以实现编码后数据流的数据量尽量小,从而提高网络传输的效率。具体地,首先执行步骤S210,确定源数据流以及新数据流。在本实施例中,压缩设备或压缩装置或编码装置接收所述新数据流,并在后续步骤中根据图1所示实施例对所述新数据流进行压缩编码。
然后进入步骤S211,根据所述新数据流确定最合适的字典。本领域技术人员理解,优选地,可以基于所述新数据流从M个字典中选取一个最合适的字典,该选取的过程可以通过不断尝试获得,例如分别使用所述新数据流的全部或部分对所述M个字典进行匹配,并将匹配结果最优的字典作为所述最合适的字典。
接下来执行步骤S212,基于所述最合适的字典对所述新数据流进行匹配。在本实施例中,根据被匹配内容是否匹配到,优选地可以产生两种结果,并根据不同的结果进行后续的不同操作。如果被匹配到,则可以根据匹配结果得到相应的最合适字典中的偏移量,所述匹配结果的长度,所述匹配结果的前缀字符。若未被匹配到,则选取被匹配内容的第一个元素。具体地,在后续实施例中对此予以阐述,在此不予赘述。
在执行完上述步骤S212之后,进入步骤S213,根据上述匹配结果对所述新数据流进行编码。具体地,根据上述匹配结果的不同,对不同内容进行编码。更进一步地,本领域技术人员理解,所采用的编码方式可以根据具体实施需要而不同,例如优选地采用Hamnan编码,而更进一步地,在后续实施例中描述了本发明所特别设计的Hamnan编码的变形编码方式,在此不予赘述。在本实施例中,通过差异编码可以选定适宜数据传输的最优的字典,然后根据该字典进行差异编码得出数据流。再对所得出的数据流经过压缩编码,通过算数算法得到用于编码的字典的相关信息。
最后执行步骤S214,根据编码结果确定差异数据流。在本实施例中,通过对源数据流以及新数据流的两次编码过程,即差异编码和压缩编码,则可以得到差异数据流。进一步地,本领域技术人员理解,针对所述新数据流的全部内容,分K次进行编码,并最终将该K次编码结果统一处理后生成所述差异数据流,在此不予赘述。
进一步地,参考上述图1所示实施例,本领域技术人员理解,本实施例的步骤为在一个编码器中完成,即发送数据流的编码设备中对所述新数据流进行编码,并将编码结果所确定的差异数据流通过网络发送出去。相应地,在本实施例的一个变化例中,与所述发送数据流的编码设备对应地存在一个解码设备,所述解码设备采用图1相对应的步骤进行解码。例如其接收到经过编码的差异数据流,将所述原始数据流和差异数据流根据本发明提供的压缩算法进行解码,具体地通过解码装置进行解码,得到被压缩之前的所述新数据流。通过这样的处理方式,可以有效地降低新数据流的数据量,从而提高了网络传输效率。
图2示出根据本发明的第一实施例的,流智能预测差异压缩算法中根据匹配结果对新数据流进行编码步骤的流程图。具体地,本实施例是对图1中步骤S213的具体实现,即对根据匹配结果对新数据流进行编码步骤的具体实现方式之一。更为具体地,在本实施例中,优选地针对被匹配到的内容采用一种编码方式,对未被匹配到的内容采用另外一种编码方式,具体如下所示。首先执行步骤S231,即判断所述被匹配内容是否被匹配到。本领域技术人员理解,针对所述新数据流,本发明提供的压缩算法会针对其中的一部分内容在一个最为合适的字典中进行匹配操作,例如针对所述新数据流的从0~5的六个字节在一个最为合适的字典中进行匹配,即判断该六个字节在所述最合适的字典中是否出现过,若出现则判断结果为肯定,否则为否定的。
基于上述步骤S231的判断结果,若所述被匹配内容被匹配到,即所述步骤S231的判断结果是肯定的,则进入然后步骤S232,根据所述匹配结果在所述最合适字典中的偏移量、所述匹配结果的长度分别进行编码。本领域技术人员理解,针对所述步骤S231得到的肯定的判断结果,可以根据差异编码器得到的最合适的字典的偏移量,根据该偏移量可以确定匹配到的数据流的位置及所属匹配结果的长度,对该位置及匹配结果的长度进行编码则可以确定源数据流中的部分数据,则可以确定源数据中的部分数据流。
相应地,若所述被匹配内容未被匹配到,即所述步骤S231的判断结果是否定的,则执行步骤S233,选取所述被匹配内容的第一个元素进行编码。本领域技术人员理解,对该第一个元素进行编码的过程可以根据具体实施需要而采用不同的编码方式,例如优选地采用Haffman编码,这并不影响本发明技术内容。
在图2所示实施例的一个变化例中,针对所述步骤S231中的匹配过程,可以通过多种方式实现。例如,优选地,在针对上述六个字节匹配到之后,则先不进行后续操作,而是继续判断从0~6的七个字节是否可以被匹配到,若匹配到,则继续判断从0~7的八个字节是否可以被匹配到,以此类推,直至获得可以被匹配的最大字节长度,并在根据匹配结果执行后续的步骤S232或步骤S233。本领域技术人员理解,在这样的变化例中,由于所述被匹配内容的长度是可变的,则可以实现对于长度不确定的动态的所述新数据流依然可以采取所述确定的算法,依然可以进行编码,同时使得解码也具备动态自适应,适合云更新,远程桌面,卫星通讯等等苛刻场景。
参考图1以及图2所示实施例,本领域技术人员理解,图1以及图2所述的编码算法至少包括如下算法中的任一种或任多种:Haffman算法,该算法在数据压缩中有很大的优势。在一些较大文件的传输过程中,如果所有的字符都用等长的二进制码来表示,则会造成很大的空间浪费,为了减少这种不必要的空间浪费,将文件中出现频率较高的字符的编码尽可能缩短,该算法提出一种Haffman树也称为最优二叉树,是一种带权路径最短的二叉树,该算法可以最大程度地精简所需要传输的数据;仙侬算法,该算法是长信源编码的重要方式之一,在香农编码过程中,先限定每个码字的码长,在码字的选取中是以每个码字的码长作为先决条件。该编码方式可以是平均码长达到极限值,便于数据传输和存储。;自适应的算数算法,是一种能够不断逼近目标的算法。自适应算法所采用的最优准则有最小均方误差(LMS)准则,最小二乘(LS)准则、最大信嗓比准则和统计检测准则等,其中最小均方误差(LMS)准则和最小二乘(LS)准则是目前最为流行的自适应算法准则。由此可见LMS算法和RLS算法由于采用的最优准则不同,因此这两种算法在性能,复杂度等方面均有许多差别。
在一个实施例中,优选地,在采用所述自适应性的算术算法进行编码的场景下,至少根据编码过程中需要编码的数据出现的概率进概率统计,并根据所述概率的变化进行算术算法概率区间的修正或是HUFFMAN树的动态调整结构。通过这种方式的处理,使得编码算法具有更大的灵活性,可以动态地提高编码效率。
在另一个实施例中,优选地,在采用所述自适应性的算术算法的场景下,还同时依据压缩率的改变可以将熵编码器重置为最初状态。通过这样方式的处理,使得在满足一定条件下,熵编码器或者编码器可以重新进行学习,而不再受之前编码内容的干扰,从而保证了编码的效率以及稳定性。
进一步地,本领域技术人员理解,在一个优选实施例中,所述Haffman算法被设定为基于PPM模型的Haffman算法,其中,所述基于PPM模型的Haffman算法从N个编码树中选择一个最合适的编码树对当前被编码内容进行编码。本领域技术人员理解,通过采用所述最合适的编码树可以提高压缩效率,使得所述当前被编码内容可以最大效率被压缩。同时,本领域技术人员理解,在这样的实施例中,可以针对每次编码都进行编码树的选择,也可以在一段较长的被编码内容只采用一个特定的被选择的编码树,即在选择了一个编码树后,在针对小于第三阈值的编码次数中不再重新选择编码树,而是在超过第三阈值后再根据本步骤的方式重新选择一个最合适的编码树,采用这样的方式可以在编码效率与编码时间两个方面取得折中,从而可以在多角度获得可被接受的编码效果。
进一步地,在上述PPM模型的Haffman算法的基础上,在一个优选变化例中,所述基于PPM模型的Haffman算法还可以被设定为模糊PPM模型的Haffman算法,其中,所述N小于最完整编码树的数量,所述最完整编码树的数量为用于所述基于PPM模型的Haffman算法的最大编码树的数量。本领域技术人员理解,在这样的实施例中,N可以基于自适应算法理论,结合初始的源数据流和新数据流的具体编码的长度和内容,动态地确定N的具体数值。具体地,在基于PPM模型的Haffman算法中,可以先选取一个不确定的N进行Haffman编码来选取最优二叉树,如果不能满足条件,则对N进行相应的加减变化,不断进行尝试,然后可以获得适合编码的最优算法,进而获得数据传输的最优方式这种模糊匹配的方案可以自行策略。
图3示出根据本发明的第一实施例的,流智能预测差异压缩算法中对字典中的条目进行增加的步骤的流程图。本领域技术人员理解,针对上述匹配结果,会采用不同的字典。而针对被匹配到内容的字典以及未被匹配到内容的字典,都需要对字典进行管理,例如字典不能是无限大的,所以有最大条目的限制。而同时,所述字典最初是空白的,字典内条目是根据编码过程中的自学习来添加的,所以本实施例描述了向字典中添加条目的过程。
具体地,在本实施例中,首先执行步骤S220判断所述被匹配内容是否被匹配到。在本实施例中,将新数据流和选定的数据流字典的编码内容进行匹配,可以匹配到的长度是不确定的。如果所述被匹配内容被匹配到,则进入步骤S221判断所述匹配智能预测字典中的条目是否为最大限额。本领域技术人员理解,在这一判断过程中,可以匹配到的条目可能会有多个,在多个的条目中选择最大额的匹配内容。也包括匹配到多个完全一样的且为最大限额的条目,则可以先抽取所述的任何一个最大限额的匹配条目去执行步骤S222,之后再次进行如步骤S221的匹配过程。如果所述匹配智能预测字典中的条目为最大限额,则执行步骤S222根据权重大小以及所述增加时间从所述匹配智能预测字典中移除一个项目。本领域技术人员理解,在该实施例中,匹配到了最大限额的条目后,将所匹配到的项目在智能预测字典中移除,使得智能预测字典可以根据匹配过程来动态地调整大小,能够很好地减少再一次匹配过程中,没有必要的匹配运算,使得循环匹配过程中的速度更加快捷。若所述匹配智能预测字典中的条目不是为最大限额或者执行步骤S222以后,则进入步骤S223判断所述被匹配到内容是否第一次被匹配到。本领域技术人员理解,在这个过程中,只要出现步骤S221中的条目不是最大限额或者运行了步骤S222以后,都会进入步骤S223,并不是必然需要执行了步骤S222以后才可以执行步骤S223。如果所述被匹配内容为第一次被匹配到,则进入步骤S224,将所述被匹配到内容增加到所述匹配智能预测字典中,本领域技术人员理解,通过该步骤可以是智能预测字典的条目处于不断增减的过程,实现智能预测字典的最精简化,使得在循环匹配过程中,匹配字典处于最优的状态,既不会出现智能预测字典条目不足,也不会出现智能预测字典无用条目过多,浪费匹配时间和运算量。然后进入步骤S225,相适应地存储于所述被匹配到的字符或字符串对应的权重以及增加时间。本领域技术人员理解,通过这一步骤可以实现对匹配的内容增加,对第一次匹配到字符条目使其加入到经过匹配以后得到的动态的新数据流中,使得新数据流不断扩充,不断完善。若所述被匹配到内容不是第一次被匹配到,则进入步骤S226将所述被匹配到的字符或字符串对应的权重加大。本领域技术人员理解,如果被匹配内容不是第一次出现,则匹配之后的新数据流中会有相对应的字符的存储,通过增加相应字符或者字符串的长度,来记录该或字符串的出现次数,通过只记录权重便可以实现对匹配结果的记录,也大大简化了运算量和存储压力。然后进入步骤S227更新所述增加时间。
若步骤S220中所述被匹配内容未被匹配到,则进入步骤S228判断所述被匹配到内容的长度是否大于第二阈值。如果所述被匹配到内容的长度大于第二阈值,则进入步骤S229,将所述被匹配到内容增加到所述未匹配智能预测字典。
本领域技术人员理解,在上述向一个字典中增加条目的步骤中,优选地,执行一个Add命令或者类似的命令。本领域技术人员理解,不论所述字典采用数据库、文本、表格、队列的方式,都可以采用类似的命令来增加一个条目,或者采用delete的方式来删除一个条目,在此不予赘述。
进一步地,本领域技术人员理解,在上述图1以及图3所示实施例中,步骤S213中对被匹配内容进行匹配的过程中,所述被匹配内容优选地以二进制码的形式存在。而在其他变化例中,也可以采用字符或其他形式进行匹配,这并不影响本发明的技术内容,在此不予赘述。
图4示出根据本发明的第二实施例的,流智能预测差异压缩算法中根据源数据流以及新数据流生成差异数据流的示意图。本实施例是上述实施例以及变化例的一个总体示意图。在本实施例中,首先确定源数据流以及新数据流,本领域技术人员理解新数据流在源数据流的基础上存在一些变化,根据不同的应用场景所述变化存在差异。而所述两个数据流存在一定的相同之处,正是基于这样的原因,压缩算法才有意义。而在本实施例中,压缩装置所在的一侧与解压缩装置所在一侧,或者说编码装置所在的一侧与解码装置所在的一侧都能够获得所述源数据流,相应地在解码装置一侧,所述解码装置根据所述源数据流以及差异数据流并根据本发明提供的压缩算法来对所述差异数据流进行解码后获得所述新数据流,例如图6所示,在此不予赘述。
然后,对所述源数据流以及新数据流通过差异编码器进行编码,所述差异编码器包括源数据字典、新数据字典、智能预测字典以及静态自定义字典构成。具体地,上述四个字典如上述图1至图3所示实施例所描述的,在此不予赘述。
在一个变化例中,本领域技术人员理解,所述字典可以是更多个字典,这并不影响本发明的技术方案。
接下来,通过压缩编码器对数据流进行编码。所述压缩编码器对所述数据流的压缩方式至少可以包括两种模式:基于PPM的HUFFMAN或算术算法熵编码器用于编码未匹配到字典的单字符,基于PPM模型的HUFFMAN或算术算法熵编码器用于编码匹配长度以及选择的匹配词以及该字典偏移。具体地,如上述图1至图3所示实施例所描述的,在此不予赘述。
最后确定差异数据流,从而完成一次压缩编码过程。
图5示出根据本发明的第二实施例的,流智能预测差异压缩算法中得出的最合适的输出编码字典的输出格式图。第一个BIT,0代表没有搜索到短语,使用字符编码,字符编码占据8个BIT。1代表匹配到了短语。2个BIT或者3个BIT用来表示选择的字典类型。右侧用来代表匹配长度、匹配偏移以及字典索引。
图6示出根据本发明的第二实施例的,流智能预测差异压缩算法中根据源数据流、差异数据流生成新数据流的示意图。
与上述图4所示实施例相适应,首先确定源数据流和差异数据流。例如,优选地,所述差异数据流通过网络传输获得。
然后将所提供的源数据流和差异数据流通过压缩编码器进行编码。所述压缩编码器对所述数据流的压缩方式至少可以包括两种模式:基于PPM的HUFFMAN或算术算法熵编码器用于编码未匹配到字典的单字符,基于PPM模型的HUFFMAN或算术算法熵编码器用于编码匹配长度以及选择的匹配词以及该字典偏移。具体地,如上述图1至图3所示实施例所描述的,在此不予赘述。
然后通过差异译码器进行译码,即解码,所述差异译码器也就是上述阐述的解码装置的主要组成部分。所述差异编码器负责选择字典,并且根据字典得出还原的数据流。所述字典包括源数据字典、新数据字典、智能预测字典以及静态自定义字典。
基于上述结果,最终可以确定所述新数据流。
针对图4至图6所示实施例,本领域技术人员理解,在本实施例中,通过对源数据流和新数据流通过差异编码器进行编码,在所述过程中形成的最适合字典,得到差异数据流。结合通过编码过程得到的最合适字典,对源数据流和差异数据流通过压缩编码器进行编码,然后再通过差异编码器编码,根据选出字典得出被还原的数据流,来实现数据源的压缩,实现数据源的高效传输。
参考上述图1至图6所示实施例,本领域技术人员理解,在一个优选实施例中,还提供了一种流智能预测差异压缩装置,其包括:
第一确定装置,其用于确定源数据流以及新数据流;
第二确定装置,其用于根据所述新数据流确定最合适的字典;
第一处理装置,其用于基于所述最合适的字典对所述新数据流进行匹配;
第一编码装置,其用于根据上述匹配结果对所述新数据流进行编码;
第三确定装置,其用于根据编码结果确定差异数据流。
而在一个优选实施例中,所述第一编码装置包括:第一判断装置,其用于判断所述被匹配内容是否被匹配到;以及第二编码装置,其用于当所述被匹配内容被匹配到时根据所述匹配结果在所述最合适字典中的偏移量、所述匹配结果的长度分别进行编码。
而在另一个变化例中,所述第一编码装置还包括:第三编码装置,其用于当所述被匹配内容未被匹配到时选取所述被匹配内容的第一个元素进行编码。
具体地,针对上述各装置,可以参考上述图1至图6所示内容予以实现,在此不予赘述。
具体地,结合上述图1至图6所示实施例,我们可以举例说明一次压缩、编码的过程:
源数据流:我们假设为ABDDADDAADCBBEDADDED20个字节;
新数据流:我们假设为DADDAAADDEDABFFEEDDAEADDE,共25个字节。
为了描述简单,我们假设只用2种字典(源数据流字典,新数据流字典),字典大小为16个字节。
在上述假设举例情况下,编码过程如下:
A第一轮编码
1:首先将源数据流字典,新数据流字典全部初始化为0;
2:读取源数据流填充源数据流字典,填充后为ABDDADDAADCBBEDA;新数据流字典不变,因为暂时没有填充的内容因此为0000000000000000;
3:用新数据流DADDAAADDEDABFFEEDDAEADDE在两个字典中查找匹配最长的字符串。其中,在旧字典中能够匹配到的最长的单词为DADDAA位于旧字典偏移量3(位置是以0开始计算)的位置,匹配长度为6(偏移量),在新字典中现在匹配的最长单词为0。
4:最后选择匹配的字典为旧字典匹配的偏移为3匹配的长度为6。如果没有熵编码器,则按照如下情况输出,其中按照字节计算:
第一个字节输出0表示查找到了匹配单词;
第2个字节输出0表示在源数据流字典中查找到了匹配单词;
第3到第6个字节表示匹配长度6,编码为0110。本领域技术人员理解,由于字典长度为16个字节,需要4个字节描述;
第7到第10个表示匹配偏移3,编码0011。本领域技术人员理解,因字典长度为16个字节,需要4个字节描述;
如果有熵编码器则将匹配长度和匹配偏移放入合适的熵编码器进行编码。熵编码如下文所述。
5:将源数据流字典移出刚才匹配到的6个字节长度,并且从源数据流中读取6个字节,不够填充0。从而得到如下结果:
ABDDAD|DAADCBBEDA移出ABDDAD
DAADCBBEDA|DDED00填充DDED00因为不够填充6个字节所以补充2个0
相应地,新数据流字典也移出6个字节,并且将刚查找到的6个字节的长度填充进去。
000000|0000000000移出000000
0000000000|DADDAA填充DADDAA也就是新数据流的前6个字节。
新数据流的前6个字节已经编码完成移出,剩余
ADDEDABFFEEDDAEADDE
接下来,是第2轮编码:
B第2轮编码
此时源数据流字典为DAADCBBEDADDED00
新数据流字典为0000000000DADDAA
需要编码的新数据此时为ADDEDABFFEEDDAEADDE
1:在两个字典中查找,查找发现在源数据流字典匹配为ADDE,匹配长度为4,匹配偏移为9,新数据流字典匹配为ADD匹配长度为3匹配偏移11;
2:源字典匹配长度4比新字典匹配长度3长,应选择旧字典,为了好说明,我们假设为新字典匹配更长。
那么第一个字节输出0表示查找到了匹配单词;
第2个字节输出1表示在新数据流字典中查找到了匹配单词;
第3到第6个字节表示匹配长度3,编码为0011。本领域技术人员理解,因字典长度为16个字节,需要4个字节描述;
第7到第10个表示匹配偏移11,编码1011。本领域技术人员理解,因字典长度为16个字节,需要4个字节描述。
3调整字典
源字典新字典分别移出3个字节,并填充三个字节进去
此时源数据流字典调整为DCBBEDADDED00000
新数据流字典为0000000DADDAAADD
接下来,第3轮编码
C第3轮编码
此时源数据流字典调整为DCBBEDADDED00000
新数据流字典为0000000DADDAAADD
待编码的数据为:EDABFFEEDDAEADDE
1:查找字典是否有最长匹配的,旧字典最长匹配单词为ED长度2,新字典没有找到。我们认为长度2不符合最低要求,因此认为匹配长度为1,这个时候:
那么第一个字节输出1表示没有查找匹配单词,应该编码字符
第2到第9个字节(1个字节)输出字符E。该处送入合适的熵编码器进行编码。
2调整字典
源字典新字典分别移出1个字节,并填充1个字节进去此时源数据流字典调整为CBBEDADDED000000
新数据流字典为000000DADDAAADDE
待编码的数据为:DABFFEEDDAEADDE
按照上述步骤,重复前面的步骤直到所有数据编码完成,最终可以获得差异数据流。
根据上述实施例以及变化例中,本领域技术人员理解,对于字典而言,其优选地可以采用如下方式实现:
一源数据字典基于LZ77的滑动字典窗口,编码时根据源数据流输入增大,最大不超过设置的最大字典尺寸。该该窗口的输出的格式为:
匹配长度:匹配偏移
匹配长度:为N个字节,固定大小,例如5个字节,可以描述的最大匹配长度为32。因为大多数情况下编码最大匹配长度不会超过32。但在这里5个字节只仅仅用来描述最大匹配长度为31,如果值为32代表长度描述需要扩展到下一个单元,例如描述匹配长度为32,则需要第一个单元输出32,然后继续输出一个5个字节的单元的0。而如果匹配长度为54的话则第一个单元输出32第2个单元输出23。以此类推,可以描述任意长度的匹配长度。
匹配长度0无意义,1,2等等也实际不存在,当匹配长度为0,1等的时候则用来描述字典的转意,例如0可以代表整个编码过程结束。1代表本字典增加N M的大小,2描述减少N M大小等等。
匹配偏移:首先输出一个字节表示是使用近字典还是全局字典。编码中字典内部有一个维持位置的指针和新数据流的位置同步,当搜索到的字典和指针相差不到1M称为小字典或近字典。例如全局字典的大小为64M,近字典为1M,如果是近字典输出时1个字节0代表小字典,然后输出小字典的20个字节的偏移编码,如果是全局字典输出一个字节的1,然后输出26字节的远字典偏移。
字典搜索算法可以使用B类树,HASH链表等等。
进一步地,本领域技术人员理解,新数据字典与上类似,在此不在赘述。
针对智能预测字典,可以采用如下方式实现:上面的字典模型势必带来一个问题,为了控制内存的使用,字典的大小是有限的。当处理大型信道源时,有可能匹配的信息已经从字典中滑出。为此和其它基于字典压缩算法不同的是本算法新增了一个智能匹配字典,这也是该算法最核心的特色。将曾经编码过的最经常出现的短语记录下来。同时自适应的移出和增加新的词条。该字典可以采用上述两个字典匹配长度以及匹配偏移的滑动窗口的模型,也可以使用单词索引模型描述。如果是采用单词索引模型描述,例如该字典最大大小为4096可自动递增(12个字节),同时字典大小可重置。可以保留0表示重置字典为空。
智能预测字典最关键的问题是预测未来哪些单词最可能出现。我们在这里保留两个部分的信息最频繁使用以及从未被搜索到的数据。用单词索引模型描述曾经出现频率最高的单词,当字典为空时,某个单词被搜索到时,则将该单词放入字典中。并且记录其频率权重为1与加入时编码的时序(例如编码时新流编码到的位置为16M),当索引字典增加到最大时,开始判断哪个出现频度以及时序得出一个权重,根据权重移出一个短语,将新的短语放入新的字典。同时可以根据编码压缩率重置字典。而另外一种从未被搜索到数据快,当这个块连续超过一定大小,例如1K时,则将其放入到智能预测字典未匹配的LZ77滑动窗口中。同时某个短语匹配到以后,从未匹配过的滑动窗口中移除以便放入新的未匹配数据。如果滑动窗口已满,则移出最前的数据。
进一步地,本领域技术人员理解,针对静态自定义字典,类似与智能预测字典,是可以给指定的数据流采用的特定的匹配字典。
例如我们常见的一些文件格式,例如PE文件,ZIP,DOC,wav,MP3等等都包含了大量的重复的文件格式描述,节描述信息等。将这些常见的描述信息放入静态字典中
进一步地,本领域技术人员理解,以上的字典可以自由的策略选择。编码器会依次选择各个字典,发现最合适的输出编码字典。
进一步地,本领域技术人员理解,针对差异数据流的熵压缩,优选地可以采用如下方式实现:与传统的压缩算法对未匹配的单字符以及长度偏移单纯采用HUFFMAN或是算数算法不同。我们使用了部分匹配预测PPM的算法模型。该算法模型可以极大提高压缩的效果。传统的压缩使用单HUFFMAN树或是算数算法的模型。PPM则是根据正编码的前面N个字符建立多个HUFFMAN树或是算数算法模型。例如正在编码的单元前面2个字符是AB,则选择AB对应的HUFFMAN数,AA则选择是AA对应的HUFFMAN树。这对于匹配长度为2,3等短语,但是输出匹配长度以及偏移却比本身2个3个字节还大,只能够使用原字符直接编码输出的缺陷作出了有效的解决。但是因HUFFMAN树或是算数算法模型本身需要消耗一定的内存,而部分匹配前缀短语取样2个字节时就需要建立65536个树,当每个树从空到满256个叶节点时,几乎无法现实中使用。因此在PPM算法的基础上,本算法使用复用的方案。只建立1个全局HUFFMAN树或算数算法模型和256个分树或算数算法模型。当采样前缀为6个字节的时,256个树分别应一个最常见的6个匹配字符的短语同时该树有一个使用频率和更新时序权重。该短语由上述差异算法4类字典搜索到的短语,例如曾经搜索到的最大匹配字符串为ABBABEDFFQA而下次搜索未匹配到字符串,只能够单字符输出例如H那么建立一棵树,其对应的匹配短语记录为EDFFQA,同时应该对H进行HUFFMAN编码。如果又出现这样的情况且前缀为EDDDQA,发现该短语有60%一致。则不重新建立树,而是选择使用匹配字符最高的树进行编码,同时将该短语替换成EDDDQA。同时定期进行采样,判断压缩率是否变低,如果是则根据权重选择更新某棵树概率更新或是销毁以便使用其它的短语。这种模糊匹配的方案可以自行策略。
综上所述,进一步地,本领域技术人员理解,本算法基于4类字典:
1类字典旧的源数据流字典
2类字典新的数据流字典
3类字典用户自定义字典
4类字典智能字典。所述智能字典分为2种,一种为匹配的智能字典,一种为未匹配的智能字典。智能字典生成是依靠1类和2类字典的信息生成的,生成过程如下:
一4A匹配的智能字典生成过程:
A1如果是从1和2类字典搜索到的匹配单词,把搜索到的的单词放入智能字典里面。例如搜索到的匹配单词为“ABCCADE”放入匹配单词的智能字典中,并且给其一个权重计数以及更新时间。第2次又匹配到”ABCCADE”发现智能匹配字典中已经有该单词则增加其权重计数更新时间而不增加新的条目。
A2如果1类2类字典没有搜索到,而是从匹配的智能字典搜索到的匹配单词,其实本质就如是从1类和2类字典匹配搜索到的,因而同样更新其权重和时间,
A3通过A1A2不断增加智能匹配字典直到匹配数量到设置的最大数量。然后当又有新的单词,则开始根据权重以及最后更新该单词的时间等阀值移除一个老的条目。
二4B从未匹配的智能字典生成过程:
B11类和2类字典是LZ77的滑动窗口,这个窗口大小有限。需要不断将窗口最前面的数据滑出,将滑动出的大小的新的数据填补进这个字典。滑动出的数据如果是连续未匹配的超过一定的阀值一般是需求最小的匹配字符长度,例如6个字节等等,则将其加入到从未匹配的智能字典
B2如果从1类2类3类字典中搜索到匹配单词出现在4B字典中说明其已经被匹配过,则将该条目删除
B3如果从4B字典中匹配到的单词,也相当于已经搜索到过,也将其删除
B4如果未匹配字典达到最大数量,并且需要加入新的单词,则将加入进最初的单词条目删除替换。
进一步地,本领域技术人员理解,智能匹配字典是用于辅助1类字典和2类字典因为字典大小限制,一些曾经有用的信息从字典中消失而无法匹配到单词的有效方式。4A类是将一些最常用的单词进行保存,4B类是将一些从未匹配,但有可能后面的数据可能仍会出现的信息保存。例如一些数据,某些数据块没有变化,只是移动了其位置。而因此1,2类字典大小的限制,这个数据块的信息从字典中消失。而如果该数据块曾经出现频繁大多时候会出现在4A类字典中,如果使用不频繁则大多时候会出现在4B类字典中。当然其中具体的实现有很多种方法,但是都可以在采用上述技术内容的基础上予以实现。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
Claims (22)
1.一种流智能预测差异压缩算法,其特征在于,包括如下步骤:
a.确定源数据流以及新数据流;
b.根据所述新数据流确定最合适的字典;
c.基于所述最合适的字典对所述新数据流进行匹配;
d.根据上述匹配结果对所述新数据流进行编码;
e.根据编码结果确定差异数据流。
2.根据权利要求1所述的压缩算法,其特征在于,所述步骤d包括如下步骤:
d1.判断所述被匹配内容是否被匹配到;
d2.若所述被匹配内容被匹配到,则根据所述匹配结果在所述最合适字典中的偏移量、所述匹配结果的长度分别进行编码。
3.根据权利要求2所述的压缩算法,其特征在于,所述步骤d2包括如下步骤:
-若所述被匹配内容被匹配到,则根据所述匹配结果在所述最合适字典中的偏移量、所述匹配结果的长度、所述匹配结果的前缀字符分别进行编码。
4.根据权利要求3所述的压缩算法,其特征在于所述匹配结果的前缀字符至少包含如下信息中的任一种或任多种:
-用于表示所述最合适字典的标识信息;或者
-用于表示所述被匹配内容是否被匹配到的标识信息。
5.根据权利要求2至4中任一项所述的压缩算法,其特征在于,所述步骤d还包括如下步骤:
d3.若所述被匹配内容未被匹配到,则选取所述被匹配内容的第一个元素进行编码。
6.根据权利要求1至5中任一项所述的压缩算法,其特征在于,所述编码算法至少包括如下算法中的任一种或任多种:
-Haffman算法;
-仙侬算法;以及
-自适应的算数算法。
7.根据权利要求6所述的压缩方法,其特征在于,所述自适应性的算数算法至少根据编码过程中需要编码的数据出现的概率进概率统计,并根据所述概率的变化进行算数算法概率区间的修正或是HUFFMAN树的动态调整结构。
8.根据权利要求7所述的压缩方法,其特征在于,所述自适应性的算数算法还同时依据压缩率的改变可以将熵编码器重置为最初状态。
9.根据权利要求6至8中任一项所述的压缩方法,其特征在于,所述Haffman算法为基于PPM模型的Haffman算法,其中,所述基于PPM模型的Haffman算法从N个编码树中选择一个最合适的编码树对当前被编码内容进行编码。
10.根据权利要求9所述的压缩方法,其特征在于,所述基于PPM模型的Haffman算法为模糊PPM模型的Haffman算法,其中,所述N小于最完整编码树的数量,所述最完整编码树的数量为用于所述基于PPM模型的Haffman算法的最大编码树的数量。
11.根据权利要求1至10中任一项所述的压缩算法,其特征在于,所述最合适的字典至少包括如下字典:
-源数据字典,所述源数据字典优选地为所述源数据流的内容;
-新数据字典,所述新数据字典用于对所述新数据流进行匹配;以及
-智能预测字典,所述智能预测字典包括曾经编码过的、出现频率超过第一阈值的短语。
12.根据权利要求11所述的压缩算法,其特征在于,所述最合适的字典还包括用户静态字典,所述用户静态字典用于对指定的数据流进行匹配。
13.根据权利要求11或12所述的压缩算法,其特征在于,所述源数据字典和/或新数据字典和/或用户静态字典和/或智能预测字典优选地是如下字典中的任一种:
-基于LZ77的滑动字典窗口;或者
-LZ78算法的检索字典。
14.根据权利要求11至13中任一项所述的压缩算法,其特征在于,所述智能预测字典包括如下类型中的任一种:
-匹配智能预测字典,其中存储有被匹配到的字符或字符串;
-未匹配智能预测字典,其中存储未被匹配到的字符或字符串。
15.根据权利要求14所述的压缩算法,其特征在于,所述智能预测字典中条目被自适应地删除或者增加。
16.根据权利要求15所述的压缩算法,其特征在于,针对所述匹配智能预测字典,向其中增加条目的步骤如下:
-将被匹配到的字符或字符串增加到所述匹配智能预测字典中,同时,相适应地存储于所述被匹配到的字符或字符串对应的权重以及增加时间。
17.根据权利要求16所述的压缩算法,其特征在于,针对所述匹配智能预测字典,向其中增加条目的步骤还包括如下步骤:
-若所述被匹配到的字符或字符串不是第一次被匹配到,则将所述被匹配到的字符或字符串对应的权重加大,同时更新所述增加时间。
18.根据权利要求15至17中任一项所述的压缩算法,其特征在于,针对所述匹配智能预测字典,从其中移除条目的步骤包括如下步骤:
-当所述匹配智能预测字典中的条目达到最大限额时,根据权重大小以及所述增加时间将一个字符或字符串从所述匹配智能预测字典中移除。
19.根据权利要求15至18中任一项所述的压缩算法,其特征在于,针对未匹配智能预测字典,向其中增加条目的步骤包括如下步骤:
-将未被匹配到的且长度超过第二阈值的字符或字符串加入所述未匹配智能预测字典。
20.一种流智能预测差异压缩装置,其特征在于,包括:
第一确定装置,其用于确定源数据流以及新数据流;
第二确定装置,其用于根据所述新数据流确定最合适的字典;
第一处理装置,其用于基于所述最合适的字典对所述新数据流进行匹配;
第一编码装置,其用于根据上述匹配结果对所述新数据流进行编码;
第三确定装置,其用于根据编码结果确定差异数据流。
21.根据权利要求20所述的压缩装置,其特征在于,所述第一编码装置包括:
第一判断装置,其用于判断所述被匹配内容是否被匹配到;
第二编码装置,其用于当所述被匹配内容被匹配到时根据所述匹配结果在所述最合适字典中的偏移量、所述匹配结果的长度分别进行编码。
22.根据权利要求21所述的压缩装置,其特征在于,所述第一编码装置还包括:
第三编码装置,其用于当所述被匹配内容未被匹配到时选取所述被匹配内容的第一个元素进行编码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310739133.6A CN103701470B (zh) | 2013-12-27 | 2013-12-27 | 一种流智能预测差异压缩算法及相应的控制装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310739133.6A CN103701470B (zh) | 2013-12-27 | 2013-12-27 | 一种流智能预测差异压缩算法及相应的控制装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103701470A true CN103701470A (zh) | 2014-04-02 |
CN103701470B CN103701470B (zh) | 2017-02-01 |
Family
ID=50362889
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310739133.6A Active CN103701470B (zh) | 2013-12-27 | 2013-12-27 | 一种流智能预测差异压缩算法及相应的控制装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103701470B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106471743A (zh) * | 2014-06-20 | 2017-03-01 | 甲骨文国际公司 | 普通ascii数据流的编码 |
CN109412604A (zh) * | 2018-12-05 | 2019-03-01 | 云孚科技(北京)有限公司 | 一种基于语言模型的数据压缩方法 |
CN111414567A (zh) * | 2019-01-04 | 2020-07-14 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置 |
CN111859089A (zh) * | 2019-04-30 | 2020-10-30 | 北京智慧星光信息技术有限公司 | 一种用于互联网信息的错词检测控制方法 |
CN115988569A (zh) * | 2023-03-21 | 2023-04-18 | 浙江省疾病预防控制中心 | 一种蓝牙设备数据快速传输方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102122960B (zh) * | 2011-01-18 | 2013-11-06 | 西安理工大学 | 一种针对二进制数据的多字符组合无损数据压缩方法 |
CN103326732B (zh) * | 2013-05-10 | 2016-12-28 | 华为技术有限公司 | 压缩数据的方法、解压数据的方法、编码器和解码器 |
-
2013
- 2013-12-27 CN CN201310739133.6A patent/CN103701470B/zh active Active
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106471743A (zh) * | 2014-06-20 | 2017-03-01 | 甲骨文国际公司 | 普通ascii数据流的编码 |
CN109412604A (zh) * | 2018-12-05 | 2019-03-01 | 云孚科技(北京)有限公司 | 一种基于语言模型的数据压缩方法 |
CN111414567A (zh) * | 2019-01-04 | 2020-07-14 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置 |
CN111414567B (zh) * | 2019-01-04 | 2023-05-26 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置 |
CN111859089A (zh) * | 2019-04-30 | 2020-10-30 | 北京智慧星光信息技术有限公司 | 一种用于互联网信息的错词检测控制方法 |
CN111859089B (zh) * | 2019-04-30 | 2024-02-06 | 北京智慧星光信息技术有限公司 | 一种用于互联网信息的错词检测控制方法 |
CN115988569A (zh) * | 2023-03-21 | 2023-04-18 | 浙江省疾病预防控制中心 | 一种蓝牙设备数据快速传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103701470B (zh) | 2017-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104283567B (zh) | 一种名称数据的压缩、解压缩方法及设备 | |
CN101800556B (zh) | 数据传输及编码数据字符串的方法 | |
Gueniche et al. | Compact prediction tree: A lossless model for accurate sequence prediction | |
CN105930314B (zh) | 基于编码-解码深度神经网络的文本摘要生成系统及方法 | |
CN101809567B (zh) | 文本串的二次散列提取 | |
CN101783788B (zh) | 文件压缩、解压缩方法、装置及压缩文件搜索方法、装置 | |
US9223765B1 (en) | Encoding and decoding data using context model grouping | |
CN100458795C (zh) | 一种智能组词输入的方法和一种输入法系统及其更新方法 | |
CN103701470A (zh) | 一种流智能预测差异压缩算法及相应的控制装置 | |
US9208256B2 (en) | Methods of coding and decoding, by referencing, values in a structured document, and associated systems | |
CN106506007A (zh) | 一种无损数据压缩和解压缩装置及其方法 | |
CN107561564B (zh) | 一种北斗卫星信息传输的压缩实现方法 | |
CN102244518A (zh) | 并行解压缩的硬件实现的系统及方法 | |
JP3083730B2 (ja) | データ情報を圧縮するためのシステムおよび方法 | |
FR2931271A1 (fr) | Procede et dispositif de codage d'un document structure et procede et dispositif de decodage d'un document ainsi code | |
CN114218389A (zh) | 一种基于图神经网络的化工制备领域长文本分类方法 | |
CN103731154B (zh) | 一种基于语义分析的数据压缩算法 | |
CN117040539B (zh) | 一种基于m叉树和lzw算法的石油测井数据压缩方法及装置 | |
JP2021145281A (ja) | 圧縮装置、伸張装置及び方法 | |
CN100581258C (zh) | 霍夫曼解码方法和霍夫曼解码装置 | |
CN103116654A (zh) | 一种xml数据节点编码压缩方法 | |
Fariña | New compression codes for text databases | |
US7612692B2 (en) | Bidirectional context model for adaptive compression | |
CN114598329B (zh) | 一种面向快速解压应用的轻量级无损压缩方法 | |
Muthuchamy | A study on various data compression types and techniques |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |