一种回声消除方法、装置、系统及存储介质转让专利

申请号 : CN201910181374.0

文献号 : CN109785853B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李楠李勤付聪

申请人 : 出门问问信息科技有限公司

摘要 :

本发明实施例涉及数据处理技术领域,具体公开了一种回声消除方法、装置、系统及存储介质。将第n个单位时间对应的第一参考信号输入至第一滤波器,获取第一输出信号,将第二参考信号输入至第二滤波器,获取第二输出信号;根据第一输出信号和期望信号,得到第一残差信号;根据第二输出信号和期望信号,得到第二残差信号;获取第一参考信号和期望信号之间的第一相干系数,期望信号与第一残差信号之间的第二相干系数,以及期望信号和第二残差信号之间的第三相关系数;根据这三个相干系数,从第一残差信号和/或第二残差信号中,选择第n个单位时间的最终输出信号。通过该种方式,可以实现语音信号中的回声消除,同时,还能够缓解近端语音损伤。

权利要求 :

1.一种回声消除方法,其特征在于,所述方法包括:

将第n个单位时间对应的第一参考信号输入至第一滤波器中,获取第一输出信号,以及,将第二参考信号输入至第二滤波器中,获取第二输出信号,其中,所述第一参考信号为扬声器播放的参考信号,所述第二参考信号为参考传声器采集的信号,n为≥1的正整数,如果对于声音的采样是在频域,即连续采样时,那么n为预设时间段,如果对于声音的采样是在时域,即离散采样时,n则为预设时间点;

根据所述第一输出信号和期望信号,计算得到第一残差信号,其中,所述期望信号为拾音传声器采集的信号;

根据所述第二输出信号和所述期望信号,计算得到第二残差信号;

按照预设公式计算所述第一参考信号和所述期望信号之间的第一相干系数,所述期望信号与所述第一残差信号之间的第二相干系数,以及所述期望信号和所述第二残差信号之间的第三相干系数;

根据所述第一相干系数和/或第二相干系数,和/或第三相干系数,从所述第一残差信号和/或第二残差信号中,选择所述第n个单位时间的最终输出信号,具体包括:若所述第一相干系数大于第一预设阈值,且所述第二相干系数和所述第三相干系数均小于第二预设阈值时,选择所述第二残差信号作为所述第n个单位时间的最终输出信号;

或者,若所述第二相干系数大于所述第一预设阈值,且所述第一相干系数和所述第三相干系数均小于所述第二预设阈值,选择所述第一残差信号作为所述第n个单位时间的最终输出信号;

或者,若所述第一相干系数、第二相干系数、第三相干系数、所述第一预设阈值和所述第二预设阈值之间的关系并非为如上所述的任一种关系时,则根据所述第一相干系数、第二相干系数、第三相干系数,按照预设规则分别设定所述第一残差信号和所述第二残差信号的输出比例,并将按照输出比例输出后信号进行叠加后,作为所述第n个单位时间的最终输出信号,其中,所述第一预设阈值大于或者等于所述第二预设阈值。

2.根据权利要求1所述的方法,其特征在于,所述将第n个单位时间对应的第一参考信号输入至第一滤波器中,获取第一输出信号,以及,将第二参考信号输入至第二滤波器中,获取第二输出信号之前,所述方法还包括:对所述第一滤波器中的第一滤波器传递函数和所述第二滤波器中的第二滤波器传递函数进行初始化。

3.根据权利要求1所述的方法,其特征在于,根据所述第一输出信号和期望信号,计算得到第一残差信号,具体包括:将所述期望信号和所述第一输出信号做差值运算,获取所述第一残差信号。

4.根据权利要求1所述的方法,其特征在于,所述根据所述第二输出信号和所述期望信号,计算得到第二残差信号,具体包括:将所述期望信号和所述第二输出信号做差值运算,获取所述第二残差信号。

5.根据权利要求2所述的方法,其特征在于,根据所述第二输出信号和所述期望信号,计算得到第二残差信号之后,所述方法还包括:根据所述第一残差信号、所述第一参考信号以及所述第一滤波器的更新步长,对第n个单位时间对应的第一滤波器传递函数进行迭代更新,用以获取第n+1个单位时间对应的第一滤波器传递函数,具体参见如下表达式:Wspk(z;n+1)=Wspk(z;n)+μEspk*(z;n)Xrefspk(z;n)其中,,W-其中,Wspk(z;n+1)为第n+1个单位时间对应的第一滤波器传递函数,Wspk(z;n)为第n个单位时间对应的第一滤波器传递函数,μ为滤波器的更新步长,Espk*(z;n)为第一残差信号,Xrefspk(z;n)为第一参考信号;

根据所述第二残差信号、所述第二参考信号以及所述第二滤波器的更新步长,对第n个单位时间对应的第二滤波器传递函数进行迭代更新,用以获取第n+1个单位时间对应的第二滤波器传递函数,具体参见如下表达式:Wmic(z;n+1)=Wmic(z;n)+μEmic*(z;n)Xrefmic(z;n)其中,,W-其中,Wmic(z;n+1)为第n+1个单位时间对应的第二滤波器传递函数,Wmic(z;n)为第n个单位时间对应的第二滤波器传递函数,μ为滤波器的更新步长,Emic*(z;n)为第二残差信号,Xrefmic(z;n)为第二参考信号。

6.根据权利要求1-5任一项所述的方法,其特征在于,采用第一公式计算第一参考信号和所述期望信号之间的第一相干系数;采用第二公式计算所述期望信号与所述第一残差信号之间的第二相干系数,以及采用第三公式计算所述期望信号和所述第二残差信号之间的第三相干系数,具体如下:第一公式:

其中,CXD(z;n)为第一相干系数,Xrefspk(z;n)为第一参考信号,D(z;n)为期望信号,Cov[*,*]表示两个信号的协方差,Var[*]表示信号的方差;

第二公式:

其中CDEspk(z;n)为第二相干系数,Espk(z;n)为第一残差信号,D(z;n)为期望信号,Cov[*,*]表示两个信号的协方差,Var[*]表示信号的方差;

第三公式:

其中,CDEmic(z;n)为第三相干系数,Emic(z;n)为第二残差信号,D(z;n)为期望信号,Cov[*,*]表示两个信号的协方差,Var[*]表示信号的方差。

7.根据权利要求1所述的方法,其特征在于,所述第一预设阈值为0.9,所述第二预设阈值为0.2。

8.一种回声消除系统,其特征在于,所述系统包括:处理器和存储器;

所述存储器用于存储一个或多个程序指令;

所述一个或多个程序指令被所述处理器运行,用以执行如权利要求1-7任一项所述的方法步骤。

9.一种计算机存储介质,其特征在于,所述计算机存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于被一种回声消除系统执行如权利要求1-7任一项所述的方法步骤。

说明书 :

一种回声消除方法、装置、系统及存储介质

技术领域

[0001] 本发明实施例涉及数据处理技术领域,具体涉及一种回声消除方法、装置、系统及存储介质。

背景技术

[0002] 回声消除(Acoustic Echo Cancellation,简称AEC)技术难以消除回声中的非线性成分,尤其在音频系统非线性失真较为严重的情况下,利用回声消除技术进行语音信号处理后,仍然会存在回声残留过大的问题。针对该问题,一般的解决方法是使用参考传声器进行语音信号处理,而该方法一般需要依赖指向性传声器或采用将参考传声器与外界隔离的硬件设置。
[0003] 然而,通过指向性传声器对回声进行抑制处理,虽然效果较佳,但是成本过高。而将采样将参考传声器与外界隔离这样的设计又比较复杂,对于工作人员的要求较高,操作不便,实现起来比较困难。另外,如果采用其他方法对回声进行消除,可能还会存在近端语音损伤的问题。

发明内容

[0004] 本发明实施例提供一种回声消除方法、装置、系统及存储介质,用以实现在不增加工作成本,又不用对硬件进行复杂设计的前提下,实现对信号的回声消除,同时还能够避免对近端语音造成损伤的问题。
[0005] 为了实现上述目的,本发明实施例提供如下技术方案:
[0006] 第一方面,本发明实施例提供了一种回声消除方法,该方法包括:
[0007] 将第n个单位时间对应的第一参考信号输入至第一滤波器中,获取第一输出信号,以及,将第二参考信号输入至第二滤波器中,获取第二输出信号,其中,第一参考信号为扬声器采集的参考信号,第二参考信号为参考传声器采集的信号,n依次递进取值,初始取值为1;
[0008] 根据第一输出信号和期望信号,计算得到第一残差信号,其中,期望信号为拾音传声器采集的信号;
[0009] 根据第二输出信号和期望信号,计算得到第二残差信号;
[0010] 按照预设公式计算第一参考信号和期望信号之间的第一相干系数,期望信号与第一残差信号之间的第二相干系数,以及期望信号和第二残差信号之间的第三相关系数;
[0011] 根据第一相关系数和/或第二相干系数,和/或第三相干系数,从第一残差信号和/或第二残差信号中,选择第n个单位时间的最终输出信号。
[0012] 本发明实施例的特征还在于,将第n个单位时间对应的第一参考信号输入至第一滤波器中,获取第一输出信号,以及,将第二参考信号输入至第二滤波器中,获取第二输出信号之前,方法还包括:
[0013] 对第一滤波器中的第一滤波器传递函数和第二滤波器中的第二滤波器传递函数进行初始化。
[0014] 本发明实施例的特征还在于,根据第一输出信号和期望信号,计算得到第一残差信号,具体包括:
[0015] 将期望信号和第一输出信号做差值运算,获取第一残差信号。
[0016] 本发明实施例的特征还在于,根据第二输出信号和期望信号,计算得到第二残差信号,具体包括:
[0017] 将期望信号和第二输出信号做差值运算,获取第二残差信号。
[0018] 本发明实施例的特征还在于,将第n个单位时间对应的第一参考信号输入至第一滤波器中,获取第一输出信号,以及,将第二参考信号输入至第二滤波器中,获取第二输出信号之后,方法还包括:
[0019] 根据第一残差信号、第一参考信号以及第一滤波器的更新步长,对第n个单位时间对应的第一滤波器传递函数进行迭代更新,用以获取第n+1个单位时间对应的第一滤波器传递函数,具体参见如下表达式:
[0020] Wspk(z;n+1)=Wspk(z;n)+μEspk*(z;n)Xrefspk(z;n)
[0021] 其中,Wspk(z;n+1)为第n+1个单位时间对应的第一滤波器传递函数,Wspk(z;n)为第*n个单位时间对应的第一滤波器传递函数,μ为滤波器的更新步长,Espk (z;n)为第一残差信号,Xrefspk(z;n)为第一参考信号;
[0022] 或者,根据第二残差信号、第二参考信号以及第二滤波器的更新步长,对第n个单位时间对应的第二滤波器传递函数进行迭代更新,用以获取第n+1个单位时间对应的第二滤波器传递函数,具体参见如下表达式:
[0023] Wmic(z;n+1)=Wmic(z;n)+μEmic*(z;n)Xrefmic(z;n)
[0024] 其中,Wmic(z;n+1)为第n+1个单位时间对应的第二滤波器传递函数,Wmic(z;n)为第n个单位时间对应的第二滤波器传递函数,μ为滤波器的更新步长,Emic*(z;n)为第二残差信号,Xrefmic(z;n)为第二参考信号。
[0025] 本发明实施例的特征还在于,采用第一公式计算第一参考信号和期望信号之间的第一相干系数;采用第二公式计算期望信号与第一残差信号之间的第二相干系数,以及采用第三公式计算期望信号和第二残差信号之间的第三相关系数,具体如下:
[0026] 第一公式:
[0027]
[0028] 其中,CXD(z;n)为第一相干系数,Xrefspk(z;n)为第一参考信号,D(z;n)为期望信号,Cov[*,*]表示两个信号的协方差,Var[*]表示信号的方差;
[0029] 第二公式:
[0030]
[0031] 其中CDEspk(z;n)为第二相干系数,Espk(z;n)为第一残差信号,D(z;n)为期望信号,Cov[*,*]表示两个信号的协方差,Var[*]表示信号的方差;
[0032] 第三公式:
[0033]
[0034] 其中,CDEmic(z;n)为第三相干系数,Emic(z;n)为第二残差信号,D(z;n)为期望信号,Cov[*,*]表示两个信号的协方差,Var[*]表示信号的方差。
[0035] 本发明实施例的特征还在于,根据第一相关系数和/或第二相干系数,和/或第三相干系数,从第一残差信号和/或第二残差信号中,选择第n个单位时间的最终输出信号,具体包括:
[0036] 若第一相干系数大于第一预设阈值,且第二相关系数和第三相干系数均小于第二预设阈值时,选择第二残差信号作为第n个单位时间的最终输出信号;
[0037] 或者,若第二相干系数大于第一预设阈值,且第一相干系数和第三相干系数均小于第二预设阈值,选择第一残差信号作为第n个单位时间的最终输出信号;
[0038] 或者,若第一相干系数、第二相关系数、第三相干系数、第一预设阈值和第二预设阈值之间的关系并非为如上的任一种关系时,则根据第一相干系数、第二相关系数、第三相干系数,按照预设规则分别设定第一残差信号和第二残差信号的输出比例,并将按照输出比例输出后信号进行叠加后,作为第n个单位时间的最终输出信号,其中,第一预设阈值大于或者等于第二预设阈值。
[0039] 本发明实施例的特征还在于,第一预设阈值为0.9,第二预设阈值为0.2。
[0040] 第二方面,本发明实施例还提供了一种回声消除装置,该装置包括:
[0041] 输入单元,用于将第n个单位时间对应的第一参考信号输入至第一滤波器中,获取第一输出信号,以及,将第二参考信号输入至第二滤波器中,获取第二输出信号,其中,第一参考信号为扬声器采集的参考信号,第二参考信号为参考传声器采集的信号,n依次递进取值,初始取值为1;
[0042] 处理单元,用于根据第一输出信号和期望信号,计算得到第一残差信号,其中,期望信号为拾音传声器采集的信号;
[0043] 根据第二输出信号和期望信号,计算得到第二残差信号;
[0044] 按照预设公式计算第一参考信号和期望信号之间的第一相干系数,期望信号与第一残差信号之间的第二相干系数,以及期望信号和第二残差信号之间的第三相关系数;
[0045] 根据第一相关系数和/或第二相干系数,和/或第三相干系数,从第一残差信号和/或第二残差信号中,选择第n个单位时间的最终输出信号。
[0046] 本发明实施例的特征还在于,处理单元还用于,对第一滤波器中的第一滤波器传递函数和第二滤波器中的第二滤波器传递函数进行初始化。
[0047] 本发明实施例的特征还在于,处理单元,具体用于:将期望信号和第一输出信号做差值运算,获取第一残差信号。
[0048] 本发明实施例的特征还在于,处理单元,具体用于:将期望信号和第二输出信号做差值运算,获取第二残差信号。
[0049] 本发明实施例的特征还在于,处理单元还用于,根据第一残差信号、第一参考信号以及第一滤波器的更新步长,对第n个单位时间对应的第一滤波器传递函数进行迭代更新,用以获取第n+1个单位时间对应的第一滤波器传递函数,具体参见如下表达式:
[0050] Wspk(z;n+1)=Wspk(z;n)+μEspk*(z;n)Xrefspk(z;n)
[0051] 其中,Wmic(z;n+1)为第n+1个单位时间对应的第二滤波器传递函数,Wmic(z;n)为第n个单位时间对应的第二滤波器传递函数,μ为滤波器的更新步长,Emic*(z;n)为第二残差信号,Xrefmic(z;n)为第二参考信号;
[0052] 或者,根据第二残差信号、第二参考信号以及第二滤波器的更新步长,对第n个单位时间对应的第二滤波器传递函数进行迭代更新,用以获取第n+1个单位时间对应的第二滤波器传递函数,具体参见如下表达式:
[0053] Wmic(z;n+1)=Wmic(z;n)+μEmic*(z;n)Xrefmic(z;n)
[0054] 其中,Wmic(z;n+1)为第n+1个单位时间对应的第二滤波器传递函数,Wmic(z;n)为第n个单位时间对应的第二滤波器传递函数,μ为滤波器的更新步长,Emic*(z;n)为第二残差信号,Xrefmic(z;n)为第二参考信号。
[0055] 本发明实施例的特征还在于,处理单元采用第一公式计算第一参考信号和期望信号之间的第一相干系数;采用第二公式计算期望信号与第一残差信号之间的第二相干系数,以及采用第三公式计算期望信号和第二残差信号之间的第三相关系数,具体如下:
[0056] 第一公式:
[0057]
[0058] 其中,CXD(z;n)为第一相干系数,Xrefspk(z;n)为第一参考信号,D(z;n)为期望信号,Cov[*,*]表示两个信号的协方差,Var[*]表示信号的方差;
[0059] 第二公式:
[0060]
[0061] 其中CDEspk(z;n)为第二相干系数,Espk(z;n)为第一残差信号,D(z;n)为期望信号,Cov[*,*]表示两个信号的协方差,Var[*]表示信号的方差;
[0062] 第三公式:
[0063]
[0064] 其中,CDEmic(z;n)为第三相干系数,Emic(z;n)为第二残差信号,D(z;n)为期望信号,Cov[*,*]表示两个信号的协方差,Var[*]表示信号的方差。
[0065] 本发明实施例的特征还在于,处理单元,具体用于:若第一相干系数大于第一预设阈值,且第二相关系数和第三相干系数均小于第二预设阈值时,选择第二残差信号作为第n个单位时间的最终输出信号;
[0066] 或者,若第二相干系数大于第一预设阈值,且第一相干系数和第三相干系数均小于第二预设阈值,选择第一残差信号作为第n个单位时间的最终输出信号;
[0067] 或者,若第一相干系数、第二相关系数、第三相干系数、第一预设阈值和第二预设阈值之间的关系并非为如上的任一种关系时,则根据第一相干系数、第二相关系数、第三相干系数,按照预设规则分别设定第一残差信号和第二残差信号的输出比例,并将按照输出比例输出后信号进行叠加后,作为第n个单位时间的最终输出信号,其中,第一预设阈值大于或者等于第二预设阈值。
[0068] 本发明实施例的特征还在于,第一预设阈值为0.9,第二预设阈值为0.2。
[0069] 第三方面,本发明实施例还提供了一种回声消除系统,系统包括:处理器和存储器;
[0070] 存储器用于存储一个或多个程序指令;
[0071] 一个或多个程序指令被处理器运行,用以执行如上第一方面的一种回声消除方法中的任一方法步骤。
[0072] 第四方面,本发明实施例还提供了一种计算机存储介质,计算机存储介质中包含一个或多个程序指令,一个或多个程序指令用于被一种回声消除系统中的服务器执行如上第一方面的一种回声消除方法中的任一方法步骤。
[0073] 根据本发明的实施方式,具有如下优点:将第n个单位时间对应的第一参考信号输入至第一滤波器,将第二参考信号输入至第二滤波器,从而分别获取第一输出信号和第二输出信号。根据第一输出信号和期望信号,计算得到第一残差信号,然后根据第二输出信号和期望信号,计算得到第二残差信号。按照预设公式计算第一参考信号和期望信号之间的第一相干系数,期望信号与第一残差信号之间的第二相干系数,以及期望信号和第二残差信号之间的第三相关系数,最终根据这三个相干系数,从第一残差信号和/或第二残差信号中选择第n个单位时间的最终输出信号。实际上,也就是根据这三个系数确定当前语音交互设备处于何种状态。如果为远端单讲状态、近端单讲状态还是双讲状态,如果是远端单讲状态,则无需考虑近端语音信号的损伤问题,最终输出信号为第二残差信号即可,如果是近端单讲状态,则无需对回声做过强的抑制,重点在于保护近端语音信号,因此最终输出信号为第一残差信号。或者,当确定是双讲状态时,则将第一残差信号和第二残差信号按照预设比例输出,达到折中的效果。通过该种方式,不论语音交互设备当前处于何种状态,都能采取一定的有效措施保证回声消除,同时还能够缓解近端语音损伤,达到提升用户体验度的效果。

附图说明

[0074] 为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
[0075] 图1为本发明一实施例提供的一种回声消除方法流程示意图;
[0076] 图2为本发明提供的一种回声消除原理示意图;
[0077] 图3为本发明另一实施例提供的一种回声消除装置结构示意图;
[0078] 图4为本发明另一实施例提供的一种回声消除系统结构示意图。

具体实施方式

[0079] 以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0080] 本发明实施例1提供了一种回声消除方法,具体如图1和图2所示,该方法包括:
[0081] 步骤110,将第n个单位时间对应的第一参考信号输入至第一滤波器中,获取第一输出信号,以及,将第二参考信号输入至第二滤波器中,获取第二输出信号。
[0082] 其中,第一参考信号为扬声器采集的参考信号,而第二参考信号为参考传声器采集的信号。这里的n为依次递进取值,初始取值为1,即,n为1、2、3、4……等的正整数。如果对于声音的采样是在频域,即连续采样时,那么n为预设时间段,如果对于声音的采样是在时域,即离散采样时,n则为预设时间点。
[0083] 具体的,如图2所示,图2示出了回声消除原理示意图。
[0084] 可选的,在执行步骤110之前,该方法还可以包括:
[0085] 对第一滤波器中的第一滤波器传递函数和第二滤波器中的第二滤波器传递函数进行初始化。设置第一滤波器传递函数和第二滤波器传递函数在第n个单位时间时均为0。
[0086] 即:
[0087] Wspk(z;n)=0  (公式1)
[0088] Wmic(z;n)=0  (公式2)
[0089] 其中,Wspk(z;n)为第n个单位时间时,第一滤波器传递函数,Wmic(z;n)为第n个单位时间时,第二滤波器传递函数。
[0090] 而将第一参考信号输入至第一滤波器中,得到第一输出信号。可以采用如下公式表示:
[0091] Yspk(z;n)=Wspk(z;n)Xrefspk(z;n)  (公式3)
[0092] 其中,Yspk(z;n)为第一输出信号,Wspk(z;n)为第一传递函数,Xrefspk(z;n)为第一参考信号。
[0093] 类似的,将第二参考信号输入至第二滤波器中,得到第二输出信号,可以采用如下公式表示:
[0094] Ymic(z;n)=Wmic(z;n)Xrefmic(z;n)  (公式4)
[0095] 其中,Ymic(z;n)为第二输出信号,Wmic(z;n)为第二传递函数,Xrefmic(z;n)为第二参考信号。
[0096] 步骤120,根据第一输出信号和期望信号,计算得到第一残差信号,其中,期望信号为拾音传声器采集的信号。
[0097] 步骤130,根据第二输出信号和期望信号,计算得到第二残差信号。
[0098] 需要说明的是,这里的拾音传声器和参考传声器,实际上都是普通意义的传声器,本申请中仅仅是为了说明这两个传声器是两个不同的传声器,所以才根据传声器功能的功能不同,自定义了两个名称而已。
[0099] 而步骤120的执行步骤和步骤130的执行步骤相类似,因此在这里一并介绍。
[0100] 具体的,根据第一输出信号和期望信号,计算得到第一残差信号,具体包括:将期望信号和第一输出信号做差值运算,获取第一残差信号。具体可以采用如下公式表示:
[0101] Espk(z;n)=D(z;n)-Yspk(z;n)  (公式5)
[0102] 其中,Espk(z;n)为第一残差信号,D(z;n)为期望信号。
[0103] 类似的道理,根据第二输出信号和期望信号,计算得到第二残差信号,具体包括:将期望信号和第二输出信号做差值运算,获取第二残差信号,具体可以采用如下公式表示:
[0104] Emic(z;n)=D(z;n)-Ymic(z;n)  (公式6)
[0105] 其中,Emic(z;n)为第二残差信号。
[0106] 步骤140,按照预设公式计算第一参考信号和期望信号之间的第一相干系数,期望信号与第一残差信号之间的第二相干系数,以及期望信号和第二残差信号之间的第三相关系数。
[0107] 可选的,预设公式如下所示:
[0108]
[0109] 其中,CXD(z;n)为第一相干系数,Xrefspk(z;n)为第一参考信号,D(z;n)为期望信号,Cov[*,*]表示两个信号的协方差,Var[*]表示信号的方差;
[0110]
[0111] 其中CDEspk(z;n)为第二相干系数,Espk(z;n)为第一残差信号,D(z;n)为[0112] 期望信号,Cov[*,*]表示两个信号的协方差,Var[*]表示信号的方差;
[0113]
[0114] 其中,CDEmic(z;n)为第三相干系数,Emic(z;n)为第二残差信号,D(z;n)为期望信号,Cov[*,*]表示两个信号的协方差,Var[*]表示信号的方差。
[0115] 其中,采用公式7计算第一参考信号和期望信号之间的第一相干系数;采用公式8计算期望信号与第一残差信号之间的第二相干系数,以及采用公式9期望信号和第二残差信号之间的第三相关系数。
[0116] 步骤150,根据第一相关系数和/或第二相干系数,和/或第三相干系数,从第一残差信号和/或第二残差信号中,选择第n个单位时间的最终输出信号。
[0117] 可选的,可以根据第一相关系数、第二相关系数和第三相干系数之间的关系,确定语音交互设备当前所处状态,其中当前所处状态可以包括远端单讲状态、近端单讲状态和双讲状态。
[0118] 然后,根据语音交互设备当前所处状态的不同,而从第一残差信号和/或第二残差信号中,选择第n个单位时间的最终输出信号。
[0119] 具体的选择工作原理包括:
[0120] 若第一相干系数大于第一预设阈值,且第二相关系数和第三相干系数均小于第二预设阈值时,可以确定此时扬声器采样的第一参考信号和期望信号之间的相干性很强,而期望信号和第一残差信号,以及期望信号和第二残差信号之间的相干性均很弱,那么期望信号以扬声器播放的远端信号为主,近端语音信号较弱或者无近端语音信号。
[0121] 即语音交互设备当前所处的状态为远端单讲状态。在这种情况下,需要着重抑制扬声器回声,无需考虑近端语音的损伤,因此,选择第二残差信号作为第n个单位时间的最终输出信号。
[0122] 或者,若第二相干系数大于第一预设阈值,且第一相干系数和第三相干系数均小于第二预设阈值。此时,说明期望信号和第一残差信号的相干性很强,可以认为经过第一滤波器的第一输出信号中有大量未被消除的信号残留,而此时的第一参考信号和期望信号的相干性,以及期望信号和第二残留信号的相干性都很弱,此时说明第一残留信号并不是扬声器回声信号,而是近端语音信号占主导,此时远端信号较弱或者几乎没有。
[0123] 可以判断为语音交互设备当前所处的状态为近端单讲状态,在近端语音做主导的情况下,无需对回声做国强的抑制,重点应该在于保护近端语音信号。因此,第n个单位时间的最终输出信号应该是第一残差信号。即,选择第一残差信号作为第n个单位时间的最终输出信号;
[0124] 或者,若第一相干系数、第二相关系数、第三相干系数、第一预设阈值和第二预设阈值之间的关系并非为如上的任一种关系时,则不能确定语音交互系统当前是远端单讲状态还是近端单讲状态,则认为是双讲状态。那么,则需要兼顾回声抑制性能和近端语音的保护。
[0125] 因此,需要根据第一相干系数、第二相关系数、第三相干系数,按照预设规则分别设定第一残差信号和第二残差信号的输出比例,并将按照输出比例输出后信号进行叠加后,作为第n个单位时间的最终输出信号,作为一种兼顾回声消除效果和近端语音包含的这种方案。其中,第一预设阈值大于或者等于第二预设阈值。
[0126] 在一个具体例子中,第一预设阈值可以为0.9,第二预设阈值可以为0.2。上述论述如果通过公式表示,则可以参见如下公式:
[0127] (1)若CXD(z;n)>0.9且CDEspk(z;n)<0.2且CDEspk(z;n)<0.2,则[0128] E(z;n)=Emic(z;n)  (公式10)
[0129] (2)若CXD(z;n)<0.2且CDEspk(z;n)>0.9且CDEmic(z;n)<0.2,则[0130] E(z;n)=Espk(z;n)  (公式11)
[0131] (3)除以上两种情况外,则按如下公式计算输出的残差信号
[0132]
[0133] 需要说明的是,上述实施例中,仅仅是以某一个单位时间的最终输出信号的计算过程为例说明的,但是本申请中的方案并非仅针对某一个单位时间语音信号进行处理,而是对所有单位时间的语音信号进行处理。因此,在执行步骤110之后,该方法还包括:
[0134] 步骤160,根据第一残差信号、第一参考信号以及第一滤波器的更新步长,对第n个单位时间对应的第一滤波器传递函数进行迭代更新,具体参见公式13:
[0135] Wspk(z;n+1)=Wspk(z;n)+μEspk*(z;n)Xrefspk(z;n)  (公式13)[0136] 其中,Wspk(z;n+1)为第n+1个单位时间对应的第一滤波器传递函数,Wspk(z;n)为第n个单位时间对应的第一滤波器传递函数,μ为滤波器的更新步长,Espk*(z;n)为第一残差信号,Xrefspk(z;n)为第一参考信号,由工作人员事先自定义,上标*代表共轭转制。
[0137] 步骤170,根据第二残差信号、第二参考信号以及第二滤波器的更新步长,对第n个单位时间对应的第二滤波器传递函数进行迭代更新,具体参见公式14:
[0138] Wmic(z;n+1)=Wmic(z;n)+μEmic*(z;n)Xrefmic(z;n)  (公式14)[0139] 其中,其中,Wmic(z;n+1)为第n+1个单位时间对应的第二滤波器传递函数,Wmic(z;n)为第n个单位时间对应的第二滤波器传递函数,μ为滤波器的更新步长,Emic*(z;n)为第二残差信号,Xrefmic(z;n)为第二参考信号。
[0140] 第一滤波器的传递函数和第二滤波器的传递函数更新之后,再执行步骤110-步骤150,用以确定第n+1个单位时间的最终输出信号。
[0141] 需要说明的是,步骤160和步骤170只要在步骤110之后执行即可,且步骤160和步骤170二者之间的执行顺序不分先后。可选的,在本实施例中,将步骤160和步骤170置于步骤150之后执行。
[0142] 本发明实施例提供的一种回声消除方法,将第n个单位时间对应的第一参考信号输入至第一滤波器,将第二参考信号输入至第二滤波器,从而分别获取第一输出信号和第二输出信号。根据第一输出信号和期望信号,计算得到第一残差信号,然后根据第二输出信号和期望信号,计算得到第二残差信号。按照预设公式计算第一参考信号和期望信号之间的第一相干系数,期望信号与第一残差信号之间的第二相干系数,以及期望信号和第二残差信号之间的第三相关系数,最终根据这三个相干系数,从第一残差信号和/或第二残差信号中选择第n个单位时间的最终输出信号。实际上,也就是根据这三个系数确定当前语音交互设备处于何种状态。如果为远端单讲状态、近端单讲状态还是双讲状态,如果是远端单讲状态,则无需考虑近端语音信号的损伤问题,最终输出信号为第二残差信号即可,如果是近端单讲状态,则无需对回声做过强的抑制,重点在于保护近端语音信号,因此最终输出信号为第一残差信号。或者,当确定是双讲状态时,则将第一残差信号和第二残差信号按照预设比例输出,达到折中的效果。通过该种方式,不论语音交互设备当前处于何种状态,都能采取一定的有效措施保证回声消除,同时还能够缓解近端语音损伤,达到提升用户体验度的效果。
[0143] 与上述实施例1对应的,本发明实施例还提供了一种回声消除装置,具体如图3所示,该装置包括:输入单元301和处理单元302。
[0144] 输入单元301,用于将第n个单位时间对应的第一参考信号输入至第一滤波器中,获取第一输出信号,以及,将第二参考信号输入至第二滤波器中,获取第二输出信号,其中,第一参考信号为扬声器采集的参考信号,第二参考信号为参考传声器采集的信号,n依次递进取值,初始取值为1;
[0145] 处理单元302,用于根据第一输出信号和期望信号,计算得到第一残差信号,其中,期望信号为拾音传声器采集的信号;
[0146] 根据第二输出信号和期望信号,计算得到第二残差信号;
[0147] 按照预设公式计算第一参考信号和期望信号之间的第一相干系数,期望信号与第一残差信号之间的第二相干系数,以及期望信号和第二残差信号之间的第三相关系数;
[0148] 根据第一相关系数和/或第二相干系数,和/或第三相干系数,从第一残差信号和/或第二残差信号中,选择第n个单位时间的最终输出信号。
[0149] 可选的,处理单元302还用于,对第一滤波器中的第一滤波器传递函数和第二滤波器中的第二滤波器传递函数进行初始化。
[0150] 可选的,处理单元302,具体用于:将期望信号和第一输出信号做差值运算,获取第一残差信号。
[0151] 可选的,处理单元302,具体用于:将期望信号和第二输出信号做差值运算,获取第二残差信号。
[0152] 可选的,处理单元302还用于,根据第一残差信号、第一参考信号以及第一滤波器的更新步长,对第n个单位时间对应的第一滤波器传递函数进行迭代更新,用以获取第n+1个单位时间对应的第一滤波器传递函数,具体参见如下表达式:
[0153] Wspk(z;n+1)=Wspk(z;n)+μEspk*(z;n)Xrefspk(z;n)  (公式15)[0154] 其中,Wspk(z;n+1)为第n+1个单位时间对应的第一滤波器传递函数,Wspk(z;n)为第*n个单位时间对应的第一滤波器传递函数,μ为滤波器的更新步长,Espk (z;n)为第一残差信号,Xrefspk(z;n)为第一参考信号;
[0155] 或者,根据第二残差信号、第二参考信号以及第二滤波器的更新步长,对第n个单位时间对应的第二滤波器传递函数进行迭代更新,用以获取第n+1个单位时间对应的第二滤波器传递函数,具体参见如下表达式:
[0156] Wmic(z;n+1)=Wmic(z;n)+μEmic*(z;n)Xrefmic(z;n)  (公式16)[0157] 其中,Wmic(z;n+1)为第n+1个单位时间对应的第二滤波器传递函数,Wmic(z;n)为第n个单位时间对应的第二滤波器传递函数,μ为滤波器的更新步长,Emic*(z;n)为第二残差信号,Xrefmic(z;n)为第二参考信号。
[0158] 可选的,处理单元302采用公式17计算第一参考信号和期望信号之间的第一相干系数;采用公式18计算期望信号与第一残差信号之间的第二相干系数,以及采用公式19期望信号和第二残差信号之间的第三相关系数,公式17、公式18和公式19如下:
[0159]
[0160] 其中,CXD(z;n)为第一相干系数,Xrefspk(z;n)为第一参考信号,D(z;n)为期望信号,Cov[*,*]表示两个信号的协方差,Var[*]表示信号的方差;
[0161]
[0162] 其中CDEspk(z;n)为第二相干系数,Espk(z;n)为第一残差信号,D(z;n)为[0163] 期望信号,Cov[*,*]表示两个信号的协方差,Var[*]表示信号的方差;
[0164]
[0165] 其中,CDEmic(z;n)为第三相干系数,Emic(z;n)为第二残差信号,D(z;n)为期望信号,Cov[*,*]表示两个信号的协方差,Var[*]表示信号的方差。
[0166] 可选的,处理单元302,具体用于:若第一相干系数大于第一预设阈值,且第二相关系数和第三相干系数均小于第二预设阈值时,选择第二残差信号作为第n个单位时间的最终输出信号;
[0167] 或者,若第二相干系数大于第一预设阈值,且第一相干系数和第三相干系数均小于第二预设阈值,选择第一残差信号作为第n个单位时间的最终输出信号;
[0168] 或者,若第一相干系数、第二相关系数、第三相干系数、第一预设阈值和第二预设阈值之间的关系并非为如上的任一种关系时,则根据第一相干系数、第二相关系数、第三相干系数,按照预设规则分别设定第一残差信号和第二残差信号的输出比例,并将按照输出比例输出后信号进行叠加后,作为第n个单位时间的最终输出信号,其中,第一预设阈值大于或者等于第二预设阈值。
[0169] 可选的,第一预设阈值为0.9,第二预设阈值为0.2。
[0170] 本发明实施例提供的一种回声消除装置中各部件所执行的功能均已在上述实施例1中做了详细介绍,因此这里不做过多赘述。
[0171] 本发明实施例提供的一种回声消除装置,将第n个单位时间对应的第一参考信号输入至第一滤波器,将第二参考信号输入至第二滤波器,从而分别获取第一输出信号和第二输出信号。根据第一输出信号和期望信号,计算得到第一残差信号,然后根据第二输出信号和期望信号,计算得到第二残差信号。按照预设公式计算第一参考信号和期望信号之间的第一相干系数,期望信号与第一残差信号之间的第二相干系数,以及期望信号和第二残差信号之间的第三相关系数,最终根据这三个相干系数,从第一残差信号和/或第二残差信号中选择第n个单位时间的最终输出信号。实际上,也就是根据这三个系数确定当前语音交互设备处于何种状态。如果为远端单讲状态、近端单讲状态还是双讲状态,如果是远端单讲状态,则无需考虑近端语音信号的损伤问题,最终输出信号为第二残差信号即可,如果是近端单讲状态,则无需对回声做过强的抑制,重点在于保护近端语音信号,因此最终输出信号为第一残差信号。或者,当确定是双讲状态时,则将第一残差信号和第二残差信号按照预设比例输出,达到折中的效果。通过该种方式,不论语音交互设备当前处于何种状态,都能采取一定的有效措施保证回声消除,同时还能够缓解近端语音损伤,达到提升用户体验度的效果。
[0172] 与上述实施例1和2相对应的,本发明实施例还提供了一种回声消除系统,具体如图4所示,该系统包括:处理器401和存储器402;
[0173] 存储器402用于存储一个或多个程序指令;
[0174] 一个或多个程序指令被处理器401运行,用以执行如上第一方面的一种回声消除方法中的任一方法步骤。
[0175] 本发明实施例提供的一种回声消除系统中各部件所执行的功能均已在上述实施例1和实施例2中做了详细介绍,因此这里不做过多赘述。
[0176] 本发明实施例提供的一种回声消除系统,将第n个单位时间对应的第一参考信号输入至第一滤波器,将第二参考信号输入至第二滤波器,从而分别获取第一输出信号和第二输出信号。根据第一输出信号和期望信号,计算得到第一残差信号,然后根据第二输出信号和期望信号,计算得到第二残差信号。按照预设公式计算第一参考信号和期望信号之间的第一相干系数,期望信号与第一残差信号之间的第二相干系数,以及期望信号和第二残差信号之间的第三相关系数,最终根据这三个相干系数,从第一残差信号和/或第二残差信号中选择第n个单位时间的最终输出信号。实际上,也就是根据这三个系数确定当前语音交互设备处于何种状态。如果为远端单讲状态、近端单讲状态还是双讲状态,如果是远端单讲状态,则无需考虑近端语音信号的损伤问题,最终输出信号为第二残差信号即可,如果是近端单讲状态,则无需对回声做过强的抑制,重点在于保护近端语音信号,因此最终输出信号为第一残差信号。或者,当确定是双讲状态时,则将第一残差信号和第二残差信号按照预设比例输出,达到折中的效果。通过该种方式,不论语音交互设备当前处于何种状态,都能采取一定的有效措施保证回声消除,同时还能够缓解近端语音损伤,达到提升用户体验度的效果。
[0177] 与上述实施例相对应的,本发明实施例还提供了一种计算机存储介质,该计算机存储介质中包含一个或多个程序指令。其中,一个或多个程序指令用于被一种回声消除系统执行如实施例1所介绍的一种回声消除方法。
[0178] 虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。