首页> 中国专利> 具有灵活配置功能的音频编码器和解码器

具有灵活配置功能的音频编码器和解码器

摘要

一种用于对经编码的音频信号(10)进行解码的音频解码器,该经编码的音频信号(10)包括在数据流的有效载荷区段(52)中的第一通道元素(52a)和第二通道元素(52b),并且包括在数据流的配置区段(50)中的用于第一通道元素(52a)的第一解码器配置数据(50c)和用于第二通道元素(52b)的第二解码器配置数据(50d),所述音频解码器包括:数据流读取器(12),其用于读取配置区段中的用于每个通道元素的配置数据并且用于读取有效载荷区段中的每个通道元素的有效载荷数据;可配置解码器(16),其用于对多个通道元素进行解码;以及配置控制器(14),其用于对可配置解码器(16)进行配置,使得在对第一通道元素进行解码时根据第一解码器配置数据来配置可配置解码器(16),而在对第二通道元素进行解码时根据第二解码器配置数据来配置可配置解码器(16)。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-07-04

    授权

    授权

  • 2016-07-20

    著录事项变更 IPC(主分类):G10L19/18 变更前: 变更后: 申请日:20120319

    著录事项变更

  • 2014-04-02

    实质审查的生效 IPC(主分类):G10L19/18 申请日:20120319

    实质审查的生效

  • 2014-03-05

    公开

    公开

说明书

技术领域

本发明涉及音频编码,具体地涉及高质量和低比特率编码,例如根据 所谓的USAC编码(USAC=统一语音与音频编码)已知的。

背景技术

在ISO/IEC CD23003-1中定义了USAC编解码器(coder)。命名为 “信息技术-运动图像专家组(MPEG)音频技术-第三部分:统一语音与 音频编码”的本标准详细地描述了对关于统一语音与音频编码的建议的呼 吁的参考模型的功能块。

图10a和图10b示出编码器和解码器的框图。USAC编码器和解码器 的框图反映出MPEG-D USAC编码的结构。可以像这样来描述大体结构: 首先,存在包括MPEG环绕(MPEGS)功能单元和增强型SBR(eSBR) 单元的公共预/后-处理,该MPEGS功能单元处置立体声或多通道处理, 以及该eSBR处置输入信号中的较高音频频率的参数表示。然后,存在二 个分支,一个分支包括改进的高级音频编码(AAC)工具路径,而另一 分支包括基于线性预测编码(LP或LPC域)的路径,该另一分支转而以 LPC残差的频域表示或时域表示为特征。用于AAC和LPC二者的所有 传输频谱在量化与算术编码后以改进离散余弦变换(MDCT)域表示。时 域表示使用代数编码激励线性预测(ACELP)激励编码方案。

在图10a和图10b中示出了MPEG-D USAC的基本结构。在该图中 的数据流为从左至右、从上到下。该解码器的功能是找出比特流有效载荷 中的对量化音频频谱或时域表示的描述,并且对量化的值和其它重建信息 进行解码。

在传输频谱信息的情况下,解码器将重建量化频谱,通过在比特流有 效载荷中起作用的任意工具来处理所重建的频谱以达到如由输入比特流 有效载荷描述的实际信号频谱,以及最后将频域频谱转换到时域。在初始 重建和频谱重建的定标后,存在修改频谱中的一个或更多个频谱以提供更 有效编码的任选工具。

在传输时域信号表示的情况下,解码器将重建所量化的时间信号,通 过在比特流有效载荷中起作用的任意工具来处理所重建的时间信号以达 到如由输入比特流有效载荷描述的实际时域信号。

针对对信号数据进行操作的每个任选工具,保留“通过”的选项,并 且在所有略去处理的情况下,在其输入端的频谱或时间样本直接通过工具 而未经修改。

在比特流将其信号表示从时域改变为频域表示或从LP域改变为非 LP域、或者从频域表示改变为时域表示或从非LP域改变为LP域的情况 下,解码器将借助于适当的转换重叠相加开窗法以便于从一个域转变至另 一个域。

在转变处置之后,以相同的方式将eSBR和MPEGS处理施加至两条 编码路径。

比特流有效载荷解复用器工具的输入为MPEG-D USAC比特流有效 载荷。解复用器将比特流有效载荷分为针对每个工具的部分,并且向每个 工具提供与该工具有关的比特流有效载荷信息。

来自比特流有效载荷解复用器工具的输出为:

●取决于当前帧的核心编码类型,为:

○由以下内容表示的经量化且无噪声地编码的频谱

○标度因子信息

○算术编码的频谱线

●或为:线性预测(LP)参数连同由以下中的任一者表示的激励信号:

○经量化且算术编码的频谱线(变换编码激励,TCX)或

○ACELP编码时域激励

●频谱噪声填充信息(任选)

●M/S决策信息(任选)

●时域噪声整形(TNS)信息(任选)

●滤波器组控制信息

●时间展开(TW)控制信息(任选)

●增强型频谱带宽复制(eSBR)控制信息(任选)

●MPEG环绕(MPEGS)控制信息

标度因子无噪声解码工具从比特流有效载荷解复用器取得信息,解析该 信息以及对霍夫曼和DPCM编码标度因子进行解码。

标度因子无噪声解码工具的输入为:

●用于无噪声地编码的频谱的标度因子信息

标度因子无噪声解码工具的输出为:

●标度因子的解码整数表示。

频谱无噪声解码工具从比特流有效载荷解复用器取得信息,解析该信 息,对算术编码数据进行解码以及重建所量化的频谱。该无噪声解码工具 的输入为:

●无噪声地编码的频谱

该无噪声解码工具的输出为:

●频谱的量化值。

逆量化器工具取得频谱的量化值,并且将整数值变换成未定标的重建 频谱。该量化器为压扩量化器(companding quantizer),其伸缩因子取决 于所选择的核心编码模式。

逆量化器工具的输入为:

●用于频谱的量化值

逆量化器工具的输出为:

●未定标的逆量化频谱

噪声填充工具用于填充所解码的频谱中的频谱间隙,该频谱间隙例如 由于编码器中对比特需求的严格限制而在频谱值被量化为零时出现。噪声 填充工具的使用是任选的。

噪声填充工具的输入为:

●未定标的逆量化频谱

●噪声填充参数

●标度因子的经解码的整数表示

噪声填充工具的输出为:

●针对先前被量化为零的频谱线的未定标的逆量化频谱值

●标度因子的经修改的整数表示

重新定标工具将标度因子的整数表示转换成实际值,并且将未定标的 逆量化频谱与相关的标度因子相乘。

标度因子工具的输入为:

●标度因子的经解码的整数表示

●未定标的逆量化频谱

来自标度因子工具的输出为:

●经定标的逆量化频谱

有关M/S工具的概述,请参考ISO/IEC14496-3:2009,4.1.1.2。

有关时域噪声整形(TNS)工具的概述,请参考ISO/IEC14496-3:2009, 4.1.1.2。

滤波器组/块切换工具施加在编码器中实施的频率映射的逆映射。逆 改进型离散余弦变换(IMDCT)用于滤波器组工具。IMDCT可以被配置 成支持120、128、240、256、480、512、960或1024个频谱系数。

滤波器组工具的输入为:

●(逆量化)频谱

●滤波器组控制信息

来自滤波器组工具的输出为:

●时域重建音频信号

当使能时间弯曲模式时,时间弯曲式滤波器组/块切换工具(time-warped filterbank/block switching toll)替换普通滤波器组/块切换 工具。滤波器组与普通滤波器组相同(IMDCT),另外地,开窗时域样本 通过时间改变重新采样而从弯曲式时域映射至线性时域。

时间弯曲式滤波器组工具的输入为:

●逆量化频谱

●滤波器组控制信息

●时间弯曲控制信息

来自滤波器组工具的输出为:

●线性时域重建音频信号。

增强型SBR(eSBR)工具重新生成音频信号的高频带。其基于在编 码期间截断的谐波序列的复制。其调整所生成的高频带的频谱包络并且施 加逆向滤波,以及将噪声和正弦分量相加以重新创建原始信号的频谱特 征。

eSBR工具的输入为:

●所量化的包络数据

●综合的控制数据

●来自频域核心解码器或ACELP/TCX核心解码器的时域信号

eSBR工具的输出为:

●时域信号,或

●例如,在使用MPEG环绕工具的情况下,信号的QMF域表示。

MPEG环绕(MPEGS)工具通过向由适当空间参数控制的输入信号 施加复杂的上混程序而从一个或更多个输入信号生成多个信号。在USAC 背景下,MPEGS用于通过与所传输的下混信号一起传输参数边信息 (parametric side information)来对多通道信号进行编码。

MPEGS工具的输入为:

●下混的时域信号,或

●来自eSBR工具的下混信号的QMF域表示

MPEGS工具的输出为:

●多通道时域信号

信号分类器工具分析原始输入信号,并且根据其来生成触发不同编码 模式的选择的控制信息。输入信号的分析是与实现方式有关的,并且将试 图针对给定输入信号帧选择最佳核心编码模式。信号分类器的输出(任选 地)还可以用于影响其它工具(例如MPEG环绕、增强型SBR、时间弯 曲式滤波器组以及其它)的行为。

信号分类器工具的输入为:

●原始的未修改输入信号

●另外的依赖于实现方式的参数

信号分类器工具的输出为:

●控制核心编解码器的选择(非LP滤波的频域编码、LP滤波的频域

编码、或LP滤波的时域编码)的控制信号。

ACELP工具通过将长期预测器(适应性码字)与脉冲样序列(创新 码字)组合来提供有效地表示时域激励信号的方式。所重建的激励被发送 通过LP合成滤波器以形成时域信号。

ACELP工具的输入为:

●适应性及创新码本索引

●适应性及创新代码增益值

●其它控制数据

●逆量化且内插的LPC滤波器系数

ACELP工具的输出为:

●时域重建的音频信号

基于MDCT的TCX解码工具用于将经加权的LP残差表示从MDCT 域变换回时域信号,并且输出包括经加权的LP合成滤波的时域信号。 IMDCT可以被配置支持256、512或1024个频谱系数。

TCX工具的输入为:

●(逆量化)MDCT频谱

●逆量化且内插的LPC滤波器系数

TCX工具的输出为:

●时域重建音频信号

在ISO/IEC CD23003-3(其通过引用并入本文)中公开的技术允许 如下定义:例如作为单个通道元素的通道元素仅包含用于单个通道的有效 载荷,或者作为通道对元素的通道元素包括用于两个通道的有效载荷,或 者作为LFE(低频增强型)通道元素的通道元素包括用于LFE通道的有 效载荷。

五通道的多通道音频信号可以例如由如下通道元素表示:包括中心通 道的单个通道元素;包括左通道和右通道的第一通道对元素;以及包括左 环绕通道(Ls)和右环绕通道(Rs)的第二通道对元素。共同表示多通 道音频信号的这些不同的通道元素被馈送到解码器中,并且利用相同的解 码器配置对其进行处理。根据现有技术,由解码器将在USAC特定配置 元素中发送的解码器配置施加至所有通道元素,并且因此存在如下情况: 不能以最佳的方式针对各个通道元素选择对于所有通道元素有效的配置 的元素,却必须针对所有通道元素同时进行设定。然而,另一方面,已经 发现用于描述直接的五通道多通道信号的通道元素彼此非常不同。作为单 个通道元素的中心通道与描述左/右通道和左环绕/右环绕通道的通道对元 素具有显著不同的特性,并且另外地,两个通道对元素的特性也显著不同, 原因是环绕通道包括的信息在很大程度上与包括在左通道和右通道中的 信息不同。

共同针对所述由通道元素选择配置数据使其必需做出折衷,使得不得 不选择并非对于所有通道元素都最佳的配置,但是该配置表示所有通道元 素之间的折衷。可替代地,已经选择对于一个通道元素最佳的配置,但是 这不可避免地导致该配置对于其他通道元素并非最佳的情况。然而,这导 致具有非最佳配置的通道元素的增加比特率,或者可替代地或另外地,对 于不具有最佳配置设定的这些通道元素来说,导致音频质量降低。

发明内容

因此,本发明的目的在于提供一种改进的音频编码/解码构思。

此目的通过根据权利要求1的音频解码器、根据权利要求14的音频 解码的方法、根据权利要求15的音频编码器、根据权利要求16的音频编 码的方法、根据权利要求17的计算机程序以及根据权利要求18的经编码 的音频信号来实现。

本发明基于如下发现:在传输用于各个通道元素的解码器配置数据时 获得了改进的音频编码/解码构思。根据本发明,经编码的音频信号因此 包括在数据流的有效载荷区段中的第一通道元素和第二通道元素;以及在 数据流的配置区段中的用于第一通道元素的第一解码器配置数据和用于 第二通道元素的第二解码器配置数据。因此,数据流的用于通道元素的有 效载荷数据所位于的有效载荷区段与数据流的用于通道元素的配置数据 所位于的配置数据隔开。优选地,配置区段为串行比特流的连续部分,其 中属于比特流的该有效载荷区段或连续部分的所有位为配置数据。优选 地,配置数据区段后面跟随数据流的用于通道元素的有效载荷所位于的有 效载荷区段。本发明的音频解码器包括数据流读取器,该数据流读取器用 于读取配置区段中的用于每个通道元素的配置数据,并且用于读取有效载 荷区段中的用于每个通道元素的有效载荷数据。此外,音频解码器包括用 于对多个通道元素进行解码的可配置解码器和用于配置可配置解码器的 配置控制器,使得在对第一通道元素进行解码时,根据第一解码器配置数 据来配置可配置解码器,而在对第二通道元素进行解码时,根据第二解码 器配置数据来配置可配置解码器。

因而,确信针对每个通道元素可以选择最佳配置。这允许最佳地考虑 不同通道元素的不同特性。

根据本发明的音频编码器被布置为用于对多通道音频信号进行编码, 该多通道音频信号具有例如至少两个、三个或优选地多于三个的通道。音 频编码器包括:配置处理器,其用于生成用于第一通道元素的第一配置数 据和用于第二通道元素的第二配置数据;以及可配置编码器,其用于分别 利用第一配置数据和第二配置数据来对多通道音频信号进行编码,以获得 第一通道元素和第二通道元素。此外,音频编码器包括数据流生成器,该 数据流生成器用于生成表示经编码的音频信号的数据流,该数据流具有: 配置区段,其具有第一配置数据和第二配置数据;以及有效载荷区段,其 包括第一通道元素和第二通道元素。

现在,在此情况下的编码器和解码器针对每个通道元素确定各个优选 的最佳配置数据。

这确保用于每个通道元素的可配置解码器被配置为使得针对每个通 道元素,可以获得关于音频质量和比特率的最佳选择,并且不再需要做出 折衷。

附图说明

随后,参照附图来描述本发明的优选实施方式,在附图中:

图1是解码器的框图;

图2是编码器的框图;

图3a和图3b表示对用于不同扬声器设置的通道配置进行概述的表;

图4a和图4b识别并且以图形示出不同扬声器设置;

图5a至图5d示出具有配置区段和有效载荷区段的经编码音频信号的 不同方面;

图6a示出UsacConfig元素的语法;

图6b示出UsacChannelConfig元素的语法;

图6c示出UsacDecoderConfig的语法;

图6d示出UsacSingleChannelElementConfig的语法;

图6e示出UsacChannelPairElementConfig的语法;

图6f示出UsacLfeElementConfig的语法;

图6g示出UsacCoreConfig的语法;

图6h示出SbrConfig的语法;

图6i示出SbrDfltHeader的语法;

图6j示出Mps212Config的语法;

图6k示出UsacExtElementConfig的语法;

图6l示出UsacConfigExtension的语法;

图6m示出escapedValue的语法;

图7示出用于对通道元素的不同编码器/解码器工具分别进行识别和 配置的不同替代方案;

图8示出具有用于生成5.1多通道音频信号的并行操作解码器实例的 解码器实现方式的优选实施方式;

图9以流程图形式示出图1的解码器的优选实现方式;

图10a示出USAC编码器的框图;以及

图10b示出USAC解码器的框图。

具体实施方式

关于所包含的音频内容的高阶信息(如采样率、确切通道配置)存在 于音频比特流中。这使比特流更加自包含,并且在被嵌置到可能没有明确 传输该信息的手段的传输方案中时,使配置和有效载荷的传输更容易。

配置结构包含有组合的帧长度和频谱带宽复制(SBR)采样率比的索 引(coreSbrFrameLengthIndex)。这保证二个值的有效传输,并且确保 帧长度与SBR比的无含义组合无法被传达。后者简化了解码器的实现方 式。

可以借助于专用配置扩展机制来扩展该配置。这将防止如根据 MPEG-4AudioSpecificConfig()已知的配置扩展的巨大且无效的传输。

该配置允许与每个所传输的音频通道相关联的扬声器位置的自由传 达。常用通道对扬声器映射的传达可以借助于channelConfigurationIndex (通道配置索引)而有效地传达。

每个通道元素的配置均被包含在单独结构中,使得每个通道元素可以 被独立地配置。

SBR配置数据(“SBR头”)被划分成SbrInfo()和SbrHeader()。对 于SbrHeader(),定义默认版本(SbrDfltHeader()),其可以在比特流中 有效地引用。这减少了需要重新传输SBR配置数据的位置处的位需求。

借助于SbrInfo()语法元素,可以有效地传达较常施加至SBR的配置 变化。

用于参数带宽扩展(SBR)和参数立体声编码工具(MPS212又称 MPEG环绕2-1-2)的配置被紧密集成到USAC配置结构中。这表示在标 准中实际采用两种技术的方式更好。

语法以扩展机制为特征,该扩展机制允许编解码器的现有的传输和未 来扩展的传输。

扩展可以以任何次序放置在通道元素旁边(即交错)。这允许需要在被 施加扩展的特定通道元素之前或之后进行读取的扩展。

默认长度可以针对语法扩展进行定义,这使得恒定长度扩展的传输非 常有效,原因是无需每次都传输扩展有效载荷的长度。

借助于逃逸机制来传达值以扩展值的范围的常见情况,如果需要的 话,被模块化到专用真实语法元素(escapedValue())中,该元素足够灵 活地覆盖所有期望的逃逸值丛和位域扩展。

比特流配置

UsacConfig()(图6a)

UsacConfig()被扩展为包含有与所含音频内容有关的信息以及用于完 整解码器设置所需的一切。关于音频的顶阶信息(采样率、通道配置、输 出帧长度)聚集在起始处以容易从更高(应用)层存取。

channelConfigurationIndex、UsacChannelConfig()(图6b)

这样的元素给出与所包含的比特流元素以及其至扬声器的映射有关 的信息。channelConfigurationIndex允许对被视为实际上相关的预定义的 单声、立体声或多通道配置的范围中之一进行传达的容易且方便的方式。

对于channelConfigurationIndex未覆盖的更详尽配置, UsacChannelConfig()允许将元素自由分配给32个扬声器位置的列表中的 扬声器位置,该列表覆盖用于家庭或影院声音重现的所有已知扬声器设置 中的所有目前已知的扬声器位置。

该扬声器位置的列表是在MPEG环绕标准中起重要作用的列表的超 集(参考ISO/IEC23003-1的表1和图1)。已经增加四个另外的扬声器位 置以能够覆盖最近问世的22.2扬声器设置(参见图3a、图3b、图4a以 及图4b)。

UsacDecoderConfig()(图6c)

该元素位于解码器配置的重要位置,使其包含解码器解释比特流所需 的所有另外信息。

具体地,于此通过明确地陈述比特流中的元素数目及其次序来定义比 特流的结构。

然后,对所有元素的循环允许所有类型(单个、成对、lfe、扩展)的 所有元素的配置。

UsacConfigExtension()(图6l)

为了考虑到未来的扩展,配置的特征为以下的强有力机制:针对 USAC的尚未存在的配置扩展而扩展该配置。

UsacSingleChannelElementConfig()(图6d)

该元素配置包含用于将解码器配置成对一个单通道进行解码所需的 所有信息。这基本上为与核心编码器相关的信息,并且如果使用SBR, 则为与SBR相关的信息。

UsacChannelPairElementConfig()(图6e)

类似以上所述的,该元素配置包含用于将解码器配置成对一个通道对 进行解码所需的所有信息。除上述的核心配置和SBR配置之外,其还包 括特定于立体声的配置,例如所施加的立体声编码的确切类别(具有或不 具有MPS212、残差等)。注意,该元素覆盖在USAC中可用的立体声编 码选项的所有种类。

UsacLfeElementConfig()(图6f)

因为LFE元素具有静态配置,所以LFE元素配置不包含配置数据。

UsacExtElementConfig()(图6k)

该元素配置可以用于向编解码器配置任何种类的现有或未来扩展。每 个扩展元素类型具有其本身的专用ID值。包括长度字段,以能够方便地 跳过解码器所未知的配置扩展。默认有效载荷长度的任选定义进一步提高 存在于实际比特流中的扩展有效载荷的编码效率。

已知被预见为与USAC组合的扩展包括:MPEG环绕、SAOC以及 根据MPEG-4AAC已知的某种FIL元素。

UsacCoreConfig()(图6g)

该元素包含影响核心编码器设置的配置数据。目前,这些配置数据为 用于时间弯曲工具和噪声填充工具的切换。

SbrConfig()(图6h)

为了减少由sbr_header()的频繁重新传输所产生的位开销,通常保持 为恒定的sbr_header()的元素的默认值现在被承载于配置元素 SbrDfltHeader()中。此外,静态SBR配置元素也被承载于SbrConfig() 中。这些静态位包括用于使能或禁止增强型SBR的特定特征(如谐波转 位或跨时间包络整形特征(inter-TES))的标记。

SbrDfltHeader()(图6i)

该元素承载通常保持为恒定的sbr_header()元素。影响事物(如幅值 分辨率、交叉频带、频谱预平坦化)的元素现在被承载于SbrInfo()中, 其允许所述事物实时地有效改变。

Mps212Config()(图6j)

类似上面的SBR配置,针对MPEG环绕2-1-2工具的所有设置参数 被集合在该配置中。来自SpatialSpecificConfig()的与上下文不相关或冗余 的所有元素均被移除。

比特流有效载荷

UsacFrame()

其为环绕USAC比特流有效载荷的最外侧包绕器并且表示USAC存 取单元。其包含通过所有所含通道元素和如在config部分所传达的扩展元 素的循环。这使得比特流格式在其可以包含的内容方面显著更灵活,并且 是用于任何未来扩展的未来保证。

UsacSingleChannelElement()

该元素包含对单声流进行解码的所有数据。该内容被划分成与核心编 码器相关的部分和与eSBR相关的部分。与eSBR相关的部分现在显著更 紧密地连接至核心,这也显著更好地反映了解码器需要数据的次序。

UsacChannelPairElement()

该元素覆盖用于对立体声对进行编码的所有可能方式的数据。具体 地,覆盖统一立体声编码的所有风格,从基于传统M/S的编码到借助于 MPEG环绕2-1-2的完全参数立体声编码。stereoConfigIndex表示实际 使用的风格。在该元素中发送适当的eSBR数据和MPEG环绕2-1-2数据。

UsacLfeElement()

仅对之前的lfe_channel_element()重新命名,以遵守一致的命名方案。

UsacExtElement()

扩展元素被审慎设计为能够使灵活性最大化,但同时使效率最大化, 即使针对具有较小(或通常根本没有)有效载荷的扩展也如此。向无知的 解码器传达扩展有效载荷长度以跳过它。用户定义的扩展可以借助于扩展 类型的保留范围进行传达。扩展可以以元素次序自由地放置。已经考虑一 定范围的扩展元素,包括写入填充字节的机制。

UsacCoreCoderData()

该新元素概括影响核心编码器的所有信息,因此也包含 fd_channel_stream()和lpd_channel_stream()。

StereoCoreToolInfo()

为了使语法的可读性容易化,所有立体声相关信息被捕获在该元素 中。其处理立体声编码模式下的位的众多依赖性。

UsacSbrData()

可伸缩性音频编码的CRC功能元素和传统描述元素从用于成为 sbr_extension_data()元素的元素中被移除。为了减少由SBR信息和头数 据的频繁重新传输造成的开销,可以明确地传达它们的存在。

SbrInfo()

SBR配置数据经常进行实时修改。这包括先前需要完整sbr_header() 的传输的控制如下事物的元素,该事物例如为幅值分辨率、交叉频带、频 谱预平坦化。(参见[N11660]中的6.3,“效率”)。

SbrHeader()

为了维持SBR实时地改变sbr_header()中的值的能力,在应当使用 除在SbrDfltHeader()中发送的那些值以外的其它值的情况下,现在可以 将SbrHeader()承载于UsacSbrData()内。对bs_header_extra机制进行维 持以针对大部分常见情况将开销保持为尽可能低。

sbr_data()

再者,移除SBR可伸缩编码的余部,原因是其不能应用于USAC上 下文中。取决于通道数目,sbr_data()包含一个 sbr_single_channel_element()或一个sbr_channel_pair_element()。

usacSamplingFrequencyIndex

本表为在MPEG-4中使用以对音频编解码器的采样频率进行传达的 表的超集。本表被进一步扩展为还覆盖目前在USAC操作模式下使用的 采样率。还加入采样频率的一些倍数。

channelConfigurationIndex

本表为在MPEG-4中使用以对channelConfiguration进行传达的表 的超集。本表被进一步扩展来允许常用的和所预见的未来扬声器设置的传 达。本表中的索引以5位进行传达,以允许未来扩展。

usacElementType

仅存在4种元素类型。四个基本比特流元素各有一个类型: UsacSingleChannelElement()、UsacChannelPairElement()、 UsacLfeElement()、UsacExtElement()。这些元素提供所需的顶层结构, 同时维持所有需要的灵活性。

usacExtElementType

在UsacExtElement()内部,本元素允许传达过多的扩展。为了未来保 证,位域被选择为足够大以允许所有可设想的扩展。在当前已知的扩展中, 建议考虑少数扩展:填充元素、MPEG环绕以及SAOC。

usacConfigExtType

可能需要在某一点扩展配置,那么这可以通过UsacConfigExtension() 来处置,然后其将允许给每个新配置分配类型。当前可以被传达的唯一类 型为用于该配置的填充机制。

coreSbrFrameLengthIndex

该表将对解码器的多个配置方面进行传达。具体地,这些为输出帧长 度、SBR比以及所得的核心编码器帧长度(ccfl)。同时,其表示用在SBR 中的合成频带和QMF分析的数目。

stereoConfigIndex

该表确定UsacChannelPairElement()的内部结构。该表表示单声或立 体声核心的使用、MPS212的使用、是否施加立体声SBR以及是否在 MPS212中施加残差编码。

通过将eSBR头字段的大部分移动至可以借助于默认头标记来参考 的默认头,大大减少了发送eSBR控制数据的位需求。被视为在现实世界 系统中最可能改变的前述sbr_header()位域反而被外包给sbrInfo()元素, 使其现在仅包括覆盖最多8位的4个元素。与由至少18位构成的 sbr_header()相比,这节省了10位。

评估此变化对总比特率的影响是较困难的,原因在于总比特率很大程 度上取决于sbrInfo()中的eSBR控制数据的传输率。然而,已经针对在比 特流中更改sbr交叉的公共使用情况,每次发生发送sbrInfo()替代完整传 输的sbr_header()时,位节省可以高达22位。

USAC解码器的输出可以由MPEG环绕(MPS)(ISO/IEC23003-1) 或SAOC(ISO/IEC23003-2)进一步处理。如果USAC中的SBR工具为 有效的,则通过以针对ISO/IEC23003-14.4中的HE-AAC所描述的相同 方式在QMF域中连接USAC解码器和后续MPS/SAOC解码器,USAC 解码器通常可以有效地与后续MPS/SAOC解码器组合。如果在QMF域 中的连接不可行,则它们需要在时域中进行连接。

如果借助于usacExtElement机制(其中usacExtElementType为 ID_EXT_ELE_MPEGS或ID_EXT_ELE_SAOC)将MPS/SAOC边信息 嵌入到USAC比特流中,则USAC数据与MPS/SAOC数据之间的时间对 齐呈现出USAC解码器与MPS/SAOC解码器之间的最有效连接。如果在 USAC中的SBR工具为有效的并且如果MPS/SAOC采用64频带的QMF 域表示(参见ISO/IEC23003-16.6.3),则最有效连接是在QMF域中。 否则,最有效连接是在时域中。这对应于如在ISO/IEC23003-14.4、4.5 以及7.2.1中定义的MPS和HE-AAC的组合的时间对齐。

通过在USAC解码后增加MPS解码所引入的另外延迟是由ISO/IEC 23003-14.5给定的,并且取决于:是否使用HQ MPS或LP MPS,以及 MPS是否在QMF域或时域中连接至USAC。

ISO/IEC23003-14.4阐明USAC系统与MPEG系统之间的接口。从 系统接口传递给音频解码器的每个存取单元将导致从该音频解码器传递 至系统接口的相应组合单元即组合器。这将包括起始状况和关断状况,即 存取单元何时为存取单元的有限序列中的第一个或最后一个。

对于音频组合单元,ISO/IEC14496-17.1.3.5组合时间戳(CTS)指 定施加至组合单元内的第n个音频样本的组合时间。对于USAC,n的值 始终为1。注意,这适用于USAC解码器本身的输出。在USAC解码器 例如与MPS解码器组合的情况下,需要考虑在MPS解码器的输出端传 递的组合单元。

USAC比特流有效载荷语法的特征

表-UsacFrame()的语法

表-UsacSingleChannelElement()的语法

表-UsacChannelPairElement()的语法

表-UsacLfeElement()的语法

表-UsacExtElement()的语法

附属有效载荷元素的语法的特征

表-UsacCoreCoderData()的语法

表-StereoCoreToolInfo()的语法

表-fd_channel_stream()的语法

表-lpd_channel_stream()的语法

表-fac_data()的语法

增强型SBR有效载荷语法的特征

表-UsacSbrData()的语法

表-SbrInfo的语法

表-SbrHeader的语法

表-sbr_data()的语法

表-sbr_envelope()的语法

表-FramingInfo()的语法

数据元素的简短描述

UsacConfig()

该元素包含关于所含音频内容的信息以及用于完整解码器设置所需 的一切。

UsacChannelConfig()

该元素给出与所包含的比特流元素以及其至扬声器的映射有关的信 息。

UsacDecoderConfig()

该元素包含由解码器解释比特流所需的所有另外信息。具体地,在此 处传达SBR重新采样率,并且比特流的结构在此通过明确地陈述比特流 中的元素数目及其次序进行定义。

UsacConfigExtension()

配置扩展机制,对用于USAC的未来配置扩展的配置进行扩展。

UsacSingleChannelElementConfig()

其包含用于将解码器配置成对一个单通道进行解码所需的所有信息。 这基本上为与核心编码器相关的信息,并且如果使用SBR,则为与SBR 相关的信息。

UsacChannelPairElementConfig()

类似以上所述的,该元素配置包含用于将解码器配置成对一个通道对 进行解码所需的所有信息。除上述的核心配置和SBR配置之外,其还包 括特定于立体声的配置,例如所施加的立体声编码的确切类别(具有或不 具有MPS212、残差等)。该元素覆盖在USAC中当前可用的立体声编码 选项的所有种类。

UsacLfeElementConfig()

因为LFE元素具有静态配置,所以LFE元素配置不包含配置数据。

UsacExtElementConfig()

该元素配置可以用于对编解码器的任何种类的现有扩展或未来扩展 进行配置。每个扩展元素类型具有其本身专用类型值。包括长度字段,以 能够跳过解码器所未知的配置扩展。

UsacCoreConfig()

其包含影响核心编码器设置的配置数据。

SbrConfig()

其包含通常保持为恒定的用于eSBR的配置元素的默认值。此外,静 态SBR配置元素也被承载于SbrConfig()中。这些静态位包括用于使能或 禁止增强型SBR的特定特征(如谐波转位或inter-TES)的标记。

SbrDfltHeader()

该元素承载SbrHeader()的元素的默认版本,如果不期望这些元素有差 值,则可以参考该默认版本。

Mps212Config()

针对MPEG环绕2-1-2工具的所有设置参数都被集合在该配置中。

escapedValue()

该元素实现使用不同数目的位来传输整数值的通用方法。其以两阶逃 逸机制为特征,该两阶逃逸机制允许通过连续传输另外的位来扩展可表示 的值范围。

usacSamplingFrequencyIndex

该索引确定解码后的音频信号的采样频率。在表C中描述 usacSamplingFrequencyIndex的值及其相关联的采样频率。

表C-usacSamplingFrequencyIndex的值和含义

usacSamplingFrequency

在usacSamplingFrequencyIndex等于零的情况下,解码器的输出采 样频率被编码为无符号整数值。

channelConfigurationIndex

该索引确定通道配置。如果channelConfigurationIndex>0,则该索引 根据表Y明确地定义通道数目、通道元素以及相关联的扬声器映射。扬 声器位置的名称、所使用的缩写以及可用扬声器的通用位置可以从图3a、 图3b以及图4a和图4b得到。

bsOutputChannelPos

该索引根据图4a和图4b来描述与给定通道相关联的扬声器位置。图 4b表示在收听者的3D环境中的扬声器位置。为了方便理解扬声器位置, 图4a也包含根据IEC100/1706/CDV的扬声器位置,其被列举于此以方 便感兴趣的读者查询。

表-取决于coreSbrFrameLengthIndex的coreCoderFrameLength、 sbrRatio、outputFrameLength以及numSlots的值

usacConfigExtEnsionPresent

其表示对配置的扩展的存在。

numOutChannels

如果channelConfigurationIndex的值表示未使用任何预定义的通道 配置,则该元素确定特定扬声器位置将关联的音频通道的数目。

numElements

本字段包含将跟随通过UsacDecoderConfig()的元素类型的循环的元 素的数目。

usacElementType[elemIdx]

其定义在比特流中的位置elemIdx处的元素的USAC通道元素类型。存在 四种元素类型,针对四个基本比特流元素中的每一个基本比特流元素的类型 为:UsacSingleChannelElement()、UsacChannelPairElement()、 UsacLfeElement()、UsacExtElement()。这些元素提供所需的顶层结构,同 时维持所有需要的灵活性。在表A中定义usacElementType的含义。

表A-usacElementType的值

usacElementType ID_USAC_SCE 0 ID_USAC_CPE 1 ID_USAC_LFE 2 ID_USAC_EXT 3

stereoConfigIndex

该元素确定UsacChannelPairElement()的内部结构。其根据表ZZ表 示单声或立体声核心的使用、MPS212的使用、是否施加立体声SBR、以 及是否在MPS212中施加残差编码。该元素还定义辅助元素bsStereoSbr 和bsResidualCoding的值。

表ZZ-stereoConfigIndex的值及其含义以及bsStereoSbr和 bsResidualCoding的隐式分配

tw_mdct

该标记对本流中的时间弯曲式MDCT的使用进行传达。

noiseFilling

该标记对FD核心编码器中的频谱洞(spectral hole)的噪声填充的 使用进行传达。

harmonicSBR

该标记对SBR中的谐波修补的使用进行传达。

bs_interTes

该标记对SBR中的inter-TES工具的使用进行传达。

dflt_start_freq

其为用于比特流元素bs_start_freq的默认值,该默认值在标记 sbrUseDfltHeader表示将采取用于SbrHeader()元素的默认值的情况下应 用。

dflt_stop_freq

其为用于比特流元素bs_stop_freq的默认值,该默认值在标记 sbrUseDfltHeader表示将采取用于SbrHeader()元素的默认值的情况下应 用。

dflt_header_extra1

其为用于比特流元素bs_header_extra1的默认值,该默认值在标记 sbrUseDfltHeader表示将采取用于SbrHeader()元素的默认值的情况下应 用。

dflt_header_extra2

其为用于比特流元素bs_header_extra2的默认值,该默认值在标记 sbrUseDfltHeader表示将采取用于SbrHeader()元素的默认值的情况下应 用。

dflt_freq_scale

其为用于比特流元素bs_freq_scale的默认值,该默认值在标记 sbrUseDfltHeader表示将采取用于SbrHeader()元素的默认值的情况下应 用。

dflt_alter_scale

其为用于比特流元素bs_alter_scale的默认值,该默认值在标记 sbrUseDfltHeader表示将采取用于SbrHeader()元素的默认值的情况下应 用。

dflt_noise_bands

其为用于比特流元素bs_noise_bands的默认值,该默认值在标记 sbrUseDfltHeader表示将采取用于SbrHeader()元素的默认值的情况下应 用。

dflt_limiter_bands

其为用于比特流元素bs_limiter_bands的默认值,该默认值在标记 sbrUseDfltHeader表示将采取用于SbrHeader()元素的默认值的情况下应 用。

dflt_limiter_gains

其为用于比特流元素bs_limiter_gains的默认值,该默认值在标记 sbrUseDfltHeader表示将采取用于SbrHeader()元素的默认值的情况下应 用。

dflt_interpol_freq

其为用于比特流元素bs_interpol_freq的默认值,该默认值在标记 sbrUseDfltHeader表示将采取用于SbrHeader()元素的默认值的情况下应 用。

dflt_smoothing_mode

其为用于比特流元素bs_smoothing_mode的默认值,该默认值在标记 sbrUseDfltHeader表示将采取用于SbrHeader()元素的默认值的情况下应 用。

usacExtElementType

该元素允许对比特流扩展类型进行传达。在表B中定义 usacExtElementType的含义。

表B-usacExtElementType的值

usacExtElementConfigLength

其以字节(八位字节)来传达扩展配置的长度。

usacExtElementDefaultLengthPresent

该标记对是否在UsacExtElementConfig()中传送 usacExtElementDefaultLength进行传达。

usacExtElementDefaultLength

其以字节对扩展元素的默认长度进行传达。只要给定存取单元中的扩 展元素偏离该值,则需要在比特流中传输另外的长度。如果未明确地传输 该元素(usacExtElementDefaultLengthPresent==0),则 usacExtElementDefaultLength的值将被设定为零。

usacExtElementPayloadFrag

该标记表示本扩展元素的有效载荷是否可以被分片段并且作为连续 USAC帧中的若干节段进行发送。

numConfigExtensions

如果对配置的扩展存在于UsacConfig()中,则该值表示所传达的配置 扩展的数目。

confExtIdx

配置扩展的索引。

usacConfigExtType

该元素允许对配置扩展类型进行传达。在表D中定义 usacConfigExtType的含义。

表D-usacConfigExtType的值

usacConfigExtType ID_CONFIG_EXT_FILL 0 /*保留供ISO使用*/ 1-127 /*保留供ISO范围以外使用*/ 128及更高

usacConfigExtLength

其以字节(八位字节)对配置扩展的长度进行传达。

bsPseudoLr

该标记对应当在Mps212处理之前将逆向中间/边旋转施加至核心信 号进行传达。

表-bsPseudoLr

bsPseudoLr 含义 0 核心解码器输出为DMX/RES 1 核心解码器输出为Pseudo L/R

bsStereoSbr

该标记对结合MPEG环绕解码来使用立体声SBR进行传达。

表-bsStereoSbr

bsStereoSbr 含义 0 单声SBR 1 立体声SBR

bsResidualCoding

其根据下表来表示是否施加残差编码。由stereoConfigIndex定义 BsResidualCoding值(参见X)。

表-bsResidualCoding

bsResidualCoding 含义 0 无残差编码,核心编码器为单声 1 残差编码,核心编码器为立体声

sbrRatioIndx

其表示核心采样率与eSBR处理后的采样率之间的比。同时,其根据 下表来表示在SBR中使用的合成频带和QMF分析的数目。

表-sbrRatiolndex的定义

elemIdx

存在于usacDecoderconfig()和usacFrame()中的元素的索引。

UsacConfig()

usacconng()包含与输出采样频率和通道配置有关的信息。该信息将 与在此元素外部如在MPEG-4Audiospecificconfig()中所传达的信息相 同。

usac输出采样频率

如果采样率并非为表l右栏列举的比率中之一,则必须得到采样频率 依赖性表(代码表、标度因子频带表等)以解析比特流有效载荷。由于给 定采样频率与仅一个采样频率表相关联,并且由于在可能的采样频率范围 内期望最大的灵活性,所以下表将用于使隐式采样频率和期望采样频率依 赖性表相关联。

表1-采样频率映射

频率范围(Hz) 针对采样频率(Hz)的使用表 f>=92017 96000 92017>f>=75132 88200 75132>f>=55426 64000 55426>f>=46009 48000 46009>f>=37566 44100 37566>f>=27713 32000 27713>f>=23004 24000 23004>f>=18783 22050 18783>f>=13856 16000 13856>f>=11502 12000 11502>f>=9391 11025 9391>f 8000

UsacChannelC0nfig()

通道配置表覆盖大多数常用的扬声器位置。为了进一步的灵活性,通 道可以被映射至在各种应用的现代扬声器设置中发现的32个扬声器位置 的总体选择(参见图3a、图3b)。

针对包含在比特流中的每个通道,UsacChannelConfig()指定该特定 通道将映射至的相关联扬声器位置。在图4a中列出由 bsOutputChannelPos索引的扬声器位置。在多通道元素的情况下, bsOutputChannelPos[i]的索引i表示该通道在比特流中出现的位置。图Y 给出关于收听者的扬声器位置的概况。

更精确地,以0(零)开始,以通道在比特流中出现的顺序对通道进 行编号。在UsacSingleChannelElement()或UsacLfeElement()的普通情况 下,通道编号被分配给该通道,并且通道计数值加1。在 UsacChannelPairElement()的情况下,该元素中的第一通道(具有索引 ch==0)被编号为1,而该同一元素中的第二通道(具有索引ch==1)接 收下一更高的数字,并且通道计数值加2。

其遵循numOutChannels将等于或小于比特流中所包含的所有通道 的累积和。所有通道的累积和与如下数目相等:该数目为所有 UsacSingleChannelElement()的数目加上所有UsacLfeElement()的数目再 加上所有UsacChannelPairElement()的两倍数目。

数组bsOutputChannelPos中的所有条目将被互相分开,以避免比特 流中扬声器位置的双重分配。

在channelConfigurationIndex为0且numOutChannels小于比特流 中所包含的所有通道的累积和的特定情况下,那么非分配通道的处置在本 说明书的范围以外。关于此的信息可以例如通过较高应用层的适当手段或 通过特定设计的(私有)扩展有效载荷进行传送。

UsacDecoderConfig()

UsacDecoderConfig()包含由解码器解释比特流所需的所有另外信 息。首先,sbrRatioIndex的值确定核心编码器帧长度(ccfl)与输出帧长 度之间的比。其后,sbrRatioIndex为通过本比特流中的所有通道元素的 循环。针对每次迭代,在usacElementType[]中传达元素类型,紧接着传 达其相应的配置结构。各个元素在UsacDecoderConfig()中存在的次序将 与相应有效载荷在UsacFrame()中的次序相同。

元素的每个实例可以被独立地配置。当读取UsacFrame()中的每个通 道元素时,针对每个元素,将使用该实例的相应配置即具有相同的 elemIdx。

UsacSingleChannelElementConfig()

UsacSingleChannelElementConfig()包含将解码器配置成对一个单通 道进行解码所需的所有信息。如果实际上采用SBR,则仅传输SBR配置 数据。

UsacChannelPairElementConfig()

UsacChannelPairElementConfig()包含与核心编码器相关的配置数据 以及取决于SBR的使用的SBR配置数据。立体声编码算法的确切类型由 stereoConfigIndex表示。在USAC中,通道对可以以各种方式进行编码。 这些方式为:

1.通过MDCT域中的复合预测可能性来扩展使用传统联合立体声编 码技术的立体声核心编码器对。

2.单声核心编码器通道与基于MPEG环绕的MPS212组合,以用于完 整参数立体声编码。单声SBR处理被施加至核心信号。

3.立体声核心编码器对与基于MPEG环绕的MPS212组合,其中第一 核心编码器通道承载下混信号并且第二通道承载残差信号。残差可 以是被限制为实现部分残差编码的频带。单声SBR处理仅在 MPS212处理之前被施加至下混信号。

4.立体声核心编码器对与基于MPEG环绕的MPS212组合,其中第 一核心编码器通道承载下混信号并且第二通道承载残差信号。残差 可以是被限制为实现部分残差编码的频带。立体声SBR在MPS212 处理之后被施加至重建的立体声信号。

在核心编码器之后,选项3和4可以进一步与伪LR通道旋转组合。

UsacLfeElementConfig()

由于LFE通道不允许使用时间弯曲式MDCT和噪声填充,所以无需 传输针对这些工具的常用核心编码器标记。其反而将被设定为零。

而且,在LFE上下文下也不允许使用SBR。因而,不传输SBR配置 数据。

UsacCoreConfig()

UsacCoreConfig()仅包含在全局比特流层级上使能或禁止时间弯曲 式MDCT和频谱噪声填充的使用的标记。如果tw_mdct被设定为零,则 不施加时间弯曲。如果noiseFilling被设定为零,则不施加频谱噪声填充。

SbrConfig()

SbrConfig()比特流元素用于对确切eSBR设置参数进行传达的目的。 一方面,SbrConfig()对eSBR工具的一般部署进行传达。另一方面, SbrConfig()包含SbrHeader()的默认版本,即SbrDfltHeader()。如果在比 特流中未传输不同的SbrHeader(),则将采取该默认头的值。此机制的背 景为在一个比特流中通常仅应用一组SbrHeader()值。然后, SbrDfltHeader()的传输允许通过使用比特流中的仅一位而非常有效地参 考该组默认值。通过允许比特流本身的新SbrHeader的带内传输,仍然 保持实时地改变SbrHeader值的可能性。

SbrDfltHeader()

SbrDfltHeader()可以被称为基本SbrHeader()模板,并且应当包含用 于主要使用的eSBR配置的值。在比特流中,通过设定sbrUseDfltHeader() 标记可以参考该配置。SbrDfltHeader()的结构与SbrHeader()的结构相同。 为了能够区别SbrDfltHeader()和SbrHeader()的值,SbrDfltHeader()中的 位域被加前缀“dflt_”而非“bs_”。如果表示使用SbrDfltHeader(),则 SbrHeader()位域将采取相应SbrDfltHeader()的值,即

bs_start_freq=dflt_start_freq;

bs_stop_freq=dflt_stop_freq;

(继续SbrHeader()中的所有元素,如:

bs_xxx_yyy=dflt_xxx_yyy;

Mps212Config()

Mps212Config()类似于MPEG环绕的SpatialSpecificConfig()并且大 部分是根据SpatialSpecificConfig()得到的。然而,其程度减少为仅包含与 USAC上下文中的单声到立体声上混有关的信息。因此,MPS212仅配置 一个OTT框。

UsacExtElementConfig()

UsacExtElementConfig()为用于USAC的扩展元素的配置数据的一般 容器。每个USAC扩展具有独特类型的标识符即usacExtElementType, 其在图6k中定义。针对每个UsacExtElementConfig(),所包含的扩展配 置的长度以可变usacExtElementConfigLength进行传输,并且允许解码 器安全地跳过usacExtElementType为未知的扩展元素。

对于通常具有恒定有效载荷长度的USAC扩展, UsacExtElementConfig()允许usacExtElementDefaultLength的传输。定 义配置中的默认有效载荷长度允许UsacExtElement()内的 usacExtElementPayloadLength的高度有效传达,其中位消耗需要被保持 为低。

在其中较大量数据被累积并且并非以每帧为基础进行传输而仅以每 隔一帧或甚至更稀疏地进行传输的USAC扩展的情况下,该数据可以以 遍布若干USAC帧的片段或区段进行传输。这可以有助于更加均衡地保 持位储藏。该机制的使用由标记usacExtElementPayloadFrag标记进行传 达。在6.2.X的usacExtElement的描述中进一步说明片段机制。

UsacConfigExtension()

UsacConfigExtension()为用于UsacConfig()扩展的一般容器。其提供 对在解码器初始化或设置时所切换的信息进行修正或扩展的便利方式。配 置扩展的存在由usacConfigExtensionPresent表示。如果配置扩展存在 (usacConfigExtensionPresent==1),则这些扩展的确切数目遵循位域 numConfigExtensions。每个配置扩展具有独特类型的标识符, usacConfigExtType。针对每个UsacConfigExtension,所包含的配置扩展 的长度以可变usacConfigExtLength进行传输,并且允许配置比特流解析 器安全地跳过usacConfigExtType为未知的配置扩展。

针对音频对象类型USAC的顶级有效载荷

术语和定义

UsacFrame()

该数据块包含一个USAC帧的时间周期内的音频数据、相关信息以 及其它数据。如在UsacDecoderConfig()中所传达的,UsacFrame()包含 numElements元素。这些元素可以包含针对一个或二个通道的音频数据、 针对低频增强或扩展有效载荷的音频数据。

UsacSingleChannelElement()

缩写SCE。包含用于单个音频通道的编码数据的比特流的语法元素。 single_channel_element()基本上包括UsacCoreCoderData(), UsacCoreCoderData()含有用于FD或LPD核心编码器的数据。在SBR 处于有效的情况下,UsacSingleChannelElement也包含SBR数据。

UsacChannelPairElement()

缩写CPE。包含用于一对通道的数据的比特流有效载荷的语法元素。 通道对可以通过传输二个离散通道或者通过一个离散通道和相关Mps212 有效载荷来实现。这借助于stereoConfigIndex来传达。在SBR处于有效 的情况下,UsacChannelPairElement还包含SBR数据。

UsacLfeElement()

缩写LFE。包含低采样频率增强通道的语法元素。LFE始终使用 fd_channel_stream()元素进行编码。

UsacExtElement()

包含扩展有效载荷的语法元素。扩展元素的长度作为配置 (USACExtElementConfig())中的默认长度进行传达或在UsacExtElement() 本身中进行传达。如果存在,则扩展有效载荷为usacExtElementType类型, 如在配置中所传达的。

usacIndependencyFlag

其根据下表来表示是否可以在不知道来自先前帧的信息的情况下对 当前UsacFrame()进行完全解码。

表-usacIndependencyFlag的含义

备注:请参考针对关于usacIndependencyFlag的建议的X.Y。

usacExtElementUseDefaultLength

其表示扩展元素的长度是否与在UsacExtElementConfig()中定义的 usacExtElementDefaultLength相对应。

usacExtElementPayloadLength

其将以字节包含扩展元素的长度。该值应当仅在目前存取单元中的扩 展元素长度偏离默认值usacExtElementDefaultLength的情况下在比特流 中明确地传输。

usacExtElementStart

其表示目前的usacExtElementSegmentData是否开始数据块。

usacExtElementStop

其表示目前的usacExtElementSegmentData是否结束数据块。

usacExtElementSegmentData

来自连续USAC帧的UsacExtElement()的所有 usacExtElementSegmentData的级联,始于usacExtElementStart==1的 UsacExtElement()直至且包含usacExtElementStop==1的 UsacExtElement(),形成一个数据块。在一个UsacExtElement()中包含完 整数据块的情况下,usacExtElementStart和usacExtElementStop二者将 均被设定为1。根据下表,取决于usacExtElementType将数据块解释为 字节对齐的扩展有效载荷:

表-针对USAC扩展有效载荷解码的数据块的解释

fill_byte

可以用于以未承载信息的位来填补比特流的位的八位字节。用于 fill_byte的确切位模式应当为‘10100101’。

辅助元素

nrCoreCoderChannels

在通道对元素的上下文中,该变量表示形成立体声编码的基础的核心 编码器通道的数目。取决于stereoConfigIndex的值,该值将为1或2。

nrSbrChannels

在通道对元素的上下文中,该变量表示被施加SBR处理的通道的数 目。取决于stereoConfigIndex的值,该值将为1或2。

用于USAC的附属有效载荷

术语和定义

UsacCoreCoderData()

该数据块包含核心编码器音频数据。针对FD模式或LPD模式,有 效载荷元素包含用于一个或二个核心编码器通道的数据。在元素的起始时 按通道传达特定模式。

StereoCoreToolInfo()

所有立体声相关信息被捕获在该元素中。其处理立体声编码模式下的 位域的众多依赖性。

辅助元素

commonCoreMode

在CPE中,该标记表示两个经编码的核心编码器通道是否使用相同 模式。

Mps212Data()

该数据块包含用于Mps212立体声模块的有效载荷。该数据的存在取 决于stereoConfigIndex。

common_window

其表示CPE的通道0和通道1是否使用相同的窗口参数。

common_tw

其表示CPE的通道0和通道1针对时间弯曲式MDCT是否使用相同 的参数。

UsacFrame()的解码

一个UsacFrame()形成USAC比特流的一个存取单元。根据从表确定 的outputFrameLength,每个UsacFrame解码成768、1024、2048或4096 个输出样本。

UsacFrame()中的第一位为usacIndependencyFlag,其确定是否可以 在对先前帧没有任何获知的情况下对给定帧进行解码。如果 usacIndependencyFlag被设定为0,则在当前帧的有效载荷中可能存在对 先前帧的依赖性。

UsacFrame()进一步由一个或更多个语法元素组成,该一个或更多个 语法元素将以与其相对应配置元素在UsacDecoderConfig()中的次序相同 的次序出现在比特流中。每个元素在所有元素系列中的位置由elemIdx索 引。针对每个元素,将使用该实例的(如在UsacDecoderConfig()中传输 的)相应配置,即具有相同的elemIdx。

这些语法元素为表中列举的四种类型中的一种类型。这些元素中的每 个元素的类型由usacElementType确定。可能存在相同类型的多个元素。 在不同帧的相同位置elemIdx处出现的元素将属于相同的流。

表-简单的可能比特流有效载荷的示例

如果这些比特流有效载荷通过恒定比率通道进行传输,则它们可能包 括具有ID_EXT_ELE_FILL的usacExtElementType的扩展有效载荷元 素,以调整瞬时比特率。在此情况下,所编码的立体声信号的示例为:

表-具有扩展有效载荷用以写入填充位 的简单立体声比特流的示例

UsacSingleChannelElement()的解码

UsacSingleChannelElement()的简单结构由UsacCoreCoderData()的 一个实例组成,其中nrCoreCoderChannels被设定为1。取决于该元素的 sbrRatioIndex,跟随nrSbrChannels的UsacSbrData()元素也被设定为1。

UsacExtElement()的解码

在比特流中的UsacExtElement()结构可以被USAC解码器解码或跳 过。每个扩展由在与UsacExtElement()相关联的UsacExtElementConfig() 中传送的usacExtElementType识别。针对每个usacExtElementType,可 以存在特定解码器。

如果用于扩展的解码器能够用于USAC解码器,则紧接着由USAC 解码器已经解析UsacExtElement()之后,将扩展的有效载荷转发至扩展解 码器。

如果用于扩展的解码器均不能用于USAC解码器,则在比特流内提供 最小结构,使得扩展可以被USAC解码器忽略。

扩展元素的长度由八位字节的默认长度指定,该默认长度可以在相应 UsacExtElementConfig()内进行传达并且可以在UsacExtElement()中宣布 无效;或者通过利用语法元素escapedValue(),扩展元素的长度由在 UsacExtElement()中明确提供的长度信息指定,其为一个或三个八位字节 长。

跨越一个或更多个UsacFrame()的扩展有效载荷可以被分片段,并且 其有效载荷分布在若干UsacFrame()间。在此情况下, usacExtElementPayloadFrag标记被设定为1,并且解码器必须采集如下 范围的所有片段:从usacExtElementStart被设定为1的UsacFrame()直 至且包含usacExtElementStop被设定为1的UsacFrame()。当 usacExtElementStop被设定为1时,那么扩展被视为完整的并且被传递至 扩展解码器。

注意,本说明书不提供片段扩展有效载荷的完整性保护,应当使用其 它手段来确保扩展有效载荷的完整性。

注意,假设所有扩展有效载荷数据是字节对齐的。

每个UsacExtElement()应遵守由于使用usacIndependencyFlag所带 来的要求。更明确地,如果usacIndependencyFlag被设定(==1),则 UsacExtElement()将能够解码而不需获知先前帧(及其中可能包含的扩展有 效载荷)。

解码处理

在UsacChannelPairElementConfig()中传输的stereoConfigIndex确定 在给定CPE中施加的立体声编码的确切类型。取决于立体声编码的该类 型,在比特流中实际传输一个或二个核心编码器通道,并且可变 nrCoreCoderChannels必须相应地进行设定。然后,语法元素 UsacCoreCoderData()提供针对一个或二个核心编码器通道的数据。

类似地,取决于立体声编码的类型和eSBR的使用(即如果 sbrRatioIndex>0),可以存在可用于一个或二个通道的数据。需要相应地 设定nrSbrChannels的值,并且语法元素UsacSbrData()提供针对一个或 二个通道的eSBR数据。

最后,取决于stereoConfigIndex的值来传输Mps212Data()。

低频增强型(LFE)通道元素,UsacLfeElement()

概论

为了维持解码器中的规则结构,UsacLfeElement()被定义为标准 fd_channel_stream(0,0,0,0,x)元素,即其等于使用频域编码器的 UsacCoreCoderData()。因而,使用用于对UsacCoreCoderData()-元素进 行解码的标准程序可以进行解码。

然而,为了适应LFE解码器的更高比特率和硬件高效率实现,向用 于对该元素进行编码的选项施加若干限制:

●window_sequence字段始终设定为0(ONLY_LONG_SEQUENCE)

●任何LFE的仅最低24个频谱系数可以为非零

●不使用时域噪声整形,即tns_data_present被设定为0

●时间弯曲不作用

●不施加噪声填充

UsacCoreCoderData()

UsacCoreCoderData()包含用于对一个或二个核心编码器通道进行解 码的所有信息。

解码的次序为:

●针对每个通道取得core_mode[]

●在两个核心编码器通道(nrChannels==2)的情况下,解析 StereoCoreToolInfo()并且确定所有立体声相关参数

●取决于所传达的core_modes,针对每个通道来传输 lpd_channel_stream()或fd_channel_stream()

从以上列表可知,一个核心编码器通道(nrChannels==1)的解码导 致获得core_mode位,其后面跟随一个lpd_channel_stream或 fd_channel_stream,这取决于core_mode。

在二个核心编码器通道的情况下,可以利用通道之间的若干传达冗 余,特别是二个通道的core_mode为0的情况尤为如此。细节请参考6.2.X (StereoCoreToolInfo()的解码)。

StereoCoreToolInfo()

StereoCoreToolInfo()允许对如下参数进行有效编码:该参数的值可以 在以FD模式(core_mode[0,1]==0)对二个通道进行编码的情况下跨越 CPE的核心编码器通道共享。特别地,在比特流中的适当标记被设定为1 时,共享下列数据元素。

表-跨越核心编码器通道对的通道而共享的比特流元素

如果未设定适当的标记,则针对每个核心编码器通道以 StereoCoreToolInfo()(max_sfb、max_sfb1)或以跟随UsacCoreCoderData() 元素中的StereoCoreToolInfo()的fd_channlel_stream()来分别传输数据元 素。

在common_window==1的情况下,StereoCoreToolInfo()还包含与 MDCT域中的M/S立体声编码和复杂预测数据有关的信息(参见7.7.2)。

UsacSbrData()

该数据块包含针对一个或二个通道的SBR带宽扩展的有效载荷。该 数据的存在取决于sbrRatioIndex。

SbrInfo()

该元素包含在改变时不需解码器重置的SBR控制参数。

SbrHeader()

该元素包含具有SBR配置参数的SBR头数据,该数据通常不会随比 特流的持续时间而改变。

用于USAC的SBR有效载荷

在USAC中,SBR有效载荷在UsacSbrData()中进行传输,其为每个 单个通道元素或通道对元素的整数部分。UsacSbrData()紧跟随 UsacCoreCoderData()。不存在用于LFE通道的SBR有效载荷。

numSlots

在Mps212Data帧中的时隙数目。

图1示出用于对在输入端10处提供的经编码音频信号进行解码的音 频解码器。在输入线10上,提供有作为例如数据流或者甚至更示例性地 为串行数据流的经编码的音频信号。经编码的音频信号包括在数据流的有 效载荷区段中的第一通道元素和第二通道元素,并且包括在数据流的配置 区段中的用于第一通道元素的第一解码器配置数据和用于第二通道元素 的第二解码器配置数据。通常,第一解码器配置数据将与第二解码器配置 数据不同,原因在于第一通道元素通常也将与第二通道元素不同。

数据流或经编码的音频信号被输入到数据流读取器12中,以用于读 取用于每个通道元素的配置数据并且经由连接线13将该配置数据转发至 配置控制器14。此外,数据流读取器被布置成用于读取有效载荷区段中 的用于每个通道元素的有效载荷数据,并且包括第一通道元素和第二通道 元素的该有效载荷数据经由连接线15被提供至可配置解码器16。可配置 解码器16被布置成对多个通道元素进行解码,以输出用于各个通道元素 的数据,如在输出线18a、18b处所表示的。具体地,在对第一通道元素 进行解码时,根据第一解码器配置数据来配置可配置解码器16,而在对 第二通道元素进行解码时,根据第二解码器配置数据来配置可配置解码器 16。这由连接线17a、17b表示,其中连接线17a将第一解码器配置数据 从配置控制器14传输至可配置解码器,而连接线17b将第二解码器配置 数据从配置控制器传输至可配置解码器。配置控制器将以任何方式来实 现,以使可配置解码器根据在相应解码器配置数据中或在相应线17a、17b 上所传达的解码器配置来进行操作。因此,配置控制器14可以被实现为 介于实际上从数据流得到配置数据的数据流读取器12与通过实际读取的 配置数据进行配置的可配置解码器器16之间的接口。

图2示出用于对在输入端20处提供的多通道输入音频信号进行编码 的相应音频编码器。输入20被示为包括三条不同的线20a、20b、20c, 其中线20a承载例如中心通道音频信号,线20b承载左通道音频信号,以 及线20c承载右通道音频信号。所有三个通道信号均被输入到配置处理器 22和可配置编码器24中。配置处理器适于针对第一通道元素而在线21a 上生成第一配置数据以及在线21b上生成第二配置数据,例如仅包含中心 通道以使得第一通道元素为单个通道元素;以及针对第二通道元素,例如 第二通道元素是承载左通道和右通道的通道对元素。可配置编码器24适 于使用第一配置数据21a和第二配置数据21b来对多通道音频信号20进 行编码以获得第一通道元素23a和第二通道元素23b。音频编码器另外包 括数据流生成器26,其在输入线25a和25b处接收第一配置数据和第二 配置数据,并且另外接收第一通道元素23a和第二通道元素23b。数据流 生成器26适于生成表示经编码的音频信号的数据流27,该数据流具有: 包括第一配置数据和第二配置数据的配置区段;以及包括第一通道元素和 第二通道元素的有效载荷区段。

在本文中,其概述了第一配置数据和第二配置数据可以与第一解码器 配置数据或第二解码器配置数据相同或不同。在第一配置数据和第二配置 数据与第一解码器配置数据或第二解码器配置数据不同的情况下,配置控 制器14被配置成在配置数据为定向于编码器的数据时通过应用例如独特 功能或查找表等将数据流中的配置数据转换为相应的定向于解码器的数 据。然而,优选地,写入到数据流中的配置数据已经为解码器配置数据, 使得可配置编码器24或配置处理器22具有例如如下功能:该功能用于从 所计算的解码器配置数据得到编码器配置数据,或用于通过应用独特功能 或查找表或其它预先知识而再从所计算的编码器配置数据计算或确定解 码器配置数据。

图5a示出输入到图1的数据流读取器12中的或者由图2的数据流生 成器26输出的经编码音频信号的大致图示。数据流包括配置区段50和有 效载荷区段52。图5b示出图5a中的配置区段50的更详细实现。图5b 中示出的数据流——其通常为逐一承载位的串行数据流——在其第一端 50a处包括与传输结构的较高层(如MPEG-4文件格式)有关的通用配置 数据。可替代地或另外地,配置数据50a(配置数据50a可以存在或可以 不存在)包括包含在50b处所示的UsacChannelConfig中的另外的通用配 置数据。

通常,配置数据50a还可以包括来自图6a所示的UsacConfig的数据, 并且项50b包括在图6b的UsacChannelConfig中实现并示出的元素。具 体地,用于所有通道元素的相同配置可以例如包括在图3a、图3b和图4a、 图4b的上下文下所示出并描述的输出通道表示。

然后,比特流的配置区段50后面跟随UsacDecoderConfig元素,该 UsacDecoderConfig元素在本示例中由第一配置数据50c、第二配置数据 50d以及第三配置数据50c形成。第一配置数据50c用于第一通道元素、 第二配置数据50d用于第二通道元素,以及第三配置数据50e用于第三通 道元素。

具体地,如图5b所示的用于通道元素的每个配置数据包括在图6c 中关于其语法所使用的标识符元素类型索引idx。然后,具有两位的元素 类型索引idx后面跟随描述如下通道元素配置数据的位:在图6c中找到 该通道元素配置数据,并且在针对单个通道元素的图6d中、在针对通道 对元素的图6e中、在针对LFE元素的图6f中以及在针对扩展元素的图 6k中进一步说明,上述元素都是通常可以被包括在USAC比特流中的通 道元素。

图5c示出包括在图5a所示的比特流的有效载荷区段52中的UASC 帧。当图5b中的配置区段形成图5a的配置区段50时,即当有效载荷区 段包括三个通道元素时,那么有效载荷区段52将如图5c所示来实现,即 用于第一通道元素52a的有效载荷数据后面跟随有用于由52b表示的第二 通道元素的有效载荷数据,而用于由52b表示的第二通道元素的有效载荷 数据后面跟随有用于第三通道元素的有效载荷数据52c。因此,根据本发 明,配置区段和有效载荷区段以如下方式进行组织:配置数据相对于通道 元素的次序与有效载荷区段中有效载荷数据相对于通道元素的次序相同。 因此,当在UsacDecoderConfig元素中的次序为用于第一通道元素的配置 数据、用于第二通道元素的配置数据、用于第三通道元素的配置数据时, 那么在有效载荷区段中的次序相同,即在串行数据或比特流中存在用于第 一通道元素的有效载荷数据、然后跟随用于第二通道元素的有效载荷数 据、再然后跟随用于第三通道元素的有效载荷数据。

在配置区段和有效载荷区段中的并行结构是有利的,原因在于如下事 实:关于哪个配置数据属于哪个通道元素,该并行结构允许的容易组织以 非常低的开销进行传达。在现有技术中,不需要任何次序,原因在于并不 存在针对通道元素的各个配置数据。然而,根据本发明,引入针对各个通 道元素的各个配置数据,以确保可以最佳地选择针对每个通道元素的最佳 配置数据。

通常,USAC帧包括用于20毫秒至40毫秒时间的数据。当考虑更长 数据流时,如图5d所示,那么存在配置区段60a,其后面跟随有有效载 荷区段或帧62a、62b、62c、…62e,然后在比特流中再包括配置区段62d。

配置数据在配置区段中的次序(如关于图5b和图5c所讨论的)与帧 62a至62e中的每个帧中的通道元素有效载荷数据的次序相同。因此,针 对各个通道元素的有效载荷数据的次序在每个帧62a至62e中也完全相 同。

通常,当经编码的信号为例如存储在硬盘上的单个文件时,那么在整 个音轨的开始阶段(如大约10分钟或20分钟的音轨),单个配置区段50 是足够的。然后,单个配置区段后面跟随高数目的各个帧,并且配置对于 每个帧是有效的,通道元素数据(配置或有效载荷)的次序在每个帧以及 配置区段中也是相同的。

然而,当经编码的音频信号为数据流时,必需在各个帧之间引入配置 区段以提供存取点,使得解码器甚至可以在如下情况下开始解码:较早的 配置区段已经被传输,但由于解码器尚未开启以接收实际数据流而使所传 输的配置区段未被该解码器接收到。然而,能够任意选择在不同配置区段 之间的帧的数目n,但是当想实现每秒一个存取点时,那么两个配置区段 之间的帧的数目将介于25和50之间。

随后,图7示出用于对5.1多通道信号进行编码和解码的直接示例。

优选地,使用四个通道元素,其中第一通道元素为包括中心通道的单 个通道元素,第二通道元素为包括左通道和右通道的通道对元素CPE1, 以及第三通道元素为包括左环绕通道和右环绕通道的第二通道对元素 CPE2。最后,第四通道元素为LFE通道元素。在实施方式中,例如,用 于单个通道元素的配置数据可以使得噪声填充工具打开,而例如针对包括 环绕通道的第二通道对元素,噪声填充工具是关闭的并且施加低质量的参 数立体声编码程序,但低比特率立体声编码程序导致低比特率然而质量损 耗不成问题,原因在于通道对元素具有环绕通道的事实。

另一方面,左通道和右通道包括大量的信息,因此,由MPS212配 置对高质量的立体声编码程序进行传达。M/S立体声编码的有利之处在于 其提供高质量,但问题在于比特率非常高。因此,M/S立体声编码对于 CPE1是优选的,但对于CPE2却并非优选。此外,取决于实现,噪声填 充特征可以打开或关闭并且优选地被打开,原因在于以下事实:高度强调 左通道和右通道的良好且高质量的表示,而且对于中心通道,噪声填充也 打开。

然而,当通道元素C的核心带宽例如非常低并且中心通道中被量化 为零的连续线的数目也为低时,那么关闭用于中心通道的单个通道元素的 噪声填充也可以是有利的,原因在于以下事实:噪声填充并不提供另外的 质量增益,并且鉴于质量没有或仅较小地提升,那么可以保存用于对噪声 填充工具的边信息进行传输所需的位。

通常,在针对通道元素的配置区段中所传达的工具为在例如图6d、 图6e、图6f、图6g、图6h、图6i、图6j中提及的工具,并且另外包括 用于图6k、图6l以及图6m中的扩展元素配置的元素。如图6e所示,针 对每个通道元素的MPS2121配置可以不同。

MPEG环绕使用针对空间感知的人类听觉提示的紧密参数表示,以 允许多通道信号的比特率有效表示。除了CLD和ICC参数之外,可以传 输IPD参数。针对相位信息的有效表示,用给定的CLD和IPD参数来估 计OPD参数。IPD和OPD参数用于合成相位差以进一步改进立体声像。

除了参数模式之外,可以采用残差编码,其中残差具有有限带宽或完 整带宽。在此程序中,通过利用CLD、ICC和IPD参数将单声输入信号 和残差信号混合,来生成两个输出信号。另外,在图6j中提及的所有参 数可以分别选择为用于每个通道元素。各个参数为例如在2010年9月24 日的ISO/IEC CD23003-3(其已经通过引用并入本文)中详细说明的。

另外,如图6f和图6g所示,核心特征(如时间弯曲特征和噪声填充 特征)可以分别针对每个通道元素打开或关闭。在以上参考文献中的术语 “时间弯曲式滤波器组和块切换”下描述的时间弯曲工具替代了标准滤波 器组和块切换。除IMDCT之外,该工具包含从任意间隔网格到正常线性 间隔的时间网格的时域至时域映射,以及窗口形状的相应适应。

另外,如图7所示,噪声填充工具可以分别针对每个通道元素打开或 关闭。在低比特率编码中,噪声填充可以用于两个目的。在低比特率音频 编码中的频谱值的过程量化可能在逆量化之后导致非常稀疏的频谱,原因 在于许多频谱线可能已经被量化为零。稀疏的频谱将导致经解码的信号声 音尖锐或不稳定(尖叫声)。通过在解码器中用“小”值来替换零线,可 以掩蔽或减少这些非常明显的伪像而不会增加明显的新噪声伪像。

如果在原始频谱中存在噪声状信号部分,则基于仅少量参数信息如噪 声信号部分的能量,可以在解码器中重现这些噪声信号部分的感知等效表 示。与传输经编码的波形所需要的位数相比较,可以使用较少的位来传输 参数信息。具体地,需要传输的数据元素为噪声偏移元素和噪声级,该噪 声偏移元素为对量化至零的频带的标度因子进行修改的另外偏移值,而该 噪声级为表示针对被量化为零的每条频谱线要添加的量化噪声的整数。

如图7以及图6f和图6g所示,该特征可以分别针对每个通道元素打 开或关闭。

另外,存在现在可以分别针对每个通道元素进行传达的SBR特征。

如图6h所示,这些SBR元素包括SBR中的不同工具的打开/关闭。 要分别针对每个通道元素打开或关闭的第一工具为谐波SBR。当打开谐 波SBR时,执行谐波SBR音调,而在关闭谐波SBR时,使用从MPEG-4 (高效率)已知的具有连续线的音调。

此外,可以施加PVC或“预测向量编码”解码处理。为了改进eSBR 工具的主观质量,特别是对于低比特率下的语音内容,向eSBR工具增加 预测向量编码(PVC)。通常,对于语音信号,在低频带和高频带的频谱 包络之间存在相当高的相关性。在PVC方案中,利用根据低频带的频谱 包络来预测高频带的频谱包络,其中用于预测的系数矩阵借助于向量量化 进行编码。HF包络调整器被修改为处理由PVC解码器生成的包络。

因此,对于在中心通道中存在例如语音的单个通道元素,PVC工具 可以特别有用;然而例如对于CPE2的环绕通道或CPE1的左通道和右通 道,PVC工具没有用。

此外,跨时间包络整形特征(inter-TES)可以分别针对每个通道元 素打开或关闭。继包络调整器之后,子带样本间的时间包络整形 (inter-TES)处理QMF子带样本。该模块以比包络调整器的时间粒度更 精细的时间粒度对更高频的带宽的时间包络进行整形。通过向SBR包络 中的每个QMF子带样本施加增益因子,inter-Tes对QMF子带样本中的 时间包络进行整形。inter-Tes包括三个模块,即较低频子带样本间的时间 包络计算器、子带样本间的时间包络调整器以及子带样本间的时间包络整 形器。由于该工具需要另外的位的事实,因此将存在鉴于质量增益而不调 整该另外的位消耗的通道元素,以及鉴于质量增益而调整该另外的位消耗 的通道元素。因此,根据本发明,使用该工具逐个通道元素的激活/解除 激活。

此外,图6i示出SBR默认头的语法,并且可以针对每个通道元素不 同地选择图6i中提及的SBR默认头的所有SBR参数。例如,这与实际 上设定交叉频率的起始频率或停止频率有关,其中该交叉频率即信号重建 从模式改变远离成为参数模式的频率。其他特征(如频率分辨率和噪声频 带分辨率等)也可用于针对各通道元素选择性地设定。

因此,如图7所示,优选地分别针对立体声特征、针对核心编码器特 征以及针对SBR特征来设定配置数据。元素的各个设定不仅指图6i所示 SBR默认头中的SBR参数,而且还适用于图6h所示的SbrConfig中的所 有参数。

随后,参照图8用于说明图1的解码器的实现方式。

具体地,数据流读取器12和配置控制器14的功能类似于在图1的上 下文中描述的功能。然而,可配置解码器16现在例如针对各个解码器实 例来实现,其中每个解码器实例具有用于由配置控制器14提供的配置数 据C的输入端,以及用于从数据流读取器12接收相应通道元素的、用于 数据D的输入端。

具体地,图8的功能使得针对每个单独的通道元素,提供单独的解码 器实例。因此,第一解码器实例由第一配置数据配置作为例如用于中心通 道的单个通道元素。

此外,第二解码器实例根据用于通道对元素的左通道和右通道的第二 解码器配置数据进行配置。此外,第三解码器实例16c针对包括左环绕通 道和右环绕通道的又一通道对元素进行配置。最后,第四解码器实例针对 LFE通道进行配置。因此,第一解码器实例提供单通道C作为输出。然 而,第二解码器实例16b和第三解码器实例16c各自提供两个输出通道, 即一方面为左通道和右通道,另一方面为左环绕通道和右环绕通道。最后, 第四解码器实例16d提供LFE通道作为输出。多通道信号的所有这些六 个通道通过解码器实例被转发至输出接口19,然后最终被发送为用于例 如存储,或用于例如在5.1扬声器设置中回放。清楚的是,当扬声器设置 为不同的扬声器设置时,需要不同的解码器实例和不同数目的解码器实 例。

图9示出根据本发明的实施方式的用于对经编码的音频信号执行解 码的方法的优选实现方式。

在步骤90中,数据流读取器12开始读取图5a的配置区段50。然后, 如在步骤92中表示的,基于相应配置数据块50c中的通道元素标识符来 识别通道元素。在步骤94中,读取用于该所识别的通道元素的配置数据, 并且将其用于实际上配置解码器,或用于存储以在后来处理通道元素时对 解码器进行配置。这在步骤94中示出。

在步骤96中,使用图5b的部分50d中的第二配置数据的元素类型 标识符来识别下一通道元素。这在图9的步骤96中示出。然后,在步骤 98中,读取配置数据并且将其用于实际配置解码器或解码器实例,或读 取配置数据以在要对用于该通道元素的有效载荷进行解码时可替代地存 储配置数据。

然后,在步骤100中,循环通过整个配置数据,即继续通道元素的识 别和用于通道元素的配置数据的读取,直到读取了所有配置数据为止。

然后,在步骤102、104、106中,用于每个通道元素的有效载荷数据 被读取,并且最后在步骤108中利用配置数据C进行解码,其中有效载 荷数据由D表示。步骤108的结果为由例如块16a至16d输出的数据, 然后该数据可以被直接送出至扬声器,或者该数据被同步化、放大、进一 步处理或数字/模拟转换以最终被发送至相应扬声器。

虽然已经在设备的上下文中描述了一些方面,但是清楚的是这些方面 还表示相应方法的描述,其中块或装置与方法步骤或方法步骤的特征相对 应。类似地,在方法步骤的上下文中描述的方面也表示相应块的描述或相 应装置的项目或特征的描述。

取决于某些实现要求,可以以硬件或软件实现本发明的实施方式。可 以使用如下数字储存介质来执行该实现方式:例如,软盘、数字化通用磁 盘(DVD)、光盘(CD)、只读存储器(ROM)、可编程只读存储器(PROM)、 可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM) 或闪存,在该数字储存介质上存储有电可读控制信号,该电可读控制信号 与可编程计算机系统协作(或能够与可编程计算机系统协作)使得执行各 种方法。

根据本发明的一些实施方式包括具有电可读控制信号的非暂态数据 载体,该电可读控制信号与可编程计算机系统协作,使得执行本文所述的 方法之一。

所编码的音频信号可以经由有线或无线传输介质进行传输,或者可以 存储在机器可读载体或非暂态存储介质上。

通常,本发明的实施方式可以被实现为具有程序代码的计算机程序产 品,当在计算机上运行计算机程序产品时,该程序代码可操作为执行所述 的方法之一。程序代码可以例如存储在机器可读载体上。

其它实施方式包括存储在机器可读载体上的用于执行本文所述的方 法之一的计算机程序。

换言之,本发明方法的实施方式因此为如下计算机程序:当在计算机 上运行该计算机程序时,该计算机程序具有的程序代码用于执行本文所述 的方法之一。

因此,本发明方法的又一实施方式为如下数据载体(或数字储存介质 或计算机可读介质):其包括记录于其上的用于执行本文所述的方法之一 的计算机程序。

因此,本发明方法的又一实施方式为表示用于执行本文所述的方法之 一的计算机程序的数据流或信号序列。该数据流或信号序列可以例如被配 置成经由数据通信连接如经由因特网进行传输。

又一实施方式包括可以被配置成或适于执行本文所述的方法之一的 处理装置,如计算机或可变成逻辑器件。

又一实施方式包括其上安装有用于执行本文所述的方法之一的计算 机程序的计算机。

在一些实施方式中,可编程逻辑器件(例如现场可编程门阵列)可以 用于执行本文所描述的方法的部分或全部功能。在一些实施方式中,现场 可编程门阵列可以与微处理器协作以执行本文所述的方法之一。通常,该 方法优选地由任何硬件装置执行。

上述实施方式仅说明本发明的原理。要理解,本文所描述的布置和细 节的修改及变型对本领域技术人员将是明显的。因此,其意在仅受限于审 查中的专利权利要求的范围,而非受限于通过本文中的实施方式的描述和 说明所提出的具体细节。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号