回声消除方法、装置、系统和计算机可读介质

文档序号:1088604 发布日期:2020-10-20 浏览:24次 >En<

阅读说明:本技术 回声消除方法、装置、系统和计算机可读介质 (Echo cancellation method, apparatus, system and computer readable medium ) 是由 许云峰 于 2020-07-07 设计创作,主要内容包括:本申请提供了一种回声消除方法、装置、系统和计算机可读介质。该方法包括:步骤1,根据自适应滤波器系数w(t)和远端信号x(t)计算估计回声信号y(t);步骤2,根据近端信号d(t)和估计回声信号y(t)计算输出残差信号e(t);以及步骤3,根据自适应滤波器更新步长μ、远端信号x(t)和输出残差信号e(t)更新自适应滤波器系数w(t)。该方法通过使用自适应滤波器并更新自适应滤波器系数来消除通话过程中的线性回声部分,达到更好地消除近端信号中的回声的目的。(An echo cancellation method, apparatus, system, and computer readable medium are provided. The method comprises the following steps: step 1, calculating an estimated echo signal y (t) according to a self-adaptive filter coefficient w (t) and a far-end signal x (t); step 2, calculating an output residual signal e (t) according to the near-end signal d (t) and the estimated echo signal y (t); and step 3, updating the adaptive filter coefficient w (t) according to the adaptive filter updating step size mu, the far-end signal x (t) and the output residual signal e (t). The method achieves the purpose of better eliminating the echo in the near-end signal by using the adaptive filter and updating the coefficient of the adaptive filter to eliminate the linear echo part in the call process.)

回声消除方法、装置、系统和计算机可读介质

技术领域

本申请主要涉及信号处理技术领域,尤其涉及一种回声消除方法、装置、系统和计算机可读介质。

背景技术

在具有扬声器和麦克风的音频系统中,通话回声是不可避免的存在。扬声器所播放的远端信号会被麦克风再次采集,然后含有回声信号的近端信号会被传回对端,影响音频通话质量。因此,通常采用回声消除器来消除掉近端信号中的回声信号。

自适应滤波器是回声消除器的重要组成部分,它通过利用原始远端信号来从近端信号中消除掉远端信号所产生的回声信号,能够消除通话过程中的线性回声部分。但通常自适应滤波器在实际运用中无法很好地实现回声消除。因此,如何更好地进行回声消除,是本领域亟待解决的问题。

发明内容

本申请要解决的技术问题是提供一种回声消除方法和装置,能够更好进行回声消除。

为解决上述技术问题,本申请提供了一种回声消除方法,包括:步骤1,根据自适应滤波器系数w(t)和远端信号x(t)计算估计回声信号y(t);步骤2,根据近端信号d(t)和估计回声信号y(t)计算输出残差信号e(t);以及步骤3,根据自适应滤波器更新步长μ、远端信号x(t)和输出残差信号e(t)更新自适应滤波器系数w(t)。

可选地,该方法还包括:以预设次数重复步骤1、步骤2和步骤3。

可选地,远端信号x(t)为由当前远端信号和多个与当前远端信号邻近的历史远端信号组成的远端信号组xm(t);估计回声信号y(t)为由当前估计回声信号和多个与当前估计回声信号邻近的历史估计回声信号组成的估计回声信号组ym(t);近端信号d(t)为由当前近端信号和多个与当前近端信号邻近的近端信号组成的近端信号组dm(t);输出残差信号e(t)为由当前输出残差信号和多个与当前输出残差信号邻近的输出残差信号组成的输出残差信号组em(t)。

可选地,远端信号组xm(t)、估计回声信号组ym(t)、近端信号组dm(t)和输出残差信号组em(t)中所含的信号数量相等。

可选地,步骤1中估计回声信号y(t)是按照如下方式计算:

y(t)=w(t)Tx(t);

步骤2中残差信号e(t)是按照如下方式计算:

e(t)=d(t)-y(t);

步骤3中自适应滤波器系数w(t)是按照如下方式更新:

可选地,步骤1中估计回声信号组ym(t)是按照如下方式计算:

ym(t)=w(t)Txm(t);

步骤2中输出残差信号组em(t)是按照如下方式计算:

em(t)=dm(t)-ym(t);

步骤3中自适应滤波器系数w(t)是按照如下方式更新:

本申请还提供了一种回声消除装置,包括:自适应滤波器模块,用于根据自适应滤波器系数w(t)和远端信号x(t)计算估计回声信号y(t);回声消除模块,用于根据近端信号d(t)和估计回声信号y(t)计算输出残差信号e(t);以及更新模块,用于根据自适应滤波器更新步长μ、远端信号x(t)和输出残差信号e(t)更新自适应滤波器系数w(t)。

可选地,该装置还包括:重复模块,用于以预设次数重复通知自适应滤波器模块执行根据自适应滤波器系数w(t)和远端信号x(t)计算估计回声信号y(t)的步骤、回声消除模块执行根据近端信号d(t)和估计回声信号y(t)计算输出残差信号e(t)的步骤以及更新模块执行根据自适应滤波器更新步长μ、远端信号x(t)和输出残差信号e(t)更新自适应滤波器系数w(t)的步骤。。

可选地,远端信号x(t)为由当前远端信号和多个与当前远端信号邻近的历史远端信号组成的远端信号组xm(t);估计回声信号y(t)为由当前估计回声信号和多个与当前估计回声信号邻近的历史估计回声信号组成的估计回声信号组ym(t);近端信号d(t)为由当前近端信号和多个与当前近端信号邻近的近端信号组成的近端信号组dm(t);输出残差信号e(t)为由当前输出残差信号和多个与当前输出残差信号邻近的输出残差信号组成的输出残差信号组em(t)。

可选地,远端信号组xm(t)、估计回声信号组ym(t)、近端信号组dm(t)和输出残差信号组em(t)中所含的信号数量相等。

可选地,根据自适应滤波器系数w(t)和远端信号x(t)计算估计回声信号y(t)是按照如下方式计算:

y(t)=w(t)Tx(t);

根据近端信号d(t)和估计回声信号y(t)计算输出残差信号e(t)是按照如下方式计算:

e(t)=d(t)-y(t);

根据自适应滤波器更新步长μ、远端信号x(t)、输出残差信号e(t)更新自适应滤波器系数w(t)是按照如下方式计算:

可选地,根据自适应滤波器系数w(t)和远端信号x(t)计算估计回声信号y(t)是按照如下方式计算:

ym(t)=w(t)Txm(t);

根据近端信号d(t)和估计回声信号y(t)计算输出残差信号e(t)是按照如下方式计算:

em(t)=dm(t)-ym(t);

根据自适应滤波器更新步长μ、远端信号x(t)、输出残差信号e(t)更新自适应滤波器系数w(t)是按照如下方式更新:

本申请还提供了一种回声消除系统,包括:存储器,用于存储可由处理器执行的指令;以及处理器,用于执行所述指令以实现如上所述的方法。

本申请还提供了一种存储有计算机程序代码的计算机可读介质,所述计算机程序代码在由处理器执行时实现如上所述的方法。

与现有技术相比,本申请具有以下优点:

通过使用自适应滤波器并更新自适应滤波器系数来消除通话过程中的线性回声部分,达到更好地消除近端信号中的线性回声的目的。

附图说明

包括附图是为提供对本申请进一步的理解,它们被收录并构成本申请的一部分,附图示出了本申请的实施例,并与本说明书一起起到解释本申请原理的作用。附图中:

图1示出了根据本申请一实施例的声学回声消除的原理图。

图2示出了根据本申请一实施例的回声消除方法的流程示意图。

图3示出了根据本申请另一实施例的回声消除方法的流程示意图。

图4示出了根据本申请一实施例的回声消除装置的框图。

图5示出了根据本申请一实施例示出的回声消除系统的系统框图。

具体实施方式

为了更清楚地说明本申请的实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。

如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。

除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各种步骤。同时,或将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。

图1示出了根据本申请一实施例的声学回声消除(Acoustic Echo Cancellation,AEC)的原理图。电子音频设备具备扬声器和麦克风,下行语音x(t)(又称远端信号)通过本端的扬声器播放出来,经过多次反射产生回声信号,导致麦克风在采集近端信号d(t)时含有近端语音和回声信号。通过自适应滤波器(Adaptive Filter,AF)来模拟回声的反射路径,估计出估计回声信号y(t)。最后,从近端信号d(t)中减去估计回声信号y(t)的方法以消除回声信号。

图2示出了根据本申请一实施例的回声消除方法的流程示意图。如图2所示,本实施例的回声消除方法包括以下步骤:

步骤201,根据自适应滤波器系数w(t)和远端信号x(t)计算估计回声信号y(t);

步骤202,根据近端信号d(t)和估计回声信号y(t)计算输出残差信号e(t);以及

步骤203,根据自适应滤波器更新步长μ、远端信号x(t)和输出残差信号e(t)更新自适应滤波器系数w(t)。

在步骤201中,回声消除装置根据自适应滤波器系数w(t)和远端信号x(t)计算估计回声信号y(t)。其中,自适应滤波器系数w(t)可以是预先设置的参数。可选地,估计回声信号y(t)可以是按照如下方式计算:

y(t)=w(t)Tx(t)

在步骤202中,回声消除装置根据近端信号d(t)和估计回声信号y(t)计算输出残差信号e(t)。可选地,残差信号e(t)可以是按照如下方式计算:

e(t)=d(t)-y(t)

在步骤203中,回声消除装置根据自适应滤波器更新步长μ、远端信号x(t)和输出残差信号e(t)更新自适应滤波器系数w(t)。其中,自适应滤波器更新步长μ可以是预先设置的参数。可选地,自适应滤波器系数w(t)可以是按照如下方式更新:

Figure BDA0002573824150000061

本实施例的回声消除方法通过使用自适应滤波器并更新自适应滤波器系数来消除通话过程中的线性回声部分,达到更好地消除近端信号中的线性回声的目的。

进一步地,该方法还可以通过一批数据来对自适应滤波器系数w(t)进行更新。也就是说,远端信号x(t)可以为由当前远端信号和多个与当前远端信号邻近的历史远端信号组成的远端信号组xm(t);估计回声信号y(t)可以为由当前估计回声信号和多个与当前估计回声信号邻近的历史估计回声信号组成的估计回声信号组ym(t);近端信号d(t)可以为由当前近端信号和多个与当前近端信号邻近的近端信号组成的近端信号组dm(t);输出残差信号e(t)为可以由当前输出残差信号和多个与当前输出残差信号邻近的输出残差信号组成的输出残差信号组em(t)。与当前信号邻近的历史信号是指与当前信号在时间上邻近的历史信号。远端信号组xm(t)、估计回声信号组ym(t)、近端信号组dm(t)和输出残差信号组em(t)中所含的信号数量可以相等。

相应地,步骤201中估计回声信号组ym(t)可以是按照如下方式计算:

ym(t)=w(t)Txm(t)

步骤202中输出残差信号组em(t)可以是按照如下方式计算:em(t)=dm(t)-ym(t)

步骤203中自适应滤波器系数w(t)可以是按照如下方式更新:

Figure BDA0002573824150000071

在上述步骤201-204中,m=0,1,...M-1,M为远端信号组xm(t)、估计回声信号组ym(t)、近端信号组dm(t)和输出残差信号组em(t)中所含的信号数量。

由于噪声干扰等因素,不同时刻的自适应滤波器系数w(t)的最优值可能并不重合。因此相比于每次一个点的更新,通过一批数据来对自适应滤波器系数w(t)进行更新,不求某一个时刻的最优解,而是求一段时间的最优解,从而进一步地提高了自适应滤波器的线性回声消除能力,达到更好地消除近端信号中的回声的目的。

图3示出了根据本申请另一实施例的回声消除方法的流程示意图。如图3所示,本实施例的回声消除方法包括以下步骤:

步骤301,根据自适应滤波器系数w(t)和远端信号x(t)计算估计回声信号y(t);

步骤302,根据近端信号d(t)和估计回声信号y(t)计算输出残差信号e(t);以及

步骤303,根据自适应滤波器更新步长μ、远端信号x(t)和输出残差信号e(t)更新自适应滤波器系数w(t)。

步骤304,以预设次数重复步骤301、步骤302和步骤303。

其中,步骤301-303可参考前述实施例中的步骤201-203,在此不再展开描述。

在步骤304中,回声消除装置以预设次数重复步骤301、步骤302和步骤303。通过重复步骤301-303进行多次迭代,可以明显改善自适应滤波器的收敛性能,进一步提高自适应滤波器对回声路径的拟合能力,达到更好地消除近端信号中的线性回声的目的。本领域技术人员可以根据经验或实际需要设置预设次数,本申请对此不作限定。

与前述实施例类似,本实施例的回声消除方法也可以通过一批数据来对自适应滤波器系数w(t)进行更新。远端信号x(t)可以为由当前远端信号和多个与当前远端信号邻近的历史远端信号组成的远端信号组xm(t);估计回声信号y(t)可以为由当前估计回声信号和多个与当前估计回声信号邻近的历史估计回声信号组成的估计回声信号组ym(t);近端信号d(t)可以为由当前近端信号和多个与当前近端信号邻近的近端信号组成的近端信号组dm(t);输出残差信号e(t)为可以由当前输出残差信号和多个与当前输出残差信号邻近的输出残差信号组成的输出残差信号组em(t)。与当前信号邻近的历史信号是指与当前信号在时间上邻近的历史信号。远端信号组xm(t)、估计回声信号组ym(t)、近端信号组dm(t)和输出残差信号组em(t)中所含的信号数量可以相等。

相应地,步骤301中估计回声信号组ym(t)可以是按照如下方式计算:

ym(t)=w(t)Txm(t)

步骤302中输出残差信号组em(t)可以是按照如下方式计算:

em(t)=dm(t)-ym(t)

步骤303中自适应滤波器系数w(t)可以是按照如下方式更新:

在上述步骤301-303中,m=0,1,...M-1,M为远端信号组xm(t)、估计回声信号组ym(t)、近端信号组dm(t)和输出残差信号组em(t)中所含的信号数量。

由于噪声干扰等因素,不同时刻的自适应滤波器系数w(t)的最优值可能并不重合。虽然采用多次迭代的算法能够明显改善自适应滤波器的收敛性能,但是由于使用局部数据进行多次迭代后会产生在该时间点过拟合的问题,会使自适应滤波器系数w(t)过度收敛到当前数据。也就是说,自适应滤波器系数w(t)会收敛到局部最优解,并不能收敛到全局最优解,导致整体噪声鲁棒性差。因此相比于每次一个点一个点的更新,通过一批数据来对自适应滤波器系数w(t)进行更新,不求某一个时刻的最优解,而是求一段时间的最优解,能够有效地减少自适应滤波器系数w(t)过度收敛的问题和提高整体噪声鲁棒性,从而大幅度地提高了自适应滤波器的线性回声消除能力,达到更好地消除近端信号中的回声的目的。

图4示出了根据本申请一实施例的回声消除装置的框图。如图4所示,回声消除装置400包括自适应滤波器模块410、回声消除模块420和更新模块430。

其中,自适应滤波器模块410用于根据自适应滤波器系数w(t)和远端信号x(t)计算估计回声信号y(t);回声消除模块420用于根据近端信号d(t)和估计回声信号y(t)计算输出残差信号e(t);以及更新模块430,用于根据自适应滤波器更新步长μ、远端信号x(t)和输出残差信号e(t)更新自适应滤波器系数w(t)。

可选地,如图4所示,该回声消除装置400还可以包括重复模块440。重复模块440用于以预设次数重复通知自适应滤波器模块410执行根据自适应滤波器系数w(t)和远端信号x(t)计算估计回声信号y(t)的步骤、回声消除模块420执行根据近端信号d(t)和估计回声信号y(t)计算输出残差信号e(t)的步骤以及更新模块430执行根据自适应滤波器更新步长μ、远端信号x(t)和输出残差信号e(t)更新自适应滤波器系数w(t)的步骤。本领域技术人员可以根据经验或实际需要设置预设次数,本申请对此不作限定。

可选地,根据自适应滤波器系数w(t)和远端信号x(t)计算估计回声信号y(t)可以是按照如下方式计算:

y(t)=w(t)Tx(t)

根据近端信号d(t)和估计回声信号y(t)计算输出残差信号e(t)可以是按照如下方式计算:

e(t)=d(t)-y(t)

根据自适应滤波器更新步长μ、远端信号x(t)、输出残差信号e(t)更新自适应滤波器系数w(t)自适应滤波器系数w(t)可以是按照如下方式更新:

可选地,其中,远端信号x(t)可以为由当前远端信号和多个与当前远端信号邻近的历史远端信号组成的远端信号组xm(t);估计回声信号y(t)可以为由当前估计回声信号和多个与当前估计回声信号邻近的历史估计回声信号组成的估计回声信号组ym(t);近端信号d(t)可以为由当前近端信号和多个与当前近端信号邻近的近端信号组成的近端信号组dm(t);输出残差信号e(t)可以为由当前输出残差信号和多个与当前输出残差信号邻近的输出残差信号组成的输出残差信号组em(t)。与当前信号邻近的历史信号是指与当前信号在时间上邻近的历史信号。可选地,其中,远端信号组xm(t)、估计回声信号组ym(t)、近端信号组dm(t)和输出残差信号组em(t)中所含的信号数量可以相等。

可选地,根据自适应滤波器系数w(t)和远端信号x(t)估计回声信号组ym(t)可以是按照如下方式计算:

ym(t)=w(t)Txm(t)

根据近端信号d(t)和估计回声信号y(t)计算输出残差信号组em(t)可以是按照如下方式计算:

em(t)=dm(t)-ym(t)

根据自适应滤波器更新步长μ、远端信号x(t)、输出残差信号e(t)更新自适应滤波器系数w(t)可以是按照如下方式更新:

上述自适应滤波器模块410、回声消除模块420、更新模块430和收敛模块440所执行的步骤可参考前述实施例中的相应步骤201-203或301-304,在此不再展开描述。

本申请还提供了一种回声消除系统,包括:存储器,用于存储可由处理器执行的指令;以及处理器,用于执行所述指令以实现如上所述的任一种回声消除方法。

图5示出了根据本申请一实施例示出的回声消除系统的系统框图。回声消除系统500可包括内部通信总线501、处理器(Processor)502、只读存储器(ROM)503、随机存取存储器(RAM)504、以及通信端口505。当应用在个人计算机上时,回声消除系统还可以包括硬盘507。内部通信总线501可以实现回声消除系统500组件间的数据通信。处理器502可以进行判断和发出提示。在一些实施例中,处理器502可以由一个或多个处理器组成。通信端口505可以实现回声消除系统500与外部的数据通信。在一些实施例中,回声消除系统500可以通过通信端口505从网络发送和接受信息及数据。回声消除系统500还可以包括不同形式的程序储存单元以及数据储存单元,例如硬盘507,只读存储器(ROM)503和随机存取存储器(RAM)504,能够存储计算机处理和/或通信使用的各种数据文件,以及处理器502所执行的可能的程序指令。处理器执行这些指令以实现方法的主要部分。处理器处理的结果通过通信端口传给用户设备,在用户界面上显示。

上述的回声消除方法可以实施为计算机程序,保存在硬盘507中,并可记载到处理器502中执行,以实施本申请中的任一种回声消除方法。

本申请还提供了一种存储有计算机程序代码的计算机可读介质,所述计算机程序代码在由处理器执行时实现如上所述的任一种回声消除方法。

回声消除方法实施为计算机程序时,也可以存储在计算机可读存储介质中作为制品。例如,计算机可读存储介质可以包括但不限于磁存储设备(例如,硬盘、软盘、磁条)、光盘(例如,压缩盘(CD)、数字多功能盘(DVD))、智能卡和闪存设备(例如,电可擦除可编程只读存储器(EPROM)、卡、棒、键驱动)。此外,本文描述的各种存储介质能代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”可以包括但不限于能存储、包含和/或承载代码和/或指令和/或数据的无线信道和各种其它介质(和/或存储介质)。

应该理解,上文所描述的实施例仅是示意。本文描述的实施例可在硬件、软件、固件、中间件、微码或者其任意组合中实现。对于硬件实现,处理单元可以在一个或者多个特定用途集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器和/或设计为执行本文所述功能的其它电子单元或者其结合内实现。

上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述申请披露仅仅作为示例,而并不构成对本申请的限定。虽然此处并没有明确说明,本领域技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示例性实施例的精神和范围。

同时,本申请使用了特定词语来描述本申请的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。

本申请的一些方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。处理器可以是一个或多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理器件(DAPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器或者其组合。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。例如,计算机可读介质可包括,但不限于,磁性存储设备(例如,硬盘、软盘、磁带……)、光盘(例如,压缩盘CD、数字多功能盘DVD……)、智能卡以及闪存设备(例如,卡、棒、键驱动器……)。

同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或多个申请实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本申请对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。

虽然本申请已参照当前的具体实施例来描述,但是本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本申请,在没有脱离本申请精神的情况下还可作出各种等效的变化或替换,因此,只要在本申请的实质精神范围内对上述实施例的变化、变型都将落在本申请的权利要求书的范围内。

15页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:合成音频检测方法、系统、移动终端及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!