一种语音回声的处理方法、装置、芯片及模组设备与流程

文档序号:33109166发布日期:2023-02-01 01:53阅读:21来源:国知局
一种语音回声的处理方法、装置、芯片及模组设备与流程

1.本发明涉及计算机领域,尤其涉及一种语音回声的处理方法、装置、芯片及模组设备。


背景技术:

2.在实时语音通信过程中,远端的声音信号经过近端的扩声系统播放,直接或反射后间接被麦克风拾取,传送给远端,从而形成声学回声。如果不对回声进行处理,对端在说话时总能听到自己的声音,严重影响通话体验。因此,如何对语音通信中的回声进行处理,以提高语音通信质量,是一个有待解决的问题。


技术实现要素:

3.本技术提供一种语音回声的处理方法、装置、芯片及模组设备,能够提高语音通信质量,提升语音通话体验。
4.第一方面,本技术提供一种语音回声的处理方法,该方法包括:通过扬声器播放远端设备发送的第一用户的第一声音信号;通过麦克风采集声音信号,得到第二声音信号,该第二声音信号包括第二用户的第三声音信号以及第一声音信号对应的回声信号;基于第一声音信号对第二声音信号中的回声信号进行消除处理,得到残差信号;对残差信号进行子带划分处理,得到一个或多个子带上的第一信号;确定该一个或多个子带上的第一信号的声场状态;基于该声场状态对一个或多个子带上的第一信号进行处理,得到第三声音信号;向远端设备发送该第三声音信号。
5.基于第一方面描述的方法,对残差信号进行子带划分后,基于子带上的第一信号进行声场状态的准确判断,同时针对不同的声场状态,配套了不同的回声抑制处理方式,更加有效地抑制回声,有利于提高语音通信质量,提升语音通话体验。
6.在一种可能的实现方式中,基于第一声音信号对第二声音信号中的回声信号进行消除处理,得到残差信号,包括:基于自适应滤波器对第一声音信号进行滤波处理,得到估计回声信号;基于该估计回声信号对第二声音信号中的回声信号进行消除处理,得到残差信号。基于该方式,能够有效地消除线性回声信号。
7.在一种可能的实现方式中,该方法还包括:基于该声场状态调整自适应滤波器的更新速率。基于该方式,能够提高线性回声抑制的准确性。
8.在一种可能的实现方式中,该声场状态包括双讲状态、异常回声状态和远端单讲状态,确定该一个或多个子带上的第一信号的声场状态,包括:若第二声音信号和第一声音信号中存在语音信号,则基于该残差信号和该估计回声信号计算泄漏系数,该泄漏系数用于表示信号泄漏回声的程度;若该泄漏系数大于第一阈值,则确定一个或多个子带上的第一信号中所有第一信号的声场状态为该异常回声状态;若该泄漏系数小于或等于第一阈值,则判断第一子带上的第一信号的回波抑制比是否大于第二阈值,该第一子带为该一个或多个子带中的任意一个,该回波抑制比用于表示抑制声音信号中回声信号的程度;若第
一子带上的第一信号的回波抑制比大于第二阈值,则确定第一子带上的第一信号的声场状态为远端单讲状态;若第一子带上的第一信号的回波抑制比小于或等于第二阈值,则确定第一子带上的第一信号的声场状态为双讲状态。基于该方式,能够有效地判断各子带上的第一信号的声场状态。
9.在一种可能的实现方式中,若残差信号中存在语音信号,则第二阈值为第三阈值;若残差信号中不存在语音信号,则第二阈值为第四阈值,第三阈值大于第四阈值。基于该方式,能够提高声场状态判断的准确性。
10.在一种可能的实现方式中,基于该声场状态对一个或多个子带上的第一信号进行处理,得到第三声音信号,包括:基于该声场状态对一个或多个子带上的第一信号进行残余回声抑制,得到一个或多个子带上的第二信号;基于该声场状态对一个或多个子带上的第二信号进行非线性回声抑制,得到一个或多个子带上的第三信号;对一个或多个子带上的第三信号进行合并处理,得到第三声音信号。基于该方式,能够有效地进行回声抑制。
11.在一种可能的实现方式中,基于该声场状态对一个或多个子带上的第一信号进行残余回声抑制,得到一个或多个子带上的第二信号,包括:基于该泄漏系数和该估计回声信号确定该一个或多个子带上的第一信号对应的初始残余回声估计,或,基于该泄漏系数和该第一声音信号确定一个或多个子带上的第一信号对应的初始残余回声估计;基于该声场状态确定一个或多个子带上的第一信号对应的残余回声增益;基于该残余回声增益和该初始残余回声估计确定一个或多个子带上的第一信号对应的残余回声估计;基于该残余回声估计对一个或多个子带上的第一信号进行残余回声抑制,得到一个或多个子带上的第二信号。基于该方式,能够提高每个子带上的第一信号对应的残余回声估计的准确性,进而提高残余回声抑制的有效性。
12.在一种可能的实现方式中,基于该泄漏系数和该估计回声信号确定一个或多个子带上的第一信号对应的初始残余回声估计,包括:基于该估计回声信号、该第一声音信号和该第二声音信号确定第四声音信号;基于该泄漏系数和该第四声音信号确定一个或多个子带上的第一信号对应的初始残余回声估计。基于该方式,更有利于提高每个子带上的第一信号对应的残余回声估计的准确性。
13.在一种可能的实现方式中,基于该残余回声估计对一个或多个子带上的第一信号进行残余回声抑制,得到一个或多个子带上的第二信号,包括:基于该残余回声估计确定一个或多个子带上的第一信号对应的第一抑制系数;基于该第一抑制系数对一个或多个子带上的第一信号进行残余回声抑制,得到一个或多个子带上的第二信号。基于该方式,直接根据残余回声估计的大小确定一个或多个子带上的第一信号对应的第一抑制系数,有利于提高回声抑制的效率。
14.在一种可能的实现方式中,基于该残余回声估计对一个或多个子带上的第一信号进行残余回声抑制,得到一个或多个子带上的第二信号,包括:确定一个或多个子带上第一信号对应的噪声估计;基于该噪声估计和该残余回声估计确定一个或多个子带上的融合声音信号;基于该融合声音信号对一个或多个子带上的第一信号进行残余回声抑制,得到一个或多个子带上的第二信号。基于该方式,将残余回声加入噪声估计进行融合降噪,更有利于提高语音通信的质量。
15.在一种可能的实现方式中,基于该声场状态对一个或多个子带上的第一信号进行
残余回声抑制,得到一个或多个子带上的第二信号,包括:基于该声场状态确定一个或多个子带上的第一信号对应的第二抑制系数;基于该第二抑制系数对一个或多个子带上的第一信号进行残余回声抑制,得到一个或多个子带上的第二信号。基于该方式,根据声场状态调整残余回声抑制的程度,以提高残余回声抑制的准确性。
16.在一种可能的实现方式中,双讲状态对应的第二抑制系数大于远端单讲状态对应的第二抑制系数,远端单讲状态对应的第二抑制系数大于异常回声状态对应的第二抑制系数。基于该方式,可以在保证回声抑制干净的前提下,保障双讲状态时近端语音的连续性,且对于路径突变导致的异常回声,可以有效地进行识别和抑制。
17.在一种可能的实现方式中,基于该声场状态对一个或多个子带上的第二信号进行非线性回声抑制,得到一个或多个子带上的第三信号,包括:基于该声场状态确定一个或多个子带上的第二信号对应的第三抑制系数;基于该第三抑制系数对一个或多个子带上的第二信号进行非线性回声抑制,得到一个或多个子带上的第三信号。基于该方式,根据声场状态调整非线性回声抑制的程度,以提高非线性回声抑制的准确性。
18.在一种可能的实现方式中,双讲状态对应的第三抑制系数大于远端单讲状态对应的第三抑制系数,远端单讲状态对应的第三抑制系数大于异常回声状态对应的第三抑制系数。基于该方式,可以在保证回声抑制干净的前提下,保障双讲状态时近端语音的连续性,且对于路径突变导致的异常回声,可以有效地进行识别和抑制。
19.第二方面,本技术提供一种语音回声的处理装置,该处理装置包括:处理单元,用于通过扬声器播放远端设备发送的第一用户的第一声音信号;该处理单元,还用于通过麦克风采集声音信号,得到第二声音信号,该第二声音信号包括第二用户的第三声音信号以及第一声音信号对应的回声信号;该处理单元,还用于基于第一声音信号对第二声音信号中的回声信号进行消除处理,得到残差信号;该处理单元,还用于对该残差信号进行子带划分处理,得到一个或多个子带上的第一信号;确定单元,用于确定一个或多个子带上的第一信号的声场状态;该处理单元,还用于基于该声场状态对一个或多个子带上的第一信号进行处理,得到第三声音信号;发送单元,用于向远端设备发送该第三声音信号。
20.第三方面,本技术提供了一种芯片,该芯片包括处理器和通信接口,处理器被配置用于使芯片执行上述第一方面或其任一种可能的实现方式中的方法。
21.第四方面,本技术提供了一种模组设备,该模组设备包括通信模组、电源模组、存储模组以及芯片,其中:该电源模组用于为该模组设备提供电能;该存储模组用于存储数据和指令;该通信模组用于进行模组设备内部通信,或者用于该模组设备与外部设备进行通信;该芯片用于执行上述第一方面或其任一种可能的实现方式中的方法。
22.第五方面,本发明实施例公开了一种语音回声的处理装置,该语音回声的处理装置包括存储器和处理器,该存储器用于存储计算机程序,该计算机程序包括程序指令,该处理器被配置用于调用该程序指令,执行上述第一方面或其任一种可能的实现方式中的方法。
23.第六方面,本技术提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机可读指令,当该计算机可读指令在语音回声的处理装置上运行时,使得该语音回声的处理装置执行上述第一方面或其任一种可能的实现方式中的方法。
24.第七方面,本技术提供一种计算机程序或计算机程序产品,包括代码或指令,当代
码或指令在计算机上运行时,使得计算机执行如第一方面或其任一种可能的实现方式中的方法。
附图说明
25.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
26.图1是本技术实施例提供的一种通信系统的系统架构图;
27.图2是本技术实施例提供的一种语音通信中的声学回声的示意图;
28.图3是本技术实施例提供的一种语音回声的处理方法的流程示意图;
29.图4是本技术实施例提供的一种语谱图;
30.图5是本技术实施例提供的另一种语音回声的处理方法的流程示意图;
31.图6是本技术实施例提供的一种语音回声的处理装置的结构示意图;
32.图7是本技术实施例提供的另一种语音回声的处理装置的结构示意图;
33.图8是本技术实施例提供的一种模组设备的结构示意图。
具体实施方式
34.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
35.本技术以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本技术的限制。如在本技术的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本技术中使用的术语“和/或”是指并包含一个或多个所列出项目的任何或所有可能组合。
36.需要说明的是,本技术的说明书和权利要求书中及上述附图中的属于“第一”、“第二”、“第三”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述以外的顺序实施。此外,术语“包括”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
37.为了更好地理解本技术实施例,下面首先对本技术实施例涉及的系统架构进行介绍:
38.本技术实施例的技术方案可以应用于各种通信系统,例如:全球移动通讯(global system of mobile communication,gsm)系统、码分多址(code division multiple access,cdma)系统、宽带码分多址(wideband code division multiple access,wcdma)系
统、通用分组无线业务(general packet radio service,gprs)、长期演进(long term evolution,lte)系统、lte频分双工(frequency division duplex,fdd)系统、lte时分双工(time division duplex,tdd)、通用移动通信系统(universal mobile telecommunication system,umts)、全球互联微波接入(worldwide interoperability for microwave access,wimax)通信系统、第五代(5th generation,5g)系统或新无线(new radio,nr)以及未来的通信系统等。
39.图1是本技术实施例提供的一种通信系统的系统架构图,本技术中的方案可适用于该通信系统。该通信系统可以包括至少一个近端设备和至少一个远端设备,图1以通信系统中包括1个近端设备和1个远端设备为例。可选地,该通信系统还可以包括网络设备(如基站)。
40.其中,近端设备和远端设备可以是终端设备,终端设备包括向用户提供语音和/或数据连通性的设备,例如终端设备是一种具有无线收发功能的设备,可以部署在陆地上,包括室内或室外、手持、穿戴或车载;也可以部署在水面上(如轮船等);还可以部署在空中(例如飞机、气球和卫星上等)。本技术实施例中的终端设备可以是配备有麦克风和扬声器的设备,例如手机(mobile phone)、耳机、平板电脑(pad)、带无线收发功能的电脑、虚拟现实(vr)终端设备、增强现实(ar)终端设备、工业控制(industrial control)中的无线终端、车载终端设备、无人驾驶(self driving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、可穿戴终端设备等等。本技术的实施例对应用场景不做限定。另外,终端设备有时也可以称为终端、用户设备(user equipment,ue)、接入终端设备、车载终端、工业控制终端、ue单元、ue站、移动站、移动台、远方站、远程终端设备、移动设备、ue终端设备、终端设备、无线通信设备、ue代理或ue装置等。终端也可以是固定的或者移动的。本技术实施例中,用于实现近端设备或远端设备的功能的装置可以是终端设备,也可以是能够支持终端设备实现该功能的装置,例如芯片系统或可实现终端设备功能的组合器件、部件,该装置可以被安装在终端设备中。
41.为了便于理解本技术实施例提供的方案,下面对语音通信中的声学回声进行介绍:
42.如图2所示,远端设备通过麦克风1采集到第一用户的声音信号,经过网络传输将第一用户的声音信号传送给近端设备。近端设备接收到第一用户的声音信号后,可以通过扬声器2播放该第一用户的声音信号,此时该第一用户的声音信号会直接或者反射后间接被近端设备的麦克风2拾取,从而形成声学回声信号。如果不对该声学回声信号进行处理,近端设备通过网络传输将该声学回声信号传送给远端设备,便会出现第一用户在说话的时候总能听见自己的声音的情况,严重影响通话体验。
43.另外,如果近端设备的扬声器2在播放该第一用户的声音信号时,第二用户也在讲话(即双讲状态),那么近端设备的麦克风2还会拾取到第二用户的声音信号,近端设备便会将第二用户的声音信号和声学回声信号一同通过网络传输给远端设备,导致第一用户在说话的时候不仅能听见自己的声音,同时也无法听清楚第二用户的声音,严重降低了语音通话的有效性以及语音通信质量。
44.为了能够提高语音通信质量,提升语音通话体验,本技术提供了一种语音回声的处理方法、装置、芯片及模组设备。下面进一步对本技术实施例提供的语音回声的处理方法、装置、芯片及模组设备进行详细描述。
45.图3是本技术实施例提供的一种语音回声的处理方法的流程示意图。如图3所示,该语音回声的处理方法包括如下步骤s301~s307。图3所示的方法执行主体可以为近端设备(如图1中的近端设备)。或者,图3所示的方法执行主体可以为近端设备中的芯片,在此不做限定。图3以近端设备为方法的执行主体为例进行说明。
46.s301、近端设备通过扬声器播放远端设备发送的第一用户的第一声音信号。
47.在本技术实施例中,近端设备和远端设备可以采用直接通信的方式进行数据传输,即远端设备直接将通过麦克风采集到的第一用户的第一声音信号发送给近端设备;近端设备和远端设备也可以采用间接通信的方式进行数据传输,例如远端设备将通过麦克风采集到的第一用户的第一声音信号发送给网络设备,网络设备再将第一用户的第一声音信号发送给近端设备。相应地,近端设备接收到该第一用户的第一声音信号后便可通过扬声器进行播放。本技术实施例以近端设备和远端设备采用直接通信的方式进行数据传输为例。
48.s302、近端设备通过麦克风采集声音信号,得到第二声音信号。
49.在本技术实施例中,该第二声音信号包括第二用户的第三声音信号以及第一声音信号对应的回声信号。近端设备通过麦克风可以采集到第二用户的第三声音信号;同时也可以采集到通过扬声器播放出来的第一用户的第一声音信号,即可认为是第一声音信号对应的回声信号。可选地,第二声音信号还可以包括噪声信号。
50.需要说明的是,第一声音信号对应的回声信号可以是第一用户的第一声音信号播放出来后直接被麦克风采集的,也可以是第一用户的第一声音信号播放出来后经过反射间接被麦克风采集的,在此不做限定。
51.s303、近端设备基于第一声音信号对第二声音信号中的回声信号进行消除处理,得到残差信号。
52.在本技术实施例中,该残差信号包括第二用户的第三声音信号以及残余的回声信号等。例如,该残差信号可以是近端设备通过自适应滤波器进行回声消除处理后得到的信号。需要说明的是,近端设备进行回声消除处理的目的是保留下第二声音信号中第二用户的第三声音信号,并尽可能消除第二声音信号中的回声信号。但是不一定能将回声全部消除,此时的残差信号中不仅包括了第二用户的第三声音信号,还会包括残余的回声信号等。因此,近端设备后续还需要对该残差信号做进一步处理。
53.在一种可能的实现方式中,近端设备基于第一声音信号对第二声音信号中的回声信号进行消除处理,得到残差信号时,具体的实现方式可以是:基于自适应滤波器对第一声音信号进行滤波处理,得到估计回声信号;基于估计回声信号对第二声音信号中的回声信号进行消除处理,得到残差信号。其中,自适应滤波器(adaptive filter,af)可以采用归一化最小均方自适应滤波器(normalized least mean square,nlms)、递归最小二乘自适应滤波器(recursive least squares,rls)、频域自适应滤波器(frequency domain adaptive filter,fdaf)等,在此不做限定。自适应滤波器主要用于消除第一声音信号中的线性回声。这里的线性回声是指与第一声音信号线性相关的回声信号。基于该方式,能够有
效地消除线性回声信号。需要说明的是,此处的自适应滤波器只需能够达到预设的鲁棒性并且能够消除大于预设阈值的线性回声即可,对其具体类型不做限定。
54.具体地,近端设备可以将第一声音信号输入到自适应滤波器进行滤波处理,输出估计回声信号;从第二声音信号(包括第三声音信号和第一声音信号对应的回声信号)中减去估计回声信号,便可得到残差信号。
55.s304、近端设备对该残差信号进行子带划分处理,得到一个或多个子带上的第一信号。
56.在本技术实施例中,所谓的子带是指子频带。近端设备对该残差信号进行子带划分处理可以是在频域进行处理,例如可以对残差信号做快速傅里叶变换(fast fourier transform,fft),将残差信号从时域转换成频域,然后将其分割成一个或多个子带,每个子带对应一个信号频点(即时域信号fft后的傅里叶系数),因此每个子带上都会对应有第一信号,即实现了对残差信号的子带划分处理,得到一个或多个子带上的第一信号。也就是说,近端设备可以将残差信号划分成一个或多个子带上的第一信号,后续可以分别对每个子带上的第一信号进行处理,以提高回声处理的准确性和有效性。
57.当然,近端设备对该残差信号进行子带划分处理也可以在时域进行处理,例如可以将残差信号输出到相应的带通滤波器进行带通滤波,从而得到一个或多个子带上的第一信号。本技术实施例以近端设备在频域对该残差信号进行子带划分处理为例。
58.s305、近端设备确定该一个或多个子带上的第一信号的声场状态。
59.在本技术实施例中,该声场状态可以是双讲状态、异常回声状态、远端单讲状态、无声状态、近端单讲状态等。其中,双讲状态是指通话双方同时讲话发声的状态;异常回声状态是指由于回声路径突变导致的声音状态,例如对麦克风突然遮挡等导致回声聚集和放大;远端单讲状态是指只有远端的声音信号且没有近端的声音信号的状态,即纯回声状态;无声状态是指通话双方均未讲话发声的状态;近端单讲状态是指只有近端的声音信号且没有远端的声音信号的状态,即无回声状态。其中,无声状态和近端单讲状态没有回声的存在,因此后续无需进行回声抑制。
60.在一种可能的实现方式中,该声场状态包括双讲状态、异常回声状态和远端单讲状态,近端设备确定该一个或多个子带上的第一信号的声场状态时,具体的实现方式可以包括以下步骤s11~s15。基于该方式,能够有效地判断各子带上的第一信号的声场状态。
61.s11、若第二声音信号和第一声音信号中存在语音信号,则近端设备基于残差信号和估计回声信号计算泄漏系数。
62.在具体实现中,若第二声音信号和第一声音信号中均存在语音信号,证明存在回声,则可以排除无声状态和近端单讲状态。进一步,近端设备可以通过计算泄漏系数来对异常回声状态进行区分。该泄漏系数用于表示信号泄漏回声的程度,是描述两帧信号的相似程度的中间变量。泄漏系数越大,则代表信号所泄漏的回声成分越多,其计算在时域或频域的全带进行,以相关计算或类相关计算完成。例如,泄漏系数可以采用公式(1)进行计算,使用频域信号的共轭乘法代替时域信号的互相关以减少计算量,公式(1)如下:
[0063][0064]
其中,n表示信号帧序数,k表示频点序数,η(n)表示泄露系数,p
ey
(n)、p
ee
(n)和p
yy
(n)均是复数频谱共轭对相乘后取实部求和的结果,具体如下:
[0065][0066][0067][0068]
其中,r
ey
(n,k)、r
ee
(n,k)和r
yy
(n,k)表示如下:
[0069]rey
(n,k)=real(e(n,k)*y(n,k)
*
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0070]ree
(n,k)=real(e(n,k)*e(n,k)
*
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0071]ryy
(n,k)=real(y(n,k)*y(n,k)
*
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0072]
其中,e(n,k)表示残差信号的频谱,y(n,k)表示估计回声信号的频谱,(
·
)
*
表示共轭。
[0073]
需要说明的是,针对泄漏系数的计算,如果不在频域进行计算,也可通过时域信号的互相关来完成。
[0074]
s12、若泄漏系数大于第一阈值,则近端设备确定该一个或多个子带上的第一信号中所有第一信号的声场状态为异常回声状态。
[0075]
在具体实现中,当泄漏系数大于第一阈值时,表明残差信号和估计回声信号的相似程度较大,即残差信号泄漏回声的程度较大,更有可能是回声路径突变导致大量回声未经消除而泄漏,因此可以将一个或多个子带上的第一信号中所有第一信号的声场状态确定为异常回声状态。
[0076]
例如,假设第一阈值为0.5,残差信号划分为子带1上的第一信号、子带2上的第一信号和子带3上的第一信号。若泄漏系数为0.6(即大于第一阈值),那么子带1上的第一信号的声场状态、子带2上的第一信号的声场状态和子带3上的第一信号的声场状态均为异常回声状态。
[0077]
s13、若泄漏系数小于或等于第一阈值,则近端设备判断第一子带上的第一信号的回波抑制比是否大于第二阈值。
[0078]
在具体实现中,该第一子带为一个或多个子带中的任意一个,该回波抑制比用于表示抑制声音信号中回声信号的程度。当泄漏系数小于或等于第一阈值时,表明残差信号和估计回声信号的相似程度较小,即残差信号泄漏回声的程度较小,大部分回声已被消除,第一子带上的第一信号的声场状态更有可能是双讲状态和远端单讲状态。因此,近端设备需要通过回波抑制比进一步判断第一子带上的第一信号的声场状态是双讲状态还是远端单讲状态。
[0079]
s14、若第一子带上的第一信号的回波抑制比大于第二阈值,则近端设备确定第一子带上的第一信号的声场状态为远端单讲状态。
[0080]
s15、若第一子带上的第一信号的回波抑制比小于或等于第二阈值,则近端设备确定第一子带上的第一信号的声场状态为双讲状态。
[0081]
在具体实现中,当第一子带上的第一信号的回波抑制比大于第二阈值时,表明多数回声信号已经被自适应滤波器消除,即与第一声音信号线性相关的回声信号相对较多,那么可以确定第一子带上的第一信号的声场状态为远端单讲状态,即纯回声;当第一子带
上的第一信号的回波抑制比小于或等于第二阈值时,表明多数信号未被自适应滤波器消除,即与第一声音信号线性相关的回声信号相对较少,那么可以确定第一子带上的第一信号的声场状态为双讲状态。
[0082]
例如,假设第一阈值为0.5,第二阈值为30db,残差信号划分为子带1上的第一信号、子带2上的第一信号和子带3上的第一信号。若泄漏系数为0.4(即小于第一阈值),那么进一步判断每个子带上的第一信号的回波抑制比是否大于30db。其中,子带1上的第一信号的回波抑制比为28db,子带2上的第一信号的回波抑制比为29db,子带3上的第一信号的回波抑制比为32db。因此,子带1上的第一信号的声场状态为双讲状态,子带2上的第一信号的声场状态为双讲状态,子带3上的第一信号的声场状态为远端单讲状态。
[0083]
可选地,若残差信号中存在语音信号,则第二阈值为第三阈值;若残差信号中不存在语音信号,则第二阈值为第四阈值,第三阈值大于第四阈值。也就是说,当残差信号中存在语音信号时,表明第二用户有发声讲话的情况,并且步骤s11中已经判断第二声音信号和第一声音信号中均存在语音信号,表明第一用户也有发声讲话的情况,因此当残差信号中存在语音信号时,当前子带上的第一信号的声场状态为双讲状态的可能性比较大;相反,当残差信号中不存在语音信号时,当前子带上的第一信号的声场状态为远端单讲状态的可能性比较大。那么,当残差信号中存在语音信号时,第二阈值采用较大的数值,这样更容易使得当前子带上的第一信号的声场状态被判断为双讲状态;当残差信号中不存在语音信号时,第二阈值采用较小的数值,这样更容易使得当前子带上的第一信号的声场状态被判断为远端单讲状态。基于该方式,能够提高声场状态判断的准确性。
[0084]
例如,假设第三阈值为35db,第四阈值为28db。若残差信号中存在语音信号,则第二阈值为35db;若残差信号中不存在语音信号,则第二阈值为28db。
[0085]
在一种可能的实现方式中,该声场状态还包括无声状态,该方法还包括:若第二声音信号中不存在语音信号,则近端设备确定该一个或多个子带上的第一信号中所有第一信号的声场状态为无声状态。也就是说,近端设备的麦克风没有采集到任何声音,即无声状态,因此无需进行后续的回声抑制。
[0086]
在一种可能的实现方式中,该声场状态还包括近端单讲状态,该方法还包括:若第二声音信号中存在语音信号且第一声音信号中不存在语音信号,则近端设备确定该一个或多个子带上的第一信号中所有第一信号的声场状态为近端单讲状态。也就是说,近端设备的麦克风只采集到第二用户的第三声音信号,并没有采集到第一用户的第一声音信号对应的回声信号,即近端单讲状态,因此也无需进行后续的回声抑制。
[0087]
需要说明的是,近端设备可以采用语音活动检测(voice activity detection,vad)判断第二声音信号、第一声音信号或残差信号是否存在语音信号。具体地,可以采用基于能量的vad、基于相关性的vad等,在此不做限定。
[0088]
s306、近端设备基于该声场状态对一个或多个子带上的第一信号进行处理,得到第三声音信号。
[0089]
在本技术实施例中,近端设备可以进一步对一个或多个子带上的第一信号进行残余回声抑制、非线性回声抑制,合并处理等步骤。其中,针对不同的声场状态,采用不同的方式对一个或多个子带上的第一信号进行处理,能够更加有效地抑制回声。例如,当子带上的第一信号的声场状态为双讲状态时,回声抑制系数为a;当子带上的第一信号的声场状态为
异常回声状态时,回声抑制系数为b;当子带上的第一信号的声场状态为远端单讲状态时,回声抑制系数为c,然后采用声场状态对应的回声抑制系数对一个或多个子带上的第一信号进行处理。
[0090]
需要说明的是,近端设备基于该声场状态对一个或多个子带上的第一信号进行处理可以在时域中进行,也可以在频域中进行,在此不作限定。
[0091]
在一种可能的实现方式中,该方法还包括:近端设备基于该声场状态调整自适应滤波器的更新速率。也就是说,需要根据声场状态调整自适应滤波器的更新速率,以提高线性回声抑制的准确性。其中,基于该声场状态调整自适应滤波器的更新速率的具体策略不做限定,例如可以根据当前帧的第一个子带上的第一信号的声场状态调整自适应滤波器的更新速率等。
[0092]
例如,若当前帧的第一个子带上的第一信号的声场状态为双讲状态,则可以减小当前自适应滤波器的更新速率,并应用于下一帧信号的处理中;若当前帧的第一个子带上的第一信号的声场状态为异常回声状态,则可以增加当前自适应滤波器的更新速率,并应用于下一帧信号的处理中;若当前帧的第一个子带上的第一信号的声场状态为远端单讲状态,则可以无需改变当前自适应滤波器的更新速率,并应用于下一帧信号的处理中。
[0093]
s307、近端设备向远端设备发送第三声音信号。相应地,远端设备可以接收该第三声音信号。
[0094]
在本技术实施例中,近端设备可以直接将回声抑制后得到的第三声音信号发送给远端设备;也可以将回声抑制后得到的第三声音信号发送给网络设备,网络设备再发送给远端设备,在此不做限定。远端设备可以通过扬声器播放接收到第三声音信号,此时便可以有效避免第一用户在进行语音通话时听到自己的声音。
[0095]
请参见图4,图4是本技术实施例提供的一种语谱图。如图4所示,横轴为时间,纵轴为频率。图4中(a)为无声场状态判断下对声音信号的处理结果,采样率为16khz,(a)中包含远端单讲状态(远端单工,即纯回声)和双讲状态(双工)。图4中(b)为经过本方法处理后的声音信号,相比于没有声场状态判断的情况,可以在保证纯回声段的线性和非线性回声成分抑制干净的前提下,在双讲状态时保留更多的近端语音,尤其是中高频部分,可以保留更多细节和清音,提升听感。
[0096]
可见,基于图3所描述的方法,对残差信号进行子带划分后,基于子带上的第一信号进行声场状态的准确判断,同时针对不同的声场状态,配套了不同的回声抑制处理方式,更加有效地抑制回声,有利于提高语音通信质量,提升语音通话体验。
[0097]
图5是本技术实施例提供的另一种语音回声的处理方法的流程示意图。如图5所示,该语音回声的处理方法包括如下步骤s501~s509。图5所示的方法执行主体可以为近端设备(如图1中的近端设备)。或者,图5所示的方法执行主体可以为近端设备中的芯片,在此不做限定。图5以近端设备为方法的执行主体为例进行说明。其中,步骤s506~s508是上述步骤s306的一种具体实现方式。
[0098]
s501、近端设备通过扬声器播放远端设备发送的第一用户的第一声音信号。
[0099]
s502、近端设备通过麦克风采集声音信号,得到第二声音信号。
[0100]
s503、近端设备基于第一声音信号对第二声音信号中的回声信号进行消除处理,得到残差信号。
[0101]
s504、近端设备对该残差信号进行子带划分处理,得到一个或多个子带上的第一信号。
[0102]
s505、近端设备确定该一个或多个子带上的第一信号的声场状态。
[0103]
其中,步骤s501~s505的具体实现方式可以参考上述步骤s301~s305的具体实现方式,在此不做赘述。
[0104]
s506、近端设备基于该声场状态对一个或多个子带上的第一信号进行残余回声抑制,得到一个或多个子带上的第二信号。
[0105]
本技术实施例以近端设备在频域基于该声场状态对一个或多个子带上的第一信号进行处理为例。
[0106]
在一种可能的实现方式中,近端设备基于该声场状态对一个或多个子带上的第一信号进行残余回声抑制,得到一个或多个子带上的第二信号时,具体实现方式可以采用以下两种方式中的一种:
[0107]
方式一:具体包括以下步骤s21~s24:
[0108]
s21、近端设备基于泄漏系数和估计回声信号确定一个或多个子带上的第一信号对应的初始残余回声估计,或,基于泄漏系数和第一声音信号确定一个或多个子带上的第一信号对应的初始残余回声估计。
[0109]
例如,可以采用公式(8)进行计算,即基于泄漏系数和估计回声信号确定一个或多个子带上的第一信号对应的初始残余回声估计:
[0110]
res
ini
(n,k)=η(n)*y(n,k)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0111]
其中,n表示信号帧序数,k表示频点序数,η(n)表示泄露系数,y(n,k)表示估计回声信号,res
ini
(n,k)表示子带上的第一信号对应的初始残余回声估计。
[0112]
又例如,可以采用公式(9)进行计算,即基于泄漏系数和第一声音信号确定一个或多个子带上的第一信号对应的初始残余回声估计:
[0113]
res
ini
(n,k)=η(n)*x(n,k)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(9)
[0114]
其中,n表示信号帧序数,k表示频点序数,η(n)表示泄露系数,x(n,k)表示第一声音信号,res
ini
(n,k)表示子带上的第一信号对应的初始残余回声估计。
[0115]
可选地,近端设备基于泄漏系数和估计回声信号确定一个或多个子带上的第一信号对应的初始残余回声估计时,具体的实现方式可以是:基于估计回声信号、第一声音信号和第二声音信号确定第四声音信号;基于泄漏系数和第四声音信号确定一个或多个子带上的第一信号对应的初始残余回声估计。其中,估计回声信号、第一声音信号和第二声音信号可以采用取最大值的方式确定出第四声音信号;也可以采用线性加权的方式确定出第四声音信号,也可以采用其他方式确定出第四声音信号,在此不做限定。基于该方式,更有利于提高每个子带上的第一信号对应的残余回声估计的准确性。
[0116]
例如,在估计回声信号的平均值、第一声音信号的平均值和第二声音信号的平均值中,最大的是第二声音信号的平均值,因此第四声音信号为第二声音信号。进一步,可以采用公式(10)计算出子带上的第一信号对应的初始残余回声估计:
[0117]
res
ini
(n,k)=η(n)*z(n,k)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10)
[0118]
其中,n表示信号帧序数,k表示频点序数,η(n)表示泄露系数,z(n,k)表示第四声音信号,res
ini
(n,k)表示子带上的第一信号对应的初始残余回声估计。
[0119]
s22、近端设备基于该声场状态确定一个或多个子带上的第一信号对应的残余回声增益。
[0120]
在具体实现中,不同的声场状态对应不同的残余回声增益:无声状态和近端单讲状态无需进行回声抑制,因此无声状态对应的残余回声增益和近端单讲状态对应的残余回声增益均为0;异常回声状态需要加强残余回声估计以保证通信质量,远端单讲状态正常进行残余回声估计即可,双讲状态需要减弱残余回声估计以保证双方通信的有效性,即异常回声状态对应的残余回声增益大于远端单讲状态对应的残余回声增益,远端单讲状态对应的残余回声增益大于双讲状态对应的残余回声增益。基于该方式,根据声场状态调整残余回声增益,有利于提高残余回声估计的准确性。
[0121]
例如,假设残差信号划分为子带1上的第一信号、子带2上的第一信号和子带3上的第一信号。其中,子带1上的第一信号的声场状态为双讲状态,子带2上的第一信号的声场状态为双讲状态,子带3上的第一信号的声场状态为异常回声状态。如下表1所示,双讲状态对应的残余回声增益为0.8,远端单讲状态对应的残余回声增益为1,异常回声状态对应的残余回声增益为1.5,无声状态对应的残余回声增益为0,近端单讲状态对应的残余回声增益为0。因此,子带1上的第一信号对应的残余回声增益为0.8,子带2上的第一信号对应的残余回声增益为0.8,子带3上的第一信号对应的残余回声增益为1.5。
[0122]
表1
[0123]
声场状态残余回声增益双讲状态0.8远端单讲状态1异常回声状态1.5无声状态0近端单讲状态0
[0124]
s23、近端设备基于该残余回声增益和初始残余回声估计确定一个或多个子带上的第一信号对应的残余回声估计。
[0125]
例如,可以采用公式(11)计算一个或多个子带上的第一信号对应的残余回声估计,公式(11)如下:
[0126]
res(n,k)=res
ini
(n,k)*g(l),k∈sub(l)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(11)
[0127]
其中,n表示信号帧序数,k表示频点序数,l表示子带序数,sub(l)表示对应子带频点范围,g(l)表示残余回声增益,res
ini
(n,k)表示初始残余回声估计,res(n,k)表示子带上的第一信号对应的残余回声估计。
[0128]
s24、近端设备基于残余回声估计对一个或多个子带上的第一信号进行残余回声抑制,得到一个或多个子带上的第二信号。
[0129]
可选地,近端设备基于残余回声估计对一个或多个子带上的第一信号进行残余回声抑制,得到一个或多个子带上的第二信号时,具体的实现方式可以采用以下两种方式中的一种:
[0130]
方式a:近端设备基于残余回声估计确定一个或多个子带上的第一信号对应的第一抑制系数;近端设备基于第一抑制系数对一个或多个子带上的第一信号进行残余回声抑制,得到一个或多个子带上的第二信号。基于该方式,直接根据残余回声估计的大小确定一
个或多个子带上的第一信号对应的第一抑制系数,有利于提高回声抑制的效率。
[0131]
例如,假设子带1上的第一信号对应残余回声估计1,子带2上的第一信号对应残余回声估计2,子带3上的第一信号对应残余回声估计3。残余回声估计可以划分为3个范围,范围1内的残余回声估计对应的第一抑制系数为0.8,范围2内的残余回声估计对应的第一抑制系数为0.5,范围3内的残余回声估计对应的第一抑制系数为0.3。其中,残余回声估计1位于范围1,残余回声估计2位于范围1,残余回声估计3位于范围3。因此,子带1上的第一信号对应的第一抑制系数为0.8,子带2上的第一信号对应的第一抑制系数为0.8,子带3上的第一信号对应的第一抑制系数为0.3。
[0132]
方式b:近端设备确定一个或多个子带上第一信号对应的噪声估计;近端设备基于噪声估计和残余回声估计确定一个或多个子带上的融合声音信号;近端设备基于融合声音信号对一个或多个子带上的第一信号进行残余回声抑制,得到一个或多个子带上的第二信号。基于该方式,将残余回声加入噪声估计进行融合降噪,更有利于提高语音通信的质量。
[0133]
例如,近端设备可以采用最小值跟踪确定子带上第一信号对应的噪声估计,然后利用公式(12)或公式(13)计算出一个或多个子带上的融合声音信号。公式(12)、公式(13)如下:
[0134]smix
(n,k)=s
min
(n,k)+abs(res(n,k))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(12)
[0135]
其中,n表示信号帧序数,k表示频点序数,s
min
(n,k)表示子带上第一信号对应的噪声估计,res(n,k)表示子带上第一信号对应的残余回声估计,s
mix
(n,k)表示子带上的融合声音信号,abs(
·
)表示取绝对值。
[0136]smix
(n,k)=max(s
min
(n,k),abs(res(n,k)))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(13)
[0137]
其中,n表示信号帧序数,k表示频点序数,s
min
(n,k)表示子带上第一信号对应的噪声估计,res(n,k)表示子带上第一信号对应的残余回声估计,s
mix
(n,k)表示子带上的融合声音信号,abs(
·
)表示取绝对值,max(
·
)表示取最大值。
[0138]
然后,采用谱减的方式将噪声和残余回声一同去除,从而实现残余回声抑制。具体可以采用公式(14)进行计算,公式(14)如下:
[0139]
out1(n,k)=(abs(e(n,k))-abs(s
mix
(n,k)))*phase(e(n,k))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(14)
[0140]
其中,n表示信号帧序数,k表示频点序数,s
mix
(n,k)表示子带上的融合声音信号,e(n,k)表示子带上的第一信号,abs(
·
)表示取绝对值,phase(
·
)表示取相位,out1(n,k)表示一个或多个子带上的第二信号。
[0141]
基于该方式一,利用声场状态确定出每个子带上的第一信号对应的残余回声增益,提高每个子带上的第一信号对应的残余回声估计的准确性,进而提高残余回声抑制的有效性。
[0142]
方式二:近端设备基于该声场状态确定一个或多个子带上的第一信号对应的第二抑制系数;近端设备基于该第二抑制系数对一个或多个子带上的第一信号进行残余回声抑制,得到一个或多个子带上的第二信号。也就是说,需要根据声场状态调整残余回声抑制的程度,以提高残余回声抑制的准确性。
[0143]
例如,子带1上的第一信号的声场状态为双讲状态,子带2上的第一信号的声场状态为双讲状态,子带3上的第一信号的声场状态为异常回声状态。如下表2所示,双讲状态对应的第二抑制系数为0.8,远端单讲状态对应的第二抑制系数为0.5,异常回声状态对应的
第二抑制系数为0.3。因此,子带1上的第一信号对应的第二抑制系数为0.8,子带2上的第一信号对应的第二抑制系数为0.8,子带3上的第一信号对应的第二抑制系数为0.3。
[0144]
表2
[0145]
声场状态第二抑制系数双讲状态0.8远端单讲状态0.5异常回声状态0.3
[0146]
然后,利用子带1上的第一信号与对应的第二抑制系数相乘,便可得到子带1上的第二信号;利用子带2上的第一信号与对应的第二抑制系数相乘,便可得到子带2上的第二信号;利用子带3上的第一信号与对应的第二抑制系数相乘,便可得到子带3上的第二信号。
[0147]
可选地,双讲状态对应的第二抑制系数大于远端单讲状态对应的第二抑制系数,远端单讲状态对应的第二抑制系数大于异常回声状态对应的第二抑制系数。也就是说,双讲状态下残余回声抑制程度小于远端单讲状态下的残余回声抑制程度,远端单讲状态下的残余回声抑制程度小于异常回声状态下的残余回声抑制程度。基于该方式,可以在保证回声抑制干净的前提下,保障双讲状态时近端语音的连续性,且对于路径突变导致的异常回声,可以有效地进行识别和抑制。
[0148]
s507、近端设备基于该声场状态对一个或多个子带上的第二信号进行非线性回声抑制,得到一个或多个子带上的第三信号。
[0149]
在一种可能的实现方式中,近端设备基于该声场状态对一个或多个子带上的第二信号进行非线性回声抑制,得到一个或多个子带上的第三信号时,具体的实现方式可以是:基于该声场状态确定一个或多个子带上的第二信号对应的第三抑制系数;基于第三抑制系数对一个或多个子带上的第二信号进行非线性回声抑制,得到一个或多个子带上的第三信号。也就是说,需要根据声场状态调整非线性回声抑制的程度,以提高非线性回声抑制的准确性。
[0150]
例如,子带1上的第一信号的声场状态为双讲状态,子带2上的第一信号的声场状态为双讲状态,子带3上的第一信号的声场状态为异常回声状态。如下表3所示,双讲状态对应的第三抑制系数为0.8,远端单讲状态对应的第三抑制系数为0.5,异常回声状态对应的第三抑制系数为0.3。因此,子带1上的第二信号对应的第三抑制系数为0.8,子带2上的第二信号对应的第三抑制系数为0.8,子带3上的第二信号对应的第三抑制系数为0.3。
[0151]
表3
[0152]
声场状态第三抑制系数双讲状态0.8远端单讲状态0.5异常回声状态0.3
[0153]
然后,利用子带1上的第二信号与对应的第三抑制系数相乘,便可得到子带1上的第三信号;利用子带2上的第二信号与对应的第三抑制系数相乘,便可得到子带2上的第三信号;利用子带3上的第二信号与对应的第三抑制系数相乘,便可得到子带3上的第三信号。
[0154]
可选地,双讲状态对应的第三抑制系数大于远端单讲状态对应的第三抑制系数,远端单讲状态对应的第三抑制系数大于异常回声状态对应的第三抑制系数。也就是说,双
讲状态下非线性回声抑制程度小于远端单讲状态下的非线性回声抑制程度,远端单讲状态下的非线性回声抑制程度小于异常回声状态下的非线性回声抑制程度。基于该方式,可以在保证回声抑制干净的前提下,保障双讲状态时近端语音的连续性,且对于路径突变导致的异常回声,可以有效地进行识别和抑制。
[0155]
s508、近端设备对一个或多个子带上的第三信号进行合并处理,得到第三声音信号。
[0156]
在具体实现中,近端设备对一个或多个子带上的第三信号做快速逆傅里叶变换(inverse fast fourier transform,ifft)以及重叠相加操作,从而得到第三声音信号,即第二声音信号完成了回声抑制,得到了有效的第三声音信号。
[0157]
s509、近端设备向远端设备发送第三声音信号。相应地,远端设备可以接收该第三声音信号。
[0158]
其中,步骤s509的具体实现方式可以参考上述步骤s307的具体实现方式,在此不做赘述。
[0159]
可见,基于图5所描述的方法,对自适应滤波后的残差信号进行子带划分,并基于子带上的第一信号进行声场状态的准确判断,同时针对不同的声场状态,配套了不同的残余回声抑制、非线性回声抑制等处理方式,更加有效地抑制回声,有利于提高语音通信质量,提升语音通话体验。
[0160]
请参见图6,图6是本发明实施例提供的一种语音回声的处理装置的结构示意图,该语音回声的处理装置可以为近端设备或具有近端设备功能的装置(例如芯片)。具体的,如图6所示,语音回声的处理装置600,可以包括处理单元601、确定单元602和发送单元603。
[0161]
其中:
[0162]
处理单元601,用于通过扬声器播放远端设备发送的第一用户的第一声音信号;
[0163]
该处理单元601,还用于通过麦克风采集声音信号,得到第二声音信号,该第二声音信号包括第二用户的第三声音信号以及第一声音信号对应的回声信号;
[0164]
该处理单元601,还用于基于第一声音信号对第二声音信号中的回声信号进行消除处理,得到残差信号;
[0165]
该处理单元601,还用于对该残差信号进行子带划分处理,得到一个或多个子带上的第一信号;
[0166]
确定单元602,用于确定一个或多个子带上的第一信号的声场状态;
[0167]
该处理单元601,还用于基于该声场状态对一个或多个子带上的第一信号进行处理,得到第三声音信号;
[0168]
发送单元603,用于向远端设备发送该第三声音信号。
[0169]
在一种可能的实现方式中,处理单元601,在基于第一声音信号对第二声音信号中的回声信号进行消除处理,得到残差信号时,可具体用于:基于自适应滤波器对第一声音信号进行滤波处理,得到估计回声信号;基于该估计回声信号对第二声音信号中的回声信号进行消除处理,得到残差信号。
[0170]
在一种可能的实现方式中,处理单元601,还用于基于该声场状态调整自适应滤波器的更新速率。
[0171]
在一种可能的实现方式中,该声场状态包括双讲状态、异常回声状态和远端单讲
状态,确定单元602,在确定该一个或多个子带上的第一信号的声场状态时,可具体用于:若第二声音信号和第一声音信号中存在语音信号,则基于该残差信号和该估计回声信号计算泄漏系数,该泄漏系数用于表示信号泄漏回声的程度;若该泄漏系数大于第一阈值,则确定一个或多个子带上的第一信号中所有第一信号的声场状态为该异常回声状态;若该泄漏系数小于或等于第一阈值,则判断第一子带上的第一信号的回波抑制比是否大于第二阈值,该第一子带为该一个或多个子带中的任意一个,该回波抑制比用于表示抑制声音信号中回声信号的程度;若第一子带上的第一信号的回波抑制比大于第二阈值,则确定第一子带上的第一信号的声场状态为远端单讲状态;若第一子带上的第一信号的回波抑制比小于或等于第二阈值,则确定第一子带上的第一信号的声场状态为双讲状态。
[0172]
在一种可能的实现方式中,若残差信号中存在语音信号,则第二阈值为第三阈值;若残差信号中不存在语音信号,则第二阈值为第四阈值,第三阈值大于第四阈值。
[0173]
在一种可能的实现方式中,处理单元601,在基于该声场状态对一个或多个子带上的第一信号进行处理,得到第三声音信号时,可具体用于:基于该声场状态对一个或多个子带上的第一信号进行残余回声抑制,得到一个或多个子带上的第二信号;基于该声场状态对一个或多个子带上的第二信号进行非线性回声抑制,得到一个或多个子带上的第三信号;对一个或多个子带上的第三信号进行合并处理,得到第三声音信号。
[0174]
在一种可能的实现方式中,处理单元601,在基于该声场状态对一个或多个子带上的第一信号进行残余回声抑制,得到一个或多个子带上的第二信号时,可具体用于:基于该泄漏系数和该估计回声信号确定该一个或多个子带上的第一信号对应的初始残余回声估计,或,基于该泄漏系数和该第一声音信号确定一个或多个子带上的第一信号对应的初始残余回声估计;基于该声场状态确定一个或多个子带上的第一信号对应的残余回声增益;基于该残余回声增益和该初始残余回声估计确定一个或多个子带上的第一信号对应的残余回声估计;基于该残余回声估计对一个或多个子带上的第一信号进行残余回声抑制,得到一个或多个子带上的第二信号。
[0175]
在一种可能的实现方式中,处理单元601,在基于该泄漏系数和该估计回声信号确定一个或多个子带上的第一信号对应的初始残余回声估计时,可具体用于:基于该估计回声信号、该第一声音信号和该第二声音信号确定第四声音信号;基于该泄漏系数和该第四声音信号确定一个或多个子带上的第一信号对应的初始残余回声估计。
[0176]
在一种可能的实现方式中,处理单元601,在基于该残余回声估计对一个或多个子带上的第一信号进行残余回声抑制,得到一个或多个子带上的第二信号时,可具体用于:基于该残余回声估计确定一个或多个子带上的第一信号对应的第一抑制系数;基于该第一抑制系数对一个或多个子带上的第一信号进行残余回声抑制,得到一个或多个子带上的第二信号。
[0177]
在一种可能的实现方式中,处理单元601,在基于该残余回声估计对一个或多个子带上的第一信号进行残余回声抑制,得到一个或多个子带上的第二信号时,可具体用于:确定一个或多个子带上第一信号对应的噪声估计;基于该噪声估计和该残余回声估计确定一个或多个子带上的融合声音信号;基于该融合声音信号对一个或多个子带上的第一信号进行残余回声抑制,得到一个或多个子带上的第二信号。
[0178]
在一种可能的实现方式中,处理单元601,在基于该声场状态对一个或多个子带上
的第一信号进行残余回声抑制,得到一个或多个子带上的第二信号时,可具体用于:基于该声场状态确定一个或多个子带上的第一信号对应的第二抑制系数;基于该第二抑制系数对一个或多个子带上的第一信号进行残余回声抑制,得到一个或多个子带上的第二信号。
[0179]
在一种可能的实现方式中,双讲状态对应的第二抑制系数大于远端单讲状态对应的第二抑制系数,远端单讲状态对应的第二抑制系数大于异常回声状态对应的第二抑制系数。
[0180]
在一种可能的实现方式中,处理单元601,在基于该声场状态对一个或多个子带上的第二信号进行非线性回声抑制,得到一个或多个子带上的第三信号时,可具体用于:基于该声场状态确定一个或多个子带上的第二信号对应的第三抑制系数;基于该第三抑制系数对一个或多个子带上的第二信号进行非线性回声抑制,得到一个或多个子带上的第三信号。
[0181]
在一种可能的实现方式中,双讲状态对应的第三抑制系数大于远端单讲状态对应的第三抑制系数,远端单讲状态对应的第三抑制系数大于异常回声状态对应的第三抑制系数。
[0182]
本技术实施例还提供了一种芯片,该芯片可以执行前述方法实施例中终端设备的相关步骤。该芯片,包括处理器和通信接口,该处理器被配置用于使芯片执行如下操作:通过扬声器播放远端设备发送的第一用户的第一声音信号;通过麦克风采集声音信号,得到第二声音信号,该第二声音信号包括第二用户的第三声音信号以及第一声音信号对应的回声信号;基于第一声音信号对第二声音信号中的回声信号进行消除处理,得到残差信号;对残差信号进行子带划分处理,得到一个或多个子带上的第一信号;确定该一个或多个子带上的第一信号的声场状态;基于该声场状态对一个或多个子带上的第一信号进行处理,得到第三声音信号;向远端设备发送该第三声音信号。
[0183]
在一种可能的实现方式中,该芯片,在基于第一声音信号对第二声音信号中的回声信号进行消除处理,得到残差信号时,可具体用于:基于自适应滤波器对第一声音信号进行滤波处理,得到估计回声信号;基于该估计回声信号对第二声音信号中的回声信号进行消除处理,得到残差信号。
[0184]
在一种可能的实现方式中,该芯片,还用于基于该声场状态调整自适应滤波器的更新速率。
[0185]
在一种可能的实现方式中,该声场状态包括双讲状态、异常回声状态和远端单讲状态,该芯片,在确定该一个或多个子带上的第一信号的声场状态时,可具体用于:若第二声音信号和第一声音信号中存在语音信号,则基于该残差信号和该估计回声信号计算泄漏系数,该泄漏系数用于表示信号泄漏回声的程度;若该泄漏系数大于第一阈值,则确定一个或多个子带上的第一信号中所有第一信号的声场状态为该异常回声状态;若该泄漏系数小于或等于第一阈值,则判断第一子带上的第一信号的回波抑制比是否大于第二阈值,该第一子带为该一个或多个子带中的任意一个,该回波抑制比用于表示抑制声音信号中回声信号的程度;若第一子带上的第一信号的回波抑制比大于第二阈值,则确定第一子带上的第一信号的声场状态为远端单讲状态;若第一子带上的第一信号的回波抑制比小于或等于第二阈值,则确定第一子带上的第一信号的声场状态为双讲状态。
[0186]
在一种可能的实现方式中,若残差信号中存在语音信号,则第二阈值为第三阈值;
若残差信号中不存在语音信号,则第二阈值为第四阈值,第三阈值大于第四阈值。
[0187]
在一种可能的实现方式中,该芯片,在基于该声场状态对一个或多个子带上的第一信号进行处理,得到第三声音信号时,可具体用于:基于该声场状态对一个或多个子带上的第一信号进行残余回声抑制,得到一个或多个子带上的第二信号;基于该声场状态对一个或多个子带上的第二信号进行非线性回声抑制,得到一个或多个子带上的第三信号;对一个或多个子带上的第三信号进行合并处理,得到第三声音信号。
[0188]
在一种可能的实现方式中,该芯片,在基于该声场状态对一个或多个子带上的第一信号进行残余回声抑制,得到一个或多个子带上的第二信号时,可具体用于:基于该泄漏系数和该估计回声信号确定该一个或多个子带上的第一信号对应的初始残余回声估计,或,基于该泄漏系数和该第一声音信号确定一个或多个子带上的第一信号对应的初始残余回声估计;基于该声场状态确定一个或多个子带上的第一信号对应的残余回声增益;基于该残余回声增益和该初始残余回声估计确定一个或多个子带上的第一信号对应的残余回声估计;基于该残余回声估计对一个或多个子带上的第一信号进行残余回声抑制,得到一个或多个子带上的第二信号。
[0189]
在一种可能的实现方式中,该芯片,在基于该泄漏系数和该估计回声信号确定一个或多个子带上的第一信号对应的初始残余回声估计时,可具体用于:基于该估计回声信号、该第一声音信号和该第二声音信号确定第四声音信号;基于该泄漏系数和该第四声音信号确定一个或多个子带上的第一信号对应的初始残余回声估计。
[0190]
在一种可能的实现方式中,该芯片,在基于该残余回声估计对一个或多个子带上的第一信号进行残余回声抑制,得到一个或多个子带上的第二信号时,可具体用于:基于该残余回声估计确定一个或多个子带上的第一信号对应的第一抑制系数;基于该第一抑制系数对一个或多个子带上的第一信号进行残余回声抑制,得到一个或多个子带上的第二信号。
[0191]
在一种可能的实现方式中,该芯片,在基于该残余回声估计对一个或多个子带上的第一信号进行残余回声抑制,得到一个或多个子带上的第二信号时,可具体用于:确定一个或多个子带上第一信号对应的噪声估计;基于该噪声估计和该残余回声估计确定一个或多个子带上的融合声音信号;基于该融合声音信号对一个或多个子带上的第一信号进行残余回声抑制,得到一个或多个子带上的第二信号。
[0192]
在一种可能的实现方式中,该芯片,在基于该声场状态对一个或多个子带上的第一信号进行残余回声抑制,得到一个或多个子带上的第二信号时,可具体用于:基于该声场状态确定一个或多个子带上的第一信号对应的第二抑制系数;基于该第二抑制系数对一个或多个子带上的第一信号进行残余回声抑制,得到一个或多个子带上的第二信号。
[0193]
在一种可能的实现方式中,双讲状态对应的第二抑制系数大于远端单讲状态对应的第二抑制系数,远端单讲状态对应的第二抑制系数大于异常回声状态对应的第二抑制系数。
[0194]
在一种可能的实现方式中,该芯片,在基于该声场状态对一个或多个子带上的第二信号进行非线性回声抑制,得到一个或多个子带上的第三信号时,可具体用于:基于该声场状态确定一个或多个子带上的第二信号对应的第三抑制系数;基于该第三抑制系数对一个或多个子带上的第二信号进行非线性回声抑制,得到一个或多个子带上的第三信号。
[0195]
在一种可能的实现方式中,双讲状态对应的第三抑制系数大于远端单讲状态对应的第三抑制系数,远端单讲状态对应的第三抑制系数大于异常回声状态对应的第三抑制系数。
[0196]
对于应用于或集成于芯片的各个装置、产品,其包含的各个模块可以都采用电路等硬件的方式实现,或者,至少部分模块可以采用软件程序的方式实现,该软件程序运行于芯片内部集成的处理器,剩余的(如果有)部分模块可以采用电路等硬件方式实现。
[0197]
请参阅图7,图7是本发明实施例提供的一种语音回声的处理装置的结构示意图。该语音回声的处理装置700可以包括存储器701、处理器702。可选地,还包括通信接口703。存储器701、处理器702和通信接口703通过一条或多条通信总线连接。其中,通信接口703受处理器702的控制用于收发信息。
[0198]
存储器701可以包括只读存储器和随机存取存储器,并向处理器702提供指令和数据。存储器701的一部分还可以包括非易失性随机存取存储器。
[0199]
通信接口703用于接收或发送数据。
[0200]
处理器702可以是中央处理单元(central processing unit,cpu),该处理器702还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器,可选地,该处理器702也可以是任何常规的处理器等。其中:
[0201]
存储器701,用于存储程序指令。
[0202]
处理器702,用于调用存储器701中存储的程序指令。
[0203]
处理器702调用存储器701中存储的程序指令,使该语音回声的处理装置700执行上述方法实施例中近端设备所执行的方法。
[0204]
如图8所示,图8是本技术实施例提供的一种模组设备的结构示意图。该模组设备800可以执行前述方法实施例中近端设备的相关步骤,该模组设备800包括:通信模组801、电源模组802、存储模组803以及芯片804。
[0205]
其中,电源模组802用于为模组设备提供电能;存储模组803用于存储数据和指令;通信模组801用于进行模组设备内部通信,或者用于模组设备与外部设备进行通信;芯片804用于执行上述方法实施例中近端设备所执行的方法。
[0206]
需要说明的是,图6~图8对应的实施例中未提及的内容以及各个步骤的具体实现方式可参见图3和图5所示实施例以及前述内容,这里不再赘述。
[0207]
本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在处理器上运行时,上述方法实施例的方法流程得以实现。
[0208]
本技术实施例还提供一种计算机程序产品,当所述计算机程序产品在处理器上运行时,上述方法实施例的方法流程得以实现。
[0209]
关于上述实施例中描述的各个装置、产品包含的各个模块/单元,其可以是软件模块/单元,也可以是硬件模块/单元,或者也可以部分是软件模块/单元,部分是硬件模块/单元。例如,对于应用于或集成于芯片的各个装置、产品其包含的各个模块/单元可以都采用电路等硬件的方式实现,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件
程序运行于芯片内部集成处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于芯片模组的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同模块/单元可以位于芯片模组的同一件(例如芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片模组内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于终端的各个装置、产品,其包含的模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于终端内同一组件(例如,芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于终端内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现。
[0210]
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些操作可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。
[0211]
本技术提供的各实施例的描述可以相互参照,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。为描述的方便和简洁,例如关于本技术实施例提供的各装置、设备的功能以及执行的操作可以参照本技术方法实施例的相关描述,各方法实施例之间、各装置实施例之间也可以互相参考、结合或引用。
[0212]
最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1