一种回声消除方法、装置以及计算机存储介质

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

阅读说明:本技术 一种回声消除方法、装置以及计算机存储介质 (Echo cancellation method, device and computer storage medium ) 是由 吴人杰 林聚财 于 2020-03-17 设计创作,主要内容包括:本申请提供了一种回声消除方法、装置以及计算机存储介质。该回声消除方法包括:获取声音的近端信号和参考信号;基于自适应滤波器的滤波系数和近端信号获取残余回声信号;分别基于残余回声信号、近端信号和参考信号获取参考自功率谱、残余自功率谱和互功率谱;由参考自功率谱、残余自功率谱和互功率谱计算声音每一个频点的相关系数;判断自适应滤波器不收敛或声学路径不发生突变时,由参考信号和参考自功率谱获取自适应步长;基于自适应步长和参考信号获取抑制滤波器传输函数;基于抑制滤波器传输函数和残余回声信号确定回声消除输出。通过上述方式,本申请的回声消除方法能够在保证近端信号不失真的前提下,减小残余回声。(The application provides an echo cancellation method, an echo cancellation device and a computer storage medium. The echo cancellation method comprises the following steps: acquiring a near-end signal and a reference signal of sound; obtaining a residual echo signal based on a filter coefficient of the adaptive filter and the near-end signal; acquiring a reference self-power spectrum, a residual self-power spectrum and a cross-power spectrum respectively based on the residual echo signal, the near-end signal and the reference signal; calculating the correlation coefficient of each frequency point of sound according to the reference self-power spectrum, the residual self-power spectrum and the cross-power spectrum; when the self-adaptive filter is judged not to be converged or the acoustic path is not mutated, obtaining the self-adaptive step length by the reference signal and the reference self-power spectrum; acquiring a transfer function of a suppression filter based on the adaptive step length and a reference signal; an echo cancellation output is determined based on the suppression filter transfer function and the residual echo signal. By the method, the echo cancellation method can reduce residual echo on the premise of ensuring no distortion of the near-end signal.)

一种回声消除方法、装置以及计算机存储介质

技术领域

本申请涉及语音处理技术领域,特别是涉及一种回声消除方法、装置以及计算机存储介质。

背景技术

智能语音技术的发展给各种智能语音设备提供了语音交互的可能性。但是声学回声消除的性能,作为语音交互系统中一个重要的指标,极大地影响了用户与设备或是用户间的沟通体验。

为了消除扬声器与麦克风的声学耦合响应所带来的回声,常规方法是采用NLMS、AP、RLS算法估计出滤波器系数,来近似扬声器和麦克风之间的声学路径。但是,其计算复杂度较高的特点,往往无法使其直接应用在实时性要求高、资源有限的智能语音设备中。PBFDAF(分段块频域自适应滤波器)算法,通过将NLMS算法转换为频域,并将滤波器切分成若干块的方式,很好地解决了实时性的需求。但其采用相同步长更新滤波器的方式,导致了回声消除收敛速度慢,双讲情况下近端语音失真的情况。

发明内容

本申请提供了一种回声消除方法、装置以及计算机存储介质,主要解决的技术问题是如何在保证近端信号不失真的前提下,减小残余回声的问题。

为解决上述技术问题,本申请提供了一种回声消除方法,所述回声消除方法包括:

获取声音的近端信号和参考信号;

基于自适应滤波器的滤波系数和所述近端信号获取残余回声信号;

分别基于所述残余回声信号、所述近端信号和所述参考信号获取参考自功率谱、残余自功率谱和互功率谱;

由所述参考自功率谱、所述残余自功率谱和所述互功率谱计算所述声音每一个频点的相关系数;

判断所述自适应滤波器不收敛或声学路径不发生突变时,由所述参考信号和所述参考自功率谱获取自适应步长;

基于所述自适应步长和所述参考信号获取抑制滤波器传输函数;

基于所述抑制滤波器传输函数和所述残余回声信号确定回声消除输出。

其中,所述判断所述自适应滤波器不收敛或声学路径不发生突变,由所述参考信号和所述参考自功率谱获取自适应步长的步骤,包括:

获取所述自适应滤波器的当前滤波系数和历史滤波系数;

计算所述当前滤波系数和所述历史滤波系数的差值,获取滤波系数更新量;

判断所述滤波系数更新量大于或等于第一预设阈值,则确定所述自适应滤波器不收敛,由所述参考信号和所述参考自功率谱获取自适应步长。

其中,所述判断所述自适应滤波器不收敛或声学路径不发生突变,由所述参考信号和所述参考自功率谱获取自适应步长的步骤,包括:

获取所述自适应滤波器的当前滤波系数和历史滤波系数;

计算所述当前滤波系数和所述历史滤波系数的差值,获取滤波系数更新量;

判断所述滤波系数更新量小于第一预设阈值,则确定所述自适应滤波器收敛,计算所有频点的相关系数的平均值;

判断所述平均值小于或等于第二预设阈值,则确定所述声学路径不发生突变,由所述参考信号和所述参考自功率谱获取自适应步长。

其中,所述由所述参考自功率谱、所述残余自功率谱和所述互功率谱计算所述声音每一个频点的相关系数的步骤之后,所述回声消除方法还包括:

判断所述自适应滤波器收敛且所述声学路径发生突变时,将所述自适应滤波器的滤波系数设置为预设滤波系数;

基于当前步长和所述参考信号获取当前抑制滤波器传输函数;

基于所述当前抑制滤波器传输函数和所述残余回声信号确定当前回声消除输出。

其中,所述分别基于所述残余回声信号、所述近端信号和所述参考信号获取参考自功率谱、残余自功率谱和互功率谱的步骤,包括:

由所述参考信号和所述参考信号的共轭信号获取所述参考自功率谱;

由所述残余回声信号和所述残余回声信号的共轭信号获取所述残余自功率谱;

由所述参考信号和所述残余回声信号的共轭信号获取所述互功率谱。

其中,所述由所述参考信号和所述参考自功率谱获取自适应步长的步骤之后,所述回声消除方法还包括:

基于所述自适应步长更新所述自适应滤波器的滤波系数。

其中,所述获取声音的近端信号和参考信号的步骤,包括:

获取时域近端信号和时域参考信号;

分别对所述时域近端信号和所述时域参考信号进行傅里叶变换,得到频域近端信号和频域参考信号。

其中,所述基于自适应滤波器的滤波系数和所述近端信号获取残余回声信号的步骤包括:

基于所述自适应滤波器的滤波系数计算频域估计回声信号;

对所述频域估计回声信号进行傅里叶逆变换,得到时域估计回声信号;

基于所述时域近端信号和时域估计回声信号获取所述残余回声信号。

为解决上述技术问题,本申请还提供了一种回声消除装置,所述回声消除装置包括存储器和处理器,其中,所述存储器与所述处理器耦接;

其中,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现如上述的回声消除方法。

为解决上述技术问题,本申请还提供了一种计算机存储介质,所述计算机存储介质用于存储程序数据,所述程序数据在被处理器执行时,用以实现如上述的回声消除方法。

与现有技术相比,本申请的有益效果是:回声消除装置获取声音的近端信号和参考信号;基于自适应滤波器的滤波系数和近端信号获取残余回声信号;分别基于残余回声信号、近端信号和参考信号获取参考自功率谱、残余自功率谱和互功率谱;由参考自功率谱、残余自功率谱和互功率谱计算声音每一个频点的相关系数;判断自适应滤波器不收敛或声学路径不发生突变时,由参考信号和参考自功率谱获取自适应步长;基于自适应步长和参考信号获取抑制滤波器传输函数;基于抑制滤波器传输函数和残余回声信号确定回声消除输出。通过上述方式,本申请的回声消除方法能够在保证近端信号不失真的前提下,减小残余回声。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:

图1是本申请提供的回声消除方法一实施例的流程示意图;

图2是图1的回声消除方法中步骤105一实施例的流程示意图;

图3是图1的回声消除方法中步骤105另一实施例的流程示意图;

图4是本申请提供的回声消除方法另一实施例的流程示意图;

图5是本申请提供的回声消除装置一实施例的结构示意图;

图6是本申请提供的计算机存储介质一实施例的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

为了解决现有回声消除算法计算复杂度较高,无法直接应用在实时性要求高、资源有限的智能语音设备中,或回声消除算法收敛速度慢,双讲情况下近端语音失真的问题,本申请提出了一种回声消除方法,具体请参阅图1,图1是本申请提供的回声消除方法一实施例的流程示意图。

本申请的回声消除方法应用于一种回声消除装置,其中,本申请的回声消除装置可以为服务器,也可以为终端设备,还可以为由服务器和终端设备相互配合的系统。相应地,电子设备包括的各个部分,例如各个单元、子单元、模块、子模块可以全部设置于服务器中,也可以全部设置于终端设备中,还可以分别设置于服务器和终端设备中。

进一步地,上述服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块,例如用来提供分布式服务器的软件或软件模块,也可以实现成单个软件或软件模块,在此不做具体限定。

如图1所示,本实施例的回声消除方法具体包括以下步骤:

S101:获取声音的近端信号和参考信号。

其中,回声消除装置获取近端麦克风采集到的近端信号,以及远端扬声器播放出来的参考信号。

具体地,回声消除装置直接获取的是时域的声音信号,即时域近端信号和时域参考信号。进一步地,回声消除装置将获取的时域近端信号和时域参考信号,采用短时傅里叶变换的方法,从时域信号转换为频域信号,即频域近端信号和频域参考信号。

S102:基于自适应滤波器的滤波系数和近端信号获取残余回声信号。

其中,回声消除装置自适应滤波器中的滤波系数,可以确定频域估计回声信号,通过对频域估计回声信号进行傅里叶逆变换后,可以得到对应的时域估计回声信号。时域估计回声信号用于评价自适应滤波器的性能,在单讲的应用场景下,确定的时域估计回声信号越大,即越接近时域近端信号,则自适应滤波器的滤波效果越好。

进一步地,回声消除装置还可以根据时域估计回声信号和时域近端信号计算时域残余回声信号,具体计算公式如下:

e(n)=d(n)-y(n)

其中,e(n)是时域残余回声信号,d(n)是时域近端信号,y(n)是时域估计回声信号。

S103:分别基于残余回声信号、近端信号和参考信号获取参考自功率谱、残余自功率谱和互功率谱。

其中,回声消除装置分别基于上述步骤计算得到的残余回声信号、近端信号和参考信号获取参考自功率谱、残余自功率谱和互功率谱。参考自功率谱表示参考信号的自功率谱,残余自功率谱表示残余回声信号的自功率谱,互功率谱表示参考信号和残余回声信号的互功率谱。进一步地,回声消除装置将时域残余回声信号进行傅里叶变换,得到频域残余回声信号。

具体地,回声消除装置由频域参考信号和频域参考信号的共轭信号获取参考自功率谱,具体计算公式如下:

Sxx(k)=aSxx(k)+(1-a)X(k)X*(k)

回声消除装置由频域残余回声信号和频域残余回声信号的共轭信号获取残余自功率谱,具体计算公式如下:

See(k)=aSee(k)+(1-a)E(k)E*(k)

回声消除装置由频域参考信号和频域残余回声信号的共轭信号获取参考自功率谱,具体计算公式如下:

Sxe(k)=aSxe(k)+(1-a)X(k)E*(k)

其中,X(k)是频域参考信号,E(k)是频域残余回声信号,a为平滑系数。

S104:由参考自功率谱、残余自功率谱和互功率谱计算声音每一个频点的相关系数。

其中,回声消除装置由上述步骤103中的参考自功率谱、残余自功率谱和互功率谱计算声音每一个频点的相关系数。对于声音的每一个频点k,对应的相关系数z(k)可由以下公式计算得到:

S105:判断自适应滤波器不收敛或声学路径不发生突变时,由参考信号和参考自功率谱获取自适应步长。

其中,步骤105具体可以包括以下步骤:

S201:获取自适应滤波器的当前滤波系数和历史滤波系数。

其中,回声消除装置获取自适应滤波器的当前滤波系数以及历史滤波系数,历史滤波系数即自适应滤波器更新为当前滤波系数之前的一个滤波系数。通过比较当前滤波系数和历史滤波系数,可以确认自适应滤波器的变化情况,进而判断自适应滤波器是否收敛。

S202:计算当前滤波系数和历史滤波系数的差值,获取滤波系数更新量。

其中,回声消除装置计算当前滤波系数和历史滤波系数的差值,得到滤波系数更新量ΔW。

S203:判断滤波系数更新量大于或等于第一预设阈值,则确定自适应滤波器不收敛,由参考信号和参考自功率谱获取自适应步长。

其中,自适应滤波器收敛的判决条件为:||ΔW||<T1,T1为第一预设阈值,第一预设阈值的具体数值需要根据应用场景进行选择。当滤波系数更新量不满足上述判决条件,即滤波系数更新量的绝对值大于或等于第一预设阈值,说明自适应滤波器不收敛。此时,回声消除装置需要计算自适应步长。

具体地,由于自适应步长μ(k)是根据声音信号的变化不断调整的,自适应步长的更新公式为:

其中,φss是近端功率谱,可以由频域参考信号和频域残余回声信号确认;A为预设参数,用于调节回声消除算法的跟踪能力和稳态失调量之间的平衡,P表示状态估计误差的方差,方差的更新公式如下:

P(k+1)=A2(1-0.5μ(k)X(k)XH(k))P(k)+(1-A2)E[W2(k)]

其中,W(k)是自适应滤波器的滤波系数。

本实施例的步骤203通过应用变步长的分段块频域自适应滤波器,保证了算法的低延时性需求;自适应步长的设置,极大地提升了算法的收敛速度;同时,自适应步长的设置能够很好地应对双讲场景,具有很强的鲁棒性,避免了该场景下算法造成的近端语音失真的情况。

其中,步骤105具体还可以包括以下步骤:

S301:获取自适应滤波器的当前滤波系数和历史滤波系数。

S302:计算当前滤波系数和历史滤波系数的差值,获取滤波系数更新量。

S303:判断滤波系数更新量小于第一预设阈值,则确定自适应滤波器收敛,计算所有频点的相关系数的平均值。

其中,当滤波系数更新量满足上述判决条件,即滤波系数更新量的绝对值小于第一预设阈值,说明自适应滤波器收敛。在环境不发生改变的情况下,在自适应滤波器收敛后,滤波系数近似为当前环境下的声学路径,因此滤波系数的更新量无限接近于零。

此时,回声消除装置还需要进一步判断声学路径是否发生突变,具体地,回声消除装置对上述步骤104得到的每一个频点的相关系数做平均,计算所有频点的相关系数的平均值

S304:判断平均值小于或等于第二预设阈值,则确定声学路径不发生突变,由参考信号和参考自功率谱获取自适应步长。

其中,声学路径发生突变的判决条件为其中,T2为第二预设阈值,第二预设阈值的具体数值需要根据应用场景进行选择,在本实施例中,第二预设阈值可以为0.5。当所有频点的相关系数的平均值不满足上述判决条件,即相关系数的平均值小于或等于第二预设阈值,则说明声学路径发生了突变。此时,回声消除装置需要根据参考信号和参考自功率谱获取自适应步长。

本实施例的步骤105通过设置声学路径是否发生突变的判决,有效地解决了算法在长时间平稳运行后,声学路径发生突变情况所带来的自适应滤波器冻结情况。声学路径突变情况判决准确,算法通过设置传递参数A,在稳态失调量和跟踪能力两者之间做到了很好的平衡。

S106:基于自适应步长和参考信号获取抑制滤波器传输函数。

其中,回声消除装置采用步骤105计算的自适应步长和参考信号获取抑制滤波器传输函数H(k),抑制滤波器传输函数H(k)用来对残余回声信号进行抑制,抑制滤波器传输函数H(k)的计算公式具体如下:

H(k)=1-βμ(k)X2(k)

其中,β为预设参数,用于调节对残余回声信号的抑制程度,当残余回声信号较大时,应当增大β的取值,以提高对残余回声信号的抑制程度。

进一步地,回声消除装置使用步骤105计算的自适应步长来调整自适应滤波器的滤波系数,更新公式具体为:

W(k+1)=W(k)+μ(k)XH(k)E(k)

其中,回声消除装置每次均需要使用最新的滤波系数执行回声消除方法。

S107:基于抑制滤波器传输函数和残余回声信号确定回声消除输出。

其中,回声消除装置将残余回声信号和抑制滤波器传输函数相乘,以得到回声消除输出。

在本实施例中,回声消除装置基于自适应滤波器的滤波系数和近端信号获取残余回声信号;分别基于残余回声信号、近端信号和参考信号获取参考自功率谱、残余自功率谱和互功率谱;由参考自功率谱、残余自功率谱和互功率谱计算声音每一个频点的相关系数;判断自适应滤波器不收敛或声学路径不发生突变时,由参考信号和参考自功率谱获取自适应步长;基于自适应步长和参考信号获取抑制滤波器传输函数;基于抑制滤波器传输函数和残余回声信号确定回声消除输出。通过上述方式,本实施例的回声消除方法能够在保证近端信号不失真的前提下,减小残余回声。

本申请还提供了另一种具体的回声消除方法,具体请参阅图4,图4是本申请提供的回声消除方法另一实施例的流程示意图。

如图4所示,本实施例的回声消除方法具体包括以下步骤:

S401:获取声音的近端信号和参考信号。

S402:基于自适应滤波器的滤波系数和近端信号获取残余回声信号。

S403:分别基于残余回声信号、近端信号和参考信号获取参考自功率谱、残余自功率谱和互功率谱。

S404:由参考自功率谱、残余自功率谱和互功率谱计算声音每一个频点的相关系数。

S405:判断自适应滤波器收敛且声学路径发生突变时,将自适应滤波器的滤波系数设置为预设滤波系数。

其中,当自适应滤波器收敛且声学路径发生突变时,回声消除装置重置自适应滤波器的滤波系数。回声消除装置可以将自适应滤波器的滤波系数设置为预设滤波系数,预设滤波系数可以是自适应滤波器初始的滤波系数,也可以是声学路径未发生突变时自适应滤波器的滤波系数。

本实施例的步骤405通过设置自适应滤波器是否收敛的判决,避免了算法多次重置滤波系数的情况,仅当自适应滤波器收敛并且声学路径发生突变时,滤波系数才得到重置。这样做,一方面进一步提升了声学路径发生突变判决的准确性,另一方面使得算法保持良好的稳态性能。

S406:基于当前步长和参考信号获取当前抑制滤波器传输函数。

S407:基于当前抑制滤波器传输函数和残余回声信号确定当前回声消除输出。

为实现上述实施例的回声消除方法,本申请还提出了一种回声消除装置,具体请参阅图5,图5是本申请提供的回声消除装置一实施例的结构示意图。

本实施例的回声消除装置500包括处理器51、存储器52、输入输出设备53以及总线54。

该处理器51、存储器52、输入输出设备53分别与总线54相连,该存储器52中存储有程序数据,处理器51用于执行程序数据以实现上述实施例所述的回声消除方法。

在本实施例中,处理器51还可以称为CPU(Central Processing Unit,中央处理单元)。处理器51可能是一种集成电路芯片,具有信号的处理能力。处理器51还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器51也可以是任何常规的处理器等。

本申请还提供一种计算机存储介质,如图6所示,计算机存储介质600用于存储程序数据61,程序数据61在被处理器执行时,用以实现如本申请上述实施例中所述的回声消除方法。

本申请回声消除方法实施例中所涉及到的方法,在实现时以软件功能单元的形式存在并作为独立的产品销售或使用时,可以存储在装置中,例如一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:降低智能语音设备误唤醒的方法、装置和计算机设备

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!