用于具有全局ILD和改进的中/侧决策的MDCTM/S立体声的装置和方法与流程

文档序号:16370021发布日期:2018-12-22 08:39阅读:466来源:国知局
用于具有全局ILD和改进的中/侧决策的MDCT M/S立体声的装置和方法与流程

本发明涉及音频信号编码和音频信号解码,并且更具体地涉及用于具有全局ild和改进的中/侧决策的mdctm/s立体声的装置和方法。

背景技术

基于mdct(mdct=修正的离散余弦变换)的编码器中的逐频带(band-wise)m/s(m/s=中/侧)处理是用于立体声处理的已知且有效的方法。然而,对于平移(panned)信号这种方法不足够,还需要附加处理(例如,复数预测、或中央声道和侧声道之间的角度编码)。

在[1]、[2]、[3]和[4]中,描述了对加窗和变换的非归一化(非白化)信号的m/s处理。

在[7]中,描述了中央声道和侧声道之间的预测。在[7]中,公开了一种编码器,其基于两个音频声道的组合对音频信号进行编码。该音频编码器获得作为中央信号的组合信号,并且还获得预测残差信号,该预测残差信号是从中央信号导出的预测侧信号。第一组合信号和预测残差信号被编码并与预测信息一起写入数据流。此外,[7]公开了一种解码器,其使用预测残差信号、第一组合信号和预测信息来产生解码的第一音频声道和第二音频声道。

在[5]中,描述了在分别对每个频带进行归一化后的m/s立体声耦合的应用。特别地,[5]指代opus编解码器。opus将中央信号和侧信号编码为归一化信号m=m/||m||和s=s/||s||。为了从m和s恢复m和s,对角度θs=arctan(||s||/||m||)进行编码。当n是频带的大小并且a是m和s可用的总比特数时,m的最优分配是amid=(a-(n-1)log2tanθs)/2。

在已知的方法中(例如在[2]和[4]中),复杂的速率/失真回路与其中将(例如,使用m/s,也可以跟随来自[7]的m到s预测残差计算)变换频带声道的决策相组合,以减少声道之间的相关性。这种复杂的结构具有高计算成本。将感知模型与速率回路分离(如[6a]、[6b]和[13]中那样)显著简化了系统。

此外,对每个频带中的预测系数或角度进行编码需要大量的比特(例如,如在[5]和[7]中的那样)。

在[1]、[3]和[5]中,仅对整个频谱执行单一决策,以决定整个频谱是应该被m/s编码还是被l/r编码。

如果存在ild(耳间水平差),即如果声道被平移,则m/s编码效率不高。

如上所述,已知基于mdct的编码器中的逐频带m/s处理是用于立体声处理的有效方法。m/s处理编码增益从针对不相关声道的0%变化到针对单声道或针对声道之间的π/2相位差的50%。由于立体声解屏蔽和逆解屏蔽(参见[1]),因此有鲁棒的m/s决策是很重要的。

在[2]中,在每个频带中,左右之间的掩蔽阈值变化小于2db,选择m/s编码作为编码方法。

在[1]中,m/s决策基于针对m/s编码的和针对声道的l/r(l/r=左/右)编码的估计比特消耗。使用感知熵(pe)根据频谱和根据掩蔽阈值来估计针对m/s编码和针对l/r编码的比特率需求。针对左和右声道计算掩蔽阈值。假设针对中央声道的掩蔽阈值和针对侧声道的掩蔽阈值是左阈值和右阈值的最小值。

此外,[1]描述了如何导出要被编码的各个声道的编码阈值。具体地,左声道和右声道的编码阈值是通过针对这些声道的相应感知模型来计算的。在[1]中,m声道和s声道的编码阈值被相等地选择,并且被导出为左编码阈值和右编码阈值的最小值。

此外,[1]描述了在l/r编码和m/s编码之间做决定,从而实现了良好的编码性能。具体地,使用阈值来估计针对l/r编码和针对m/s编码的感知熵。

在[1]和[2]以及[3]和[4]中,对加窗和变换的非归一化(非白化)信号进行m/s处理,m/s决策基于掩蔽阈值和感知熵估计。

在[5]中,左声道和右声道的能量被明确地编码,并且编码的角度保留差信号的能量。在[5]中,假设即使l/r编码更有效,m/s编码也是安全的。根据[5],仅当声道之间的相关性不够强时才选择l/r编码。

此外,对每个频带中的预测系数或角度进行编码需要大量的比特(例如,参见[5]和[7])。

因此,如果将提供针对音频编码和音频解码的改进构思,将会高度赞赏。



技术实现要素:

本发明的目的是提供用于音频信号编码、音频信号处理和音频信号解码的改进构思。通过根据权利要求1所述的音频解码器、通过根据权利要求23所述的装置、通过根据权利要求37所述的方法、通过根据权利要求38所述的方法以及通过根据权利要求39所述的计算机程序来实现本发明的目的。

根据实施例,提供了用于对包括两个或更多个声道的音频输入信号的第一声道和第二声道进行编码以获得编码音频信号的装置。

该用于编码的装置包括归一化器,归一化器被配置为根据音频输入信号的第一声道并且根据音频输入信号的第二声道来确定音频输入信号的归一化值,其中归一化器被配置为通过根据归一化值修正音频输入信号的第一声道和第二声道中的至少一个声道,来确定归一化音频信号的第一声道和第二声道。

此外,该用于编码的装置包括编码单元,编码单元被配置为产生具有第一声道和第二声道的处理后的音频信号,使得处理后的音频信号的第一声道的一个或多个频谱带是归一化音频信号的第一声道的一个或多个频谱带,使得处理后的音频信号的第二声道的一个或多个频谱带是归一化音频信号的第二声道的一个或多个频谱带,使得处理后的音频信号的第一声道的至少一个频谱带是根据归一化音频信号的第一声道的频谱带并且根据归一化音频信号的第二声道的频谱带的中央信号的频谱带,以及使得处理后的音频信号的第二声道的至少一个频谱带是根据归一化音频信号的第一声道的频谱带并且根据归一化音频信号的第二声道的频谱带的侧信号的频谱带。编码单元被配置为对处理后的音频信号进行编码以获得编码音频信号。

此外,提供了一种用于对包括第一声道和第二声道的编码音频信号进行解码以获得包括两个或更多个声道的解码音频信号的第一声道和第二声道的装置。

该用于解码的装置包括解码单元,解码单元被配置为针对多个频谱带中的每个频谱带,来确定编码音频信号的第一声道的所述频谱带和编码音频信号的第二声道的所述频谱带是使用双-单声道编码来编码的还是使用中-侧编码来编码的。

如果使用了双-单声道编码,则解码单元被配置为使用编码音频信号的第一声道的所述频谱带作为中间音频信号的第一声道的频谱带,并且被配置为使用编码音频信号的第二声道的所述频谱带作为中间音频信号的第二声道的频谱带。

此外,如果使用了中-侧编码,则解码单元被配置为基于编码音频信号的第一声道的所述频谱带并且基于编码音频信号的第二声道的所述频谱带来产生中间音频信号的第一声道的频谱带,以及基于编码音频信号的第一声道的所述频谱带并且基于编码音频信号的第二声道的所述频谱带,来产生中间音频信号的第二声道的频谱带。

此外,该用于解码的装置包括去归一化器,去归一化器被配置为根据去归一化值来修正中间音频信号的第一声道和第二声道中的至少一个声道,以获得解码音频信号的第一声道和第二声道。

此外,提供了用于对包括两个或更多个声道的音频输入信号的第一声道和第二声道进行编码以获得编码音频信号的方法。所述方法包括:

-根据音频输入信号的第一声道并且根据音频输入信号的第二声道来确定音频输入信号的归一化值。

-通过根据归一化值修正音频输入信号的第一声道和第二声道中的至少一个声道来确定归一化音频信号的第一声道和第二声道。

-产生具有第一声道和第二声道的处理后的音频信号,使得处理后的音频信号的第一声道的一个或多个频谱带是归一化音频信号的第一声道的一个或多个频谱带,使得处理后的音频信号的第二声道的一个或多个频谱带是归一化音频信号的第二声道的一个或多个频谱带,使得处理后的音频信号的第一声道的至少一个频谱带是根据归一化音频信号的第一声道的频谱带并且根据归一化音频信号的第二声道的频谱带的中央信号的频谱带,以及使得处理后的音频信号的第二声道的至少一个频谱带是根据归一化音频信号的第一声道的频谱带并且根据归一化音频信号的第二声道的频谱带的侧信号的频谱带,以及编码处理后的音频信号以获得编码音频信号。

此外,提供了一种用于对包括第一声道和第二声道的编码音频信号进行解码以获得包括两个或更多个声道的解码音频信号的第一声道和第二声道的方法。所述方法包括:

-针对多个频谱带中的每个频谱带,确定编码音频信号的第一声道的所述频谱带和编码音频信号的第二声道的所述频谱带是使用双-单声道编码来编码的还是使用中-侧编码来编码的。

-如果使用了双-单声道编码,则使用编码音频信号的第一声道的所述频谱带作为中间音频信号的第一声道的频谱带,并且使用编码音频信号的第二声道的所述频谱带作为中间音频信号的第二声道的频谱带。

-如果使用了中-侧编码,则基于编码音频信号的第一声道的所述频谱带并且基于编码音频信号的第二声道的所述频谱带,来产生中间音频信号的第一声道的频谱带,以及基于编码音频信号的第一声道的所述频谱带并且基于编码音频信号的第二声道的所述频谱带,来产生中间音频信号的第二声道的频谱带。以及:

-根据去归一化值,修正中间音频信号的第一声道和第二声道中的至少一个声道,以获得解码音频信号的第一声道和第二声道。

此外,提供了计算机程序,其中每个计算机程序被配置为当在计算机或信号处理器上执行时实现上述方法之一。

根据实施例,提供了能够使用最小侧信息处理平移信号的新构思。

根据一些实施例,如在[6a]和[6b]中结合如图[8]中所述的频谱包络翘曲描述的那样来使用具有速率回路的fdns(fdns=频域噪声整形)。在一些实施例中,对fdns白化频谱使用单个ild参数,然后使用逐频带决策,无论使用m/s编码还是l/r编码来编码。在一些实施例中,m/s决策基于估计的比特节省。在一些实施例中,逐频带m/s处理声道之间的比特率分配可以例如取决于能量。

一些实施例提供了对白化频谱应用单个全局ild、之后是具有有效m/s决策机制以及具有控制单个全局增益的速率回路的逐频带m/s处理的组合。

一些实施例尤其结合频谱包络翘曲(例如,基于[8])来采用具有速率回路的fdns(例如,基于[6a]或[6b])。这些实施例提供了用于分离量化噪声的感知整形和速率回路的有效率且非常有作用的方式。对fdns白化频谱使用单个ild参数允许简单且有效的方式来决定是否存在如上所述的m/s处理的优点。使频谱白化并去除ild允许有效的m/s处理。对于所描述的系统来说编码单个全局ild就足够了,因此与已知方法相比实现了比特节省。

根据实施例,m/s处理基于感知白化信号完成。实施例确定编码阈值并以最优方式确定在处理感知白化和ild补偿信号时是否采用l/r编码或m/s编码的决策。

此外,根据实施例,提供了新的比特率估计。

与[1]至[5]相反,在实施例中,感知模型与速率回路分离(如[6a]、[6b]和[13])。

尽管如[1]中提出的那样m/s决策基于估计比特率,但与[1]相反,m/s和l/r编码的比特率需求的差异不依赖于通过感知模型确定的掩蔽阈值。相反,比特率需求是通过所使用的无损熵编码器来确定的。换言之:替代根据原始信号的感知熵导出比特率需求,比特率需求是根据感知白化信号的熵导出的。

与[1]至[5]相反,在实施例中,m/s决策是基于感知白化信号来确定的,并且获得所需比特率的更好估计。为此,可以应用如[6a]或[6b]中所述的算术编码器比特消耗估计。不必明确考虑掩蔽阈值。

在[1]中,假设中央声道和侧声道的掩蔽阈值是左掩蔽阈值和右掩蔽阈值中的最小值。频谱噪声整形在中央声道和侧声道上完成,并且可以例如基于这些掩蔽阈值。

根据实施例,频谱噪声整形可以例如在左和右声道上进行,并且在这样的实施例中,感知包络可以在估计的地方精确地应用。

此外,实施例基于以下发现:如果ild存在(即,如果声道被平移),则m/s编码不是有效的。为了避免这种情况,实施例对感知白化频谱使用单个ild参数。

根据一些实施例,提供了处理感知白化信号的m/s决策的新构思。

根据一些实施例,编解码器使用不是经典音频编解码器(例如,如[1]中所述)的一部分的新构思。

根据一些实施例,感知白化信号用于进一步编码,例如,类似于感知白化信号在语音编码器中使用的方式。

这种方法具有若干优点,例如,简化了编解码器架构、实现了噪声整形特性和掩蔽阈值的复数表示(例如,作为lpc系数)。此外,变换和语音编解码器架构是统一的,因此能够实现组合的音频/语音编码。

一些实施例采用全局ild参数来有效地编码平移源。

在实施例中,编解码器采用频域噪声整形(fdns)以利用速率回路感知白化信号(例如,如在[6a]或[6b]中结合如[8]中所述的频谱包络翘曲描述的那样)。在这样的实施例中,编解码器可以例如对fdns白化频谱进一步使用单个ild参数,之后是逐频带m/s与l/r决策。逐频带m/s决策可以例如基于在以l/r和m/s模式编码时每个频带中的估计比特率。选择具有最少所需比特的模式。逐频带m/s处理声道之间的比特率分配基于能量。

一些实施例使用熵编码器的每频带估计比特数对感知白化和ild补偿频谱应用逐频带m/s决策。

在一些实施例中,采用具有速率回路的fdns(例如,如[6a]或[6b]中结合如[8]中描述的频谱包络翘曲描述的)。这提供了分离量化噪声的感知整形和速率回路的有效率的、非常起作用的方式。对fdns白化频谱使用单个ild参数允许简单且有效的方式来决定是否存在所述的m/s处理的优点。使频谱白化并去除ild允许有效的m/s处理。对于所描述的系统来说编码单个全局ild就足够了,因此与已知方法相比实现了比特节省。

实施例修改了[1]中提供的在处理感知白化和ild补偿信号时的构思。特别地,实施例对l、r、m和s采用相等的全局增益,该全局增益与fdns一起形成编码阈值。全局增益可以根据snr估计或根据一些其它构思导出。

所提出的逐频带m/s决策精确地估计用算术编码器对每个频带进行编码所需的比特数。这是可能的,因为m/s决策是对白化频谱进行的,之后直接进行量化。不需要实验性搜索阈值。

附图说明

以下,参考附图更详细地描述本发明的实施例,其中:

图1a示出了根据实施例的用于编码的装置,

图1b示出了根据另一实施例的用于编码的装置,其中该装置还包括变换单元和预处理单元,

图1c示出了根据另一实施例的用于编码的装置,其中该装置还包括变换单元,

图1d示出了根据另一实施例的用于编码的装置,其中该装置包括预处理单元和变换单元,

图1e示出了根据另一实施例的用于编码的装置,其中该装置还包括频谱域预处理器,

图1f示出了根据实施例的用于对包括四个或更多个声道的音频输入信号中的四个声道进行编码以获得编码音频信号的四个声道的系统,

图2a示出了根据实施例的用于解码的装置,

图2b示出了根据实施例的用于解码的装置,其还包括变换单元和后处理单元,

图2c示出了根据实施例的用于解码的装置,其中用于解码的装置还包括变换单元,

图2d示出了根据实施例的用于解码的装置,其中用于解码的装置还包括后处理单元,

图2e示出了根据实施例的用于解码的装置,其中该装置还包括频谱域后处理器,

图2f示出了根据实施例的用于对包括四个或更多个声道的编码音频信号进行解码以获得包括四个或更多个声道的解码音频信号的四个声道的系统,

图3示出了根据实施例的系统,

图4示出了根据另一实施例的用于编码的装置,

图5示出了根据实施例的用于编码的装置中的立体声处理模块,

图6示出了根据另一实施例的用于解码的装置,

图7示出了根据实施例的针对逐频带m/s决策的比特率的计算,

图8示出了根据实施例的立体声模式决策,

图9示出了根据实施例的编码器侧的采用立体声填充的立体声处理,

图10示出了根据实施例的解码器侧的采用立体声填充的立体声处理,

图11示出了根据一些特定实施例的解码器侧的侧信号的立体声填充,

图12示出了根据实施例的编码器侧的不采用立体声填充的立体声处理,以及

图13示出了根据实施例的解码器侧的不采用立体声填充的立体声处理。

具体实施方式

图1a示出了根据实施例的用于对包括两个或更多个声道的音频输入信号的第一声道和第二声道进行编码以获得编码音频信号的装置。

该装置包括归一化器110,归一化器110被配置为根据音频输入信号的第一声道并且根据音频输入信号的第二声道来确定音频输入信号的归一化值。归一化器110被配置为通过根据归一化值修正音频输入信号的第一声道和第二声道中的至少一个声道来确定归一化音频信号的第一声道和第二声道。

例如,在实施例中,归一化器110可以被配置为根据音频输入信号的第一声道和第二声道的多个频谱带确定音频输入信号的归一化值,归一化器110例如可以被配置为通过根据归一化值修正音频输入信号的第一声道和第二声道中的至少一个声道的多个频谱带来确定归一化音频信号的第一声道和第二声道。

或者,例如,归一化器110可以例如被配置为根据在时域中表示的音频输入信号的第一声道并且根据在时域中表示的音频输入信号的第二声道来确定音频输入信号的归一化值。此外,归一化器110被配置为通过根据归一化值修正在时域中表示的音频输入信号的第一声道和第二声道中的至少一个声道来确定归一化音频信号的第一声道和第二声道。该装置还包括变换单元(图1a中未示出),变换单元被配置为将归一化音频信号从时域变换到频谱域,使得归一化音频信号在频谱域中表示。变换单元被配置为将在频谱域中表示的归一化音频信号馈送到编码单元120中。例如,音频输入信号可以是例如时域残差信号,其由lpc(lpc=线性预测编码)滤波时域音频信号的两个声道产生。

此外,该装置包括编码单元120,编码单元120被配置为产生具有第一声道和第二声道的处理后的音频信号,使得处理后的音频信号的第一声道的一个或多个频谱带是归一化音频信号的第一声道的一个或多个频谱带,使得处理后的音频信号的第二声道的一个或多个频谱带是归一化音频信号的第二声道的一个或多个频谱带,使得处理后的音频信号的第一声道的至少一个频谱带是根据归一化音频信号的第一声道的频谱带并且根据归一化音频信号的第二声道的频谱带的中央信号的频谱带,以及使得处理后的音频信号的第二声道的至少一个频谱带是根据归一化音频信号的第一声道的频谱带并且根据归一化音频信号的第二声道的频谱带的侧信号的频谱带。编码单元120被配置为对处理后的音频信号进行编码以获得编码音频信号。

在实施例中,编码单元120可以例如被配置为根据归一化音频信号的第一声道的多个频谱带并且根据归一化音频信号的第二声道的多个频谱带,在全-中-侧编码模式、全-双-单声道编码模式和逐频带编码模式之间选择。

在这样的实施例中,编码单元120可以例如被配置为:如果选择全-中-侧编码模式,则根据归一化音频信号的第一声道并且根据归一化音频信号的第二声道产生中央信号作为中-侧信号的第一声道,根据归一化音频信号的第一声道和根据归一化音频信号的第二声道产生侧信号作为中-侧信号的第二声道,以及编码中-侧信号以获得编码音频信号。

根据这样的实施例,编码单元120可以例如被配置为如果选择全-双-单声道编码模式,则对归一化音频信号进行编码以获得编码音频信号。

此外,在这样的实施例中,编码单元120可以例如被配置为:如果选择逐频带编码模式,则产生处理后的音频信号,使得处理后的音频信号的第一声道的一个或多个频谱带是归一化音频信号的第一声道的一个或多个频谱带,使得处理后的音频信号的第二声道的一个或多个频谱带是归一化音频信号的第二声道的一个或多个频谱带,使得处理后的音频信号的第一声道的至少一个频谱带是根据归一化音频信号的第一声道的频谱带并且根据归一化音频信号的第二声道的频谱带的中央信号的频谱带,以及使得处理后的音频信号的第二声道的至少一个频谱带是根据归一化音频信号的第一声道的频谱带并且根据归一化音频信号的第二声道的频谱带的侧信号的频谱带,其中编码单元120可以例如被配置为对处理后的音频信号进行编码以获得编码音频信号。

根据实施例,音频输入信号可以是例如恰好包括两个声道的音频立体声信号。例如,音频输入信号的第一声道可以例如是音频立体声信号的左声道,并且音频输入信号的第二声道可以例如是音频立体声信号的右声道。

在实施例中,编码单元120可以例如被配置为:如果选择逐频带编码模式,则针对处理后的音频信号的多个频谱带中的每个频谱带,决定是采用中-侧编码还是采用双-单声道编码。

如果针对所述频谱带采用中-侧编码,则编码单元120可以例如被配置为基于归一化音频信号的第一声道的所述频谱带并且基于归一化音频信号的第二声道的所述频谱带,来产生处理后的音频信号的第一声道的所述频谱带作为中央信号的频谱带。编码单元120可以例如被配置为基于归一化音频信号的第一声道的所述频谱带并且基于归一化音频信号的第二声道的所述频谱带,来产生处理后的音频信号的第二声道的所述频谱带作为侧信号的频谱带。

如果针对所述频谱带采用双-单声道编码,则编码单元120可以例如被配置为使用归一化音频信号的第一声道的所述频谱带作为处理后的音频信号的第一声道的所述频谱带,并且可以例如被配置为使用归一化音频信号的第二声道的所述频谱带作为处理后的音频信号的第二声道的所述频谱带。或者,编码单元120被配置为使用归一化音频信号的第二声道的所述频谱带作为处理后的音频信号的第一声道的所述频谱带,并且可以例如被配置为使用归一化音频信号的第一声道的所述频谱带作为处理后的音频信号的第二声道的所述频谱带。

根据实施例,编码单元120可以例如被配置为:通过确定估计在采用全-中-侧编码模式时编码所需的第一比特数的第一估计,通过确定估计在采用全-双-单声道编码模式时编码所需的第二比特数的第二估计,通过确定估计在可以例如采用逐频带编码模式时编码所需的第三比特数的第三估计,以及通过在全-中-侧编码模式、全-双-单声道编码模式和逐频带编码模式之中选择具有第一估计、第二估计和第三估计之中的最小比特数的编码模式,来在全-中-侧编码模式、全-双-单声道编码模式、和逐频带编码模式之间进行选择。

在实施例中,编码单元120可以例如被配置为根据以下公式估计第三估计bbw,从而估计在采用逐频带编码模式时编码所需的第三比特数:

其中,nbands是归一化音频信号的频谱带数,其中是对中央信号的第i个频谱带进行编码和对侧信号的第i个频谱带进行编码所需的比特数的估计,并且其中是对第一信号的第i个频谱带进行编辑和对第二信号的第i个频谱带进行编辑所需的比特数的估计。

在实施例中,可以例如采用用于在全-中-侧编码模式、全-双-单声道编码模式以及逐频带编码模式之间进行选择的客观质量测量。

根据实施例,编码单元120可以例如被配置为:通过确定估计在以全-中-侧编码模式进行编码时所保存的第一比特数的第一估计,通过确定估计在以全-双-单声道编码模式进行编码时所保存的第二比特数的第二估计,通过确定估计在以逐频带编码模式进行编码时所保存的第三比特数的第三估计,以及通过在全-中-侧编码模式、全-双-单声道编码模式和逐频带编码模式之中选择具有第一估计、第二估计和第三估计之中的所保存的最大比特数的编码模式,来在全-中-侧编码模式、全-双-单声道编码模式、和逐频带编码模式之间进行选择。

在另一实施例中,编码单元120可以例如被配置为:通过估计在采用全-中-侧编码模式时发生的第一信噪比,通过估计在采用全-双-单声道编码模式时发生的第二信噪比,通过估计在采用逐频带编码模式时发生的第三信噪比,并且通过在全-中-侧编码模式、全-双-单声道编码模式和逐频带编码模式之中选择具有第一信噪比、第二信噪比和第三信噪比之中的最大信噪比的编码模式,来在全-中-侧编码模式、全-双-单声道编码模式和逐频带编码模式之间进行选择。

在实施例中,归一化器110可以例如被配置为根据音频输入信号的第一声道的能量并且根据音频输入信号的第二声道的能量来确定音频输入信号的归一化值。

根据实施例,音频输入信号可以例如在频谱域中表示。归一化器110可以例如被配置为根据音频输入信号的第一声道的多个频谱带并且根据音频输入信号的第二声道的多个频谱带来确定音频输入信号的归一化值。此外,归一化器110可以例如被配置为通过根据归一化值修正音频输入信号的第一声道和第二声道中的至少一个声道的多个频谱带来确定归一化音频信号。

在实施例中,归一化器110可以例如被配置为基于以下公式确定归一化值:

其中,mdctl,k是音频输入信号的第一声道的mdct频谱的第k个系数,并且mdctr,k是音频输入信号的第二声道的mdct频谱的第k个系数。归一化器110可以例如被配置为通过量化ild来确定归一化值。

根据图1b所示的实施例,用于编码的装置可以例如还包括变换单元102和预处理单元105。变换单元102可以例如被配置为将时域音频信号从时域变换到频域以获得变换后的音频信号。预处理单元105可以例如被配置为通过对变换后的音频信号应用编码器侧频域噪声整形操作来产生音频输入信号的第一声道和第二声道。

在特定实施例中,预处理单元105可以例如被配置为通过在对变换后的音频信号应用编码器侧频域噪声整形操作之前,对变换后的音频信号应用编码器侧时间噪声整形操作,来产生音频输入信号的第一声道和第二声道。

图1c示出了根据另一实施例的用于编码的装置还包括变换单元115。归一化器110可以例如被配置为根据在时域中表示的音频输入信号的第一声道并且根据在时域中表示的音频输入信号的第二声道来确定音频输入信号的归一化值。此外,归一化器110可以例如被配置为通过根据归一化值修正在时域中表示的音频输入信号的第一声道和第二声道中的至少一个声道来确定归一化音频信号的第一声道和第二声道。变换单元115可以例如被配置为将归一化音频信号从时域变换到频谱域,使得归一化音频信号在频谱域中表示。此外,变换单元115可以例如被配置为将在频谱域中表示的归一化音频信号馈送到编码单元120中。

图1d示出了根据另一实施例的用于编码的装置,其中该装置还包括被配置为接收包括第一声道和第二声道的时域音频信号的预处理单元106。预处理单元106可以例如被配置为对时域音频信号中的、产生第一感知白化频谱的第一声道应用滤波器,以获得在时域中表示的音频输入信号的第一声道。预处理单元106可以例如被配置为对时域音频信号中的、产生第二感知白化频谱的第二声道应用滤波器,以获得在时域中表示的音频输入信号的第二声道。

在实施例中,如图1e所示,变换单元115可以例如被配置为将归一化音频信号从时域变换到频谱域,以获得变换后的音频信号。在图1e的实施例中,该装置还包括频谱域预处理器118,频谱域预处理器118被配置为对变换后的音频信号执行编码器侧时间噪声整形,以获得在频谱域中表示的归一化音频信号。

根据实施例,编码单元120可以例如被配置为通过对归一化音频信号或处理后的音频信号应用编码器侧立体声智能间隙填充来获得编码音频信号。

在另一实施例中,如图1f所示,提供了一种用于对包括四个或更多个声道的四声道的音频输入信号进行编码以获得编码音频信号的系统。该系统包括根据上述实施例之一的第一装置170,第一装置170用于对音频输入信号的四个或更多个声道中的第一声道和第二声道进行编码,以获得编码音频信号的第一声道和第二声道。此外,该系统包括根据上述实施例之一的第二装置180,第二装置180用于对具有四个或更多个声道的音频输入信号中的第三声道和第四声道进行编码,以获得编码音频信号的第三声道和第四声道。

图2a示出了根据实施例的用于对包括第一声道和第二声道的编码音频信号进行解码以获得解码音频信号的装置。

用于解码的装置包括解码单元210,解码单元210被配置为针对多个频谱带中的每个频谱带,来确定编码音频信号的第一声道的所述频谱带和编码音频信号的第二声道的所述频谱带是使用双-单声道编码来编码的还是使用中-侧编码来编码的。

如果使用了双-单声道编码,则解码单元210被配置为使用编码音频信号的第一声道的所述频谱带作为中间音频信号的第一声道的频谱带,并且被配置为使用编码音频信号的第二声道的所述频谱带作为中间音频信号的第二声道的频谱带。

此外,如果使用了中-侧编码,则解码单元210被配置为基于编码音频信号的第一声道的所述频谱带并且基于编码音频信号的第二声道的所述频谱带来产生中间音频信号的第一声道的频谱带,以及基于编码音频信号的第一声道的所述频谱带并且基于编码音频信号的第二声道的所述频谱带,来产生中间音频信号的第二声道的频谱带。

此外,用于解码的装置包括去归一化器220,去归一化器220被配置为根据去归一化值来修正中间音频信号的第一声道和第二声道中的至少一个声道,以获得解码音频信号的第一声道和第二声道。

在实施例中,解码单元210可以例如被配置为确定编码音频信号是以全-中-侧编码模式、以全-双-单声道编码模式、还是以逐频带编码模式来编码的。

此外,在这样的实施例中,解码单元210可以例如被配置为:如果确定编码音频信号是以全-中-侧编码模式编码的,则根据编码音频信号的第一声道并且根据编码音频信号的第二声道来产生中间音频信号的第一声道,以及根据编码音频信号的第一声道并且根据编码音频信号的第二声道来产生中间音频信号的第二声道。

根据这样的实施例,解码单元210可以例如被配置为:如果确定编码音频信号是以全-双-单声道编码模式编码的,则使用编码音频信号的第一声道作为中间音频信号的第一声道,以及使用编码音频信号的第二声道作为中间音频信号的第二声道。

此外,在这样的实施例中,解码单元210可以例如被配置为如果确定编码音频信号是以逐频带编码模式编码的,则:

-针对多个频谱带中的每个频谱带,确定编码音频信号的第一声道的所述频谱带和编码音频信号的第二声道的所述频谱带是使用双-单声道编码来编码的还是使用中-侧编码来编码的,

-如果使用了双-单声道编码,则使用编码音频信号的第一声道的所述频谱带作为中间音频信号的第一声道的频谱带,并且使用编码音频信号的第二声道的所述频谱带作为中间音频信号的第二声道的频谱带,以及

-如果使用了中-侧编码,则基于编码音频信号的第一声道的所述频谱带并且基于编码音频信号的第二声道的所述频谱带,来产生中间音频信号的第一声道的频谱带,以及基于编码音频信号的第一声道的所述频谱带并且基于编码音频信号的第二声道的所述频谱带,来产生中间音频信号的第二声道的频谱带。

例如,在全-中-侧编码模式下,例如可以应用以下公式:

l=(m+s)/sqrt(2),以及

r=(m-s)/sqrt(2)

来获得中间音频信号的第一声道l并获得中间音频信号的第二声道r,其中m是编码音频信号的第一声道,s是编码音频信号的第二声道。

根据实施例,解码输入信号可以是例如恰好包括两个声道的音频立体声信号。例如,解码音频信号的第一声道可以例如是音频立体声信号的左声道,并且解码音频信号的第二声道可以例如是音频立体声信号的右声道。

根据实施例,去归一化器220可以例如被配置为根据去归一化值来修正中间音频信号的第一声道和第二声道中的至少一个声道的多个频谱带,获得解码音频信号的第一声道和第二声道。

在图2b中所示的另一实施例中,去归一化器220可以例如被配置为根据去归一化值来修正中间音频信号的第一声道和第二声道中的至少一个声道的多个频谱带,以获得去归一化音频信号。在这样的实施例中,该装置可以例如还包括后处理单元230和变换单元235。后处理单元230可以例如被配置为对去归一化音频信号执行解码器侧时间噪声整形和解码器侧频域噪声整形中的至少一个,以获得后处理音频信号。变换单元(235)可以例如被配置为将后处理音频信号从频谱域变换到时域,以获得解码音频信号的第一声道和第二声道。

根据图2c所示的实施例,该装置还包括被配置为将中间音频信号从频谱域变换到时域的变换单元215。去归一化器220可以例如被配置为根据去归一化值来修正在时域中表示的中间音频信号的第一声道和第二声道中的至少一个声道,以获得解码音频信号的第一声道和第二声道。

在图2d所示的类似实施例中,变换单元215可以例如被配置为将中间音频信号从频谱域变换到时域。去归一化器220可以例如被配置为根据去归一化值来修正在时域中表示的中间音频信号的第一声道和第二声道中的至少一个声道,以获得去归一化音频信号。该装置还包括后处理单元235,后处理单元235可以例如被配置为处理去归一化音频信号(作为感知白化音频信号),以获得解码音频信号的第一声道和第二声道。

根据如图2e所示的另一实施例,该装置还包括被配置为对中间音频信号执行解码器侧时间噪声整形的频谱域后处理器212。在这样的实施例中,变换单元215被配置为在已经对中间音频信号执行了解码器侧时间噪声整形之后,将中间音频信号从频谱域变换到时域。

在另一实施例中,解码单元210可以例如被配置为对编码音频信号应用解码器侧立体声智能间隙填充。

此外,如图2f所示,提供了一种用于对包括四个或更多个声道的编码音频信号进行解码以获得包括四个或更多个声道的解码音频信号的四个声道的系统。该系统包括根据上述实施例之一的第一装置270,第一装置270用于对具有四个或更多个声道的编码音频信号中的第一声道和第二声道进行解码,以获得解码音频信号的第一声道和第二声道。该系统包括根据上述实施例之一的第二装置280,第二装置280用于对具有四个或更多个声道的编码音频信号中的第三声道和第四声道进行解码,以获得解码音频信号的第三声道和第四声道。

图3示出了根据实施例的用于根据音频输入信号来产生编码音频信号以及用于根据编码音频信号来产生解码音频信号的系统。

该系统包括根据上述实施例之一的用于编码的装置310,其中用于编码的装置310被配置为根据音频输入信号来产生编码音频信号。

此外,该系统包括如上所述的用于解码的装置320。用于解码的装置320被配置为根据编码音频信号来产生解码音频信号。

类似地,提供了一种用于根据音频输入信号来产生编码音频信号以及根据编码音频信号来产生解码音频信号的系统。该系统包括根据图1f的实施例的系统以及根据图2f的实施例的系统,其中根据图1f的实施例的系统被配置为根据音频输入信号来产生编码音频信号,其中图2f的实施例的系统被配置为根据编码音频信号来产生解码音频信号。

在下文中,描述了优选实施例。

图4示出了根据另一实施例的用于解码的装置。尤其是,示出了根据特定实施例的预处理单元105和变换单元102。变换单元102尤其被配置为将音频输入信号从时域变换到频谱域,并且变换单元被配置为对音频输入信号执行编码器侧时间噪声整形和编码器侧频域噪声整形。

此外,图5示出了根据实施例的用于编码的装置中的立体声处理模块。图5示出了归一化器110和编码单元120。

此外,图6示出了根据另一实施例的用于解码的装置。尤其是,

图6示出了根据特定实施例的后处理单元230。后处理单元230尤其被配置为从去归一化器220获得处理后的音频信号,并且后处理单元230被配置为对处理后的音频信号执行解码器侧时间噪声整形和解码器侧频域噪声整形中的至少一个。

时域瞬态检测器(tdtd)、加窗、mdct、mdst和ola可以例如如[6a]或[6b]中所述的那样进行。mdct和mdst形成复数调制重叠变换(mclt);单独地执行mdct和mdst相当于执行mclt;“mclt到mdct”表示仅采用mclt的mdct部分并丢弃mdst(参见[12])。

在左声道和右声道中选择不同的窗口长度可以例如在该帧中强制执行双-单声道编码。

时间噪声整形(tns)可以例如与[6a]或[6b]中描述的那样类似地进行。

频域噪声整形(fdns)和对fdns参数的计算可以例如类似于[8]中描述的处理。例如,一个差异可以是根据mclt频谱计算针对tns不活跃的帧的fdns参数。在tns是活跃的帧中,可以例如根据mdct来估计mdst。

fdns也可以用时域中的感知频谱白化替代(例如,如[13]中所述)。

立体声处理由全局ild处理、逐频带m/s处理、声道间的比特率分配组成。

单个全局ild被计算为:

其中,mdctl,k是左声道中的mdct频谱的第k个系数,mdctr,k是右声道中的mdct频谱的第k个系数。全局ild被均匀量化为:

其中,ildbits是用于编码全局ild的比特数。存储在比特流中。

<<是比特移位操作,通过插入0比特将比特向左移位ildbits。

换言之:

则,声道的能量比是:

如果ratioild>1,则右声道以来缩放,否则左声道以ratioild来缩放。这实际上意味着更大声的声道被缩放了。

如果使用时域中的感知频谱白化(例如,如[13]中所述),则在时域到频域的变换之前(即,在mdct之前),也可以在时域中计算和应用单个全局ild。或者,备选地,感知频谱白化之后可以是时域到频域变换,之后是在频域中的单个全局ild。备选地,可以在到时域到频域变换之前在时域中计算单个全局ild,并且在时域到频域变换之后在频域中应用所计算出的单个全局ild。

中央声道mdctm,k和侧声道mdcts,k是通过使用左声道mdctl,k和右声道mdctr,k、依据而形成的。频谱被划分为频带,并且针对每个频带,决定是使用左声道、右声道、中央声道还是侧声道。

对包括级联的左声道和右声道的信号估计全局增益gest。因此不同于[6b]和[6a]。例如,假设来自标量量化的每比特每样本的snr增益为6db,可以使用如[6b]或[6a]的第5.3.3.2.8.1.1节“globalgainestimator”中描述的增益的第一估计。

所估计的增益可以乘以常数以得到低估或高估的最终gest。然后,使用gest来量化左声道、右声道、中央声道和侧声道中的信号,即,量化步长为1/gest。

然后使用算术编码器、霍夫曼编码器或任何其它熵编码器对量化后的信号进行编码,以便获得所需比特数。例如,可以使用在[6b]或[6a]的节5.3.3.2.8.1.3至节5.3.3.2.8.1.7中描述的基于上下文的算术编码器。由于将在立体声编码之后运行速率回路(例如,[6b]中或[6a]中的5.3.3.2.8.1.2),因此所需比特的估计是足够的。

例如,对于每个量化声道,如[6b]的或[6a]的节5.3.3.2.8.1.3至节5.3.3.2.8.1.7中所述的那样来估计基于上下文的算数编码所需的比特数。

根据实施例,基于以下示例代码来确定每个量化声道(左、右、中或侧)的比特估计:

其中,spectrum被设置为指向要被编码的量化频谱,start_line被设置为0,end_line被设置为频谱的长度,lastnz被设置为频谱的最后一个非零元素的索引,ctx被设置为0,并且probability被设置为在14比特定点数表示法下的1(16384=1<<14)。

如所概述的,例如,可以采用上述示例代码来获得针对左声道、右声道、中央声道和侧声道中的至少一个声道的比特估计。

一些实施例采用如[6b]和[6a]中所述的算术编码器。进一步的细节可以在例如[6b]的节5.3.3.2.8“arithmeticcoder”中找到。

然后,针对“全-双-单声道”的估计比特数(blr)等于左和右声道所需的比特之和。

然后,针对“全m/s”的估计比特数(bms)等于中央声道和侧声道所需的比特之和。

在为上述示例代码的备选项的备选实施例中,可以采用例如以下公式来计算针对“全-双-单声道”的估计比特数(blr):

此外,在为上述示例代码的备选项的备选实施例中,可以采用例如以下公式来计算针对“全m/s”的估计比特数(bms):

对于具有边界[lbi,ubi]的每个频带i,检查在l/r模式下将有多少比特用于编码频带中的量化信号和在m/s模式下将有多少比特用于编码频带中的量化信号。换句话说,对于每个频带i针对l/r模式执行逐频带比特估计:由此产生针对频带i的l/r模式频带比特估计,并且对于每个频带i针对m/s模式执行逐频带比特估计,由此产生针对频带i的m/s模式逐频带比特估计:

为频带选择利用较少比特的模式。如[6b]的或[6a]的节5.3.3.2.8.1.3至节5.3.3.2.8.1.7中所述的那样来估计算数编码所需的比特数。在“逐频带m/s”模式下编码频谱所需的总比特数(bbw)等于之和:

无论是使用l/r还是m/s编码,“逐频带m/s”模式都需要用于在每个频带中发信号的附加比特nbands。在“逐频带m/s”、“全-双-单声道”和“全m/s”之间的选择可以例如作为立体声模式被编码到比特流中,然后与“逐频带m/s”相比,“全-双-单声道”和“全m/s”无需用于发信号的附加比特。

对于基于上下文的算术编码器,用于计算blr的不等于用于计算bbw的用于计算bms的也不等于用于计算bbw的因为取决于针对先前的的上下文的选择,其中j<i。blr可以被计算为针对左声道和针对右声道的比特的总和,并且bms可以被计算为针对中央声道和针对侧声道的比特的总和,其中可以使用如下示例代码来计算针对每个声道的比特:context_based_arihmetic_coder_estimate_bandwise,其中start_line设置为0,并且end_line设置为lastnz。

在为上述示例代码的备选项的备选实施例中,可以采用例如以下公式来计算针对“全-双-单声道”的估计比特数(blr),并且在每个频带中发信号时可以使用l/r编码:

此外,在为上述示例代码的备选项的备选实施例中,可以采用例如以下公式来计算针对“全m/s”的估计比特数(bms),并且在每个频带中发信号时可以使用m/s编码:

在一些实施例中,首先,可以例如估计增益g,并且可以例如估计量化步长,预期有足够的比特来编码l/r中的声道。

在下文中,提供了描述如何确定逐频带比特估计的不同方式的实施例,例如,根据特定实施例,描述了如何确定

如已经概述的,根据特定实施例,对于每个量化声道,例如如[6b]的节5.3.3.2.8.1.7“bitconsumptionestimation”或者[6a]的类似节中描述的那样来估计算术编码所需的比特数。

根据实施例,使用用于计算针对每个i的中的每一个的context_based_arihmetic_coder_estimate,通过将start_line设置为lbi、将end_line设置为ubi、将lastnz设置为频谱的最后非零元素的索引来确定逐频带比特估计。

初始化四个上下文(ctxl,ctxr,ctxm,ctxm)和四个概率(pl,pr,pm,pm),然后对其重复更新。

在估计开始时(对于i=0),将每个上下文(ctxl,ctxr,ctxm,ctxm)设置为0,并且将每个概率(pl,pr,pm,pm)设置为14比特定点数表示法下的1(16384=1<<14)。

被计算为之和,其中是使用context_based_arihmetic_coder_estimate、通过将spectrum设置为指向要被编码的量化左频谱、将ctx设置为ctxl、并且将probability设置为pl来确定的,并且是使用context_based_arihmetic_coder_estimate、通过将spectrum设置为指向要被编码的量化右频谱、将ctx设置为ctxr、并且将probability设置为pr来确定的。

被计算为之和,其中是使用context_based_arihmetic_coder_estimate、通过将spectrum设置为指向要被编码的量化中央频谱、将ctx设置为ctxm、并且将probability设置为pm来确定的,并且是使用context_based_arihmetic_coder_estimate、通过将spectrum设置为指向要被编码的量化侧频谱、将ctx设置为ctxs、并且将probability设置为ps来确定的。

如果则将ctxl设置为ctxm,将ctxr设置为ctxs,将pl设置为pm,将pr设置为ps。

如果则将ctxm设置为ctxl,将ctxs设置为ctxr,将pm设置为pl,将ps设置为pr。

在备选实施例中,如下获得逐频带比特估计:

频谱被划分为频带,并且对于每个频带,决定是否应该进行m/s处理。对于使用m/s的所有频带,mdctl,k和mdctr,k被替代为mdctm,k=0.5(mdctl,k+mdctr,k)和mdcts,k=0.5(mdctl,k-mdctr,k)。

逐频带m/s与l/r决策可以例如基于m/s处理情况下保存的估计比特:

其中,nrgr,i是右声道的第i个频带中的能量,nrgl,i是左声道的第i个频带中的能量,nrgm,i是中央声道的第i个频带中的能量,nrgs,i是侧声道的第i个频带中的能量,并且nlinesi是第i个频带中的频谱系数的数量。中央声道是左和右声道之和,侧声道是左和右声道之差。

bitssavedi受限于将用于第i个频带的估计比特数:

图7示出了根据实施例的计算针对逐频带m/s决策的比特率。

特别地,在图7中,描绘了用于计算bbw的处理。为了降低复杂度,保存直至频带i-1的用于编码频谱的算术编码器上下文,并且在频带i中重新使用所保存的算术编码器上下文。

应当注意,对于基于上下文的算术编码器,取决于算术编码器上下文,而该算术编码器上下文取决于在小于i的所有频带j中的m/s与l/r选择(例如如上所述的那样)。

图8示出了根据实施例的立体声模式决策。

如果选择“全-双-单声道”,则完整频谱由mdctl,k和mdctr,k组成。如果选择“全m/s”,则完整频谱由mdctm,k和mdcts,k组成。如果选择“逐频带m/s”,则频谱的一些频带由mdctl,k和mdctr,k组成,并且其它频带由mdctm,k和mdcts,k组成。

立体声模式被编码到比特流中。在“逐频带m/s”模式中,还将逐频带m/s决策编码到比特流中。

在立体声处理后两个声道中的频谱的系数表示为mdctlm,k和mdctrs,k。mdctlm,k根据立体声模式和逐频带m/s决策,等于m/s频带中的mdctm,k或者l/r频带中的mdctl,k,并且mdctrs,k等于m/s频带中的mdcts,k或者l/r频带中的mdctr,k。由mdctlm,k组成的频谱可以例如称为联合编码声道0(联合chn0),或者可以例如称为第一声道,并且由mdctrs,k组成的频谱可以例如称为联合编码声道1(联合chn1)或者可以例如被称为第二声道。

使用立体声处理声道的能量来计算比特率拆分比:

比特率拆分比被均匀量化为:

rsplitrange=1<<rsplitbits

其中,rsplitbits是用于编码比特率拆分比的比特数。如果并且减少如果并且增加存储在比特流中。

声道间的比特率分配为:

bitsrs=(totalbitsavailable-stereobits)-bitslm

此外,通过检查bitslm-sidebitslm>minbits和bitsrs-sidebitsrs>minbits,来确保每个声道中用于熵编码器的比特是足够的,其中熵编码器所需的最小比特数。如果用于熵编码器的比特不足够,则将增加/减少1,直到满足bitslm-sidebitslm>minbits和bitsrs-sidebitsrs>minbits。

量化、噪声填充和熵编码,包括速率回路,如[6b]中或[6a]中5.3.3“mdctbasedtcx”的5.3.3.2“generalencodingprocedure”中所述的那样。可以使用估计的gest来优化速率回路。功率谱p(mclt的幅度)用于量化和智能间隙填充(igf)中的音调/噪声测量,如[6a]或[6b]中所述。由于白化和逐频带m/s处理的mdct频谱用于功率谱,因此将对mdst频谱进行相同的fdns和m/s处理。将如同针对mdct所做的那样,针对mdst进行基于更大声的声道的全局ild的相同缩放。对于tns是活跃的帧,用于功率谱计算的mdst频谱是根据白化和m/s处理的mdct频谱估计的:pk=mdctk2+(mdctk+1--mdctk-1)2

解码处理开始于联合编码声道的频谱的解码和逆量化,之后为如[6b]或[6a]中的6.2.2“mdctbasedtcx”中所述的噪声填充。分配给每个声道的比特数是基于被编码到比特流中的窗口长度、立体声模式和比特率拆分比来确定的。在完全解码比特流之前,必须知道分配给每个声道的比特数。

在智能间隙填充(igf)块中,在某一范围的频谱(称为目标区块(tile))中被量化为零的谱线(line)填充有来自不同频谱范围(称为源区块)的处理内容。由于逐频带立体声处理,立体声表示(即l/r或m/s)对于源区块和目标区块来说可以不同。为了确保良好的质量,如果源区块的表示与目标区块的表示不同,则在解码器中间隙填充之前,对源区块进行处理以将其变换为目标区块的表示。[9]中已经描绘了该过程。与[6a]和[6b]相反,igf本身应用于白化频谱域而不是原始频谱域。与已知的立体声编解码器(例如[9])相反,igf应用于白化的ild补偿频谱域。

基于立体声模式和逐频带m/s决策,根据联合编码声道来构建左和右声道::

如果ratioild>1,则右声道以ratioild缩放,否则左声道以缩放。

对于可能发生除以0的每种情况,向分母添加小的正数。

对于中间比特率(例如,48kbps),基于mdct的编码可以很粗略地对频谱进行量化,以匹配比特消耗目标。这提出了对参数编码的需求,参数编码与相同频谱区域中的离散编码相结合、在帧到帧的基础上进行适配,从而提高了保真度。

在下文中,描述了采用立体声填充的那些实施例中的一些实施例的方面。应注意,对于上述实施例,不必采用立体声填充。因此,仅上述实施例中的一些实施例采用立体声填充。上述实施例的其它实施例根本不采用立体声填充。

mpeg-h频域立体声中的立体声频率填充例如在[11]中被描述。在[11]中,通过以缩放因子形式从编码器发送的频带能量(例如,在aac中)来实现针对每个频带的目标能量。如果应用频域噪声(fdns)整形并且通过使用lsf(线谱频率)对频谱包络进行编码(参见[6a]、[6b]、[8]),则无法如[11]中所述的立体声填充算法所要求的那样仅针对一些频带(频谱带)改变缩放。

首先提供一些背景信息。

当采用中/侧编码时,可以以不同方式来编码侧信号。

根据第一组实施例,以与中央信号m相同的方式来编码侧信号s。执行量化,但不执行进一步的步骤以降低必要的比特率。通常,这种方法旨在允许在解码器侧非常精确地重新构建侧信号s,但另一方面需要大量的比特用于编码。

根据第二组实施例,基于m信号根据原始侧信号s来产生残差侧信号s。在实施例中,可以例如根据以下公式计算残差侧信号:

sres=s-g·m。

其它实施例可以例如采用针对残差侧信号的其它定义。

残差信号sres被量化并与参数g一起发送到解码器。通过量化残差信号sres而不是原始侧信号s,通常,更多的频谱值被量化为0。也就是说,通常,与量化原始侧信号s相比,这节省了编码和发送所必须的比特量。

在第二组实施例的这些实施例的一些中,针对完整频谱确定单个参数g,并且将单个参数g发送到解码器。在第二组实施例的其它实施例中,频率频谱的多个频带/频谱带中的每一个可以例如包括两个或更多个频谱值,并且针对每个频带/频谱带确定参数g,并且将参数g发送到解码器。

图12示出了根据第一组实施例或第二组实施例的编码器侧的不采用立体声填充的立体声处理。

图13示出了根据第一组实施例或第二组实施例的解码器侧的不采用立体声填充的立体声处理。

根据第三组实施例,采用立体声填充。在这些实施例的一些实施例中,在解码器侧,针对某一时间点t的侧信号s是根据紧接在前的时间点t-1的中央信号来产生的。

例如,针对某一时间点t的侧信号s根据紧接在前的时间点t-1的中央信号来产生可以根据以下公式来执行:

s(t)=hb·m(t-1)。

在编码器侧,针对频谱的多个频带的每个频带确定参数hb。在确定参数hb之后,编码器向解码器发送参数hb。在一些实施例中,侧信号s本身或其残差的频谱值不被发送到解码器。这种方法旨在节省所需比特数。

在第三组实施例的一些其它实施例中,至少对于侧信号比中央信号更大声的那些频带,那些频带的侧信号的频谱值被明确地编码并被发送到解码器。

根据第四组实施例,通过明确地编码原始侧信号s(参见第一组实施例)或残差侧信号sres来编码侧信号s的一些频带,而对于其它频带,采用立体声填充。这种方法将第一组实施例或第二组实施例与采用立体声填充的第三组实施例组合。例如,可以例如通过量化原始侧信号s或残差侧信号sres来编码较低频带,而对于其它较高频带,可以例如采用立体声填充。

图9示出了根据第三组实施例或第四组实施例的编码器侧的采用立体声填充的立体声处理。

图10示出了根据第三组实施例或第四组实施例的解码器侧的采用立体声填充的立体声处理。

上述实施例中的不采用立体声填充的那些实施例可以例如采用如mpeg-h中所述的立体声填充(参见mpeg-h频域立体声(参见,例如[11]))。

采用立体声填充的一些实施例可以例如将[11]中描述的立体声填充算法应用于其中频谱包络被编码为lsf与噪声填充相组合的系统。对频谱包络进行编码可以例如如[6a]、[6b]、[8]中所描述的那样来实现。噪声填充可以例如如[6a]和[6b]中所述的那样来实现。

在一些特定实施例中,可以例如在频域内的m/s频带中(例如,从诸如0.08fs(fs=采样频率)之类的较低频率至诸如igf交叉频率之类的较高频率)执行包括立体声填充参数计算的立体声填充处理。

例如,对于低于较低频率(例如,0.08fs)的频率部分,原始侧信号s或根据原始侧信号s导出的残差侧信号可以例如被量化并被发送到解码器。对于大于较高频率(例如,igf交叉频率)的频率部分,可以例如执行智能间隙填充(igf)。

更具体地,在一些实施例中,对于立体声填充范围内的、完全被量化为0的那些频带(例如,采样频率的0.08倍直到igf交叉频率),例如可以使用来自先前帧的白化mdct频谱缩混(igf=智能间隙填充)的“复制”来填充侧信道(第二信道)。例如,“复制”可以与噪声填充互补地应用,并且相应地根据从编码器发送的校正因子进行缩放。在其它实施例中,较低频率可以呈现为除0.08fs之外的其它值。

在一些实施例中,替代0.08fs,较低频率可以是例如0至0.50fs范围内的值。具体地,在实施例中,较低频率可以是0.01fs至0.50fs范围内的值。例如,较低频率可以是例如0.12fs或0.20fs或0.25fs。

在其它实施例中,除了采用智能间隙填充之外或替代采用智能间隙填充,对于大于较高频率的频率,可以例如执行噪声填充。

在其它实施例中,没有较高频率,并且对于大于较低频率的每个频率部分执行立体声填充。

在其它实施例中,没有较低频率,并且对于从最低频带到较高频率的频率部分执行立体声填充。

在其它实施例中,没有较低频率且没有较高频率,并且对整个频率谱执行立体声填充。

在下文中,描述了采用立体声填充的特定实施例。

特别地,描述了根据特定实施例的具有校正因子的立体声填充。在图9(编码器侧)和图10(解码器侧)的立体声填充处理块的实施例中,可以采用具有校正因子的立体声填充。

在下文中,

-dmxr可以例如表示白化的mdct频谱的中央信号,

-sr可以例如表示白化的mdct频谱的侧信号,

-dmxi可以例如表示白化的mdct频谱的中央信号,

-si可以表示白化的mdst频谱的侧信号,

-prevdmxr可以例如表示延迟一帧的白化的mdct频谱的中央信号,以及

-prevdmxi可以例如表示延迟一帧的白化的mdst频谱的中央信号。

当立体声决策是针对所有频带的m/s(全m/s)或针对所有立体声填充频带的m/s(逐频带m/s)时,可以应用立体声填充编码。

当确定应用全-双-单声道处理时,绕过立体声填充。此外,当针对某些频谱带(频带)选择l/r编码时,针对这些频谱带也绕过立体声填充。

现在,考虑采用立体声填充的特定实施例。在这样的特定实施例中,块内的处理可以例如如下执行:

对于落在从较低频率(例如,0.08fs(fs=采样频率))开始到较高频率(例如,igf交叉频率)的频率区域内的频带(fb):

-例如,根据以下公式来计算侧信号sr的残差resr:

resr=sr-ardmxr-aidmxi.

其中,ar是复数预测系数的实部,ai是复数预测系数的虚部(参见[10])。

根据以下公式来计算侧信号si的残差resi:

resi=si-ardmxr-aidmxi.

-计算残差res的以及先前帧缩混(中央信号)prevdmx的能量(例如,复值能量):

在以上公式中:

resr的频带fb内的所有频谱值的平方之和。

resi的频带fb内的所有频谱值的平方之和。

prevdmxr的频带fb内的所有频谱值的平方之和。

prevdmxi的频率带fb内的所有频谱值的平方之和。

-根据这些计算的能量(eresfb、eprevdmxfb),计算立体声填充校正因子,并且将其作为侧信息发送到解码器:

correction_factorfb=eresfb/(eprevdmxfb+ε)

在实施例中,ε=0。在其它实施例中,例如,0.1>ε>0,例如以避免除以0。

-可以例如根据例如针对采用立体声填充的每个频谱带计算的立体声填充校正因子来计算逐频带缩放因子。为了补偿能量损失,引入按照缩放因子将输出中央和侧(残差)信号进行逐频带缩放,因为没有用于根据解码器侧的残差重新构建侧信号的逆复数预测操作(ar=ai=0)。

在特定实施例中,可以例如根据以下公式计算逐频带缩放因子:

其中,edmxfb是当前帧缩混的(例如复数)能量(其可以例如如上所述地计算)。

-在一些实施例中,在立体声处理块中的立体声填充处理之后且在量化之前,如果对于等同频带,缩混(中央)比残差(侧)大声,则可以例如将落入立体声填充频率范围内的残差的仓(bin)设置为0:

因此,在编码缩混和残差的较低频率仓时花费更多比特,从而提高了整体质量。

在备选实施例中,可以例如将残差(侧)的所有比特设置为0。这样的备选实施例可以例如基于缩混在大多数情况下比残差更大声的假设。

图11示出了解码器侧的根据特定实施例的侧信号的立体声填充。

在解码、逆量化和噪声填充之后,对侧声道应用立体声填充。对于立体声填充范围内的、被量化为0的频带,如果噪声填充后的频带能量不能达到目标能量,则可以例如应用来自最后帧的白化mdct频谱缩混的“复制”(如图11所示)。例如,根据以下公式,根据作为参数从编码器发送的立体声校正因子来计算每个频带的目标能量。

etfb=correction_factorfb·eprevdmxfb

例如根据以下公式实现在解码器侧产生侧信号(例如,可以称为先前缩混“复制”):

si=ni+facdmxfb·prevdmxi,i∈[fb,fb+1],

其中i表示频带fb内的频率仓(频谱值),n是噪声填充频谱,并且facdmxfb是应用于先前缩混的因子,其取决于从编码器发送的立体声填充校正因子。

在特定实施例中,例如,可以针对每个频率带fb将facdmxfb计算为:

其中,enfb是频带fb中的噪声填充频谱的能量,并且eprevdmxfb是相应先前帧缩混能量。

在编码器侧,备选实施例不考虑mdst频谱(或mdct频谱)。在那些实施例中,如下地适配编码器侧的进程:

对于落在从较低频率(例如,0.08fs(fsr采样频率))开始到较高频率(例如,igf交叉频率)的频率区域内的频带(fb):

-例如,根据以下公式来计算侧信号sr的残差res:

res=sr-ardmxr,

其中,ar是(例如,实数的)预测系数。

-计算残差res的以及先前帧缩混(中央信号)prevdmx的能量:

-根据这些计算的能量(eresfb、eprevdmxfb),计算立体声填充校正因子,并且将其作为侧信息发送到解码器:

correction_factorfb=eresfb/(eprevdmxfb+ε)

在实施例中,ε=0。在其它实施例中,例如,0.1>ε>0,例如以避免除以0。

-可以例如根据例如针对采用立体声填充的每个频谱带计算的立体声填充校正因子来计算逐频带缩放因子。

在特定实施例中,可以例如根据以下公式计算逐频带缩放因子:

其中,edmxfb是当前帧缩混的能量(其可以例如如上所述地计算)。

-在一些实施例中,在立体声处理块中的立体声填充处理之后且在量化之前,如果对于等同频带,缩混(中央)比残差(侧)大声,则可以例如将落入立体声填充频率范围内的残差的仓(bin)设置为0:

因此,在编码缩混和残差的较低频率仓时花费更多比特,从而提高了整体质量。

在备选实施例中,可以例如将残差(侧)的所有比特设置为0。这样的备选实施例可以例如基于缩混在大多数情况下比残差更大声的假设。

根据一些实施例,可以例如提供用于在具有fdns的系统中应用立体声填充的装置,其中使用lsf(或者不可能在单个频带中独立地改变缩放的类似编码)对频谱包络进行编码。

根据一些实施例,可以例如提供用于在没有复数/实数预测的系统中应用立体声填充的装置。

在从编码器向解码器发送明确参数(立体声填充校正因子)的意义上,一些实施例可以例如采用参数立体声填充,以控制白化的左和右mdct频谱的立体声填充(例如,利用先前帧的缩混)。

更一般地:

在一些实施例中,图1a至图1e的编码单元120可以例如被配置为产生处理后的音频信号,使得处理后的音频信号的第一声道的所述至少一个频谱带是所述中央信号的所述频谱带,并且使得处理后的音频信号的第二声道的所述至少一个频谱带是所述侧信号的所述频谱带。为了获得编码音频信号,编码单元120可以例如被配置为通过确定所述侧信号的所述频谱带的校正因子来编码所述侧信号的所述频谱带。编码单元120可以例如被配置为根据残差并且根据与所述中央信号的所述频谱带相对应的先前中央信号的频谱带,确定所述侧信号的所述频谱带的所述校正因子,其中在时间上先前中央信号在所述中央信号之前。此外,编码单元120可以例如被配置为根据所述侧信号的所述频谱带、并且根据所述中央信号的所述频谱带来确定残差。

根据一些实施例,编码单元120可以例如被配置为根据以下公式确定所述侧信号的所述频谱带的所述校正因子。

correction_factorfb=eresfb/(eprevdmxfb+ε)

其中,correction_factorfb指示所述侧信号的所述频谱带的所述校正因子,其中eresfb指示根据与所述中央信号的所述频谱带相对应的所述残差的频谱带的能量的残差能量,其中eprevdmxfb指示根据先前中央信号的频谱带中能量的先前能量,并且其中ε=0,或者其中0.1>ε>0。

在一些实施例中,可以根据以下公式来定义所述残差:

resr=sr-ardmxr,

其中,resr是所述残差,其中sr是所述侧信号,其中ar是(例如,实数)系数(例如,预测系数),其中dmxr是所述中央信号,其中编码单元(120)被配置为根据以下公式来确定所述残差能量:

根据一些实施例,根据以下公式来定义所述残差:

resr=sr-ardmxr-aidmxi,

其中,resr是所述残差,其中sr是所述侧信号,其中ar是复数(预测)系数的实部,并且其中ai是所述复数(预测)系数的虚部,其中dmxr是所述中央信号,其中dmxi是根据归一化音频信号的第一声道和根据归一化音频信号的第二声道的另一中央信号,其中根据以下公式定义根据归一化音频信号的第一声道和根据归一化音频信号的第二声道的另一侧信号si的另一残差:

resi=si-ardmxr-aidrnxi,

其中,编码单元120可以例如被配置为根据以下公式来确定所述残差能量:

其中编码单元120可以例如被配置为根据与所述中央信号的所述频谱带相对应的所述残差的频谱带的能量、以及根据与所述中央信号的所述频谱带相对应的所述另一残差的频谱带的能量,来确定先前的能量。

在一些实施例中,图2a至图2e的解码单元210可以例如被配置为针对所述多个频谱带的每个频谱带,来确定编码音频信号的第一声道的所述频谱带和编码音频信号的第二声道的所述频谱带是使用双-单声道编码来编码的还是使用中-侧编码来编码的。此外,解码单元210可以例如被配置为通过重新构建第二声道的所述频谱带来获得编码音频信号的第二声道的所述频谱带。如果使用中-侧编码,则编码音频信号的第一声道的所述频谱带是中央信号的频谱带,并且编码音频信号的第二声道的所述频谱带是侧信号的频谱带。此外,如果使用中-侧编码,则解码单元210可以例如被配置为根据侧信号的所述频谱带的校正因子、并且根据与所述中央信号的所述频谱带相对应的先前中央信号的频谱带,来重新构建侧信号的所述频谱带,其中在时间上先前中央信号在所述中央信号之前。

根据一些实施例,如果使用中-侧编码,则解码单元210可以例如被配置为通过根据以下公式重新构建侧信号的所述频谱带的频谱值来重新构建侧信号的所述频谱带。

si=ni+facdmxfb·prevdmxi

其中,si指示侧信号的所述频谱带的频谱值,其中prevdmxi指示所述先前中央信号的频谱带的频谱值,其中ni指示噪声填充频谱的频谱值,其中根据以下公式来定义facdmxfb:

其中,correction_factorfb是所述侧信号的所述频谱带的校正因子,其中,enfb是噪声填充频谱的能量,其中eprevdmxfb是所述前述中央信号的所述频谱带的能量,并且其中ε=0,或其中0.1>ε>0。

在一些实施例中,残差可以例如根据编码器处的复数立体声预测算法导出,而在解码器侧不存在立体声预测(实数或复数)。

根据一些实施例,编码器侧处的对频谱进行能量校正缩放可以例如用于补偿解码器侧没有逆预测处理的事实。

尽管已经在装置的上下文下描述了一些方面,但是将清楚的是,这些方面还表示对应方法的描述,其中,块或设备与方法步骤或方法步骤的特征相对应。类似地,在方法步骤的上下文下描述的方面也表示对对应块或者对应装置的项或特征的描述。可以由(或使用)硬件装置(诸如,微处理器、可编程计算机或电子电路)来执行一些或全部方法步骤。在一些实施例中,可以由这种装置来执行最重要方法步骤中的一个或多个方法步骤。

根据某些实现要求,本发明的实施例可以用硬件或软件实现,或者至少部分地用硬件、或至少部分地用软件实现。可以使用其上存储有电子可读控制信号的数字存储介质(例如,软盘、dvd、蓝光、cd、rom、prom、eprom、eeprom或闪存)来执行实现,该电子可读控制信号与可编程计算机系统协作(或者能够与之协作)从而执行相应方法。因此,数字存储介质可以是计算机可读的。

根据本发明的一些实施例包括具有电子可读控制信号的数据载体,该电子可读控制信号能够与可编程计算机系统协作从而执行本文所述的方法之一。

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

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

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

因此,本发明方法的另一实施例是其上记录有计算机程序的数据载体(或者数字存储介质或计算机可读介质),该计算机程序用于执行本文所述的方法之一。数据载体、数字存储介质或记录的介质通常是有形的和/或非暂时性的。

因此,本发明方法的另一实施例是表示计算机程序的数据流或信号序列,所述计算机程序用于执行本文所述的方法之一。数据流或信号序列可以例如被配置为经由数据通信连接(例如,经由互联网)传送。

另一实施例包括处理装置,例如,计算机或可编程逻辑器件,所述处理装置被配置为或适于执行本文所述的方法之一。

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

根据本发明的另一实施例包括被配置为向接收机(例如,以电子方式或以光学方式)传送计算机程序的装置或系统,该计算机程序用于执行本文所述的方法之一。接收机可以是例如计算机、移动设备、存储设备等。装置或系统可以例如包括用于向接收机传送计算机程序的文件服务器。

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

本文描述的装置可以使用硬件装置、或者使用计算机、或者使用硬件装置和计算机的组合来实现。

本文描述的方法可以使用硬件装置、或者使用计算机、或者使用硬件装置和计算机的组合来执行。

上述实施例对于本发明的原理仅是说明性的。应当理解的是:本文所述的布置和细节的修改和变形对于本领域其他技术人员将是显而易见的。因此,旨在仅由所附专利权利要求的范围来限制而不是由借助对本文实施例的描述和解释所给出的具体细节来限制。

文献

[1]j.herre,e.eberleinandk.brandenburg,″combinedstereocoding,″in93rdaesconvention,sanfrancisco,1992.

[2]j.d.johnstonanda.j.ferreira,″sum-differencestereotransformcoding,″inproc.icassp,1992.

[3]iso/iec11172-3,informationtechnology-codingofmovingpicturesandassociatedaudiofordigitalstoragemediaatuptoabout1,5mbit/s-part3:audio,1993.

[4]iso/iec13818-7,informationtechnology-genericcodingofmovingpicturesandassociatedaudioinformation-part7:advancedaudiocoding(aac),2003.

[5]j.-m.valin,g.maxwell,t.b.terriberryandk.vos,″high-quality,low-delaymusiccodingintheopuscodec,″inproc.aes135thconvention,newyork,2013.

[6a]3gppts26.445,codecforenhancedvoiceservices(evs);detailedalgorithmicdescription,v12.5.0,dezember2015.

[6b]3gppts26.445,codecforenhancedvoiceservices(evs);detailedalgorithmicdescription,v13.3.0,september2016.

[7]h.purnhagen,p.carlsson,l.villemoes,j.robilliard,m.neusinger,c.helmrich,j.hilpert,n.rettelbach,s.dischandb.edler,″audioencoder,audiodeeoderandrelatedmethodsforprocessingmulti-channelaudiosignalsusingcomplexprediction″.uspatent8,655,670b2,18february2014.

[8]g.markovic,f.guillaume,n.rettelbach,c.helmrichandb.schubert,″linearpredictionbasedcodingschemeusingspectraldomainnoiseshaping″.europeanpatent2676266b1,14february2011.

[9]s.disch,f.nagel,r.geiger,b.n.thoshkahna,k.schmidt,s.bayer,c.neukam,b.edlerandc.helmrich,″audioencoder,audiodecoderandrelatedmethodsusingtwo-channelprocessingwithinanintelligentgapfillingframework″.internationalpatentpct/ep2014/065106,15072014.

[10]c.helmrich,p.carlsson,s.disch,b.edler,j.hilpert,m.neusinger,h.purnhagen,n.rettelbach,j.robilliardandl.villemoes,″efficienttransformcodingoftwo-channelaudiosignalsbymeansofcomplex-valuedstereoprediction,″inacoustics,speechandsignalprocessing(icassp),2011ieeeinternationalconferenceon,prague,2011.

[11]c.r.helmrich,a.niedermeier,s.bayerandb.edler,″low-complexitysemi-parametricjoint-stereoaudiotransformcoding,″insignalprocessingconference(eusipco),201523rdeuropean,2015.

[12]h.malvar,“amodulatedcomplexlappedtrahsformanditsapplicationstoaudioprocessing”inacoustics,speech,andsignalprocessing(icassp),1999.proceedings.,1999ieeeinternationalconferenceon,phoenix,az,1999.

[13]b.edlerandg.schuller,″audiocodingusingapsychoacousticpre-andpost-filter,″acoustics,speech,andsignalprocessing,2000.icassp′00.

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1