1.本发明涉及语音处理技术领域,尤其涉及一种回声检测方法及装置、计算机可读存储介质、终端设备。
背景技术:2.在音频系统中,声学回声是由于扬声器和麦克风之间的耦合,导致麦克风信号中不仅包含有用的上行语音信号,而且还包含回声。如果不对麦克风信号进行处理,则回声信号会被传输到远端扬声器播放出来,远端通话者就会听到自己延迟后的声音,它会使人感到不舒服,并干扰上行语音信号,从而影响通话的效果。随着科学技术的飞速发展,通信方式和应用场景日趋多样化,通信终端日趋小型化、便携化,使得扬声器和麦克风的耦合越来越强,回声信道越来越复杂多变,这为语音通信中的声学回声消除带来了极大的挑战。
3.为了保证良好的语音质量,通常的做法是使用自适应回声消除器(adaptive echo canceller,aec)和非线性回声抑制器(non
‑
linear processor,nlp)去除回声。aec的基本原理可以概括为使用滤波器自适应地估计回声传播路径,进一步估计麦克风接收的回声信号,并从麦克风拾取信号中减去该估计回声,从而去除回声。在免提状态下,自适应滤波器能消除20分贝(db)左右的线性回声和部分非线性回声,残余回声需要进行回声抑制,最终,消除干净所有回声信号。
4.由扬声器发出声音,经过空气或其他传播媒介的传播路径,最终到达麦克风,麦克风采集声音,该声音传播路径定义为回声路径。当扬声器或麦克风或传播路径有遮挡物时,例如人手遮挡扬声器、人脸靠近电话手表等,此时,声学回声的传播路径发生改变,遮挡物、扬声器和麦克风形成一个新的回声路径,麦克风接收到的回声会发生变化,通常回声信号中的非线性回声会异常增多,回声信号整体幅度变大。设备中原有参数和滤波器系数无法消除异常变大的回声,残留回声会较大。为了消除回声路径改变后的异常回声,可提前设置较强的回声抑制参数,这样在回声路径改变后,回声可被完全消除。
5.但是,当回声路径没有发生改变时,由于较强的回声抑制参数,在有上行语音和回声同时存在即双讲(double
‑
talk,dt)时,上行语音会和回声一起消除掉,导致双讲性能较差。
技术实现要素:6.本发明解决的技术问题是如何提升双讲阶段的通话性能。
7.为解决上述技术问题,本发明实施例提供一种回声检测方法,回声检测方法包括:采集上行语音信号,并对采集到的上行语音信号进行初始滤波操作,得到滤波后的信号;计算所述滤波后的信号与下行参考信号的相关性;至少根据所述相关性确定回声状态,所述回声状态包括存在异常回声和无回声。
8.可选的,所述回声检测方法还包括:根据所述回声状态确定对所述滤波后的信号直接输出或者对所述滤波后的信号进行二次滤波操作。
9.可选的,所述滤波后的信号为当前帧语音信号,所述计算所述滤波后的信号与下行参考信号的相关性包括:计算所述当前帧语音信号与所述下行参考信号的互相关值,以作为所述相关性。
10.可选的,所述计算所述滤波后的信号与下行参考信号的相关性包括:计算频带内语音信号与所述下行参考信号的互相关值的均值,以作为所述相关性。
11.可选的,所述根据所述回声状态确定对所述滤波后的信号直接输出或者对所述滤波后的信号进行二次滤波操作包括:如果所述相关性的值大于第一预设门限,且所述下行参考信号的幅度大于第二预设门限,则对所述滤波后的信号进行二次滤波操作。
12.可选的,所述根据所述回声状态确定对所述滤波后的信号直接输出或者对所述滤波后的信号进行二次滤波操作包括:如果所述相关性的值低于第一预设门限,或者所述下行参考信号的幅度低于第二预设门限,则直接输出所述滤波后的信号。
13.可选的,所述对所述滤波后的信号进行二次滤波操作包括:将所述滤波后的信号置为零。增加一种处理办法,对下行信号做非线性的预处理,再次进行自适应滤波。
14.本发明实施例还公开了一种回声检测装置,回声检测装置包括:采集模块,用于采集上行语音信号,并对采集到的上行语音信号进行初始滤波操作,得到滤波后的信号;计算模块,用于计算所述滤波后的信号与下行参考信号的相关性;判断模块,用于至少根据所述相关性确定回声状态,所述回声状态包括存在异常回声和无回声。
15.本发明实施例还公开了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行所述回声检测方法的步骤。
16.本发明实施例还公开了一种终端设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行所述回声检测方法的步骤。
17.与现有技术相比,本发明实施例的技术方案具有以下有益效果:
18.本发明技术方案中,通过初始滤波操作能够将正常回声路径下的回声进行消除;通过计算滤波后的信号与下行参考信号的相关性,可以确定滤波后的信号是否存在异常回声,从而确定出回声状态,也即能够区分异常回声和正常双讲状态,为后续选择消除回声的方案提供参考,保证回声消除的效果,进而保证正常的双讲连续不受影响,使远端听者拥有良好的通话体验。
19.进一步地,如果所述相关性的值大于第一预设门限,且所述下行参考信号的幅度大于第二预设门限,则对所述滤波后的信号进行二次滤波操作。本发明技术方案在检测异常回声的发生时,加强回声抑制,将异常回声消除干净,达到同时提高回声消除和双讲性能的目的。
附图说明
20.图1是本发明实施例中一种回声检测方法的流程图;
21.图2至图4是本发明实施例中一种具体应用场景的示意图;
22.图5是本发明实施例中一种回声检测方法的具体流程图;
23.图6是本发明实施例中一种回声检测装置的结构示意图;
24.图7是本发明实施例中一种回声消除效果示意图。
具体实施方式
25.如背景技术中所述,当回声路径没有发生改变时,由于较强的回声抑制参数,在有上行语音和回声同时存在即双讲(double
‑
talk,dt)时,上行语音会和回声一起消除掉,导致双讲性能较差。
26.现有技术中,用于检测因回声路径改变出现异常回声的方法主要是基于麦克风信号和aec后信号的互相关,该类方法中存在正常双讲和异常回声较难区分的情况,进而影响异常回声检测的准确率,容易造成异常回声的漏检或正常双讲的误检,难以平衡免提通话下的正常双讲和异常回声的回声抑制处理。
27.本发明技术方案中,通过初始滤波操作能够将正常回声路径下的回声进行消除;通过计算滤波后的信号与下行参考信号的相关性,可以确定滤波后的信号是否存在异常回声,从而确定出回声状态,也即能够区分异常回声和正常双讲状态,为后续选择消除回声的方案提供参考,保证回声消除的效果,进而保证正常的双讲连续不受影响,使远端听者拥有良好的通话体验。
28.为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
29.图1是本发明实施例一种回声检测方法的流程图。
30.本发明实施例的回声检测方法可以用于终端设备侧,也即可以由终端设备执行上述方法的各个步骤。所述终端设备可以是具有通话功能的设备,具体地终端设备可以设置有扬声器和麦克风,例如手机、电脑、穿戴设备等
31.具体地,所述回声检测方法可以包括以下步骤:
32.步骤101:采集上行语音信号,并对采集到的上行语音信号进行初始滤波操作,得到滤波后的信号;
33.步骤102:计算所述滤波后的信号与下行参考信号的相关性;
34.步骤103:至少根据所述相关性确定回声状态,所述回声状态包括存在异常回声和无回声。
35.需要指出的是,本实施例中各个步骤的序号并不代表对各个步骤的执行顺序的限定。
36.可以理解的是,在具体实施中,所述回声检测方法可以采用软件程序的方式实现,该软件程序运行于芯片或芯片模组内部集成的处理器中。
37.在步骤101的具体实施中,可以通过终端设备的麦克风采集上行语音信号。上行语音信号可以包括用户语音,还可以包括回声,上述回声具体可以包括正常回声和异常回声。正常回声是指由扬声器发出经由正常路径被麦克风拾取的回声,异常回声是指由扬声器发出经由障碍物形成的异常发射路径被麦克风拾取的回声。异常回声的分贝大于正常回声的分贝。
38.具体请参照图2,远端100的麦克风102将下行信号103送至近端115的扬声器104。直接回声105是由近端115的扬声器104发出而被近端115的麦克风108直接拾取的,间接回声106是由近端115的扬声器104发出经环境反射而被近端麦克风108间接拾取的。在拾取回声的同时,如有存在近端语音107,则会被麦克风108拾取。处理后的上行信号109被发送到远端100的扬声器110播放出来。
39.在某些情况下,例如人脸或手掌遮挡近端扬声器104或近端麦克风108时,则会改变直接回声105的反射路径形成新的回声反射路径,当该回声反射路径与原路径差异较大时,会引起近端麦克风108拾取的回声显著增大,此时近端麦克风108拾取的回声为异常回声。
40.一并参照图3和图4,图3示出一种移动终端的扬声器和麦克风的布局。移动终端的声音由手机背面左下角的扬声器播放,麦克风位于手机底部的右侧。通话时,当使用者的手位于手机中上部时,此时,扬声器和麦克风直接的回声路径为正常回声路径(虚线是回声路径示意线)。当使用者的手位于手机下部时,此时,使用者的手掌靠近扬声器和麦克风,手掌、扬声器和麦克风会形成一个新的回声路径,原回声路径发生改变,此时,麦克风接收到的回声异常增大,较难消除。
41.图4示出一种穿戴设备的扬声器和麦克风的布局。扬声器位于该设备下方,麦克风位于设备的右上方。通话时,扬声器和麦克风之间无障碍物时,扬声器和麦克风直接的回声路径为正常回声路径(虚线是回声路径示意线)。当人脸靠近手表或手掌靠近手表时,人脸或手掌和扬声器、麦克风一起形成一个新的回声路径,原回声路径发生改变,此时,麦克风接收到的回声异常增大,较难消除。
42.在步骤102的具体实施中,通过计算滤波后的信号与下行参考信号的相关性,可以获知滤波后的信号与下行参考信号的相似度。进而在步骤103的具体实施中,可以根据该相关性确定回声状态,也即滤波后的信号中是存在异常回声,还是无回声。
43.具体地,下行参考信号可以是远端发送到近端的下行链路中的语音信号。由于上行语音信号中的回声是由该下行参考信号经反射形成的,因此通过比较上行语音信号与下行参考信号的相似度可以确定回声的强度,从而确定是否存在异常回声。
44.在一个具体实施例中,可以计算所述当前帧语音信号与所述下行参考信号的互相关值,以作为所述相关性。
45.本实施例中,可以采用以下公式计算互相关值:
[0046][0047]
其中,corr(m,k)表示互相关值,x(m,k)表示滤波后的信号的频谱,y(m,k)表示下行参考信号的频谱,m表示帧索引,k表示频点的索引,*表示取共轭。
[0048]
在另一个具体实施例中,计算频带内各帧语音信号与所述下行参考信号的互相关值的均值,以作为所述相关性。
[0049]
本实施例中,可以计算某一频带内互相关值的均值,以作为所述相关性。具体采用的公式如下:
[0050][0051]
其中,corr_avg(m)表示选定频带内各帧信号与下行参考信号的互相关值的均值,n1和n2分别对应频带内的下限频点和上限频点,且n2≥n1。
[0052]
在一个非限制性的实施例中,可以根据所述回声状态确定对所述滤波后的信号直接输出或者对所述滤波后的信号进行二次滤波操作。
[0053]
本实施例中,对所述滤波后的信号直接输出就意味着仅对采集的语音信号进行了初始滤波操作。对滤波后的信号进行二次滤波操作则可以对语音信号实现更强的回声抑制
效果。
[0054]
换言之,在无回声路径改变时,使用正常回声抑制参数,保证双讲连续;当回声路径改变时,检测到异常回声并加强回声抑制参数,进而消除异常回声,就能最大程度的保证良好的双向语音通话质量。
[0055]
进一步地,如果所述相关性的值大于第一预设门限,且所述下行参考信号的幅度大于第二预设门限,则对所述滤波后的信号进行二次滤波操作。
[0056]
具体实施中,判断相关性的值和下行参考信号的幅度是否满足下述公式:
[0057]
corr_avg(m)>pcd_thr,
ꢀꢀꢀꢀꢀ
(2)
[0058]
y_level(m)>ec_thr,
ꢀꢀꢀꢀꢀ
(3)
[0059]
其中,corr_avg(m)表示相关性的值,y_level(m)表示下行参考信号的幅度,pcd_thr表示第一预设门限,ec_thr表示第二预设门限。当公式(3)和公式(4)的条件同时满足时,表示滤波后的信号依然包含较多残留回声,即判读为异常回声状态,此时可以加强回声抑制,也即对滤波后的信号进行二次滤波操作。
[0060]
进一步地,如果所述相关性的值低于第一预设门限,或者所述下行参考信号的幅度低于第二预设门限,则直接输出所述滤波后的信号。
[0061]
本实施例中,如果公式(3)与公式(4)的条件不能同时满足,则判断滤波后的信号无明显残留回声,即判断为正常回声状态或无回声状态(无需开启回声消除),此时不会作任何处理而直接输出滤波后的信号、在一个具体的实施例中,对滤波后的信号进行二次滤波操作可以是指,将所述滤波后的信号置为零。
[0062]
请参照图5,图5示出了一种回声检测方法的具体流程。
[0063]
麦克风501的输入信号502和输入到扬声器503的下行参考信号504,在经过线性aec单元505的迭代更新和滤波后得到误差信号506。误差信号506通常包含线性残余回声和非线性回声,在有近端发声的情况下,还会包含近端语音。对包含残余回声的误差信号506进行非线性处理滤波可用于实现进一步的回声抑制,由于采用非线性滤波方式,故称之为nlp单元507。经过nlp单元507滤波后,得到滤波后的信号(也可以称为近端语音估计信号)508。正常回声路径下,滤波后的信号508中的近端语音应完全保留,下行语音应完全消除。当回声路径改变引起麦克风501的输入信号502中回声异常增大时,经过nlp单元507处理后,回声无法完全消除,使得滤波后的信号508中包含了未消除的甚至较大的残留回声。
[0064]
异常回声检测器509的作用是计算滤波后的信号与下行参考信号的相关性(也可以称为当前帧残留回声的特征值)510,该特征值是利用滤波后的信号508和下行参考信号504计算得到的二者的互相关值。
[0065]
将当前帧残留回声的特征值510送入回声加强抑制判断单元511中。加强抑制判断单元511根据上述公式(3)和(4)判断滤波后的信号508包含较多残留回声时。如果公式(3)与公式(4)的条件同时满足,则判读为异常回声状态,此时会加强回声抑制(也即对滤波后的信号进行二次滤波操作),使残留回声不可闻并输出加强抑制后的处理结果512。
[0066]
如果公式(3)与公式(4)的条件不能同时满足,则判断滤波后的信号508无明显残留回声,即判读为正常回声状态或无回声状态(无需开启回声消除),此时不会作任何处理而直接输出结果512,也即直接输出滤波后的信号508。
[0067]
在本发明一个可选实施例中,除了采用线性aec单元505对输入信号502和下行参
考信号504进行滤波之外,还可以对输入信号502和下行参考信号504做非线性的预处理,再次进行自适应滤波
[0068]
请参照图6,本发明实施例公开了一种回声检测装置60。回声检测装置60可以包括:
[0069]
采集模块601,用于采集上行语音信号,并对采集到的上行语音信号进行初始滤波操作,得到滤波后的信号;
[0070]
计算模块602,用于计算所述滤波后的信号与下行参考信号的相关性;
[0071]
判断模块603,用于至少根据所述相关性确定回声状态,所述回声状态包括存在异常回声和无回声。
[0072]
在具体实施中,上述回声检测装置可以对应于终端设备中具有回声检测功能的芯片,例如soc(system
‑
on
‑
a
‑
chip,片上系统)、基带芯片等;或者对应于终端设备中包括具有回声检测功能的芯片模组;或者对应于具有数据处理功能芯片的芯片模组,或者对应于终端设备。
[0073]
关于所述回声检测装置60的工作原理、工作方式的更多内容,可以参照图1至图5中的相关描述,这里不再赘述。
[0074]
关于上述实施例中描述的各个装置、产品包含的各个模块/单元,其可以是软件模块/单元,也可以是硬件模块/单元,或者也可以部分是软件模块/单元,部分是硬件模块/单元。例如,对于应用于或集成于芯片的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于芯片模组的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于芯片模组的同一组件(例如芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片模组内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于终端的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于终端内同一组件(例如,芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于终端内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现。
[0075]
请参照图7,图7示出一种免提通话下的回声异常增大时的相关信号的语谱图结果,其中,横轴表示时间(time),单位:秒(s),纵轴表示频率(frenquency),单位:赫兹(hz)。本实施例中信号的原始采样率为8khz。
[0076]
图7上图表示下行参考信号,其中回声能量主要约集中在0~40s及50~60s的两个时段内。图7中图表示初始滤波操作后异常回声检测前的结果(也即图5所示nlp单元输出的结果508),其中45s附近为仅上行语音,50~60s内为处理后的正常双讲段,回声残留极少,处理结果与仅上行语音接近,双工良好,但0~40s内的纯回声段回声残留异常偏大,无法消除。图7下图表示经过异常回声检测及处理后的输出结果,0~40s内的异常回声被完全消除,同时45s附近的仅上行语音及50~60s内的正常双讲的处理结果与图4中图结果完全一致。可以看出,经过本方案处理后,异常回声可被准确检出并得到有效抑制,同时保证正常
的仅上行语音及双讲段语音连续不受影响。
[0077]
本发明实施例还公开了一种存储介质,所述存储介质为计算机可读存储介质,其上存储有计算机程序,所述计算机程序运行时可以执行图1或图5中所示的回声检测方法的步骤。
[0078]
本发明实施例还公开了一种终端设备,所述终端设备可以包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序。所述处理器运行所述计算机程序时可以执行图1或图5中所示的回声检测方法的步骤。所述用户设备包括但不限于具有通话功能的手机、计算机、平板电脑、穿戴设备等终端设备。
[0079]
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/“,表示前后关联对象是一种“或”的关系。
[0080]
本技术实施例中出现的“多个”是指两个或两个以上。
[0081]
本技术实施例中出现的第一、第二等描述,仅作示意与区分描述对象之用,没有次序之分,也不表示本技术实施例中对设备个数的特别限定,不能构成对本技术实施例的任何限制。
[0082]
本技术实施例中出现的“连接”是指直接连接或者间接连接等各种连接方式,以实现设备间的通信,本技术实施例对此不做任何限定。
[0083]
应理解,本技术实施例中,所述处理器可以为中央处理单元(central processing unit,简称cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现成可编程门阵列(field programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0084]
还应理解,本技术实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read
‑
only memory,简称rom)、可编程只读存储器(programmable rom,简称prom)、可擦除可编程只读存储器(erasable prom,简称eprom)、电可擦除可编程只读存储器(electrically eprom,简称eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,简称ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,简称ram)可用,例如静态随机存取存储器(static ram,简称sram)、动态随机存取存储器(dram)、同步动态随机存取存储器(synchronous dram,简称sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,简称ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,简称esdram)、同步连接动态随机存取存储器(synchlink dram,简称sldram)和直接内存总线随机存取存储器(direct rambus ram,简称dr ram)。
[0085]
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算
机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质。半导体介质可以是固态硬盘。
[0086]
应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0087]
在本技术所提供的几个实施例中,应该理解到,所揭露的方法、装置和系统,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的;例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式;例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0088]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0089]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0090]
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。
[0091]
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。