申请No.12/345,165,题目为“METHOD AND APPARATUS FORGENERATING AN ENHANCEMENT LAYER WITHIN AMULTIPLE-CHANNEL AUDIO CODING SYSTEM”(律师档案编号No.CS36250AUD);
申请No.12/345,117,题目为“METHOD AND APPARATUS FORGENERATING AN ENHANCEMENT LAYER WITHIN AMULTIPLE-CHANNEL AUDIO CODING SYSTEM”(律师档案编号No.CS36627AUD);以及
申请No.12/345,096,题目为“SELECTIVE SCALING MASKCOMPUTATION BASED ON PEAK DETECTION”(律师档案编号No.CS36655AUD),所有申请都与本申请在同一日期提交。
具体实施方式
为了解决上述需要,在此描述了一种用于在音频编码系统内生成增强层的方法和装置。在操作期间,要编码的输入信号被接收和编码,以产生编码的音频信号。然后,使用多个增益值来缩放编码的音频信号,以产生多个缩放的编码音频信号,每一个缩放的编码音频信号具有相关联的增益值,并且确定在输入信号和多个缩放的编码音频信号的每一个之间存在的多个误差值。然后,选择增益值,该增益值与缩放的编码音频信号相关联,使得在输入信号和该缩放的编码音频信号之间存在低误差值。最后,将该低误差值与该增益值一起作为编码音频信号的增强层的一部分来传送。
在图1中示出了现有技术的嵌入式语音/音频压缩系统。输入音频s(n)首先被核心层编码器120处理,对于这些目的而言,核心层编码器120可以是CELP型语音编码算法。编码的比特流被传送到信道125,并且被输入到本地核心层解码器115,在此,生成了重构的核心音频信号s
c(n)。然后,增强层编码器120用于基于信号s(n)和s
c(n)的某个比较来编码附加信息,并且可以可选地使用来自核心层解码器115的参数。如在核心层解码器115中那样,核心层解码器130将核心层比特流参数转换为核心层音频信号
然后,增强层解码器135使用来自信道125的增强层比特流和信号
来产生增强的音频输出信号
这样的嵌入式编码系统的主要优点是特定的信道125可以不能持续地支持与高质量音频编码算法相关联的带宽要求。然而,嵌入式编码器允许当增强层比特流被丢失或损坏时从信道125接收部分比特流(例如,仅核心层比特流),以例如仅产生核心输出音频。然而,在嵌入式与非嵌入式编码器之间并且也在不同的嵌入式编码优化目的之间在质量上有折衷。也就是,较高质量的增强层编码可以有助于实现在核心层和增强层之间的较好的平衡,并且也降低整体数据速率以获得较好的传输特性(例如,减少的拥塞),这可能导致增强层的较低的分组误差率。
在图2中给出了现有技术增强层编码器120的更详细的示例。在此,误差信号生成器210由加权的差信号组成,该加权差信号被变换到MDCT(修改的离散余弦变换)域中以用于由误差信号编码器220进行处理。误差信号E被给出为:
E=MDCT{W(s-sc)} (1)
其中,W是基于来自核心层解码器115的LP(线性预测)滤波系数A(z)的感知加权矩阵,s是来自输入音频信号s(n)的样本的向量(即,帧),并且sc是来自核心层解码器115的样本的对应向量。在ITU-T推荐G.729.1中描述了示例MDCT处理。然后,误差信号E被误差信号编码器220处理,以产生代码字iE,该代码字iE随后被传送到信道125。对于这个示例,重要的是注意,误差信号编码器220仅被提供有一个误差信号E,并且输出一个相关联的代码字iE。其原因将在下面变得显而易见。
然后,增强层解码器135从信道125接收编码的比特流,并且适当地解复用该比特流以产生代码字i
E。误差信号解码器230使用代码字i
E来重构增强层误差信号
然后由信号组合器240将该增强层误差信号
与核心层输出音频信号
组合如下,以产生增强层音频输出信号
其中,MDCT-1是逆MDCT(包括重叠相加),并且W-1是逆感知加权矩阵。
在图3中示出了增强层编码器的另一个示例。在此,误差信号生成器315的误差信号E的生成涉及自适应预缩放,其中,执行对于核心层音频输出sc(n)的一些修改。这个处理导致生成一定数目的比特,该一定数目的比特在增强层编码器120中被示出为代码字is。
另外,增强层编码器120示出了输入音频信号s(n)和变换的核心层输出音频S
c被输入到误差信号编码器320。这些信号用于构造用于增强层误差信号E的改善的编码的心理声学模型。然后,代码字i
s和i
E被复用器(MUX)325复用,并且然后被发送到信道125以用于由增强层解码器135进行的随后的解码。编码的比特流被解复用器335接收,解复用器335将比特流分离为分量i
s和i
E。然后,代码字i
E被误差信号解码器340使用以重构增强层误差信号
信号组合器345使用缩放比特i
s来以某种方式缩放信号
并且然后将结果与增强层误差信号
组合以产生增强的音频输出信号
在图4中给出了本发明的第一实施例。该图示出了通过缩放单元415来接收核心层输出信号sc(n)的增强层编码器410。预定的增益集合{g}用于产生多个缩放的核心层输出信号{S},其中,gj和Sj是相应的集合的第j个候选。在缩放单元416内,第一实施例在(MDCT)域中将信号sc(n)处理为:
Sj=Gj×MDCT{Wsc};0≤j<M (3)
其中,W可以是某个感知加权矩阵,sc是来自核心层解码器115的样本的向量,MDCT是本领域公知的操作,并且Gj可以是通过利用增益向量候选gj而形成的增益矩阵,并且其中M是增益向量候选的数目。在第一实施例中,Gj使用向量gj作为对角并且在其他任何位置使用零(即,对角矩阵),但是存在许多可能。例如,Gj可以是带状矩阵或甚至可以是简单的标量乘以单位矩阵I。替代地,将信号Sj留在时域中可能有一些优点,或可能有下述情况:有利的是,将音频变换到不同的域,诸如离散傅立叶变换(DFT)域。许多这样的变换在本领域中是公知的。在这些情况下,缩放单元可以输出基于相应的向量域的适当的Sj。
但是在任何情况下,缩放核心层输出音频的主要原因是补偿模型失配(或某个其他编码缺陷),模型失配可能引起在输入信号和核心层编解码器之间的显著差别。例如,如果输入音频信号主要是音乐信号,并且核心层编解码器基于语音模型,则核心层输出可能包含严重失真的信号特性,在该情况下,从声音质量的角度看,在通过一个或多个增强层来应用信号的补充编码之前选择地减少这个信号分量的能量是有益的。
然后,可以将增益缩放的核心层音频候选向量Sj和输入音频s(n)用作误差信号生成器420的输入。在示例性实施例中,输入音频信号s(n)被转换为向量S,使得S和Sj对应地对齐。也就是,表示s(n)的向量s与sc在时间(相位)上对齐,并且可以应用对应的操作,使得在这个实施例中:
Ej=MDCT{Ws}-Sj;0≤j<M (4)
这个表达式产生多个误差信号向量Ej,所述多个误差信号向量Ej表示在MDCT频谱域中在输入音频和增益缩放的核心层输出音频之间的加权差。在考虑了不同域的其他实施例中,可以基于相应的处理域来修改上面的表达式。
然后,根据本发明的第一实施例,增益选择器425用于评估多个误差信号向量Ej,以产生最佳的误差向量E*、最佳增益参数g*,并且随后产生对应的增益索引ig。增益选择器425可以使用多种方法来确定最佳参数E*和g*,这可能涉及闭环方法(例如,失真度量的最小化)、开环方法(例如,启发式分类、模型性能估计等)或两种方法的组合。在该示例性实施例中,可以使用偏置的失真度量,其被给出为在原始音频信号向量S和复合重构的信号向量之间的偏置能量差:
其中,
可以是误差信号向量E
j的量化估计,并且β
j可以是用于补充选择感知最佳增益误差索引j
*的判定的偏置项。在题目为APPARATUS AND METHOD FOR LOW COMPLEXITYCOMBINATORIAL CODING OF SIGNALS的美国专利申请No.11/531122中给出了用于信号向量的向量量化的示例性方法,但是许多其他方法是可能的。在认识到E
j=S-S
j的情况下,公式(5)可以被重写为:
在这个表达式中,
项表示在未量化的误差信号和量化的误差信号之间的差的能量。为了清楚,这个数量可以被称为“残余能量”,并且进一步可以用于评估“增益选择准则”,在增益选择准则中,选择了最佳增益参数g
*。在公式(6)中给出了一种这样的增益选择准则,但是许多准则是可能的。
对于偏置项β
j的需要可能起因于下述情况:在公式(3)和(4)中的误差加权函数W可能不足以产生在向量
上的等同地可感知的失真。例如,虽然误差加权函数W可以用于尝试将误差频谱“白化”到一定程度,但是因为人耳对于失真的感知,将更多的加权置于低频上可能有特定的优点。作为在低频中的提高的误差加权的结果,可能通过增强层来不足地建模(under-modeled)高频信号。在这些情况下,将失真度量向不衰减S
j的高频分量的g
j的值偏置有直接的益处,使得高频的不足建模不会导致在最后重构的音频信号中的讨厌的或不自然的声音人工产物。一个这样的示例将是清音语音信号的情况。在该情况下,输入音频通常由从来自人嘴的空气湍流产生的中频至高频的噪声类信号构成。可以是核心层编码器不直接地编码这种类型的波形,而是可以使用噪声模型来生成类似的声音音频信号。这可能导致在输入音频和核心层输出音频信号之间的通常低的相关性。然而,在这个实施例中,误差信号向量E
j基于在输入音频和核心层音频输出信号之间的差。由于这些信号可能不很好地相关,所以误差信号E
j的能量可能不一定低于输入音频或核心层输出音频。在该情况下,在公式(6)中的误差的最小化可能导致增益缩放太积极,这可能导致可能的可听的人工产物。
在另一种情况下,偏置因子βj可以基于输入音频和/或核心层输出音频信号的其他信号特性。例如,信号的频谱的峰值与平均值比率可以给出那个信号的谐波含量的指示。诸如语音和特定类型的音乐的信号可以具有高谐波含量,并且因此具有高的峰值与平均值比率。然而,通过语音编解码器处理的音乐信号可以因为编码模型的失配而导致不良的质量,并且结果,核心层输出信号频谱当与输入信号频谱作比较时可以具有减小的峰值与平均值比率。在该情况下,可以有益的是,在最小化处理中减少偏置量,以便允许核心层输出音频被增益缩放到较低的能量,由此允许增强层编码对于复合输出音频具有更显著的影响。相反,特定类型的语音或音乐输入信号可以展现较低的峰值与平均值比率,在该情况下,可能将信号感知为更吵闹,并且可能因此通过提高误差偏置而受益于核心层输出音频的较小缩放。用于生成用于βj的偏置因子的函数的示例被给出为:
其中,λ可以是某个阈值,并且用于向量的峰值与平均值比率φy可以被给出为:
并且,其中,
是y(k)的向量子集,使得
k
1≤k≤k
2。
一旦从公式(6)确定了最佳增益索引j
*,则生成相关联的代码字i
g,并且将最佳误差向量E
*发送到误差信号编码器430,其中,E
*被编码为适合于(通过复用器440)与其他代码字复用的形式,并且被传送以由对应的解码器使用。在示例性实施例中,误差信号编码器408使用阶乘脉冲编码(FPC)。从处理复杂性视点看,这种方法是有益的,因为与向量E
*的编码相关联的枚举处理独立于用于生成
的向量生成处理。
增强层解码器450逆转这些处理,以产生增强的音频输出
更具体地,解码器450接收i
g和i
E,解复用器455将i
E发送到误差信号解码器460,其中,从代码字导出最佳误差向量E
*。最佳误差向量E
*被传递到信号组合器465,其中,如在公式(2)中那样修改所接收到的
以产生
本发明的第二实施例涉及如图5中所示的多层嵌入式编码系统。在此,可以看出,存在对于这个示例给出的五个嵌入层。层1和2可以都是基于语音编解码,并且层3、4和5可以是MDCT增强层。因此,编码器502和503可以利用语音编解码器来产生和输出已编码的输入信号s(n)。编码器510、610和514包括增强层编码器,其中每一个输出已编码的信号的不同的增强。与前一个实施例类似,可以将用于层3(编码器510)的误差信号向量给出为:
E3=S-S2 (9)
其中,S=MDCT{Ws}是加权变换的输入信号,并且S
2=MDCT{Ws
2}是从层1/2解码器506生成的已加权变换的信号。在这个实施例中,层3可以是低速率量化层,并且同样,可能有用于编码对应的量化误差信号
的相对较少的比特。为了在这些约束下提供良好的质量,仅可以量化在E
3内的系数的一部分。要编码的系数的位置可以是固定的或可以是可变的,但是如果允许变化,则可以要求向解码器发送附加信息,以标识这些位置。如果例如编码的位置的范围在k
s开始并且在k
e结束,其中0≤k
s<k
e<N,则量化的误差信号向量
可以包含仅在那个范围内的非零值和在那个范围之外的位置的零。根据所使用的编码方法,位置和范围信息也可以隐含的。例如,在音频编码中公知的是,频带可以在感知上被认为是重要的,并且信号向量的编码可以集中在那些频率上。在这些情况下,编码的范围可以是可变的,并且可以不跨越连续的频率集合。但是,在任何速率,一旦这个信号被量化,则复合编码的输出频谱可以被构造为:
其然后被用作层4编码器610的输入。
层4编码器610类似于先前实施例的增强层编码器410。使用增益向量候选gj,将对应的误差向量描述为:
E4(j)=S-GjS3 (11)
其中,G
j可以是增益矩阵,其中,以向量g
j作为对角分量。然而,在当前实施例中,增益向量g
j可以以下面的方式来与已量化的误差信号向量
相关。由于已量化的误差信号向量
可能在频率范围上受限,例如,在向量位置k
s开始,并且在向量位置k
e结束,所以假定层3输出信号S
3在那个范围内被非常精确地编码。因此,根据本发明,基于层3误差信号向量的编码位置k
s和k
e来调整增益向量g
j。更具体地,为了保留在那些位置处的信号完整性,可以将对应的单独增益元素设置为常数值α。也就是:
其中,通常,0≤r
j(k)≤1和g
j(k)是第j个候选向量的第k位置的增益。在示例性实施例中,常数值是1(α=1),然而,许多值是可能的。另外,频率范围可以跨越多个开始位置和结束位置。也就是,可以将公式(12)分段为基于误差信号
的某个函数的变化的增益的非连续范围,并且可以将其更一般地写为:
对于这个示例,当在先前量化的误差信号
中的对应位置是非零时,使用固定增益α来生成g
j(k),并且当在
中的对应的位置是零时,使用增益函数γ
j(k)。一个可能的增益函数可以被定义为:
其中,Δ是步长(例如,Δ≈2.2dB),α是常数,M是候选的数目(例如,M=4,可以仅使用2个比特来表示它),并且,kl和kh分别是低频和高频截止频率,在它们上,可能发生增益减少。参数kl和kh的引入在其中仅在特定的频率范围上期望缩放的系统中有用。例如,在给定的实施例中,高频可能未被核心层足够地建模,因此在高频带内的能量可能固有地低于在输入音频信号中的能量。在该情况下,缩放在那个区域信号中的层3输出有很少的益处或没有益处,因为整体误差能量可能作为结果增加。
总而言之,多个增益向量候选g
j基于先前编码的信号向量的编码元素的某个函数,在该情况下,该向量的编码元素为
这可以概括地表达为:
在图5的右手侧上示出对应的解码器操作。当接收到编码的各个层的比特流(i
1至i
5)时,在核心层(层1)解码器上的增强层的层级上建立较高质量的输出信号。也就是,对于这个特定实施例,在前两个层由时域语音模型编码(例如,CELP)构成并且剩余的三个层由变换域编码(例如,MDCT)构成时,根据下面来生成系统的最后输出
其中,
是层2时域增强层信号,并且,
是与层2音频输出
相对应的加权MDCT向量。在这个表达式中,可以从接收到的连续比特流层的最高级别来确定整体输出信号
在这个实施例中,假定较低级层具有从信道被适当地接收到的较高概率,因此,代码字集{i
1}、{i
1 i
2}、{i
1 i
2 i
3}等确定在公式(16)中的增强层解码的适当级别。
图6是示出层4编码器610和解码器650的框图。在图6中示出的编码器和解码器与在图4中示出的那些类似,除了分别经由频率选择增益生成器630和660来导出由缩放单元615和670使用的增益值。在操作层3期间,音频输出S
3被从层3编码器输出,并且被缩放单元615接收。另外,层3误差向量
被从层3编码器510输出,并且被频率选择增益生成器630接收。如上所述,由于量化的误差信号向量
可能在频率范围上受限,所以基于例如如公式12中所示的位置k
s和k
e或在公式13中的更一般的表达式来调整增益向量g
j。
缩放的音频Sj从缩放单元615输出,并且被误差信号生成器620接收。如上所述,误差信号生成器620接收输入音频信号S,并且确定由缩放单元615利用的每一个缩放向量的误差值Ej。这些误差向量与在基于最佳增益值g*来确定误差向量和特定误差E*中使用的增益值一起被传递到增益选择器电路635。用于表示最佳增益g*的代码字(ig)从增益选择器635输出,并且最佳误差向量E*被传递到误差信号编码器640,在误差信号编码器640中确定和输出了代码字iE。ig和iE被输出到复用器645,并且经由信道125被传送到层4解码器650。
在层4解码器650的操作期间,i
g和i
E从信道125接收,并且被解复用器655解复用。根据编码器610的对应的方法,增益代码字i
g和层3误差向量
被用作频率选择增益生成器660的输入,以产生增益向量g
*。然后,在缩放单元670内,将增益向量g
*应用到层3重构的音频向量
并且缩放单元670的输出然后在信号组合器675与通过代码字i
E的解码从误差信号解码器655获得的层4增强层误差向量E
*相组合,以产生层4重构的音频输出
如图所示。
图7是根据本发明的第一和第二实施例的编码器的操作的流程图700。如上所述,两个实施例都利用增强层,该增强层利用多个缩放值来缩放已编码的音频,并且然后选择导致最低误差的缩放值。然而,在本发明的第二实施例中,频率选择增益生成器630用于生成增益值。
逻辑流在框710开始,其中核心层编码器接收要编码的输入信号,并且编码该输入信号以产生已编码的音频信号。增强层编码器410接收已编码的音频信号(sc(n)),并且,缩放单元415利用多个增益值来缩放已编码的音频信号,以产生多个缩放的编码音频信号,其中每一个具有相关联的增益值(框720)。在框730,误差信号生成器420确定在输入信号和多个缩放的编码音频信号中的每一个之间存在的多个误差值。然后,增益选择器425从多个增益值中选择增益值(框740)。如上所述,增益值(g*)与已缩放的编码音频信号相关联,导致在输入信号和已缩放的编码音频信号之间存在低误差值。最后,在框750,发射机440将低误差值(E*)与增益值(g*)一起作为编码音频信号的增强层的一部分来传送。本领域的普通技术人员将认识到,在传输之前正确地编码了E*和g*两者。
如上所述,在接收机侧处,将与增强层一起接收已编码音频信号。增强层是对于包括增益值(g*)和与该增益值相关联的误差信号(E*)的已编码音频信号的增强。
用于立体声的核心层缩放
在上面的描述中,描述了一种嵌入式编码系统,其中,每一个层编码单声道信号。现在,描述用于编码立体声或其他多声道信号的嵌入式编码系统。为了简洁,描述了由两个音频输入(源)构成的立体声信号的背景上下文中的技术;然而,在此描述的示例性实施例可以被容易地扩展到其中立体声信号具有超过两个音频输入的情况,在多声道音频输入的情况下就是如此。为了说明而不是限制,两个音频输入是由左信号(sL)和右信号(sR)构成的立体声信号,其中,sL和sR是用于表示音频数据的帧的n维列向量。再一次为了简洁,将详细讨论由两个层——即核心层和增强层——构成的嵌入式编码系统。所提出的思想可以容易地被扩展到多层嵌入式编码系统。也可以不嵌入编解码器本身,即,它可以仅具有一个层,那个编解码器的比特的一些专用于立体声,并且剩余的比特用于单声道信号。
已知嵌入式立体声编解码器,该嵌入式立体声编解码器由简单地编码单声道信号的核心层和编码较高频率或立体声信号的增强层构成。在那个受限的情形下,核心层编码从sL和sR的组合获得的单声道信号(s),以产生编码的单声道信号设H是用于生成单声道信号的2×1组合矩阵,即,
s=(sL sR)H (17)
注意,在公式(17)中,sR可以是右音频信号的延迟版本,而不仅是右声道信号。例如,可以计算用于最大化sL和延迟版本sR的相关性的延迟。如果矩阵H是[0.5 0.5]T,则公式17导致相应的右和左声道的相等加权,即s=0.5sL+0.5sR。在此提供的实施例不限于编码单声道信号的核心层和编码立体声信号的增强层。嵌入式编解码器的核心层以及增强层可以编码多声道音频信号。由核心层多声道编码的在多声道音频信号中的声道的数目可以小于在可以由增强层编码的多声道音频信号中的声道的数目。设(m,n)是分别要由核心层和增强层编码的声道的数目。设s1,s2,s3,...,sn是要由嵌入式系统编码的n个音频声道的表示。从这些声道得到要由核心层编码的m个声道,并且被获得为:
[s1 s2 ... sm]=[s1 s2 ... sn]H,(17a)
其中,H是n×m矩阵。
如上所述,核心层编码单声道信号s,以产生核心层编码的信号
为了从
生成立体声分量的估计,计算了平衡因子。这个平衡因子被计算为:
可以示出,如果组合矩阵H是[0.5 0.5]T,则
wL=2-wR (19)
注意到,该比率实现了仅一个参数的量化,并且可以容易地从第一个提取另一个。现在,将立体声输出计算为
在随后的部分中,我们将作用于频域,而不是时域。因此,以大写字母来表示在频域中的对应的信号,即,S、
S
L、S
R、
和
分别是s、
s
L、s
R、
和
的频域表示。使用在频域中的项来计算在频域中的平衡因子,并且通过下式来给出该平衡因子:
并且
在频域中,可以将向量进一步分割为非重叠子向量,即,维度n的向量S可以被分割为维度m1,m2,...mt的t个子向量S1,S,...,St,使得
在该情况下,可以对于不同的子向量计算不同的平衡因子,即,
在该实例中的平衡因子与增益考虑无关。
现在参见图8和9,演示了与立体声和其他多声道信号相关的现有技术的附图。图8的现有技术的嵌入式语音/音频压缩系统800类似于图1,但是具有多个音频输入信号,在这个示例中,所述多个音频输入信号被示出为左和右立体声输入信号S(n)。这些输入音频信号被馈送到组合器810,组合器810产生输入音频s(n),如图所示。所述多个输入信号也被提供到增强层编码器820,如图所示。在解码侧上,增强层解码器830产生增强输出音频信号
如图所示。
图9图示了可以在图8中使用的现有技术的增强层编码器900。所述多个音频输入与所示的核心层输出音频信号一起被提供到平衡因子生成器。增强层编码器910的平衡因子生成器920接收多个音频输入,以产生信号iB,该信号iB被向前传递到复用器325,如图所示。信号iB是平衡因子的表示。在该优选实施例中,iB是用于表示平衡因子的比特序列。在解码器侧上,这个信号iB被平衡因子解码器940接收,平衡因子解码器940产生平衡因子元素WL(n)和WR(n),如图所示,所示的信号组合器950接收平衡因子元素WL(n)和WR(n)。
多声道平衡因子计算
如上所述,在许多情形下,用于单声道信号的编码的编解码器被设计用于单声道语音,并且每当它用于编码不被编解码器模型完全支持的信号时导致编码模型噪声。音乐信号和其他非语音类信号是未由基于语音模型的核心层编解码器正确地建模的信号中的一些。参考图1-7的上面的描述提出了向由核心层编码的信号应用频率选择增益。缩放被优化以最小化在音频输入和缩放的编码信号之间的特定失真(误差值)。如上所述的方法对于单声道信号作用良好,但是可能对于当增强层编码立体声或其他多声道信号时应用核心层缩放不是最佳的。
由于从两个或更多的立体声音频输入的组合获得了诸如立体声信号的多声道信号的单声道分量,所以组合信号s也可能不符合单声道语音模型;因此,当编码该组合信号时,核心层编解码器可能产生噪声。因此,需要实现在嵌入式编码系统中的核心层编码信号的缩放的方法,由此减少由核心层生成的噪声。在上述的单声道信号方法中,获得频率选择缩放的特定失真度量基于在单声道信号中的误差。在上面的公式(11)中示出了这个误差E4(j)。然而,仅单声道信号的失真不足以改善立体声通信系统的质量。在公式(11)中包含的缩放可以通过单位(1)的缩放因子或任何其他标识的函数来进行。
对于立体声信号,失真度量应当捕获右声道和左声道两者的失真。设EL和ER分别是用于左声道和右声道的误差向量,并且通过下式被给出:
在现有技术中,例如,如在AMR-WB+标准中所述,这些误差向量被计算为:
现在,我们考虑频率选择增益向量g
j(0≤j<M)被应用到
的情况。这个频率选择增益向量以矩阵形式被表示为G
j,其中,G
j是具有对角元素g
j的对角矩阵。对于每一个向量G
j,误差向量被计算为:
通过项来给出立体声信号的估计。可以看出,增益矩阵G可以是单位矩阵(1),或它可以是任何其他对角矩阵;可以认识到,不是每一个可能的估计可以对于每一个缩放信号起作用。
被最小化以改善立体声的质量的失真度量ε是两个误差向量的函数,即
εj=f(EL(j),ER(j)) (28)
可以看出,失真值可以由多个失真度量构成。
通过下式来给出选择的频率选择增益向量的索引j:
在示例性实施例中,失真度量是通过下式来给出的均方失真:
εj=‖EL(j)‖2+‖ER(j)‖2 (30)
或者,它可以是通过下式给出的加权或偏置的失真:
εj=BL‖EL(j)‖2+BR‖ER(j)‖2 (31)
偏置BL和BR可以是左声道和右声道能量的函数。
如上所述,在频域中,向量可以进一步被分割为非重叠的子向量。为了扩展所提出的技术以包括将频域向量分割为子向量,对于每一个子向量计算在(27)中使用的平衡因子。因此,通过由下式给出的误差子向量的级联来形成频率选择增益中的每一个的误差向量EL和ER
在(28)中的失真度量ε现在是通过以上的误差子向量的级联而形成的误差向量的函数。
计算平衡因子
使用现有技术(公式21)生成的平衡因子与核心层的输出无关。然而,为了最小化在(30)和(31)中给出的失真度量,可能有益的是,也计算平衡因子以最小化对应的失真。现在,平衡因子WL和WR可以被计算为:
其中,可以看出,平衡因子与增益无关,例如,如在图11的附图中所示。这个公式最小化在公式(30)和(31)中的失真。使用这样的平衡因子的问题是现在:
WL(j)≠2-WR(j),(34)
因此,可能需要分离的比特字段来量化WL和WR。通过将约束WL(j)=2-WR(j)置于所述最佳之上来避免这一点。通过这个约束,通过下式来给出公式(30)的最佳解:
其中,如所示出的,平衡因子与所示的增益项相关;附图的图10图示了相关的平衡因子。如果偏置因子BL和BR是单位,则
在公式(33)和(36)中的项
表示在缩放的编码音频信号和多声道音频信号的音频信号中的至少一个之间的相关值。
在立体声编码中,声音的来源的方向和位置可能比均方失真更重要。左声道能量和右声道能量的比率因此可以是方向(或声音的来源的位置)的较好指示符,而不是最小化加权的失真度量。在这样的情形下,在公式(35)和(36)中计算的平衡因子可能不是用于计算平衡因子的良好方法。所需要的是将在编码前后的左右声道能量的比率保持得相同。通过下式来分别给出在编码之前和编码之后的声道能量的比率:
使得这两个能量比率相等并且使用假定WL(j)=2-WR(j),我们得到
WR=2-WL.(38)
其给出所生成的平衡因子的平衡因子分量。注意到,在(38)中计算的平衡因子现在与Gj无关,因此不再是j的函数,于是提供了于增益考虑无关的自相关的平衡因子;在附图的图10中进一步图示了相关的平衡因子。对于公式29和32使用这个结果,我们可以将最佳核心层缩放索引j的选择扩展成包括级联向量分段k,使得:
最佳增益值的表示。增益值的这个索引j*作为增强层编码器的输出信号被传送。
现在参见图10,图示了根据各个实施例的增强层编码器和增强层解码器的框图1000。输入音频信号s(n)被增强层编码器1010的平衡因子生成器1050和增益向量生成器1020的误差信号(失真信号)生成器1030接收。来自核心层的编码的音频信号
被所示的增益向量生成器1020的缩放单元1025接收。缩放单元1025操作以利用多个增益值缩放编码的音频信号
以生成多个候选的编码音频信号,其中,缩放了候选的编码音频信号中的至少一个。如上所述,可以采用通过单位或任何期望的标识函数的缩放。缩放单元1025输出缩放的音频S
j,该缩放的音频S
j被平衡因子生成器1030接收。以上结合公式(18)、(21)、(24)和(33)讨论了生成具有多个平衡因子分量的平衡因子,其中每一个平衡因子分量与由增强层编码器1010接收到的多声道音频信号中的一个音频信号相关联。这是通过所示的平衡因子生成器1050完成的,以产生所示的平衡因子分量
如以上结合公式(38)所讨论的,平衡因子生成器1030将平衡因子图示为与增益无关。
增益向量生成器1020负责确定要向编码的音频信号应用的增益值,以生成多声道音频信号的估计,如在公式(27)、(28)和(29)中所讨论的。这是通过缩放单元1025和平衡因子生成器1050来完成的,缩放单元1025和平衡因子生成器1050一起工作以基于平衡因子和至少一个缩放的编码音频信号来生成该估计。增益值基于平衡因子和多声道音频信号,其中,增益值被配置成最小化在多声道音频信号和多声道音频信号的估计之间的失真值。公式(30)描述了作为多声道输入信号的估计和实际输入信号本身的函数来生成失真值。因此,平衡因子分量与输入音频信号s(n)一起被误差信号生成器1030接收,以确定由缩放单元1025利用的每一个缩放向量的误差值Ej。这些误差向量与在基于最佳增益值g*来确定误差向量和特定误差E*中使用的增益值一起被传递到增益选择器电路1035。然后,增益选择器1035可操作用于基于多声道输入信号的估计和实际信号本身来评估失真值,以便确定可能的增益值的最佳增益值g*的表示。用于表示最佳增益g*的代码字(ig)从增益选择器1035输出,并且被所示的MUX复用器1040接收。
ig和iB都被输出到复用器1040,并且被发射机1045经由信道125传送到增强层解码器1060。增益值ig的表示被输出以传输到所示的信道125,但是如果期望,它也可以被存储。
在解码器侧上,在增强层解码器1060的操作期间,i
g和i
E从信道125被接收并且被解复用器1065解复用。因此,增强层解码器接收编码音频信号
编码平衡因子i
B和编码增益值i
g。增益向量解码器1070包括所示的频率选择增益生成器1075和缩放单元1080。增益向量解码器1070从编码的增益值生成解码的增益值。编码增益值i
g被输入到频率选择增益生成器1075,以根据编码器1010的对应方法来产生增益向量g
*。然后向缩放单元1080应用增益向量g
*,缩放单元1080利用解码的增益值g
*来缩放编码的音频信号
以生成缩放的音频信号。信号组合器1095接收平衡因子解码器1090的编码平衡因子输出信号至缩放的音频信号
以生成和输出被示出为增强的输出音频信号的解码的多声道音频信号。
图示了示例性增强层编码器和增强层解码器的框图1100,其中,如上结合公式(33)所述,平衡因子生成器1030生成与增益相关的平衡因子。通过生成Gj信号1110的误差信号生成器来图示这一点。
现在参见图12-14,呈现了涵盖在此提供的各个实施例的方法的流程。在图12的流程1200中,呈现了用于编码多声道音频信号的方法。在框1210,接收具有多个音频信号的多声道音频信号。在框1220,多声道音频信号被编码以生成编码的音频信号。编码的音频信号可以是单声道或多声道信号,诸如在附图中举例图示的立体声信号。而且,编码的音频信号可以包括多个声道。在核心层中可以有不止一个声道,并且在增强层中的声道的数目可以大于在核心层中的声道的数目。接下来,在框1230,生成具有平衡因子分量的平衡因子,每一个平衡因子分量与多声道音频信号的一个音频信号相关联。公式(18)、(21)、(24)、(33)描述了平衡因子的生成。每一个平衡因子分量可以与所生成的其他平衡因子分量相关,就象在公式(38)中的情况那样。生成平衡因子可以包括:生成在缩放的编码音频信号和多声道音频信号的音频信号中的至少一个之间的相关值,诸如在公式(33)、(36)中。可以如在公式(38)中那样生成在音频信号的至少一个之间的自相关性,由此可以生成平方根。在框1240,确定要应用到编码音频信号的增益值,以基于平衡因子和多声道音频信号来生成多声道音频信号的估计。该增益值被配置成最小化在多声道音频信号和多声道音频信号的估计之间的失真值。公式(27)、(28)、(29)、(30)描述了确定增益值。可以从多个增益值中选择增益值,以缩放编码的音频信号,并且生成缩放的编码音频信号。可以基于这个估计来生成失真值;该增益值可以基于该失真值。在框1250,输出该增益值的表示以用于传输和/或存储。
图13的流程1300描述了根据各个实施例的用于编码多声道音频信号的另一种方法。在框1310,接收具有多个音频信号的多声道音频信号。在框1320,多声道音频信号被编码以生成编码的音频信号。如上所述,核心层编码器执行框1310和1320的处理。如上所述,编码的音频信号可以是单声道或多声道信号,诸如如在附图中举例说明的立体声信号。而且,编码的音频信号可以包括多个声道。在核心层中可以有不止一个声道,并且增强层中的声道的数目可以大于核心层中的声道的数目。
在框1330,利用多个增益值来缩放编码的音频信号,以生成多个候选编码的音频信号,所述候选编码的音频信号中的至少一个被缩放。通过增益向量生成器的缩放单元来完成缩放。如上所述,缩放编码的音频信号可以包括利用单位的增益值来缩放。多个增益值的增益值可以是增益矩阵,其中以向量gj来作为如上所述的对角分量。增益矩阵可以是频率选择的。它可以取决于核心层的输出、编码的音频信号,如图所示。可以从多个增益值中选择增益值,以缩放编码的音频信号并且生成缩放的编码音频信号。在框1340,生成具有平衡因子分量的平衡因子,所述平衡因子分量每一个与多声道音频信号的音频信号相关联。通过平衡因子生成器来执行平衡因子生成。每一个平衡因子分量可以与所生成的另一个平衡因子分量相关,如在公式(38)中的情况那样。生成平衡因子可以包括生成在缩放的编码音频信号和多声道音频信号的音频信号中的至少一个之间的相关值,诸如在公式(33)、(36)中那样。可以生成在音频信号中的至少一个之间的自相关性,如在公式(38)中那样,由此可以生成平方根。
在框1350,基于平衡因子和至少一个缩放的编码音频信号来生成多声道音频信号的估计,基于缩放的编码音频信号(多个)和所生成的平衡因子来生成该估计。该估计可以包括与多个候选的编码音频信号相对应的多个估计。在框1360,基于多声道音频信号的估计和多声道音频信号来评估和/或可以生成失真值,以确定增益值中的最佳增益值的表示。失真值可以包括与多个估计相对应的多个失真值。通过增益选择器电路来完成失真值的评估。通过公式(39)来给出最佳增益值的呈现。在框1370,可以输出增益值的表示以用于传输和/或存储。增强层编码器的发射机可以如上所述传送增益值表示。
在图14的流程图1400中包含的处理图示了多声道音频信号的解码。在框1410,接收编码的音频信号、编码的平衡因子和编码的增益值。在框1420,从编码的增益值生成解码的增益值。增益值可以是增益矩阵,如上所述,并且增益矩阵可以是频率选择的。增益矩阵也可以与作为核心层的输出接收到的编码的音频相关。而且,编码的音频信号可以是单声道或多声道信号,诸如在附图中举例图示的立体声信号。另外,编码的音频信号可以包括多个声道。例如,在核心层中有不止一个声道,并且增强层中的声道的数目可以大于核心层中的声道的数目。
在框1430,利用解码的增益值来缩放编码的音频信号,以生成缩放的音频信号。在框1440,编码的平衡因子被应用到缩放的音频信号以生成解码的多声道音频信号。在框1450,输出解码的多声道音频信号。
基于峰值检测的选择性缩放掩码计算
可以如在上面的(14)中那样定义频率选择增益矩阵Gj,该矩阵是具有形成增益向量gj的对角元素的对角矩阵:
其中,Δ是步长大小(例如,Δ≈2.0dB),α是常数,M是候选的数目(例如,M=8,可以仅使用3个比特来表示它),并且,k
l和k
h分别是低频和高频截止频率,在它们之上,可能发生增益减少。在此,k表示第k个MDCT或傅立叶变换系数。注意到,g
j是频率选择的,但是它与先前层的输出无关。增益向量g
j可以基于先前编码的信号向量——在该情况下为
——的编码元素的某个函数,这可以被表达为:
在多层嵌入式编码系统(具有超过2个层)中,其中,从至少两个先前的层的贡献来获得要由增益值向量gj缩放的输出也就是
其中,
是第一层(核心层)的输出,并且
是第二层或第一增强层的贡献。在该情况下,增益向量g
j可以是先前编码的信号向量
的编码的元素和第一增强层的贡献的某个函数:
已经观察到,因为较低层的编码模型导致的大多数可听到的噪声处于谷值中,而不是处于峰值中。换句话说,在频谱峰值处在原始和编码的频谱之间有较好的匹配。因此,不应当更改峰值,即,缩放应当限于谷值。为了有利地使用这种观察,在实施例之一中,在公式(41)中的函数基于
的峰值和谷值。设
是基于所检测到的
的峰值幅度的缩放掩码。缩放掩码可以是向量值函数,其在所检测到的峰值处具有非零值,即
其中,
是
的第i个元素。公式(41)现在可以被修改为:
可以使用各种方法来进行峰值检测。在该优选实施例中,通过下述方式来检测峰值:通过两个单独的加权平均滤波器来传递绝对频谱
并且然后比较已滤波的输出。设A
1和A
2是两个平均滤波器的矩阵表示。设l
1和l
2(l
1>l
2)是两个滤波器的长度。峰值检测函数被给出为:
其中,β是经验阈值。
作为说明性示例,参见图15和图16。在此,在MDCT域中的编码的信号的绝对值
在两个无线图中被给出为1510。这个信号表示来自“定调管”的声音,定调管创建固定间隔的谐波序列,如图所示。难以基于语音模型使用核心层编码器来编码这个信号,因为这个信号的基本频率在对于语音信号认为合理的范围之外。这导致由核心层产生的相当高的噪声级别,可以通过将编码信号1510与原始信号|S|的单声道版本作比较来观察到该噪声级别(1610)。
从该编码的信号(1510),使用阈值生成器来产生阈值1520,阈值1520对应于公式45中的表达式
在此,A
1是卷积矩阵,该卷积矩阵在该优选实施例中利用长度45的余弦窗口来实现信号
的卷积。许多窗口形状是可能的,并且可以包括不同的长度。而且,在该优选实施例中,A
2是单位矩阵。然后,峰值检测器将信号1510与阈值1520作比较,以产生被示出为1530的缩放掩码
然后,核心层缩放向量候选(在公式45中给出)可以用于缩放在编码信号
的峰值之间的噪声,以产生缩放的重构信号1620。可以根据以上的公式39中描述的处理或以其他方式来选择最佳候选。
现在参见图17-19,呈现了图示根据各个实施例的、与基于上述的峰值检测的选择性缩放掩码计算相关联的方法的流程图。在图17的流程图1700中,在框1710,检测在接收到的音频信号的重构的音频向量
中的峰值集合。可以在多个层中嵌入该音频信号。该重构的音频向量
可以处于频域中,并且所述峰值集合可以是频域峰值。例如,根据由公式(46)给出的峰值检测函数来执行检测该峰值集合。注意到,该集合可以是空的,就像全部内容被衰减并且没有峰值的情况那样。在框1720,生成基于所检测到的峰值集合的缩放掩码
然后,在框1730,生成至少基于缩放掩码和用于表示增益向量的索引j的增益向量g
*。在框1740,使用增益向量来缩放重构的音频信号,以产生缩放的重构音频信号。在框1750,生成基于音频信号和缩放的重构音频信号的失真。在框1760,输出基于所生成的失真的增益向量的索引。
现在参见图18,流程图1800图示了根据特定实施例的编码音频信号的替代实施例。在框1810,接收音频信号。可以在多个层中嵌入音频信号。然后,在框1820编码音频信号,以生成重构的音频向量
重构的音频向量
可以处于频域中,并且该峰值集合可以是频域峰值。在框1830,检测在接收到的音频信号的重构的音频向量
中的峰值集合。例如,根据由公式(46)给出的峰值检测函数来执行检测所述峰值集合。再一次,注意到,该集合可以是空的,就像全部内容被衰减并且没有峰值的情况那样。在框1840,生成基于所检测到的峰值集合的缩放掩码
在框1850,生成基于缩放掩码的多个增益向量g
j。在框1860,利用多个增益向量来缩放重构的音频信号,以产生多个缩放的重构音频信号。接下来,在框1870,生成基于音频信号和多个缩放的重构音频信号的多个失真。在框1880,基于所述多个失真从多个增益向量中选择增益向量。该增益向量可以被选择成与所述多个失真的最小失真相对应。在框1890,用于表示增益向量的索引被输出以传输和/或存储。
可以通过先前所述的装置结构来实现以上的图17-18中图示的编码器流程。参考流程1700,在可操作用于编码音频信号的装置中,诸如增强层编码器1010的增益向量生成器1020的增益选择器1035的增益选择器检测在接收到的音频信号的重构的音频向量
中的峰值集合,并且基于所检测到的峰值集合来生成缩放掩码
再一次,可以在多个层中嵌入音频信号。重构的音频向量
可以处于频域中,并且该峰值集合可以是频域峰值。例如,根据由公式(46)给出的峰值检测函数来执行检测所述峰值集合。注意到,如果在信号中的全部内容已经被衰减,则峰值集合可以是零。诸如增益向量生成器1020的缩放单元1025的缩放单元至少基于缩放掩码和表示增益向量的索引j来生成增益向量g
*,利用增益向量来缩放重构的音频信号,以产生缩放的重构音频信号。增益向量生成器1025的误差信号生成器1030基于音频信号和缩放的重构音频信号来生成失真。诸如增强层解码器1010的发射机1045的发射机可操作用于输出基于所生成的失真的增益向量的索引。
参考图18的流程1800,在可操作用于编码音频信号的装置中,编码器接收音频信号,并且编码该音频信号以生成重构的音频向量
诸如增益向量生成器1020的缩放单元1025的缩放单元检测在接收到的音频信号的重构的音频向量
中的峰值集合,基于所检测到的峰值集合来生成缩放掩码
基于缩放掩码来生成多个增益向量g
j,并且利用多个增益向量来缩放该重构的音频信号,以产生多个缩放的重构音频信号。误差信号生成器1030基于音频信号和多个缩放的重构音频信号来生成多个失真。诸如增益选择器1035的增益选择器基于所述多个失真从多个增益向量中选择增益向量。例如,发射机1045输出用于表示增益向量的索引以稍后传输和/或存储。
在图19的流程图1900中,图示了解码音频信号的方法。在框1910处接收重构的音频向量
和表示增益向量的索引。在框1920,检测在重构的音频向量中的峰值集合。例如,根据例如由公式(46)给出的峰值检测函数来执行检测所述峰值集合。再一次,注意到,该集合可以是空的,就像全部内容被衰减并且没有峰值的情况那样。在框1930,生成基于所检测到的峰值集合的缩放掩码
在框1940,生成至少基于缩放掩码和表示增益向量的索引的增益向量g
*。在框1950,利用增益向量来缩放重构的音频信号,以产生缩放的重构音频信号。该方法可以进一步包括:生成对于所重构的音频向量的增强,并且然后将缩放的重构音频信号和对于所重构的音频向量的增强组合以生成增强的解码信号。
可以通过先前描述的装置结构来实现在图19中图示的解码器流程。在可操作用于解码音频信号的装置中,例如,增强层解码器1060的增益向量解码器1070接收重构的音频向量
和表示增益向量的索引i
g。如图10中所示,增益选择器1075接收i
g,而增益向量解码器1070的缩放单元1080接收重构的音频向量
诸如增益向量解码器1070的增益选择器1075的增益选择器检测在所重构的音频向量中的峰值集合,基于所检测到的峰值集合来生成缩放掩码
并且至少基于缩放掩码和表示增益向量的索引来生成增益向量g
*。再一次,如果信号被大部分衰减,则该集合可以是空的。例如,增益选择器根据诸如在公式(46)中给出的峰值检测函数来检测该峰值集合。例如,缩放单元1080利用增益向量来缩放所重构的音频向量,以产生缩放的重构音频信号。
而且,诸如图6中的增强层解码器的误差信号解码器665的误差信号解码器可以生成对于所重构的音频向量的增强。诸如图6的信号组合器675的信号组合器将缩放的重构音频信号与对于重构的音频向量的增强组合,以生成增强的解码信号。
进一步应当注意,可以以各种组合来执行图12-14的平衡因子引导的流程和图17-19的具有峰值检测的选择性缩放掩码引导的流程两者,并且在此所述的装置和结构支持这一点。
虽然已经参考特定实施例具体示出和描述了本发明,但是本领域技术人员将明白,在不偏离本发明的精神和范围的情况下,可以在其中进行形式和细节上的各种改变。例如,虽然在电信系统中的通过信道的传送和接收上描述了以上技术,但是所述技术可以等同地适用于使用信号压缩系统来用于减少在诸如固态存储设备或计算机硬盘的数字介质设备上的存储要求的目的的系统。这样的改变意图在所附的权利要求的范围之内。