CN101496288A - 数据压缩 - Google Patents

数据压缩 Download PDF

Info

Publication number
CN101496288A
CN101496288A CNA2007800231292A CN200780023129A CN101496288A CN 101496288 A CN101496288 A CN 101496288A CN A2007800231292 A CNA2007800231292 A CN A2007800231292A CN 200780023129 A CN200780023129 A CN 200780023129A CN 101496288 A CN101496288 A CN 101496288A
Authority
CN
China
Prior art keywords
symbol string
sign indicating
indicating number
symbol
data
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.)
Pending
Application number
CNA2007800231292A
Other languages
English (en)
Inventor
D·M·门罗
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.)
Essex PA LLC
Original Assignee
Essex PA LLC
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 Essex PA LLC filed Critical Essex PA LLC
Priority to CN201710080667.0A priority Critical patent/CN107094021A/zh
Publication of CN101496288A publication Critical patent/CN101496288A/zh
Pending legal-status Critical Current

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

Abstract

本发明涉及压缩相关数据组的方法。所述方法执行以下步骤:(a)选择在要被压缩的数据内出现的符号串,并生成指示符号串在要被压缩的数据组内的一个或多个位置的符号串码;(b)对于在组内出现的另外的符号串,接连地重复(a);以及(c)把各个符号串码组合成压缩数据码。

Description

数据压缩
技术领域
本专利申请涉及数据压缩。
背景技术
近年来,人们通过网络共享数据变得越来越流行;然而,数据传输在带宽利用方面具有一定成本。所以,例如,大量数据常常被压缩。压缩也可以用于存储数据到磁的或其它介质上。
附图说明
主题在说明书的结论部分被特别地指出并清楚地请求保护。然而,所请求保护的主题,包括其组织和操作方法以及目的、特征和优点,可以通过结合附图参考以下的详细说明而被最好地理解,其中:
图1是说明根据所请求保护的主题的一个实施例的示意图。
具体实施方式
在以下的详细说明中,许多特定细节被阐述,以便提供对于所请求保护的主题的透彻的理解。然而,本领域技术人员将理解,所请求保护的主题可无需这些特定细节而实施。在其它实例中,对熟知的方法、过程、部件和/或电路没有进行详细描述,以免使所请求保护的主题模糊。
随后的具体实施方式的某些部分以算法和/或对存储在计算系统内——诸如在计算机和/或计算系统存储器内——的数据比特和/或二进制数字信号的操作的符号表示的形式而给出。这些算法描述和/或表示是由数据处理领域技术人员用来把他们的工作内容传达给该领域其它技术人员的技术。在这里并且通常地,算法被认为是自相一致的运算序列和/或导致期望结果的类似处理。运算和/或处理可包括对物理量的物理操作。典型地——虽然不一定必须,这些量可以采取能够被存储、传送、组合、比较和/或操纵的电信号和/或磁信号的形式。主要由于普遍的使用,把这些信号称为比特、数据、数值、单元、符号、字符、术语、数目、数字等等有时被证明是方便的。然而,应当理解,所有这些以及类似的术语是与适当的物理量相关联的,并且仅仅是方便的标签。除非专门阐述,否则正如从以下的讨论看到的,将会意识到在本说明书的讨论中,利用诸如“处理”、“计算”、“确定”等等的术语指的是诸如计算机或类似的电子计算设备那样的计算平台的动作和/或处理,所述计算平台在计算平台的处理器、存储器、寄存器和/或其它信息存储、传输和/或显示设备内操纵和/或变换被表示为电和/或磁的物理量和/或其它物理量的数据。
此后描述压缩数据的方法的一个特定实施例,虽然所请求保护的主题在范围上不限于这方面。选择在要被压缩的数据集或数据组内出现的一个符号串。生成符号串码,其指示符号串在数据内的一个或多个位置。同样地,对于数据内的另外的符号串,这个过程可以重复进行。各个符号串码然后可以组合以形成数据码。得到的数据码是该数据集或数据组的压缩形式。该数据码可根据需要被发送或存储。
一个特定实施例可以通过接连地识别所选择的符号串出现的位置、确定在所选择的符号串的出现之间的距离并生成包括表示所选择的串在数据内的位置的距离的码而被实行,虽然所请求保护的主题在范围上不限于这方面。同样地,在这里,符号可包括任何类型、形式或格式的数据。例如,这可包括记录、文件、扇区、集群、组和/或它们的部分。而且,符号可包括字、字节、比特、文本、字符等等。符号串可包括单个或多个符号。同样地,它们在长度上可以是固定的或可变的。
对于一个特定实施例,符号串可以按特定的或预定的次序被编码,虽然这同样仅仅是一个示例性实施例并且所请求保护的主题在范围上不限于这方面。替换地或另外,不同于按次序编码,符号串可以以任何次序被编码。在这样的实施例中,符号串码例如可以加上指示特定的符号串的某些其它码作为前缀,虽然所请求保护的主题在范围上当然不限于这个示例性实施例。同样地,对于一个特定实施例,所采用的方法可以在模式之间切换,所述模式诸如其中符号串码按预定的次序被发送或存储的模式,和其中这个次序没有被预先确定、但其中表示相应的符号串的某些码在符号串码之前或作为符号串码的一部分而被发送的模式。
如果符号串包括符号串的重复,则符号串码可包括指示符号串的一连串出现的存在的数据。从压缩的观点来看,指示一连串出现的数据的存储或传输通常比单独发送这样的出现更有效率。在一个特定实施例中,可以通过行程长度编码(run length coding)而将位置用信号通知,但其它编码方法也可能代替或作为附加,正如下面更详细地描述的那样。同样地,编码可以至少部分地是依赖于上下文的。例如,如果要被编码的数据集或数据组的长度是事先已知的,则它可以作为第一符号串码的前缀。至少部分地依赖于实施例的细节,最后的符号串的位置可以被确定而无需发送或存储相应于该特定的符号串的附加信息,同样如下面更详细地描述的那样。
而且,关于所有的或某些符号串的辅助信息或附加信息也可以被包括在数据码中。在一个特定实施例中,与特定的符号串有关的附加信息可以在相应的符号串码的结尾或否则与其相关联地被发送。替换地,附加信息可以在发送或存储符号串码后被发送或存储。更一般地,附加信息可以在任何时间或以任何方式被提供,以使得译码器能够把该信息与相应的符号串相关联。例如,要被使用的符号串的列表或表可以被预先确定或预定义。替换地或另外,例如,它可以至少部分基于在要压缩的数据中出现的符号串而被编制。
在特定的数据集或数据组的符号串码被存储或被发送后,可以使用结尾码(end code)。在数据集中存在的符号串——除最后的符号串外——的位置被存储或传送后,在至少某些实施例中,可以确定最后的符号串的位置。因此,编码器可以省略存储或传送这样的最后的符号串的位置,正如此后更详细地描述的那样。
同样地,由所请求保护的主题覆盖的实施例包括例如能够实施任何这样的方法的计算机程序,和/或能够实施这样的方法的计算机系统。实施例还包括能够实行如下面描述的方法的硬件和/或软件编码器,以及能够从代表数据的压缩的数据码重建原始的数据集或数据组的硬件和/或软件译码器。这些以及许多其它实施例将在所请求保护的主题的范围内。
在所描述的至少某些实施例中,压缩是无损的,虽然所请求保护的主题在范围上不限于这方面。例如,在某些实施例中,数据码可包括关于被包含在要被压缩的数据内的那些符号串的位置的信息。
在这个特定的情形中,要被压缩的相关数据的任何组、集或部分被视作字符或其它符号的有序序列。如果这样的数据代表例如文本,则各个符号可包括一个或多个文本字符,但当然这不是必须的。许多其它的符号也可以被表示。更一般地,符号可以由字节或其它大小的数据组来表示。也有可能使用较长的或短的数据部分,它可以或不一定适合于在例如字节或数字字长度内。如果数据以二进制形式表示,则符号可以取决于具体的实施例而被表示为单个比特或具有固定或可变长度的多个比特。
作为一个例子,诸如被存储为文件、记录或数据的其它单一联系之类的数据可以视作整体,或替代地被划分或分割成合适的长度,该长度对于符号组——在这里被称为符号串——足够长,使之可以以某个压缩效率被编码,但足够短到可以方便地处理。下面将更详细地描述各种方法。
初始地,例如在一个特定实施例中,建立可在数据集内出现的符号串的列表或表。加到这个列表的可以是至少部分基于关于数据的统计量的现有知识或信息的符号串的初始列表。为提供某些简单的例子,例如对于文本,通常的符号串可包括“ee”、诸如“and”或“or”之类经常出现的字、或后面跟随空白的标点符号。当然,所请求保护的主题在范围上不限于这些例子或这个特定实施例。许多可能的变化也将被包括在所请求保护的主题的范围内。
作为另一个例子,可以在编码开始之前检查特定的数据集,以识别经常出现的符号串。替换地或另外,如果进行划分,则这些划分例如可以通过使用符号串的初始列表而被分开地或独立地处理。例如,可以至少部分地基于可能已经在以前的数据划分中发现的符号串而确定该初始列表。
替换地,作为例子,符号串可能随着编码进行而增加,如同在Lempel-Ziv-Welsh编码中发生的那样。然而,在这个实施例例子中,如在下面描述的,编码符号串与在LZW编码中使用的方法非常不同。在LZW中,符号串通过用另一个较长的符号或串进行替换而被编码。为此,LZW有时不能压缩数据集,并且在某些情形下可产生较长的数据集。相反,根据所请求保护的主题的实施例很可能导致压缩,正如此后更详细地描述的那样。
为了压缩数据组或数据集,可以从可得到的符号串列表中选择第一符号串。该符号串在数据中的出现被定位。第一符号串在数据内的位置被记住。这个过程然后对于数据的另外的符号串重复进行,以便规定这个数据集或数据组。虽然顺序地从数据集或数据组的开始到结尾进行处理可以是一种方便的方法,但是包括符号串的数据可以以任何次序被处理。
典型地,编码可以通过硬件或软件编码器被实行。在一个可能的实施例中,编码器可被配置成在编码后将数据通过通信信道发送到译码器,译码器可被配置成实时地或以其它方式利用接收的编码数据来重建数据集。
再次地,所请求保护的主题在范围上不限于特定实施例。所以,以前或此后描述的实施例将仅仅作为例子用于说明。不同于这些具体例子的许多其它方法和/或实施例将被包括在所请求保护的主题的范围内。尽管如此,继续说明这些例子,现在参照图1。图1是根据所请求保护的主题的一个可能的实施例的示意图。
在图1的例子中,示出一行文本以代表数据集或数据组。同样地,符号串——这里是字母“x”——在本例中将被处理。当然,所请求保护的主题不限于这个示例性实施例或任何一个特定实施例。这个例子仅仅是用于解释性说明。许多其它可能的实施例将被包括在所请求保护的主题的范围内。
从在这里被称为“start”、在图1上标示为10的位置开始,文本数据110在本例中被顺序地搜索。当然,如以前提到的,所请求保护的主题不限于以上顺序搜索。但是,如果找到所选符号串——这里还是“x”——的出现,则记住关于该出现的信息,在本例中诸如其位置。在所示的例子中,串“x”的第一次出现出现在开始位置10后的第5位置,如用标号20表示的。符号串“x”再次出现在开始后的第9位置,或从前一次出现向后四个位置,如用标号30表示的。
继续进行该例子,“x”再次在前一次出现的五个位置后出现,如用标号40示出的。随后的位置间隔是3,2,2,如分别用标号50,60,70示出的。
一旦文本数据110被这样地完全分析到“结尾”位置,即这里的100,则通过存储或发送码而生成表示在该部分数据集中的位置的该码。在这个特定实施例中,实际上,不出现“x”的位置被存储或被通知。在该情形中,这被称为行程长度编码。这里,不包含x的位置的“行程”被编码。
在图1的简单的示例性实施例中,数据包括一行文本,符号串包括一个字母。在所请求保护的主题的范围内的该例子的变形中,可以寻找更长的和/或更复杂的符号串的出现。正如下面更详细地描述的,这些可包括具有固定的预定义形式的符号串,或替换地,例如可包括诸如在形式、长度和/或组成上具有灵活性的符号串。灵活性的程度可以预定义,或者可以某种程度上至少部分根据数据的某个或某些特征而计算。下面给出某些另外的示例性符号串。
·任何字母、符号、或字符a,诸如“x”。原则上这可包括单个符号位置。
·任何双字符a1a2,诸如“st”。
·任何组合a1a2a3,诸如“str”。
·任何更长的组合a1a2a3...am,诸如“st_ _ng”,其中下划线代表单个符号位置。
第一符号串的位置被确定后,可以确定在可能的或已知的符号串列表中的第二符号串的位置。通常,数据组可以这种方式被编码。对于某些实施例,随着编码进行,编码器可以把关于已被定位的符号串的信息——诸如一个或多个位置——实时地发送到译码器。替换地,编码的数据可以在本地被存储为压缩表示。
示例性实施例可以用伪码表示如下:
对于S=符号串
指示S在数据集中的位置
结束
作为另一个例子,考虑8个符号串S1到S8的短序列S。为了说明起见,符号串在这里包括文本片段,但是所请求保护的主题在范围上不限于这方面。这样的片段是短的,而且符号串可能完全不包括文本,但仍旧在所请求保护的主题的范围内。在本例中,在两个字之间的空格也包括符号串,如下面所示:
S:                    “测试”
S1    S2    S3    S4    S5    S6    S7    S8
t     h     e     空格  t     e     s     t
在本例中,符号串的位置可以通过任何方便的方法来指示。用来传送或发送位置的方便的方法是表示为简单数字。以某个次序估计关于数据集的符号串组。为了说明起见,作为例子,假设符号串在这里具有次序‘e’‘t’‘s’‘h’‘space(空格)’,但是所请求保护的主题在范围上当然不限于这个例子或任何特定例子。但是,对于这个例子,以下的符号串可被如下地传送或存储:
3 6      1 5 8    7        2        4
扫描e    扫描t    扫描s    扫描h    扫描空格
上面,3和6指示符号串‘e’的位置;1、5和8指示符号串‘t’的位置;等等。
对于这个特定实施例,期望一种技术,以指示对于特定符号串没有另外的信息被传送或存储。一种实现方法可以是定义一个用于组结尾的专门的符号(EOG)。对于这个示例性实施例,这可以给出:
3 6 EOG      1 5 8 EOG     7 EOG      2 EOG       4 EOG
扫描e        扫描t         扫描s      扫描h       扫描空格
然而,可能期望更有效的编码。例如,对于8个位置,通过传统的编码方法可以采用每个符号串3比特来传送,这与传送EOG非常不同。
为了提高压缩效率,我们可以把行程长度编码(RLC)应用到接连的符号串的位置。可以使用任何形式或类型的编码来编码行程长度,并且所请求保护的主题不限于特定的形式或类型。例如,可以采用Golomb编码器或二进制算术编码器来提供几个例子。这些编码器例如可用来编码一连串0和1,指示在数据组中符号串不出现和出现(或反之亦然)的一个或多个位置。当然,这些仅仅是例子,并且所请求保护的主题在范围上不限于这样的例子。编码行程长度的许多其它可能的方法是可以想到的并且被包括在所请求保护的主题的范围内。
但是,继续进行这个例子,在这样的实施例中,符号串的位置可以被行程长度编码。在这种情形下,例如,代替编码3后跟随6来表示符号串‘e’的位置,可以编码2来表明在‘e’第一次出现之前跳过两个位置,2表明从位置3又跳过两个位置到达位置6,等等:
2 2 EOG     0 3 2EOG      6 EOG      1 EOG      3 EOG
扫描e       扫描t         扫描s      扫描h      扫描空格
这通过引入7个符号——除了EOG以外还有0、1、2、3、4和6——而提供压缩,这是比9个符号——1到8加上EOG——更小的编码集。
然而,压缩可以通过类似于“重要性切换(significance switching)”的方法而被进一步改进。更具体地,这里,对于每个被编码的接连的符号串,随着越来越多的符号串变成由位置确定,要被编码的位置变得更少。这个关于位置的附加信息可用来提供附加压缩。
在本例中,例如随着符号串‘e’的位置变成已知的,这些位置在作为用于以后的符号串的可能位置时可被省略。实际上,为了编码,是编码多少个要跳过的未知的位置,而不是编码要跳过的全部位置,由此提供附加压缩。在本例中,没有行程长度编码时是:
0010 0100    10x0 1x01    x0x0 xx1x    x1xo xxxx    xxx1 xxxx
扫描e        扫描t        扫描s        扫描h        扫描空格
这里的符号x表示已经知道从而不必通知的位置。“0”和“1”的总数目从40减小到20,并且作为行程长度码被进一步减小:
2 2 EOG    0 2 1 EOG    2 EOG    0 EOG    0 EOG
扫描e      扫描t        扫描s    扫描h    扫描空格
在这个特定实施例中,所使用的不同的符号的数目被进一步减小到0、1、2和EOG。为了规定‘e’的位置,RLC是相同的,因为事先不知道位置。然而,在编码‘t’时,包含‘e’的位置可被省略,因为它们已经被占用,所以不必计入用于编码和/或译码的RLC中。
而且,一旦编码器到达要被编码的最后的符号串,它的位置就可被确定而不用传送或编码任何附加信息。更具体地,在这个示例性实施例中,这个符号串占用先前没有通知或编码的位置。然而,这假设要被编码的数据集的长度是已知的。如果是的话,在遇到针对‘h’的EOG后,在本例中剩余的符号串隐含地是‘space’,过程可以终结而不用附加编码或传送。所以在给定的例子中,假设已知‘space’是最后的符号串,附加压缩可以如下地得到:
2 2 EOG     0 2 1 EOG     2 EOG     0 EOG
扫描e       扫描t         扫描s     扫描h    扫描空格
然而,如果数据集的长度和/或符号串的数目未知,在某些情形下也可能想要采用类似的方法。在例如被编码的数据集的长度是未知的情形下,可能有各种方法,并且所请求保护的主题在范围上不限于一种特定方法。例如,可以通过具有标准长度来处理。替换地,长度信息可以作为被编码的信息的前缀。然而,如果多个数据集被编码并且大多数具有相同的长度,从压缩观点来看,用长度作前缀是效率低的。同样地,继续这个想法,对于长数据通信,如果采用标准长度来再划分数据,则可以通过在小于标准长度的结尾处传送或编码数据集来处理偏离标准长度的变化。
一种方法可包括在编码之前提供数据组的总长度。如果有标准划分长度,则编码器和译码器可以确定有多少个划分,以及最后的划分的长度,如果它小于标准长度的话。例如,如果102个符号串长度的数据集被编码,划分的标准长度是5,则存在21个划分,其中最后的一个长度为2。再次地,如前所述,总长度可以以许多方式被包括在数据码中,并且所给出的例子将不是限制性的。所请求保护的主题将包括这些示例性方法以及其它可能的方法。
同样地,对于处理符号串,也有几个方法是可能的。例如,如前所述,可以采用符号串的预定的次序。然而,替换地,符号串可以相对于它们的出现频率被排序,如果出现频率已知或能够被确定或近似的话。例如,仅仅作为例子,使用英文时,可以是以下的次序:‘e’‘t’‘a’‘o’‘i’‘n’‘s’‘h’等等。“空格”可以以它的统计量在样本中表示的这样的次序被包括。另外,可以有不出现的符号串,它可以形成要通知的空组。通过这样的方法,编码器和译码器都知道符号串的次序。因此,例如,如果译码器接收到EOG,它就能够确定下一个适当的符号串。
另一种方法可以用例如符号串明确作为数据集的前缀。同样地,符号串替换地可以作为后缀或否则被嵌入,这样,译码器可以根据编码的数据进行适当的确定。同样有可能,系统可以采用两种模式,一种模式中符号串的预定的次序被传送,另一种模式中符号串作为前缀或被嵌入。这些模式可以以任何次序出现,并且在一个例子中,可以通过用于该目的的专门的符号串来指示模式切换。
在再一个可能的实施例中,编码器和译码器可以采用从已接收的符号串构建新的符号串的方法。这种灵活度可允许编码器选择或改变符号串和通信的模式,以改进压缩。例如,可能是这样的情形,其中不是所有的预定的符号串都被使用,以避免通过重复EOG符号而通知大量空组,例如可以有新的符号串,其通知不再有组,这实际上意味着数据集的结尾或数据的结尾。
在许多情形下,辅助信息可以伴随数据组。例如,在文本的情形下,字体、大小、深浅、颜色和/或样式可包括这样的辅助信息。这可以以许多方式被传送或存储。例如,辅助信息可以嵌入行程长度,或被插入到编码的数据的任何位置,这样,译码器可以适当地把它与符号串相关联。在一个实施例中,可能希望处理辅助信息使之与符号串组合作为符号串本身,因而形成附加组。例如,作为一个简单的例子,斜体‘e’可以形成与正常的‘e’分开的符号串。同样地,在一个实施例中,如果期望的话,可利用专门的符号来在不同的嵌入样式或方法之间切换。
根据所请求保护的主题的实施例可被应用到所有类型的数据的编码,包括非数字数据,诸如例如在进行编码之前通过任何方便的映射而被转换成数字形式的符号数据。正如指出的,实施例对于行程长度编码执行得很好,但是当然要理解所请求保护的主题不限于这种应用。意图将所请求保护的主题的实施例应用到多种不同类型的数据编码中的任一项。所以,所请求保护的主题将不在可用于的数据类型方面被限制。
当然,将会看到,虽然已描述了特定的实施例,但所请求保护的主题在范围上不限于特定的实施例或实施方案。例如,一个实施例可以是硬件形式,诸如被实现为在设备上或在多个设备的组合上运行,而另一个实施例可以是软件形式。同样地,实施例可以以固件实现,或例如作为硬件、软件和/或固件的组合而实现。同样地,虽然所请求保护的主题在范围上不限于这方面,但一个实施例可包括一个或多个物品,诸如存储介质或存储媒体。该存储介质——诸如一个或多个CD-ROM和/或盘——可以在其上存储指令,它如果被诸如计算机系统、计算平台或其它系统那样的系统执行,可以导致根据所请求保护的主题的方法的实施例——诸如之前描述的实施例之一——被执行。作为一个可能的例子,计算平台可包括一个或多个处理单元或处理器、一个或多个诸如显示器、键盘和/或鼠标之类的输入/输出设备,和/或一个或多个存储器,诸如静态随机存取存储器、动态随机存取存储器、快闪存储器和/或硬盘驱动器。
在前述的说明中,描述了所请求保护的主题的各方面。出于解释的目的,特定的数目、系统和/或配置被阐述以提供对所请求保护的主题的透彻了解。然而,从本公开内容获益的本领域技术人员应当看到,所请求保护的主题可以无需特定的细节而被实践。在其它实例中,公知的特征被省略和/或被简化,以免使所请求保护的主题模糊。虽然这里已经说明和/或描述了某些特征,现在对本领域技术人员而言可以有许多修改、替换、改变和/或等价物。所以,应当理解,所附权利要求意图覆盖在所请求保护的主题的实质精神内的所有的这样的修改和/或改变。

Claims (40)

1.一种压缩相关数据组的方法,包括:
(a)选择在要被压缩的数据内出现的符号串,并生成指示符号串在要被压缩的数据组内的一个或多个位置的符号串码;
(b)对于在组内出现的另外的符号串,接连地重复(a);以及
(c)把各个符号串码组合成压缩数据码。
2.如权利要求1所述的方法,其中对于特定的符号串码,特定的符号串的一个或多个位置被行程长度编码。
3.如权利要求2所述的方法,其中编码包括Golomb编码。
4.如权利要求2所述的方法,其中编码包括算术编码。
5.如权利要求2所述的方法,其中编码包括适应性编码。
6.如权利要求1所述的方法,其中符号串码包括与其有关的符号串的表示。
7.如权利要求1所述的方法,其中符号串以预定的次序被编码。
8.如权利要求1所述的方法,其中符号串码通过通信信道被存储或被发送。
9.如权利要求8所述的方法,其中在可选择的第一模式中,符号串码包括与其有关的符号串的表示,并且其中,在可选择的第二模式中,符号串以预定的次序被编码。
10.如权利要求1所述的方法,其中符号串码以组结尾符号结束。
11.如权利要求1所述的方法,其中对于包括符号或串的重复的符号串,对应的符号串码包括指示所述符号或串的出现的行程的数据。
12.如权利要求1所述的方法,其中除了位置信息以外,符号串码还包括关于对应的符号串的附加信息。
13.如权利要求1所述的方法,其中数据组的长度被包括在数据码内。
14.一种物品,包括:其上存储指令的存储介质,所述指令如果被执行,则导致如下的压缩相关数据组的方法的执行:
(a)选择在要被压缩的数据内出现的符号串,并生成指示符号串在要被压缩的数据组内的一个或多个位置的符号串码;
(b)对于在组内出现的另外的符号串,接连地重复(a);以及
(c)把各个符号串码组合成压缩数据码。
15.如权利要求14所述的物品,其中所述指令如果被执行,还导致对于特定的符号串码,特定的符号串的一个或多个位置被行程长度编码。
16.如权利要求15所述的物品,其中编码包括Golomb编码。
17.如权利要求15所述的物品,其中编码包括算术编码。
18.如权利要求15所述的物品,其中编码包括适应性编码。
19.如权利要求14所述的物品,其中所述指令如果被执行,还导致符号串码包括与其有关的符号串的表示。
20.如权利要求14所述的物品,其中所述指令如果被执行,还导致符号串以预定的次序被编码。
21.如权利要求14所述的物品,其中所述指令如果被执行,还导致符号串码通过通信信道被存储或被发送。
22.如权利要求21所述的物品,其中所述指令如果被执行,还导致在可选择的第一模式中,符号串码包括与其有关的符号串的表示,以及其中,在可选择的第二模式中,符号串以预定的次序被编码。
23.如权利要求14所述的物品,其中所述指令如果被执行,还导致符号串码以组结尾符号结束。
24.如权利要求14所述的物品,其中所述指令如果被执行,还导致对于包括符号或串的重复的符号串,对应的符号串码包括指示所述符号或串的出现的行程的数据。
25.如权利要求14所述的物品,其中所述指令如果被执行,还导致除了位置信息以外,符号串码还包括关于对应的符号串的附加信息。
26.如权利要求14所述的物品,其中所述指令如果被执行,还导致数据组的长度被包括在数据码内。
27.一种设备,包括:
(a)用于选择在要被压缩的数据内出现的符号串,并生成指示符号串在要被压缩的数据组内的一个或多个位置的符号串码的装置;
(b)用于对于在组内出现的另外的符号串,接连地重复(a)的装置;以及
(c)用于把各个符号串码组合成压缩数据码的装置。
28.如权利要求27的设备,还包括:用于行程长度编码特定的符号串的一个或多个位置的装置。
29.如权利要求28所述的设备,其中所述用于行程长度编码的装置包括用于Golomb编码的装置。
30.如权利要求28所述的设备,其中所述用于行程长度编码的装置包括用于算术编码的装置。
31.如权利要求28所述的设备,其中所述用于行程长度编码的装置包括用于适应性编码的装置。
32.如权利要求27所述的设备,还包括:用于以预定的次序编码的装置。
33.如权利要求27所述的设备,还包括:用于通过通信信道存储或发送一个或多个数据码的装置。
34.一种设备,包括:计算平台;所述计算平台适用于:选择在要被压缩的数据内出现的符号串,并生成指示符号串在要被压缩的数据组内的一个或多个位置的符号串码;对于在组内出现的另外的符号串,接连地重复选择和生成;以及把各个符号串码组合成压缩数据码。
35.如权利要求34所述的设备,其中所述计算平台还适用于行程长度编码特定的符号串的一个或多个位置。
36.如权利要求35所述的设备,其中所述行程长度编码包括Golomb编码。
37.如权利要求35所述的设备,其中所述行程长度编码包括算术编码。
38.如权利要求28所述的设备,其中所述行程长度编码包括适应性编码。
39.如权利要求27所述的设备,其中所述计算平台还适用于以预定的次序编码。
40.如权利要求27所述的设备,其中所述计算平台还适用于通过通信信道存储或发送一个或多个数据码。
CNA2007800231292A 2006-06-19 2007-06-18 数据压缩 Pending CN101496288A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710080667.0A CN107094021A (zh) 2006-06-19 2007-06-18 数据压缩

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/425,137 US7770091B2 (en) 2006-06-19 2006-06-19 Data compression for use in communication systems
US11/425,137 2006-06-19

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201710080667.0A Division CN107094021A (zh) 2006-06-19 2007-06-18 数据压缩

Publications (1)

Publication Number Publication Date
CN101496288A true CN101496288A (zh) 2009-07-29

Family

ID=38610564

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201710080667.0A Pending CN107094021A (zh) 2006-06-19 2007-06-18 数据压缩
CNA2007800231292A Pending CN101496288A (zh) 2006-06-19 2007-06-18 数据压缩

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201710080667.0A Pending CN107094021A (zh) 2006-06-19 2007-06-18 数据压缩

Country Status (6)

Country Link
US (1) US7770091B2 (zh)
EP (1) EP2047604A1 (zh)
JP (1) JP5498783B2 (zh)
KR (1) KR101092106B1 (zh)
CN (2) CN107094021A (zh)
WO (1) WO2007149358A1 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070271250A1 (en) * 2005-10-19 2007-11-22 Monro Donald M Basis selection for coding and decoding of data
US8674855B2 (en) * 2006-01-13 2014-03-18 Essex Pa, L.L.C. Identification of text
US7783079B2 (en) * 2006-04-07 2010-08-24 Monro Donald M Motion assisted data enhancement
US7586424B2 (en) * 2006-06-05 2009-09-08 Donald Martin Monro Data coding using an exponent and a residual
US7770091B2 (en) 2006-06-19 2010-08-03 Monro Donald M Data compression for use in communication systems
US7845571B2 (en) 2006-06-19 2010-12-07 Monro Donald M Data compression
US20070290899A1 (en) * 2006-06-19 2007-12-20 Donald Martin Monro Data coding
US7689049B2 (en) * 2006-08-31 2010-03-30 Donald Martin Monro Matching pursuits coding of data
US7508325B2 (en) * 2006-09-06 2009-03-24 Intellectual Ventures Holding 35 Llc Matching pursuits subband coding of data
US20080084924A1 (en) * 2006-10-05 2008-04-10 Donald Martin Monro Matching pursuits basis selection design
US7974488B2 (en) 2006-10-05 2011-07-05 Intellectual Ventures Holding 35 Llc Matching pursuits basis selection
US7707213B2 (en) * 2007-02-21 2010-04-27 Donald Martin Monro Hierarchical update scheme for extremum location
US7707214B2 (en) * 2007-02-21 2010-04-27 Donald Martin Monro Hierarchical update scheme for extremum location with indirect addressing
US20080205505A1 (en) * 2007-02-22 2008-08-28 Donald Martin Monro Video coding with motion vectors determined by decoder
US10194175B2 (en) 2007-02-23 2019-01-29 Xylon Llc Video coding with embedded motion
US7786903B2 (en) * 2008-10-06 2010-08-31 Donald Martin Monro Combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems
US7791513B2 (en) 2008-10-06 2010-09-07 Donald Martin Monro Adaptive combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems
US7864086B2 (en) * 2008-10-06 2011-01-04 Donald Martin Monro Mode switched adaptive combinatorial coding/decoding for electrical computers and digital data processing systems
US7786907B2 (en) * 2008-10-06 2010-08-31 Donald Martin Monro Combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems
JP5549402B2 (ja) * 2010-06-15 2014-07-16 富士通株式会社 データ圧縮プログラムおよび方法,ならびにデータ復元プログラムおよび方法
US8456333B1 (en) 2010-10-22 2013-06-04 Smith Micro Software, Inc. Advanced solid block splitting for lossless data compression
US9286643B2 (en) 2011-03-01 2016-03-15 Applaud, Llc Personalized memory compilation for members of a group and collaborative method to build a memory compilation
EP2595076B1 (en) 2011-11-18 2019-05-15 Tata Consultancy Services Limited Compression of genomic data

Family Cites Families (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5411614A (en) * 1977-06-27 1979-01-27 Nec Corp Code conversion unit for digital signal
US4168513A (en) * 1977-09-12 1979-09-18 Xerox Corporation Regenerative decoding of binary data using minimum redundancy codes
US4908873A (en) * 1983-05-13 1990-03-13 Philibert Alex C Document reproduction security system
US4558302A (en) * 1983-06-20 1985-12-10 Sperry Corporation High speed data compression and decompression apparatus and method
JPS6097435A (ja) * 1983-11-02 1985-05-31 Hitachi Ltd 演算処理装置
JPH0797752B2 (ja) * 1985-09-13 1995-10-18 日本電信電話株式会社 符号化方法
DE69123660T2 (de) * 1990-08-13 1997-04-17 Fujitsu Ltd Datenkompressionsmethode und Gerät
US5218435A (en) * 1991-02-20 1993-06-08 Massachusetts Institute Of Technology Digital advanced television systems
US5315670A (en) * 1991-11-12 1994-05-24 General Electric Company Digital data compression system including zerotree coefficient coding
US5321776A (en) * 1992-02-26 1994-06-14 General Electric Company Data compression system including successive approximation quantizer
GB9204360D0 (en) * 1992-02-28 1992-04-08 Monro Donald M Fractal coding of data
JPH06141301A (ja) 1992-10-27 1994-05-20 Victor Co Of Japan Ltd 画像情報圧縮装置、伸長装置及び圧縮伸長装置
US5412741A (en) * 1993-01-22 1995-05-02 David Sarnoff Research Center, Inc. Apparatus and method for compressing information
US6086706A (en) * 1993-12-20 2000-07-11 Lucent Technologies Inc. Document copying deterrent method
US5564045A (en) * 1994-07-28 1996-10-08 Motorola, Inc. Method and apparatus for string searching in a linked list data structure using a termination node at the end of the linked list
GB2293733B (en) 1994-09-20 1997-10-22 Ricoh Kk Encoder including an embedded coder for performing bit-significance encoding
US5748786A (en) * 1994-09-21 1998-05-05 Ricoh Company, Ltd. Apparatus for compression using reversible embedded wavelets
US5635932A (en) * 1994-10-17 1997-06-03 Fujitsu Limited Lempel-ziv compression with expulsion of dictionary buffer matches
US6208744B1 (en) * 1994-12-14 2001-03-27 Casio Computer Co., Ltd. Document image processor and method for setting a document format conforming to a document image
US5754704A (en) * 1995-03-10 1998-05-19 Interated Systems, Inc. Method and apparatus for compressing and decompressing three-dimensional digital data using fractal transform
US5819017A (en) * 1995-08-22 1998-10-06 Silicon Graphics, Inc. Apparatus and method for selectively storing depth information of a 3-D image
US5873076A (en) * 1995-09-15 1999-02-16 Infonautics Corporation Architecture for processing search queries, retrieving documents identified thereby, and method for using same
US5699121A (en) * 1995-09-21 1997-12-16 Regents Of The University Of California Method and apparatus for compression of low bit rate video signals
US6160846A (en) 1995-10-25 2000-12-12 Sarnoff Corporation Apparatus and method for optimizing the rate control in a coding system
US6078619A (en) * 1996-09-12 2000-06-20 University Of Bath Object-oriented video system
WO1998011730A1 (en) 1996-09-12 1998-03-19 Btg International Limited Object-oriented video system
JPH10117353A (ja) 1996-10-09 1998-05-06 Nec Corp データ処理装置および受信装置
EP0958543A1 (en) * 1997-02-04 1999-11-24 BRITISH TELECOMMUNICATIONS public limited company Processor
JP4412622B2 (ja) * 1997-02-05 2010-02-10 コニカミノルタビジネステクノロジーズ株式会社 カラー複写機
GB9703441D0 (en) * 1997-02-19 1997-04-09 British Tech Group Progressive block-based coding for image compression
EP0976070A1 (en) * 1997-04-17 2000-02-02 Glaxo Group Limited Statistical deconvoluting of mixtures
US6029167A (en) * 1997-07-25 2000-02-22 Claritech Corporation Method and apparatus for retrieving text using document signatures
US5956429A (en) 1997-07-31 1999-09-21 Sony Corporation Image data compression and decompression using both a fixed length code field and a variable length code field to allow partial reconstruction
GB9716579D0 (en) 1997-08-05 1997-10-08 Univ Bath Signal coding and decoding
US5956439A (en) * 1997-09-22 1999-09-21 Lucent Technologies Inc. Optical switching apparatus for use in the construction mode testing of fibers in an optical cable
US6489902B2 (en) * 1997-12-02 2002-12-03 Hughes Electronics Corporation Data compression for use with a communications channel
US6125348A (en) * 1998-03-12 2000-09-26 Liquid Audio Inc. Lossless data compression with low complexity
US6661839B1 (en) * 1998-03-24 2003-12-09 Advantest Corporation Method and device for compressing and expanding data pattern
US6037883A (en) * 1998-05-07 2000-03-14 Microsoft Corporation Efficient memory usage for two-pass compression
JP3541930B2 (ja) * 1998-08-13 2004-07-14 富士通株式会社 符号化装置及び復号化装置
US6408300B1 (en) * 1999-07-23 2002-06-18 International Business Machines Corporation Multidimensional indexing structure for use with linear optimization queries
GB9920256D0 (en) 1999-08-26 1999-10-27 Wave Limited M Motion estimation and compensation in video compression
US6480547B1 (en) * 1999-10-15 2002-11-12 Koninklijke Philips Electronics N.V. System and method for encoding and decoding the residual signal for fine granular scalable video
JP2003518883A (ja) * 1999-12-28 2003-06-10 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ マッチング追跡アルゴリズムに基づくビデオ符号化方法
GB0004423D0 (en) 2000-02-24 2000-04-12 Wave Limited M Video and audio coding
US6654503B1 (en) 2000-04-28 2003-11-25 Sun Microsystems, Inc. Block-based, adaptive, lossless image coder
GB0019121D0 (en) * 2000-08-03 2000-09-27 Wave Limited M Signal compression and decompression
GB0021891D0 (en) * 2000-09-06 2000-10-25 Wave Ltd M Adaptive video delivery
US6985965B2 (en) * 2000-11-16 2006-01-10 Telefonaktiebolaget Lm Ericsson (Publ) Static information knowledge used with binary compression methods
GB0108080D0 (en) * 2001-03-30 2001-05-23 Univ Bath Audio compression
US7003039B2 (en) * 2001-07-18 2006-02-21 Avideh Zakhor Dictionary generation method for video and image compression
US6707400B2 (en) * 2001-08-02 2004-03-16 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for fast longest match search
DE10140993A1 (de) * 2001-08-21 2003-03-20 Deutsche Telekom Ag Verfahren zur Kompression von Daten
US7006567B2 (en) * 2001-11-30 2006-02-28 International Business Machines Corporation System and method for encoding three-dimensional signals using a matching pursuit algorithm
FR2833818B1 (fr) * 2001-12-21 2004-11-19 Oreal Dispositif comportant un boitier et un applicateur
US6847966B1 (en) 2002-04-24 2005-01-25 Engenium Corporation Method and system for optimally searching a document database using a representative semantic space
WO2004051863A1 (en) 2002-12-04 2004-06-17 Atop Innovation S.P.A. Automated method for lossless data compression and decompression of a binary string
JP4350414B2 (ja) * 2003-04-30 2009-10-21 キヤノン株式会社 情報処理装置及び情報処理方法ならびに記憶媒体、プログラム
JP4049792B2 (ja) * 2003-06-20 2008-02-20 日本電信電話株式会社 浮動小数点形式ディジタル信号可逆符号化方法、及び復号化方法と、その各装置、その各プログラム
GB0321954D0 (en) 2003-09-18 2003-10-22 Wave Ltd M Data compression
EP1545010A1 (en) 2003-12-18 2005-06-22 Deutsche Thomson-Brandt GmbH Method and device for transcoding N-bit words into M-bit words with M smaller N
US7079986B2 (en) * 2003-12-31 2006-07-18 Sieracki Jeffrey M Greedy adaptive signature discrimination system and method
GB2409943A (en) 2004-01-08 2005-07-13 Wave Ltd M Data compression using matching pursuits algorithms
GB0412175D0 (en) 2004-06-01 2004-06-30 Smart Sensors Ltd Identification of image characteristics
EP1610560A1 (en) 2004-06-24 2005-12-28 Deutsche Thomson-Brandt Gmbh Method and apparatus for generating and for decoding coded picture data
US7562021B2 (en) * 2005-07-15 2009-07-14 Microsoft Corporation Modification of codewords in dictionary used for efficient coding of digital media spectral data
US7848584B2 (en) * 2005-09-08 2010-12-07 Monro Donald M Reduced dimension wavelet matching pursuits coding and decoding
US8121848B2 (en) 2005-09-08 2012-02-21 Pan Pacific Plasma Llc Bases dictionary for low complexity matching pursuits data coding and decoding
US7813573B2 (en) 2005-09-08 2010-10-12 Monro Donald M Data coding and decoding with replicated matching pursuits
US20070065034A1 (en) 2005-09-08 2007-03-22 Monro Donald M Wavelet matching pursuits coding and decoding
US20070053603A1 (en) * 2005-09-08 2007-03-08 Monro Donald M Low complexity bases matching pursuits data coding and decoding
US20070271250A1 (en) * 2005-10-19 2007-11-22 Monro Donald M Basis selection for coding and decoding of data
JP4456554B2 (ja) * 2005-10-31 2010-04-28 富士通株式会社 データ圧縮方法及び圧縮データ送信方法
US8674855B2 (en) 2006-01-13 2014-03-18 Essex Pa, L.L.C. Identification of text
US7783079B2 (en) 2006-04-07 2010-08-24 Monro Donald M Motion assisted data enhancement
US7586424B2 (en) 2006-06-05 2009-09-08 Donald Martin Monro Data coding using an exponent and a residual
US7770091B2 (en) 2006-06-19 2010-08-03 Monro Donald M Data compression for use in communication systems
US7845571B2 (en) * 2006-06-19 2010-12-07 Monro Donald M Data compression
US20070290899A1 (en) 2006-06-19 2007-12-20 Donald Martin Monro Data coding
US7689049B2 (en) 2006-08-31 2010-03-30 Donald Martin Monro Matching pursuits coding of data
US7508325B2 (en) 2006-09-06 2009-03-24 Intellectual Ventures Holding 35 Llc Matching pursuits subband coding of data
US7974488B2 (en) * 2006-10-05 2011-07-05 Intellectual Ventures Holding 35 Llc Matching pursuits basis selection
US20080084924A1 (en) * 2006-10-05 2008-04-10 Donald Martin Monro Matching pursuits basis selection design

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MARK HOSANG: "A Character Elimination Algorithm for Lossless Data Compression", 《DATA COMPRESSION CONFERENCE》 *

Also Published As

Publication number Publication date
KR20090042233A (ko) 2009-04-29
EP2047604A1 (en) 2009-04-15
US20080005648A1 (en) 2008-01-03
CN107094021A (zh) 2017-08-25
US7770091B2 (en) 2010-08-03
KR101092106B1 (ko) 2011-12-12
WO2007149358A1 (en) 2007-12-27
JP5498783B2 (ja) 2014-05-21
JP2009542092A (ja) 2009-11-26

Similar Documents

Publication Publication Date Title
CN101496288A (zh) 数据压缩
CN101485095B (zh) 数据压缩
CN101501999B (zh) 数据编码
CN100417028C (zh) 执行霍夫曼解码的方法
KR20190117652A (ko) 압축된 게놈 서열 리드로부터 게놈 참조 서열의 복원 방법 및 시스템
EP1744461A2 (en) Data compression
US7872598B2 (en) Accelerated decompression
WO2011007956A4 (ko) 데이터의 압축방법
US7728740B2 (en) Data compression for communication between two or more components in a system
US7511639B2 (en) Data compression for communication between two or more components in a system
JP2010519806A5 (zh)
CN101843102A (zh) 数据序列压缩
CN110021369B (zh) 基因测序数据压缩解压方法、系统及计算机可读介质
JP2007043595A (ja) 可変長符号復号化方法および装置ならびにデータ伸長装置
JP5656593B2 (ja) 符号化データを復号する装置及び方法
EP0304608B1 (en) Multi-mode dynamic code assignment for data compression
CN103152054A (zh) 算术编码的方法和设备
US20100085219A1 (en) Combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems
CN110021368B (zh) 比对型基因测序数据压缩方法、系统及计算机可读介质
CA2398955C (en) Method for compressing data
JP2015534795A (ja) セキュアで損失のないデータ圧縮
KR100636370B1 (ko) 결정 비트를 이용한 부호화 장치 및 그 방법과 그에 따른복호화 장치 및 그 방법
CN101729076B (zh) 一种基于非完备码表解析码长的哈夫曼解码方法
RU153302U1 (ru) Кодирующее устройство
CN102932001A (zh) 运动捕获数据压缩、解压缩方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20090729

RJ01 Rejection of invention patent application after publication