CN102089813B - 音频编码器和音频解码器 - Google Patents
音频编码器和音频解码器 Download PDFInfo
- Publication number
- CN102089813B CN102089813B CN2009801272072A CN200980127207A CN102089813B CN 102089813 B CN102089813 B CN 102089813B CN 2009801272072 A CN2009801272072 A CN 2009801272072A CN 200980127207 A CN200980127207 A CN 200980127207A CN 102089813 B CN102089813 B CN 102089813B
- Authority
- CN
- China
- Prior art keywords
- coefficient
- entropy
- coding
- tuple
- context
- 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.)
- Active
Links
- 230000005236 sound signal Effects 0.000 claims abstract description 21
- 230000003595 spectral effect Effects 0.000 claims description 51
- 238000001228 spectrum Methods 0.000 claims description 47
- 238000000034 method Methods 0.000 claims description 42
- 238000009826 distribution Methods 0.000 claims description 38
- 238000003795 desorption Methods 0.000 claims description 4
- 238000005070 sampling Methods 0.000 description 21
- 238000013507 mapping Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 13
- 230000001186 cumulative effect Effects 0.000 description 10
- 230000001965 increasing effect Effects 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 7
- 238000003860 storage Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000013139 quantization Methods 0.000 description 4
- 238000011946 reduction process Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000013213 extrapolation Methods 0.000 description 3
- 238000011002 quantification Methods 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 239000011800 void material Substances 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 244000290594 Ficus sycomorus Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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 spectral analysis, e.g. transform vocoders or subband vocoders
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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 spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/022—Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3059—Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4006—Conversion to or from arithmetic code
- H03M7/4012—Binary arithmetic codes
- H03M7/4018—Context adapative binary arithmetic codes [CABAC]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Stereo-Broadcasting Methods (AREA)
- Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
Abstract
一种用于对系数段进行编码的音频编码器(100),所述系数段代表采样音频信号的不同时间或频率解析度,所述音频编码器(100)包括处理器(110),用于基于之前段的之前编码的系数,获取用于当前段的当前编码的系数的编码上下文,所述之前编码的系数代表与所述当前编码的系数不同的时间或频率解析度。所述音频编码器(100)还包括熵编码器(120),用于基于所述编码上下文,对所述当前系数进行熵编码以获得编码音频流。
Description
技术领域
本发明涉及音频编码的领域,特别地,涉及基于上下文的熵编码领域。
背景技术
传统音频编码概念包括用于冗余减少的熵编码方案。一般地,熵编码应用于针对基于频率域的编码方案的量化的频谱系数、或针对基于时间域的编码方案的量化的时间域采样。这些熵编码方案一般使用发送码字以及相应的码本索引,其允许解码器查找特定的码本页,用于对与所述页上的所发送的码字相对应的编码信息字进行解码。在一些编码概念中,码本索引的发送并非强制性的,例如在通过符号的上下文可确定码本索引的情况下,例如熵编码,说明于Meine,Edler,“Improved Quantization and Lossless Coding for Subband AudioCoding”;以及Meine,“Vektorquantisierung undarithmetische Codierung für MPEG-4 AAC”,Dissertation,GottfriedWilhelm LeibnitzHannover,Hanover 2007。
对于基于频率域或基于频谱域的音频编码,上下文可以描述符号或统计属性,例如位于时间和/或频率之前的量化的频谱系数。在一些常规概念中,这些符号可同时用于编码器侧和解码器侧,并且基于这些符号,可以同时在编码器侧和解码器侧同步地确定码本或上下文。
图9示出了上下文的示例及其依赖性。图9示出了时间频率平面,其中指示了一定数量的符号。符号Sn,m表示在时间n和在频率m的符号。图9示出了用于编码特定符号,其上下文用于确定相关联的码本。例如对于符号Sn0,m0,这将是满足以下条件的全部符号:
n<n0且任何m,或n=n0且m<m0。
在实际实施中,上下文并非无限的,而是受限的。在图9所示的示例中,符号S0,3的上下文可以例如是
S0,2、S0,1、S-1,5、S-1,4、S-1,3、S-1,2、S-1,1、S-2,5、S-2,4、S-2,3、S-2,2、S-2,1。
对于基于频率的音频编码、时间变体,可以使用信号自适应滤波器组或所谓的块变换,例如在Edler,B.,“Codierung von Audiosignalenmit überlappender Transformation und adaptiven Fensterfunktionen”,Frequenz,Ausgabe 43,September 1989中描述过。
换言之,在这些音频编码概念中随着时间的经过可能发生频率/时间解析度的改变。流行的音频编码概念是所谓的AAC(AAC=高级音频编码),其中使用两种块长度,编码例如128个或1024个已变换的系数,分别代表256个或2048个分窗时间域采样的频率组件。
这些概念允许根据特定的信号特性,在不同解析度之间进行切换,例如瞬时(transient)或音调(tonality)的出现,或该信号是否为音乐类或语音类等等。在不同的时间/频率解析度之间进行切换的情况下,例如在不同的AAC块类型之间切换的情况下,上下文不一致。常规概念或现有技术实施可以利用该上下文的重置,即基本上切换至其中无任何上下文可用的状态,其中上下文是从草稿建立的。该方法在例如AAC中可以具有充分良好的效果,原因在于其保证一列中至少有两个长块或八个短块,此处假设切换不常发生。
然而,重置上下文的常规概念在编码效率方面一般并非最优的,原因在于每次重置上下文时,后续的码本选择基于被设计用作对未知的上下文的备用解决方案的值。然后一般选择非最优的码本。对于其中切换不常出现的情况,可以忽略编码效率的缺点。然而,对于更频繁切换的情况,这导致编码效率的显著耗损。另一方面,对于较低数据速率/采样速率,强烈需要更频繁的切换,原因在于特别需要变换长度对信号特性有最优自适应性。另一方面,当频繁切换时,编码效率显著降低。
发明内容
本发明的目的是提供在音频编码中的不同变换长度之间进行切换的概念,所述音频编码提供了增强的编码效率。
可由根据权利要求1所述的音频编码器、根据权利要求8所述的音频编码方法、根据权利要求9所述的音频解码器以及根据权利要求16所述的音频解码方法来达成该目的。
本发明基于在时间/频率解析度随着时间而改变的情况下,在基于上下文的编码诸如基于上下文的熵编码中,其可应用至不同时间/频率解析度时,可使用上下文映射机制,从而达成增强的编码效率。本发明发现当在不同时间或频率解析度之间进行切换时,可以从具有旧解析度的系数获取具有新解析度的系数的上下文。本发明发现当在音频编码中切换时间/频率解析度时,内插、外推、次采样、降采样、升采样等可用于上下文的自适应和/或获取。
本发明的实施例提供一种映射方法,其将具有旧解析度的已存储的上下文的频率系数或频谱系数映射至当前上下文或当前帧的频率解析度。换言之,之前的上下文信息可用于码本确定,即用于获取新的上下文信息。实施例允许块长度的更频繁的切换,因此允许对信号特性的更好的自适应,同时不损耗编码效率。
附图说明
将使用附图来详细说明本发明的实施例,在附图中:
图1示出了音频编码器的实施例;
图2示出了音频解码器的实施例;
图3示出了上下文升采样的实施例;
图4示出了上下文降采样的实施例;
图5示出了音频切换时间和频率解析度;
图6示出了实施例的实施;
图7a示出了编码方法的实施例的流程图;
图7b示出了实施例的一般上下文更新过程;
图7c示出了用于解析度改变的实施例的上下文更新过程;
图8示出了解码方法的实施例的流程图;以及
图9示出了现有技术的时间频率编码方案。
具体实施方式
图1示出了用于对系数段进行编码的音频编码器100的实施例,该系数段代表采样音频信号的不同的时间或频率解析度。音频编码器100包括处理器110,用于基于之前段的之前已编码系数来获取当前段的当前已编码系数的编码上下文,该之前已编码系数代表与当前已编码系数不同的时间或频率解析度。音频编码器的实施例还包括熵编码器120,用于基于该编码上下文对当前系数进行熵编码,以获得编码音频流。
在实施例中,系数可以对应于音频采样、量化音频采样、频谱系数或频率系数、扩缩系数、变换系数或滤波系数等或其任一种组合。
在实施例中,音频编码器100还可以包括用于提供来自音频流的系数段的设备,该系数形成在各系数间变化的频谱解析度的音频信号的频谱表示。提供段的该装置适于基于不同时间域窗口长度或不同音频帧来确定段,即具有不同长度或每个带宽不同数量系数的音频信号,即具有不同频谱或频率解析度。该提供装置适于确定1024或128时间、频率或频谱系数的段。
在实施例中,处理器110可以适于基于当前及之前的系数或段的频率域或频谱域表示,来获取编码上下文。换言之,在实施例中,可在不同时间域和/或频率域或频谱域中表示连续段。处理器110可以适于基于例如之前段和/或当前段的相邻频谱系数,而获取当前段的每个频带或频谱带的编码上下文。在实施例中,可以初始时在时间域中确定该段,例如,通过将输入音频流分窗来确定。基于这些时间域段或系数,可以通过变换来确定频率或频谱域段或系数。可以在频率或频谱域中用每个频带或频谱带的能量、振幅和相位、振幅和符号等等来表示段,即可在不同频带或频谱带中再分割段。然后在一些实施例中,处理器110可获取出每个频带或频谱带的编码上下文。
处理器110和熵编码器120可以被配置为:属于上下文的之前段包括比当前段更精细的频谱或频率解析度时,基于之前段的频率或频谱系数的降采样进行操作。在实施例中,处理器110和熵编码器120可以备配置为:当属于上下文的之前段包括比当前段更粗糙的频谱或频率解析度时,基于之前段的频率或频谱系数的升采样进行操作。
实施例可以提供一种用于对代表采样音频信号的不同时间或频率解析度的系数段进行编码的方法。该方法可以包括以下步骤:基于从之前段的之前已编码或之前系数,并且可选地基于当前已编码或当前系数,获取当前段的当前已编码的或当前系数的编码上下文,其中该之前已编码或之前系数代表与当前已编码或当前系数不同的时间或频率解析度。该方法还可以包括基于该编码上下文对当前系数进行熵编码来获得编码音频流的步骤。
相应地,实施例可以包括音频解码器200,图2示出了其实施例。音频解码器200适于对编码音频流进行解码,以获得代表采样的音频信号不同的时间或频率解析度的系数段,该音频解码器200包括处理器210,用以基于之前已解码或之前系数,获取当前已解码或当前系数的编码上下文,该之前已解码或之前系数表示与当前已解码系数不同的时间或频率解析度。此外,音频解码器200包括熵解码器220,用于基于该编码上下文及编码音频流对当前系数进行熵解码。
在实施例中,音频解码器200可以包括熵解码器220,其适于基于不同时间域窗口长度或不同音频帧长度来确定已解码系数段。熵解码器220可以适于确定例如1024或128个时间域采样或频率或频谱系数的段。相应地,处理器210可以适于基于之前段和/或当前段的系数的频率域或频谱域表示,获取编码上下文。
在实施例中,处理器210可以适于基于例如之前段或选择性地来自当前段的相邻频谱系数,来获取当前段的每个频带或频谱带的编码上下文。换言之,可在频率域或频谱域中处理该段,可对每个频带或频谱带进行。相应地,处理器210则可适于获取频带或频谱带特定上下文。
熵解码器220可以适于基于熵或可变长度编码规则来对当前系数进行熵解码。
当之前段包括比当前段每个带宽更多系数(即更精细的频谱或频率解析度)时,处理器210可以适于基于之前段的频率或频谱系数的降采样而获取编码上下文。在其他实施例中,当之前段包括比当前段每个带宽更少的系数(即更粗糙的频谱或频率解析度)时,处理器210及熵解码器220可以被配置为基于之前段的频谱系数的升采样来进行操作。
因此,实施例可以提供一种用于对编码音频流进行解码以获得代表已解码音频采样的系数段的方法。该解码方法可以包括以下步骤基于之前段的之前已解码或之前系数,获取当前段的当前已解码或当前系数的编码上下文,该之前已解码或之前系数代表与当前已解码系数不同的时间或频率解析度。此外,该方法包括基于编码上下文和编码音频信号对当前系数进行熵解码的步骤。可选地,该方法可以包括从该编码音频流来确定编码音频系数段的步骤,该段代表不同数量的音频系数。
图3示出了处理器110、210如何基于Mc,old系数的之前段来获取Mc,new系数的当前段的编码上下文,其中该之前段包括与当前段不同数量的音频系数。在图3所示的实施例中,段系数的数量M确定该段的频率或频谱解析度。该实施例可以包括一种映射方法,其将之前段的Mc,old系数映射至具有与当前段的相同上下文频率或频谱解析度的Mc,new系数。图3示出了两个段中的两个系数集合,即代表Mc,old系数的Sn,0、Sn,1、Sn,2等的原始之前段310;及相应地,具有更高解析度,即Mc,new大于Mc,old的所映射的之前段320,其代表Mc,new系数Sn,0、Sn,1、Sn,2、Sn,3等等。
通常可以根据当前段的上下文的解析度高于或低于之前段的上下文的解析度来区分两个实施例。图3示出了实施例,其中Mc,old系数的之前段解析度低于Mc,new系数的当前段解析度。图3示出了之前段310的系数及所映射的之前段320的符号。由图3可知,Mc,new系数的当前段解析度高于仅具有Mc,old系数的之前段310的解析度。在一个实施例中,将之前段310升采样至Mc,new系数的段320,以匹配该当前段的频率或频谱解析度。这可以包括以符号复制及抽取机制的纯粹升采样,例如重复每一个数值Mc,new次,随后通过每Mc,old个系数仅保留1个系数来抽取作为结果的已升采样的段。也可使用其它内插或外推机制。
在实施例中,对于将在时间n处确定当前段的上下文所需的全部之前段310,可以执行映射,换言之,可以考虑多个之前段,即在时间n-1、n-2等处的之前段。通常实施例可以考虑多个时隙或多个之前段,对于不同实施或不同实施例,限定完整上下文所需的时隙数量可能不同。
图4示出了另一个实施例,其中将之前段410的系数降采样至段420,用于计算当前段的上下文,即其中之前段410的系数Mc,old的数量高于当前段的系数Mc,new的数量。图4使用了类似于图3的说明,在每一个段410及420中示出了多个系数。如图4所示,Mc,old大于Mc,new。因此,将Mc,old系数次采样来匹配Mc,new系数的当前段的频率或频谱解析度,即在实施例中,可以将具有较高解析度的之前段次采样来匹配具有较低解析度的当前段的解析度。在实施例中,这可以包括使用系数复制及抽取机制的纯粹降采样,例如重复每一个值Mc,new次,随后通过每Mc,old系数仅保留一个系数来抽取作为结果的升采样的段。在其它实施例中,可以考虑滤波操作,例如求两个或多个相邻值的平均值。
图5示出了另一个实施例,其中进行在不同解析度之间的切换。图5示出了时间/频率平面,其中示出了三个后续的音频系数段,即510、520和530。每一个段510、520及530对应于系数的单一集合。在图5所示的实施例中,假设第二段520是第一段510和第三段530的两倍长。当在时间域中分段时,例如在AAC中进行时,通过使用不同窗口可以达成。在图5所示的实施例中,假设采样速率保持恒定,换言之,较长的第二段520包含比第一段510或第三段530两倍的每个带宽的音频系数。
图5示出了在该情况下,频率域或频谱域的解析度按照时间域中的段的延伸度来扩缩。换言之,在时间域中的窗口越短,则在频率域或频谱域中的解析度越低。当评估用于在频率域或频谱域中对采样进行编码的上下文时,图5示出了当如所考虑的示例一样对第二段520进行编码时,编码需具有段510的更高解析度的版本,必需获取段510的双倍解析度。在其它实施例中,特别地当使用其它时间-频率域变换或滤波器组时,可获得时间域解析度与频率域解析度间的其它关系。
根据实施例,在第一段510期间,编码的系数提供用于通过例如中间升采样来确定第二段520的上下文的基础。换言之,可以通过例如就内插法或外推法进行第一段510的升采样,来获得来自第一段510的上下文内容,以获取具有较高解析度的第二段520的上下文。
如图5所示,当从第二段520切换至第三段530时,由于现在解析度已经降低,故上下文组成元素也已经改变。根据实施例,在第二段520期间编码的系数可用于通过中间降采样来获取第三段的上下文。例如可以通过求平均值进行,或单纯使用每第二个数值或其它降采样手段来进行。
即使当发生解析度或窗口长度改变时,通过考虑由之前段获取的过去上下文,这些实施例可达成编码效率增加的优点。以升采样或降采样,例如使用内插或外推滤波或求平均等,上下文组成元素可自适应于新解析度。
下面将在频谱无噪声编码方面呈现更具体的实施例。频谱无噪声编码可以用于在音频编码中进一步减少已量化频谱的冗余。频谱无噪声编码可以基于算术编码以及动态上下文自适应。
无噪声编码可以基于已量化的频谱值,并且可以使用从例如四个之前已解码的相邻元组获取的上下文依赖累积频率表。图6示出了另一个实施例。图6示出了时间频率平面,其中沿着时间轴,将三个时隙标为n、n-1和n-2。此外,图6示出了四个频带或频谱带,标为m-2、m-1、m和m+1。图6示出了在每个时间-频率隙框内部,代表欲编码或欲解码的采样元组。图6示出了三种不同类型的元组,其中具有虚线或点线边界的框指示欲编码或欲解码的剩余元组;具有实线边界的白框指示之前已编码或已解码的元组;并且具有实线边界的灰框指示之前已编/解码元组,他们勇于确定欲编码或欲解码的当前元组的上下文。
注意到上述实施例中指代的之前段和当前段可以与本实施例中的元组相对应,换言之,可以在频率域或频谱域中逐频带处理段。如图6所示,在当前元组的邻近(即在时间域及频率域或频谱域中)的元组或段可考虑用于获取上下文。然后由算术编码器使用累积频率表来生成可变长度二进制码。算术编码器可产生给定符号集合的二进制码及其各自的概率。通过将该符号集合所在的概率间隔映射至码字,可以生成二进制码。算术编码器可以与上述实施例中的熵编码器120或熵解码器220相对应。
在本实施例中,可以基于4元组(即对四个频谱系数索引)进行基于上下文的算术编码,也将该4元组标为q(n,m),代表量化后的频谱系数,其与频率域或频谱域相邻,并且在一个步骤后对其进行熵编码。根据上述描述,可以基于编码上下文进行编码。如图6所示,除了已经编码的4元组(即当前段)外,考虑四个之前已编码的4元组来获取上下文。这四个4元组确定上下文,并且在频率域中是之前的和/或在时间域中是之前的。
图7a示出了用于频谱系数的编码方案的USAC(USAC=通用语音和音频编码器)上下文依赖性算术编码器的流程图。编码过程取决于当前4元组加上上下文,此处该上下文用于选择算术编码器的概率分布,并且用于预测频谱系数的振幅。图7a中框705代表上下文确定,其基于与q(n-1,m)、q(n,m-1)、q(n-1,m-1)和q(n-1,m+1)相对应的t0、t1、t2和t3,即图6的具有实线边界的灰框。
通常在实施例中,熵编码器可以适于以频谱系数的4元组为单位来对当前段进行编码,并且用于基于编码上下文预测4元组的振幅范围。
在本实施例中,编码方案包括若干阶段。首先,使用算术编码器及特定概率分布对文字码字进行编码。该码字代表四个相邻的频谱系数(a、b、c、d),但a、b、c、d各自受限于以下范围:
-5<a、b、c、d<4。
通常,在实施例中,熵编码器120可以适于按照需要经常用预确定因子除该4元组,以将结果结果带入预测范围或预定范围,并且用于当该4元组不在预测范围时,对需要的除法次数、除法余数、和除法结果进行编码;以及用于以其它方式对除法余数和除法结果进行编码。
下文中,如果项(a、b、c、d),即任何系数a、b、c、d超过本实施例的给定范围,则通常可考虑按照需要经常以一个因子(例如2或4)除(a、b、c、d),以让作为结果的码字匹配给定范围。以因子2的除法相当于二进制位移至右侧,即(a、b、c、d)>>1。该缩小以整数表示法进行,即可能丢失信息。将向右位移可能丧失的最低有效位加以存储,稍后使用算术编码器和均匀概率分布对其编码。位移至右侧的过程是对全部四个频谱系数(a、b、c、d)进行的。
在一般实施例中,熵编码器120可以适于使用组索引ng对除法结果或4元组进行编码,组索引ng指代概率分布基于编码上下文的一个或多个码字的组;在该组包括多于一个码字的情况下,元素索引ne,该元素索引ne指代该组内部的码字,可假设元素索引为均匀分布;并且熵编码器120可适于通过一定数量的逃逸符号来对除法数量进行编码,逃逸符号为特定组索引ng,其仅用于指示除法并且用于使用算术编码规则,基于均匀分布对除法的余数进行编码。熵编码器120可以适于使用包括该逃逸符号的符号字母表以及与可用组索引的集合、包括该对应元素符号的符号字母表、以及包括该不同余数值的符号字母表相对应的组符号,来将符号序列编码成编码音频流。
在图7a的实施例中,可从上下文中获取用于对文字码字进行编码的概率分布以及对范围缩小步骤的数量的估计。例如,共84=4096个全部码字共跨据544个组,包含一个或多个元素。可以在比特流中将码字表示为组索引ng和组元素ne。可以使用特定概率分布,来使用算术编码器对这两个值编码。在一个实施例中,可以从上下文获取ng的概率分布,反之可以假定ne的概率分布是均匀的。ng与ne的组合可清晰地标识码字。也可假设除法的余数,即位平面位移出,为均匀分布。
在图7a中,在步骤710,提供4元组q(n,m),即(a、b、c、d)或当前段,并且通过将其设为0来初始化参数lev。
在步骤715中,从上下文来估计(a、b、c、d)的范围。根据该估计,(a、b、c、d)可减少lev0级别,即被因子2lev0除。存储lev0最小有效位平面,以供稍后在步骤750使用。
在步骤720,检查(a、b、c、d)是否超过给定范围,若是,则在步骤725,将(a、b、c、d)的范围以因子4缩小。换言之,在步骤725,(a、b、c、d)向右位移2,并且存储已移除的位平面,以供稍后在步骤750使用。
为了指示该缩小步骤,在步骤730,将ng设为544,即ng=544用作为逃逸码字。然后将该码字在步骤755写至比特流,此处为了在步骤730获取该码字,使用具有从上下文获取的概率分布的算术编码器。当该缩小步骤是第一次应用时,即若lev==lev0,则略微调整上下文。当该缩小步骤应用多于一次时,则抛弃上下文,进一步使用缺省分布。然后从步骤720开始继续处理。
如果在步骤720检测到范围匹配,更具体地如果(a、b、c、d)匹配范围条件,则将(a、b、c、d)映射到组ng,并且如果适用,则映射到组元素索引ne。该映射为明确的,即可从ng及ne获取(a、b、c、d)。然后在步骤735,使用从已调整的/已抛弃的上下文获取的概率分布,由算术编码器对组索引ng进行编码。然后在步骤755,将组索引ng插入比特流。在后续步骤740,检查组中的元素数量是否大于1。如果需要,即如果ng指示的该组由多于一个元素组成,则在步骤745,假设本实施例为均匀概率分布,则由算术编码器对组元素索引ne进行编码。
在步骤745之后,将元素组索引ne在步骤755插入比特流。最后,在步骤750,使用算术编码器对全部存储的位平面进行编码,假设为均匀概率分布。然后在步骤755将已编码且已存储的位平面也插入比特流。
在实施例中,熵解码器220可以适于基于从编码上下文获取的概率分布,而将来自编码音频流的组索引ng解码,其中组索引ng代表一个或多个码字的组;以及如果组索引ng指示组包括多于一个码字,则用于基于均匀概率分布,对来自编码音频流的元素索引ne进行解码;以及用于基于组索引ng及元素索引ne,获取当前段的频谱系数的4元组,从而获得以频谱系数的元组来表示的频谱域表示。
在实施例中,熵解码器220可以适于基于使用包括与可用的组索引ng集合相对应的逃逸符号及组符号在内的符号字母表,从编码上下文中所获取的概率分布,对来自编码音频流的序列符号进行解码;用于基于与该序列符号中的组符号相对应的可用组索引ng,且基于元素索引ne,获取频谱系数的初步4元组;以及使用取决于该符号序列中的逃逸符号的数量的因子,乘以该初步4元组,来获得频谱系数的元组。
熵解码器220还可以适于基于使用算术编码规则的均匀概率分布来对来自该编码音频流的余数进行解码;以及用于将该余数加至该已相乘的初步4元组,来获得频谱系数的4元组。
熵解码器220可以适于当从编码音频流对逃逸符号解码时,将该4元组乘以预确定因子,逃逸符号是仅用于指示乘法的特定组索引ng;以及用于基于使用算术编码规则的均匀概率分布,对来自编码音频流的余数进行解码;该熵解码器220还可以适于将余数加至已相乘的4元组来获得当前段。
下文将说明USAC上下文依赖性算术编码器解码方案的实施例。与编码方案的上述实施例相对应,考虑与无噪声编码的已量化频谱系数相对应的4元组。此外,假设从最低频率系数或频谱系数开始,进行至最高频率系数或频谱系数,来发送4元组。该系数可以与例如存储在数组中的AAC系数相对应,并且假设无噪声编码码字的发送顺序使得当以在数组中接收并存储的顺序进行解码时,bin为最快递增索引,而g为最慢递增索引。在码字内部,解码顺序为a、b、c、d。
图7b示出了实施例的一般上下文更新过程。在本实施例中将考虑根据位深度预测机制的上下文自适应的细节。图7b示出了位平面平面760,其显示4元组(a、b、c、d)的可能范围。可以通过计算被称作lev0的变量(图7b也示出了),由当前4元组的上下文来预测位深度,即代表4元组的位平面数量。然后4元组被2lev0除,即移除并存储lev=lev0位平面,以供稍后根据上述步骤715来使用。
如果4元组在-5<a、b、c、d<4的范围中,则正确预测或过度估算所预测的位深度lev0。然后遵照前文说明,由组索引ng、元素索引ne及lev剩余位平面来对该4元组进行编码。然后完成当前4元组的编码。在图7b中由均匀概率分布762来指示元素索引ne的编码,其在下文中将经常用于对元素索引进行编码,在图7b中,参数r代表除法后该4元组的余数,并且p(r)代表相对应的均匀概率密度函数。
如果4元组不在-5<a、b、c、d<4的范围中,则基于编码上下文764的预测过低,对逃逸符号(ng=544)进行编码766,并且根据图7a的步骤730,将该4元组除以4并且将lev增加2。如下调整上下文。如果lev==lev0+2,则对应于图7b的768,略微调整上下文。可以在上下文表示中设置旗标t,然后使用新的概率分布模型来对未来符号ng进行编码。
如果lev>lev0+2,根据图7b的步骤770对另一个逃逸符号进行编码,完全重置上下文,参考图7a的772,如图7a的步骤730被抛弃。不再使用上下文调整,原因在于考虑其与对当前4元组编码无关。如图7b的步骤774和776所示,当不再有上下文可用时,则所使用的缺省概率模型随后用于未来的ng符号。然后对其它元组重复处理程序。
总而言之,上下文调整是为了降低上下文自适应编码中的上下文显著性的机制。当预测的lev0与实际lev不匹配时,可以触发上下文自适应。通过已编码的逃逸符号数量(ng=544)容易检测到,参间图7b的766和770,因此也可以类似方式在解码器处进行。
通过触发上下文状态表示的旗标t,可进行上下文自适应。通过使用从当前4元组的之前和/或当前帧和/或段获取的上下文(在表q[][]中存储),由函数get_state()计算出值t作为lev0。可以用24位来表示上下文的状态。在实施例中,存在1905800个可能状态。仅可以由21个位来表示这些状态。保留t的第23位及第24位用于将上下文状态自适应。根据第23位及第24位的值,get_pk()将输出不同概率分布模型。在一个实施例中,当在被lev0除之后,4元组被4除时,可以将t的第23个位设为一,即lev==lev0+2。
因此,上下文状态t与概率分布模型pki之间的映射对于lev==lev0+2与对lev==lev0不同。通过对训练序列的整体统计进行优化,在训练阶段期间预先定义上下文状态t和模型pki间的映射。当lev>lev0+2时,可以将上下文和t设为零。然后Get_pk()输出缺省概率分布模型pki,其与t=0相对应。
下面将描述一个实施例中的上下文映射的细节。在本实施例中的上下文最终重置之后,上下文映射是在上下文自适应编码中进行的第一个操作。其以两个步骤进行。
首先,在编码前,将在之前帧处保存的大小为previous_lg/4的上下文表qs[]映射到与当前帧大小相对应的大小lg/4的上下文表q[0][]中。在arith_map_context函数中进行该映射,以如下伪代码举例说明:
/*input variable*/
lg/4/*number of 4-tuples*/
arith_map_context()
{
v=w=0
if(core_mode==1){
q[0][v++]=qs[w++];
}
ratio=((float)previous_lg)/((float)lg);
for(j=0;j<lg/4;j++){
k=(int)((float))((j)*ratio);
q[0][v++]=qs[w+k];
}
if(core_mode==0){
q[0][lg/4]=qs[previous_lg/4];
}
q[0][lg/4+1]=qs[previous_lg/4+1];
previous_lg=lg;
}
由伪代码可知,对全部编码策略而言,映射方式可能并非正好相同。在本实施例中,当AAC(高级音频编码)用于(core_mode==0)系数时,映射与使用TCX(基于变换编码)(core_mode==1)时不同。差异之一来自于如何处理表格边界。在AAC中,映射始于索引0(表中的第一个数值);而TCX的映射始于索引1(表中的第二个数值),知道将第一个数值经常性地设为“未知”(用于重置上下文的特定状态)。previous_lg对lg的比将确定在本实施例中进行升采样(比值<1)或降采样(比值>1)的顺序。图7c示出了当由大小1024/4的已保存的上下文表(参考图7c的左手侧780),变换至512/4大小(参考图7c的右手侧782)时TCX的情况。可知尽管对当前上下文表782,使用1的逐阶递增,但对所保存的上下文表780,使用上述比值的逐阶递增。
图7c示出了用于解析度改变的实施例的上下文更新过程。一旦完成映射,则执行上下文自适应编码。在编码结束时,在表qs[]中保存当前帧元素用于下一个帧。可在arith_update_context()中进行,通过如下伪代码举例说明:
/*input variables*/
a,b,c,d /*value of the decoded 4-tuple*/
i/*the index of the 4-tuple to decode in the vector*/
lg/4/*number of 4-tuples*/
arith_update_context()
{
q[1][1+i].a=a;
q[1][1+i].b=b;
q[1][1+i].c=c;
q[1][1+i].d=d;
if((a<-4)‖(a>=4)‖(b<-4)‖(b>=4)‖(c<-4)‖(c>=4)‖(d<-4)‖(d>=4)){
q[1][1+i].v=1024;
}
else q[1][1+i].v=egroups[4+a][4+b][4+c][4+d];
if(i==lg/4 && core_mode==1){
qs[0]=q[1][0];
ratio=((float)lg)/((float)1024);
for(j=0;j<256;j++){
k=(int)((float)j*ratio);
qs[1+k]=q[1][1+j];
}
qs[previous_lg/4+1]=q[1][lg/4+1];
previous_lg=1024;
}
if(i==lg/4 && core_mode==0){
for(j=0;j<258;j++){
qs[j]=q[1][k];
}
previous_lg=min(1024,lg);
}
}
在本实施例中,根据核心编码器(AAC或TCX)以不同方式进行保存。在TCX中,上下文经常保存在1024/4个数值的表qs[]中。可进行该附加映射,原因在于AMR-WB+(自适应多速率宽带编码解码器)的闭合循环判定。在该闭合循环判定中,需要编码器状态的若干拷贝过程用于测试TCX与ACELP(算术编码激励线性预测)的每一可能的组合。当全部TCX模式共享相同大小的表qs[]时,状态拷贝更容易实施。然后使用映射来从lg/4系统性变换至1024/4。另一方面,在该阶段期间,AAC仅保存上下文,并且不执行映射。
图8示出了解码方案的实施例的流程图。在步骤805,与步骤705相对应,基于t0、t1、t2和t3获取上下文。在步骤810,从上下文估计第一缩小级别lev0,将变量lev设为lev0。在后续步骤815中,从比特流读取组ng,并从上下文获取用于对ng进行解码的概率分布。然后在步骤815,可从比特流对组ng进行解码。
在步骤820,确定ng是否等于544,其与逃逸值相对应。如果是,则可以在返回步骤815之前将变量lev增加2。当第一次使用本分支时,即如果lev==lev0,则可据此自适应各自上下文的概率分布;如果并非第一次使用该分支,则遵照上述上下文自适应机制,参见图7b和图7c,可各自抛弃概率分布。在步骤820,在组索引ng不等于544的情况下,在后续步骤825,确定组中的元素数量是否大于1;如果是,在步骤830,假设均匀概率分布,从比特流读取并且解码组元素ne。使用算术编码和均匀概率分布,从该比特流获取元素索引ne。
在步骤835,通过表中的查询过程,例如参考dgroups[ng]及acod_ne[ne],从ng和ne获取文字码字(a,b,c,d)。
在步骤840,对于全部lev错失位平面,使用算术编码且假设均匀概率分布,从该比特流读取平面。然后通过将(a、b、c、d)向左偏移且加上位平面bp:((a、b、c、d)<<=1)|=bp,可以将位平面附加到(a、b、c、d)上。可以重复此处理程序lev次。
最后,在步骤845,可以提供4元组q(n,m),即(a、b、c、d)。
下面提供根据实施例的伪代码和实施细节。将使用以下定义。
(a、b、c、d)欲解码的4元组
ng 4元组的最高有效逐2位平面的组索引,此处0<=ng<=544。最后一个值544对应于逃逸符号ARITH_ESCAPE。
ne 组中的元素索引。ne位于0与每个组的基数mm之间。组中的元素的最大数量为73。
lev 剩余位平面的级别。其对应于比最高有效逐2位平面更低有效的位平面数量。
egroups [a][b][c][d]组索引表。其允许将4元组(a、b、c、d)的最高有效逐2位平面映射到544个组中。
mm 组的基数
og 组的偏移量
dgroups[] 将组索引ng映射至每个组的基数mm(头8个位)以及将组偏移量og映射到dgvectors[](末8个位)。
dgvectors[]将组偏移量og和元素索引ne映射到4元组(a、b、c、d)的最高有效逐2位平面。
arith_cf_ng_hash[] 将上下文状态映射至累积频率表索引pki的散列表。
arith_cf_ng[pki][545] 用于组索引符号ng的累积频率模型。
arith_cf_ne[] 用于元素索引符号ne的累积频率。
r 比最高有效逐2位平面更低有效的4元组的位平面。
arith_cf_r[] 最低有效位平面符号r的累积频率。
下面首先考虑解码过程。对4元组的已量化频谱系数进行无噪声编码,从最低频率或频谱系数开始发送,并且进行至最高频率或频谱系数。将来自AAC的系数存储于数组x_ac_quant[g][win][sfb][bin]中,无噪声编码码字的发送顺序使得,以在数组中接收和存储的顺序对这些码字进行解码时,bin为最快递增索引,而g为最慢递增索引。在码字内部,解码顺序为a、b、c、d。将来自TCX的系数直接存储在数组x_tcx_invquant[win][bin]中,并且无噪声编码码字的发送顺序使得以在数组中接收和存储的顺序对这些码字解码时,bin为最快递增索引,而win为最慢递增索引。在码字内部,解码顺序为a、b、c、d。首先,旗标arith_reset_flag确定是否必须重置上下文。如果旗标为TRUE,则呼叫下列函数:
*global variables*/
q[2][290]/*current context*/
qs[258]/*past context*/
previous_lg/*number of 4-tuples of the past context*/
arith_reset_context()
{
for(i=0;i<258;i++){
qs[i].a=0;qs[i].b=0;qs[i].c=0;qs[i].d=0
qs[i].v=-1;
}
for(i=0;i<290;i++){
q[0][i].a=0;q[0][i].b=0;q[0][i].c=0;q[0][i].d=0
q[0][i].v=-1;
q[1][i].a=0;q[1][i].b=0;q[1][i].c=0;q[1][i].d=0
q[1][i].v=-1;
}
previous_lg=256;
}
否则,当arith_reset_flag为FALSE时,在过去上下文与当前上下文之间进行映射:
/*input variable*/
lg/*number of 4-tuples*/
arith_map_context(lg)
{
v=w=0
if(core_mode==1){
q[0][v++]=qs[w++];
}
ratio=((float)previous_lg)/((float)lg);
for(j=0;j<lg;j++){
k=(int)((float))((j)*ratio);
q[0][v++]=qs[w+k];
}
if(core_mode==0){
q[0][lg]=qs[previous_lg];
}
q[0][lg+1]=qs[previous_lg+1];
previous_lg=lg;
}
无噪声解码器输出有符号的已量化的频谱系数的4元组。首先,基于环绕该欲解码4元组的四个之前已解码组,计算上下文状态。上下文状态是由函数arith_get_context()给定的:
/*input variables*/
i/*the index of the 4-tuple to decode in the vector*/
arith_get_context(i,)
{
t0=q[0][1+i].v+1;
t1=q[1][1+i-1].v+1;
t2=q[0][1+i-1].v+1;
T3=q[0][1+i+1].v+1;
if((t0<10)&&(t1<10)&&(t2<10)&&(t3<10)){
if(t2>1)t2=2;
if(t3>1)t3=2;
return 3*(3*(3*(3*(3*(10*(10*t0+t1))+t2)+t3)));
}
if((t0<34)&&(t1<34)&&(t2<34)&&(t3<34)){
if((t2>1)&&(t2<10))t2=2;else if(t2>=10)t2=3;
if((t3>1)&&(t3<10))t3=2;else if(t3>=10)t3=3;
return 252000+4*(4*(34*(34*t0+t1))+t2)+t3;
}
if((t0<90)&&(t1<90))return 880864+90*(90*t0+t1);
if((t0<544)&&(t 1<544))return 1609864+544*t0+t1;
if(t0>1)
{
a0=q[0][i].a;
b0=q[0][i].b;
c0=q[0][i].c;
d0=q[0][i].d;
}
else a0=b0=c0=d0=0;
if(t1>1)
{
a1=q[1][i-1].a;
b1=q[1][i-1].b;
c1=q[1][i-1].c;
d1=q[1][i-1].d;
}
else a1=b1=c1=d1=0;
l=0;
do
{
a0>>=1;
b0>>=1;
c0>>=1;
d0>>=1;
a1>>=1;
b1>>=1;
c1>>=1;
d1>>=1;
1++;
}
while((a0<-4)‖(a0>=4)‖(b0<-4)‖(b0>=4)‖(c0<-4)‖(c0>=4)‖(d0<-4)‖(d0>=4)‖
(a1<-4)‖(a1>=4)‖(b1<-4)‖(b1>=4)‖(c1<-4)‖(c1>=4)‖(d1<-4)‖(d1>=4));
if(t0>1)t0=1+(egroups[4+a0][4+b0][4+c0][4+d0]>>16);
if(t1>1)t1=1+(egroups[4+a1][4+b1][4+c1][4+d1]>>16);
return 1609864+((l<<24)|(544*t0+t1));
}
一旦该状态为已知,使用被馈以与该上下文状态相对应的适当累积频率表的arith_decode(),对4元组的最高有效逐2位平面所属的组进行解码。由函数arith_get_pk()做出该对应关系:
/*input variable*/
s/*State of the context*/
arith_get_pk(s)
{
psci[28]={
247,248,249,250,251,252,253,254,254,0,254,254,254,255,250,215,
215,70,70,123,123,123,123,3,67,78,82,152
};
register unsigned char*p;
register unsigned long i,j;
i=123*s;
for(;;)
{
j=arith_cf_nq_hash[i&32767];
if(j==0xFFFFFFFFul)break;
if((j>>8)==s)return j&255;
i++;
}
p=psci+7*(s>>22);
j=s&4194303;
if(j<436961)
{
if(j<252001)return p[(j<243001)?0:1];else return p[(j<288993)?2:3];
}
else
{
if(j<1609865)return p[(j<880865)?4:5];else return p[6];
}
}
然后以与由arith_get_pk()返回的索引相对应的累积频率表,呼叫arith_decode()函数。算术编码器是生成具有扩缩的标签的整数实施。以下伪C代码描述了所使用的算法。
/*helper funtions*/
bool arith_first_symbol(void);
/*Return TRUE if it is the first symbol of the sequence,FALSE otherwise*/
Ushort arith_get_next_bit(void);
/*Get the next bit of the bitstream*/
/*global variables*/
low
high
value
/*input variables*/
cum_freq[];
cfl;
arith_decode()
{
if(arith_first_symbol())
{
value=0;
for(i=1;i<=20;i++)
{
value=(val<<1)|arith_get_next_bit();
}
low=0;
high=1048575;
}
range=high-low+1;
cum=((((int64)(value-low+1))<<16)-((int64)1))/((int64)range);
p=cum_freq-1;
do
{
q=p+(cfl>>1);
if(*q>cum){p=q;cfl++;}
cfl>>=1;
}
while(cfl>1);
symbol=p-cum_freq+1;
if(symbol)
high=low+(((int64)range)*((int64)cum_freq[symbol-1]))>>16-1;
low+=(((int64)range)*((int64)cum_freq[symbol]))>>16;
for(;;)
{
if(high<524286){ }
else if(low>=524286)
{
value-=524286;
low-=524286;
high-=524286;
}
else if(low>=262143 && high<786429)
{
value-=262143;
low-=262143;
high-=262143;
}
else break;
low+=low;
high+=high+1;
value=(value<<1)|arith_get_next_bit();
}
return symbol;
}
尽管已解码组索引ng是逃逸符号ARITH_ESCAPE,但对附加组索引ng进行解码,并将变量lev增加2。一旦已解码的组索引并非逃逸符号ARITH_ESCAPE,则通过查询表dgroups[]可推定该组内部的元素数量mm和组偏移量og:
mm=dgroups[nq]&255
og=dgroups[nq]>>8
然后通过用累积频率表(arith_cf_ne+((mm*(mm-1))>>1)[]来呼叫arith_decode(),对元素索引ne进行解码。一旦对元素索引进行解码,则可以从表dgvector[]获取该4元组的最高有效逐2位平面:
a=dgvectors[4*(og+ne)]
b=dgvectors[4*(og+ne)+1]
c=dgvectors[4*(og+ne)+2]
d=dgvectors[4*(og+ne)+3]
通过以累积频率表arith_cf_r[]呼叫arith_decode()lev次,可从最高有效级别至最低有效级别对剩余位平面进行解码。已解码位平面r允许通过以下方式对该解码4元组进行求精:
a=(a<<1)|(r&1)
b=(b<<1)|((r>>1)&1)
c=(c<<1)|((r>>2)&1)
d=(d<<1)|(r>>3)
一旦完全对4元组(a、b、c、d)进行解码,通过呼叫函数arith_update_context()来更新上下文表q及qs。
arith_update_context(a,b,c,d,i,lg)
{
q[1][1+i].a=a;
q[1][1+i].b=b;
q[1][1+i].c=c;
q[1][1+i].d=d;
if((a<-4)‖(a>=4)‖(b<-4)‖(b>=4)‖(c<-4)‖(c>=4)‖(d<-4)‖(d>=4))
q[1][1+i].v=1024;
else q[1][1+i].v=egroups[4+a][4+b][4+c][4+d];
if(i==lg && core_mode==1){
qs[0]=q[1][0];
ratio=((float)lg)/((float)256);
for(j=0;j<256;j++){
k=(int)((float))((j)*ratio);
qs[1+k]=q[1][1+j];
}
qs[previous_lg+1]=q[1][lg+1];
previous_lg=256;
}
if(i==lg && core_mode==0){
for(j=0;j<258;j++){
qs[j]=q[1][k];
}
previous_lg=min(1024,lg);
}
}
取决于本发明性方法的特定实施要求,可将本发明方法实施为硬件或软件。可使用数字介质存储实施,具体地,盘、DVD、或CD,其上存储有可电子读取的控制信号,该信号与可编程计算机合作,使得执行本本发明性方法。因此总体上本发明是一种具有用于机器可读载体的程序代码的计算机程序产品,当该计算机程序在计算机上运行时,可操作该程序代码执行所述发明性方法。因此,换言之,本发明性方法是一种具有程序代码的计算机程序,用于当该计算机程序在计算机上运行时,执行所述发明性方法中的至少一个。
Claims (16)
1.一种用于对系数段的序列进行编码的音频编码器(100),所述系数段在时间上彼此跟随,所述音频编码器(100)包括:
用于通过使用不同的变换长度从代表采样音频信号的音频流中提供所述系数段的序列的装置,使得针对其使用不同的变换长度的系数段在频谱上代表处于不同频率解析度的采样音频信号;
处理器(110),用于基于之前段的之前编码的系数,获取用于当前段的当前编码的系数的编码上下文,所述之前和当前段分别对应于不同的频率解析度和不同的变换长度;以及
熵编码器(120),用于基于所述编码上下文,对所述当前编码的系数进行熵编码以获得编码音频流。
2.根据权利要求1所述的音频编码器(100),其中所述熵编码器(120)适于以频谱系数的元组为单位对所述当前编码的系数进行编码,并且适于基于所述编码上下文来预测所述元组的范围。
3.根据权利要求2所述的音频编码器(100),其中所述熵编码器(120)适于依照需求将所述元组除以预定因子,以让除法的结果适合预定范围,并且所述熵编码器(120)适于当所述元组不在所预测的范围中时,对所需除法的数量、除法余数以及除法的结果进行编码,并且所述熵编码器(120)适于当所述元组在所预测的范围中时,对除法余数和除法的结果进行编码。
4.根据权利要求3所述的音频编码器(100),其中所述熵编码器(120)适于使用组索引对所述除法的结果或所述元组进行编码,所述组索引指代一个或多个码字的组,其概率分布基于所述编码上下文,并且,所述熵编码器(120)在所述组包括多于一个码字的情况下,基于均匀概率分布对元素索引进行编码,所述元素索引指代所述组中的码字,并且所述熵编码器(120)适于通过一定数量的逃逸符号对除法数量进行编码,逃逸符号是仅用于指示除法的特定组索引,并且所述熵编码器(120)适于使用算术编码规则,基于均匀概率分布对所述除法的余数进行编码。
5.根据权利要求4所述的音频编码器(100),其中所述熵编码器(120)适于使用包括所述逃逸符号在内的符号字母表,将符号序列编码为所述编码音频流,并且组符号与可用的组索引的集合相对应,符号字母表包括相对应的元素索引,并且符号字母表包括所述余数的不同值。
6.根据权利要求1所述的音频编码器(100),其中所述处理器(110)和所述熵编码器(120)被配置为当所述之前段比所述当前段显示更精细的频谱解析度时,基于所述之前段的频谱系数的降采样来进行操作,和/或其中所述处理器(110)和所述熵编码器(120)被配置为当所述之前段比所述当前段显示更粗糙的频谱解析度时,基于所述之前段的频谱系数的升采样来进行操作。
7.一种用于对系数段的序列进行编码的方法,所述段在时间上彼此跟随,所述方法包括以下步骤:
通过使用不同的变换长度,从代表采样音频信号的音频流中提供所述系数段的序列,使得针对其使用不同的变换长度的系数段在频谱上代表处于不同频率解析度的采样音频信号;
基于之前段的之前编码的系数,获取用于当前段的当前编码系数的编码上下文,所述之前和当前段分别对应于不同的频率解析度和不同的变换长度;以及
基于所述编码上下文对所述当前编码的系数进行熵编码,以获得编码音频流。
8.一种用于对系数段进行编码的音频编码器(100),所述系数段代表采样音频信号的不同时间或频率解析度,所述音频编码器(100)包括:
用于从音频流中提供所述系数段的装置,所述系数形成由所述音频流代表的音频信号的频谱表示,其在所述段中具有变化的频谱解析度;
处理器(110),用于基于之前段的之前编码的系数,获取用于当前段的当前编码的系数的编码上下文,所述之前编码的系数代表与所述当前编码的系数不同的时间或频率解析度;以及
熵编码器(120),用于基于所述编码上下文,对所述当前编码的系数进行熵编码以获得编码音频流,
其中所述熵编码器(120)适于以频谱系数的元组为单位对所述当前编码的系数进行编码,并且适于基于所述编码上下文来预测所述元组的范围,
其中所述熵编码器(120)适于依照需求将所述元组除以预定因子,以让所述除法的结果适合预定范围,并且所述熵编码器(120)适于当所述元组不在所预测的范围中时,对所需除法的数量、除法余数以及除法的结果进行编码,并且所述熵编码器(120)适于当所述元组在所预测的范围中时,对除法余数和除法的结果进行编码,以及
其中所述熵编码器(120)适于使用组索引对所述除法的结果或所述元组进行编码,所述组索引指代一个或多个码字的组,其概率分布基于所述编码上下文,并且所述熵编码器(120)在所述组包括多于一个码字的情况下,基于均匀概率分布对元素索引进行编码,所述元素索引指代所述组中的码字,并且所述熵编码器(120)适于通过一定数量的逃逸符号对除法数量进行编码,逃逸符号是仅用于指示除法的特定组索引,并且所述熵编码器(120)适于使用算术编码规则,基于均匀概率分布对所述除法的余数进行编码。
9.一种用于对代表采样音频信号的编码音频流进行解码以获得系数段的序列的音频解码器(200),所述系数段在时间上彼此跟随,并且所述系数段通过使用不同的变换长度代表采样音频信号,使得针对其使用不同的变换长度的系数段在频谱上代表处于不同频率解析度的采样音频信号,所述音频解码器(200)包括
处理器(210),用于基于之前段的之前解码的系数,获取用于当前段的当前解码的系数的编码上下文,所述之前和当前段分别对应于不同的频率解析度和不同的变换长度;以及
熵解码器(220),用于基于所述编码上下文和所述编码音频流对所述当前解码的系数进行熵解码。
10.根据权利要求9所述的音频解码器(200),其中所述处理器适于基于在所述之前段中或可选的在所述当前段中的之前解码的相邻频谱系数,来获取所述当前解码的系数的每个频带的编码上下文。
11.根据权利要求10所述的音频解码器(200),其中所述熵解码器(220)适于基于从所述编码上下文中获取的概率分布,从所述编码音频流中对组索引进行解码,其中所述组索引代表一个或多个码字的组,并且所述熵解码器(220)适于如果所述组索引指示包括多于一个码字的组,则基于均匀概率分布,从所述编码音频流中对元素索引进行解码,并且所述熵解码器(220)适于基于所述组索引和所述元素索引来获取所述当前段的频谱系数的元组,从而获得具有频谱系数的元组形式的频谱域表示。
12.根据权利要求11所述的音频解码器(200),其中所述熵解码器(220)适于使用包括逃逸符号和与可用组索引的集合相对应的组符号在内的符号字母表,基于从所述编码上下文中获取的概率分布,从所述编码音频流中对符号序列进行解码,所述熵解码器(220)适于基于与所述符号序列的组符号相对应的可用组索引并且基于所述元素索引,获取频谱系数的初步元组,并且所述熵解码器(220)适于将所述初步元组与依赖于所述符号序列中的逃逸符号的数量的因子相乘,以获得频谱系数的元组。
13.根据权利要求12所述的音频解码器(200),其中所述熵解码器(220)适于使用算术编码规则,基于均匀概率分布,从所述编码音频流中对除法余数进行解码,并且所述熵解码器(220)适于将所述余数与所述相乘后的初步元组相加,以获得频谱系数的元组。
14.根据权利要求13所述的音频解码器(200),其中所述处理器(210)和所述熵解码器(220)被配置为当所述之前段比所述当前段显示更精细的频谱解析度时,基于所述之前段的频谱系数的降采样来进行操作,和/或其中所述处理器(210)和所述熵解码器(220)被配置为当所述之前段比所述当前段显示更粗糙的频谱解析度时,基于所述之前段的频谱系数的升采样来进行操作。
15.一种用于对编码音频流进行解码以获得系数段的音频解码器(200),所述系数段代表采样音频信号的不同时间或频率解析度,所述音频解码器(200)包括
处理器(210),用于基于之前段的之前解码的系数,获取用于当前段的当前解码的系数的编码上下文,所述之前解码的系数代表与所述当前解码的系数不同的时间或频率解析度;以及
熵解码器(220),用于基于所述编码上下文和所述编码音频流对所述当前解码的系数进行熵解码,
其中所述处理器(210)适于基于所述之前解码的系数获取所述编码上下文,所述系数形成由所述音频流代表的音频信号的频谱表示,其在段中具有变化的频谱解析度,
其中所述处理器适于基于在所述之前段中或可选的在所述当前段中的之前解码的相邻频谱系数,来获取所述当前解码的系数的编码上下文,以及
其中所述熵解码器(220)适于基于从所述编码上下文中获取的概率分布,从所述编码音频流中对组索引进行解码,其中所述组索引代表一个或多个码字,并且所述熵解码器(220)适于如果所述组索引指示了包括多于一个码字的组,则基于均匀概率分布,从所述编码音频流中对元素索引进行解码,并且所述熵解码器(220)适于基于所述组索引和所述元素索引来获取所述当前段的频谱系数的元组,从而获得具有频谱系数的元组形式的频谱域表示。
16.一种用于通过使用不同的变换长度对代表采样音频信号的编码音频流进行解码以获得系数段的序列的方法,所述系数段在时间上彼此跟随,并且所述系数段代表采样音频信号,使得针对其使用不同的变换长度的系数段在频谱上代表处于不同频率解析度的采样音频信号,所述方法包括以下步骤:
基于之前段的之前解码的系数,获取用于当前段的当前解码系数的编码上下文,所述之前和当前段分别对应于不同的频率解析度和不同的变换长度;以及
基于所述编码上下文和所述编码音频流,对所述当前解码的系数进行熵解码。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US7984208P | 2008-07-11 | 2008-07-11 | |
US61/079,842 | 2008-07-11 | ||
US10382008P | 2008-10-08 | 2008-10-08 | |
US61/103,820 | 2008-10-08 | ||
PCT/EP2009/003521 WO2010003479A1 (en) | 2008-07-11 | 2009-05-18 | Audio encoder and audio decoder |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102089813A CN102089813A (zh) | 2011-06-08 |
CN102089813B true CN102089813B (zh) | 2013-11-20 |
Family
ID=40886050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009801272072A Active CN102089813B (zh) | 2008-07-11 | 2009-05-18 | 音频编码器和音频解码器 |
Country Status (22)
Country | Link |
---|---|
US (10) | US8930202B2 (zh) |
EP (10) | EP4369609A3 (zh) |
JP (1) | JP5606433B2 (zh) |
KR (1) | KR101456641B1 (zh) |
CN (1) | CN102089813B (zh) |
AR (1) | AR072422A1 (zh) |
AU (1) | AU2009267543B2 (zh) |
BR (4) | BR122021008239B1 (zh) |
CA (1) | CA2729925C (zh) |
CO (1) | CO6351831A2 (zh) |
DK (1) | DK3573056T3 (zh) |
ES (3) | ES2731424T3 (zh) |
FI (1) | FI3573056T3 (zh) |
HK (1) | HK1253032A1 (zh) |
MX (1) | MX2011000379A (zh) |
MY (1) | MY160260A (zh) |
PL (3) | PL2301019T3 (zh) |
PT (3) | PT3300076T (zh) |
RU (1) | RU2487427C2 (zh) |
TW (1) | TWI449033B (zh) |
WO (1) | WO2010003479A1 (zh) |
ZA (1) | ZA201009258B (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
MY160260A (en) * | 2008-07-11 | 2017-02-28 | Fraunhofer Ges Forschung | Audio encoder and audio decoder |
ES2796552T3 (es) | 2008-07-11 | 2020-11-27 | Fraunhofer Ges Forschung | Sintetizador de señales de audio y codificador de señales de audio |
CA2871268C (en) | 2008-07-11 | 2015-11-03 | Nikolaus Rettelbach | Audio encoder, audio decoder, methods for encoding and decoding an audio signal, audio stream and computer program |
KR20100136890A (ko) * | 2009-06-19 | 2010-12-29 | 삼성전자주식회사 | 컨텍스트 기반의 산술 부호화 장치 및 방법과 산술 복호화 장치 및 방법 |
EP2315358A1 (en) | 2009-10-09 | 2011-04-27 | Thomson Licensing | Method and device for arithmetic encoding or arithmetic decoding |
PL2491553T3 (pl) | 2009-10-20 | 2017-05-31 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Koder audio, dekoder audio, sposób kodowania informacji audio, sposób dekodowania informacji audio i program komputerowy wykorzystujący iteracyjne zmniejszania rozmiaru przedziału |
JP5624159B2 (ja) * | 2010-01-12 | 2014-11-12 | フラウンホーファーゲゼルシャフトツール フォルデルング デル アンゲヴァンテン フォルシユング エー.フアー. | オーディオ符号化器、オーディオ復号器、オーディオ情報を符号化および復号するための方法、ならびに以前に復号されたスペクトル値のノルムに基づいてコンテキストサブ領域値を取得するコンピュータプログラム |
US8280729B2 (en) * | 2010-01-22 | 2012-10-02 | Research In Motion Limited | System and method for encoding and decoding pulse indices |
RU2586848C2 (ru) | 2010-03-10 | 2016-06-10 | Долби Интернейшнл АБ | Декодер звукового сигнала, кодирующее устройство звукового сигнала, способы и компьютерная программа, использующие зависящее от частоты выборки кодирование контура деформации времени |
EP4131258A1 (en) * | 2010-07-20 | 2023-02-08 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio decoder, audio decoding method, audio encoder, audio encoding method and computer program |
KR101742136B1 (ko) * | 2011-03-18 | 2017-05-31 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 오디오 콘텐츠를 표현하는 비트스트림의 프레임들 내의 프레임 요소 배치 |
TWI451746B (zh) * | 2011-11-04 | 2014-09-01 | Quanta Comp Inc | 視訊會議系統及視訊會議方法 |
US10844689B1 (en) | 2019-12-19 | 2020-11-24 | Saudi Arabian Oil Company | Downhole ultrasonic actuator system for mitigating lost circulation |
CN104303229B (zh) | 2012-05-18 | 2017-09-12 | 杜比实验室特许公司 | 用于维持与参数音频编码器相关联的可逆动态范围控制信息的系统 |
JP6065452B2 (ja) * | 2012-08-14 | 2017-01-25 | 富士通株式会社 | データ埋め込み装置及び方法、データ抽出装置及び方法、並びにプログラム |
TWI606440B (zh) * | 2012-09-24 | 2017-11-21 | 三星電子股份有限公司 | 訊框錯誤隱藏裝置 |
KR20140089871A (ko) | 2013-01-07 | 2014-07-16 | 삼성전자주식회사 | 대화형 서버, 그 제어 방법 및 대화형 시스템 |
JP6146069B2 (ja) | 2013-03-18 | 2017-06-14 | 富士通株式会社 | データ埋め込み装置及び方法、データ抽出装置及び方法、並びにプログラム |
JP6224233B2 (ja) | 2013-06-10 | 2017-11-01 | フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン | 分配量子化及び符号化を使用したオーディオ信号包絡の分割によるオーディオ信号包絡符号化、処理及び復号化の装置と方法 |
JP6224827B2 (ja) | 2013-06-10 | 2017-11-01 | フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン | 分配量子化及び符号化を使用した累積和表現のモデル化によるオーディオ信号包絡符号化、処理及び復号化の装置と方法 |
EP2830061A1 (en) | 2013-07-22 | 2015-01-28 | Fraunhofer Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for encoding and decoding an encoded audio signal using temporal noise/patch shaping |
EP2830055A1 (en) | 2013-07-22 | 2015-01-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Context-based entropy coding of sample values of a spectral envelope |
WO2016142002A1 (en) * | 2015-03-09 | 2016-09-15 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Audio encoder, audio decoder, method for encoding an audio signal and method for decoding an encoded audio signal |
GB2559199A (en) * | 2017-01-31 | 2018-08-01 | Nokia Technologies Oy | Stereo audio signal encoder |
CN115050378B (zh) * | 2022-05-19 | 2024-06-07 | 腾讯科技(深圳)有限公司 | 音频编解码方法及相关产品 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1714584A (zh) * | 2002-12-20 | 2005-12-28 | 诺基亚有限公司 | 采用元信息来组织用户提供信息的方法及装置 |
CN101162584A (zh) * | 2006-09-18 | 2008-04-16 | 三星电子株式会社 | 使用带宽扩展技术对音频信号编码和解码的方法和设备 |
Family Cites Families (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5253055A (en) * | 1992-07-02 | 1993-10-12 | At&T Bell Laboratories | Efficient frequency scalable video encoding with coefficient selection |
US5710562A (en) | 1995-08-31 | 1998-01-20 | Ricoh Company Ltd. | Method and apparatus for compressing arbitrary data |
US5852806A (en) * | 1996-03-19 | 1998-12-22 | Lucent Technologies Inc. | Switched filterbank for use in audio signal coding |
WO1998051126A1 (en) * | 1997-05-08 | 1998-11-12 | Sgs-Thomson Microelectronics Asia Pacific (Pte) Ltd. | Method and apparatus for frequency-domain downmixing with block-switch forcing for audio decoding functions |
US6226608B1 (en) * | 1999-01-28 | 2001-05-01 | Dolby Laboratories Licensing Corporation | Data framing for adaptive-block-length coding system |
IL129345A (en) * | 1999-04-06 | 2004-05-12 | Broadcom Corp | Video encoding and video/audio/data multiplexing device |
CN1244904C (zh) * | 2001-05-08 | 2006-03-08 | 皇家菲利浦电子有限公司 | 声频信号编码方法和设备 |
US7240001B2 (en) * | 2001-12-14 | 2007-07-03 | Microsoft Corporation | Quality improvement techniques in an audio encoder |
US7460993B2 (en) * | 2001-12-14 | 2008-12-02 | Microsoft Corporation | Adaptive window-size selection in transform coding |
CN1639984B (zh) * | 2002-03-08 | 2011-05-11 | 日本电信电话株式会社 | 数字信号编码方法、解码方法、编码设备、解码设备 |
US7110941B2 (en) * | 2002-03-28 | 2006-09-19 | Microsoft Corporation | System and method for embedded audio coding with implicit auditory masking |
WO2003083856A1 (en) * | 2002-03-28 | 2003-10-09 | Craven Peter G | Context coding |
US7275036B2 (en) | 2002-04-18 | 2007-09-25 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Apparatus and method for coding a time-discrete audio signal to obtain coded audio data and for decoding coded audio data |
KR100462611B1 (ko) | 2002-06-27 | 2004-12-20 | 삼성전자주식회사 | 하모닉 성분을 이용한 오디오 코딩방법 및 장치 |
US7433824B2 (en) * | 2002-09-04 | 2008-10-07 | Microsoft Corporation | Entropy coding by adapting coding between level and run-length/level modes |
US7502743B2 (en) * | 2002-09-04 | 2009-03-10 | Microsoft Corporation | Multi-channel audio encoding and decoding with multi-channel transform selection |
US7536305B2 (en) * | 2002-09-04 | 2009-05-19 | Microsoft Corporation | Mixed lossless audio compression |
ES2297083T3 (es) * | 2002-09-04 | 2008-05-01 | Microsoft Corporation | Codificacion entropica por adaptacion de la codificacion entre modos por longitud de ejecucion y por nivel. |
US7299190B2 (en) * | 2002-09-04 | 2007-11-20 | Microsoft Corporation | Quantization and inverse quantization for audio |
US7328150B2 (en) * | 2002-09-04 | 2008-02-05 | Microsoft Corporation | Innovations in pure lossless audio compression |
DE10328777A1 (de) * | 2003-06-25 | 2005-01-27 | Coding Technologies Ab | Vorrichtung und Verfahren zum Codieren eines Audiosignals und Vorrichtung und Verfahren zum Decodieren eines codierten Audiosignals |
US7343291B2 (en) * | 2003-07-18 | 2008-03-11 | Microsoft Corporation | Multi-pass variable bitrate media encoding |
US7509161B2 (en) * | 2003-10-22 | 2009-03-24 | Instrumentarium Corporation | Method and apparatus for determining the cerebral state of a patient using generalized spectral entropy of the EEG signal |
DE102004007200B3 (de) * | 2004-02-13 | 2005-08-11 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audiocodierung |
US20050185541A1 (en) * | 2004-02-23 | 2005-08-25 | Darren Neuman | Method and system for memory usage in real-time audio systems |
KR20050087956A (ko) * | 2004-02-27 | 2005-09-01 | 삼성전자주식회사 | 무손실 오디오 부호화/복호화 방법 및 장치 |
KR100561869B1 (ko) * | 2004-03-10 | 2006-03-17 | 삼성전자주식회사 | 무손실 오디오 부호화/복호화 방법 및 장치 |
TWI246256B (en) * | 2004-07-02 | 2005-12-21 | Univ Nat Central | Apparatus for audio compression using mixed wavelet packets and discrete cosine transformation |
MX2007000459A (es) * | 2004-07-14 | 2007-07-25 | Agency Science Tech & Res | Codificacion y descodificacion de senales, basadas en contexto. |
EP1785985B1 (en) * | 2004-09-06 | 2008-08-27 | Matsushita Electric Industrial Co., Ltd. | Scalable encoding device and scalable encoding method |
SE0402651D0 (sv) * | 2004-11-02 | 2004-11-02 | Coding Tech Ab | Advanced methods for interpolation and parameter signalling |
US7428342B2 (en) * | 2004-12-17 | 2008-09-23 | Microsoft Corporation | Reversible overlap operator for efficient lossless data compression |
US7788106B2 (en) * | 2005-04-13 | 2010-08-31 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Entropy coding with compact codebooks |
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 |
US7196641B2 (en) * | 2005-04-26 | 2007-03-27 | Gen Dow Huang | System and method for audio data compression and decompression using discrete wavelet transform (DWT) |
US7966190B2 (en) | 2005-07-11 | 2011-06-21 | Lg Electronics Inc. | Apparatus and method for processing an audio signal using linear prediction |
US7539612B2 (en) * | 2005-07-15 | 2009-05-26 | Microsoft Corporation | Coding and decoding scale factor information |
US20070036228A1 (en) * | 2005-08-12 | 2007-02-15 | Via Technologies Inc. | Method and apparatus for audio encoding and decoding |
US8599925B2 (en) * | 2005-08-12 | 2013-12-03 | Microsoft Corporation | Efficient coding and decoding of transform blocks |
US20070078645A1 (en) * | 2005-09-30 | 2007-04-05 | Nokia Corporation | Filterbank-based processing of speech signals |
US7974713B2 (en) * | 2005-10-12 | 2011-07-05 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Temporal and spatial shaping of multi-channel audio signals |
US8473298B2 (en) * | 2005-11-01 | 2013-06-25 | Apple Inc. | Pre-resampling to achieve continuously variable analysis time/frequency resolution |
ES2339888T3 (es) * | 2006-02-21 | 2010-05-26 | Koninklijke Philips Electronics N.V. | Codificacion y decodificacion de audio. |
KR101244310B1 (ko) * | 2006-06-21 | 2013-03-18 | 삼성전자주식회사 | 광대역 부호화 및 복호화 방법 및 장치 |
US7275936B1 (en) * | 2006-09-22 | 2007-10-02 | Lotes Co., Ltd. | Electrical connector |
US20080097757A1 (en) | 2006-10-24 | 2008-04-24 | Nokia Corporation | Audio coding |
WO2008111511A1 (ja) * | 2007-03-14 | 2008-09-18 | Nippon Telegraph And Telephone Corporation | 符号量推定方法、装置、そのプログラムおよび記録媒体 |
US20080294446A1 (en) | 2007-05-22 | 2008-11-27 | Linfeng Guo | Layer based scalable multimedia datastream compression |
EP2015293A1 (en) * | 2007-06-14 | 2009-01-14 | Deutsche Thomson OHG | Method and apparatus for encoding and decoding an audio signal using adaptively switched temporal resolution in the spectral domain |
US7774205B2 (en) | 2007-06-15 | 2010-08-10 | Microsoft Corporation | Coding of sparse digital media spectral data |
US8515767B2 (en) * | 2007-11-04 | 2013-08-20 | Qualcomm Incorporated | Technique for encoding/decoding of codebook indices for quantized MDCT spectrum in scalable speech and audio codecs |
US8325800B2 (en) * | 2008-05-07 | 2012-12-04 | Microsoft Corporation | Encoding streaming media as a high bit rate layer, a low bit rate layer, and one or more intermediate bit rate layers |
US8447591B2 (en) * | 2008-05-30 | 2013-05-21 | Microsoft Corporation | Factorization of overlapping tranforms into two block transforms |
CA2871268C (en) * | 2008-07-11 | 2015-11-03 | Nikolaus Rettelbach | Audio encoder, audio decoder, methods for encoding and decoding an audio signal, audio stream and computer program |
MY160260A (en) * | 2008-07-11 | 2017-02-28 | Fraunhofer Ges Forschung | Audio encoder and audio decoder |
EP2144230A1 (en) * | 2008-07-11 | 2010-01-13 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Low bitrate audio encoding/decoding scheme having cascaded switches |
US8660176B2 (en) * | 2008-09-26 | 2014-02-25 | Qualcomm Incorporated | Resolving geometric relationships among video data units |
PL2491553T3 (pl) * | 2009-10-20 | 2017-05-31 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Koder audio, dekoder audio, sposób kodowania informacji audio, sposób dekodowania informacji audio i program komputerowy wykorzystujący iteracyjne zmniejszania rozmiaru przedziału |
JP5624159B2 (ja) * | 2010-01-12 | 2014-11-12 | フラウンホーファーゲゼルシャフトツール フォルデルング デル アンゲヴァンテン フォルシユング エー.フアー. | オーディオ符号化器、オーディオ復号器、オーディオ情報を符号化および復号するための方法、ならびに以前に復号されたスペクトル値のノルムに基づいてコンテキストサブ領域値を取得するコンピュータプログラム |
EP2717261A1 (en) * | 2012-10-05 | 2014-04-09 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Encoder, decoder and methods for backward compatible multi-resolution spatial-audio-object-coding |
EP2830058A1 (en) * | 2013-07-22 | 2015-01-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Frequency-domain audio coding supporting transform length switching |
MY181965A (en) * | 2013-10-18 | 2021-01-15 | Fraunhofer Ges Forschung | Coding of spectral coefficients of a spectrum of an audio signal |
-
2009
- 2009-05-18 MY MYPI2011000097A patent/MY160260A/en unknown
- 2009-05-18 EP EP24166205.5A patent/EP4369609A3/en active Pending
- 2009-05-18 PT PT17190130T patent/PT3300076T/pt unknown
- 2009-05-18 BR BR122021008239-1A patent/BR122021008239B1/pt active IP Right Grant
- 2009-05-18 EP EP24166206.3A patent/EP4376305A3/en active Pending
- 2009-05-18 BR BRPI0910796-7A patent/BRPI0910796B1/pt active IP Right Grant
- 2009-05-18 AU AU2009267543A patent/AU2009267543B2/en active Active
- 2009-05-18 FI FIEP19160283.8T patent/FI3573056T3/fi active
- 2009-05-18 WO PCT/EP2009/003521 patent/WO2010003479A1/en active Application Filing
- 2009-05-18 EP EP17190130.9A patent/EP3300076B1/en active Active
- 2009-05-18 JP JP2011516973A patent/JP5606433B2/ja active Active
- 2009-05-18 PL PL09776624T patent/PL2301019T3/pl unknown
- 2009-05-18 CN CN2009801272072A patent/CN102089813B/zh active Active
- 2009-05-18 KR KR1020117000610A patent/KR101456641B1/ko active IP Right Grant
- 2009-05-18 ES ES17190130T patent/ES2731424T3/es active Active
- 2009-05-18 CA CA2729925A patent/CA2729925C/en active Active
- 2009-05-18 PL PL19160283.8T patent/PL3573056T3/pl unknown
- 2009-05-18 EP EP24166208.9A patent/EP4376307A3/en active Pending
- 2009-05-18 EP EP23165075.5A patent/EP4224472B1/en active Active
- 2009-05-18 PL PL17190130T patent/PL3300076T3/pl unknown
- 2009-05-18 EP EP24166207.1A patent/EP4376306A3/en active Pending
- 2009-05-18 ES ES19160283T patent/ES2934052T3/es active Active
- 2009-05-18 BR BR122021007875-0A patent/BR122021007875B1/pt active IP Right Grant
- 2009-05-18 EP EP23165074.8A patent/EP4224471B1/en active Active
- 2009-05-18 PT PT191602838T patent/PT3573056T/pt unknown
- 2009-05-18 EP EP09776624.0A patent/EP2301019B1/en active Active
- 2009-05-18 EP EP19160283.8A patent/EP3573056B1/en active Active
- 2009-05-18 ES ES09776624.0T patent/ES2651437T3/es active Active
- 2009-05-18 BR BR122021007798-3A patent/BR122021007798B1/pt active IP Right Grant
- 2009-05-18 PT PT97766240T patent/PT2301019T/pt unknown
- 2009-05-18 RU RU2011102424/08A patent/RU2487427C2/ru active
- 2009-05-18 MX MX2011000379A patent/MX2011000379A/es active IP Right Grant
- 2009-05-18 EP EP21190867.8A patent/EP3937167B1/en active Active
- 2009-05-18 DK DK19160283.8T patent/DK3573056T3/da active
- 2009-06-29 TW TW098121850A patent/TWI449033B/zh active
- 2009-06-30 AR ARP090102436A patent/AR072422A1/es active IP Right Grant
-
2010
- 2010-12-23 ZA ZA2010/09258A patent/ZA201009258B/en unknown
-
2011
- 2011-01-11 US US13/004,282 patent/US8930202B2/en active Active
- 2011-01-21 CO CO11006444A patent/CO6351831A2/es active IP Right Grant
-
2015
- 2015-01-05 US US14/589,881 patent/US10242681B2/en active Active
-
2018
- 2018-09-27 HK HK18112411.6A patent/HK1253032A1/zh unknown
-
2019
- 2019-02-22 US US16/283,591 patent/US10685659B2/en active Active
-
2020
- 2020-05-29 US US16/888,176 patent/US11670310B2/en active Active
-
2023
- 2023-04-14 US US18/301,194 patent/US11942101B2/en active Active
- 2023-04-14 US US18/301,191 patent/US12039985B2/en active Active
-
2024
- 2024-04-05 US US18/628,500 patent/US20240249733A1/en active Pending
- 2024-04-05 US US18/628,556 patent/US20240249734A1/en active Pending
- 2024-04-05 US US18/628,590 patent/US20240249735A1/en active Pending
- 2024-04-05 US US18/628,632 patent/US20240249736A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1714584A (zh) * | 2002-12-20 | 2005-12-28 | 诺基亚有限公司 | 采用元信息来组织用户提供信息的方法及装置 |
CN101162584A (zh) * | 2006-09-18 | 2008-04-16 | 三星电子株式会社 | 使用带宽扩展技术对音频信号编码和解码的方法和设备 |
Non-Patent Citations (5)
Title |
---|
biorthogonal and nonuniform lapped transforms for transform coding with reduced blocking and ringing artifacts;Henrique S.Malvar;《IEEE TRANSACTIONS ON SIGNAL PROCESSING》;19980430;第46卷;1-2,7,9-10,16 * |
Henrique S.Malvar.biorthogonal and nonuniform lapped transforms for transform coding with reduced blocking and ringing artifacts.《IEEE TRANSACTIONS ON SIGNAL PROCESSING》.1998,第46卷 |
MPEG-4 scalable to lossless audio coding;Rongshan Yu 等;《AES 117th Convention》;20081031;全文 * |
Nikolaus Meine,Bernd Edler.Improved Quantization and Lossless Coding for Subband Audio Coding.《AES 118th Convention》.2005, * |
Rongshan Yu 等.MPEG-4 scalable to lossless audio coding.《AES 117th Convention》.2008,全文. |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102089813B (zh) | 音频编码器和音频解码器 | |
AU2006270259B2 (en) | Selectively using multiple entropy models in adaptive coding and decoding | |
KR101238239B1 (ko) | 인코더 | |
CA2765863A1 (en) | Context-based arithmetic encoding apparatus and method and context-based arithmetic decoding apparatus and method | |
WO2009028793A1 (en) | Method and apparatus for encoding and decoding continuation sinusoidal signal of 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 |