CN101501999A - 数据编码 - Google Patents

数据编码 Download PDF

Info

Publication number
CN101501999A
CN101501999A CNA2007800296314A CN200780029631A CN101501999A CN 101501999 A CN101501999 A CN 101501999A CN A2007800296314 A CNA2007800296314 A CN A2007800296314A CN 200780029631 A CN200780029631 A CN 200780029631A CN 101501999 A CN101501999 A CN 101501999A
Authority
CN
China
Prior art keywords
coding
symbol
probability
occurrence
length code
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
Application number
CNA2007800296314A
Other languages
English (en)
Other versions
CN101501999B (zh
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
Publication of CN101501999A publication Critical patent/CN101501999A/zh
Application granted granted Critical
Publication of CN101501999B publication Critical patent/CN101501999B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Dc Digital Transmission (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

根据一个实施例,简要描述了一种编码数据的方法。

Description

数据编码
技术领域
[01]本专利申请涉及数据编码。
背景技术
[02]如同众所周之的那样,用于存储或传输的有效数据编码依旧是人们探寻新方法的领域。例如,如果数据能更有效地被编码(诸如通过压缩),则可以减少用于存储待编码数据的存储器数量。同样地,在通信系统中,如果可以有效地对数据进行编码,例如对指定波段的通信信道,则潜在地可以在指定的时间单位中传输更多信息。这些目标和许多其它目标可能是有效数据编码方法的目的。
附图说明
[03]在说明书的结论部分特别清晰地指出了所要求保护的主题内容。然而,只有与附图一起阅读,才能通过参考下面详细的描述来最好地理解关于组织和操作方法的所要求保护的主题内容,以及其目的、特征和优点,图中:
图1是例示哈夫曼编码的实施例的图和表;以及
图2是例示诸如例如根据所要求保护的主题内容的数据编码的实施例的图和表。
具体实施方式
[04]在下面的详细描述中,提出了许多具体的细节以供彻底理解所要求保护的主题内容。然而,本领域普通技术人员应当理解,没有这些具体的细节也可实行所要求保护的主题内容。在其它例子中,为了突出所要求保护的主题内容,没有详细描述的众所周知的方法、过程、部件和/或电路。
[05]下面详细描述的一些部分以对存储在诸如计算机和/或计算系统存储器的计算系统中数据比特和/或二进制数字信号上的算法和/或运算的符号表示来表现。这些算法描述和/或表示是数据处理领域普通技术人员把他们工作的实质转达给本领域其它普通技术人员时所使用的技术。此处的算法通常被认为是导致所期望的结果的操作和/或类似处理的自相容的序列。操作和/或处理可涉及物理量的物理操纵。通常,尽管没有必要,这些量可采用能被存储、传输、组合、比较和/或其它操纵的电信号和/或磁信号形式。主要由于通用的原因,有时把这些信号称作比特、数据、值、元素、符号、字符、项、数、数字和/或类似名称是方便的。然而,应当理解,所有这些和类似的术语都与适当的物理量相关联并且仅是方便的标志而已。除非特别声明,否则就像下面的讨论所显而易见的,在该详细讨论中使用诸如“处理”、“计算”、“推算”、“确认”和/或其它的术语都涉及诸如计算机或类似电子计算装置的计算平台的动作和/或处理,该计算平台在其处理器、存储器、寄存器和/或其它信息存储、传输和/或显示装置中操纵和/或转换表示为物理的电学量和/或磁学量和/或其它物理量的数据。
[06]发现在运行期间有特别应用的为传输而编码数据的一种通用方式是通过可变长度编码器(Variable Length Coder,VLC)的方式。可变长度编码是减小存储或发送符号流的“成本,,而被广泛使用的方法。其通常应用于消息的可能符号的出现概率不相等的情况,这会在许多典型的应用中遇到。可变长度编码(VLC)对符号进行替换,其中使用短编码来替换频繁出现的符号并且使用更长的编码来替换不频繁的符号。以这种方式,可减小编码的平均长度。最好的已知通用VLC被称作哈夫曼编码(Huffman Code),但还有许多其它的编码器,包括范诺/香农编码(Fano/Shannon code)。哈夫曼编码的详细内容可在Huffman,D的“A method for the constructions of minimumredundancy codes”(Pro.Inst.Radio Eng.,1952,9,(40),pp 1098-1101)中找到。当然,所要求保护的主题内容的范围不限于哈夫曼编码。
[07]莫尔斯编码(Morse code)也是一种VLC,其使用短代码替换类似E的频繁出现的字母(一个点)并使用更长的代码替换类似Q的其它字母(长划线点点长划线)。另一个举例说明的是编码普通英文文本。通常,字母表的诸字母出现频率不同。E是最常见的符号,其后的次序是T A O I N S H R D L U。由于其不相等,例如,有效的二进制代码给E分配的比特将少于任何其它符号。
[08]尽管所要求保护的主题内容的范围不限于该方面,可能实施例的例子包括对以出现的期望概率分级的N个符号的符号系统进行编码的方法,其中N是正整数。这种方法实施例包括:定义阈值等级T,其中T是例如正整数;使用可变长度编码对具有比T更高等级的符号进行编码;以及仍然使用固定长度编码对等级为T或更低的符号进行编码,再次地,虽然这只是一个例子,所要求保护的主题内容的范围不限于该特定例子。当然,所要求保护的主题内容的范围不限于使用按照惯例是更高等级或更低等级的符号。所要求保护的主题内容意图包括关于有关更高等级或更低等级的惯例的全部实施例。因此,在一些实施例中,更高的等级可能表示更高的特定符号出现概率,而在其它实施例中,更高等级可能表示更低的特定符号出现概率。
[09]继续该示例性实施例,作为一个例子,例如,可使用诸如哈夫曼编码器的可变长度编码器(VLC)来对等级高于T的更普通的符号进行编码。还可使用固定长度编码对等级划分为T或更低等级的符号进行编码。
[10]因此,对此特定实施例,用于一组符号的编码可包括两部分:第一可变长度编码组,其被编码至足够独一无二使得其可以彼此区分开;和第二固定长度编码组部分,其具有若干比特以至少足够区分一组较高出现概率符号和一组较低出现概率符号,并且区分较低出现概率符号组中的编码。
[11]当然,应当注意到,所要求保护的主题内容不限于特定的实施例。因此,除了覆盖数据编码方法外,所要求保护的主题内容还意图覆盖,例如包括该方法的软件和编码器(无论以硬件或软件来实现)。所要求保护的主题内容还意图包括实现该方法的视频或音频编解码器和/或视频或音频压缩系统,由此,根据所描述的或所要求保护的方法可编码数据。例如,实施例可包括通过通信信道发送数据以用于远端的解码器重构。类似地,可替换地,在根据所要求保护的主题内容的另一实施例中,编码数据可被存储而不是传输。这样,所要求保护的主题内容意图还覆盖这些以及此后将更详细描述的其它实施例。
[12]现在参照图1,可通过定义编码树来确定或构建哈夫曼编码,其中符号的出现概率被指定为树上的叶子。图1例示了这种树的一个例子或实施例,尽管所要求保护的主题内容的范围不限于该例子或使用哈夫曼编码或哈夫曼树来构建诸如哈夫曼编码的编码。但是,为了举例说明的目的,继续使用该例子,为了形成诸如图1中的树100的树,待编码数据中出现的符号以其概率来分级。在该例子中,两个最低的概率被相加以形成一个新的概率并且指定二进制编码0和1来区分它们,作为从第一节点分裂出的两个分枝。它们的概率被相加并被分配给该节点。继续沿树的分枝进行概率的组合和区别二进制比特前缀的添加,直到到达最后两个概率(众所周知,加起来应当等于单位1)。
[13]使用尚未构建的树,通过定位含有特定的所期望的符号的树叶,并沿着诸分枝从该树叶向上遍历到根,沿途聚集(aggregate)区别二进制数字,可形成例如编码字。从而二进制数字的聚集形成了待使用的编码字。观察该过程的另一方式是当构建编码时,使二进制数字0和1作为前缀被添加到该编码,相应于在在向上到达根节点的沿途经过的特定节点的树的两个分枝。
[14]转向图1中所示的例子,例如,已经使用该简单的二叉树对八个符号进行“哈夫曼编码”。该树被称作二叉树是因为诸节点具有两个分枝。由树上的节点表示符号,使用节点左边的分枝表示0比特而右边的分枝表示1。
[15]再次地,如上面所间接提到的那样,为了产生用于特定符号的编码字,要找到含有所期望符号的树叶并沿着树朝根遍历,拾取(例如,添加为前缀)所遍历分枝的附加比特,直到到达根为止。为了解码,采取相反的路径,从根开始,跟随编码中连续比特指定的路径沿着树向下,直到到达树叶为止,在此可找到已经解码的符号。
[16]在该简单例子中,符号1到8表示将通过通信信道发送或存储的数据流中的实际符号。在该例子中,出现在数据流中的符号可根据其出现的概率来分级,使得例如最频繁出现的符号被分配到编码字1,第二频繁出现的符号被分配到编码字01等等,当然,这只是编码字的一种可能的分配方式,并且所要求保护的主题内容的范围不限于此或编码字的任何其它特定分配方式。
[17]如果符号出现的频率已知,则可在此基础上执行分级。如果这种频率是未知的,分级至少应当基于期望或预期的概率。类似地,至少部分地由于构建的对称性,构建树和形成代码时转置任何节点处的符号0和1的角色是等价的。
[18]类似地,随着编码的继续进行,相应于正在变化的概率,可“重建(rebuild)”树。例如,如果符号出现的等级次序改变,则可通过例如重建该树而构建更好的代码。如上所述,尽管通常以编码树的语言来描述哈夫曼编码,但通过二叉树的实现通常可能不如使用用于编译代码的概率表并且查表来实现有效率。此外,所获得的特定代码不必是唯一的,因为例如把比特分配到节点分叉处的分枝的分配可以被反向。此外,多于两个概率可能相等,可任意选择符号进行聚集(aggregate)。这样,对于概率的特定列表,若干不同的树可能等价,并且在一些实例中这些不同的树可能彼此有长有短。然而,尽管有这些可能的树的变化,在同一概率上组建的哈夫曼树的熵是相等的,且通常是VLC的可能的最小熵。
[19]就像在信息理论中众所周知的那样,根据每个字符所传输的比特,可计算任一编码器的所期望的传输“成本(cost)”。在N个符号的符号系统中,N是正整数,符号k的出现概率是p(k),编码符号k的理论成本是log2p(k),通过由其出现概率来加权符号的成本而获得的编码符号的平均成本B,称作符号源的熵,如下:
B = - Σ k = 1 N p ( k ) log 2 p ( k ) 比特
[20]例如,一个简单的编码器可能分配k比特以传送符号k。这是可变长度编码(VLC)的一个例子,其可能包括或可能不包括哈夫曼编码。在该例子中,通过该特定编码发送消息的理论成本为
B = - Σ k = 1 N kp ( k )
此外,如果符号k的概率正好是1/2k,则log2p(k)=-k,并且在这种特定情况下的编码正好达到理论成本。类似地,如果符号k具有概率1/2k,则所生成的编码是上面例子中描述的哈夫曼编码,如图1所例示。
[21]通常,哈夫曼编码的熵是可使用的任意VLC的最低的熵,虽然其不会总达到理论成本;这种情况发生在符号k的概率为1/2k时,就像上面引用的情况那样。其也不必然是所有编码中最有效率的编码。例如,哥伦布编码(Golomb code)也非常简单,但却不是VLC,如下面的例子所示,哥伦布编码有时更有效率。另一家族的编码方法,此处称作算术编码,能趋近理论成本,并且因此可能比哈夫曼编码更有效率,尽管要实现该目标,这些编码可能是复杂的和具有挑战性的。
[22]关于哈夫曼编码的一个缺陷是大的符号系统中不常见的符号的编码可能较长。有时,短消息中出现这种符号可能是破坏性的。例如,在相对高压缩比率的图像压缩中,用于编码图像块的一些符号的哈夫曼编码可能大于该块的“预算(budget)”,产生该块不能被编码的情况,或者其中来自该图像其它部分的比特被分配给该特定块,从而影响从其中分配这些比特的图像部分的图像质量。类似地,实际上(尤其如果是适应性的),可以由根据符号源中出现的数据而估计的概率来构建树。换句话说,概率是估计的,所以至少部分地由于估计中的潜在误差,使得忽视了构建短代码的机会。
[23]根据所要求保护的主题内容的实施例可至少部分地处理一些前述技术问题,同时还允许编码是适应性的和/或有效率的。例如,在一个具体实施例中,至少部分地基于特定概率,一定数量的不频繁出现的符号可能不被VLC编码并且相反地,可能使用相同数量的比特。虽然没有要求,经常期望该数量是2的幂。
[24]例如,假设N个符号按照诸如概率的降序排列,并且具有位于范围1到N的阈值T,使用VLC编码符号1到T-1。在该例子中,可通过固定长度编码对编号从T到N的剩余N-T+1个符号进行编码,该固定编码的长度足够编码剩余的符号,但是由于其是固定的,所以不会像可能使用的最长的VLC那样长。其组合了比特序列,例如一个代码,来表示该特定符号不在范围1到T-1中。这样,该方法减小了上面提到的有关哈夫曼编码的潜在破坏。
[25]下面提供的例子涉及哈夫曼编码器,其中已知其是最优选的,意味着在该上下文中,平均而言实际编码将达到理论熵。在该例子中,8个符号的概率被分配为1/2,1/4,...使得符号流的理论熵为每个符号1.9844比特。在这种情况下的哈夫曼编码器正好平均达到该值。
[26]然而,图2所示的示例性实施例中,使用T=5的阈值。这样,如上对该实施例所解释的那样,在该特定例子中,通过对特殊初始代码添加两个比特的后缀(这里是0000)来对最后四个符号编码。该初始编码以信令通知解码器这些符号未用VLC编码。当然,应当理解,特殊前缀编码可能包括便于信令通知目的的任何事物,只要其对解码器区分固定长度编码和可能使用的可能的VLC编码不产生含糊即可。
[27]图2的上部示出了表示该特定编码方案的树结构;当然,这仅是例示性例子并且所要求保护的主题内容范围不限于该特定例子。无论如何,如图所示,在该例子中,符号1至4像以前那样通过VLC编码,但是符号5至8从同一节点发出。再次如图所示,到该节点的链接或分枝可被认为表示确定最后符号(即00、01、10和11)的固定长度双比特编码。像以前那样,为了给特定符号产生编码字,在树上从根遍历到达表示该符号的树叶节点。
[28]在所示的例子中,编码0000出现于树的结构中。因此,编码的初始部分0000可被解读为指示在树上从根沿着0链接向下遍历四级。然后可沿适当的剩余链接或分枝(即00、01、10或11)到达所期望的树叶。
[29]更普遍地,分级为T或更低的、表示低出现概率的符号编码字的初始部分表示树的一些链接,沿着这些链接遍历而到达一个最终节点,从该最终节点分叉出与相对低频率符号相关的树叶。在另一实施例(未示出)中,例如,低频率符号可能从图2中标识为4的节点分叉,其中固定长度编码字的初始部分可包括0001而非0000。
[30]当然,这种编码的准确形式可以改变。然而,期望解码器能识别诸如表示后面跟随的是固定长度编码的特殊编码。此外,在一个实现中,相对于树遍历方法,查找表可提供方便和其它潜在优点,尽管到底哪个更好取决于各种不同因素,这些因素至少部分地包括具体应用或情况。
[31]回想起在该例子中,符号概率是:1/2、1/4等,可构建下面的表格来比较该示例性实施例中每个符号使用的平均比特数和图1的哈夫曼编码中每个符号使用的平均比特数:
 
符号 概率 编码 总比特数 平均比特数 哈夫曼编码 哈夫曼编码的平均比特数
1 1/2 1 1 1/2 1 1/2
2 1/4 01 2 2/4 01 2/4
3 1/8 001 3 3/8 001 3/8
4 1/16 0001 4 4/16 0001 4/16
5 1/32 000000 6 6/32 00001 5/32
6 1/64 000001 6 6/64 000001 6/64
7 1/128 000010 6 6/128 0000001 7/128
8 1/256 000011 6 6/256 0000000 7/256
注意到此处的示例性实施例对符号5的效率较低,但是对符号7和8的效率更高。这最后两个不经常出现。总的来说,作为结果,该示例性实施例的效率低于可用于此处的哈夫曼编码,但只是稍微低一点。
[32]该混合可变/固定长度编码(V/FLC)使用的平均比特长度为2.0。这比哈夫曼编码差了不到1%,后者是1.9844。然而,该值是哈夫曼的最优情况。注意到阈值符号T(这里为符号5)比哈夫曼编码器差。然而,对于更不常见的符号,该编码更短。因此,在该例子中更不常见的符号被更有效率的编码并且具有更短的编码。
[33]如果从1到T-1的符号k的VLC为k比特长,则这种V/FLC的理论成本(以比特每符号为单位)可表示为:
B = - Σ k = 1 T - 1 kp ( k ) - { T - 1 + ceil ( log 2 p ( N - T ) } Σ k = T N p ( k )
[34]在替换实施例中,可采用哈夫曼过程来为前T-1个符号构建VLC,或采用任何其它VLC处理,无论这种VLC处理是已知的还是有待将来发展的。在使用哈夫曼过程中,例如,可对由固定长度比特数区分的N-T+1个符号T到N(以及其概率)进行聚集。如果N-T+1是2的幂,则众所周知,可通过log2(N-T+1)个比特全部可能的组合对其进行枚举,通常但不是必要地,通过对其进行计算以获得一个二进制数。另一方面,由于没有二进制数不被使用,因此该编码是有效率的。
[35]根据所要求保护的主题内容的实施例可用于各种应用,并且不限于待编码的符号的信息内容。例如,符号可表示文本字符、静止或运动图像中的像素值、音频系统中的幅度、和/或其它可能的值或属性。在另一实施例中,根据所要求保护的主题内容的方法可提供游程长度(run length)编码器的基础。一个实施例还可用于编码二进制数据流,诸如例如由一系列比特和其它潜在变体来表示符号。
[36]根据所要求保护的主题内容的实施例可用于编码所有类型的数据,包括非数字数据,诸如例如在应用编码前通过任一适当的映射将其转换成数字形式的符号数据。应当注意到,对游程长度编码,诸实施例能很好地执行,当然,尽管能够理解,所要求保护的主题内容不限于该应用。期望所要求保护的主题内容可应用于若干不同类型数据编码的任一种。因此,期望所要求保护的主题内容不限于其可应用的数据类型。
[37]当然,应当理解,尽管刚刚描述了具体实施例,所要求保护的主题内容范围不限于具体的实施例或实现。例如,一个实施例可能是以诸如硬件方式实现以在例如装置或装置的组合上运行,然而,另一个实施例可能以软件方式。类似地,一个实施例可能以固件方式实现,或者为例如硬件、软件和/或固件的任一组合。类似地,尽管所要求保护的主题内容范围不限于该方面,一个实施例可包含一个或多个部件,诸如一个存储介质或若干存储介质。该存储介质(例如一个或多个CD-ROM和/或盘)上可存储有指令,当由诸如例如计算机系统、计算平台或其它系统的系统执行该指令时,可导致根据所要求保护的主题内容的方法的一个实施例被执行,诸如例如前述诸实施例之一。作为潜在的例子,计算平台可包括一个或多个处理单元或处理器、一个或多个输入/输出装置,诸如显示器、键盘和/或鼠标,和/或一个或多个存储器,诸如静态随机存取存储器、动态随机存取存储器、闪速存储器、和/或硬盘驱动器。
[38]在上面的描述中,描述了所要求保护的主题内容的各个方面。出于解释的目的,所提出的具体的数字、系统和/或配置是为了提供对所要求保护的主题内容的详细理解。然而,从本公开受益的本领域普通技术人员应当理解,没有这些具体的细节也能实现所要求保护的主题内容。在其他实例中,忽略或简化了已知的特征,使得所要求保护的主题内容变得清晰。尽管此处例示和/或描述了某些特征,本领域普通技术人员将认识到许多修改、替换、改变和/或等价方式。因此,应当理解所附的权利要求意图覆盖落入所要求保护的主题内容的真实精神内的所有修改和/或改变。
权利要求书(按照条约第19条的修改)
1.一种编码N个符号用于存储或传输的方法,包括:
(a)使用一组可变长度编码对等级高于阈值等级T的N个符号进行编码,所述编码充分地独特以使得用于每个所述N个符号的编码能彼此单独区分;以及
(b)使用固定长度编码对等级等于或低于所述阈值等级T的N个符号进行编码,所述固定长度编码具有若干比特以在(1)用于等级高于所述阈值等级T的N个符号的编码和(2)用于等级等于或低于所述阈值等级T的N个符号的其它编码之间,充分地单独区分用于所述N个符号的编码。
2.权利要求1的方法,其中至少步骤(a)和步骤(b)之一包括二进制编码。
3.权利要求1的方法,其中所述一组可变长度编码包括哈夫曼编码。
4.权利要求1的方法,其中产生所述固定长度编码包括:
使用第一编码,所述第一编码不同于用于等级高于所述阈值等级T的N个符号的各个符号的其它编码;
使用第二编码,所述第二编码唯一地识别所述N个符号的各个符号并且指示1到N-T的范围中的数字的二进制表示。
5.权利要求4的方法,其中所述第一编码包括0和/或1的序列。
6.权利要求4的方法,其中N-T+1等于2的幂。
7.权利要求1的方法,其中所述N个符号包括一系列比特。
8.权利要求1的方法,其中所述N个符号包括文本符号、静止或运动图像中的像素值或音频系统中的幅度。
9.权利要求1的方法,其中所述N个符号包括非数字数据。
10.权利要求1的方法,其中根据期望的或预期的出现概率来对所述N个符号进行分级。
11.权利要求1的方法,其中根据出现频率来对所述N个符号进行分级。
12.权利要求1的方法,其中在所述编码过程中改变所述N个符号的编码。
13.权利要求1的方法,其中编码所述N个符号使得单个编码和计数被分配给由所述N个符号之一的连续相同出现构成的序列,就像在游程长度编码中那样。
14.一种系统,包括:
第一分析模块,被配置为使用一组可变长度编码对等级高于阈值等级T的N个符号进行编码,所述编码充分地独特使得用于每个所述N个符号的编码能彼此单独区分;和
第二分析模块,被配置为使用固定长度编码对等级等于或低于所述阈值等级T的N个符号进行编码,所述固定长度编码具有若干比特以在(1)用于等级高于所述阈值等级T的N个符号的编码和(2)用于等级等于或低于所述阈值等级T的N个符号的其它编码之间,充分单独区分用于所述N个符号的编码。
15.权利要求14的系统,其中所述第一或第二分析模块被配置为执行二进制编码。
16.权利要求14的系统,其中所述一组可变长度编码包括哈夫曼编码。
17.权利要求14的系统,其中所述第二分析模块被配置为使用如下来产生固定长度编码:
第一编码,所述第一编码不同于用于等级高于所述阈值等级T的N个符号的各个符号的其它编码;以及
第二编码,所述第二编码唯一地识别所述N个符号的各个符号并且指示1到N-T的范围中的数字的二进制表示。
18.权利要求17的系统,其中所述第一编码包括0和/或1的序列。
19.权利要求17的系统,其中N-T+1等于2的幂。
20.权利要求14的系统,其中所述N个符号包括一系列比特。
21.权利要求14的系统,其中所述N个符号包括文本符号、静止或运动图像中的像素值或音频系统中的幅度。
22.权利要求14的系统,其中所述N个符号包括非数字数据。
23.权利要求14的系统,其中根据期望的或预期的出现概率来对所述N个符号进行分级。
24.权利要求14的系统,其中根据出现频率来对所述N个符号进行分级。
25.权利要求14的系统,其中在所述编码过程中改变所述N个符号的编码。
26.权利要求14的系统,其中编码所述N个符号使得单个编码和计数被分配给由所述N个符号之一的连续相同出现构成的序列,就像在游程长度编码中那样。
27.一种计算机可读介质,含有用于通过以下方法控制至少一个处理器的指令:
(a)使用一组可变长度编码对等级高于阈值等级T的N个符号进行编码,所述编码充分地独特以使得用于每个所述N个符号的编码能彼此单独区分;以及
(b)使用固定长度编码对等级等于或低于所述阈值等级T的N个符号进行编码,所述固定长度编码具有若干比特以在(1)用于等级高于所述阈值等级T的N个符号的编码和(2)用于等级等于或低于所述阈值等级T的N个符号的其它编码之间,充分单独区分用于所述N个符号的编码。
28.权利要求27的方法,其中至少步骤(a)和步骤(b)之一包括二进制编码。
29.权利要求27的方法,其中所述一组可变长度编码包括哈夫曼编码。
30.权利要求27的方法,其中产生所述固定长度编码包括:
使用第一编码,所述第一编码不同于用于等级高于所述阈值等级T的N个符号的各个符号的其它编码;
使用第二编码,所述第二编码唯一地识别所述N个符号的各个符号并且指示1到N-T的范围中的数字的二进制表示。
31.权利要求30的方法,其中所述第一编码包括0和/或1的序列。
32.权利要求30的方法,其中N-T+1等于2的幂。
33.权利要求27的方法,其中所述N个符号包括一系列比特。
34.权利要求27的方法,其中所述N个符号包括文本符号、静止或运动图像中的像素值或音频系统中的幅度。
35.权利要求27的方法,其中所述N个符号包括非数字数据。
36.权利要求27的方法,其中根据期望的或预期的出现概率来对所述N个符号进行分级。
37.权利要求27的方法,其中根据出现频率来对所述N个符号进行分级。
38.权利要求27的方法,其中在所述编码过程中改变所述N个符号的编码。
39.权利要求27的方法,其中编码所述N个符号使得单个编码和计数被分配给由所述N个符号之一的连续相同出现构成的序列,就像在游程长度编码中那样。

Claims (36)

1.一种编码N个符号的符号系统的方法,所述符号按照出现的期望概率分级,该方法包括:
分配阈值概率T;
使用可变长度编码对出现概率高于所述阈值概率T的符号编码;以及
使用固定长度编码对出现概率基本等于或低于所述阈值概率的符号编码。
2.根据权利要求1所述的方法,其中所述可变长度编码包括哈夫曼编码。
3.根据权利要求1所述的方法,其中所述固定长度编码包括:第一编码和跟随在其后的第二编码,所述第一编码不同于用于出现概率高于所述阈值概率T的符号的任一可能编码,所述第二编码从所述阈值概率T和从出现概率低于所述阈值概率T的任一其它符号中唯一地确定一个给定符号。
4.根据权利要求1所述的方法,其中所述编码包括二进制编码。
5.根据权利要求4所述的方法,其中所述固定长度编码包括:第一编码和跟随其后的第二编码,所述第一编码不同于用于出现概率高于所述阈值概率T的符号的任一可能编码,所述第二编码指示在范围1到N-T中的数字的二进制表示。
6.根据权利要求5所述的方法,其中所述第一编码包括0和/或1的序列。
7.根据权利要求6所述的方法,其中选择N-T+1为2的幂。
8.根据权利要求1所述的方法,用于编码二进制数据流,其中由一系列比特表示所述符号。
9.根据权利要求1所述的方法,其中使用游程长度表示所述符号。
10.一种物品,包括:其上存储有指令的存储介质,如果执行所述指令,则导致执行如下方法编码按照出现的期望概率分级的N个符号的符号系统:
分配阈值概率T;
使用可变长度编码对出现概率高于所述阈值概率T的符号编码;以及
使用固定长度编码对出现概率基本等于或低于所述阈值概率的符号编码。
11.根据权利要求10所述的物品,其中如果执行所述指令,则进一步导致所述可变长度编码包括哈夫曼编码。
12.根据权利要求10所述的物品,其中如果执行所述指令,则进一步导致所述固定长度编码包括:第一编码和跟随在其后的第二编码,所述第一编码不同于用于出现概率高于所述阈值概率T的符号的任一可能编码,所述第二编码从所述阈值概率T和从出现概率低于所述阈值概率T的任一其它符号中唯一地确定一个给定符号。
13.根据权利要求10所述的物品,其中如果执行所述指令,则进一步导致所述编码包括二进制编码。
14.根据权利要求13所述的物品,其中如果执行所述指令,则进一步导致所述固定长度编码包括:第一编码和跟随其后的第二编码,所述第一编码不同于用于出现概率高于所述阈值概率T的符号的任一可能编码,所述第二编码指示在范围1到N-T中的数字的二进制表示。
15.根据权利要求14所述的物品,其中如果执行所述指令,则进一步导致所述第一编码包括由0和/或1的序列。
16.根据权利要求15所述的物品,其中如果执行所述指令,则导致N-T+1被选择为2的幂。
17.根据权利要求10所述的物品,其中如果执行所述指令,则进一步导致用于编码二进制数据流,由一系列比特表示所述符号。
18.根据权利要求10所述的物品,其中如果执行所述指令,则进一步导致使用游程长度表示所述符号。
19.一种设备,包括:
用于为按照出现期望概率分级的N个符号的符号系统分配阈值概率T的装置;
用于使用可变长度编码对出现概率高于所述阈值概率T的符号编码的装置;和
用于使用固定长度编码对出现概率基本等于或低于所述阈值概率的符号编码的装置。
20.根据权利要求19所述的设备,其中所述用于使用可变长度编码对所述符号进行编码的装置包括用于使用哈夫曼编码对所述符号进行编码的装置。
21.根据权利要求19所述的设备,其中所述待编码的固定长度编码包括:第一编码和跟随在其后的第二编码,所述第一编码不同于用于出现概率高于所述阈值概率T的符号的任一可能编码,所述第二编码从所述阈值概率T和从出现概率低于所述阈值概率T的任一其它符号中唯一地确定一个给定符号。
22.根据权利要求19所述的设备,其中所述编码包括二进制编码。
23.根据权利要求22所述的设备,其中所述待编码的固定长度编码包括:第一编码和跟随其后的第二编码,所述第一编码不同于用于出现概率高于所述阈值概率T的符号的任一可能编码,所述第二编码指示在范围1到N-T中的数字的二进制表示。
24.根据权利要求23所述的设备,其中所述待编码的第一编码包括0和/或1的序列。
25.根据权利要求24所述的设备,其中选择N-T+1为2的幂。
26.根据权利要求19所述的设备,用于编码二进制数据流,其中所述符号将由一系列比特表示。
27.根据权利要求19所述的设备,其中使用游程长度表示所述符号。
28.一种设备,包括:计算机平台;所述平台适于:
为按照出现期望概率分级的N个符号的符号系统分配阈值概率T,
使用可变长度编码对出现概率高于所述阈值概率T的符号编码;以及
使用固定长度编码对出现概率基本等于或低于所述阈值概率的符号编码。
29.根据权利要求28所述的设备,其中进一步调整所述计算平台使得所述可变长度编码包括哈夫曼编码。
30.根据权利要求28所述的设备,其中进一步调整所述计算平台使得所述固定长度编码包括:第一编码和跟随在其后的第二编码,所述第一编码不同于用于出现概率高于所述阈值概率T的符号的任一可能编码,所述第二编码从所述阈值概率T和从出现概率低于所述阈值概率T的任一其它符号中唯一地确定一个给定符号。
31.根据权利要求28所述的设备,其中进一步调整所述计算平台使得所述编码包括二进制编码。
32.根据权利要求31所述的设备,其中进一步调整所述计算平台使得所述固定长度编码包括:第一编码和跟随其后的第二编码,所述第一编码不同于出现概率高于所述阈值概率T的符号的任一可能编码,所述第二编码指示在范围1到N-T中的数字的二进制表示。
33.根据权利要求32所述的设备,其中进一步调整所述计算平台使得所述第一编码包括0和/或1的序列。
34.根据权利要求33所述的设备,其中进一步调整所述计算平台使得N-T+1被选择为2的幂。
35.根据权利要求28所述的设备,其中进一步调整所述计算平台以用于编码二进制数据流,使得由一系列比特表示所述符号。
36.根据权利要求28所述的设备,其中进一步调整所述计算平台使得使用游程长度表示所述符号。
CN2007800296314A 2006-06-19 2007-06-18 数据编码 Expired - Fee Related CN101501999B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/425,142 2006-06-19
US11/425,142 US20070290899A1 (en) 2006-06-19 2006-06-19 Data coding
PCT/US2007/014182 WO2007149384A2 (en) 2006-06-19 2007-06-18 Data coding

Publications (2)

Publication Number Publication Date
CN101501999A true CN101501999A (zh) 2009-08-05
CN101501999B CN101501999B (zh) 2013-02-13

Family

ID=38834042

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800296314A Expired - Fee Related CN101501999B (zh) 2006-06-19 2007-06-18 数据编码

Country Status (6)

Country Link
US (1) US20070290899A1 (zh)
EP (1) EP2030325A2 (zh)
JP (1) JP2009542094A (zh)
KR (1) KR20090042775A (zh)
CN (1) CN101501999B (zh)
WO (1) WO2007149384A2 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103414663A (zh) * 2013-04-22 2013-11-27 昆明理工大学 基于回溯法的莫尔斯信号自适应识别方法
WO2020015481A1 (zh) * 2018-07-19 2020-01-23 北京嘉楠捷思信息技术有限公司 数据压缩方法及装置和计算机可读存储介质
CN110971340A (zh) * 2019-10-17 2020-04-07 北京邮电大学 基于树状结构的灾情信息编、解码方法和装置
CN116684003A (zh) * 2023-07-27 2023-09-01 南京中科齐信科技有限公司 一种基于量子通信的铁路沿线空地综合监测方法及系统

Families Citing this family (21)

* 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
US7845571B2 (en) * 2006-06-19 2010-12-07 Monro Donald M Data compression
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
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
US7707214B2 (en) * 2007-02-21 2010-04-27 Donald Martin Monro Hierarchical update scheme for extremum location with indirect addressing
US7707213B2 (en) * 2007-02-21 2010-04-27 Donald Martin Monro Hierarchical update scheme for extremum location
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
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
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
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
KR20130122353A (ko) * 2012-04-30 2013-11-07 삼성전자주식회사 비트율 추정 장치 및 그것의 비트율 추정 방법
US10090864B2 (en) 2014-09-22 2018-10-02 Samsung Display Co., Ltd. System and method for decoding variable length codes
CN109959401B (zh) * 2019-03-26 2022-01-11 中国科学院光电技术研究所 一种光电轴角编码器的快速编码方法

Family Cites Families (53)

* 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
JPS6097435A (ja) * 1983-11-02 1985-05-31 Hitachi Ltd 演算処理装置
US4899148A (en) * 1987-02-25 1990-02-06 Oki Electric Industry Co., Ltd. Data compression method
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
JPH06237184A (ja) * 1993-02-10 1994-08-23 Fujitsu Ltd 可変長符号化回路
JPH0730896A (ja) * 1993-06-25 1995-01-31 Matsushita Electric Ind Co Ltd 動きベクトル符号化及び復号化方法
US6086706A (en) * 1993-12-20 2000-07-11 Lucent Technologies Inc. Document copying deterrent method
US5748786A (en) * 1994-09-21 1998-05-05 Ricoh Company, Ltd. Apparatus for compression using reversible embedded wavelets
JPH08116447A (ja) * 1994-10-18 1996-05-07 Fuji Xerox Co Ltd 画像信号の符号化装置
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
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
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 データ処理装置および受信装置
JP2870515B2 (ja) * 1996-12-27 1999-03-17 日本電気株式会社 可変長符号化装置
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
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
US6125348A (en) * 1998-03-12 2000-09-26 Liquid Audio Inc. Lossless data compression with low complexity
GB9920256D0 (en) * 1999-08-26 1999-10-27 Wave Limited M Motion estimation and compensation in video compression
JP4560694B2 (ja) * 2000-04-05 2010-10-13 ソニー株式会社 符号化装置及びその方法
JP2001308715A (ja) * 2000-04-20 2001-11-02 Mitsubishi Electric Corp 可変長符号化装置および可変長復号装置
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
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
FR2833818B1 (fr) * 2001-12-21 2004-11-19 Oreal Dispositif comportant un boitier et un applicateur
JP4350414B2 (ja) * 2003-04-30 2009-10-21 キヤノン株式会社 情報処理装置及び情報処理方法ならびに記憶媒体、プログラム
GB0321954D0 (en) * 2003-09-18 2003-10-22 Wave Ltd M Data compression
US7079986B2 (en) * 2003-12-31 2006-07-18 Sieracki Jeffrey M Greedy adaptive signature discrimination system and method
US7562021B2 (en) * 2005-07-15 2009-07-14 Microsoft Corporation Modification of codewords in dictionary used for efficient coding of digital media spectral data
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
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
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
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
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

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103414663A (zh) * 2013-04-22 2013-11-27 昆明理工大学 基于回溯法的莫尔斯信号自适应识别方法
CN103414663B (zh) * 2013-04-22 2016-10-19 昆明理工大学 基于回溯法的莫尔斯信号自适应识别方法
WO2020015481A1 (zh) * 2018-07-19 2020-01-23 北京嘉楠捷思信息技术有限公司 数据压缩方法及装置和计算机可读存储介质
CN110739974A (zh) * 2018-07-19 2020-01-31 北京嘉楠捷思信息技术有限公司 数据压缩方法及装置和计算机可读存储介质
US11398832B2 (en) 2018-07-19 2022-07-26 Canaan Bright Sight Co., Ltd. Data compression method and apparatus, and computer readable storage medium
CN110739974B (zh) * 2018-07-19 2023-11-10 嘉楠明芯(北京)科技有限公司 数据压缩方法及装置和计算机可读存储介质
US11870467B2 (en) 2018-07-19 2024-01-09 Canaan Bright Sight Co., Ltd. Data compression method and apparatus, and computer readable storage medium
CN110971340A (zh) * 2019-10-17 2020-04-07 北京邮电大学 基于树状结构的灾情信息编、解码方法和装置
CN116684003A (zh) * 2023-07-27 2023-09-01 南京中科齐信科技有限公司 一种基于量子通信的铁路沿线空地综合监测方法及系统
CN116684003B (zh) * 2023-07-27 2023-10-24 南京中科齐信科技有限公司 一种基于量子通信的铁路沿线空地综合监测方法及系统

Also Published As

Publication number Publication date
JP2009542094A (ja) 2009-11-26
KR20090042775A (ko) 2009-04-30
WO2007149384B1 (en) 2008-05-08
WO2007149384A3 (en) 2008-03-13
CN101501999B (zh) 2013-02-13
WO2007149384A2 (en) 2007-12-27
EP2030325A2 (en) 2009-03-04
US20070290899A1 (en) 2007-12-20

Similar Documents

Publication Publication Date Title
CN101501999B (zh) 数据编码
Fenwick The Burrows–Wheeler transform for block sorting text compression: principles and improvements
CN101485095B (zh) 数据压缩
US7365658B2 (en) Method and apparatus for lossless run-length data encoding
CN101095284B (zh) 用于有选择地压缩和解压缩数据的设备与方法
Sayood et al. A constrained joint source/channel coder design
US20090201180A1 (en) Compression for deflate algorithm
CN101496288A (zh) 数据压缩
US10127913B1 (en) Method of encoding of data stream, method of decoding of data stream, and devices for implementation of said methods
Howard et al. Parallel lossless image compression using Huffman and arithmetic coding
Ahmed et al. Information and communication theory-source coding techniques-part II
CN105359418A (zh) 编码器、解码器和编码解码方法
CN110291793A (zh) 上下文自适应二进制算术编解码中范围推导的方法和装置
CN104125475A (zh) 一种多维量子数据压缩、解压缩方法及装置
CA2398955C (en) Method for compressing data
US20060125660A1 (en) Digital data compression robust relative to transmission noise
Ghuge Map and Trie based Compression Algorithm for Data Transmission
Ambadekar et al. Advanced data compression using J-bit Algorithm
Howard et al. Parallel lossless image compression using Huffman and arithmetic coding
Rani et al. A survey on lossless text data compression techniques
CN116979972B (zh) 一种针对模数转换器采集数据的压缩及解压缩方法
Huang et al. Lossless compression algorithm for multi-source sensor data research
CN117465471A (zh) 一种针对文本文件的无损压缩系统及其压缩方法
Irshid Gray code weighting system (Corresp.)
JPH04280517A (ja) データ圧縮および復元方式

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130213

Termination date: 20180618