CN101601087A - 用于编码和解码的设备 - Google Patents

用于编码和解码的设备 Download PDF

Info

Publication number
CN101601087A
CN101601087A CNA2007800498867A CN200780049886A CN101601087A CN 101601087 A CN101601087 A CN 101601087A CN A2007800498867 A CNA2007800498867 A CN A2007800498867A CN 200780049886 A CN200780049886 A CN 200780049886A CN 101601087 A CN101601087 A CN 101601087A
Authority
CN
China
Prior art keywords
sampling
coding
original
numbers
sequence
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
CNA2007800498867A
Other languages
English (en)
Other versions
CN101601087B (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.)
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
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 Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Publication of CN101601087A publication Critical patent/CN101601087A/zh
Application granted granted Critical
Publication of CN101601087B publication Critical patent/CN101601087B/zh
Active 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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
    • G10L19/002Dynamic bit allocation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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
    • G10L19/04Speech 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 using predictive techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Abstract

本发明涉及一种用于对音频信号的扫描值序列进行编码的设备(100),其中,序列中的每个扫描值具有原始位置。该设备(100)包括:用于根据大小对扫描值进行排序以获得扫描值的排序序列的***(110),其中,每个扫描值具有在排序序列中的扫描位置。此外,该设备(100)包括:用于对排序扫描值以及与扫描值的原始和排序位置之间的关系有关的信息进行编码的***(120)。

Description

用于编码和解码的设备
技术领域
本发明涉及用于对诸如可能出现在例如音频和视频编码中的信息信号进行编码和解码的设备和方法。
背景技术
在信息信号的编码和解码中,所谓的有损编码方法在常规技术领域中是众所周知的。例如,已经存在基于变换的编码方法,比如MPEG1/2第三层(MPEG=运动图像专家组,MP3)或者高级音频编码(AAC)。它们与时间-频率变换以及心理-声学模型协同工作,所述心理-声学模型能够区分可感知信号部分和不可感知信号部分。数据在频域中的后续量化是用这些模型控制的。然而,如果针对编码信号仅存在少量可用数据量,使得例如编码信号可以用较低的总比特率进行编辑,那么结果将是更加粗糙的量化,即量化产生可明显感知的编码伪信号。
在常规技术中,参数化编码方法也是众所周知的,如飞利普参量编码HILN(谐波和特征线加噪声)等等,参数化编码方法在解码器侧合成原始信号。从而,对原始声音特征的损坏在低比特率下显现出来,即,这样的编码方法具有不同于原始信号的可感知的差异。
在无损编码领域中,原则上,存在两种不同的方法。第一种方法依赖于预测时间信号。举例而言,在SHORTEN(参见Tony Robinson:SHORTEN:Simply lossless and near lossless waveform compression.技术报告CUED/F-INFENG/TR.156,Cambridge UniversityEngineering Department,1994年12月)或者AudioPaK(参见MatHans,Ronald W.Schafer:Lossless Compression of Digital Audio,IEEE Signal Processing Magazine,2001年7月)中,对得到的预测器误差进行熵编码然后对其进行存储和/或传送。
作为第一处理步骤,第二方法使用时间-频率变换以及对得到的频谱进行后续的有损编码。另外,在反变换中得到的误差也可以被熵编码,以保证对信号的无损编码,例如,LTAC(无损变换音频压缩,参见Tilman Liebchen,Marcus Purat,Peter Noll:Lossless TransformCoding of Audio Signal,第102次AES大会,1997)以及MPEG-4SLS(可伸缩无损编码,参见Ralf Geiger等人:ISO/IEC MPEG-4High-Definition Scalable Advanced Audio Coding,第120次AES大会,2006年5月)。
此外,存在两种数据简化的基本方法。第一种可能对应于冗余消减。此处,利用了信号的基本字母表的非均匀概率分布。例如,具有较高出现概率的符号用比具有较低出现概率的符号更少的比特来表示。该原理通常也被称作熵编码。在编码/解码过程中,数据没有丢失。因此再一次地数据的理想(无损)重构是可能的。第二种可能涉及无关性消减。在这种类型的数据简化中,以针对性的方式将与用户无关的信息移除。经常使用人类感官的自然感知限制模型作为针对此无关性消减的基础。在音频编码的情况下,对输入信号的心理-声学的考虑可以作为感知模型,感知模型继而控制数据在频域中的量化,参见例如E.Zwicker:Psychoakstik,Springer-Verlag,1982。由于以针对性的方式将数据从编码/解码过程中移除,不再可能对数据进行理想重构。因此,这是有损数据简化。
在普通的基于变换的音频编码方法中,输入数据被从时域变换到频域中,并且在心理-声学模型的帮助下在频域中被量化。理想地,该量化仅将少量的量化噪声引入该信号中,使得其不会被听者所感知,然而,对于低比特率这是无法实现的,具体地,将得到清晰可闻的编码伪信号。此外,在低目标比特率下,通常需要用提前的低通滤波来进行下采样,使得原始信号的高频部分的传输不再可能。这些处理步骤要求相当强的计算能力并且对信号质量施加了限制。
发明内容
因此,本发明的目的是提供一种用于对信息信号进行编码和解码的可选构思。
该目的是由根据权利要求1、22、43、61中任意一个权利要求所述的用于编码的设备,根据权利要求12、33、53、66中任意一个权利要求所述的用于解码的设备,根据权利要求10、31、51、64中任意一个权利要求所述的编码方法,根据权利要求20、41、59、69中任意一个权利要求所述的解码方法来实现的。
本发明基于下述发现:如果预先执行排序,则可以较少的工作量来对信息信号进行编码。可以假定信息信号(或者还有音频信号)包括采样序列,其中采样可以源于时间或者频率信号,即其还可以是采样频谱。因此术语采样不应被理解为限制性的。因此,在本发明的实施例中,基本处理步骤可以是按照输入信号的幅度对输入信号进行排序,其中该步骤也可以发生在可能执行的预处理之后。在预处理时,可以在音频信号的领域中执行时间/频率变换、预测或者还执行多通道冗余消减(例如在多通道信号的情况下),一般地还执行解相关方法。另外,也可以在这些预处理步骤之前将信号变量可能可变地分割为所定义的时间部分(所谓的帧)。可以将这些时间部分进一步分割为子帧,然后对它们独立排序。
在实施例中,在排序步骤之后,一方面存在排序后的数据,并且另一方面存在逆排序规则,逆排序规则表现为原始输入值的索引的排列。然后,尽可能有效地对两个数据集进行编码。为此,实施例提供几种可能,比如预测并对残差信号进行后续熵编码,即确定针对预测滤波器的预测系数,并且确定残差信号,作为预测滤波器的输出信号和输入信号之间的差异。
在其它实施例中,用合适的函数规则和函数系数以及对残差信号进行后续熵编码来执行曲线拟合。在其它实施例中,可以进行有损编码,并且因此也可以省略残差信号的编码。
实施例也可以例如通过建立反演图和后续熵编码进行排列编码,关于反演图的细节可以在例如Donald E.Knuth:The Art of ComputerProgrammin,卷3.Sorting and Searching,Addison-Wesley,1998中找到。
在其它实施例中,可以执行反演图的预测和对残差信号的后续熵编码,以及对排列的预测和对残差信号的后续熵编码。实施例还可以通过省略残差信号来实现有损编码。可选地,也可以建立针对排列的编号方式,参见A.A.Babaev:Procedures of encoding and decodingof permutations,Kibernetika,第6期,1984,第77至82页。此外,在实施例中,可以使用进行后续编号的组合选择方法。
附图说明
下面将通过对参考附图来更详细的解释本发明的优选实施例,附图中:
图1a示出了用于编码的设备;
图1b示出了用于解码的设备;
图2a示出了用于编码的设备;
图2b示出了用于解码的设备;
图3a示出了用于编码的设备;
图3b示出了用于解码的设备;
图4a示出了用于编码的设备;
图4b示出了用于解码的设备;
图5a和b示出了音频信号、排列以及反演图的实施例;
图6示出了编码器的实施例;
图7示出了解码器的实施例;
图8示出了编码器的又一实施例;
图9示出了解码器的又一实施例;
图10示出了音频信号及其逼近的频谱的示例;
图11示出了音频信号的排序频谱和其逼近的示例;
图12示出了排序差分编码信号及其残差信号的示例;
图13示出了排序时间信号的示例;
图14示出了排序时间值和相应的曲线拟合的示例;以及
图15示出了差分编码和曲线拟合的编码效率的比较。
图16示出了大多数无损音频压缩算法的示例性处理步骤;
图17示出了预测编码的结构的实施例;
图18示出了预测编码中的重构的结构的实施例;
图19示出了预测滤波器的热身值的实施例;
图20是预测模型的实施例的框图;
图21是LTAC编码器的结构框图;
图22是MPEG-4SLS编码器的框图;
图23示出了在独立通道解相关之后的立体声冗余消减;
图24示出了在独立通道解相关之前的立体声冗余消减;
图25示出了预测器的阶和总比特消耗之间的关系;
图26示出了量化参数g和总比特消耗之间的关系;
图27示出了固定预测器的依赖于其阶数p的幅频曲线;
图28示出了排列长度、调换数量以及可编码性度量之间的关系;
图29a至h示出了第10块(帧)的类似噪声的片段中的反演图;
图30a至h示出了第20块(帧)的音调片段中的反演图;
图31a和b示出了通过对时间值进行排序得到的第10块中的类似噪音的片段(左半部分)和音调片段(右半部分)的排列;
图32a示出了音频信号的一部分、相应排列以及反演图LS,图32b以放大的方式示出了来自左侧图像的排列和反演图;
图33a示出了音频信号的一部分、相应排列以及反演图LS,图33b以放大的方式示出了来自左侧图像的排列和反演图;
图34示出了通过反演图LB的预测(固定预测器)得到的残差信号的概率分布(上半部分)以及码字的长度(下半部分);
图35a和图35b示出了通过对排序时间值的差分编码得到的残差信号的概率分布以及码字的长度;
图36示出了利用包括针对参数的辅助信息在内的片段的固定预测器的残差信号进行前向适应性莱斯编码的具有最小数据量的子块分解的百分比比例,其中,总块长是1024个时间值;
图37示出了利用包括针对参数的辅助信息在内的片段的固定预测器的残差信号进行前向适应性戈洛姆编码的具有最小数据量的子块分解的百分比比例,其中,总体块长度是1024个时间值;
图38示出了历史缓冲区的操作;
图39a和b示出了与针对整个块的最优参数相比的适应操作;
图40示出了使用了后向适应性莱斯编码的前向算术编码的实施例;
图41示出了块尺寸对压缩因子F的影响;
图42示出了无损MS编码的图示;
图43示出了在无损MS编码上的另一图示;以及
图44示出了针对立体声冗余消减的最优变体的选择。
关于以下描述,应当注意,相同或者相似的功能元件在不同实施例中具有相同的参考标记,因此在以下所述的不同实施例中对于这些功能元件的描述是可以互换的。此外,再一次指出:一般地,在以下实施例中,信号的离散值被称作采样。术语采样不应被看作局限于对时间信号、频谱、通用信息信号等等进行采样而得到的采样。
具体实施方式
图1a示出了用于对音频信号的采样序列进行编码的设备100,序列中的每个采样具有原始位置。该设备100包括:用于按照采样的大小对采样进行排序(在例如时间/频率变换、预测等等可能的处理发生之后),以获得采样的排序序列的装置110,每个采样具有在排序序列中的排序位置。此外,该设备100包括:用于将经排序的采样以及与采样的原始和排序位置之间的关系有关的信息进行编码的装置120。
该设备100还可以包括预处理装置,预处理装置被形成为执行滤波、时间/频率变换、预测或者多通道冗余消减以生成采样序列。在实施例中,编码装置120可以被形成为将与原始和排序位置之间的关系有关的信息编码为索引排列。可选地,该编码装置120可以将与原始和排序位置之间的关系有关的信息编码为反演图。该编码装置120还可以被形成为使用差分和后续熵编码或者仅使用熵编码对经排序的采样或者与原始和排序位置之间的关系有关的信息进行编码。
在其它实施例中,装置120可以基于经排序的采样、排列或者反演图,来确定预测滤波器的系数并且将其编码。此外,可以对与采样和预测滤波器的输出信号之间的差异相对应的残差信号进行编码,并且实现无损编码。可以用熵编码对残差信号进行编码。在又一实施例中,设备100还包括:用于调整函数规则的函数系数以适应排序序列的至少一个区域的装置,并且编码装置120可以被形成为对函数系数进行编码。
图1b示出了一种用于对音频信号的采样序列进行解码的设备150的实施例,其中在序列中的每个采样具有原始位置。该设备150包括:用于接收编码采样序列的装置160,其中编码采样序列中的每个编码采样具有排序位置,并且该装置160还被形成为接收与采样的原始和排序位置之间的关系有关的信息。该设备150还包括:用于对采样以及与原始和排序位置之间的关系有关的信息进行解码的装置170;以及用于基于与原始和排序位置之间的关系有关的信息对采样重排序,使得每个采样具有其原始位置的装置180。
在实施例中,接收装置160被形成为将与原始和排序位置之间的关系有关的信息作为索引排列进行接收。此外,接收装置160被形成为将与原始和排序位置之间的关系有关的信息作为反演图进行接收。在实施例中,解码装置170被形成为使用熵和后续差分解码或者仅使用熵解码对经编码的采样或者与原始和排序位置之间的关系有关的信息进行解码。接收装置160可以可选地接收预测滤波器的经编码的系数,并且解码装置170被形成为对经编码的系数进行解码,其中该设备150还可以包括用于基于系数来预测采样或者原始和排序位置之间的关系的装置。
在又一实施例中,接收装置160可以被形成为进一步接收与采样和预测滤波器的输出信号之间的差异相对应的残差信号,并且解码装置170还可以被形成为基于残差信号来修改采样。装置170可以可选地用熵解码对残差信号进行解码。接收装置160还可以接收函数规则的函数系数,并且该设备150还可以包括用于使函数规则适应于排序序列的至少一个部分范围的装置,并且解码装置170可以被形成为对函数系数进行解码。
图2a示出了一种用于对信息信号的采样序列进行编码的设备200的实施例,该序列中的每个采样具有原始位置。该设备200包括:用于按照采样的大小对采样进行排序,以获得采样的排序序列的装置210,每个采样具有在排序序列中的排序位置。该设备200还包括:用于调整函数规则的函数系数以适应排序序列的至少一个部分范围的装置220;以及用于对函数系数、在部分范围之外的采样以及与采样的原始和排序位置之间的关系有关的信息进行编码的装置230。
该设备200还可以包括预处理装置,预处理装置被形成为执行滤波、时间/频率变换、预测或者多通道冗余消减以生成采样序列。在实施例中,该信息信号包括音频信号。编码装置230可以被形成为将与原始和排序位置之间的关系有关的信息编码为索引排列。此外,编码装置230可以被形成为将与原始和排序位置之间的关系有关的信息编码为反演图。可选地,编码装置230还可以被形成为使用差分和后续熵编码或者仅使用熵编码将经排序的采样以及与原始和排序位置之间的关系有关的信息进行编码。编码装置230还可以被形成为基于采样、排列或者反演图,来确定预测滤波器的系数并且将其编码。
在其他实施例中,编码装置230还可以被形成为将与采样和预测滤波器的输出信号之间的差异相对应的残差信号进行编码。用于编码的装置230可以再一次被适配为用熵编码对残差信号进行编码。
图2b示出了一种用于将信息信号的采样序列进行解码的设备250的实施例,序列中的每个采样具有原始位置。该设备250包括:用于接收经编码的函数系数、经排序的采样以及与采样的排序位置和原始位置之间的关系有关的信息的装置260。该设备250还包括:用于对采样进行解码的装置270;以及用于基于在序列的至少一个部分范围内的函数系数来逼近采样的装置280。该设备250还包括:用于基于与原始和排序位置之间的关系有关的信息对采样和逼近的部分范围重排序,使得每个采样具有其原始位置的装置290。
在实施例中,该信息信号可以包括音频信号。接收装置260可以被形成为将与原始和排序位置之间的关系有关的信息作为索引排列进行接收。此外,接收装置260可以被形成为将与原始和排序位置之间的关系有关的信息作为反演图进行接收。装置270可以可选地使用熵和后续差分解码或者仅使用熵解码将经排序的采样或者与原始和排序位置之间的关系有关的信息进行解码。接收装置260还可以被适配为接收预测滤波器的经编码的系数,并且解码装置270可以被形成为对经编码的系数进行解码,其中该设备250还包括用于基于系数来预测采样的装置。
在其他实施例中,接收装置260可以被形成为接收与采样和预测滤波器或者逼近装置280的输出信号之间的差异相对应的残差信号,并且解码装置270可以被形成为基于残差信号来修改采样。解码装置270可以可选地用熵解码对残差信号进行解码。
图3a示出了一种用于对信息信号的采样序列进行编码的设备300,序列中的每个采样具有原始位置。该设备300包括:用于按照采样的大小对采样进行排序,以获得采样的排序序列的装置310,每个采样具有在排序序列中的排序位置。该设备300还包括:用于依赖于采样的原始和排序位置之间的关系来生成数列,并基于该数列来确定预测滤波器的系数的装置320。该设备300还包括用于对经排序的采样和系数进行编码的装置330。
该设备300还可以包括预处理装置,预处理装置被形成为执行滤波、时间/频率变换、预测或者多通道冗余消减以生成采样序列。在实施例中,信息信号可以包括音频信号。用于生成数列的装置320可以被形成为生成索引排列。可选地,用于生成数列的装置320可以生成反演图。用于生成数列的装置320可以被适配为进一步生成与数列和基于序列预测得到的预测数列之间的差异相对应的残差信号。编码装置330可以被适配为根据差分和后续熵编码或者仅仅熵编码对经排序的采样进行编码。编码装置330还可以被形成为对残差信号进行编码。
图3b示出了一种用于将信息信号的采样序列进行解码的设备350的实施例,序列中的每个采样具有原始位置。该设备350包括用于接收预测滤波器的系数和采样序列的装置360,其中每个采样具有排序位置。该设备还包括:用于基于系数来预测数列的装置370;以及用于基于数列对采样序列重排序,使得每个采样具有其原始位置的装置380。
在实施例中,信息信号可以包括音频信号。此外,用于预测数列的装置370可以将索引排列预测为数列。用于预测数列的装置370还可以将反演图预测为数列。接收装置360还可以被形成为接收经编码的残差信号,并且预测装置370可以被形成为将残差信号考虑到对数列进行预测当中。该设备350还包括解码装置,解码装置被形成为根据熵和后续差分解码或者仅仅熵解码对采样进行解码。
图4a示出了一种用于对采样序列进行编码的设备400的实施例,其中时序列中的每个采样具有原始位置。该设备400包括:用于按照采样的大小对采样进行排序,以获得采样的排序序列的装置410,其中每个采样具有在排序序列中的排序位置。该设备400还包括:用于对经排序的采样进行编码并且使用与采样的原始和排序位置之间的关系有关的信息对数列进行编码的装置420,其中数列中的每个元素都是唯一的,并且编码装置420将比特的数量与数列的每个元素进行关联,使得如果在对第一元素进行编码之前已经进行了编码的元素少于在对第二元素进行编码之前已经进行了编码的元素,则与第一元素相关联的比特数量大于与第二元素相关联的比特数量。
此处,编码装置420可以被形成为对长度N的数列进行编码,并且同时对X个元素的数量进行编码,其中,按以下关系,将G个比特与X个元素的数量相关联
Figure A20078004988600211
其中0<X≤N
其中底部开口的括号意味着该括号中的值被舍入至比该值高的最接近整数。
在另一个实施例中,编码装置420可以被形成为对长度N的数列进行编码,其中X是数列中已经进行了编码的元素的数量,其中,将G个比特与数列的下一个元素相关联
Figure A20078004988600212
其中0≤X<N
图4b示出了一种用于对采样序列进行解码的设备450,序列中的每个采样具有原始位置。该设备450包括:用于接收编码数列以及采样序列的装置460,其中每个采样具有排序位置。该设备450还包括:用于基于编码数列,使用与原始和排序位置之间的关系有关的信息对解码数列进行解码的装置470,其中,解码数列中的每个元素是唯一的,并且解码装置470将比特数量与数列的元素相关联,使得如果在对第一元素进行解码之前的已经进行了解码的元素少于在对第二元素进行编码之前已经进行了解码的元素,则与第一元素相关联的比特数量大于与第二元素相关联的比特数量。该设备450还包括:用于基于解码数列对采样序列进行重排序,使得在解码序列中的每个采样具有其原始位置的装置480。
在实施例中,解码装置470可以被形成为对长度N的数列进行解码,并且同时对X个元素的数量进行解码,其中,按以下关系,将G个比特与X个元素的数量相关联
Figure A20078004988600221
其中0<X≤N
解码装置470还可以被形成为对长度N的数列进行解码,其中X是数列中已经进行了编码的元素的数量,其中,按以下关系,将G个比特与数列的下一个元素相关联
Figure A20078004988600222
其中0≤X<N。
图5a示出了音频信号505的波形(大幅度)、排列510(中幅度)以及反演图515(小幅度)。在图5b中,为了更好纵览,以另一尺度再一次示出了排列510以及反演图515。
从图5a、b所示的曲线中,可以看到音频信号505、排列510以及反演图515之间的相关性。可以清楚地看到输入信号到排列和/或反演图的相关性传递。根据实施例,除了对经排序的采样进行编码之外,可以通过建立随后对其进行熵编码的反演图来进行排列编码。从图5中可以看出,由于相关性的缘故,还可能对排列和/或反演图进行预测,其中,例如在无损编码的情况下相应的残差信号可以被熵编码。
由于在将输入信号传递至得到的排列和/或反演图中存在的相关性,预测是可能的,参见图5a、b。此处可以使用众所周知的FIR(有限脉冲响应)以及IIR(无限脉冲响应)作为预测滤波器。然后选择这样的滤波器的系数,使得原始输出信号可以例如基于滤波器输入处的残差信号,存在于滤波器输出处或者在滤波器输出处输出。在实施例中,滤波器的相应系数和残差信号可以被以更低的代价传送,即用比原始信号本身更少的比特或者传输速率来传送。接着,在接收机和/或解码器中,基于所传送的系数以及可能的残差信号来预测或者重构原始信号。系数的数量和/或预测滤波器的阶数一方面确定了传输所需的比特,并且另一方面确定了可以何种精确度预测或者重构原始信号。
反演图是排列的等价表示,但是更适合用于熵编码。对于有损编码来说,还可以仅以不完全的方式进行逆排序,从而节约一些数据量。
图6示出了编码器600的实施例。在编码器600中,可以进行输入数据的预处理605(例如,时间/频率变换、预测、立体声冗余消减、用于频带限制的滤波,等等)。然后,对预处理数据排序610,其中获得排序数据以及排列。然后该排序数据可以被进一步处理或者编码615,并且此处可以使用例如差分编码。然后对该数据进行熵编码620并且使其可以被下面的比特复用器625所使用。还可以例如通过用可能的后续预测来确定反演图,首先对排列进行处理或者编码630,随后,此处还可以在向比特复用器625提供经熵编码的排列和/或反演图之前,使用熵编码635。然后比特复用器625将熵编码数据以及排列复用为比特流。
图7示出了解码器700的实施例,解码器700获得例如依照于编码器600执行过编码的比特流。那么首先,在比特流解复用器705中对该比特流进行解复用,随后向熵解码710提供编码数据。然后,可以在对排序数据716的解码中,以例如差分解码对熵解码数据进一步进行解码。然后,将经解码的排序数据提供给逆排序720。从比特流复用器705起,经编码的排列数据也被提供至熵解码725,熵解码725还可以具有下游的对排列的进一步解码730。然后经解码的排列也被提供至逆排序720。然后逆排序720可以基于经解码的排列数据和经解码的排序数据输出数据。
实施例还可以具有包括三种操作模式的编码***。模式1在输入信号的心理-声学考虑的辅助下可以支持高压缩率。模式2在不利用心理-声学的情况下支持中压缩率;模式3可以支持较低压缩率,但是采用无损编码,参见Tilo Wik,Dieter Weninger:VerlustloseAudiokodierung mit sortierten Zeitwerten und Anbindung anfilterbankbasierte Kodierverfahren,2006年10月。
所有模式可以省略共有的量化、重采样以及低通滤波的处理阶段。因此,可以在全部3个阶段中传送整个带宽的输入信号。图8示出了编码器800的又一实施例。图8示出了编码器800的块电路图和/或针对模式1和2的编码方法。通过时间/频率变换805,例如MDCT(改进的离散余弦变换),将输入信号变换至频域中,其中MDCT参见J.Princen,A.Bradley:Analysis/synthesis Filter Bank Design Based on TimeDomain Aliasing Cancellation,IEEE Trans.ASSP 1986。
其后,根据谱线的幅度的大小对谱线进行排序810。由于得到的排序频谱具有相对简单的曲线形状,在实施例中,可以通过借助于曲线拟合815的函数规则轻易地逼近该曲线形状,例如参见Draper,N.R以及H.Smith,Applied Regression Analysis,第三版,John Wiley& Sons,纽约,1998。从而使由重排序得到的谱线索引的排列在解码器侧再次恢复为原始顺序,因此可以重构原始频谱,此时可以求出逆排序规则820并且将其写入比特流,以包含尽可能小的数据量。例如,这可以针对模式1通过游程长度编码820并且针对模式2通过能与反演图一起工作的特殊排列编码器820予以实现。
然后附加地通过熵编码方法或者熵编码器830将游程长度编码和/或排列编码器820的数据进行编码,并且最终写入至比特流中,比特流包括附加信息,例如上述函数规则的系数,由比特流格式器835所指示。例如,控制所产生的数据量(可变比特率)的方法是通过选择性地在输入信号的心理-声学模型840中加入心理-声学考虑,以及通过排列编码器820和/或游程长度编码820的不同编码器策略来改变曲线拟合的质量。为此,图8还示出了可能需要的、当数据速率依然很高的时候用于监视在编码器处理中得到的比特率并且对心理-声学模型提供反馈的块825。
图8的块电路图示出了用于比特率控制的心理-声学模型840,心理-声学模型840可以仅针对例如模式1被激活,并且在模式2中可以省略该控制方式以有利于编码质量。在操作模式1中,可以实现比其它两个模式更高的压缩率。为此,在输入信号的心理-声学考虑840的辅助下,以针对性的方式将频谱的线设置为零,或者可选地将索引排列的元素排除在反向排序(back-sorting)之外,使得能够在逆排序规则820的传输中节约数据。作为对比,在操作模式2中,频谱被完整地重构,而仅仅具有由于曲线逼近815的微小的不精确导致的极小的误差。此外,操作模式2可以通过添加残差信号被扩展至无损模式。在模式1和模式2中,可以传送整个频谱,即模式1中的数据简化仅可以通过尺寸减小的逆排序规则820的来实现。
图9示出了解码器900和/或模式1和2的解码过程的又一实施例,解码器900和/或模式1和2的解码过程基本上反向遍历了的编码器800和/或编码的步骤。首先,由比特流解复用器905将比特流去封装,并且在熵解码器910中进行解码。根据函数规则的经解码的函数系数,接着可以由“逆曲线拟合”块(即逆曲线拟合915)重构函数或者频谱函数,并且将其提供给逆排序器920。逆排序器920还从排列解码器925获得排列,排列解码器925基于熵解码排列对排列进行解码。在排列以及在所传送的函数系数的辅助下重构的频谱函数的辅助下,逆排序器920可以将其谱线恢复为原始顺序。最终,通过反变换930(例如逆MDCT)将所重构的频谱变换回时域。
在其它实施例中,也可以省略时间/频率变换,并且在时域中编码并且传送如上所述地直接排序的信息信号。
图10示出了具有1024条频率线的音频信号的频谱的示例及其逼近频谱,其中原始和逼近频谱大致是相同的。图11示出了附随的排序频谱及其逼近。可以清晰的看到,同原始频谱相比,通过函数规则逼近排序频谱更容易和更准确。为了逼近来自图11的频谱,可以将其分为例如5个区域(分区),图11中示出5个区域,在实施例中,例如,通过直线逼近区域3,由相应合适的函数(例如,多项式、指数函数,等等)逼近区域2和4。在实施例中,在区域1和5中的幅度值的数量可以被选择的非常小(例如3),但是由于这些对于声音质量来说是非常重要,应当或者非常准确对它们进行逼近或者直接传送它们。
对于整个频谱来说,依照于实施例,最后只传送了函数类型以及它们的系数,和/或针对区域1和5的幅度值(如果需要的话)。此处划分所选的五个区域仅作为示例,在任意时刻(当然,比如为了增强逼近的质量)可以选择其它子划分。图10附加地也示出了逼近的和再一次逆排序的频谱,其中可以清晰地看到重构的频谱与原始频谱非常地靠近。
在实施例中,谱线索引的数列代表索引集合的排列,由重排序得到。在实施例中,这些重排序的索引的数列可以被直接传送,产生相对较大的数据量,由于数据是完全均匀分布的,其不能通过熵编码来减少。为了将均匀分布的排序谱线的索引数列(该数列逻辑上是未排序的)映射至非均匀分布的数列,反演图形成可以被应用于实施例中的索引,反演图是双射的,即唯一可逆映射,并且提供了非均匀分布的结果,参见例如Donald E.Knuth:The Art of Computer Programming,卷3:Sorting and Searching,Addison-Wesley,1998。
此时对非均匀分布的数列进行熵编码,因此待传送的数据量变少。以下,将对反演图的工作机制的简短示例进行解释。假设数对的集合A={(x1,y1),……,(xn,yn)},其中xi代表yi的索引,使得xi形成严格单调增数列。yi可以是例如频谱的幅度值,例如A={(1,5),(2,3),(3,1),(4,2),(5,8),(6,2.3),(7,2),(8,4.5),(9,6)}。
此时基于yi的量对A进行排序,使得yi形成单调减数列。从而,xi变成未排序的数列,即原始xi的排列。
A’={(5,8),(9,6),(1,5),(8,4.5),(2,3),(6,2.3),(4,2),(7,2),(3,1)}
xi’={5,9,1,8,2,6,4,7,3}
yi’={8,6,5,4.5,3,2.3,2,2,1}
xi的反演图形成为:
Figure A20078004988600261
该反演图的再一次反演产生了原始数列:
Figure A20078004988600271
原则上,反演图形成的其它方式是可能的,例如参见
Donald E.Knuth:The Art of Computer Programming,卷3:Sorting and Searching,Addison-Wesley,1998;
D.H.Lehmer:Teaching Combinatorial Tricks to a Computer,Proc.Of Symposium Appl.Math.,Combinatorial Analysis,卷10,American Mathematical Society,Providence,R.I.,1960,179-193;
D.H.Lehmer,The Machine Tools of Combinatorics,AppliedCombinatorial Mathematics,John Wiley and sons,Inc.N.Y.,1964;以及
Ziya Arnavut:Permutations Techniques in LosslessCompression,Dissertation,1995。
此外,在其它实施例中,比如在例如Ziya Arnavut:PermutationsTechniques in Lossless Compression,Dissertation,1995中所描述的,可以在反演图形成之后进行差分编码,或者其它减少熵的后处理过程(例如预测)。
本发明的实施例基于与现有***完全不同的原理进行工作。通过避免量化、重采样和低通滤波的计算步骤,并且通过选择性地省略心理-声学考虑,实施例可以节约一些计算复杂度。针对模式2的编码质量将只依赖于对排序频谱的函数规则的逼近的质量,而针对模式1的质量主要由所使用的心理-声学模型来决定。
所有模式的比特率很大程度上依赖于待传送的逆排序规则的复杂度。在很宽的范围内给出了比特率可伸缩性,并且从高压缩到较高数据速率的无损编码,任意分级都是可能的。由于功能原理的缘故,甚至可以以相对较低的比特率传送全频率带宽的信号。对于计算能力和存储器空间的较低要求不仅支持在传统PC上使用并且实现实施例,而且在便携终端上也可以使用并且实现实施例。
此外,可以在MPEG-4可伸缩、MPEG环绕声领域(参见J.Breebaart,J.Herre,C.Faller等人;MPEG Spatial Audio Coding/MPEG Surround:Overview and Current Status;119th AES Convention,Oct 2005),双耳提示(Binaural Cue)编码领域(参见C.Faller,F.Baumgarte;Binaural CueCoding Applied to Stereo and Multi-Channel Audio Compression;112thAES Convention,May 2002)或者在低延迟区域使用,此处也可以联系时域中的应用。
由于实施例的功能原理不对待编码的信号强加任何限制性要求,具体而言无损模式的应用可以发生在音频编码以外,比如视频编码或者其它领域中。
由于得到的比特率显著地依赖于待传送的逆排序规则的复杂度,因此甚至还可以构思出其它实施例。例如,如果传送一个键,而在解码器侧可以所述键唯一地标识所获得的排列,则可以实现改进。在这方面,可以使用“限制排列”领域中的现有技术作为基础,参见V.Vatter;Finitely Labeled Generating Trees and Restricted Permutations;Journal of Symbolic Computation,41(2006),559-572。
另外,实施例可以提供误差或者残差信号传输,以此可以改善模式1和2的质量,并且模式2甚至被扩展到无损模式。此外,所传送的误差信号可以允许针对在模式1的逆排序中被排除掉的频率线进行智能逆排序,从而进一步增强该模式的质量。
实施例还可以提供针对模式1的频率线合成,以类似于SBR(频谱频带复制)的方式工作,但是此处并不专门负责高频范围,而是重构已删除的中间频率范围。在其它实施例中,特别针对于出现在逼近中的误差的心理-声学考虑可以改善质量并且降低比特率。由于重排序和后续的曲线逼近的原理不依赖于来自频域的信号,因此还可以在时域中针对模式2使用其它实施例。由于模式2和3省略了心理-声学考虑的使用,还可以在音频编码以外使用实施例。
实施例还可以提供对适应于本方法特性的立体声信号的优化处理,因此同双重单声道编码(twofold monocoding)相反,可以再一次减少比特消耗和计算量。
实施例使用排序模型。在依照于排序模型工作的编码方法中,对待编码的数据进行排序。从而,一方面,引入了数据的人为相关性,由此可以更容易地对数据进行编码。另一方面,依靠排序形成了对时间值原始位置的排列。对于能够再一次重构原始信息或者音频信号的解码器来说,因此除了经编码的时间值之外,有必要对反向排序规则(排列)进行编码和传送。因此,仅仅对时间值进行编码的原始问题此时被分为两个部分问题,即对排序时间值进行编码和对逆排序规则进行编码。图11示出了所谓的“无损排序”编码的方案。例如,依靠排序,将音频信号映射至具有更强相关性的信号。然后,对经排序的时间值和逆排序规则进行编码。
根据基于图11描述的原理,可以得到用于新颖的无损编码方法或者音频编码方法的名称SOLO(无损排序)。两个部分问题中的每个都具有非常特殊的属性。对于排序时间值的编码来说,在实施例中,举例而言差分编码是比较适合的。对排列进行编码可以例如发生在等价的反演图表示中。下面,将详细解释两个部分问题。然而,除了排序模型,还可以在SOLO中使用传统的解相关方法,比如预测模型。
在排序模型的情况下,同常规编码方法相比,增加了附加处理步骤(对于排列的处理)。因此,在实施例中,四个基本处理步骤为:
1、块划分(成帧)
2、未排序的/排序时间值的解相关
3、对排列进行处理
4、对来自2和3的数据进行熵编码
在差分编码中,如其名称所暗示的,其不是对实际值而是对连续值的差异进行编码。如果差异小于原始值,可以实现较高的压缩。
令i∈N(N=自然数集),其中1≤i≤n<∞以及x1∈Z(Z=整数集),则差分编码可以被定义为:
Figure A20078004988600301
差分编码是可逆的。令i∈N(N=自然数集),其中1≤i≤n<∞以及x1∈Z(Z=整数集),则逆差分编码可以被定义为:
Figure A20078004988600302
由于差分编码是一种简单类型的预测,此处热身(在i=1处的时间值)也被排除在熵编码之外。在时间值降序排序的情况下,δ具有残差信号完全位于正自然数集内的属性。由此,后面的熵编码可以变得更容易。当待编码的值彼此非常接近(即彼此强相关)时,差分编码最优化地工作。通过对时间值进行排序,时间值将具有强相关性。
图12示出了差分编码、排序信号及其残差信号的示例曲线,即图12示出了应用于排序时间值的差分编码的效果。可以清晰地看到位于索引1(热身或者热身阶段)的经排序和解相关的时间信号的匹配值。此外,与排序时间值相对的差分编码的残差信号的实质上较小的动态范围是显而易见的。图12上的细节可以从下表中看出。因此差分编码代表用于对排序时间值进行编码的简单和有效的方法。
  最大值(没有热身)   最小值   热身
  排序时间值   32425   -32768   32767
  残差信号δ   2630   0   32767
在实施例中,曲线拟合(CF)是尝试尽可能地使给定数学模型函数适应于数据点(此处为排序时间值)的技术。曲线拟合的有效性很大程度上是由所要描述的曲线所具有的形状而决定的。可以肯定,依赖于排序的种类,关注于单调减和/或单调增曲线。图12和13示出了排序时间值的两种代表性的曲线形状。图13中的非均匀曲线形状是值得注意的。在大约40%的情况下出现这样的曲线轨迹(与不同音频信号的选择相关),这样的曲线轨迹大多不能依靠曲线拟合来特别好得描述。
为了逼近曲线轨迹,如图12和13所示,选择以下函数。在实验中,该函数已被证明适于描述此处呈现的曲线形式:
f cf 1 ( x ) = c 1 · e - λ 1 x + c 2 · e - λ 2 x
系数c1,c2,λ1,λ2是实数集的元素,并且可以用例如内尔德-米德(Nelder-Mead)单纯形算法来确定,参见NELDER,J.A.;MEAD,R.A.:A Simplex Method for Function Minimization.Computer Journal,卷7,第308-313页,1965。
该算法是优化若干参数的非线性函数的方法。类似于采用步长控制的Regulafalsi方法,沿最优方向逼近值的趋向。内尔德-米德单纯形算法大致上线性收敛并且是相对简单和健壮的。函数fcf1具有灵活适应曲线轨迹的整个数列的优点。尽管如此,其缺点是需要相对多的辅助信息(四个系数)。此外,注意到排序曲线的某些部分(例如图12的中间部分)可以通过第一阶多项式(直线)很好的描述并且将只需要两个实系数a,b。因此,应将第二函数作为备选应用:
fcf2(x)=ax+b。
对块的排序时间值的所有数值进行曲线拟合必然是非常不准确的。因此,将块划分为几个较小的分区似乎是有利的。尽管如此,如果块被分解成太多的由函数fcf1和fcf2来描述的分区,将需要非常多的函数系数。因此,在一实施例中,在固定总块长1024个时间值的情况下,将其划分为四个分区,每个分区有256个时间值。为了能够针对每个分区决定是fcf1还是fcf2能够更好地适用于曲线拟合,需要适当的判决标准。判决标准一方面应当容易确定,另一方面应当是可表达的。为了保证这点,首先形成相应函数的残差信号并且对所需比特进行估计。由于函数fcf1需要的系数是fcf2的两倍,因此针对fcf1额外估计了32比特。
在图14中,示出了曲线拟合的工作机制。在该帧中,第一和第四分区由fcf2描述,并且第二和第三分区由fcf1描述。
最终,要拟定差分编码和依靠曲线拟合的解相关之间的直接比较。为此,示出了以字节为单位的相应成本。为了保证两种编码方法的直接比较,在两个情况下使用了仅具有一个参数的前向适应莱斯编码。在所有块中,差分编码优于此处示出的曲线拟合;图15示出了比较。
下面,将更详细地解释本发明的实施例的细节。下表列出了在下面使用的音频素材,将在相应的段落中将对其进行引用。
  编号   文件名   采样率   比特   通道   备注   源   风格
  1   adia m.wav   44100Hz   16   1   n.d.   流行
  2   White m.wav   44100Hz   16   1   0dBFS   s.e.   白噪声
  3   es01 m.wav   44100Hz   16   1   Suzanne Vega   n.d.   流行
  4   es02 m.wav   44100Hz   16   1   剪切   SQAM   德国男性
  5   es03 m.wav   44100Hz   16   1   剪切   SQAM   英国女性
  6   si01 m.wav   44100Hz   16   1   剪切   SQAM   大键琴
  7   si02 m.wav   44100Hz   16   1   剪切   SQAM   Castagnets
  8   si03 m.wav   44100Hz   16   1   n.d.   律管
  9   sm01 m.wav   44100Hz   16   1   n.d.   风笛
  10   sm02 m.wav   44100Hz   16   1   n.d.   钟
  11   sm03 m.wav   44100Hz   16   1   n.d.   Dulzimer
  12   sc01 m.wav   44100Hz   16   1   剪切   SQAM   喇叭协奏曲
  13   sc02 m.wav   44100Hz   16   1   Richard Wagner   n.d.   诗乐协会会员
  14   sc03 m.wav   44100Hz   16   1   n.d.   流行
  15   sine 1kHz 0dB.wav   44100Hz   16   1   0dBFS   s.e.   1kHz正弦
  16   adia LeqR.wav   44100Hz   16   2   L=R   s.e.   流行
  17   adia.wav   44100Hz   16   2   n.d.   流行
  18   es01.wav   44100Hz   16   2   Suzanne Vega   n.d.   流行
  19   es02.wav   44100Hz   16   2   剪切   SQAM   德国男性
  20   es03.wav   44100Hz   16   2   剪切   SQAM   英国女性
  21   si01.wav   44100Hz   16   2   剪切   SQAM   大键琴
  22   si02.wav   44100Hz   16   2   剪切   SQAM   Castagnets
  23   si03.wav   44100Hz   16   2   n.d.   律管
  24   sm01.wav   44100Hz   16   2   n.d.   风笛
  25   sm02.wav   44100Hz   16   2   剪切   SQAM   钟
  26   sm03.wav   44100Hz   16   2   n.d.   Dulzimer
  27   sc01.wav   44100Hz   16   2   剪切   SQAM   喇叭协奏曲
  28   sc02.wav   44100Hz   16   2   Richard Wagner   n.d.   诗乐协会会员
  29   sc03.wav   44100Hz   16   2   n.d.   流行
无损编码可以大致的被分为两个领域。存在能够对大多数类型的数据有效的通用方法,并且存在被优化用于压缩非常特殊的数据(比如音频信号)的专用方法。
目前,用于数字数据压缩的通用方法(如GZIP或者ZIP)已经存在了很多年了。GZIP使用用于压缩的收缩(Deflate)算法,收缩算法是LZ77(参见Ziv,Jacob;Lempel,Abraham:A Universal Algorithm forSequential Data Compression.IEEE Transactions on Information Theory,Vol.IT-23,No.3,May 1977)和霍夫曼编码(参见Huffman,David A.:A Method for the Construction of Minimum-Redundancy Codes.Proceedings of the I.R.E,September,1952)的组合。ZIP文件格式使用了用于压缩的相似算法。另一种通用方法是BZIP2。此处,在对数据实际进行编码之前先进行具有Burrows-Wheeler变换(BWT)的预编码(参见Burrows,M.;Wheeler,D.:A block sorting lossless data compressionalgorithm.Technical Report 124,Digital Equipment Corporation,1994)。
BZIP2也使用霍夫曼编码。这些程序可以被应用于任意数据,如文本、程序代码、音频信号等等。由于它们的工作机制,这些方法对于文本确实实现了比对于音频信号更好的压缩。GZIP和专门用于音频信号的SHORTEN压缩方法(参见Robinson,Tony:SHORTEN:Simplelossless and near lossless waveform compression.Technical reportCUED/FINFENG/TR.156,Cambridge University EngineeringDepartment,December 1994)的直接比较证实了这点(参见下表)。针对测试使用了相应的标准设置。
因此,为了获得针对音频信号的良好压缩因子,必须在压缩中考虑音频信号的特殊属性。大多数无损音频编码方法共享图16中所示的块电路图。
图16示例地示出了大多数无损音频压缩算法的处理步骤。图16中的图示示出了块电路图,其中首先音频信号被提供给块形成或者“成帧”块,所述块形成或者“成帧”块将音频信号划分为信号块。随后,通道内解相关块依靠例如差分编码将信号进行解相关。在熵编码块中,信号最终被熵编码,仍参见Hans,Mat;Schafer,Ronald W.:LosslessCompression of Digital Audio.IEEE Signal Processing Magazine,July2001。
首先,将待处理的数据分解成特定大小的信号部分(帧)x(n)∈Z(Z对应于整数集)。接下来是解相关步骤,其中尝试尽可能的从信号中去除冗余。最后,对由解相关步骤获得的信号e(n)∈Z进行熵编码。之前,存在用于解相关步骤的两种基本过程。大多数无损音频编码方法使用一种线性预测来从信号中去除冗余(预测建模)。其它无损音频编码方法基于有损音频编码方法,其中除了损失数据之外,对除原始信号之外的残差或者误差信号进行编码(有损编码模型)。下面,更详细地考虑不同的方法。
线性预测(线性预测编码-LPC)主要广泛使用在数字语音信号处理中。其意义不仅在于高效率,还在于相对较低的计算复杂度。预测的基本思想是从之前的值x(n-1),……,x(n-p)预测x(n)。如果p个之前的值被用于预测,其被称作p阶预测器。在无损音频编码中使用的预测编码方法具有图12中示出的基本结构。
Figure A20078004988600341
Figure A20078004988600342
此处指代具有量化系数
Figure A20078004988600343
Figure A20078004988600344
的z变换多项式(参见Mitra,Sanjit K.:DigitalSignal Processing.New York:McGraw-Hill,2001,pp.155-176)。Q代表量化至与x(n)相同的字长。Z变换是时间连续信号的Laplace变换的时间离散模拟。
图17示出了预测编码的结构的实施例。原理上,图17示出了IIR滤波器结构,包括具有滤波器系数
Figure A20078004988600345
的前馈分支,具有滤波器系数的反馈分支以及量化Q。
图17基于下列公式:
Figure A20078004988600347
如果预测编码方法最佳工作,大部分冗余被从x(n)去除并且由
Figure A20078004988600348
Figure A20078004988600349
的系数所表示。此时,结果残差信号e(n)是不相关的并且在幅度上明显小于原始信号x(n)。从而,实现了编码增益。如果 B ^ ( z ) = 0 , 即反馈项等于0,这被称作FIR预测器。否则,即 B ^ ( z ) ≠ 0 , 这被称作IIR预测器。IIR预测器在这里不做更详细地考虑。IIR预测器显著地更复杂,但是在某些情况中可以达成比FIR预测器更好的编码增益(参见Craven,P.;Law,M.;Stuart,J.:Lossless Compression usingIIR prediction filters.Munich:102nd AES Conv.,1997)。为了能够由残差信号e(n)和预测器系数再一次重构原始信号,过程如图18所示。
图18示出了在预测编码中的重构结构的实施例。图18示出了IIR滤波器结构的实施,IIR滤波器包括具有滤波器系数
Figure A200780049886003412
的前馈结构,具有滤波器系数
Figure A200780049886003413
的反馈结构以及量化Q。
图18基于下列公式:
x ( n ) = e ( n ) + Q [ Σ k = 1 p a ^ k x ( n - k ) - Σ k = 1 q b ^ k e ( n - k ) ]
针对待处理的每个信号部分每次重新确定和传送预测器系数。P阶预测器的系数ak的适应性确定可以用协方差法或者用使用了自相关函数的自相关法来完成。采用自相关法,通过解如下形式的线性方程组获得系数:
r xx ( 1 ) r xx ( 2 ) r xx ( 3 ) . . . r xx ( p ) = r xx ( 0 ) r xx ( 1 ) r xx ( 2 ) . . . r xx ( p - 1 ) r xx ( 1 ) r xx ( 2 ) r xx ( 1 ) . . . r xx ( p - 2 ) r xx ( 2 ) r xx ( 3 ) r xx ( 0 ) . . . r xx ( p - 3 ) . . . . . . . . . . . . . . . r xx ( p - 1 ) r xx ( p - 2 ) r xx ( p - 3 ) . . . r xx ( 0 ) a 1 a 2 a 3 . . . a p .
其中rxx(k)=E(s(n)s(n+k))成立(参见Sayood,Khalid:Introduction to Data Compression.San Francisco:Morgan Kaufmann,Third Edition,2006,p.333)。可选地,其可以由下列矩阵记号所表示:
r=Ra
由于R是可逆的,通过下式得到系数:
a=R-1r
Jayant,N.S.,Noll,P.:Digitial Coding of Waveforms-Principles andApplications to Speech and Video.Prentice Hall,Englewood Cliffs,NewJersey,1984,pp.267-269,Sayood,Khalid:Introduction to DataCompression.San Francisco:Morgan Kaufmann,Third Edition,2006,pp.332-334 and Rabiner,L.R.;Schafer,R.W.:Digital Processing of SpeechSignals.New Jersey:Prentice-Hall,1978,pp.396-404中详细地描述了如何精确获得用于确定最优预测器系数的线性方程组。由于R的矩阵属性,可以用列文森-杜宾(Levinson-Durbin)算法非常有效地解出该方程(参见Yu,R.;Lin,X.;Ko,C.C.:A Multi-Stage Levinson-DurbinAlgorithm.IEEE Proc.,Vol.1,pp.218-221,November 2002)。
为了预测,将时间值划分为大小为N的块。假定需要使用2阶预测器由当前块n预测时间值,则产生了如何处理来自块n的头两个值的问题。或者可以使用来自前一个块n-1的最后两个值来预测,或者不预测块n的头两个值并且保留它们的原始形式。如果使用前一个块n-1的值,则仅当块n-1被成功解码时才可以对块n解码。而这将导致块依赖性,并且违背了将每个块(帧)作为自治可解码单元来处理的原则。如果前p个值被保留它们的原始形式,它们被称作预测器的热身或者热身值(参见图19)。由于热身通常具有与残差信号不同的粒度比和统计属性,因此其在大多数情况下不进行熵编码。
图19示出了预测滤波器的热身值的示例。在图19的上方区域中,示出了未改变的输入信号,并且在下方区域中示出了热身值和残差信号。
实现预测的另一种方法是不针对每个信号部分重新确定系数,而是一直使用固定的预测器系数。如果一直使用相同的系数,这也被称作固定预测器。
作为示例,此时将详细地考虑作为预测建模的代表的AudioPaK(参见Hans,Mat;Schafer,Ronald W.:Lossless Compression of DigitalAudio.IEEE Signal Processing Magazine,July 2001,pp.28-31)。在AudioPaK中,首先将音频信号分解为独立的自治可解码部分。通常,使用192采样的倍数(192,576,1152,2304,4608)。为了解相关,使用具有固定整数系数的FIR预测器(固定预测器)。该FIR预测器首先使用在SHORTEN(参见Robinson,Tony:SHORTEN:Simple lossless andnearlossless waveform compression.Technical report CUED/FINFENG/TR.156,Cambridge University Engineering Department,December 1994,pp.3-4)中。内在地,固定预测器具有四个不同的预测模型。
x ^ 0 ( n ) = 0
x ^ 1 ( n ) = x ( n - 1 )
x ^ 2 ( n ) = 2 x ( n - 1 ) - x ( n - 2 )
x ^ 3 ( n ) = 3 x ( n - 1 ) - 3 x ( n - 2 ) + x ( n - 3 )
原理上,在方程中存在多项式逼近和/或预测方法。前p个采样x(n-1),x(n-2),……,x(n-p)可以由p-1阶多项式来描述。当在位置n处估计该多项式时,获得预测值
Figure A20078004988600365
在图20中以图形化方式示出了上述内容。图20示出了在多项式预测器中的预测模型的实施例。
通过预测获得的残差信号 e p ( n ) = x ( n ) - x ^ p ( n ) 可以以相对容易的方式,例如通过下列方程进行递归计算。
e0(n)=x(n)
e1(n)=e0(n)-e0(n-1)
e2(n)=e1(n)-e1(n-1)
e3(n)=e2(n)-e2(n-1)
最终,由残差信号值的大小的和变为最小这一事实来确定最佳预测模型。AudioPak使用了莱斯编码。由于残差信号的值是ei(n)∈Z,而莱斯编码处理N0中的值,因此首先进行从残留值ei(n)到N0的映射。
Figure A20078004988600372
对每个块(帧)确定莱斯参数k并且假定值是0,1,……,(b-1)。此处,b代表每个音频采样的比特数。K是经由下列方程确定的:
k=|log2(E(|ei(n)|))|
可以按照例如下面的方式不用任何浮点运算对K进行直接逼近:for(k=0,N=framesize;N<AbsError;k++,N*=2){NULL;},
其中framesize代表每个帧的采样数量,并且AbsError代表残差信号的绝对值的和。预测模型的另一个代表是SHORTEN(参见Robinson,Tony:SHORTEN:Simple lossless and nearlossless waveform compression.Technical report CUED/FINFENG/TR.156,Cambridge UniversityEngineering Department,December 1994)、FLAC(参见Coalson,Josh:FLAC-Free Lossless Audio Codec;http://flac.sourceforge.net)、MPEG-4音频无损编码(MPEG-4ALS)(参见Liebchen,Tilman;Reznik,Yuriy;Moriya,Takehiro;Yang,Dai Tracy:MPEG-4 Audio Lossless Coding.Berlin,Germany:116th AES Convention,May 2004)以及猿猴音频(参见Ashland,Matthew T.:Monkey’s Audio-a fast and powerful losslessaudio compressor;http://www.monkeysaudio.com/index.html)。
实现无损音频编码方法的第二种方法是建立在有损音频编码方法上的。有损编码模型的一个代表是LTAC,其中也可以用缩写LTC(无损变换编码)来代替LTAC(无损变换音频压缩),参见Liebchen,Tilman;Purat,Marcus;Noll,Peter:Lossless Transform Coding of AudioSignals.Munich,Germany:102nd AES Convention,1997。在图21中示出了该编码器的原理工作机制。
图21示出了LTAC(无损变换编码)编码器的结构的框图。该编码器包括用于将输入信号x(n)变换至频域的“DCT”块,“DCT”块之后是量化Q。然后,可以由“IDCT”块将量化信号c(n)变换回时域,其中量化信号c(n)可以被另一个量化器Q量化并且从原始输入信号中减去。然后,可以以熵编码形式传送残差信号e(n)。对应于图21,量化信号c(n)还可以经由熵编码进行编码,熵编码可以从不同的码本中选择。
在LTAC中,用正交变换(DCT-离散余弦变换)将时间值x(n)变换至频域。在有损部分中,然后对频谱值进行量化c(k)和熵编码。
目前,为了实现无损编码方法,用反变换(IDCT=逆离散余弦变换)将经量化的频谱值c(k)附加地反向变换并且再一次进行量化y(n)。依靠e(n)=x(n)-y(n)来计算残差信号。然后,对e(n)进行熵编码并且将其传送。在解码器中,依靠IDCT以及后续的量化,由c(k)再一次获得y(n)。最终,在解码器中,依靠y(n)+e(n)=y(n)+[x(n)-y(n)]=x(n)来实现x(n)的理想重构。
另一个属于有损编码模型范畴内的方法是MPEG-4可伸缩无损音频编码(MPEG-4 SLS)(参见Geiger,Ralf;Yu,Rongshan;Herre,Jürgen;Rahardja,Susanto;Kim,Sang-Wook;Lin,Xiao;Schmidt,Markus:ISO/IEC MPEG-4 High-Definition Scalable Advanced AudioCoding.Paris:120th AES Convention,May 2006)。其结合了无损音频编码/有损音频编码和可伸缩音频编码的功能。在比特流级别,MPEG-4SLS是与MPEG-4高级音频编码(MPEG-4 AAC)(参见ISO/IECJTC1/SC29/WG11:Coding of Audiovisual Objects,Part 3.Audio,Subpart4 Time/Frequency Coding.International Standard 14496-3,1999)后向兼容的。图22示出了MPEG-4 SLS(SLS=可伸缩无损音频编码)编码器的框图。
首先,用IntMDCT(整数改进型离散余弦变换)(参见Geiger,Ralf;Sporer,Thomas;Koller,Jürgen;Brandenburg,Karlheinz:Audio Coding Based on Integer Transforms;New York:111nd AES Conv.,2001)将音频数据变换至频域中,然后通过时间噪声成型(TNS)和中央/辅助通道编码进行进一步处理(整数AAC工具/改装)。然后,将AAC编码器已进行编码的所有数据通过误差映射从IntMDCT频谱值中移除。剩下的是残差信号,对残差信号进行熵编码。为了进行熵编码,使用BPGC(比特平面戈洛姆编码)、CBAC(基于上下文的算术编码)以及低能量模式。
经由两个或者更多个通道的声音传输被称作立体声。在实际中,术语立体声多数被用于特指两通道片段。如果存在多于两个个通道,则称其为多通道声音。该硕士学位论文仅处理具有两个通道的信号,对此,可以同义地使用立体声信号的称谓。处理立体声信号的一种可能是将两个通道彼此独立地编码。在该情况下,这被称作独立立体声编码。除了在“伪立体声”版本的老式单声道录音(两个通道是一样的)或者在电视中的双通道声音(独立通道)以外,立体声信号通常同时具有两个通道之间的差异和共性(冗余)。如果成功地确定了共性并且针对两个通道仅将它们传送一次,则可以减少比特率。在该情况下,这被称作依赖立体声编码(联合立体声编码)。减少立体声信号之间的冗余的一种方法是中央/辅助通道编码(MS编码)。该技术首先针对有损音频编码方法,被描述于Johnston,J.D.;Ferreira,A.J.:Sum-Difference Stereo Transform Coding,IEEE International Conference,ICASSP,1992中。下列方程示出了如何由左通道L和右通道R生成中央通道M和辅助通道S。
1 2 1 2 1 2 - 1 2 L R = M S
由于
det 1 2 1 2 1 2 - 1 2 ≠ 0
MS编码是可逆的
1 1 1 - 1 M S = L R
无损音频编码方法也使用MS编码。然而,由于上述方程具有浮点数而不是整数的特性,导致在某些情况下一些无损音频编码方法(参见Ashland,Matthew T.:Monkey’s Audio-a fast and powerful losslessaudio compressor;http://www.monkeysaudio.com/index.html)针对MS编码使用下列方程
M = NINT ( L + R 2 )
S=L-R
此处NINT意味着相对于零舍入至最接近的整数。
除了MS编码,无损音频编码方法还使用LS编码和/或RS编码(参见Coalson,Josh:FLAC-Free Lossless Audio Codec;http://flac.sourceforge.net)。为了通过LS编码获得右通道和/或通过RS编码中获得左通道,必须按照类似下面的方程进行处理
L=R+S。
R=L-S
存在进行立体声冗余消减(SRR)的两种基本可能。或者在对独立通道解相关之后(参见图23)或者在对独立通道解相关之前(参见图24)。图23示出了在对独立通道解相关之后的立体声冗余消减(SRR),图24示出了在对独立通道解相关前的立体声冗余消减。两种方法都具有特别的优势和劣势。尽管如此,下面将仅使用方法2。
在本节中,需要针对所描述的线性预测(LPC=线性预测编码)给出合适的量化。确定的系数az通常是浮点值(实数),其在数字***中仅可以由有限精度来表示。因此,必须对系数az量化。尽管如此,这可以导致较大的预测误差,并且需要在残差信号的生成中考虑进去。因此,通过精度参数g来控制量化是有意义的。如果g大,则对系数进行较精细的量化并且系数需要更多的比特。如果g小,则对系数进行较粗糙的量化并且系数需要较少的比特。为了能够实现量化,首先确定幅度上最大的系数amax
amax=max(|ai|)  i=1,2,...,p
目前,将这样确定的最大预测器系数分解为尾数M和以2为底的指数E,即
amax=2E·M
下面不再需要尾数M,但是指数E用于依靠下列方程确定缩放因子s
s=g-E-1
减1用于将有符号系数考虑进去。依靠下列方程获得针对i=1,2,……,p的量化预测器系数:
Figure A20078004988600411
使用缩放因子s以及量化预测器系数
Figure A20078004988600412
由下式确定待传送的残差信号e(n):
该方程确保了e(n)∈Z成立。通过传输热身,将参数g,s,p,
Figure A20078004988600414
以及残差信号e(n)传送至解码器,从而可以理想重构该信号部分的原始值x(n):
如果预测器的阶数增加,通常会减少残差信号的方差和幅度。这需要针对残差信号的较低数据速率。另一方面,必须传送更多的系数和更大的热身,即更多的辅助信息以供较高的预测器阶数之用。从而,总体数据速率再一次增加。因此,目标是找到一个使得总数据速率最小的阶数。
图25示出了预测器阶数和总比特消耗的关系。可以清晰地看到随着阶数的增加,残差信号需要的用于编码的比特越来越少。然而,用于辅助信息(量化预测器系数和热身)的数据速率持续的增加,从而从某点开始总数据速率再一次上升。通常地,在1<p<16处达到最小值。在图25中,在p=5处得到最优阶数。针对图25,使用了用于量化控制的固定值g=12和每采样16比特的解析度。
图26示出了量化参数g和总比特消耗的关系。关于依赖于量化参数g的总比特率(参见图26),用于残差信号的比特消耗持续地减少直至特定值。从该值往前,量化精确度的进一步增加不再有用。这意味着用于残差信号的必要的比特数量基本保持为常量。开始时总数据速率持续地减少,但是接着由于用于量化预测器系数的辅助信息的增加总数据速率再一次上升。在大多数情况中,在5<g<15处获得最优。在图26中,在g=11处获得最小值。针对图26,使用了常数预测器阶数p=7以及对于输入信号每采样16比特的解析度。
此时将利用刚刚获得的发现,以在简化的MATLAB代码表示中指示用于无损线性预测的算法(见lpc())。MATLAB是设计用于矩阵计算的商业数学软件。其名称MATrix LABortory源自于此。在MATLAB中用专有的、平***立的编程语言进行编程,编程语言由相应的计算机来解释。首先,依照于在图25和图26中确定的极限值来初始化一些变量。然后,通过自相关和列文森-杜宾算法确定预测器系数。算法的核心是通过两个交织的for循环实现的。外循环借助预测器阶数p运行。内循环借助量化参数g运行。在内循环中,进行系数的量化、残差信号的计算以及残差信号的熵编码。还可以不对残差信号进行完整熵编码,而估计比特消耗,比特消耗估计可以更快的执行。最终,确保具有最低比特消耗的变体。下面是MATLAB代码的实施例:
lpc(data,bitsPerSample)
%initialize bestBits with maximum value
        bestBits=INT_MAX;
%limits of the predictor order
        max_lpc_order=16;
        min_lpc_order=1;
%limits of the quantization accuracy
        min_quant_precision=5;
        max_quant_precision=15;
%calculate autocorrelation
        autoc=CalcAutocorr(data,max_lpc_order);
%determine coefficients for all relevant
%orders with the Levinson-Durbin algorithm
        coeffs=CalcCoeff(autoc,max_lpc_order);
%find the best order p
        for p=min_lpc_order:1:max_lpc_order
%find the best quantization parameter g
                 for g=min_quant_precision:1:max_quant_precision
%quantize the coefficients
                         [qcoeffs,s]=QuantCoeffs(coeffs,p,g);
%calculate residual signal(actual prediction)
                         [residual,warmup]=CalcResidual(data,p,s,qcoeffs);
%entropy coding of the residual signal
                         bitsResidual=EntropyCoding(residual);
%necessarv bits for the coefficients
                         bitsQCoeffs=g*p;
%necessary bits for the warmup
                         bitsWarmup=bitsPerSample*p;
%determine overall bit consumption
                         bitsTotal=bitsResidual+bitsQCoeffs+bitsWarmup;
%store best variant
                         if(bitsTotal<bestBits)
                                bestOrder=p;
                                bestWarmup=warmup;
                                bestQuantScal=s;
                                bestPrecision=g;
                                bestQCoeffs=qcoeffs;
                                bestResidual=residual;
                                bestBits=bitsTotal;
                        end
                end
        end
end
此处,需要检验上述FIR预测器是否可以用固定和整数系数(固定预测器)以可获益的方式来扩展。从上节可知,最优阶数p位于范围1<p<16中。在Robinson,Tony:SHORTEN:Simple lossless and nearlosslesswaveform compression;Technical report CUED/FINFENG/TR.156,Cambridge University Engineering Department,December 1994中的固定预测器使用最大阶数p=3。在Hans,Mat;Schafer Ronald W.:LosslessCompression of Digital Audio,IEEE Signal Processing Magazine,July2001,p.30中,给出了固定预测器的传输函数
H(z)=(1-z-1)p
和幅频曲线
|H(ejωT)=|2·sin(ωT/2)|p
此处T指代采样率,并且ω=2πf。传输函数是线性、时不变***的形态的数学描述,其具有输入和输出。依靠频率响应,描述线性时间不变***的性态,其中将输出量与输入量相比较,并且根据频率进行记录。使用上述方程,设计另两个阶数p=4和p=5:
x ^ 0 ( n ) = 0
x ^ 1 ( n ) = x ( n - 1 )
x ^ 2 ( n ) = 2 x ( n - 1 ) - x ( n - 2 ) .
x ^ 3 ( n ) = 3 x ( n - 1 ) - 3 x ( n - 2 ) + x ( n - 3 )
x ^ 4 ( n ) = 4 x ( n - 1 ) - 6 x ( n - 2 ) + 4 x ( n - 3 ) - x ( n - 4 )
x ^ 5 ( n ) = 5 x ( n - 1 ) - 10 x ( n - 2 ) + 10 x ( n - 3 ) - 5 x ( n - 4 ) + x ( n - 5 )
依靠下列方程获得相应的残差信号,并且采用与上节等效的方式执行热身形成:
e0(n)=x(n)
e1(n)=e0(n)-e0(n-1)
e2(n)=e1(n)-e1(n-1)。
e3(n)=e2(n)-e2(n-1)
e4(n)=e3(n)-e3(n-1)
e5(n)=e4(n)-e4(n-1)
图27示出了固定预测器的依赖于其阶数p的幅频响应。基于对频率响应的考虑,不同预测器阶数的效果变得更加明显(参见图27)。在阶数p=0处,残差信号对应于输入信号。从而,获得恒定为1的幅频响应。在阶数上的增加一方面导致了对低频信号部分的更强的衰减,另一方面,导致高频信号部分的增加。为了说明,频率轴被归一化为采样频率的一半,从而1表示一半的采样频率(此处为22.05kHz)。
此时需要验证,以示出是否可以通过包括p=4和p=5来获得编码增益。为此,验证音乐的不同片段,并且对每个块选择需要最少比特的阶数。
在下表中,示出了对整个音频文件求和后,阶数被选作最佳值的频率。为了创建本表,选择了1024个时间值的恒定块长度。
  片段号   p=0   p=1   p=2   p=3   p=4   p=5   总块数
  1   0   14   316   67   57   0   454
  4   15   69   161   79   0   0   324
  6   5   173   115   27   0   0   320
  7   3   74   189   43   0   0   309
  8   0   221   959   0   0   0   1180
  14   2   30   279   158   4   0   473
  15   0   0   0   0   0   216   216
从上表可以看出,不存在在所有情况下都是最优的预测器阶数。因此,针对每个块再次确定最佳阶数是有意义的。最常选择阶数p=2、p=3以及p=1。使用阶数p=0和p=4的频率较低。通过由p=4对固定预测器进行扩展,在片段号1中获得了一些编码增益。阶数p=5仅在片段15中提供了编码增益。由于片段号15不是音乐的“常见”片段,而是1kHz正弦,p=5的好处是可疑的。此外,这还可以显示出p>5通常不再提供任何大编码增益而仅增加复杂度。如上节中一样,将刚刚获得的发现用于指示算法(参见fixed())。首先,定义最大和最小阶数。然后是for循环,for循环遍历所有阶数。在该循环内,确定具有相应比特消耗的残差信号以及依赖于阶数的热身成本。最终,选择最佳变体。
fixed(data,bitsPerSample)
%initialize bestBits with maximum value
        bestBits=INT_MAX;
%limits of the predictor order
        max_fixed_order=5;
        min_fixed_order=0;
        for p=min_fixed_order:1:max_fixed_order
%calculate residual signal(actual prediction)
                 [residual,warmup]=CalcResidual(data,p);
%entropy coding of the residual signal
                 bitsResidual=EntropyCoding(residual);
%necessary bits for the warmup
                 bitsWarmup=bitsPerSample*p;
%determine overall bit consumption
                 bitsTotal=bitsResidual+bitsWarmup;
%store best variant
                 if(bitsTotal<bestBits)
                        bestOrder=p;
                        bestWarmup=warmup;
                        bestResidual=residual;
                        bestBits=bitsTotal;
                 end
        end
end
在差分编码中,如其名称所暗示的,其不是对实际值而是对连续值的差异进行编码。如果差异小于原始值,可以实现较高的压缩。上节中描述的固定预测器使用了针对p=1的差分编码。
定义(差分编码):令i∈N,其中1<i<n<∞并且xi∈Z,则差分编码被定义为:
Figure A20078004988600471
差分编码是可逆的。
定义(逆差分编码):令i∈N,其中1<i<n<∞并且xi∈Z,则逆差分编码被定义为:
如在预测器的情况中那样,热身(在i=1处的时间值)被排除在熵编码之外。在降序排序时间值的情况下,δ具有残差信号完全处于N0中的属性。从而,后续的熵编码可以被设计的更为简单。如果待编码的值彼此极为接近(即强相关),则差分编码可以最优地工作。通过时间值的排序,时间值将变为强相关。图12已经示出了应用于排序时间值的差分编码的效果。可以清晰地看到在索引1处(热身)的排序和解相关时间信号的匹配值。此外,与排序时间值相对的差分编码的残差信号的实质上较小的动态范围是显而易见的。关于图12上的细节可以从下列表中看出。因此,差分编码代表了用于对排序时间值编码的简单和有效的方法。
  片段号2   最大值(没有热身)   最小值   热身
  排序时间值   32425   -32768   32767
  残差信号δ   2630   0   32767
在下面两节中,给出了如何对排列进行有效编码的方法。假定排列具有无记忆性,则任意排列σ(其中|σ|<∞)的熵由下列方程给出。在此处故意省略掉了排列的记忆性,这是由于无记忆代表了最简单类型的排列编码
H(σ)=log2(|σ|)。
此时,H(σ)描述了用于对σ(i)进行二进制编码所需的比特/字符的数量。为了表示例如长度256的排列,需要每个元素8个比特。这是由于排列的元素的出现是等概率的。在本例中,通过对时间值进行排序而在对音频信号进行编码时获得的排列(例如16比特解析度)将单独地需要一半的输入数据速率。由于该数据量已经是相对很高了,因此出现下列问题:是否可以以每个元素少于log2(|σ|)个比特来对排列进行二进制编码?
在上节中,已经说明了可以从排列表示切换至等价的反演图图示并且反之亦可。因此,需要检验反演图的二进制表示所需的数据速率是否小于排列所需的数据速率。此处示例是为了提供清晰的说明。
示例:给定下列排列:
σ = 1 2 3 4 4 2 1 3 , π = 1 2 3 4 4 3 2 1
如果形成σ和π的反演图,则获得I(σ)=(2110),I(π)=(3210)。下式成立:
H(I(σ))=1.5Bit<2Bit=H(σ)。
这意味着反演图的熵实际上小于排列的熵。然而,针对π获得下式:
H(I(π))=2Bit=H(π)。
在π的情况下,因此反演图的熵与排列的熵一样大。然而,以反序(即,π(4),π(3),π(2),π(1))考虑π,获得相同的排列,并且其反演图具有非常小的熵。在任意速率下,针对任意排列σ(|σ|<∞),下式成立:
H(I(σ))≤H(σ)。
此时,定义又一反演图形成规则以克服在上述示例中描述的关于π的问题。首先,出于完整性的考虑,将再次提出在上节中描述的反演图形成规则(下面的反演图LB)。
定义(LB=左侧较大):令σ∈Sn为排列,并且bj(j=1,2,…,n)是大于j的在j左侧的元素的数量。则Ilb(σ)=(b1b2...bn)代表σ的反演图LB。
定义(LS=左侧较小):令σ∈Sn为排列,并且bj(j=1,2,…,n)是小于j的在j左侧的元素的数量。则Ils(σ)=(b1b2...bn)代表σ的反演图LB。
定义(RB=右侧较大):令σ∈Sn为排列,并且bj(j=1,2,…,n)是大于j的在j右侧的元素的数量。则Irb(σ)=(b1b2...bn)代表σ的反演图LB。
定义(RS=右侧较小):令σ∈Sn为排列,并且bj(j=1,2,…,n)是小于j的在j右侧的元素的数量。则Irs(σ)=(b1b2...bn)代表σ的反演图LB。
示例:在此处示例地示出了反演图RS的形成和相应的排列产生的示例,
σ = 1 2 3 4 4 2 1 3 .
首先,取σ(i)=1的排列中的元素,并且对在σ中的在σ(i)=1的右边且小于1的元素进行计数。此处,不存在这种元素。然后,取σ(i)=2的排列中的元素,并且对在σ中的在σ(i)=1的右边且更小的元素计数。此处,不存在在σ(i)=2的右边且小于2的元素。继续像这样进行计算直到|σ|,最终获得Irs(σ)=(b1,…,b4)=(0023)。当逐步执行时j=1,2,...|σ|,可以再一次通过反演图RS生成相应的排列。为此,以相反方式进行处理,并且***j使得其右侧的bj个元素小于j。
b1=0  1
b2=0  12
b3=2  312
b4=3  4312
如果形成σ的反演图LB,LS和RB,则获得
Ilb(σ)=(2210)
Ils(σ)=(0100)
Ilb(σ)=(1000)
上面的反演图的熵的比较表明它们熵部分地具有显著的不同,并且在所有情况下小于排列的熵(2比特)。
H(Ilb(σ))=1.5Bit<2Bit=H(σ)
H(Ils(σ))≈0.81Bit<2Bit=H(σ)
H(Irb(σ))≈0.81Bit<2Bit=H(σ)
H(Irs(σ))=1.5Bit<2Bit=H(σ)
ARNAVUT,Ziya:Permutation Techniques in Lossless Compression.Nebraska,University,Computer Science,Dissertation,1995,pp.58-78,在ARNAVUT,Ziya的论文中确实指出,他使用了用于形成反演图的几种不同的方法。尽管如此,他针对反演图使用了不同的形成规则。这些是莱默反演图。当在下面提到反演图时,指非莱默反演图。在莱默反演图的情况下,显式地添加“莱默”。此时,对这些进行描述,并且在下面使用。
定义(莱默反演图RS(右侧较小)):令σ∈Sn为排列。则莱默反演图RS Irsl(σ)=(b1,b2,...,bn)被定义为:
bk=|{j:k<j≤n∧σ(k)>σ(j)}|    1≤k≤n
附加rsl代表“右侧较小的莱默”。对于下列定义同样适用。当然,可以再一次由莱默反演图RS生成该排列。在ARNAVUT,Ziya:PermutationTechniques in Lossless Compression.Nebraska,University,ComputerScience,Dissertation,1995 on p.62-63中已经指示了针对于此的如下算法。在算法中,l代表连接表:
算法:lrsl -1(σ)
1.设置i←1,l←(1,2,...,n)
2.σ(i)←l(bi+1)
3.l←l-1(bi+1)(从l中移除l(bi+1))
4.i←i+1,如果i>n停止,否则转移至2。
ARNAVUT,Ziya:Permutation Techniques in Lossless Compression.Nebraska,University,Computer Science,Dissertation,1995,在ARNAVUT,Ziya的论文中确实指出,他使用了几种莱默反演表形成规则,但是既没有指示更详细的剩余三个反演图规则的定义(RBL,LSL和LBL)也没有指示用于恢复排列的相应算法。因此,在此处应当指示相应的定义和算法。
定义(莱默反演图RB)。令σ∈Sn为排列。则定义莱默反演图RBIrbl(σ)=(b1,b2,...,bn)为:
bk=|{j:k<j≤n∧σ(k)<σ(j)}|    1≤k≤n
算法:lrbl -1(σ)
1.设置i←1,l←(n,n-1,...,1)
2.σ(i)←l(bi+1)
3.l←l-1(bi+1)(从l中移除l(bi+1))
4.i←i+1,如果i>n停止,否则转移至2。
定义(莱默反演图LS)。令σ∈Sn为排列。则定义莱默反演图LSIlsl(σ)=(b1,b2,...,bn)为:
bk=|{j:j<k≤n∧σ(k)>σ(j)}|    1≤k≤n
算法:llsl -1(σ)
1.设置i←n,l←(1,2,...,n)
2.σ(i)←l(bi+1)
3.l←l-1(bi+1)(从l中移除l(bi+1))
4.i←i-1,如果i>n停止,否则转移至2。
定义(莱默反演图LB)。令σ∈Sn为排列。则定义莱默反演图LBIlbl(σ)=(b1,b2,...,bn)为:
bk=|{j:j<k≤n∧σ(k)<σ(j)}|    1≤k≤n。
算法:llbl -1(σ)
1.设置i←n,l←(n,n-1,...,1)
2.σ(i)←l(bi+1)
3.l←l-1(bi+1)(从l中移除l(bi+1))
4.i←i-1,如果i>n停止,否则转移至2。
示例:此处还针对全部四个莱默反演图示例性地示出了莱默反演图LB的构建以及相应的排列的恢复。给出:
σ = 1 2 3 4 4 3 1 2 .
首先,取该排列的第一个元素σ(1)=4,并且对σ中的大于4的σ(1)左侧的元素计数。此处,有0个元素。然后,取该排列的第二个元素σ(2)=3,并且对σ中的σ(2)左侧的更大的元素计数。此处,σ(2)旁边的一个元素大于3。如果严格按此处理直至|σ|,最终获得Ilbl(σ)=(b1,b2,...,b4)=(0122)。由莱默反演图LB,借助算法Ilbl -1(σ)可以再生相应的排列:
Figure A20078004988600521
如果形成了σ的莱默反演图RSL、RBL以及LSL,则获得:
lrsl(σ)=(3200)
lrbl(σ)=(0010)。
llsl(σ)=(0001)
反演图LB的元素的所示属性针对反演图RB、RBL以及RSL也适用。尽管如此,针对反演图LS、RS、LBL以及LSL,元素具有下列属性:
0≤bj≤j-1 ( ∀ j = 1,2 , . . . , n ) .
在反演图和莱默反演图中,存在关于熵的下列关系:
H(llb(σ))=H(llbl(σ))
H(lls(σ))=H(llsl(σ))。
H(lrb(σ))=H(lrbl(σ))
H(lrs(σ))=H(lrsl(σ))
这是由于以下事实造成的,即:当形成相应的反演图和/或莱默反演图时,仅用另一顺序考虑这些元素。
目前,为了获得关于以多高的数据速率对排序进行编码的声明,定义了该编码效果的度量。为了度量,考虑不同反演图和/或莱默反演图的熵。
定义(可编码性度量):令σ为排列,且|σ|<∞,并且Ilb(σ),Its(u),Ils(σ),Irb(σ)是相应的反演图和/或Ilbl(σ),Ilsl(σ),Irbl(σ),Irsl(σ)是相应的莱默反演图,则用下式定义针对排列的可编码性度量:
C(σ)=min(H(llsl(σ)),H(llbl(σ)),H(lrsl(σ)),H(lrbl(σ)))。
    =min(H(lls(σ)),H(llb(σ)),H(lrs(σ)),H(lrb(σ)))
可以用3比特实现信令,使用8种反演图形成规则。因此,如果针对|σ|<∞的下列不等式成立,则最佳变体的使用比对排列进行通常的二进制编码代价更小:
3<(H(σ)-C(σ))·|σ|。
根据实验,已经发现针对|σ|>1,H(σ)>C(σ)一直成立,因此从|σ|>4开始该方程保持为真。这也回答了开始提出的问题,即是否可以用少于log2(|σ|)的比特对排列进行编码。由于可测性的原因,希望从相同的排列开始逐片段地将排列扰乱。为此,可以使用KNUTH,Donald E.:The Art of Computer Programming;Massachusetts:Addison Wesley,1998(Vol.2,p.145)中的算法。
算法P(洗牌):令X1,X2,...,Xt为待打乱的t个数。
P1.初始化:设置j←t
P2.生成U:生成在0和1之间的随机数U(均匀分布)。
P3.交换:设置
Figure A20078004988600531
交换 X k ↔ X j .
P4.减少j:将j减少1。如果j<1则转移至P2。
本算法中的缺点是U的选择。与在随机化形式中选择哪个U的事实无关,在调换步骤中或多或少地扰乱t个数。尽管如此,此处最本质的是逐步执行并逐片段减少对于原始未扰乱排列(相同排列)的扰乱的算法的属性。从图28可以清晰地读出排列的长度、调换的数量以及可编码度量之间的属性。图28示出了排列长度|s|、调换数量以及可编码性度量的关系。如果给出了相同排列,那么可编码性度量等于0。如果排列中只有很少元素被互换了,那么可编码性度量立刻急剧地上升。此时,如果通过调换甚至更多的排列元素被互换了,则曲线朝向顶部变平并且趋向于来自下表中的凭经验确定的比特值。
 |σ|  128  192  256  320  384  448  512  576  640  704  768  832  896  960  1024
 H(σ)  7.00  7.59  8.00  8.32  8.59  8.81  9.00  9.17  9.32  9.46  9.59  9.70  9.81  9.91  10.00
 C(σ)  5.72  6.35  6.73  7.08  7.33  7.53  7.74  7.90  8.07  8.19  8.32  8.43  8.53  8.65  8.74
此时,将示出在不同音乐中通过对时间值进行排序获得的排列的反演图和莱默反演图具有哪些形式。为此,使用纯粹的音调片段以及类似噪声的片段。图29a-h示出了在第10块(帧)的类似噪声的片段中的反演图。图30a-h示出了在第20块(帧)的音调片段中的反演图。基础是1024个时间值的块尺寸。
在图29a-h和30a-h中,首先注意到增加和/或减少的三角曲线形状。基本反演图形成规则和那些方程导致了这种曲线形状。此外,注意到在音乐的类似噪声片段(参见图29a-h)和音乐的音调片段(参见图30a-h)中的莱默反演图都是非常不相关的。反之,可以在音乐的音调片段和音乐的类似噪声片段之间的反演图中看到清晰的差异。考虑属于上述反演图和莱默反演图的排列,通过对音乐的音调片段进行排序获得的排列也比音乐的类似噪声片段的排列本质上更加相关(参见图31a、b)。图31a、b示出了通过对时间值进行排序获得的第10块中的类似噪声的片段以及音调片段的排列。
来自图31的右侧排列可以使人想起关于主轴镜像的一个音频信号。看起来好像存在音频信号、逆排序规则以及甚至反演图之间的直接关系。
图32a、b和33a、b示出了块的音频信号、x和y坐标在其位置发生交换的相应排列、以及相应的反演图LS。图32a示出了音频信号的一部分、相应排列以及反演图LS,图32b以放大方式示出了来自32a的排列和反演图LS。图33a示出了音频信号的一部分、相应的排列以及反演图LS,图33b以放大形式示出了来自33a的排列和反演图LS。
图32a、b和33a、b清晰地示出了原始音频信号、排列以及反演图的相关性。即,如果原始信号的幅度增加,排列和反演图的幅度也增加,并且反之亦然。幅度比也值得一提。排列的最大和最小幅度一直保持在从min(σ(i))=1到max(σ(i))=|σ|的有限范围内。由于上述方程,反演图甚至具有从min(σ(i))-1到max(σ(i))-1的更小的幅度值。与此相反,16比特的音频信号具有从
Figure A20078004988600541
Figure A20078004988600542
的最大幅度范围。此时应当明确地阐述刚发现的原理。
相关性传递的原理:通常在xy-交换排列以及相应地属于该排列的反演图中音频信号的相关性被镜像反转。由于上述相关性传递原理,对反演图进行预测有助于进一步处理。针对预测将使用所述的固定预测器。一般地,对莱默反演图进行预测无法提供良好的结果。尽管如此,在极少数情况下,对莱默反演图进行预测的残差信号有时需要比反演图的残差信号更少的比特。因此,使用所有8个反演图形成规则。这可以被表示为类似于permCoding()中的简化的MATLAB代码。
permCoding(perm)
%generate inversion charts
        invLB=calcInvVecLB(perm);
        invLS=calcInvVecLS(perm);
        invRB=calcInvVecRB(perm);
        invRS=calcInvVecRS(perm);
%generate Lehmer inversion charts
        invLBL=calcInvVecLBLehmer(perm);
        invLSL=calclnvVecLSLehmer(perm);
        invRBL=calcInvVecRBLehmer(perm);
        invRSL=calcInvVecRSLehmer(perm);
%prediction of the inversion charts
        restsignalLB=fixed(invLB);
        restsignalLS=fixed(invLS);
        restsignalRB=fixed(invRB);
        restsignalRS=fixed(invRS);
%predietion of the Lehmer inversion charts
        restsignalLBL=fixed(invLBL);
        restsignalLSL=fixed(invLSL);
        restsignalRBL=fixed(invRBL);
        restsignalRSL=fixed(invRSL);
%determine bit requirement
        [bitsLB,bitsLS,bitsRB,bitsRS
        bitsLBL,bitsLSL,bitsRBL,bitsRSL]=getBitConsumption(restsignalLB,
                                         restsignalLS,
                                         restsignalRB,
                                         restsignalRS,
                                         restsignalLBL,
                                         restsignalLSL,
                                         restsignalRBL,
                                         restsignalRSL);
%determine the most bit-saving variant
         [bestInvVecBits,bestInvVecVersion]=min([bitsLB,bitsLS,bitsRB,bitsRS,
                                         bitsLBL,bitsLSL,bitsRBL,bitsRSL]);
end
从上节可知,反演图始终具有类似于三角形的形式。在很少的情况下,可能发生反演图和莱默反演图的预测效率很低的情况。为了处理这个问题,此时可以利用反演图和莱默反演图的三角形状以在最坏情况下实现代价相对较低的二进制编码。如果例如对类似噪声或者瞬时音频信号进行编码,则会发生最坏情况。毕竟,在这些情况下,反演图和/或莱默反演图的预测有时不能提供任何良好的结果。为此,根据相应的反演图形成规则,始终针对元素的常规二进制表示分配必要数量但尽可能少的比特。如下定义了相应的动态比特分配函数。
定义(动态比特分配函数LS、RS、LBL、LSL)。令σ∈Sn为排列,并且bj为反演图形成规则的元素,其中j=1,2,…,n,则动态比特分配函数LS、RS、LBL、LSL定义如下:
Figure A20078004988600561
定义(动态比特分配函数LB、RB、RBL、RSL)。让σ∈Sn为排列,并且bj为反演图形成规则的元素,其中j=1,2,…,n,则如下定义动态比特分配函数LB、RB、RBL、RSL:
Figure A20078004988600562
下表示出了该编码方案的性能。
  |σ|   动态比特分配   静态比特分配
  32   4.063比特   5比特
  64   5.031比特   6比特
  128   6.016比特   7比特
  256   7.008比特   8比特
  512   8.004比特   9比特
  1024   9.002比特   10比特
  2048   10.001比特   11比特
依靠经由反演图和/或莱默反演图实现的动态比特分配,相对于排列的常规二进制编码,每个元素可以节约大约1比特。因此该编码方案代表了针对最坏情况的简单并且有益的过程。
在本节中,为了实现最大压缩可能,检验如何设计熵编码,其中该熵编码是针对刚描述的解相关方法的残差信号的。在ROBINSON,Tony:SHORTEN:Simple lossless and nearlossless waveform compression.Technical report CUED/FINFENG/TR.156,Cambridge UniversityEngineering Department,December 1994,REZNIK,Y.:Coding ofPrediction Residual in MPEG-4 Standard for Lossless Audio Coding(MPEG-4 ALS).IEEE Proc.,ICASSP,2004 and LIEBCHEN,Tilman;REZNIK,Yuriy;MORIYA,Takehiro;YANG,Dai Tracy:MPEG-4 AudioLossless Coding.Berlin,Germany:116th AES Convention,May 2004中,已经示出时间值预测的残差信号大致具有拉普拉斯分布。针对非莱默反演图的预测的残差信号,这一点也是成立的。在上节中描述的相关性传递原理是导致这一点的原因。
图34a和34b示出了通过预测(固定预测器)获得的反演图LB的残差信号的概率分布和码字的长度。图34a示出了通过应用固定预测器获得的非莱默反演图LB的残差信号的概率分布。为了确定残差信号的码字长度,具有参数k=2的前向适应性莱斯编码是其基础。可以清晰地看出,残差信号的概率分布大致对应于拉普拉斯分布。在拉普拉斯分布的情况下,戈洛姆和/或莱斯编码最适合作为熵编码方法(参见GOLOMB,S.W.:Run-length encodings.IEEE Transactions onInformation Theory,IT-12(3),pp.399-401,July 1966,GALLAGER,Robert G.;VAN VOORHIS,David C.:Optimal Source Codes forGeometrically Distributed Integer Alphabets.IEEE Transactions onInformation Theory,March 1975 and SALOMON,David:DataCompression.London:Springer-Verlag,Fourth Edition,2007,SALOMON,David:Data Compression.London:Springer-Verlag,FourthEdition,2007)。
最终,仍需考虑排序时间值的差分编码的残差信号的概率分布。图35a和35b示出了通过对排序时间值进行差分编码获得的残差信号的概率分布和码字的长度。可以在图35a中清晰地看到残差信号具有大致几何概率分布。在这种情况下,戈洛姆和/或莱斯编码也非常适合作为熵编码方法。在图35b中,使用了具有参数k=8的前向适应性莱斯编码,用于代表码字长度。
除了特定概率分布之外,残差信号具有如下属性:块和块之间取值范围部分程度上变化很大,并且取值范围中的很多值甚至没有出现过。在图34中,这种情况为例如-25,……,-20之间。在图35中,这也可以从>350的值看出来。因此,编码的表格存储或者将它们作为辅助信息传输(在例如霍夫曼编码中将是这种情况)是不适合的。由于参数k或者m唯一地描述了每个莱斯或者戈洛姆码,如果在不同的莱斯或者戈洛姆码之间存在区别,则仅将k或者m作为辅助信息传送。基于莱斯或者戈洛姆编码极度适合出现在SOLO中的残差信号这一认知,此时应当开发莱斯或者戈洛姆编码的不同变体。
此处,莱斯参数k或者戈洛姆参数m的确定是关键性的。如果选择参数过大,这将增加小数所需的比特数。如果选择参数过小,则针对一元编码部分的所需比特数将急剧地增加,特别是对于待编码的较高值更是如此。因此,错误选择的参数可以显著地增加熵编码的数据速率并且因此使压缩降级。存在设计莱斯或者戈洛姆编码的两种可能:
1、前向适应性莱斯/戈洛姆编码
2、后向适应性莱斯/戈洛姆编码
前向适应性地计算莱斯参数k的一些方法已经是众所周知的。此时,将解释前向适应性莱斯参数确定的其它事实。如果存在残差信号e(i)∈Z其中i=1,1,...,n,,则首先执行Z至N0的映射M(e(i))。如果残差信号已经完全地位于N0之内(这也是排序时间值的差分编码的残差信号的情况),则省略该映射。下面针对e(i)E Z假定Z到N0的映射。因此,用针对算术平均值的两个不同形成规则获得了下列方程:
μ = 1 n Σ i = 1 n M ( e ( i ) ) e ( i ) ∈ Z 1 n Σ i = 1 n e ( i ) e ( i ) ∈ N 0 .
确定莱斯参数的最简单方法是测试所有存疑的莱斯参数并且选择具有最少比特消耗的参数。由于待测试的莱斯参数的值的范围受限于时间信号的比特解析度,因此这不是很复杂。在16比特的解析度下,需验证最大16个莱斯参数。最后,基于较少的比特运算或者算术运算可以确定每参数的相应的比特需求。寻找最优莱斯参数的该步骤比参数的直接计算要密集一些,但是始终保证获得最优的莱斯参数。在此处介绍的无损音频编码的方法中,在大多数情况中使用用于确定莱斯参数的这个方法。在莱斯参数的直接确定中,可以使用在KIELY,A.:Selecting the Golomb Parameter in Rice Coding.IPN Progress Report,Vol.42-159,November 2004中推导出的参数极限值。
Figure A20078004988600592
Figure A20078004988600593
从而,最优莱斯参数k的范围受限于:
kmax(μ)-kmin(μ)≤2
Figure A20078004988600594
并且为了能够确定最优参数,将必须测试最多3个不同的莱斯参数。如果存在几何概率分布,则依靠下列方程获得最优莱斯参数:
Figure A20078004988600595
其中 φ = ( 5 + 1 ) / 2 , 参见KIELY,A.:Selecting the Golomb Parameterin Rice Coding.IPN Progress Report,Vol.42-159,November 2004,p.6.。
在前向适应性戈洛姆编码中,在莱斯编码中确实可接受的、基于搜索方法的参数确定实质上是更复杂的。这是由于戈洛姆编码具有参数m的很多更中间的级别这一事实。因此,按如下方式计算戈洛姆参数:
m = max { 1 , NINT ( - ln ( 1 + θ ) ln ( θ ) ) } ,
参见Reznik,Y.:Coding of Prediction Residual in MPEG-4 Standardfor Lossless Audio Coding(MPEG-4 ALS).IEEE Proc.,ICASSP,2004。此处,根据下式计算θ:
θ = Σ i = 1 n e ( i ) n + Σ i = 1 n e ( i ) .
在前向适应性莱斯/戈洛姆编码中,可以将待编码的数据块分解成几个子块,并且确定并传送针对每个子块的其自身的参数。随着子块数量的增加,参数所需的辅助信息增加。子块分解的效果很大程度上依赖于待传送的参数自身是如何被编码的。由于连续块的参数大部分不发生特别剧烈的变化,具有后续的前向适应性莱斯编码的参数的差分编码是很明显的。此时,当计算熵编码数据块(包括附随参数辅助信息在内)的必要数据速率的总量时,在整个块上对子块分解需要最小数据数量的频率进行计数,针对片段1的整个编码过程获得了图36。图36示出了利用包括针对参数的辅助信息在内的片段的固定预测器的残差信号进行前向适应性莱斯编码的具有最小数据量的子块分解的百分比比例,总块长等于1024个时间值。
采用未编码的莱斯参数,子块分解大多不是特别有利。如果对莱斯参数进行编码,分解为32个子块通常比不进行子块分解要好(仍参见下表)。在前向适应性戈洛姆编码中,子块分解对于未编码的戈洛姆参数或者对于经编码的戈洛姆参数来说大多数没有优势(参见图37和下表)。图37示出了利用包括针对参数的辅助信息在内的片段的固定预测器的残差信号进行前向适应性戈洛姆编码的具有最小数据量的子块分解的百分比比例,总块长等于1024个时间值。然而,将存在对戈洛姆参数编码之前仍将其量化的可能,以减少它们必需的数据速率。由于莱斯参数基本上已经代表了量化的戈洛姆参数,此处将不再考虑这点。
从图36和37可以看出,不存在针对所有情况的最优子块分解。因此,获得两种可能:
1、测试所有存疑的子块分解,并且选择具有最小数据速率的那个。
2、使用平均看来最适合所有情况的子块分解。
由于第一种可能以收益不大的压缩大大增加了***的复杂度,以下将不能使用子块分解。FwAdaptCoding()示出了实际中实现的前向适应性莱斯和/或戈洛姆编码。起初,针对有符号残差信号执行至N0的映射。由此,则确定了莱斯/戈洛姆参数,并且最终用该参数对所有字符进行编码。示例代码如下。
FwAdaptCoding(data,signedData)
        if(signedData)
%mapping to natural numbers including zero
                 udata=Fold(data);
        else
                 udata=data;
        end
%determining parameters
        parameter=DetermineParameter(udata);
%running across all data to be coded
        for i=1:length(udata)
%encoding a value
                 code(i)=EncodeValue(udata(i),parameter);
        end
end
后向适应性莱斯/戈洛姆编码根据已经进行了编码的之前的字符计算参数。为此,将刚被编码的字符循环地输入历史缓冲器中。针对历史缓冲器存在两个变量。一个保持历史缓冲器的当前填充级别,另一个变量存储下一个写入位置。在图38中,示出了尺寸为8的历史缓冲器的基本工作机制。
起初,用零初始化历史缓冲器,填充级别是零,并且写入索引是1(参见a))。然后,将字符一个接一个的输入历史缓冲器中,并且更新写入索引(箭头)和填充级别(参见b)-e))。一旦完全填满了历史缓冲器,填充级别保持为常量(此处为8)并且仅改变写入索引(参见e)-f))。按如下方式完成后向适应性莱斯参数的计算。令e(i)∈N0,且i=1,2,…,W为被包含在历史缓冲器中的残差信号值,W为历史缓冲器的大小,并且F为当前填充级别,则依靠下列方程计算后向适应性莱斯参数:
Figure A20078004988600621
其中函数l(e(i))确定了e(i)必需的比特数量,即
Figure A20078004988600622
利用下列方程完成后向适应性戈洛姆参数的计算
m = max { 1 , NINT ( ln ( 2 ) · Σ i = 1 W e ( i ) F · C ) } .
实验已经表明C=1.15是合理的。对于历史缓冲器的大小来说,以下将针对后向适应性莱斯编码和后向适应性戈洛姆编码使用W=16的尺寸。这代表了在过慢的适应和在反映过于突然的适应之间的良好折中。类似于在后向适应性算术编码中那样,必须将在解码中使用的适应针对编码进行同步,不然数据的理想重构是不可能的。在一些情况下,开始时没有完全填满的历史缓冲器无法提供对在反向适应中的参数的良好预测。为此,由针对头W个值计算前向适应性参数的变体形成使用方法,并且仅当完全填满历史缓冲器时,从那里计算适应性参数。
图39a、b详细示出了适应性参数确定是如何实现的。图39a、b示出了与针对整个块的一个最优参数相比较的适应的工作机制。此处,淡色的线代表边界区域,从边界区域起使用适应性参数。按照简化的方式,可以将刚刚描述的过程表示为BwAdaptivCoding()中的那样。在e(i)∈Z的情况下,首先存在再一次的至N0的映射。然后,利用头W个值(历史缓冲器的大小)确定前向适应性参数,利用该前向适应性参数对头W个值进行编码。如果完全填满了历史缓冲器,则针对进一步编码使用该适应性参数。示例代码如下。
FwAdaptCoding(data,signedData)
        if(signedData)
%mapping to natural numbers including zero
                 udata=Fold(data);
        else
                 udata=data;
        end
%determining parameters
        parameter=DetermineParameter(udata);
%running across all data to be coded
        for i=1:length(udata)
%encoding a value
                 code(i)=EncodeValue(udata(i),parameter);
        end
end
为了能够更完全地评估刚刚得到的莱斯/戈洛姆熵编码方法的性能,应当附加地利用后向适应性莱斯编码得到前向适应性算术编码。为此,首先建立待编码数据的柱状图。使用该柱状图,可以依靠算术编码生成接近熵边界的编码。然而,必须附加地传送所包括的字符和它们的出现概率。由于以严格单调增的方式排列柱状图中的字符,此处差分编码δ将先于后向适应性莱斯编码推荐其自身。仅仅对概率进行后向适应性莱斯编码。最终,该过程的整体开销由算术编码的编码、莱斯编码的字符以及莱斯编码的概率的和所产生(参见图40)。图40示出了利用了后向适应性莱斯编码的前向适应性算术编码的实施例。
此时,将五种不同的熵编码方法互相进行比较。为此,建立了在整体***中存在的残差信号生成的全部方法的表格,并且在整个相应片段上以每块平均字节数为单位指示了数据量。下表示出了应用于LPC预测器的残差信号的不同熵编码方法的比较。
  片段号   求和熵   前向适应性莱斯编码   后向适应性莱斯编码   前向适应性戈洛姆编码   后向适应性戈洛姆编码   前向适应性算术编码
  1   1117   1242   1252   1241   1239   1599
  2   1249   1980   1998   1981   1984   2548
  4   910   988   974   985   960   1201
  13   1026   1096   1111   1095   1098   1350
  14   1111   1278   1291   1276   1279   1668
下表示出了应用于固定预测器的残差信号的不同熵编码方法的比较。
  片段号   求和熵   前向适应性莱斯编码   后向适应性莱斯编码   前向适应性戈洛姆编码   后向适应性戈洛姆编码   前向适应性算术编码
  1   1100   1243   1246   1241   1233   1599
  2   1249   1982   1999   1983   1986   2543
  4   908   1001   978   995   964   1218
  13   989   1050   1064   1049   1052   1276
  14   1140   1370   1381   1367   1370   1797
下表示出了应用于非莱默反演图LB的残差信号的不同熵编码方法的比较,其中用固定预测器对该非莱默反演图LB进行解相关。
  片段号   求和熵   前向适应性莱斯编码   后向适应性莱斯编码   前向适应性戈洛姆编码   后向适应性戈洛姆编码   前向适应性算术编码
  1   674   705   677   698   665   780
  2   1114   1241   1203   1237   1189   1603
  4   683   767   764   755   721   833
  13   659   687   670   680   656   754
  14   856   922   907   914   883   1058
下表示出了应用于排序时间值的差分编码的残差信号的不同熵编码方法的比较。
  片段号   求和熵   前向适应性莱斯编码   后向适应性莱斯编码   前向适应性戈洛姆编码   后向适应性戈洛姆编码   前向适应性算术编码
  1   711   756   730   750   721   819
  2   868   949   914   937   905   1051
  4   471   547   487   528   476   540
  13   610   660   624   653   615   694
  14   605   678   622   665   613   697
如果由上表形成上取整算术平均值,则获得下表:
  求和熵   903
  后向适应性戈洛姆编码   1031
  后向适应性莱斯编码   1045
  前向适应性戈洛姆编码   1052
  前向适应性莱斯编码   1058
  前向适应性算术编码   1282
为对上表进行最终分析,还要考虑到戈洛姆参数比莱斯参数要求稍高一点的辅助信息数据速率。然而,后向适应性戈洛姆编码平均而言代表了针对存在于SOLO中的残差信号的最佳熵编码方法。在很少的情况下,可能发生适应策略失效并且无法提供良好的结果。因此,在SOLO中使用后向适应性戈洛姆编码和最终的前向适应性莱斯编码的组合。
为了定义针对音频编码方法的合适的块大小,应始终记住下列事实:
·如果选择的块长度太小,则关于纯粹的编码数据需要相对较多的针对辅助信息的数据
·如果选择的块长度太大,编码器和解码器都需要大的数据结构,以在存储器中保持待处理的数据。另外,使用较大的块长度,首先解码的数据仅仅在比较小块长度的情况下更晚的时候才可使用。
实质上,因此关于编码方法提出的要求确定了块长度。如果压缩因子处于重要地位,则非常大的块长度是可接受的。然而,如果需要具有较小延迟时间或者较小存储器消耗的编码方法,则非常大的块长度肯定是没用的。现有的音频编码方法通常使用128至4608个采样的块长度。在44.1kHz的采样频率下,这与3至104毫秒相对应。需要验证以解释SOLO使用的不同的解相关方法在不同块长度时如何表现。为此,以块长度256、512、1024以及2048个采样对不同的片段进行编码,并且在包含相应辅助信息的情况下确定压缩因子F。然后,由块长度的七个压缩因子形成算术平均值。图41示出了该验证的结果。
图41示出了块大小对压缩因子F的影响。可以清晰地看到,预测器用增加的块长度实现了较好的压缩因子,其中,在固定预测器中,这不像在LPC编码方法中表现那么明显。依照于排序模型工作的解相关方法在块长度1024个采样下达到最优。由于需要在最小块长度下的高压缩因子,下面优选地使用1024个采样的块长度。尽管如此,可以可选地可以以256、512或者2048个采样的块长度运算SOLO。
上节中已经示出可以实现无损立体声冗余消减。通过除以2,以及后续的关于零舍入至最近整数值从而得到中央通道M是有难度的。因此,在某些情况中信息已经丢失。例如,在L=5,R=4的情况中就是这样。在该示例中,假定在每个通道中只出现一个值。当然在现实中,左通道或者右通道是向量。
此处,我们得到 M = NINT ( L + R 2 ) = NINT ( 5 + 4 2 ) = NINT ( 4,5 ) = 4 . 尽管如此,在辅助通道S=L-R=5-4=1中仍包括该信息。不论何时S取奇数,M的有损舍入都已经发生。相应地,在解码中应当考虑到这点。尽管如此,如果由R和S生成M,则也可以避免刚刚描述的对中央通道加以纠正的可能:
S=L-R
M = NINT ( S 2 ) + R .
可以在类似于图42中以图形方式表示该方程。图42示出了无损MS编码。MS解码对MS编码的计算规则求逆,并且由M和S再一次生成右通道R和左通道L:
R = M - NINT ( S 2 ) .
L=S+R
在图43中示出了该方程的图解。图43进一步示出了无损MS编码。
除了MS编码,针对立体声冗余消减,在SOLO中还可以使用LS和RS编码。因此,存在针对立体声信号编码的总共四种变体:
1、LR编码:没有立体声冗余消减
2、LS编码:左通道和辅助通道
3、RS编码:右通道和辅助通道
4、MS编码:中央通道和辅助通道
如何判决哪个编码是最好的?一种可能是在对相应通道进行解相关和熵编码之前,开发出用最小数据量选择变体的标准。这种可能需要少得多的存储器,并且仅具有下面描述的过程的一半的计算复杂度。尽管如此,此处的质量主要依赖于判决标准。可以将熵用于此判决标准。尽管如此,实验已经表明熵代表不了针对于此的可靠判决标准。
另一种可能将是完全地处理L、R、M和S,并且根据比特消耗来判决使用哪个变体。此处,要求较多的存储器以及计算时间,但是能够始终选择最合适的变体。下面,仅使用了第二种可能(参见图44)。图44示出了针对立体声冗余消减的最佳变体的选择。
下面,利用实验来说明该过程如何作用于立体声信号。在下表中,以对比方式示出了在不同变体的整个片段上的平均熵。始终使用每个通道1024个时间值的块长度。在最后一列(最佳变体)中,示出了依照于图44的过程的平均熵。
  片段号   L   R   S   M   LR   LS   RS   MS   最佳变体
  16(L=R)   9.64   9.64   0   9.64   19.28   9.64   9.64   9.64   9.64
  17   9.64   9.62   9.55   9.63   19.26   19.19   19.17   19.18   19.16
  18   8.74   8.77   7.62   8.74   17.51   16.36   16.39   16.36   16.34
  19   7.79   7.84   4.32   7.83   15.63   12.11   12.16   12.15   12.10
  20   8.29   8.30   5.07   8.30   16.59   13.36   13.37   13.37   13.35
  27   9.18   9.18   9.23   9.11   18.36   18.41   18.41   18.34   18.32
  28   9.36   9.38   9.41   9.33   18.74   18.77   18.79   18.74   18.72
  29   9.12   9.10   9.15   9.07   18.22   18.27   18.25   18.22   18.20
依照于图44的过程在具有相同通道的立体声信号中是最有利的。在非常类似于单声道语音片段的情况下,所介绍的立体声冗余消减非常有用,然而在LR编码和最佳变体的选择之间的诸如17,27,28以及28的音乐的普通片段仅实现非常小的编码增益。
特别地,应指出,根据条件,也可以用软件实施本发明构思。该实施可以发生在数字存储介质上,特别是在具有电子可读控制信号的软盘或者CD上,其中电子可读控制信号能够与可编程计算机***和/或微控制器合作以执行相应方法。因此,一般地本发明也包含在将程序代码存储在机器可读载体上的计算机程序产品中,程序代码用于在计算机和/或微控制器上执行该计算机程序产品时执行本发明的方法。换言之,因此可以将本发明实现为具有程序代码的计算机程序,程序代码用于在计算机和/或微控制器上执行该计算机程序时,执行该方法。
参考数字列表
100用于编码的设备
110排序装置
120编码装置
150用于解码的设备
160接收装置
170解码装置
180重排序装置
200用于编码的设备
210排序装置
220调整装置
230编码装置
250用于解码的设备
260接收装置
270解码装置
280逼近装置
290重排序装置
400用于编码的设备
410排序装置
420编码装置
450用于解码的设备
460接收装置
470解码装置
480重排序装置
300用于编码的设备
310排序装置
320发生装置
330编码装置
350用于解码的设备
360接收装置
370预测装置
380重排序装置
505音频信号
510排列
515反演图
600编码器
605预处理
610排序
615对排序数据进行处理/编码
620熵编码
625比特流复用器
630对排序数据进行处理/编码
635熵编码
700解码器
705比特流解复用器
710熵解码
715对排序数据进行解码
720逆排序
725熵解码
730对排列进行解码
800编码器
805时间/频率变换
810排序
815曲线拟合
820排列编码
825比特率控制
830熵编码器
835比特流格式器
840心理-声学模型
900解码器
905比特流解复用器
910熵解码器
915逆曲线拟合
920重排序
925排列解码器
930频率/时间变换

Claims (70)

1、一种用于对音频信号的采样序列进行编码的设备(100),序列中的每个采样包括原始位置,所述设备包括:
用于按照采样的大小对采样进行排序,以获得采样的排序序列的装置(110),每个采样包括在排序序列中的排序位置;以及
用于对经排序的采样以及与采样的原始和排序位置之间的关系有关的信息进行编码的编码装置(120)。
2、根据权利要求1所述的设备(100),还包括:预处理设备,被形成为执行滤波、时间/频率变换、预测或者多通道冗余消减,以生成采样序列。
3、根据权利要求1或2所述的设备(100),其中,编码装置(120)被形成为:将与原始和排序位置之间的关系有关的信息编码为索引排列。
4、根据权利要求1至3中任一项所述的设备(100),其中,编码装置(120)被形成为:将与原始和排序位置之间的关系有关的信息编码为反演图。
5、根据权利要求1至4中任一项所述的设备(100),其中,编码装置(120)被形成为:使用差分和后续熵编码或者仅使用熵编码对经排序的采样或者与原始和排序位置之间的关系有关的信息进行编码。
6、根据权利要求1至5中任一项所述的设备(100),其中,编码装置(120)被形成为:基于经排序的采样、排列或者反演图,来确定预测滤波器的系数并且对其进行编码。
7、根据权利要求6所述的设备(100),其中,编码装置(120)被形成为:对与采样和预测滤波器的输出信号之间的差异相对应的残差信号进行编码。
8、根据权利要求7所述的设备(100),其中,编码装置(120)被形成为:用熵编码对残差信号进行编码。
9、根据权利要求1至8中任一项所述的设备(100),还包括:用于调整函数规则的函数系数以适应排序序列的至少一个部分范围的装置,并且编码装置(120)被形成为对函数系数进行编码。
10、一种用于对音频信号的采样序列进行编码的方法,序列中的每个采样包括原始位置,所述方法包括:
按照采样的大小对采样进行排序,以获得采样的排序序列,每个采样包括在排序序列中的排序位置;以及
对经排序的采样以及与采样的原始和排序位置之间的关系有关的信息进行编码。
11、一种具有程序代码的计算机程序,所述程序代码用于当在计算机上执行所述计算机程序时,执行根据权利要求10所述的方法。
12、一种用于对音频信号的采样序列进行解码的设备(150),序列中的每个采样包括原始位置,所述设备包括:
用于接收编码采样序列的接收装置(160),编码采样序列中的每个编码采样包括排序位置,并且接收装置(160)用于接收与采样的原始和排序位置之间的关系有关的信息;
用于对采样以及与原始和排序位置之间的关系有关的信息进行解码的装置(170);以及
用于基于与原始和排序位置之间的关系有关的信息对采样重排序,使得每个采样包括其原始位置的装置(180)。
13、根据权利要求12所述的设备(150),其中,接收装置(160)被形成为:将与原始和排序位置之间的关系有关的信息作为索引排列进行接收。
14、根据权利要求13所述的设备(150),其中,接收装置(160)被形成为:将与原始和排序位置之间的关系有关的信息作为反演图进行接收。
15、根据权利要求12至14中任一项所述的设备(150),其中,解码装置(170)被形成为:使用熵和后续差分解码或者仅使用熵解码对经编码的采样或者与原始和排序位置之间的关系有关的信息进行解码。
16、根据权利要求12至15中任一项所述的设备(150),其中,接收装置(160)被形成为:接收预测滤波器的经编码的系数,并且解码装置(170)被形成为:对经编码的系数进行解码,其中,设备(150)还包括用于基于系数来预测采样的装置。
17、根据权利要求16所述的设备(150),其中,接收装置(160)被形成为:进一步接收与采样和预测滤波器的输出信号之间的差异相对应的残差信号,并且解码装置(170)进一步被形成为:基于残差信号修改采样。
18、根据权利要求17所述的设备(150),其中,解码装置(170)被形成为:用熵解码对残差信号进行解码。
19、根据权利要求12至18中任一项所述的设备(150),其中,接收装置(160)还被形成为接收函数规则的函数系数,并且,设备(150)还包括用于使函数规则适应于排序序列的至少一个部分范围的装置,并且解码装置(170)被形成为对函数系数进行解码。
20、一种用于对音频信号的采样序列进行解码的方法,序列中的每个采样包括原始位置,所述方法包括:
接收编码采样序列,编码采样序列中的每个编码采样包括排序位置;
接收与采样的原始和排序位置之间的关系有关的信息;
对采样以及与原始和排序位置之间的关系有关的信息进行解码;以及
基于与原始和排序位置之间的关系有关的信息对采样进行重排序,使得每个采样包括其原始位置。
21、一种具有程序代码的计算机程序,所述程序代码用于当在计算机上执行时,执行根据权利要求20所述的方法。
22、一种用于对信息信号的采样序列进行编码的设备(200),序列中的每个采样包括原始位置,所述设备包括:
用于按照采样的大小对采样进行排序,以获得采样的排序序列的装置(210),每个采样包括在排序序列中的排序位置;
用于调整函数规则的函数系数以适应排序序列的至少一个部分范围的装置(220);以及
用于对函数系数、在部分范围之外的采样以及与采样的原始和排序位置之间的关系有关的信息进行编码的编码装置(230)。
23、根据权利要求22所述的设备(200),还包括:预处理装置,被形成为执行滤波、时间/频率变换、预测或者多通道冗余消减,以生成采样序列。
24、根据权利要求22或23所述的设备(200),其中,所述信息信号包括音频信号。
25、根据权利要求22至24中任一项所述的设备(200),其中,编码装置(230)被形成为:将与原始和排序位置之间的关系有关的信息编码为索引排列。
26、根据权利要求22至25中任一项所述的设备(200),其中,编码装置(230)被形成为:将与原始和排序位置之间的关系有关的信息编码为反演图。
27、根据权利要求22至26中任一项所述的设备(200),其中,编码装置(230)被形成为:使用差分和后续熵编码或者仅使用熵编码对经排序的采样、与原始和排序位置之间的关系有关的信息进行编码。
28、根据权利要求22至27中任一项所述的设备(200),其中,编码装置(230)被形成为:基于采样、排列或者反演图,来确定预测滤波器的系数并且对其进行编码。
29、根据权利要求28所述的设备(200),其中,编码装置(230)进一步被形成为:对与采样和预测滤波器的输出信号之间的差异相对应的残差信号进行编码。
30、根据权利要求29所述的设备(200),其中,编码装置(230)被形成为:用熵编码对残差信号进行编码。
31、一种用于对信息信号的采样序列进行编码的方法,序列中的每个采样包括原始位置,所述方法包括:
按照采样的大小对采样进行排序,以获得采样的排序序列,每个采样包括在排序序列中的排序位置;
调整函数规则的函数系数以适应排序序列的至少一个部分范围;以及
对函数系数、在部分范围之外的采样以及与采样的原始和排序位置之间的关系有关的信息进行编码。
32、一种具有程序代码的计算机程序,所述程序代码用于当在计算机上执行时,执行根据权利要求31所述的方法。
33、一种用于对信息信号的采样序列进行解码的设备(250),序列中的每个采样包括原始位置,所述设备包括:
用于接收经编码的函数系数、经排序的采样以及与采样的排序位置和原始位置之间的关系有关的信息的接收装置(260);
用于对采样进行解码的解码装置(270);
用于基于在序列的至少一个部分范围内的函数系数来逼近采样的逼近装置(280);以及
用于基于与原始和排序位置之间的关系有关的信息对采样和部分范围进行重排序,使得每个采样包括其原始位置的装置(290)。
34、根据权利要求33所述的设备(250),其中,所述信息信号包括音频信号。
35、根据权利要求33或34所述的设备(250),其中,接收装置(260)被形成为:将与原始和排序位置之间的关系有关的信息作为索引排列进行接收。
36、根据权利要求33至35中任一项所述的设备(250),其中,接收装置(260)被形成为:将与原始和排序位置之间的关系有关的信息作为反演图进行接收。
37、根据权利要求33至36中任一项所述的设备(250),其中,装置(270)进一步被形成为:使用熵和后续差分解码或者仅使用熵解码对函数系数、经排序的采样或者与原始和排序位置之间的关系有关的信息进行解码。
38、根据权利要求33至37中任一项所述的设备(250),其中,接收装置(260)被形成为:接收预测滤波器的经编码的系数,并且解码装置(270)被形成为:对经编码的系数进行解码,其中,设备(250)还包括用于基于系数来预测采样的装置。
39、根据权利要求33至38中任一项所述的设备(250),其中,接收装置(260)被形成为:接收与采样和预测滤波器或者逼近装置(280)的输出信号之间的差异相对应的残差信号,并且解码装置(270)被形成为基于残差信号来修改采样。
40、根据权利要求39所述的设备(250),其中,解码装置(270)被形成为:用熵解码对残差信号进行解码。
41、一种用于对信息信号的采样序列进行解码的方法,序列中的每个采样包括原始位置,所述方法包括:
接收经编码的函数系数、经排序的采样以及与采样的排序位置和原始位置之间的关系有关的信息;
对采样进行解码;
基于在序列的至少一个部分范围内的函数系数来逼近采样;以及
基于与原始和排序位置之间的关系有关的信息对采样和部分范围进行重排序,使得每个采样包括其原始位置。
42、一种具有程序代码的计算机程序,所述程序代码用于当在计算机上执行时,执行根据权利要求41所述的方法。
43、一种用于对信息信号的采样序列进行编码的设备(300),序列中的每个采样包括原始位置,所述设备包括:
用于按照采样的大小对采样进行排序,以获得采样的排序序列的装置(310),每个采样包括在排序序列中的排序位置;
用于依赖于采样的原始和排序位置之间的关系生成数列,并且基于所述数列来确定预测滤波器的系数的装置(320);以及
用于对经排序的采样和系数进行编码的编码装置(330)。
44、根据权利要求43所述的设备(300),还包括:预处理设备,被形成为执行滤波、时间/频率变换、预测或者多通道冗余消减,以生成采样序列。
45、根据权利要求43或44所述的设备(300),其中,所述信息信号包括音频信号。
46、根据权利要求43至45中任一项所述的设备(300),其中,用于生成数列的装置(320)被形成为:生成索引排列。
47、根据权利要求43至46中任一项所述的设备(300),其中,用于生成数列的装置(320)被形成为:生成反演图。
48、根据权利要求43至47中任一项所述的设备(300),其中,用于生成数列的装置(320)进一步被形成为:生成与所述数列和基于系数预测得到的预测序列之间的差异相对应的残差信号。
49、根据权利要求43至48中任一项所述的设备(300),其中,编码装置(330)被形成为:根据差分或者熵编码对经排序的采样或者系数进行编码。
50、根据权利要求48或49所述的设备(300),其中,编码装置(330)进一步被形成为:对残差信号进行编码。
51、一种对信息信号的采样序列进行编码的方法,序列中的每个采样包括原始位置,所述方法包括:
按照采样的大小对采样进行排序,以获得采样的排序序列,每个采样包括在排序序列中的排序位置;
依赖于采样的原始和排序位置之间的关系生成数列,并且基于所述数列来确定预测滤波器的系数;以及
对经排序的采样和系数进行编码。
52、一种具有程序代码的计算机程序,所述程序代码用于当在计算机上执行时,执行根据权利要求51所述的方法。
53、一种用于对信息信号的采样序列进行解码的设备(350),序列中的每个采样包括原始位置,所述设备包括:
用于接收预测滤波器的系数和采样序列的接收装置(360),每个采样包括排序位置;
用于基于系数来预测数列的装置(370);以及
用于基于数列对采样序列进行重排序,使得每个采样包括其原始位置的装置(380)。
54、根据权利要求53所述的设备(350),其中,所述信息信号包括音频信号。
55、根据权利要求53或54所述的设备(350),其中,用于预测数列的装置(370)预测索引排列作为所述数列。
56、根据权利要求53至55中任一项所述的设备(350),其中,用于预测数列的装置(370)预测反演图作为所述数列。
57、根据权利要求53至56中任一项所述的设备(350),其中,接收装置(360)进一步被形成为接收经编码的残差信号,并且用于预测的装置(370)被形成为在数列预测中考虑所述残差信号。
58、根据权利要求53至57中任一项所述的设备(350),还包括:解码装置,被形成为根据差分或者熵编码,对采样、残差信号或者系数进行解码。
59、一种用于对信息信号的采样序列进行解码的方法,序列中的每个采样包括原始位置,所述方法包括:
接收预测滤波器的系数和采样序列,每个采样包括排序位置;
基于系数来预测数列;以及
基于数列对采样序列进行重排序,使得每个采样包括其原始位置。
60、一种具有程序代码的计算机程序,所述程序代码用于当在计算机上执行时,执行根据权利要求59所述的方法。
61、一种用于对采样序列进行编码的设备(400),序列中的每个采样包括原始位置,所述设备包括:
用于按照采样的大小对采样进行排序,以获得采样的排序序列的装置(410),每个采样包括在排序序列中的排序位置;以及
用于对经排序的采样进行编码并使用与采样的原始和排序位置之间的关系有关的信息对数列进行编码的编码装置(420),数列中的每个元素都是唯一的,并且编码装置(420)将比特的数量与数列的元素进行关联,使得如果在对第一元素进行编码之前已经进行了编码的元素少于在对第二元素进行编码之前已经进行了编码的元素,则与第一元素相关联的比特数量大于与第二元素相关联的比特数量。
62、根据权利要求61所述的设备(400),其中,编码装置(420)被形成为:对长度N的数列进行编码并且同时对X个元素的数量进行编码,其中,按下式将G个比特与X个元素的数量相关联
Figure A2007800498860009C1
其中0<X≤N。
63、根据权利要求61所述的设备(400),其中,编码装置(420)被形成为:对长度N的数列进行编码,其中,X是数列中已经进行了编码的元素的数量,其中,按下式将G个比特与数列的下一个元素相关联
Figure A2007800498860010C1
其中0≤X<N。
64、一种对N个采样的序列进行编码的方法,序列中的每个采样包括原始位置,所述方法包括:
按照大小对采样进行排序,以获得采样的排序序列,每个采样包括在排序序列中的排序位置;
对经排序的采样进行编码;以及
使用与采样的原始和排序位置之间的关系有关的信息对数列进行编码,数列中的每个元素是唯一的,并且在编码时比特的数量与数列的元素相关联,使得如果在对第一元素进行编码之前已经进行了编码的元素少于在对第二元素进行编码之前已经进行了编码的元素,则与第一元素相关联的比特数量大于与第二元素相关联的比特数量。
65、一种具有程序代码的计算机程序,所述程序代码用于当在计算机上执行时,执行根据权利要求64所述的方法。
66、一种用于对采样序列进行解码的设备(450),序列中的每个采样包括原始位置,所述设备包括:
用于接收编码数列以及采样序列的装置(460),每个采样包括排序位置;
用于基于编码数列,使用与原始和排序位置之间的关系有关的信息对解码数列进行解码的解码装置(470),编码数列中的每个元素是唯一的,并且解码装置(470)将比特数量与数列的元素相关联,使得如果在对第一元素进行解码之前已经进行了解码的元素少于在对第二元素进行编码之前已经进行了解码的元素,则与第一元素相关联的比特数量大于与第二元素相关联的比特数量;以及
用于基于解码数列对采样序列进行重排序,使得解码序列中的每个采样包括其原始位置的装置(480)。
67、根据权利要求66所述的设备(450),其中,解码装置(470)被形成为:对长度N的数列进行解码并且同时对X个元素的数量进行解码,其中,按下式将G个比特与X个元素的数量相关联
其中0<X≤N。
68、根据权利要求66所述的设备(450),其中,解码装置(470)被形成为:对长度N的数列进行解码,其中X是数列中已经进行了编码的元素的数量,其中,按下式将G个比特与数列的下一个元素相关联
其中0≤X<N。
69、一种对采样序列进行解码的方法,序列中的每个采样包括原始位置,所述方法包括:
接收编码数列以及采样序列,每个采样包括排序位置;
基于编码数列,使用与原始和排序位置之间的关系有关的信息对编码数列进行解码,解码数列中的每个元素是唯一的,并且在解码时将比特数量与数列的元素相关联,使得如果在对第一元素进行解码之前已经进行了解码的元素少于在对第二元素进行编码之前已经进行了解码的元素,则与第一元素相关联的比特数量大于与第二元素相关联的比特数量;以及
基于解码数列对采样序列进行重排序,使得解码序列中每个采样包括其原始位置。
70、一种具有程序代码的计算机程序,所述程序代码用于当在计算机上执行时,执行根据权利要求69所述的方法。
CN2007800498867A 2006-11-16 2007-11-16 用于编码和解码的设备 Active CN101601087B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
DE102006054080.8 2006-11-16
DE102006054080 2006-11-16
DE102007017254A DE102007017254B4 (de) 2006-11-16 2007-04-12 Vorrichtung zum Kodieren und Dekodieren
DE102007017254.2 2007-04-12
PCT/EP2007/009941 WO2008058754A2 (de) 2006-11-16 2007-11-16 Vorrichtung zum kodieren und dekodieren

Publications (2)

Publication Number Publication Date
CN101601087A true CN101601087A (zh) 2009-12-09
CN101601087B CN101601087B (zh) 2013-07-17

Family

ID=39283871

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800498867A Active CN101601087B (zh) 2006-11-16 2007-11-16 用于编码和解码的设备

Country Status (9)

Country Link
US (1) US20100027625A1 (zh)
EP (1) EP2054884B1 (zh)
JP (1) JP5200028B2 (zh)
KR (1) KR101122573B1 (zh)
CN (1) CN101601087B (zh)
AT (1) ATE527655T1 (zh)
DE (1) DE102007017254B4 (zh)
HK (1) HK1126568A1 (zh)
WO (1) WO2008058754A2 (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102792370A (zh) * 2010-01-12 2012-11-21 弗劳恩霍弗实用研究促进协会 使用描述有效状态值及区间边界的散列表的音频编码器、音频解码器、编码音频信息的方法、解码音频信息的方法及计算机程序
CN103795493A (zh) * 2012-10-26 2014-05-14 阿尔特拉公司 用于改进编码的装置及关联方法
CN104318926A (zh) * 2014-09-29 2015-01-28 四川九洲电器集团有限责任公司 基于IntMDCT的无损音频编码方法、解码方法
CN104392725A (zh) * 2014-12-02 2015-03-04 中科开元信息技术(北京)有限公司 多声道无损音频混合编解码方法及装置
CN105100812A (zh) * 2014-05-23 2015-11-25 成都市高博汇科信息科技有限公司 一种图像发送、接收方法和装置
CN103119646B (zh) * 2010-07-20 2016-09-07 弗劳恩霍夫应用研究促进协会 音频编码器、音频解码器、编码音频信息的方法以及解码音频信息的方法
CN107582046A (zh) * 2017-09-18 2018-01-16 山东正心医疗科技有限公司 心电实时监护方法
US9942063B2 (en) 2012-10-26 2018-04-10 Altera Corporation Apparatus for improved encoding and associated methods
US9978380B2 (en) 2009-10-20 2018-05-22 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder, method for encoding an audio information, method for decoding an audio information and computer program using a detection of a group of previously-decoded spectral values
CN111431716A (zh) * 2020-03-30 2020-07-17 卓尔智联(武汉)研究院有限公司 数据传输方法、装置、计算机设备和存储介质
CN112435674A (zh) * 2020-12-09 2021-03-02 北京百瑞互联技术有限公司 优化频谱数据的lc3算术编码搜索表的方法、装置、介质
CN114173081A (zh) * 2021-12-13 2022-03-11 济南大学 一种远程音视频方法及***

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8521540B2 (en) * 2007-08-17 2013-08-27 Qualcomm Incorporated Encoding and/or decoding digital signals using a permutation value
KR101487190B1 (ko) * 2008-09-11 2015-01-28 삼성전자주식회사 압축 코덱을 구비한 플래시 메모리 집적 회로
CN101615911B (zh) * 2009-05-12 2010-12-08 华为技术有限公司 一种编解码方法和装置
CN101609680B (zh) * 2009-06-01 2012-01-04 华为技术有限公司 压缩编码和解码的方法、编码器和解码器以及编码装置
US8755619B2 (en) * 2009-11-19 2014-06-17 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding image data using run of the image data
KR101206000B1 (ko) * 2010-12-31 2012-11-28 전자부품연구원 Mpeg-4 als vlsi 구현을 위한 저복잡도 가변 차수 단기 예측기
AU2012218016B2 (en) 2011-02-16 2015-11-19 Dolby Laboratories Licensing Corporation Methods and systems for generating filter coefficients and configuring filters
US9058223B2 (en) * 2011-04-22 2015-06-16 Microsoft Technology Licensing Llc Parallel entropy encoding on GPU
GB2490879B (en) * 2011-05-12 2018-12-26 Qualcomm Technologies Int Ltd Hybrid coded audio data streaming apparatus and method
US11039138B1 (en) 2012-03-08 2021-06-15 Google Llc Adaptive coding of prediction modes using probability distributions
CN104221288A (zh) * 2012-04-13 2014-12-17 佳能株式会社 对编码视频数据的变换单位的子集编码和解码的方法、设备和***
US10844689B1 (en) 2019-12-19 2020-11-24 Saudi Arabian Oil Company Downhole ultrasonic actuator system for mitigating lost circulation
CN107403624B (zh) 2012-05-18 2021-02-12 杜比实验室特许公司 用于音频信号的动态范围调整及控制的方法和设备
KR101647576B1 (ko) * 2012-05-29 2016-08-10 노키아 테크놀로지스 오와이 스테레오 오디오 신호 인코더
US10003793B2 (en) 2012-10-01 2018-06-19 Google Technology Holdings LLC Processing of pulse code modulation (PCM) parameters
US9485222B2 (en) * 2013-08-20 2016-11-01 Hewlett-Packard Development Company, L.P. Data stream traffic control
EP3503095A1 (en) 2013-08-28 2019-06-26 Dolby Laboratories Licensing Corp. Hybrid waveform-coded and parametric-coded speech enhancement
TWI671734B (zh) 2013-09-12 2019-09-11 瑞典商杜比國際公司 在包含三個音訊聲道的多聲道音訊系統中之解碼方法、編碼方法、解碼裝置及編碼裝置、包含用於執行解碼方法及編碼方法的指令之非暫態電腦可讀取的媒體之電腦程式產品、包含解碼裝置及編碼裝置的音訊系統
DE102015217724A1 (de) * 2015-09-16 2017-03-16 Siemens Aktiengesellschaft Vorrichtung und Verfahren zum Erstellen einer asymmetrischen Prüfsumme
JP6766264B2 (ja) * 2017-06-22 2020-10-07 日本電信電話株式会社 符号化装置、復号装置、符号化方法、復号方法、およびプログラム
US10553224B2 (en) 2017-10-03 2020-02-04 Dolby Laboratories Licensing Corporation Method and system for inter-channel coding
US10630459B2 (en) 2018-09-13 2020-04-21 Viasat, Inc. Synchronizing and aligning sample frames received on multi-component signals at a communications receiver
TW202102010A (zh) * 2019-05-24 2021-01-01 瑞典商赫爾桑茲股份有限公司 用於無損資料壓縮和解壓縮的方法、裝置、和電腦程式產品
US11403310B2 (en) * 2020-02-28 2022-08-02 Verizon Patent And Licensing Inc. Systems and methods for enhancing time series data compression for improved data storage
CN113890737B (zh) * 2021-09-27 2024-01-26 清华大学 一种信息编码方法、信息编码***及相关装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3975587A (en) * 1974-09-13 1976-08-17 International Telephone And Telegraph Corporation Digital vocoder
US4903301A (en) * 1987-02-27 1990-02-20 Hitachi, Ltd. Method and system for transmitting variable rate speech signal
JP3498375B2 (ja) * 1994-07-20 2004-02-16 ソニー株式会社 ディジタル・オーディオ信号記録装置
JP3011038B2 (ja) * 1994-12-02 2000-02-21 ヤマハ株式会社 音声情報圧縮方法及び装置
JP3353868B2 (ja) * 1995-10-09 2002-12-03 日本電信電話株式会社 音響信号変換符号化方法および復号化方法
US6731811B1 (en) * 1997-12-19 2004-05-04 Voicecraft, Inc. Scalable predictive coding method and apparatus
US6028541A (en) * 1998-03-12 2000-02-22 Liquid Audio Inc. Lossless data compression with low complexity
JP2000165252A (ja) * 1998-11-18 2000-06-16 Neucore Technol Inc データ圧縮方法および装置
CN100392981C (zh) * 1999-01-07 2008-06-04 皇家菲利浦电子有限公司 在无损编码器中边信息的有效编码方法
US6842735B1 (en) * 1999-12-17 2005-01-11 Interval Research Corporation Time-scale modification of data-compressed audio information
JP2002077255A (ja) * 2000-08-29 2002-03-15 Fujitsu Ltd 画像配信方法及びその画像送信装置及びルータ装置
US7047169B2 (en) * 2001-01-18 2006-05-16 The Board Of Trustees Of The University Of Illinois Method for optimizing a solution set
US20020198708A1 (en) * 2001-06-21 2002-12-26 Zak Robert A. Vocoder for a mobile terminal using discontinuous transmission
JP2003022192A (ja) * 2001-07-09 2003-01-24 Hitachi Ltd ブロックソート圧縮アルゴリズムを用いた圧縮プログラミング方法、該圧縮プログラミング方法を用いたプロセッサシステム及び情報配信サービス方法
US7260215B2 (en) * 2001-09-04 2007-08-21 Portauthority Technologies Inc. Method for encryption in an un-trusted environment
WO2003026308A2 (de) * 2001-09-14 2003-03-27 Siemens Aktiengesellschaft Verfahren und vorrichtung zur verbesserten codierung und decodierung von videosignalen
US6847682B2 (en) * 2002-02-01 2005-01-25 Hughes Electronics Corporation Method, system, device and computer program product for MPEG variable bit rate (VBR) video traffic classification using a nearest neighbor classifier
DE10230809B4 (de) * 2002-07-08 2008-09-11 T-Mobile Deutschland Gmbh Verfahren zur Übertragung von Audiosignalen nach dem Verfahren der priorisierenden Pixelübertragung
JP3997171B2 (ja) * 2003-03-27 2007-10-24 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法、及び動画像復号プログラム
DE10322722B4 (de) * 2003-05-20 2005-11-24 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Synchronisieren eines Audiossignals mit einem Film
DE602004028171D1 (de) 2004-05-28 2010-08-26 Nokia Corp Mehrkanalige audio-erweiterung
US7792373B2 (en) * 2004-09-10 2010-09-07 Pioneer Corporation Image processing apparatus, image processing method, and image processing program

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9978380B2 (en) 2009-10-20 2018-05-22 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder, method for encoding an audio information, method for decoding an audio information and computer program using a detection of a group of previously-decoded spectral values
US11443752B2 (en) 2009-10-20 2022-09-13 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder, method for encoding an audio information, method for decoding an audio information and computer program using a detection of a group of previously-decoded spectral values
CN102792370B (zh) * 2010-01-12 2014-08-06 弗劳恩霍弗实用研究促进协会 使用描述有效状态值及区间边界的散列表的音频编码器、音频解码器、编码音频信息的方法及解码音频信息的方法
CN102792370A (zh) * 2010-01-12 2012-11-21 弗劳恩霍弗实用研究促进协会 使用描述有效状态值及区间边界的散列表的音频编码器、音频解码器、编码音频信息的方法、解码音频信息的方法及计算机程序
US9633664B2 (en) 2010-01-12 2017-04-25 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder, method for encoding and audio information, method for decoding an audio information and computer program using a modification of a number representation of a numeric previous context value
CN103119646B (zh) * 2010-07-20 2016-09-07 弗劳恩霍夫应用研究促进协会 音频编码器、音频解码器、编码音频信息的方法以及解码音频信息的方法
US9942063B2 (en) 2012-10-26 2018-04-10 Altera Corporation Apparatus for improved encoding and associated methods
CN103795493A (zh) * 2012-10-26 2014-05-14 阿尔特拉公司 用于改进编码的装置及关联方法
CN103795493B (zh) * 2012-10-26 2018-11-13 阿尔特拉公司 用于改进编码的装置及关联方法
CN105100812A (zh) * 2014-05-23 2015-11-25 成都市高博汇科信息科技有限公司 一种图像发送、接收方法和装置
CN105100812B (zh) * 2014-05-23 2019-01-04 成都市高博汇科信息科技有限公司 一种图像发送、接收方法和装置
CN104318926A (zh) * 2014-09-29 2015-01-28 四川九洲电器集团有限责任公司 基于IntMDCT的无损音频编码方法、解码方法
CN104318926B (zh) * 2014-09-29 2018-08-31 四川九洲电器集团有限责任公司 基于IntMDCT的无损音频编码方法、解码方法
CN104392725A (zh) * 2014-12-02 2015-03-04 中科开元信息技术(北京)有限公司 多声道无损音频混合编解码方法及装置
CN107582046A (zh) * 2017-09-18 2018-01-16 山东正心医疗科技有限公司 心电实时监护方法
CN111431716A (zh) * 2020-03-30 2020-07-17 卓尔智联(武汉)研究院有限公司 数据传输方法、装置、计算机设备和存储介质
CN111431716B (zh) * 2020-03-30 2021-03-16 卓尔智联(武汉)研究院有限公司 数据传输方法、装置、计算机设备和存储介质
CN112435674A (zh) * 2020-12-09 2021-03-02 北京百瑞互联技术有限公司 优化频谱数据的lc3算术编码搜索表的方法、装置、介质
CN114173081A (zh) * 2021-12-13 2022-03-11 济南大学 一种远程音视频方法及***

Also Published As

Publication number Publication date
EP2054884A2 (de) 2009-05-06
JP2010510533A (ja) 2010-04-02
DE102007017254B4 (de) 2009-06-25
WO2008058754A2 (de) 2008-05-22
HK1126568A1 (en) 2009-09-04
ATE527655T1 (de) 2011-10-15
KR101122573B1 (ko) 2012-03-22
WO2008058754A3 (de) 2008-07-10
EP2054884B1 (de) 2011-10-05
JP5200028B2 (ja) 2013-05-15
US20100027625A1 (en) 2010-02-04
DE102007017254A1 (de) 2008-07-17
CN101601087B (zh) 2013-07-17
KR20090087902A (ko) 2009-08-18

Similar Documents

Publication Publication Date Title
CN101601087B (zh) 用于编码和解码的设备
Herre Temporal noise shaping, qualtization and coding methods in perceptual audio coding: A tutorial introduction
EP2267698B1 (en) Entropy coding by adapting coding between level and run-length/level modes.
JP4081447B2 (ja) 時間離散オーディオ信号を符号化する装置と方法および符号化されたオーディオデータを復号化する装置と方法
US7620554B2 (en) Multichannel audio extension
US8412533B2 (en) Context-based arithmetic encoding apparatus and method and context-based arithmetic decoding apparatus and method
CN101501761B (zh) 无需边信息对时域噪声包络的任意整形
US7275036B2 (en) Apparatus and method for coding a time-discrete audio signal to obtain coded audio data and for decoding coded audio data
EP2270777B1 (en) Mixed lossy and lossless audio compression
KR101175651B1 (ko) 다중 압축 부호화 방법 및 장치
US20020049586A1 (en) Audio encoder, audio decoder, and broadcasting system
CN102047564B (zh) 将重叠变换因式分解成两个块变换
US20050015259A1 (en) Constant bitrate media encoding techniques
CN101484937B (zh) 使用缓冲器调节对已预测编码的数据进行解码
US20040044534A1 (en) Innovations in pure lossless audio compression
MX2012004564A (es) Codificador de audio, decodificador de audio, metodo para codificar informacion de audio y programa de computacion que utiliza una reduccion de tamaño de intervalo interactiva.
JP2005535940A (ja) スケーラブルエンコーディングのための方法および装置ならびにスケーラブルデコーディングのための方法および装置
US7644001B2 (en) Differentially coding an audio signal
RU2099906C1 (ru) Способ сокращения данных при передаче и/или накоплении цифровых сигналов
CN1458646A (zh) 一种滤波参数矢量量化和结合量化模型预测的音频编码方法
JPH09106299A (ja) 音響信号変換符号化方法および復号化方法
US7181079B2 (en) Time signal analysis and derivation of scale factors
Muin et al. A review of lossless audio compression standards and algorithms
JP3557164B2 (ja) オーディオ信号符号化方法及びその方法を実行するプログラム記憶媒体
US20130197919A1 (en) "method and device for determining a number of bits for encoding an audio signal"

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