CN101496288A - 数据压缩 - Google Patents
数据压缩 Download PDFInfo
- 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
Links
Images
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
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所述的设备,其中所述计算平台还适用于通过通信信道存储或发送一个或多个数据码。
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 |
---|---|---|---|
CNA2007800231292A Pending CN101496288A (zh) | 2006-06-19 | 2007-06-18 | 数据压缩 |
CN201710080667.0A Pending CN107094021A (zh) | 2006-06-19 | 2007-06-18 | 数据压缩 |
Family Applications After (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) | CN101496288A (zh) |
WO (1) | WO2007149358A1 (zh) |
Families Citing this family (23)
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 |
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 |
US7770091B2 (en) | 2006-06-19 | 2010-08-03 | Monro Donald M | Data compression for use in communication systems |
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 |
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 |
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 |
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 |
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)
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 | 日本電信電話株式会社 | 符号化方法 |
EP0471518B1 (en) * | 1990-08-13 | 1996-12-18 | Fujitsu Limited | Data compression method and apparatus |
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 |
US5748786A (en) | 1994-09-21 | 1998-05-05 | Ricoh Company, Ltd. | Apparatus for compression using reversible embedded wavelets |
GB2293734B (en) | 1994-09-20 | 1997-04-09 | Ricoh Kk | Method 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 |
WO1998011730A1 (en) | 1996-09-12 | 1998-03-19 | Btg International Limited | Object-oriented video system |
US6078619A (en) | 1996-09-12 | 2000-06-20 | University Of Bath | Object-oriented video system |
JPH10117353A (ja) | 1996-10-09 | 1998-05-06 | Nec Corp | データ処理装置および受信装置 |
AU5875098A (en) | 1997-02-04 | 1998-08-25 | 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 |
WO1998047087A1 (en) | 1997-04-17 | 1998-10-22 | Glaxo Group Ltd. | 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 |
AU2002368408A1 (en) | 2002-12-04 | 2004-06-23 | 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 | キヤノン株式会社 | 情報処理装置及び情報処理方法ならびに記憶媒体、プログラム |
US7230551B2 (en) | 2003-06-20 | 2007-06-12 | Nippon Telegraph And Telephone Corporation | Floating-point type digital signal reversible encoding method, decoding method, apparatuses therefor, and programs therefor |
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 |
US20070053603A1 (en) | 2005-09-08 | 2007-03-08 | Monro Donald M | Low complexity bases matching pursuits data coding and decoding |
US20070065034A1 (en) | 2005-09-08 | 2007-03-22 | Monro Donald M | Wavelet matching pursuits coding and decoding |
US7813573B2 (en) | 2005-09-08 | 2010-10-12 | Monro Donald M | Data coding and decoding with replicated matching pursuits |
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 |
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 |
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 |
-
2006
- 2006-06-19 US US11/425,137 patent/US7770091B2/en active Active
-
2007
- 2007-06-18 WO PCT/US2007/014138 patent/WO2007149358A1/en active Application Filing
- 2007-06-18 KR KR1020097000506A patent/KR101092106B1/ko active IP Right Grant
- 2007-06-18 JP JP2009516527A patent/JP5498783B2/ja active Active
- 2007-06-18 CN CNA2007800231292A patent/CN101496288A/zh active Pending
- 2007-06-18 EP EP07796190A patent/EP2047604A1/en not_active Ceased
- 2007-06-18 CN CN201710080667.0A patent/CN107094021A/zh active Pending
Non-Patent Citations (1)
Title |
---|
MARK HOSANG: "A Character Elimination Algorithm for Lossless Data Compression", 《DATA COMPRESSION CONFERENCE》 * |
Also Published As
Publication number | Publication date |
---|---|
JP2009542092A (ja) | 2009-11-26 |
US20080005648A1 (en) | 2008-01-03 |
EP2047604A1 (en) | 2009-04-15 |
KR20090042233A (ko) | 2009-04-29 |
WO2007149358A1 (en) | 2007-12-27 |
KR101092106B1 (ko) | 2011-12-12 |
CN107094021A (zh) | 2017-08-25 |
US7770091B2 (en) | 2010-08-03 |
JP5498783B2 (ja) | 2014-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101496288A (zh) | 数据压缩 | |
CN101485095B (zh) | 数据压缩 | |
KR100894002B1 (ko) | 선택적 압축과 복원 및 압축 데이터에 대한 데이터 포맷을위한 장치 및 방법 | |
CN101501999B (zh) | 数据编码 | |
CN100417028C (zh) | 执行霍夫曼解码的方法 | |
EP1744461A2 (en) | Data compression | |
WO2011007956A4 (ko) | 데이터의 압축방법 | |
US7511639B2 (en) | Data compression for communication between two or more components in a system | |
US20100141488A1 (en) | Accelerated decompression | |
WO1986000479A1 (en) | Data compression apparatus and method | |
JP2010519806A5 (zh) | ||
CN101843102A (zh) | 数据序列压缩 | |
CN1675842B (zh) | 算术编码的方法、设备以及相应解码方法 | |
JP2007043595A (ja) | 可変長符号復号化方法および装置ならびにデータ伸長装置 | |
EP0304608B1 (en) | Multi-mode dynamic code assignment for data compression | |
CN110021368B (zh) | 比对型基因测序数据压缩方法、系统及计算机可读介质 | |
US6748520B1 (en) | System and method for compressing and decompressing a binary code image | |
RU2386210C2 (ru) | Способ сжатия данных | |
JP5913748B2 (ja) | セキュアで損失のないデータ圧縮 | |
CA2398955C (en) | Method for compressing data | |
KR100636370B1 (ko) | 결정 비트를 이용한 부호화 장치 및 그 방법과 그에 따른복호화 장치 및 그 방법 | |
CN110111851B (zh) | 基因测序数据压缩方法、系统及计算机可读介质 | |
CN109698703B (zh) | 基因测序数据解压方法、系统及计算机可读介质 | |
KR100281321B1 (ko) | 적응적인 산술 부호화 및 그 복호화 방법 | |
CN101729076B (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 |