对数字音频信号中的前回声进行辨别和衰减的制作方法

文档序号:12071367阅读:548来源:国知局
对数字音频信号中的前回声进行辨别和衰减的制作方法与工艺

本发明涉及用于在对数字音频信号进行解码时辨别和处理对前回声的衰减的方法和设备。



背景技术:

对于通过电信网络(不论它们例如是固定网络还是移动网络)传输数字音频信号,或者对于信号的存储,使用实施编码系统的压缩(或源编码)过程,所述编码系统的类型通常为线性预测时间编码或变换频率编码。

因此,作为本发明的主题的方法和设备的应用领域是对声音信号的压缩,具体地,对通过频率变换来编码的数字音频信号的压缩。

图1通过展示的方式表示了根据现有技术的通过包括重叠/相加分析-合成的变换来进行的对数字音频信号的编码和解码的理论框图。

如打击乐等一些音乐序列和如爆破音(/k/、/t/…)等某些语音片段由非常突然的起动来表征,所述起动(onset)由几个样本的空间中的信号的动态范围的非常迅速的转变和非常强的变化反映。在图1中基于样本410给出了转变的一个示例。

对于编码/解码处理,输入信号被分解成长度为L的样本块,所述块的边界在图1中由垂直的点线表示。输入信号被表示为x(n),其中,n是样本的索引。分解成连续块(或帧)导致了块XN(n)=[x(N.L)…x(N.L+L-1)]=[xN(0)…xN(L-1)]的定义,其中,N N是块(或帧)的索引,L是帧的长度。在图1中,存在L=160个样本。在修正离散余弦变换MDCT的情况下,对两个块XN(n)和XN+1(n)进行联合分析以便给出与索引为N的帧相关联的变换系数块,并且分析窗口是正弦的。

通过变换编码来应用的划分成块(也称为帧)完全独立于声音信号,并且因此,可能在分析窗口的任何点处出现转变。现在,在变换解码之后,重构信号受量化(Q)-逆量化(Q-1)操作所生成的“噪声”(或失真)的影响。这种编码噪声以相对均匀的方式临时分布在变换块的所有时间支持上(也就是说,在长度为2L个样本(与L个样本重叠)的窗口的整个长度上)。编码噪声的能量总体上与块的能量成比例并且是编码/解码比特率的函数。

对于包括起动的块(如图1的块320-480),信号的能量很高,因此噪声也具有高电平。

在变换编码中,对于紧跟着转变的高能量片段,编码噪声的电平通常低于信号的电平,但是对于低能量片段,电平高于信号的电平,特别是在转变之前的部分上(图1的样本160-410)。对于上述部分,信噪比为负,并且所产生的退化在倾听时可能显得非常令人感觉烦扰。在转变之前的编码噪声被称为前回声,并且在转变之后的噪声被称为后回声。

在图1中可以看到,前回声影响转变之前的帧以及发生转变的帧。

心理声学实验已经表明人耳对声音执行约几毫秒的相当有限的时间前掩蔽。当前回声的持续时间大于前掩蔽持续时间时,在起动之前的噪声或前回声是可听见的。

在从高能量序列到低能量序列的转变时,人耳也执行更长持续时间(从5到60毫秒)的后掩蔽。因此,对于后回声可接受的干扰比率或干扰水平比对于前回声的干扰比率或干扰水平更大。

更关键地,当块的长度就样本的数量而言很大时,前回声现象越发令人感觉烦扰。现在,在变换编码中,众所周知的是,对于静态信号,变换的长度增大越多,编码增益越大。在固定采样频率和固定比特率下,如果窗口的点数(因此变换的长度)增大,则每帧将会有更多比特来对被心理声学模型认为有用的频率射线进行编码,因此会有使用大长度块的优点。例如,MPEG AAC(高级音频编码)编码使用包含固定数量(2048)的样本的大长度窗口,即,如果采样频率是32kHz,则大于64ms的持续时间;在其中通过使得有可能通过中间窗口(被称为转变窗口)从这些长窗口切换到8个短窗口而管理前回声的问题,这需要在进行编码时的某个延迟以便检测转变的存在并且适配窗口。因此,这些短窗口的长度为256个样本(在32kHz处的8ms)。在低比特率下,仍然有可可能具有几毫秒的可听见的前回声。窗口的切换使得有可能衰减前回声而不是消除前回声。用于如ITU-T G.722.1、G.722.1C或G.719等对话式应用的变换编码器通常在16、32或48kHz下(分别地)使用20ms的帧长度和40ms持续时间的窗口。可以注意到,ITU-T G.719编码器结合具有瞬态检测的窗口切换机制,但是前回声并不在低比特率下(通常在32kbit/s下)完全减少。

为了减小前回声现象的上述令人感觉烦扰的影响,已经在编码器和/或解码器方面提出了各种解决方案。

已经引用了窗口切换;其需要传输辅助信息项以便标识在当前帧中使用的窗口的类型。另一个解决方案包括应用自适应滤波。在起动之前的区域中,重构信号被视作原始信号和量化噪声之和。

在由Y.马耶克斯(Y.Mahieux)和J.P.佩蒂特(J.P.Petit)发表的题为“High Quality Audio Transform Coding at 64Kbit/s(在64Kbit/s下的高质量音频变换编码)”的文章(《电气电子工程师协会通信会报》(1994年11月第11期42卷))中已经描述了相应滤波技术。

这种滤波的实施需要参数的知识,根据噪声样本在编码器中估计其中许多参数(如预测系数和由前回声损坏的信号的方差)。然而,如原始信号的能量等信息仅可以对编码器已知并且因此必须对其进行传输。这需要传输附加信息,所述附加信息在受约束的比特率下减小了分配给变换编码的相对预算。当所接收的块包含动态范围的突然变化时,将滤波处理应用到所述块。

虽然上述滤波过程并未使得有可能恢复原始信号,但是提供了对前回声的强减少。然而,这确实需要向解码器传输附加参数。

不像以上解决方案,已经提出了无需对信息的特定发送的各种前回声减小技术。例如,在2008年8月瑞士洛桑市EUSIPCO的B.科斯伍德(B.)、S.拉戈(S.Ragot)、M.高德纳(M.Gartner)、H.塔代伊(H.Taddei)的题为“Pre-echo reduction in the ITU-T G.729.1embedded coder(在ITU-T G.729.1嵌入式编码器中的前回声减小)”的文章中呈现了对在分级编码的上下文中的前回声减小的概述。

在法国专利申请FR 08 56248中描述了无需辅助信息的前回声衰减处理方法的典型示例。在此示例中,确定了在子块(已经在所述子块中检测到转变或起动)之前的低能量子块中的每个子块的衰减因子。

第k个子块中的衰减因子g(k)例如根据最高能量子块的能量与相关的第k个子块的能量之间的比率R(k)来计算:

g(k)=f(R(k))

其中,f是值在0与1之间的递减函数,并且k是子块的编号。因子g(k)的其他定义是有可能的,例如,作为当前子块中的能量En(k)的函数和前一子块中的能量En(k-1)的函数。

如果子块的能量相对于在当前帧中考虑的子块中的最大能量变化很小,则衰减是不必要的;因子g(k)被设置为抑制衰减的衰减因子,也就是说,1。否则,衰减因子位于0与1之间。

在大多数情况下,首先,当前回声令人感觉烦扰时,在前回声帧之前的帧具有与低能量片段(通常为背景噪声)的能量相对应的均匀能量。根据实验,在前回声衰减处理之后,信号的能量变为低于处理区域之前的信号的平均能量(每子块)既不是有用的也甚至不是令人期望的,通常为低于前一帧的平均能量,表示为或低于前一帧的后半部分的平均能量,表示为

对于待处理的索引为k的子块,可以计算衰减因子的极限值,表示为limg(k),以便准确地获得与在待处理的子块之前的片段的每子块的平均能量相同的能量。因为此处使人感兴趣的是衰减值,所以这个值当然被限制为最大为1。更具体地,在此定义如下:

其中,通过值来近似估计前一片段的平均能量。

由此获得的值limg(k)充当在对子块的衰减因子的最终计算时的下限,并且因此被使用如下:

g(k)=max(g(k),limg(k))

然后,可以通过逐样本地应用的平滑函数来平滑所确定的子块的衰减因子(或增益)g(k),以便避免衰减因子在块的边界处的突然变化。

例如,首先可以将每样本的增益定义为分段常值函数:

gpre(n)=g(k),n=kL',…,(k+1)L'-1

其中,L'表示子块的长度。

然后,可以根据以下方程来平滑所述函数:

gpre(n):=αgpre(n-1)+(1-α)gpre(n),n=0,…,L-1

常规的是,gpre(-1)针对前一子块的最后一个样本而获得的最后一个衰减因子α是平滑系数,通常α=0.85。

其他平滑函数也是可能的,如例如在u个样本上的线性交叉衰落:

其中,gpre′(n)是非平滑衰减,并且gpre(n)是平滑衰减,gpre′(n)和n=-(u-1),…,-1是针对前一子块的最后一个样本而获得的最后u-1个衰减因子,例如,可以取u=5。

一旦由此计算了因子gpre(n),则通过将每个样本乘以相应因子,在当前帧xrec(n)中在重构信号上完成对前回声的衰减:

xrec,g(n)=gpre(n)xrec(n),n=0,…,L-1

其中,xrec,g(n)是通过前回声减小来解码和后处理的信号。

图2和图3展示了如在现有技术专利申请中所描述的、以上所提及的并且之前概述的衰减方法的实施方式。

在这些示例中,在32kHz下对信号进行采样,帧的长度是L=640个样本,并且每个帧被划分成k=80个样本的8个子块。

在图2的部分a)中,表示了在32kHz下采样的原始信号的帧。信号中的起动(或转变)位于起动于索引320的子块中。已经以低比特率(24Kbit/s)通过MDCT类型的变换编码器对此信号进行了编码。

在图2的部分b)中,展示了在不进行前回声处理的情况下进行的解码的结果。在包含起动的子块之前的子块中,可以观察到来自样本160的前回声。

部分c)示出了通过在上述现有技术专利申请中描述的方法来获得的前回声衰减因子(实线)的趋势。点线表示平滑之前的因子。注意,在样本380周围估计起动的位置(在由样本320和400界定的块中)。

部分d)展示了应用前回声处理之后的解码的结果((信号b)与信号c)相乘)。可以看到,前回声确实已经被衰减。图2还示出了平滑因子在起动的时刻并未回到1,这暗示了起动的振幅减小。虽然这种减小的可感知影响是非常小,但是虽然如此却可以避免。图3展示了与图2相同的示例,其中,在平滑之前,对于起动所位于的子块之前的子块的几个样本,衰减因子值被强制为1。图3的部分c)给出了这种校正的示例。

在此示例中,从索引364起动,已经向起动之前的子块的最后16个样本分配了因子值1。由此,平滑函数逐渐增大所述因子从而在起动的时刻具有接近1的值。然后,如在图3的部分d)中所展示的,起动的振幅被保留,但是有几个前回声样本没被衰减。

在图3的示例中,由于对增益的平滑,通过衰减的前回声减小并未使得有可能将前回声减小至起动的电平。

然而,对于一些类型的信号(如例如,现代音乐信号),可以完善这种前回声减小技术。实际上,在一些情况下,可能发生错误的前回声检测。图4展示了这种未经编码的且因此不具有前回声的原始信号的示例。所述信号是对电子/合成打击乐器的敲打。此处可以看到,在朝向索引1600的清楚起动之前,存在朝向索引1250起始的合成噪声。假设对信号进行完美编码/解码,因此形成信号的一部分的这种合成噪声将被以上所描述的前回声检测算法检测为前回声。前回声衰减处理将因此消除此信号分量。这将使解码信号失真(当编码/解码完美时),这是不期望的。

因此,需要一种用于在解码时辨别和衰减前回声的增强技术,所述增强技术使得有可能在编码器不传输任何辅助信息的情况下使对前回声的检测可靠并避免错误检测。



技术实现要素:

本发明改善了现有技术的状况。

为此,本发明涉及一种用于对从变换编码中生成的数字音频信号进行辨别和衰减的方法,其中,对于分解成子块的当前帧,在子块(在所述子块中检测到转变或起动)之前的低能量子块确定在其中实施前回声衰减处理的前回声区域。所述方法为使得,在从当前帧的第三子块中检测到起动的情况下,所述方法包括以下步骤:

-针对所述当前帧的在其中检测到起动的所述子块之前的至少两个子块计算所述能量的首项系数;

-将所述首项系数与预定义阈值进行比较;以及

-在所述所计算的首项系数低于所述预定义阈值的情况下,抑制所述前回声区域中的所述前回声衰减处理。

所计算的在所述起动的位置之前的子块的能量的首项系数使得有可能验证前回声区域中的信号的能量的向上趋势。这使得有可能通过避免错误前回声检测来使对前回声的检测可靠。实际上,参照图1,可以看到,前回声具有典型特性:其能量具有增大的趋势,接近引起前回声的起点。重叠-相加权重窗的形式解释了那一点。即使前回声具有在相加-重叠之前几乎恒定的能量,但是在重叠-相加模块的输入端处的信号乘以权重向过去减小的权重窗。在图4的示例性信号的情况下,信号在起动之前的能量近似恒定,这使得有可能区分前回声。由此,验证前回声区域中的信号的增大能量使得有可能增大前回声检测的可靠性。

在特定实施例中,所述方法进一步包括根据频率标准将所述数字音频信号分解成至少两个子信号的步骤,并且其特征在于,针对所述子信号中的至少一个子信号执行比较计算步骤。

当在当前帧的第三子块中检测到起动的位置时,在前回声区域中使用两个子块的能量来计算首项系数并将其与阈值进行比较。仅使用两个点,仅在分解成两个子信号的情况下对高频率子信号的验证足以检测错误前回声检测。

在其中已经检测到起动位置的子块之前的子块的数量足够的情况下,所述方法进一步包括根据频率标准将所述数字音频信号分解成至少两个子信号的步骤,并且其特征在于,针对所述子信号中的每个子信号执行所述计算和比较步骤,当对于至少一个子信号而言所计算的首项系数低于所述预定义阈值时,执行对所有所述子信号的在所述前回声区域中的所述前回声衰减处理的所述抑制。

由此,划分成子信号使得有可能独立地且以适合于子信号的方式执行前回声衰减。通过验证对应首项系数的值来增强子信号中的每个子信号的前回声区域检测可靠性。

根据特定实施例,针对每个子信号限定不同的阈值。

这使得有可能使验证适应于子信号的频谱特性。

在一个实施例中,根据最小二乘估计法计算首项系数。

这种计算方法的复杂性很低。

在一个可能的实施例中,对首项系数进行归一化。

由此,当阈值不同于0时,可以更容易地将首项系数与阈值进行比较。

在一个可能的实施例中,在所述当前帧的所述第一或第二子块中检测到起动的情况下,针对前一帧而计算的首项系数用于所述比较步骤。

本发明还涉及一种用于对从变换编码中生成的数字音频信号中的前回声进行辨别和衰减的设备,所述设备包括转变或起动检测模块、前回声区域辨别模块和前回声衰减处理模块,针对分解成子块的当前帧执行回声衰减处理,在其中检测到转变或起动的子块之前的所述低能量子块中确定前回声区域。所述设备为使得,在从所述当前帧的所述第三子块中检测到起动的情况下,所述设备进一步包括:

-计算模块,所述计算模块针对所述当前帧的在其中检测到起动的所述子块之前的至少两个子块计算所述能量的首项系数;

-比较器,所述比较器能够执行对所述首项系数与预定义阈值的比较;以及

-辨别模块,在所述所计算的首项系数低于所述预定义阈值的情况下,所述辨别模块能够抑制在所述前回声区域中的所述前回声衰减处理。

此设备的优点与其实施的针对衰减辨别和处理方法而描述的优点相同。

本发明的目标在于包括如之前所描述的设备的数字音频信号解码器。

本发明的目标还在于包括代码指令的计算机程序,当这些指令由处理器执行时,所述代码指令用于实施如之前所描述的方法的步骤。

最终,本发明涉及存储介质,所述存储介质能可由处理器读取、整合或不整合在处理设备中、可能地可移除的、存储实施如之前所描述的处理方法的计算机程序。

附图说明

在阅读仅作为非限制性示例给出的以下描述时并且参照所附附图,本发明的其他特征和优点将变得更更清晰明显,在附图中:

-之前所描述的图1展示了根据现有技术的变换编码-解码系统;

-之前所描述的图2展示了数字音频信号的示例,根据现有技术对所述数字音频信号执行衰减方法;

-图3展示了数字音频信号的另一个示例,根据现有技术对所述数字音频信号执行衰减方法;

-之前所描述的图4展示了信号的示例,对于所述信号,现有技术将错误地检测前回声;

-图5展示了根据本发明的包括在解码器中的前回声辨别和衰减处理设备的实施例;

-图6展示了用于有可能创建前回声现象的变换编码和解码的具有低延迟的分析窗口和合成窗口的示例;

-图7展示了数字音频信号的示例,对所述数字音频信号实施根据本发明的实施例的前回声衰减方法;

-图8展示了根据本发明的辨别和衰减处理设备的硬件示例。

具体实施方式

参照图5,描述了前回声辨别和衰减处理设备600。如在下文中所描述的衰减处理设备600包括在解码器中,所述解码器包括如参照图1而描述的接收信号S的逆量化模块610(Q-1)、逆变换模块620(MDCT-1)、相加-重叠信号重构模块630(add/rec)并且将重构信号xrec(n)传送至根据本发明的辨别和衰减处理设备。可以注意到,虽然此处采取了语音和音频编码中最常用的MDCT变换的示例,但是设备600同样适用于任何其他类型的变换(FFT、DCT等)。

在设备600的输出端处,提供了已经在其中执行了前回声衰减的处理信号Sa。

设备600在解码信号中实施前回声辨别和衰减处理方法xrec(n)。

在本发明的一个实施例中,辨别和衰减处理方法包括在解码信号xrec(n)中检测(E601)可能生成前回声的起动。

由此,设备600包括检测模块601,所述检测模块能够实施在解码音频信号中检测(E601)起动的位置的步骤。

起动是信号的动态范围(或振幅)的迅速转变和突然变化。可以通过更通用的术语“瞬态”来命名这种类型的信号。在下文中并且在不丢失普遍性的情况下,只有术语“起动”或“转变”将用于命名瞬态。

解码信号xrec(n)的L个样本的每个当前帧被划分为K个长度为L’的子块,例如,在32kHz下,L=640个样本(20ms),L’=80个样本(2.5ms)并且K=8。优选这些子块的大小因此是完全相同的,但是当子块具有可变大小时,本发明仍然有效并且可以被容易地普遍化。例如当帧长度L不可由子块的数量K除尽时或者如果帧长度可变,情况可能就是那样。

与在ITU-T G.718标准中描述的窗口类似的特定低延迟分析-合成窗口用于MDCT变换的分析部分和合成部分。参照图6展示了这种窗口的示例。不同于在使用常规正弦窗口的情况下的640个样本的延迟,由变换生成的延迟仅仅是280个样本。由此,不同于在使用常规正弦窗口的情况下的320个样本,具有特定低延迟分析-合成窗口的MDCT存储器仅包含140个独立样本(不与当前帧折叠)。

实际上,在图6中可以注意到,针对分析窗口(分析),折叠区域受样本820与1100之间的点线限制。折叠线由在样本960处的点划线表示。

对于合成(合成),为了通过利用对称性来获得与分析的折叠区域有关的信息,只有由间隔M表示的样本(140个样本)是必要的。包含在存储器中的这些样本则对于通过也使用下一帧的窗口的折叠样本来解码此折叠区域是有用的。在样本820与1100之间的此区域中的起动的情况下,由间隔M表示的样本的平均能量明显大于样本820之前的子帧的能量。因此,包含在MDCT存储器中的间隔M的能量的突然增大可以表示可以在当前帧中生成前回声的在下一帧中的起动。

使用了MDCT存储器xMDCT(n),这给出了具有未来信号的时间折叠的版本(“折叠”)。在具有如图6中所展示的特定低延迟分析-合成窗口的情况下,仅保留了一个(K’=1)长度为Lm(0)=140的块,所述块包含MDCT存储器的所有独立样本。因为存储器部分已经被分析窗口开窗(因此被衰减),所以不管此子块中更大数量的样本如何,其能量与当前帧的子块的能量仍然是可比的(如果信号仍然稳定)。

实际上,图1示出了前回声影响起动所位于的帧之前的帧,并且期望的是,检测部分地包含在MDCT存储器中的未来帧中的起动。

当前帧和MDCT存储器可以被视为形成被划分成(K+K')个连续子块的级联信号。在这些条件下,在第k个子块中的能量被定义为:

当第k个子块位于当前帧中时,并且被定义为:

当所述子块在MDCT存储器中(其表示对未来帧可用的信号)并且L存储器是存储器部分的子块的长度:

因此,当前帧中的子块的平均能量被获得为:

在当前帧的第二部分中的子块的平均能量也被定义为(假设K是偶数):

在所考虑的子块之一中,如果比率超过预定义阈值,则检测到与前回声相关联的起动。在不改变本发明的性质的情况下,其他前回声检测标准是有可能的。

此外,起动的位置被考虑为被定义为

其中,对L的限制确保MDCT存储器永远不被修改。用于估计起动的位置的其他更精确的方法也是有可能的。

设备600还包括实施确定(E602)所检测到的起动位置之前的前回声区域(ZPE)的步骤的前回声区域确定模块602。在此,术语前回声区域用于表示覆盖在所估计的起动位置之前的样本的区域,所述样本被起动所产生的前回声干扰并且其中对此前回声的衰减是令人期望的。在所呈现的实施例中,可以在解码信号上确定前回声区域。

在获得前回声区域的一个实施例中,能量En(k)按照时间顺序级联,首先是解码信号的时间包络,然后是从MDCT变换存储器中估计的下一帧的信号的包络。基于此级联的时间包络和前一帧的平均能量和例如如果比率R(k)超过阈值(通常,此阈值是16),则检测到前回声的存在。

在其中已经检测到前回声的子块由此构成前回声区域,所述前回声区域通常覆盖样本n=0,…,pos-1,即,从当前帧的起始处到起动的位置(pos)。还可以注意到,如果已经在未来帧中检测到起动,则前回声区域可以非常好地延伸跨过整个当前帧。

设备600包括计算模块603,所述计算模块能够实施计算在其中已经检测到起动的子块之前的子块的能量的首项系数(或变化趋势指示)的步骤。

定义了表示n个实现的集合(ti,ei),0<=i<n的线性模型处,ti是子块的时间索引,并且ei是所述子块的能量,其中,方程

e=b0+b1t (1)

其中,b0是在瞬间t=0处的值,并且b1是首项系数。首项系数给出了关于能量的变化趋势(平均趋势)的信息。正首项系数表示能量的增大。接近0的值表示恒定能量。

b1的值可以通过以下线性最小二乘回归来确定:

其中,对预定索引i执行求和。

b1的值还取决于能量的量(作为绝对值);所述值实际上随着时间与能量一致。为了能够更好地将b1的值与阈值(例如,固定阈值)进行比较,可以消除这种依赖性。例如,可以将b1的值除以能量的平均值以便获得归一化的首项系数:

可替代地,可以得到相关系数。

因为此替代性解决方案涉及计算平方根,所以其具有更高的计算复杂性。

用于估计首项系数的其他方法也是有可能的,例如,图基中位数-中位数方法。

还可以注意到,当必须将首项系数与零值阈值进行比较(这相当于验证此系数的符号)时,没必要将此系数归一化。

此外,代替将首项系数归一化,因为以下关系是同等的,所以将有可能使阈值可变:

如果在第一或第二子块中检测到起动,则根据本发明的验证不可能。如果在第三子块中检测到起动,则在前回声区域中的两个子块的能量e0和e1可用于进行这种验证(e1最接近起动)。使用2个点,方程(3)由此被简化:

如果在第四子块中检测到起动,则在前回声区域中存在3个子块的能量e0、e1和e2可用于进行这种验证(e2最接近起动)。使用3个点,方程(3)由此被简化:

如果存在4个或更多个子块,则可以对4个或更多个子块计算首项系数。实验表明,对在其中已经检测到起动的子块之前的3个子块计算的首项系数的验证足以避免错误的前回声检测——此结论适用于每个20ms帧上的8个子块的情况,并且可以根据子块和帧的大小进行适配。

由此,在优选实施例中,使用至多3个子块来计算首项系数。这使得有可能限制对首项系数的计算的最大复杂性。

根据本发明,然后,由比较器模块604在步骤E604中将由此获得的归一化的首项系数b1n与预定义阈值进行比较。阈值可以使用固定值来进行预定义或者可以根据例如根据语音或音乐标准来对信号进行的分类而变化。通常,如果仅验证能量并未减小,则此阈值等于0,或者如果在前回声区域中强加少量的能量增大,则此阈值等于0.2。如果归一化的首项系数b1n低于此阈值,则结论是前回声区域中的信号与典型的前回声不对应,并且在步骤E602中抑制对此区域中的前回声的衰减。由此,避免了解码信号(其原始输入信号包含起动之前的低能量分量,所述低能量分量由前回声衰减模块通过检测此分量来错误地修改/变更)的情况。

在步骤E607中,由衰减模块607对所辨别的前回声区域实施前回声衰减。例如以申请FR 08 56248中的方式计算衰减因子。在模块604已经检测到错误的前回声检测的情况下,衰减因子可以被强制为1,由此抑制衰减,否则辨别模块602不将此区域辨别为前回声区域,然后,不调用衰减模块。

在特定实施例中,设备600进一步包括信号分解模块605,所述信号分解模块能够执行根据预定标准将解码信号分解成两个子信号的步骤E605。在申请FR12 62598中显著地描述了此方法,在此回顾了所述申请的一些元件。

在本发明的特定实施例中,解码信号xrec(n)在步骤E605中被分解成如下两个子信号:

-第一子信号xrec,ss1(n)通过使用具有3个系数和零个传递函数c(n)z-1+(1-2c(n))+c(n)z相位的FIR滤波器(有限脉冲响应滤波器)通过低通滤波来获得,c(n)是介于0与0.25之间的值,其中,[c(n),1-2c(n),c(n)]是低通滤波器的系数;此使用差分方程来实施此滤波器:

xrec,ss1(n)=c(n)xrec(n-1)+(1-2c(n))xrec(n)+c(n)x(n+1)

在特定实施例中,使用了常数值c(n)=0.25。可以注意到,从这种滤波中产生的子信号xrec,ss1(n)因此主要包含解码信号的低频分量。

-第二子信号xrec,ss2(n)通过使用具有3个系数和零个传递函数-c(n)z-1+2c(n)-c(n)z相位的FIR滤波器通过互补高通滤波来获得,其中,[-c(n),2c(n),-c(n)]是高通滤波器的系数;用差分方程来实施此滤波器:xrec,ss2(n)=-c(n)xrec(n-1)+2c(n)xrec(n)-c(n)x(n+1)。从这种滤波中产生的子信号xrec,ss2(n)因此主要包含解码信号的高频分量。

注意,xrec,ss1(n)+xrec,ss2(n)=xrec(n)。

因此,还有可能通过以下方式来获得xrec,ss2(n):将xrec,ss1(n)从xrec(n)中减去,这减小了计算的复杂性:xrec,ss2(n)=xrec(n)-xrec,ss1(n)。

在以下所描述的步骤E608中,通过简单地将衰减子信号相加来完成组合衰减子信号以便获得衰减信号Sa。

为了不使用未来信号来进行这些滤波,例如有可能使用在块末端处的0个样本来补足解码信号。对于n=L-1,使用在块末端处的0个样本来补足的解码信号的情况下,子信号xrec,ss1(n)通过以下获得:

xrec,ss1(L-1)=c(L-1)xrec(L-2)+(1-2c(L-1))xrec(L-1),

xrec,ss2(n)通常被计算为xrec,ss2(n)=xrec(n)-xrec,ss1(n)。

可以注意到,此处的两个子信号仍然具有与解码信号相同的采样频率。

在计算模块606中实施计算前回声衰减因子的步骤E606。对这两个子信号单独地完成这种计算。

针对在E602中根据在其中已经检测到起动的帧以及根据前一帧来确定的前回声区域的每个样本而获得这些衰减因子。

然后,获得因子gpre,ss1′(n)和gpre,ss2′(n),其中,n是相应样本的索引。如果必要,将对这些因子进行平滑以便分别获得因子gpre,ss1(n)和gpre,ss2(n)。这种平滑对于包含低频分量的子信号(因此对于此示例中的gpre,ss1′(n))尤其重要。

在专利申请FR 08 56248中描述了实现衰减计算的示例。针对每个子块而计算衰减因子。此外,在此处所描述的方法中,针对每个子信号而单独地计算所述衰减因子。对于检测到的起动之前的样本,因此计算衰减因子gpre,ss1′(n)和gpre,ss2′(n)。接下来,如果必要,平滑这些衰减值以便获得每个样本的衰减值。

对子信号的衰减因子的计算(例如,gpre,ss2′(n))可以类似于专利申请FR 08 56248中根据解码信号的最高能量子块的能量与第k个子块的能量之间的比率R(k)(也用于检测起动)针对解码信号而描述的计算。gpre,ss2′(n)被初始化为:

gpre,ss2′(n)=g(k)=f(R(k)),n=kL′,...,(k+1)L'-1;k=0,...,K-1

其中,f是值在0与1之间的递减函数,例如,如果R(k)<=16,则f=0;如果16>R(k),则f=0.1;并且如果r(k)>32,则f=0.01。

如果能量相对于最大能量的变化很低,则衰减是不必要的。然后,所述因子被设置抑制衰减的衰减值,也就是说,1。否则,衰减因子位于0与1之间。这种初始化对于所有子信号是常见的。

然后,针对每个子信号而细化衰减值以便能够根据解码信号的特性设置每子信号的最佳衰减水平。例如,因为在前回声衰减处理之后,信号的能量变得低于处理区域之前的信号的每子块的平均能量(通常是前一帧的平均能量或前一帧的后半部分的平均能量)不是令人期望的,所以可以根据前一帧的子信号的平均能量来限制衰减。

这种限制可以采用与专利申请FR 08 56248中描述的方式类似的方式来完成。例如,对于第二信号xrec,ss2(n),首先将当前帧的K个子块中的能量计算为:

从存储器中还已知的是前一帧的平均能量和前一帧的后半部分的平均能量所述能量可以被计算(在前一帧中)为:

其中,从0到K的子块索引与当前帧相对应。

对于待处理的子块k,可以计算因子的极限值limg,ss2(k)以便准确地获得与待处理的子块之前的片段的每子块的平均能量相同的能量。当然,因为此处感兴趣的是衰减值,所以此值被限制为最大为1。更具体地:

,其中,通过来近似估计前一片段的平均能量。

由此获得的值limg,ss2(k)充当在最终计算子块的衰减因子时的下限:

gpre,ss2′(n)=max(gpre,ss2′(n),limg,ss2(k)),n=kL′,...,(k+1)L'-1;k=0,...,K-1

在第一变体实施例中,前回声区域,在所述前回声区域中,衰减从当前帧的起始处延伸到在其中已经检测到起动的子块的起始处-远至pos,其中,即使起动位于朝向此子块末端,也将与起动的子块的样本相关联的衰减全部设置为1。

在另一个变体实施例中,在起动的子块中对起动pos的起始位置进行细化,例如,通过将子块细分成子子块,通过观察这些子子块的能量的趋势。假设在子块k(k>0)中检测到起动起始位置并且细化的起动pos的起始位于此子块中,可以根据与前一子块的最后一个样本相对应的衰减值来对针对此子块的位于pos索引之前的样本的衰减值进行初始化:

gpre,ss2′(n)=gpre,ss2′(kL′-1),n=kL′,...,pos-1

来自pos索引的所有衰减被设置为1。

对于包含解码信号的低频分量的第一子信号,基于子信号xrec,ss1(n)来进行的对衰减值的计算可以类似于基于解码信号xrec(n)来进行的对衰减值的计算。由此,在变体实施例中,为了减小计算复杂性,可以基于解码信号xrec(n)确定衰减值。在解码信号上进行对起动的检测的情况下,因为对于此信号,已经计算了每子块的能量值以便检测起动,因此不再需要重新计算子块的能量。由于对于大多数信号,低频率比高频率更加能量密集,解码信号xrec(n)和子信号xrec,ss1(n)的每子块的能量非常接近,这种近似给出了非常令人满意的结果。

然后,可以通过逐样本地应用的平滑函数来平滑针对每个子块而确定的衰减因子gpre,ss1(n)和gpre,ss2(n),以便避免衰减因子在块的边界处的突然变化。这对于包含低频分量的子信号(如子信号xrec,ss1(n))尤其重要,但是对于仅包含高频分量的子信号(如子信号xrec,ss2(n))不是必要的。

图7展示了由箭头L表示的具有平滑函数的衰减增益的应用的示例。

此图在a)中展示了原始信号的示例;在b)中展示了在不进行前回声衰减的情况下解码的信号;在c)中展示了针对根据分解步骤E605而获得的两个子信号的衰减增益;以及在d)中展示了在进行步骤E607和E608的前回声衰减的情况下解码的信号(也就是说,在组合两个衰减子信号之后)。

从此图中可以看出,由点线表示的且与针对包括低频分量的第一子信号而计算的增益相对应的衰减增益包括如以上所描述的平滑函数。由实线表示的且针对包括高频分量的第二子信号而计算的衰减增益不包括任何平滑增益。

在d)中表示的信号清楚地示出了已经通过所实施的衰减处理来有效衰减的前回声。

平滑函数例如优选地由以下方程式定义:

常规的是,gpre,ss1′(n)n=-(u-1),…,-1是针对子信号xrec,ss1(n)之前的子块的最后样本而获得的最后u-1个衰减因子。通常,u=5但是可以使用另一个值。根据所使用的平滑,对于单独处理的两个子信号,即使在解码信号的基础上共同进行对起动的检测,前回声区域(经衰减的样本的数量)也因此可以是不同的。

经平滑的衰减因子在起动的时间并未回升到1,这暗示了起动的振幅的减小。虽然这种减小的可感知影响非常小,但是虽然如此也应当避免。为了缓解这种问题,对于起动的起始所位于的pos索引之前的u-1个样本,衰减因子值可以被强制为1。对于应用平滑的子信号,这相当于将pos标记前进u-1个样本。由此,平滑函数逐渐增大所述因子以便在起动的时刻具有值1。然后,保存起动的振幅。

在此实施例中,随着对信号的分解,针对至少一个子信号或对这些子信号中的每个子信号执行验证根据本发明的前回声区域的能量的增大。

根据子信号以及根据起动之前可用的子块的数量,所使用的比较阈值可以不同。

在至少一个子信号中,如果归一化的首项系数b1n低于此子信号的阈值,则抑制针对所有子信号的前回声衰减。

在信号中的前回声源自逆MDCT变换的情况下,前回声分量的能量增大或至少在所有子信号中是稳定的。可以例如通过将衰减因子设置为1或通过不将所述区域辨别为前回声区域来完成抑制前回声处理,然后,如通过示例的方式在图5的实施例中通过框604与框602之间的链接展示的,不调用前回声衰减处理模块。

在变体中,归一化的首项系数b1n一低于此子信号的阈值就单独地抑制针对每个子信号的衰减。将能够例如通过将衰减因子设置为1或通过不为所考虑的子信号调用前回声模块来实施所述抑制。

由此,在以上所描述的特定实施例中,随着分解成两个子信号,如果起动之前的子块的数量使得有可能进行这种验证,则在两个子信号中通过线性回归来验证在其中已经检测到起动的子块之前的子块的能量的趋势。在将解码信号划分成子信号(E605)之后以及在应用前回声的衰减因子(E607)之前的任何时刻,可以根据步骤E603和E604来完成这种验证。如果至少两个子块处于在其中已经检测到起动的子块之前,则所述验证是有可能的。如果在第一或第二子块中检测到起动,则根据本发明的验证不可能。

在变体中,如果在当前帧的第一或第二子块中检测到起动,则将有可能重新使用可能在前一帧中计算的(多个)首项系数。

如果在第三子块中检测到起动,则在前回声区域中的两个子块的能量可用于进行这种验证。通过实验,使用两个点,所述验证在低频子信号xrec,ss1(n)中并不足够可靠。然后,仅验证高频子信号xrec,ss2(n),并且只有这样能量才不会减小。将高频子信号xrec,ss2(n)的首项系数与0值阈值进行比较。此处,只有其符号是重要的,不需要归一化。因此,在步骤E603中,计算如下单个首项系数(在不进行归一化的情况下)就足够了:

b1ss2=Enss2(1)-Enss2(0)

如果b1ss2小于0,则针对所有子信号而抑制对此前回声区域的前回声的衰减。

如果在第四子块或索引的大于4的子块中检测到起动,则验证前回声区域中在其中已经检测到起动的子块之前的最后3个子块的能量的趋势。将低频子信号xrec,ss1(n)的首项系数与0进行比较,只有其符号是重要的,并且不需要对此系数进行归一化。因此,计算单个首项系数就足够了。如果在索引id的子块中已经检测到起动,id>=3,则此系数被确定为:

b1ss1=En(id-1)-Enss2(id-3)

如果b1ss1小于0,则针对此前回声区域以及针对所有子信号而抑制对前回声的衰减。

将高频子信号xrec,ss2(n)的首项系数与值0.2的阈值进行比较。计算归一化的首项系数。如果在索引id的子块中已经检测到起动,id>=3,则此系数被确定为:

如果b1nss2小于0.2,则针对此前回声区域以及针对所有子信号而抑制对前回声的衰减。

注意,条件

等同于

由此避免划分操作从而减小复杂性并且促进在DSP处理器(数字信号处理器)上使用定点运算来进行的实施。

图5的设备600的模块607通过将由此计算的衰减因子应用于子信号来在子信号中的每个子信号的前回声区域中实施前回声衰减的步骤E607。

因此,在子信号中独立地完成前回声衰减。由此,在表示不同频带的子信号中,可以根据前回声的频谱分布选择衰减。

最终,获得模块608的步骤E608使得有可能通过根据以下方程式组合衰减子信号(在此示例中,通过简单相加)来获得衰减输出信号(在前回声衰减之后的解码信号):

xrec,f(n)=gpre,ss1(n)xrec,ss1(n)+gpre,ss2(n)xrec,ss2(n),n=0,…,L-1

不像常规地分解成子带,此处可以注意到,所使用的滤波与子信号抽选操作不相关联,并且复杂行和延迟(“向前看”或未来帧)被减小至最小。

现在参照图8描述根据本发明的衰减辨别和处理设备的示例性实施例。

物理地,在本发明的意义之内的此设备100通常包括与包括存储存储器和/或工作存储器的存储器块BM协作的处理器μP,以及以上所提及的作为用于存储对于实施如参照图5而描述的辨别和衰减处理方法所必需的所有数据的装置的缓冲器存储器MEM。此设备充当数字信号Se的输入连续帧并且传递在经辨别的前回声区域中使用前回声衰减来重构的信号Sa,如果适当的话,通过组合衰减子信号来重构衰减信号。

存储器块BM可以包括计算机程序,所述计算机程序包括用于实施根据本发明的方法的步骤的代码指令(当这些指令由设备的处理器μP执行时),并且具体地,用于实施以下步骤的代码指令:针对在其中检测到起动的子块之前的至少两个子块计算能量的首项系数;将所述首项系数与预定义阈值进行比较;在所述所计算的首相系数低于所述预定义阈值的情况下,抑制所述前回声区域中的所述前回声衰减处理。

图5可以展示这种计算机程序的算法。

根据本发明的辨别和衰减处理设备可以是独立的或可以结合到数字信号解码器中。这种解码器可以结合到数字音频信号存储设备或如通信网关、通信终端或通信网络的服务器等传输设备项目中。

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