CN1119868C - 利用紧凑型源编码表编码和译码代表多个符号的信息的方法和装置 - Google Patents

利用紧凑型源编码表编码和译码代表多个符号的信息的方法和装置 Download PDF

Info

Publication number
CN1119868C
CN1119868C CN95192240A CN95192240A CN1119868C CN 1119868 C CN1119868 C CN 1119868C CN 95192240 A CN95192240 A CN 95192240A CN 95192240 A CN95192240 A CN 95192240A CN 1119868 C CN1119868 C CN 1119868C
Authority
CN
China
Prior art keywords
symbols
symbol
code word
certain order
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.)
Expired - Lifetime
Application number
CN95192240A
Other languages
English (en)
Other versions
CN1144583A (zh
Inventor
克雷格·坎普贝尔·托德
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.)
Dolby Laboratories Licensing Corp
Original Assignee
Dolby Laboratories Licensing Corp
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 Dolby Laboratories Licensing Corp filed Critical Dolby Laboratories Licensing Corp
Publication of CN1144583A publication Critical patent/CN1144583A/zh
Application granted granted Critical
Publication of CN1119868C publication Critical patent/CN1119868C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/42Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • 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)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Analogue/Digital Conversion (AREA)

Abstract

一种应用诸如多维赫夫曼编码等数据压缩技术的装置或方法,在编/译码之前对消息中的符号进行排序,并与所产生的代码字一起传送次序信息,这样该方法或装置就可以采用比传统的编码表小得多的压缩型表。一种数据解压缩装置或方法可以根据代码字从一压缩型译码表中恢复消息;并根据和代码字一起接收的次序信息对消息中的符号重新排序。

Description

利用紧凑型源编码表编码和译码 代表多个符号的信息的方法和装置
技术领域
本发明一般涉及及使用表或矩阵对信息进行编码和译码的各种源编码技术。本发明特别是涉及编码/译码系统,这种系统需要较少的空间存储诸如赫夫曼编码(Huffman Coding)等编码技术表。
背景技术
在数据存储和通信系统中,数据压缩技术的使用正呈上升趋势,这是因为数据压缩能使存储空间或传送信息所需的带宽减至最小。
由“有损耗”技术压缩的数据无法采用任何去压缩技术来完全地恢复,这是因为在压缩期间已丢失了一些信息,但通过“无损耗”技术压缩的数据能完全恢复。量化是一个非常著名的“有损耗”技术实例,而游程长度编码(RLE)是一个非常著名的“无损耗”技术实例。在一些音频与视频应用中,系统通常既采用有损耗压缩技术又采用无损耗压缩技术。
一些用于人类感知信号的“感知编码器”根据心理感知学原理采用有损耗压缩技术,从而感受不到损耗压缩带来的影响。通常,丢失的信息量随着损耗压缩级的增高而增高,于是,为使所产生的信号的主观质量不降低,对于采用多少有损耗压缩是有限制的。一些感知编码器除了采用有损耗压缩技术外,还采用无损耗压缩技术,以在不会发生可感知的质量降低情况下进一步进行压缩。
ISO/IEC JTCI/SC 29,1992,在ISO/MPEG标准文件“至多可达1.5兆位/秒的用于数字存储媒体的动画及相关音频的编码-CD 11172-3(部分3音频)”中描述了一种包括将无损耗压缩应用于量化的信息的感知编码标准,在此作为一个整体来引用。在美国专利US-5,285,498中描述了一个变换编码器的例子,它对量化的变换因子应用赫夫曼编码(无损耗压缩技术),在此作为一个整体来引用。
赫夫曼编码是一种非常著名的无损耗压缩技术。在实施赫夫曼编码过程中经常使用一个或多个表、矩阵。在压缩期间,采用一个或多个待压缩的数据符号作为进入一个合适的编码表的关键字,该编码表提供合适的可变长度代码字。在去压缩过程中,使用可变长度代码字来遍历存储在一个或多个编码表中的树型结构,以建立所压缩符号的原始值。在许多实际应用的实施例中,将编码与译码表存储在只读存储器(ROM)或随机访问存储器(RAM)中。不幸的是,这类编码表通常很大,需要相当大的存储空间,所以增加实施成本。希望将存储和使用编/译码表所需的存储空间减至到最小。
美国专利申请US 4,646,148公开了一种用于压缩和存储图像像素值的技术,该技术选择性地将赫夫曼(Hufman)编码应用到连续像素值之间不超过一个阈值的差值。对于超过该阈值的差值,该技术存储像素值而不是一个被编码的差值。通过把赫夫曼(Hufman)编码限制应用于有限数量的值,就可以减小需用来存储编码表的存储器的大小。然而,这种技术所能获得的压缩程度本身是次最优的。
发明内容
本发明的目的在于提供一种可能更有效地实现的编码器/译码器系统。在一个优选实施例中,提供了一种使用紧凑型编码表的系统,该编码表比传统的用于数据压缩和去压缩的编码表所需的存储空间要小,并且对压缩性能无任何明显的损害。
根据本发明的一个方面,提供一种对多个符号进行编码的编码方法,所述符号表示人类感知方面的信号,所述方法包括:根据一特定次序产生表示所述多个符号中符号次序的次序信息;根据进行了必要的重新排序以便按照所述特定次序排序的所述多个符号,或者根据所述多个符号和所述次序信息产生一个代码字,其中按照所述特定次序排序的所述多个符号能从所述代码字恢复;以及,将所述代码字及所述次序信息进行合成以用于处理、传送或存储。
根据本发明的另一个方面,提供一种对代码化信号进行译码的译码方法,所述代码化信号是按照代表人类感知信号的多个符号处理过的,所述方法包括:从所述代码化信号中提取一代码字及表示相应一特定次序的所述多个符号中符号次序的次序信息;通过对所述代码字译码产生一个中间符号组;以及,通过对所述中间符号组中符号按照所述特定次序信息排序来恢复所述多个符号。
根据本发明的又一方面,提供一种对多个表示人类感知信号的多个符号进行编码的编码器,所述编码器包括:次序发生装置,产生表示多个符号中相应于一特定次序的符号次序的次序信息;代码生成装置,根据进行了必要的重新排序以便按照所述特定次序排序的所述多个符号,或者根据所述多个符号和所述次序信息生成一代码字,其中按照所述特定次序排序的所述多个符号能从所述代码字恢复;以及,格式生成装置(108),将所述代码字及所述次序信息进行合成以用于处理、传送或存储。
根据本发明的再一方面,提供一种用于对所述代码化信号进行译码的译码器,所述代码化信号按照多个表示人类感知信号的符号来处理,所述译码器包括:去格式装置,从所述代码化信号中提取出一代码字及表示所述多个符号中依据特定次序的符号次序的次序信息;译码装置,对所述代码字译码产生一中间符号组;以及,次序生成装置,通过对所述中间符号组中的符号按照所述次序信息排序来恢复所述多个符号。
还可能有许多变型。例如,可根据本质上所具有的任何次序将组中这些符号重新排序,并可以参照比传统编码表小得多的编码表产生和/或译码代码字。
本发明还可以在许多不同的实施例中实施,并能结合到各种编码器及译码器中去。虽然在整个讨论中特别指出可应用于音频编码,但应清楚看到,本发明具有很宽的应用范围,例如信息存储和检索。通过以下参照附图的说明,可使本发明及其优选实施例的各种特征更加清楚。以下参照附图的讨论仅作为示例,不应理解为对本发明范围的限制。
附图说明
图1示出了一个信息处理系统的基本方框图;
图2a和图2b示出了一个分频带(split-band)信号分析/合成系统的功能性方框图;
图3a和图3b示出了一个压缩器和一个去压缩器的功能性方框图;
图4a和图4b示出了根据本发明的技术的压缩和去压缩逻辑的方框图;
图5a和5b示出了二叉树译码结构;
图6a和6b是用于三维编/译码的编/译码表的示意图。
具体实施方式
图1描述了一信息处理系统,该系统可采用本发明的技术。在一实施例中,处理器2从路径1接收用于传送信息的输入信号、对该信号实施数据压缩技术后沿路径3传送代表压缩结果的代码化信号。存储器4中存储了一个或多个在实施数据压缩时由处理器2使用的编码表。
在第二实施例中,处理器2由路径1接收包括压缩数据的代码化信号,对该信号进行数据去压缩并沿路径3传送代表去压缩结果的输出信号。存储器4中存储了一个或多个在实施数据去压缩时由处理器2使用的译码表。
处理系统的具体实现与结构对于实施本发明来说并不重要。例如,处理器2可以是执行存储在存储器4中的软件的一个处理器,也可以是特定应用的硬件。存储器4可以包括ROM及读/写存储器(如RAM)的任何所希望的组合。处理器2和存储器4也可由一单个部件(如微计算机集成电路)来实现。
图2a和2b示出了一分带信号分析/合成系统的几个特征部分,它适于应用本发明的各个方面。参照图2a,分析滤波器102根据由路径100接收到的输入信号产生频谱信号,量化器104对该频谱信号进行量化,压缩处理器106对该量化的信号实施无损耗压缩,而格式化处理器108将压缩的信号组合到具有适于后续处理、传送或存储格式的编码信号中去。在感知编译码系统中,量化器根据感知模型来进行量化。
参照图2b,去格式化处理器122从由路径120接收的编码信号中提取压缩的频谱信号,去压缩处理器124通过对压缩的频谱信号进行去压缩而实施与无损耗压缩相反的作用,去量化器126对去压缩的频谱信号进行去量化,而反相滤波器根据去量化的频谱信号沿路径130产生一输出信号。
对于实施本发明来说,分带分析/合成系统的具体实施细节并不重要。作为附加信息,可参见美国US-5,109,417,在此作为一整体对其进行引用。
本发明并不局限应用于信号分析/合成方面,也不局限应用于采用有损耗的数据压缩方面。例如,本发明可结合到计算机磁盘存储系统中去。应理解,图2a所示的区域112的元素只代表了待压缩数据源的一个例子。类似地,图2b所示的区域132中的元素只代表了一个目的地或对去压缩数据使用的一个例子。
图3a所示的方框图提供了有关压缩处理器106的一个实施例的细节。由路径200接收多个符号。次序发生器202沿路径204根据一特定次序产生有关多个符号的次序的信息,对符号进行必要的重新排序以符合所述特定次序并将排序的符号传送给编码器206。编码器206参照表208并沿路径210根据排序的符号产生一代码字。
在另一实施例中,次序发生器202根据特定次序产生有关多个符号的次序的信息,但不对这些符号重新排序。替代地,将次序信息传送给编码器206,图中未示出其可能沿着的路径。编码器206根据符号及次序信息产生一代码字。
在数字化系统中,通常将数字次序选作为特定次序,因为信息是以数字形式来表示的。例如,诸如字母和标点符号等非数字信息,可依据美国信息交换标准代码(ASCII)用具有数字值的符号来表示。数字信息,尽管本身是定量的,仍可以通过一些编码格式由具有数字值的符号来表示。例如,从1980开始的年历可编码成为,值的范围为从零开始的一个正整数的符号。在优选实施例中,每个符号Xi仅代表数字量的大小。需要附加信息来说明一个符号所代表的数字信息是正还是负。此外,无法在正和负量之间区分按照这种符号产生的代码字,于是,表示非零数字信息的代码字包括一个符号位。在前面所引用的ISO/MPEG标准中提供了这种编码的一个例子。
一种方便的符号数字排序是按升值顺序,例如,按顺序x1≤x2≤…xn排列的一组n个符号xi。另一例子,可将一个由三个符号组成组排列成:X1≤x3≤x2。对实施本发明来说,特定的排序并不重要。
图4a是一流程图,示出了根据本发明的用于压缩符号对的一压缩处理器的一实施例的逻辑。入口(ENTRY)300接收一对符号(x,y)。次序发生器(ORDER)302判断x≤y。如果是,清除器(CLEAR)304将“重新排序标志”设置成零;否则,交换器(SWAP)306对x和y的值进行交换,并将“重新排序标志”设置成1。编码器(CODER)308根据已适当地排好序的符号对(x,y)来产生一代码字。出口(EXIT)310提供用于后续处理、传送或存储的代码字和重新排序标志。
以下程序段表示出基本等价的处理,其中:CW是一代码字,OI是一重新排序标志,TE(x,y)表示使用编码表编码。注意,符号的重新排序是通过将第六行的参数反序来完成的。
  (1)  entry[x,y]
 
  (2)  if x≤y then

  (3)     CW=TE[x,y]

  (4)     OI=0

  (5)  else

  (6)      CW=TE[y,x]

  (7)      OI=1

  (8)  endif

  (9)  exit[CW,OI]
图3b示出的方框图提供了有关去压缩处理器126的一个实施例的详细情况。译码器224参照表226并根据由路径220接收的一个代码字产生多个排好序的符号。次序发生器228由路径222接收一个“原始”次序的指示,按要求对多个符号重新排序以建立原始次序,沿路径230传送适当排好序的符号。
图4b是一流程图,示出了根据本发明的用于将代码字去压缩成为符号对的一去压缩处理器的一实施例的逻辑。入口(ENTRY)320接收一代码字及一个“原始次序”的指示。译码器(DECODER)322根据该代码字产生一对符号(x,y)。次序发生器(ORDER)324判断该符号对的原始次序是否为x≤y。如果不是,交换器(SWAP)326交换x与y的值。出口(EXIT)310提供适当排好序的符号对(x,y),用于后续处理。
在以下程序段中表示出一个基本上等价的处理,其中:CW是一代码字,OI是一次序的指示;TD(CW)表示使用译码表来译码。注意,当从程序段退出时,通过在第六行对符号倒序来实现符号的重新排序。
(1)  entry[CW,OI]
(2)  (x,y)=TD[CW]
(3)  if OI=0 then
(4)      exit[x,y]
(5)  else
(6)      exit[y,x]
(7)  endif
                       传统的编码表
通过以下几个能够结合本发明各个方面的编码器的实施例,能更好地理解一些基本概念。在此讨论的实施例将赫夫曼编码技术应用到符号对x和y上,但应理解的是,这些原理和概念也适用于其它维数及其它编码技术,如香农法诺(Shanno-Fano)编码。
在一实施例中,赫夫曼编码提供了用于任何十六个不同消息的数据压缩,其中,每个消息都由一符号对(x,y)来表示。在以下矩阵P0中提供了各消息出现的概率
                    y
  x     1      2      3      4
  1    .07    .05    .03    .022    .05    .10    .07    .053    .03    .07    .15    .074    .02    .05    .07    .10
在本例子中,概率矩阵是对称的,于是,消息(2,3)出现的概率P0(2,3)等于消息(3,2)出现的概率P0(3,2),为0.07。
一个消息组的“平均信息量”(“entropy”)是组中每个消息的平均信息量。该“平均信息量”是表示组中每个消息所需的平均位数的下限。对于任意由N个消息组成的组,平均信息量可由以下表达式获得: H = Σ i = 1 N - P i · log P i - - - ( 1 )
其中:H=消息组{i}的平均信息量;
      Pi=消息i出现的概率;和
      log=以2为底的对数函数。由Lynch的“数据压缩技术与应用”(“Data Compression Techniquesand Application”),1985,1-60页及Bell、Cleary与Witlen的“文本压缩”(“Text Compression”)1990,100-107页中可获得更详细的说明,在此将它们二者都以整体的形式加以引用。
以上由概率矩阵P0表示的消息组{x,y}的平均信息量等于由下式中获得的平均信息量H0 H 0 = Σ x = 1 4 Σ y = 1 4 - P xy · log P xy = Σ i ∈ ( x , y ) - P i · log P i - - - ( 2 ) 它大约为3.8114位
例如,可以使用赫夫曼编码或香农编码来导出用于每十六个消息的可变长度二进字代码字组。以下例子表明本发明如何与赫夫曼编码技术一起使用,同样也适用于其它编码技术。
以下矩阵是一编码表TE0,它包括一组可变长度的代码字,其中可能性最大的消息为3位,而可能性最小的为6位。
                  y
x    1       2      3     4
 1   0010    1100   0011  100011002   1101    100    0100  11103   001111  0101   000   01104   001101  1111   0111  101
对2-符号消息进行编码或压缩的过程可以采用2-符号的值从编码表中查出合适的代码字。例如,消息(2,3)的代码字是CW=TE0〔2,3〕=0100。
假设具体的消息以依据概率矩阵的频率出现,则对于一特定的编码技术,平均代码字长度可由下式得到: l ‾ = Σ i ∈ ( x , y ) P i · len ( i ) - - - ( 3 ) 其中:l=代码字的平均长度;及
len(i)=消息i的代码字长度。
编码表TE0的平均代码字长度为3.85位,它略微大于理论最小值或平均信息量。超出部分表明在编码中有些冗余。
尽管赫夫曼编码不是在所有情况下都是最优的,但由于能进行有效的计算,所以使它应用非常广泛。不幸的是,编码和译码表通常很大,于是需要相当大的存储空间。在以上例子中,编码表的大小适中,因为每个符号都假定只是4个值中的一个。在许多实际应用中,每个符号都可以假定任意多个值。很容易看出,多符号消息的编码表按每个符号可能具有的值的数目的乘积来增加。例如上述的表TE0就按对于x和y符号可能具有的值的数目的平方来增加。
在信息处理系统的许多实施例(如图1所描述的)中,编码表存储在RAM或ROM中,于是,能够减小编译码表大小的技术也能减少所需的存储空间,于是也能降低实现成本。
            紧型编码表
结合了本发明特征的多符号消息的编码器采用了一个比传统的编码表小得多的编码表。如果假定2-符号消息中的每个符号都具有N个可能值中的任意一个,则传统的编码表将N2个元素。根据本发明的用于这类2-符号消息的紧凑型编码表仅(N2+N)/2个元素,当N很大时,它仅相当于传统编码表大小的1/2。
参照上述例子,编码表TE0包括十六个代码字,每个可能的消息(x,y)都对应一个代码字。通常保证使符号x小于等于符号y,或x≤y,从消息组{x,y}中可以消除六个消息,于是减小了编码表的大小。可以通过在编码之前对x和y进行必要的重新排序,来保证这种数字关系。可以通过一相应的译码器依据有关符号的原来次序的信息来消除这种重新排序的影响。可仅用一位来传递这种次序信息。
例如,在一实施例中,只要x≠y,编码器就对符号对进行必要的重新排序,产生该重新排序符号对的代码字,并且产生次序信息。仅用一位来传递这种次序信息,当符号不是原来次序时,该位为1,如果符号按原来次序,则该位为0。
当x>y时符号的重新排序可以有效地使每个消息(x,y)出现的概率加倍,其中x≠y。在以下概率矩阵P1中反映出这种变化。
                 y
  x   1      2      3       4
  1    .07    .10    .06     .042    --     .10    .14     .103    --     --     .15     .144    --     --     --      .10
以下编码表TE1包括用于这种修改后消息组的代码字,其长度变化为3~4位。
                  y
x    1       2         3        4
1   1001    011      0000      00012    --     001      110       10003    --     --       10l       1114    --     --       --        010
考虑到消息组{x,y}中一些消息的概率现在为零,所以从表达式2和3中可得出,修改后的消息的平均信息量大约为3.2314位,表TE1的代码字平均长度为3.27位。这种减少可由向译码器传送次序信息所需要的任何附加位来补偿。
这种通过交换来减小代码表大小的方法并不会影响压缩性能,因为传递次序信息所需的位数可由消息平均信息量的等同降低来补偿。这可由以下表达式来表示:
lOI+ΔH                                (4)其中:loI=传送次序信息所需的平均位数;和
  ΔH=已修改消息组中平均信息量的变化。
如上所述,2-符号消息的次序信息可由一位来传递,并且仅在x≠y时才需要发送。从下述表达式可计算出这个平均长度。 l - OI = Σ i ∈ { x , y } P i · len ( OI i ) = Σ i ∈ A P i + Σ i ∈ B P i = P A + P B - - - ( 5 ) 其中:A=x<y的消息组;
  B=x>y的消息组;
  PA=组A中所有消息的概率累加值;和
  PB=组B中所有消息的概率累加值。概率矩阵P0是对称的,于是,PA=PB,并且
lOI=PA+PB=2PA.                            (6)
由概率矩阵P0主对角线之外的元素能很容易地推算出平均信息量的变化。首先可以看出,原始消息组的平均信息量H0 H 0 = Σ i ∈ { x , y } - P i · log P i = Σ i ∈ A - P i · log P i + Σ i ∈ I - P i · log P i + Σ i ∈ B - P i · log P i - - - ( 7 ) =HA+HI+HB其中:I=为x=y的消息组;
  HA=组A的平均信息量;
  HI=组I的平均信息量;
  HB=组B的平均信息量。相应于概率矩阵P1的修改后的消息组的平均信息量H1为: H 1 = Σ i ∈ A - 2 P i · log 2 P i + Σ i ∈ I - P i · log P i = 2 Σ i ∈ A - P i · ( 1 + log P i ) + Σ i ∈ I - P i · log P i - - - ( 8 ) = 2 Σ i ∈ A - P i + 2 Σ i ∈ A - P i · log P i + Σ i ∈ I - P i · log P i =-2PA+2HA+HI概率矩阵量对称的,于是:
HA=HB,                               (9a)
H0=HA+HI+HB=HI+2HA,            (9b)
H1=-2PA+2HA+HI=-2PA+HO,        (9c)
ΔH=H1-HO=-2PA.                     (9d)
于是,
lOI+ΔH=2PA+(-2PA)=0.
传送次序信息所需的附加位数正好可由平均信息量的减少来补偿。于是,不会影响压缩性能。
        传统的译码表
图5a以二叉树400的形式示出了译码结构。所描述的特定的树相应于前面所讨论的编码表TE0。树中每个节点或者具有两个分支,每个都与另一节点相连,或者是一“叶子”节点,无分支并代表一特定的消息。从“树干”的“根”节点开始依据代码字中连续的诸位的值遍历各分支,最终到合适的叶子节点,它提供了由该代码字所代表的消息。在所示例子中,根据“0”位来遍历左边分支,而根据“1”位来遍历右边分支。
例如,关于代码字“1101”,对于树400的遍历从根节点开始,根据第一位(“1”)沿右边分支继续到第一节点,根据第二位(“1”)沿右边分支继续到第二节点,根据第三位(“0”)沿左边分支继续到第三节点,根据第四位(“1”)沿右边分支继续到第四节点。参照上面的编码表TE0,可以看出这是正确的结果。
在一实施例中,使用链表结构来实现树。表示树节点的存储块包含两个指向其它节点块的链。表示叶子节点的存储块或者存储消息本身或者包含指向消息存储何地的链。存储一个树所需的存储量通常随树的节点数增加而增加。一般,存储量大约正比于节点数及消息数。在所示例子中,该树包括十五个节点和十六条消息。
         紧凑型译码表
结合了本发明各特征的多符号消息译码器可以采用远远小于传统的译码表。图5b以相应于上述编码表TE1的二叉树410形式示出了一个译码结构。与树400相比,树410仅包含九个节点和10条消息。可以按上述传统方式来遍历紧凑型树,但为了能正确地对一代码字译码,必须附加步骤。
例如,参照图5b,代码字“011”相应于消息(1,2);然而使用编码表TE1的编码器已对这些符号重新排序了。译码器通过参照与代码字一起在代码化信号中传送来的次序信息,来建立正确的消息。在一实施例中,如果次序信息是“0”位则正确的消息为(1,2),而如果次序信息是“1”位,则正确的消息为(2,1)。
作为另一实施例,代码字“010”相应于消息(4,4)。此译码器不需要任何次序信息来判断这是否是正确的消息。
也可以用其它方式来实现译码表。例如,译码表可以包括代表所有可能代码字的表项(entry),并且译码包括用一表项匹配一代码字并取出相应的消息。
应该理解,本发明并不局限于任何编码与译码表的特定实施。在此讨论的实施例仅作为示例。
          高维编译码
如上所述,本发明也可以应用于更高次的多维编/译码。对于包括n个符号的消息(x1、x2、…xn),可以采用n维编译码。如果假设n个符号每个都有任意N个不同值,则概率矩阵及传统的编码表每个都包含Nn表项。可以看出,编码和译码表的大小明显地随维数增加而增加。在以下例子中,假设消息中的每个符号都具有N个不同值。
一组n个符号可以有n!种不同方式的排列。这意谓着,可以由n个符号的各种排列来表示多至n!个不同的消息。保证符号只按这些排列中的一个来排列,编码矩阵能减少到大约Nn/n!个表项。
例如,在3-维编码器,消息包含3个符号(x,y,z)。用于消息组{x,y,z}的传统的编码表包括N3个表项,并且如图6a所示,可以看成3-维空间中各边长为N的立方体500。根据本发明的紧凑型编码表仅包含(N3+3N2+2N)/6个表项,如图6b所示,可以看成3维空间中的四面体510,其底为等边三角形并且顶点面对底在三个相互垂直长度为N的边的会合处。事实上,四面体510为立方体512的一个角。随着N增大,紧型编码表中表项数目接近于N3/6。
理论上讲,使用紧凑型表并不会损坏编/译码的性能。然而,在特定实施例中,由于次序信息冗余,可能会使编码性能略有损坏。这种冗余使传送次序信息的位要比消息组平均信息量降低所节约的位数要多。例如,在三维编(译)码中,必须用次序信息来传送六个可能次序中的任意一个。采用三位来传送六个可能次序的编(译)码方案是易于实现的,但有冗余。如果六个次序每个概率都相等,次序信息仅需要大约2.585(或log2 6)位。3-位方案大约对于每个代码字都浪费0.415位,但是这种低效率的方案更具有吸引力,因为它可通过使编(译)码表大小降低80%而得到补偿。

Claims (24)

1.一种对多个符号进行编码的编码方法,所述符号表示人类感知方面的信号,所述方法包括:
根据一特定次序产生表示所述多个符号中符号次序的次序信息;
根据进行了必要的重新排序以便按照所述特定次序排序的所述多个符号,或者根据所述多个符号和所述次序信息产生一个代码字,其中按照所述特定次序排序的所述多个符号能从所述代码字恢复;和
将所述代码字及所述次序信息进行合成以用于处理、传送或存储。
2.根据权利要求1的编码方法,其中所述特定次序是基于与所述符号相对应的相关数字值。
3.根据权利要求1的编码方法,其中,所述多个符号是一符号对x和y,而所述次序信息表明:所述符号对是否根据相应于所述符号对的特定数字关系被排序,所述特定数字关系由关系组x<y、x≤y、x>y及x≥y中选取。
4.根据权利要求1的编码方法,其中根据包含表项的编码表生成所述代码字,其中所述表项代表了那些按照所述特定次序排序的各个多个符号的代码字。
5.根据权利要求1至4中的任意一个的编码方法,其中所述代码字的长度与按照所述特定次序排序的所述多个符号出现的概率成反比例地变化。
6.根据权利要求5所述的编码方法,其中根据赫夫曼编码或香农一法诺编码技术来生成所述代码字。
7.一种对代码化信号进行译码的译码方法,所述代码化信号是按照代表人类感知信号的多个符号处理过的,所述方法包括:
从所述代码化信号中提取一代码字及表示相应一特定次序的所述多个符号中符号次序的次序信息;
通过对所述代码字译码产生(322)一个中间符号组;和
通过对所述中间符号组中符号按照所述特定次序信息排序来恢复(324,326)所述多个符号。
8.根据权利要求7的译码方法,其中所述中间符号组包括一符号对,而所述次序信息表明,多个符号中的符号是否按照所述特定次序被排序。
9.根据权利要求7的译码方法,其中所述中间符号组是根据包含表项的译码表生成的,所述表项仅代表符号按照所述特定次序排序的中间符号组。
10.根据权利要求7至9任意一个的译码方法,其中所述代码字的长度与按照所述特定次序排序的所述多个符号出现的概率成反比例地变化。
11.根据权利要求10的译码方法,其中所述译码是根据赫夫曼译码或香农一法诺译码技术来实现的。
12.一种对多个表示人类感知信号的多个符号进行编码的编码器,所述编码器包括:
次序发生装置(202),产生表示多个符号中相应于一特定次序的符号次序的次序信息;
代码生成装置(206),根据进行了必要的重新排序以便按照所述特定次序排序的所述多个符号,或者根据所述多个符号和所述次序信息生成一代码字,其中按照所述特定次序排序的所述多个符号能从所述代码字恢复;和
格式生成装置(108),将所述代码字及所述次序信息进行合成以用于处理、传送或存储。
13.根据权利要求12的编码器,其中所述特定次序是基于与所述符号相对应的相关数字值。
14.根据权利要求12的编码器,其中所述多个符号是一符号对x和y,而所述次序发生装置(202)产生表明所述符号对是否按照相应于所述符号对的特定数字值关系被排序的次序信息,所述特定数字值关系选自关系组x<y、x≤y、x>y及x≥y。
15.根据权利要求12的编码器,其中所述代码生成装置(206)包括用于存储一个或多个包含表项的编码表(208)的RAM与/或ROM,并且所述代码生成装置根据所述一个或多个编码表生成所述代码字,所述表项仅代表了符号按照所述特定次序排序的各个多个符号的代码字。
16.根据权利要求10的编码器,其中所述代码生成装置(206)产生代码字,而代码字的长度与按照所述特定次序排序的所述多个符号出现的概率成反比例地变化。
17.根据权利要求11至15任意一个的编码器,其中所述代码生成装置(206)产生代码字,而代码字的长度与按照所述特定次序排序的所述多个符号出现的概率成反比例地变化。
18.根据权利要求16的编码器,其中所述代码生成装置(206)按照赫夫曼编码或香农一法诺编码技术来产生所述代码字。
19.根据权利要求17的编码器,其中所述代码生成装置(206)按照赫夫曼编码或香农一法诺编码技术来产生所述代码字。
20.一种用于对所述代码化信号进行译码的译码器,所述代码化信号按照多个表示人类感知信号的符号来处理,所述译码器包括:
去格式装置(122),从所述代码化信号中提取出一代码字及表示所述多个符号中依据特定次序的符号次序的次序信息;
译码装置(224),对所述代码字译码产生一中间符号组;及
次序生成装置(228),通过对所述中间符号组中的符号按照所述次序信息排序来恢复所述多个符号。
21.根据权利要求20的译码器,其中所述中间符号组包括一符号对,并且所述次序信息表明,所述多个符号中的符号是否按照所述特定次序被排序。
22.根据权利要求20的译码器,其中所述译码装置(224)包括存储一个或多个包括多个表项的译码表(226)的RAM和/或ROM,并且所述译码装置根据所述译码表产生所述中间符号组,所述表项代表符号按照所述特定次序排序的中间符号组。
23.根据权利要求20至22中任意一个的译码器,其中所述译码装置(224)产生所述代码字,其长度与按照所述特定次序排序的所述多个符号的出现概率成反比例地变化。
24.根据权利要求23的译码器,其中所述译码装置(224)按照赫夫曼译码或香农一法诺译码技术对所述代码字译码。
CN95192240A 1994-04-01 1995-03-31 利用紧凑型源编码表编码和译码代表多个符号的信息的方法和装置 Expired - Lifetime CN1119868C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/234,871 US5550541A (en) 1994-04-01 1994-04-01 Compact source coding tables for encoder/decoder system
US08/234,871 1994-04-01

Publications (2)

Publication Number Publication Date
CN1144583A CN1144583A (zh) 1997-03-05
CN1119868C true CN1119868C (zh) 2003-08-27

Family

ID=22883165

Family Applications (1)

Application Number Title Priority Date Filing Date
CN95192240A Expired - Lifetime CN1119868C (zh) 1994-04-01 1995-03-31 利用紧凑型源编码表编码和译码代表多个符号的信息的方法和装置

Country Status (10)

Country Link
US (1) US5550541A (zh)
EP (1) EP0754374B1 (zh)
JP (1) JPH09511372A (zh)
KR (1) KR100349447B1 (zh)
CN (1) CN1119868C (zh)
AT (1) ATE182041T1 (zh)
AU (1) AU684013B2 (zh)
CA (1) CA2183352A1 (zh)
DE (1) DE69510662T2 (zh)
WO (1) WO1995027337A1 (zh)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2302245B (en) * 1994-09-20 1997-10-22 Ricoh Kk Wavelet transform filter
US5850260A (en) * 1995-03-08 1998-12-15 Lucent Technologies Inc. Methods and apparatus for determining a coding rate to transmit a set of symbols
US5872599A (en) * 1995-03-08 1999-02-16 Lucent Technologies Inc. Method and apparatus for selectively discarding data when required in order to achieve a desired Huffman coding rate
JP3520670B2 (ja) * 1996-06-28 2004-04-19 ソニー株式会社 可変長符号処理装置および画像処理装置
US6983018B1 (en) 1998-11-30 2006-01-03 Microsoft Corporation Efficient motion vector coding for video compression
US6563953B2 (en) 1998-11-30 2003-05-13 Microsoft Corporation Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock
US6404931B1 (en) 1998-12-14 2002-06-11 Microsoft Corporation Code book construction for variable to variable length entropy encoding
US6300888B1 (en) 1998-12-14 2001-10-09 Microsoft Corporation Entrophy code mode switching for frequency-domain audio coding
US6223162B1 (en) 1998-12-14 2001-04-24 Microsoft Corporation Multi-level run length coding for frequency-domain audio coding
US6377930B1 (en) 1998-12-14 2002-04-23 Microsoft Corporation Variable to variable length entropy encoding
JP3493574B2 (ja) * 1999-03-11 2004-02-03 Necエレクトロニクス株式会社 逆量子化装置及び逆量子化方法
US7543148B1 (en) * 1999-07-13 2009-06-02 Microsoft Corporation Audio watermarking with covert channel and permutations
US6373412B1 (en) * 2000-12-15 2002-04-16 International Business Machines Corporation Fast JPEG huffman encoding and decoding
EP1263236A2 (en) * 2001-05-28 2002-12-04 Canon Research Centre France S.A. Method and device for processing a digital signal
US7164369B2 (en) * 2001-06-19 2007-01-16 Sharp Laboratories Of America, Inc. System for improving storage efficiency of digital files
ES2610430T3 (es) 2001-12-17 2017-04-27 Microsoft Technology Licensing, Llc Codificación por omisión de macrobloques
US20050013498A1 (en) 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
US7499495B2 (en) 2003-07-18 2009-03-03 Microsoft Corporation Extended range motion vectors
US7599438B2 (en) 2003-09-07 2009-10-06 Microsoft Corporation Motion vector block pattern coding and decoding
US8064520B2 (en) 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US7620106B2 (en) 2003-09-07 2009-11-17 Microsoft Corporation Joint coding and decoding of a reference field selection and differential motion vector information
US7606308B2 (en) * 2003-09-07 2009-10-20 Microsoft Corporation Signaling macroblock mode information for macroblocks of interlaced forward-predicted fields
US7317839B2 (en) 2003-09-07 2008-01-08 Microsoft Corporation Chroma motion vector derivation for interlaced forward-predicted fields
US7623574B2 (en) 2003-09-07 2009-11-24 Microsoft Corporation Selecting between dominant and non-dominant motion vector predictor polarities
US7577200B2 (en) 2003-09-07 2009-08-18 Microsoft Corporation Extended range variable length coding/decoding of differential motion vector information
US7724827B2 (en) 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7567617B2 (en) 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
US7616692B2 (en) 2003-09-07 2009-11-10 Microsoft Corporation Hybrid motion vector prediction for interlaced forward-predicted fields
US7660475B2 (en) * 2004-12-22 2010-02-09 Ntt Docomo, Inc. Method and apparatus for coding positions of coefficients
US7991610B2 (en) * 2005-04-13 2011-08-02 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Adaptive grouping of parameters for enhanced coding efficiency
US20060235683A1 (en) * 2005-04-13 2006-10-19 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Lossless encoding of information with guaranteed maximum bitrate
US7788106B2 (en) * 2005-04-13 2010-08-31 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Entropy coding with compact codebooks
US8494667B2 (en) 2005-06-30 2013-07-23 Lg Electronics Inc. Apparatus for encoding and decoding audio signal and method thereof
US9077960B2 (en) * 2005-08-12 2015-07-07 Microsoft Corporation Non-zero coefficient block pattern coding
WO2007040355A1 (en) * 2005-10-05 2007-04-12 Lg Electronics Inc. Method and apparatus for signal processing and encoding and decoding method, and apparatus therefor
US7742913B2 (en) 2005-10-24 2010-06-22 Lg Electronics Inc. Removing time delays in signal paths
US20070096956A1 (en) * 2005-10-31 2007-05-03 Fujifilm Microdisks Usa Inc. Static defined word compressor for embedded applications
US8878041B2 (en) * 2009-05-27 2014-11-04 Microsoft Corporation Detecting beat information using a diverse set of correlations
US9122398B2 (en) * 2012-10-31 2015-09-01 International Business Machines Corporation Generalized storage allocation for multiple architectures
CN103905054B (zh) * 2012-12-25 2017-05-24 展讯通信(上海)有限公司 构建码表的方法和装置,编码、解码方法和装置
ES2744795T3 (es) * 2014-05-28 2020-02-26 Koninklijke Philips Nv Métodos y aparatos para codificar unas imágenes HDR, y métodos y aparatos para usar tales imágenes codificadas
CN107783990B (zh) * 2016-08-26 2021-11-19 华为技术有限公司 一种数据压缩方法及终端
CN108599897B (zh) * 2018-04-09 2020-08-11 珠海格力电器股份有限公司 设备的数据处理方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4486784A (en) * 1982-12-27 1984-12-04 International Business Machines Corporation Image compression systems
FR2554995B1 (fr) * 1983-11-15 1989-05-05 Thomson Cgr Procede de compression d'une succession d'informations numeriques et dispositif mettant en oeuvre ce procede
US5227789A (en) * 1991-09-30 1993-07-13 Eastman Kodak Company Modified huffman encode/decode system with simplified decoding for imaging systems
US5325091A (en) * 1992-08-13 1994-06-28 Xerox Corporation Text-compression technique using frequency-ordered array of word-number mappers

Also Published As

Publication number Publication date
AU2203695A (en) 1995-10-23
WO1995027337A1 (en) 1995-10-12
CA2183352A1 (en) 1995-10-12
KR970700957A (ko) 1997-02-12
EP0754374A1 (en) 1997-01-22
US5550541A (en) 1996-08-27
DE69510662D1 (de) 1999-08-12
ATE182041T1 (de) 1999-07-15
JPH09511372A (ja) 1997-11-11
EP0754374B1 (en) 1999-07-07
AU684013B2 (en) 1997-11-27
CN1144583A (zh) 1997-03-05
DE69510662T2 (de) 2000-01-13
KR100349447B1 (ko) 2002-12-26

Similar Documents

Publication Publication Date Title
CN1119868C (zh) 利用紧凑型源编码表编码和译码代表多个符号的信息的方法和装置
CN100348049C (zh) 用于渐进地变换并编码数字数据的系统和方法
US6054943A (en) Multilevel digital information compression based on lawrence algorithm
US5563960A (en) Apparatus and method for emphasizing a selected region in the compressed representation of an image
US5412741A (en) Apparatus and method for compressing information
JP4755309B2 (ja) データ圧縮
CN1893659A (zh) 应用Golomb-Rice编码法的DCT压缩法
WO1997034375A1 (en) Method for reducing storage requirements for digital data
KR920704494A (ko) 적합한 블럭크기로 영상을 압축하는 방법 및 시스템
EP0850513A1 (en) Data compression method
EP3831065B1 (en) Entropy coding for signal enhancement coding
US20030035476A1 (en) Image coding apparatus and image coding method
CN1114274C (zh) 数字数据编码/解码方法及设备
CN100370828C (zh) 用于将参数值映像到码字索引的自适应方法和系统
CN1252187A (zh) 用于编码数据序列的一种方法和一种设备
EP0635807B1 (en) Coding apparatus for image compression
CN1215440C (zh) 利用线性近似对动画路径进行压缩和重构的方法和装置
Rao et al. Evaluation of lossless compression techniques
Berghorn et al. Fast variable run-length coding for embedded progressive wavelet-based image compression
Ravi et al. A study of various Data Compression Techniques
JP3114796B2 (ja) 可変長符号化装置及び方法
Fute et al. An approach to data compression and aggregation in wireless sensor networks
Chen et al. Optimal alphabet partitioning for semi-adaptive coding of sources of unknown sparse distributions
Kossentini et al. Image coding using high-order conditional entropy-constrained residual VQ
Jalumuri A study of scanning paths for BWT-based image compression

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
C17 Cessation of patent right
CX01 Expiry of patent term

Expiration termination date: 20150331

Granted publication date: 20030827