1.本技术涉及音频处理技术领域,特别是涉及一种回声消除方法及相关装置、设备和存储介质。
背景技术:2.随着电子信息技术的迅速发展,音频通话在远程会议、即时通讯等诸多场景中,得到了越来越广泛的应用。在通话过程中,扬声电路播放出来的远端信号被拾音电路拾取后发回远端,便形成回声。如若回声过大,则会影响正常通话。故此,回声消除技术已经成为音频通话中必不可少的技术之一。
3.目前,现有的回声消除技术主要通过在原电路基础上,增设额外的元件来辅助回声消除,以期提升回声消除效果。但是,增加额外的元件,一方面往往也会带来新的不确定因素,另一方面也会增加额外的硬件成本和功耗开销。有鉴于此,如何在不增设额外元件的情况下,利用通话设备原有元件实现回声消除成为亟待解决的问题。
技术实现要素:4.本技术主要解决的技术问题是提供一种回声消除方法及相关装置、设备和存储介质,能够在不增设额外元件的情况下,利用通话设备原有元件实现回声消除。
5.为了解决上述技术问题,本技术第一方面提供了一种回声消除方法,包括:获取近端信号、远端信号和加速度传感器的感测信号;其中,近端信号由通话设备的拾音电路采集,远端信号由通话设备的扬声电路播放,且加速度传感器与拾音电路、扬声电路同属于通话设备;对近端信号进行检测,得到通话状态;其中,通话状态包括以下任一者:近端单讲状态、远端单讲状态、远近端双讲状态;基于通话状态,采用远端信号、感测信号、近端信号进行回声消除,得到优化信号。
6.为了解决上述技术问题,本技术第二方面提供了一种回声消除装置,包括:信号获取模块、状态检测模块和回声消除模块,信号获取模块,用于获取近端信号、远端信号和加速度传感器的感测信号;其中,近端信号由通话设备的拾音电路采集,远端信号由通话设备的扬声电路播放,且加速度传感器与拾音电路、扬声电路同属于通话设备;状态检测模块,用于对近端信号进行检测,得到通话状态;其中,通话状态包括以下任一者:近端单讲状态、远端单讲状态、远近端双讲状态;回声消除模块,用于基于通话状态,采用远端信号、感测信号、近端信号进行回声消除,得到优化信号。
7.为了解决上述技术问题,本技术第三方面提供了一种通话设备,包括扬声电路、拾音电路、通信电路、加速度传感器、存储器和处理器,扬声电路、拾音电路、通信电路、加速度传感器和存储器耦接至处理器,存储器中存储有程序指令,处理器用于执行程序指令以实现上述第一方面中的回声消除方法。
8.为了解决上述技术问题,本技术第四方面提供了一种计算机可读存储介质,存储有能够被处理器运行的程序指令,程序指令用于实现上述第一方面中的回声消除方法。
9.上述方案,获取近端信号、远端信号和加速度传感器的感测信号,且近端信号由通话设备的拾音电路采集,远端信号由通话设备的扬声电路播放,加速度传感器与拾音电路、扬声电路同属于通话设备,并对近端信号进行检测,得到通话状态,且通话状态包括以下任一者:近端单讲状态、远端单讲状态、远近端双讲状态,在此基础上,再基于通话状态,采用远端信号、感测信号、近端信号进行回声消除,得到优化信号,一方面在回声消除过程中,通过参考加速度传感器能够感测扬声电路播放时振膜的振动,有助于间接地获取非线性回声成分,从而有利于提升回声消除效果,另一方面加速度传感器由通话设备自带,故也无需增设额外的元件,从而不会带来新的不确定因素,也不会增加额外的硬件成本和功耗开销。故此,能够在不增设额外元件的情况下,利用通话设备原有元件实现回声消除。
附图说明
10.图1是本技术回声消除方法一实施例的流程示意图;
11.图2是本技术回声消除装置一实施例的框架示意图;
12.图3是通话设备一实施例的框架示意图;
13.图4是本技术计算机可读存储介质一实施例的框架示意图。
具体实施方式
14.下面结合说明书附图,对本技术实施例的方案进行详细说明。
15.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本技术。
16.本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。
17.请参阅图1,图1是本技术回声消除方法一实施例的流程示意图。
18.具体而言,可以包括如下步骤:
19.步骤s11:获取近端信号、远端信号和加速度传感器的感测信号。
20.本公开实施例中,近端信号由通话设备的拾音电路采集,远端信号由通话设备的扬声电路播放,且加速度传感器与拾音电路、扬声电路同属于通话设备。为了便于描述,可以将近端信号记为d(n),远端信号记为r(n),并将感测信号记为v(n)。
21.在一个实施场景中,需要说明的是,加速度传感器与拾音电路、扬声电路同属于通话设备,即本公开实施例中加速度传感器由通话设备自带,通话设备可以包括但不限于:手机、平板电脑、笔记本电脑等,在此不做限定。为了感测振膜振动,将加速度传感器后加于通话设备时一般将加速度传感器设置于扬声电路的振膜上,且通常也只感测扬声电路振膜一路加速度信号(其指向扬声电路的振膜振动方向),故后加于通话设备的加速度传感器,本质上与拾音电路、扬声电路并不同属于通话设备,而是额外附加于通话设备上的电子元件,其仅未感测振膜振动而加设于通话设备。区别于前述方式,本公开实施例中的加速度传感器可捕获到目标位置分别在第一方向、第二方向和第三方向上的加速度信息,从而基于上述三个方向中至少一者的加速度信息得到感测信号,且目标位置表示加速度传感器在通话
设备中的安装位置,第一方向、第二方向和第三方向两两垂直,即通过通话设备自带加速度传感器感测加速度信息不仅能够感测到振膜在各个方向上的振动,还能够感测到通话设备中其他元件/部件因振膜振动而随之产生的振动,即自带加速度传感器的感测信号也更为丰富,而上述这些振动或多或少都会造成回声,故利用与拾音电路、扬声电路同属于通话设备的加速度传感器来获取感测信号,也有助于更为有效地辅助回声消除。上述方式,通过加速度传感器捕捉目标位置处分别在第一方向、第二方向、第三方向中至少一个方向上的加速度信息得到感测信号,且目标位置表示加速度传感器在通话设备中的安装位置,第一方向、第二方向和第三方向两两垂直,故尽可能地提升感测信号的准确性。
22.在一个具体的实施场景中,以通话设备是诸如手机、平板电脑等移动终端为例,第一方向具体可以为垂直于移动终端屏幕的方向,第二方向和第三方向可以分别为移动终端两条相邻边缘所在方向。其他情况可以以此类推,在此不再一一举例。为了便于描述,可以将第一方向上的加速度信息记为vz(n),并将第二方向上的加速度信息记为v
x
(n),第三方向上的加速度信息记为vy(n)。
23.在一个具体的实施场景中,可以仅基于第一方向、第二方向、第三方向中任意一个方向上的加速度信息得到感测信号,也可以基于第一方向、第二方向、第三方向中任意两个方向上的加速度信息得到感测信号,还可以基于第一方向、第二方向和第三方向上的加速度信息得到感测信号。示例性地,可以选择上述三个方向上能量最大的加速度信息,并将该方向上的加速度信息作为感测信号;或者,还可以将上述三个方向上加速度信息进行平均,并将平均后的加速度信息作为感测信号。当然,也可以任意选择至少一个方向上的加速度信息,作为感测信息,在此不做限定。
24.步骤s12:对近端信号进行检测,得到通话状态。
25.本公开实施例中,通话状态包括以下任一者:近端单讲状态、远端单讲状态、远近端双讲状态。需要说明的是,近端单讲状态表示当前仅有通话设备端的近端说话人正在说话,而远端说话人并未在说话,此时通话设备的拾音电路仅拾取到近端说话人语音以及通话设备所处环境的噪声;而远端单讲状态表示当前仅有远端说话人在说话,而通话设备端的近端说话人未在说话,此时通话设备的拾音电路仅拾取到扬声电路播出的远端说话人语音以及通话设备所处环境的噪声;而远近端双讲状态表示当前不仅有通话设备端的近端说话人正在说话,还有远端说话人也在说话,故此时通话设备的拾音电路不仅可以拾取到扬声器播出的远端说话人语音,还可以拾取到近端说话人语音以及通话设备所处环境的噪声。此外,通常而言,在现实场景中,正常通话状态下,大多数时段处于近端单讲状态或远端单讲状态,一般仅有少部分时段处于远近端双讲状态。当然,本公开实施例对上述三种状态分别所占时段的长短也不做限定。
26.在一个实施场景中,可以通过双讲检测(double-talk detection,dtd)来检测得到上述通话状态,且双讲检测具体可以包括但不限于:能量比较法、相关比较法、基于概率统计的方法等,在此不做限定。示例性地,能量比较法基于双讲时近端信号远高于单讲时远端信号的假设,相关比较法基于双讲时近端信号与远端信号相关性低于单讲的假设。双讲检测的具体过程,可以参阅双讲检测的技术细节,在此不再赘述。
27.步骤s13:基于通话状态,采用远端信号、感测信号、近端信号进行回声消除,得到优化信号。
28.具体而言,可以通过自适应滤波器实现回声消除,如可以基于通话状态,确定执行回声消除所需的目标滤波器和目标信号,且目标滤波器包括第一滤波器、第二滤波器、第三滤波器中至少一个,目标信号至少包括近端信号,并采用目标滤波器处理目标信号,得到优化信号。上述方式,通过通话状态来从第一滤波器、第二滤波器和第三滤波器中选择目标滤波器,并从近端信号、远端信号和感测信号中选择目标信号,从而采用模板滤波器来处理目标信号,得到优化信号,有利于针对不同通话状态来自适应地进行回声消除,有利于提升回声消除效果。
29.在一个实施场景中,在首次通话时,可以先初始化第一滤波器、第二滤波器和第三滤波器,且第一滤波器用于消除感测信号中的非线性回声成分,第二滤波器用于消除近端信号中的线性回声成分,第三滤波器用于消除近端信号中的非线性回声成分。在此基础上,再执行上述基于通话状态,确定执行回声消除所需的目标滤波器和目标信号的步骤以及后续步骤。为了便于初始化,上述三个滤波器在初始化阶段,其滤波器系数可以均设置为0。当然,也可以根据需要设置为其他数值,在此不做限定。
30.在一个实施场景中,上述第一滤波器、第二滤波器、第三滤波器可以均基于fir(finite impulse response,有限脉冲响应)滤波器设计得到。需要说明的是,上述三种滤波器的实现形式可以包括但不限于:直接型、二阶级联型、lattice结构,且本公开实施例对上述三种滤波器的传递函数不做限定。滤波器的具体实现方式,可以参阅关于fir滤波器的相关技术细节,在此不做限定。
31.在一个实施场景中,响应于通话状态为远端单讲状态,则可以确定目标滤波器包括第一滤波器、第二滤波器和第三滤波器,并确定目标信号包括近端信号、远端信号和感测信号,在此基础上,可以进一步将远端信号d(n)作为第一滤波器的第一参考信号,并基于感测信号得到第一滤波器的第一期望信号,在此情况下,第一滤波器即可基于第一参考信号和第一期望信号进行滤波处理,从而可以获取第一滤波器输出的第一误差信号e1(n),且第一误差信号e1(n)表示感测信号中的非线性回声成分。在此之后,可以继续将远端信号d(n)作为第二参考信号,并将近端信号r(n)作为第二滤波器的第二期望信号,在此情况下,第二滤波器即可基于第二参考信号和第二期望信号进行滤波处理,从而可以获取第二滤波器输出的第二误差信号e2(n),且第二误差信号e2(n)表示消除线性回声成分之后的近端信号。最后,可以将第一误差信号e1(n)作为第三滤波器的第三参考信号,并将第二误差信号e2(n)作为第三滤波器的第三期望信号,在此情况下,第三滤波器即可基于第三参考信号和第三期望信号进行滤波处理,从而可以获取第三滤波器输出的第三误差信号e3(n),作为优化信号,且第三误差信号e3(n)即表示消除线性回声成分和非线性回声成分之后的近端信号。上述方式,先将远端信号作为参考通过第一滤波器消除得到感测信号中的非线性回声成分,同时将远端信号作为参考信号通过第二滤波器消除近端信号中的线性回声成分,在此基础上,再将上述非线性回声成分作为参考信号,并通过第三滤波器进一步消除近端信号中的非线性回声成分,通过远端信号和加速度传感器的感测信号,消除近端信号中的线性回声成分和非线性回声成分,有助于提升回声消除效果。
32.在一个具体的实施场景中,为了进一步提升回声消除效果,可以将感测信号升采样至目标采样率,且目标采样率为近端信号的采样率。示例性地,近端信号每秒包含100个采样数据,感测信号每秒包含10个采样数据,则可以将感测信号进行升采样,且升采样之后
的感测信号每秒也包含100个采样数据。其他情况可以以此类推,在此不再一一举例。此外,具体可以通过诸如三线性差值等差值算法对感测信号进行升采样,升采样的具体过程,可以参阅诸如三线性差值等差值算法的技术细节,在此不再赘述。上述方式,通过将感测信号升采样至目标采样率,且目标采样率为近端信号的采样率,故能够通过升采样将感测信号与近端信号的采样率保持一致,有利于进一步提升回声消除效果。
33.在一个具体的实施场景中,为了进一步提升第一滤波器的滤波性能,在通话状态为远端单讲状态的情况下,在通过第一滤波器进行回声消除之后,可以进一步利用第一期望信号和第一误差信号,更新第一滤波器。示例性地,可以通过诸如lms(least mean squares,即最小均方)、rls(recursive least squares,即递归最小二乘)等算法更新第一滤波器的系数,在此不做限定。此外,滤波器更新的具体过程,可以参阅诸如lms、rls的技术细节,在此不再赘述。上述方式,在通过第一滤波器得到第一误差信号之后,进一步利用第一期望信号和第一误差信号,更新第一滤波器,有利于在回声消除过程中,进一步不断提升第一滤波器的滤波性能。
34.在一个具体的实施场景中,为了进一步提升第二滤波器的滤波性能,在通话状态为远端单讲状态的情况下,在通过第二滤波器进行回声消除之后,可以进一步利用第二期望信号和第二误差信号,更新第二滤波器。示例性地,可以通过诸如lms、rls等算法更新第二滤波器的系数,在此不做限定。上述方式,在通过第二滤波器得到第二误差信号之后,进一步利用第二期望信号和第二误差信号,更新第二滤波器,有利于在回声消除过程中,进一步不断提升第二滤波器的滤波性能。
35.在一个具体的实施场景中,为了进一步提升第三滤波器的滤波性能,在通话状态为远端单讲状态的情况下,在通过第三滤波器进行回声消除之后,可以进一步利用第三参考信号和第三误差信号,更新第三滤波器。示例性地,可以通过诸如lms、rls等算法更新第三滤波器的系数,在此不做限定。上述方式,在通过第三滤波器得到第三误差信号之后,进一步利用第三参考信号和第三误差信号,更新第三滤波器,有利于在回声消除过程中,进一步不断提升第三滤波器的滤波性能。
36.在一个实施场景中,响应于通话状态为远近端双讲状态,可以确定目标滤波器包括第二滤波器,以及确定目标信号包括近端信号d(n)和远端信号r(n),在此基础上,可以进一步将远端信号r(n)作为第二滤波器的第四参考信号,并将近端信号d(n)作为第二滤波器的第四期望信号,在此情况下,第二滤波器即可基于第四参考信号和第四期望信号进行滤波处理,从而可以获取第二滤波器输出的第四误差信号e4(n),作为优化信号,且第四误差信号e4(n)表示消除线性回声成分之后的近端信号。上述方式,在通话状态为远近端双讲状态时,确定目标滤波器包括第二滤波器,以及确定目标信号包括近端信号和远端信号,并在此基础上,将远端信号作为第二滤波器的第四参考信号,并将近端信号作为第二滤波器的第四期望信号,以及获取第二滤波器输出的第四误差信号,作为优化信号,且第四误差信号表示消除线性回声成分之后的近端信号,而不再利用第三滤波器进行进一步回声消除,能够降低因尝试进一步消除非线性回声成分而影响正常通话的可能性,有助于提升音频通话效果。
37.在一个具体的实施场景中,需要说明的是,本公开实施例中,在回声消除过程中,可以维护上述第一滤波器、第二滤波器和第三滤波器,且在通话状态为远端单讲状态下所
使用的第二滤波器和在通话状态为远近端双讲状态下所使用的第二滤波器为同一滤波器。
38.在一个具体的实施场景中,区别于前述通话状态为远端单讲的情况,在通话状态为远近端双讲状态时,在通过第二滤波器进行回声消除之后,无需更新目标滤波器(即第二滤波器)。上述方式,在远近端双讲状态时不更新目标滤波器,一方面能够避免引入非线性回声因素对目标滤波器性能的影响,从而能够在远近端双讲状态时至少维持目标滤波器的现有性能而不至于降低其原有性能,另一方面也有助于减少回声消除过程中的计算量,有助于减少回声消除的计算负荷。
39.在一个实施场景中,响应于通话状态为近端单讲状态,可以确定无需选择任一滤波器作为目标滤波器,并确定目标信号包括近端信号,在此基础上,可以直接将近端信号,作为优化信号。也就是说,在通话状态为近端单讲状态时,由于此时拾音电路采集到的近端信号中包括通话设备端处的近端说话人的语音以及通话设备所处环境的噪声,而不会包含远端说话人的语音,也就是说,在通话状态为近端单讲状态的情况下,不会形成回声,故在通话状态为近端单讲状态时,确定无需选择任一滤波器作为目标滤波器,并确定目标信号包括近端信号,以及直接将近端信号,作为优化信号,能够在通话状态为近端单讲状态时,大大降低计算负荷,有助于提升回声消除效率。
40.此外,在时间步n采集到上述近端信号d(n)、远端信号r(n)和感测信号v(n)之后,可以结合上述滤波器进行回声消除,得到优化信号。进一步地,在下一时间步n+1采集到近端信号d(n+1)、远端信号r(n+1)和感测信号v(n+1)之后,可以结合在时间步n更新之后的滤波器进行回声消除,得到优化信号。后续时间步,可以以此类推,进行回声消除。故此,有利于在音频通话过程中,通过自适应滤波器不断提升通话质量。
41.当然,区别于前述不同通话状态混用滤波器的实施方式,也可以为每种通话状态单独设计不同滤波器组。示例性地,对应于远端单讲状态,可以设置第一滤波器组,第一滤波器组可以具体包括:第一滤波器、第二滤波器和第三滤波器,且第一滤波器用于消除感测信号中的非线性回声成分,第二滤波器用于消除近端信号中的线性回声成分,第三滤波器用于消除近端信号中的非线性回声成分,具体可以参阅前述公开实施例中相关描述,在此不再赘述;类似地,对应于远近端双讲状态,可以设置第二滤波器组,第二滤波器组具体可以包括:第四滤波器,且第四滤波器用于消除近端信号中的线性回声成分;类似地,对应于近端单讲状态,可以设置第三滤波器组,第三滤波器组可以包括:第五滤波器,示例性地,第五滤波器可以为带通滤波器,用于滤除近端信号中预设频率范围之外的成分,如明显高于说话人正常语音频率的成分,或者明显低于说话人正常语音频率的成分,当然,第五滤波器也可以为全通滤波器,在此不做限定。在此基础上,可以基于通话状态,确定执行回声消除所需的目标滤波器组和目标信号,且目标滤波器组包括上述第一滤波器组、第二滤波器组、第三滤波器组中任一者,而目标信号可以至少包括近端信号,从而可以采用目标滤波器组处理目标信号,得到优化信号。此外,如前所述,在通话状态为远端单讲状态的情况下,在利用第一滤波器组中的第一滤波器、第二滤波器、第三滤波器执行回声消除操作之后,可以进一步更新滤波器,而在通话状态为远近端双讲的情况下,在利用第二滤波器组中的第四滤波器执行回声消除操作之后,可以无需执行更新滤波器的操作,具体可以参阅前述相关描述,在此不再赘述。此外,与前述实施方式不同的是,在通话状态为近端单讲状态时,在利用第三滤波器组中的第五滤波器执行回声消除操作之后,也可以无需执行更新滤波器的操
作。
42.上述方案,获取近端信号、远端信号和加速度传感器的感测信号,且近端信号由通话设备的拾音电路采集,远端信号由通话设备的扬声电路播放,加速度传感器与拾音电路、扬声电路同属于通话设备,并对近端信号进行检测,得到通话状态,且通话状态包括以下任一者:近端单讲状态、远端单讲状态、远近端双讲状态,在此基础上,再基于通话状态,采用远端信号、感测信号、近端信号进行回声消除,得到优化信号,一方面在回声消除过程中,通过参考加速度传感器能够感测扬声电路播放时振膜的振动,有助于间接地获取非线性回声成分,从而有利于提升回声消除效果,另一方面加速度传感器由通话设备自带,故也无需增设额外的元件,从而不会带来新的不确定因素,也不会增加额外的硬件成本和功耗开销。故此,能够在不增设额外元件的情况下,利用通话设备原有元件实现回声消除。
43.请参阅图2,图2是本技术回声消除装置20一实施例的框架示意图。回声消除装置20包括:信号获取模块21、状态检测模块22和回声消除模块23,信号获取模块21,用于获取近端信号、远端信号和加速度传感器的感测信号;其中,近端信号由通话设备的拾音电路采集,远端信号由通话设备的扬声电路播放,且加速度传感器与拾音电路、扬声电路同属于通话设备;状态检测模块22,用于对近端信号进行检测,得到通话状态;其中,通话状态包括以下任一者:近端单讲状态、远端单讲状态、远近端双讲状态;回声消除模块23,用于基于通话状态,采用远端信号、感测信号、近端信号进行回声消除,得到优化信号。
44.上述方案,获取近端信号、远端信号和加速度传感器的感测信号,且近端信号由通话设备的拾音电路采集,远端信号由通话设备的扬声电路播放,加速度传感器与拾音电路、扬声电路同属于通话设备,并对近端信号进行检测,得到通话状态,且通话状态包括以下任一者:近端单讲状态、远端单讲状态、远近端双讲状态,在此基础上,再基于通话状态,采用远端信号、感测信号、近端信号进行回声消除,得到优化信号,一方面在回声消除过程中,通过参考加速度传感器能够感测扬声电路播放时振膜的振动,有助于间接地获取非线性回声成分,从而有利于提升回声消除效果,另一方面加速度传感器由通话设备自带,故也无需增设额外的元件,从而不会带来新的不确定因素,也不会增加额外的硬件成本和功耗开销。故此,能够在不增设额外元件的情况下,利用通话设备原有元件实现回声消除。
45.在一些公开实施例中,回声消除模块23包括确定子模块,用于基于通话状态,确定执行回声消除所需的目标滤波器和目标信号;其中,目标滤波器包括第一滤波器、第二滤波器、第三滤波器中至少一者,目标信号至少包括近端信号;回声消除模块23包括处理子模块,用于采用目标滤波器处理目标信号,得到优化信号。
46.因此,通过通话状态来从第一滤波器、第二滤波器和第三滤波器中选择目标滤波器,并从近端信号、远端信号和感测信号中选择目标信号,从而采用模板滤波器来处理目标信号,得到优化信号,有利于针对不同通话状态来自适应地进行回声消除,有利于提升回声消除效果。
47.在一些公开实施例中,确定子模块包括第一响应单元,用于响应于通话状态为远端单讲状态,确定目标滤波器包括第一滤波器、第二滤波器和第三滤波器,并确定目标信号包括近端信号、远端信号和感测信号;处理子模块包括第一消除单元,用于将远端信号作为第一滤波器的第一参考信号,并基于感测信号得到第一滤波器的第一期望信号,以及获取第一滤波器输出的第一误差信号;其中,第一误差信号表示感测信号中的非线性回声成分;
处理子模块包括第二消除单元,用于将远端信号作为第二滤波器的第二参考信号,并将近端信号作为第二滤波器的第二期望信号,以及获取第二滤波器输出的第二误差信号;其中,第二误差信号表示消除线性回声成分之后的近端信号;处理子模块包括第三消除单元,用于将第一误差信号作为第三滤波器的第三参考信号,并将第二误差信号作为第三滤波器的第三期望信号,以及获取第三滤波器输出的第三误差信号,作为优化信号;其中,第三误差信号表示消除线性回声成分和非线性回声成分之后的近端信号。
48.因此,先将远端信号作为参考通过第一滤波器消除得到感测信号中的非线性回声成分,同时将远端信号作为参考信号通过第二滤波器消除近端信号中的线性回声成分,在此基础上,再将上述非线性回声成分作为参考信号,并通过第三滤波器进一步消除近端信号中的非线性回声成分,通过远端信号和加速度传感器的感测信号,消除近端信号中的线性回声成分和非线性回声成分,有助于提升回声消除效果。
49.在一些公开实施例中,回声消除模块23包括更新子模块,用于执行以下至少一者:利用第一期望信号和第一误差信号,更新第一滤波器;利用第二期望信号和第二误差信号,更新第二滤波器;利用第三参考信号和第三误差信号,更新第三滤波器。
50.因此,在通过第一滤波器得到第一误差信号之后,进一步利用第一期望信号和第一误差信号,更新第一滤波器,有利于在回声消除过程中,进一步不断提升第一滤波器的滤波性能;而在通过第二滤波器得到第二误差信号之后,进一步利用第二期望信号和第二误差信号,更新第二滤波器,有利于在回声消除过程中,进一步不断提升第二滤波器的滤波性能;而在通过第三滤波器得到第三误差信号之后,进一步利用第三参考信号和第三误差信号,更新第三滤波器,有利于在回声消除过程中,进一步不断提升第三滤波器的滤波性能。
51.在一些公开实施例中,第一消除单元还具体用于将感测信号升采样至目标采样率;其中,目标采样率为近端信号的采样率。
52.因此,通过将感测信号升采样至目标采样率,且目标采样率为近端信号的采样率,故能够通过升采样将感测信号与近端信号的采样率保持一致,有利于进一步提升回声消除效果。
53.在一些公开实施例中,确定子模块包括第二响应单元,用于响应于通话状态为远近端双讲状态,确定目标滤波器包括第二滤波器,以及确定目标信号包括近端信号和远端信号;处理子模块包括第四消除单元,用于将远端信号作为第二滤波器的第四参考信号,并将近端信号作为第二滤波器的第四期望信号,以及获取第二滤波器输出的第四误差信号,作为优化信号;其中,第四误差信号表示消除线性回声成分之后的近端信号。
54.因此,在通话状态为远近端双讲状态时,确定目标滤波器包括第二滤波器,以及确定目标信号包括近端信号和远端信号,并在此基础上,将远端信号作为第二滤波器的第四参考信号,并将近端信号作为第二滤波器的第四期望信号,以及获取第二滤波器输出的第四误差信号,作为优化信号,且第四误差信号表示消除线性回声成分之后的近端信号,而不再利用第三滤波器进行进一步回声消除,能够降低因尝试进一步消除非线性回声成分而影响正常通话的可能性,有助于提升音频通话效果。
55.在一些公开实施例中,确定子模块包括第三响应单元,用于响应于通话状态为近端单讲状态,确定无需选择任一滤波器作为目标滤波器,并确定目标信号包括近端信号;处理子模块包括第五消除单元,用于直接将近端信号,作为优化信号。
56.因此,在通话状态为近端单讲状态时,确定无需选择任一滤波器作为目标滤波器,并确定目标信号包括近端信号,以及直接将近端信号,作为优化信号,能够在通话状态为近端单讲状态时,大大降低计算负荷,有助于提升回声消除效率。
57.在一些公开实施例中,回声消除装置20还包括:初始化模块,用于初始化第一滤波器、第二滤波器和第三滤波器;其中,第一滤波器用于消除感测信号中的非线性回声成分,第二滤波器用于消除近端信号中的线性回声成分,第三滤波器用于消除近端信号中的非线性回声成分。
58.因此,在滤波之前,先设置第一滤波器、第二滤波器、第三滤波器,并分别进行系数初始化,且第一滤波器用于消除感测信号中的非线性回声成分,第二滤波器用于消除近端信号中的线性回声成分,第三滤波器用于消除近端信号中的非线性回声成分,故能够充分利用各种属性的滤波器实现回声消除。
59.在一些公开实施例中,加速度传感器用于捕获目标位置处分别在第一方向、第二方向和第三方向上的加速度信息,感测信号基于第一方向、第二方向、第三方向上中至少一个方向上的加速度信息得到;其中,目标位置表示加速度传感器在通话设备中的安装位置,第一方向、第二方向和第三方向两两垂直。
60.因此,通过加速度传感器捕捉目标位置处分别在第一方向、第二方向、第三方向中至少一个方向上的加速度信息得到感测信号,且目标位置表示加速度传感器在通话设备中的安装位置,第一方向、第二方向和第三方向两两垂直,故尽可能地提升感测信号的准确性。
61.请参阅图3,图3是本技术通话设备30一实施例的框架示意图。通话设备30包括:扬声电路31、拾音电路32、通信电路33、加速度传感器34、存储器35和处理器36,扬声电路31、拾音电路32、通信电路33、加速度传感器34和存储器35耦接至处理器36,存储器35中存储有程序指令,处理器36用于执行程序指令以实现上述任一回声消除方法实施例中的步骤。具体而言,通话设备30可以包括但不限于:手机、平板电脑、笔记本电脑等,在此不做限定。
62.具体而言,处理器36用于控制其自身以及扬声电路31、拾音电路32、通信电路33、加速度传感器34、存储器35以实现上述任一回声消除方法实施例中的步骤。处理器36还可以称为cpu(central processing unit,中央处理单元)。处理器36可能是一种集成电路芯片,具有信号的处理能力。处理器36还可以是通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器36可以由集成电路芯片共同实现。
63.上述方案,一方面在回声消除过程中,通过参考加速度传感器能够感测扬声电路播放时振膜的振动,有助于间接地获取非线性回声成分,从而有利于提升回声消除效果,另一方面加速度传感器由通话设备自带,故也无需增设额外的元件,从而不会带来新的不确定因素,也不会增加额外的硬件成本和功耗开销。故此,能够在不增设额外元件的情况下,利用通话设备原有元件实现回声消除。
64.请参阅图4,图4是本技术计算机可读存储介质40一实施例的框架示意图。计算机可读存储介质40存储有能够被处理器运行的程序指令41,程序指令41用于实现上述任一回
声消除方法实施例中的步骤。
65.上述方案,一方面在回声消除过程中,通过参考加速度传感器能够感测扬声电路播放时振膜的振动,有助于间接地获取非线性回声成分,从而有利于提升回声消除效果,另一方面加速度传感器由通话设备自带,故也无需增设额外的元件,从而不会带来新的不确定因素,也不会增加额外的硬件成本和功耗开销。故此,能够在不增设额外元件的情况下,利用通话设备原有元件实现回声消除。
66.在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
67.上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
68.在本技术所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
69.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
70.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
71.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本技术各个实施方式方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。