CN1144583A - 用于编码器/译码器系统的紧凑型源编码表 - Google Patents

用于编码器/译码器系统的紧凑型源编码表 Download PDF

Info

Publication number
CN1144583A
CN1144583A CN95192240A CN95192240A CN1144583A CN 1144583 A CN1144583 A CN 1144583A CN 95192240 A CN95192240 A CN 95192240A CN 95192240 A CN95192240 A CN 95192240A CN 1144583 A CN1144583 A CN 1144583A
Authority
CN
China
Prior art keywords
symbol
symbols
code word
coding
certain order
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
CN95192240A
Other languages
English (en)
Other versions
CN1119868C (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

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)中。不幸的是,这类编码表通常很大,需要相当大的存储空间,所以增加实施成本。希望将存储和使用编/译码表所需的存储空间减至到最小。
本发明的目的在于提供紧凑型编/译码表,它比传统的用于数据压缩和去压缩的编译码表所需的存储空间要小,并且对压缩性能无任何明显的损害。
根据结合到一编码器实施例中的本发明的技术,产生代表符号对中符号次序(相对一特定次序)的次序信息,参照编码表依据按特定次序排序的符号对来产生代码字,并将代码及次序信息组合成一个适于后续处理、传送或存储的格式。
根据结合到一译码器实施例中的本发明的技术,从一代码化信号中提取出代码字和次序信息,参照译码表依据代码字产生有序的符号对,并按次序信息所要求的那样对符号对重新排序。
还可能有许多变型。例如,可将符号分组成为包括两个以上符号的有序组,并根据本质上所具有的任何次序将组中这些符号重新排序。
本发明还可以在许多不同的实施例中实施,并能结合到各种编码器及译码器中去。虽然在整个讨论中特别指出可应用于音频编码,但应清楚看到,本发明具有很宽的应用范围,例如信息存储和检索。通过以下参照附图的说明,可使本发明及其优选实施例的各种特征更加清楚。以下参照附图的讨论仅作为示例,不应理解为对本发明范围的限制。
图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参照表308并沿路径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    .02
        2    .05    .10    .07    .05
        3    .03    .07    .15    .07
        4    .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    001110   001100
    2    1101    100     0100     1110
    3    001111  0101    000      O110
    4    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    .04
    2     --   .10    .14    .10
    3     --    --    .15    .14
    4     --    --     --    .10
以下编码表TE1包括用于这种修改后消息组的代码字,其长度变化为3~4位。
                   y
    x    1      2      3      4
    1    1001  011    0000   0001
    2    --    001    110    1000
    3    --    --     101    111
    4    --    --     --     010
考虑到消息组{x,y}中一些消息的概率现在为零,所以从表达式2和3中可得出,修改后的消息的平均信息量大约为3.2314位,表TE1的代码字平均长度为3.27位。这种减少可由向译码器传送次序信息所需要的任何附加位来补偿。
这种通过交换来减小代码表大小的方法并不会影响压缩性能,因为传递次序信息所需的位数可由消息平均信息量的等同降低来补偿。这可由以下表达式来表示:                            (4)
  lOI+ΔH其中:loI=传送次序信息所需的平均位数;和
ΔH=已修改消息组中平均信息量的变化。
如上所述,2-符号消息的次序信息可由一位来传递,并且仅在x≠y时才需要发送。从下述表达式可计算出这个平均长度。 l - OI = Σ i ∈ ( x , y ) P i · len ( O I 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+H1概率矩阵量对称的,于是:
HA=HB,                                        (9a)
HO=HA+HI+HB=HI+2HA,                  (9b)
HI=-2PA+2HA+HI=-2PA+HO,              (9c)
ΔH=HI-HO=-2PA.                              (9d)
于是,                                             (10)
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 (22)

1.一种对多个符号进行编码的编码方法,所述符号表示人类感知方面的信号,所述方法包括:
根据一特定次序产生表示所述多个符号中符号次序的次序信息;
根据按照所述特定次序排序的所述多个符号生成一代码字;和
将所述代码字及所述次序信息组合成适于处理、传送或存储的形式。
2.根据权利要求1的编码方法,其中所述特定次序是基于与所述符号相对应的相关数字值。
3.根据权利要求1的编码方法,其中,所述多个符号是一符号对x和y,而所述次序信息表明:所述符号对是否根据相应于所述符号对的特定数字关系被排序,所述特定数字关系由关系组x<y、x≤y、x>y及x≥y中选取。
4.根据权利要求1-3任意一个的所述编码方法,其中根据包含表项(table entry)的编码表生成所述代码字,其中所述表项代表了那些按照所述特定次序排序的各个多个符号的代码字。
5.根据权利要求1至4中的任意一个的编码方法,其中所述代码字的长度与按照所述特定次序排序的所述多个符号出现的概率成反比例地变化。
6.根据权利要求5所述的编码方法,其中根据赫夫曼(Huffman)编码或香农一法诺(Shannon-Fano)编码技术来生成所述代码字。
7.一种对代码化信号进行译码的译码方法,所述代码化信号是按照代表人类感知信号的多个符号处理过的,所述方法包括:
从所述代码化信号中提取一代码字及表示相应一特定次序的所述多个符号中符号次序的次序信息;
通过对所述代码字译码产生一个中间符号组;和
通过对所述中间符号组中符号按照所述特定次序信息排序来恢复所述多个符号。
8.根据权利要求7的译码方法,其中所述中间符号组包括一符号对,而所述次序信息表明,多个符号中的符号是否按照所述特定次序被排序。
9.根据权利要求7或8的译码方法,其中所述中间符号组是根据包含表项的译码表生成的,所述表项仅代表符号按照所述特定次序排序的中间符号组。
10.根据权利要求7至9任意一个的译码方法,其中所述代码字的长度与按照所述特定次序排序的所述多个符号出现的概率成反比例地变化。
11.根据权利要求10的译码方法,其中所述译码是根据赫夫曼(Huffman)译码或香农一法诺(Shannon-Fano)译码技术来实现的。
12.一种对多个表示人类感知信号的多个符号进行编码的编码器,所述编码器包括:
次序发生装置,产生表示多个符号中相应于一特定次序的符号次序的次序信息;
代码生成装置,根据按照所述特定次序排序的所述多个符号生成一代码字;和
格式生成装置,将所述代码字及所述次序信息组成易于处理、传送或存储的格式。
13.根据权利要求12的编码器,其中所述特定次序是基于与所述符号相对应的相关数字值。
14.根据权利要求12的编码器,其中所述多个符号是一符号对x和y,而所述次序发生装置产生表明所述符号对是否按照相应于所述符号对的特定数字值关系被排序的次序信息,所述特定数字值关系选自关系组x<y、x≤y、x>y及x≥y。
15.根据权利要求12至14任意一个的编码器,其中所述代码生成装置包括用于存储一个或多个包含表项的编码表的RAM与/或ROM,并且所述代码生成装置根据所述一个或多个编码表生成所述代码字,所述表项仅代表了符号按照所述特定次序排序的各个多个符号的代码字。
16.根据权利要求10至15任意一个的编码器,其中所述代码生成装置产生代码字,而代码字的长度与按照所述特定次序排序的所述多个符号出现的概率成反比例地变化。
17.根据权利要求16的编码器,其中所述代码生成装置按照赫夫曼(Huffman)编码或香农一法诺(Shannon-Fano)编码技术来产生所述代码字。
18.一种用于对所述代码化信号进行译码的译码器,所述代码化信号按照多个表示人类感知信号的符号来处理,所述译码器包括:
去格式装置,从所述代码化信号中提取出一代码字及表示所述多个符号中依据特定次序的符号次序的次序信息;
译码装置,对所述代码字译码产生一中间符号组;及
次序生成装置,通过对所述中间符号组中的符号按照所述次序信息排序来恢复所述多个符号。
19.根据权利要求18的译码器,其中所述中间符号组包括一符号对,并且所述次序信息表明,所述多个符号中的符号是否按照所述特定次序被排序。
20.根据权利要求18或19的译码器,其中所述译码装置包括存储一个或多个包括多个表项的译码表的RAM和/或ROM,并且所述译码装置根据所述译码表产生所述中间符号组,所述表项代表符号按照所述特定次序排序的中间符号组。
21.根据权利要求18至20中任意一个的译码器,其中所述代码生成装置产生所述代码字,其长度与按照所述特定次序排序的所述多个符号的出现概率成反比例地变化。
22.根据权利要求21的译码器,其中所述译码装置按照赫夫曼(Huffman)译码或香农一法诺(Shannon-Fano)译码技术对所述代码字译码。
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 true CN1144583A (zh) 1997-03-05
CN1119868C 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)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103905054A (zh) * 2012-12-25 2014-07-02 展讯通信(上海)有限公司 构建码表的方法和装置,编码、解码方法和装置
CN107783990A (zh) * 2016-08-26 2018-03-09 华为技术有限公司 一种数据压缩方法及终端
WO2019196480A1 (zh) * 2018-04-09 2019-10-17 珠海格力电器股份有限公司 设备的数据处理方法和装置

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2302244B (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 ソニー株式会社 可変長符号処理装置および画像処理装置
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
US6983018B1 (en) 1998-11-30 2006-01-03 Microsoft Corporation Efficient motion vector coding for video compression
US6377930B1 (en) 1998-12-14 2002-04-23 Microsoft Corporation Variable to variable length entropy encoding
US6223162B1 (en) 1998-12-14 2001-04-24 Microsoft Corporation Multi-level run length coding for frequency-domain audio coding
US6300888B1 (en) 1998-12-14 2001-10-09 Microsoft Corporation Entrophy code mode switching for frequency-domain audio coding
US6404931B1 (en) 1998-12-14 2002-06-11 Microsoft Corporation Code book construction for 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
CN102316320B (zh) * 2001-12-17 2014-07-09 微软公司 处理视频图像的方法
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
US7620106B2 (en) 2003-09-07 2009-11-17 Microsoft Corporation Joint coding and decoding of a reference field selection and differential motion vector information
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7577200B2 (en) 2003-09-07 2009-08-18 Microsoft Corporation Extended range variable length coding/decoding of differential motion vector information
US7599438B2 (en) 2003-09-07 2009-10-06 Microsoft Corporation Motion vector block pattern coding and decoding
US7623574B2 (en) 2003-09-07 2009-11-24 Microsoft Corporation Selecting between dominant and non-dominant motion vector predictor polarities
US7606308B2 (en) * 2003-09-07 2009-10-20 Microsoft Corporation Signaling macroblock mode information for macroblocks of interlaced forward-predicted fields
US7616692B2 (en) 2003-09-07 2009-11-10 Microsoft Corporation Hybrid motion vector prediction for interlaced forward-predicted fields
US7567617B2 (en) 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
US7317839B2 (en) 2003-09-07 2008-01-08 Microsoft Corporation Chroma motion vector derivation for interlaced forward-predicted fields
US8064520B2 (en) 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
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
JP2009500657A (ja) 2005-06-30 2009-01-08 エルジー エレクトロニクス インコーポレイティド オーディオ信号をエンコーディング及びデコーディングするための装置とその方法
US9077960B2 (en) * 2005-08-12 2015-07-07 Microsoft Corporation Non-zero coefficient block pattern coding
WO2007040361A1 (en) * 2005-10-05 2007-04-12 Lg Electronics Inc. Method and apparatus for signal processing and encoding and decoding method, and apparatus therefor
US20070092086A1 (en) 2005-10-24 2007-04-26 Pang Hee S 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
ES2694858T3 (es) * 2014-05-28 2018-12-27 Koninklijke Philips N.V. Métodos y aparatos para codificar imágenes de HDR, y métodos y aparatos para el uso de tales imágenes codificadas

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

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103905054A (zh) * 2012-12-25 2014-07-02 展讯通信(上海)有限公司 构建码表的方法和装置,编码、解码方法和装置
CN103905054B (zh) * 2012-12-25 2017-05-24 展讯通信(上海)有限公司 构建码表的方法和装置,编码、解码方法和装置
CN107783990A (zh) * 2016-08-26 2018-03-09 华为技术有限公司 一种数据压缩方法及终端
CN107783990B (zh) * 2016-08-26 2021-11-19 华为技术有限公司 一种数据压缩方法及终端
WO2019196480A1 (zh) * 2018-04-09 2019-10-17 珠海格力电器股份有限公司 设备的数据处理方法和装置

Also Published As

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

Similar Documents

Publication Publication Date Title
CN1119868C (zh) 利用紧凑型源编码表编码和译码代表多个符号的信息的方法和装置
CN100348049C (zh) 用于渐进地变换并编码数字数据的系统和方法
CN1293509C (zh) 以无损的方式编码数字图像数据的设备和方法
CN1893659A (zh) 应用Golomb-Rice编码法的DCT压缩法
JP2011045140A (ja) データ圧縮
CN1266843C (zh) 编码方法及系统以及译码方法及系统
WO1997007599A1 (en) Data compression method
CN1741616A (zh) 一种基于上下文的自适应熵编/解码方法
US10003794B2 (en) Terminable spatial tree-based position coding and decoding
CN1257621A (zh) 数字数据无损压缩的方法和设备
US20030035476A1 (en) Image coding apparatus and image coding method
CN1531348A (zh) 图像编码设备、方法及程序,和图像解码设备、方法及程序
CN1650625A (zh) 用于将参数值映像到码字索引的自适应方法和系统
CN1262816A (zh) 对信息信号的算术编码与解码
CN1198613A (zh) 数字数据编码/解码方法及设备
CN1252187A (zh) 用于编码数据序列的一种方法和一种设备
EP0635807B1 (en) Coding apparatus for image compression
CN1215440C (zh) 利用线性近似对动画路径进行压缩和重构的方法和装置
CN1195449A (zh) 图象编码装置、图象译码装置及图象传输系统
Berghorn et al. Fast variable run-length coding for embedded progressive wavelet-based image compression
Chen et al. Optimal alphabet partitioning for semi-adaptive coding of sources of unknown sparse distributions
Fute et al. An approach to data compression and aggregation in wireless sensor networks
Kossentini et al. Image coding using high-order conditional entropy-constrained residual VQ
JPH09172379A (ja) 可変長符号化装置及び方法
Banister et al. Quantization performance in SPIHT and related wavelet image compression algorithms

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