确定信号间相似性的方法、比较发生器和回波消除检测器与流程

文档序号:26586753发布日期:2021-09-10 19:31阅读:184来源:国知局
确定信号间相似性的方法、比较发生器和回波消除检测器与流程
确定信号间相似性的方法、比较发生器和回波消除检测器
1.本技术是申请日为2015年9月29日,申请号为201510746172.8,发明名称为“回波消除检测器、消除回波的方法和比较发生器”的专利申请的分案申请。
技术领域
2.本发明涉及电话中的回波消除。


背景技术:

3.在电话中,音频信号(例如,包括语音信号)在近端和远端之间被传送。在近端处接收的远端信号可以从扬声器输出。近端处的麦克风可以被用于捕获要被传送至远端的近端信号。当在被传送回至远端的近端信号中包括在近端处输出的远端信号中的至少一些时,出现“回波”。在这种意义上,回波可以被认为是远端信号的反射。在图1a中例示了示例场景,其示出了正由远端麦克风捕获并且由近端扬声器输出的信号。回波是扬声器和麦克风之间的声耦合的结果;除了近端扬声器的语音以及任何近端背景噪声,麦克风还捕获来源于其自己的扬声器的信号。结果是远端扬声器处的回波。回波消除是电话的重要特征。特别是,免提装置和电话会议需要能够适应于具有宽范围的声特性的环境的回波消除。在这些示例中,多种因素的组合有助于回波成为更大的问题。首先,从近端扬声器输出的远端信号的音量通常足够大,使得远端信号是由近端麦克风捕获的信号的重要部分。其次,这些类型的布置中的扬声器和麦克风的物理布置倾向于导致这两者之间的良好的声耦合。
4.声回波消除器通常合成来自远端语音信号的回波的估计。然后从麦克风信号中减去估计的回波。该技术需要自适应信号处理以生成足够精确的信号来有效地消除回波。自适应滤波器通常被用于对环境的声脉冲响应进行建模。
5.声回波消除应用通常形成用户应用的一部分,诸如voip(互联网语音协议)软件。在voip通信中存在对于高清晰度语音质量的增长的需要。一些移动电话供应商现在将声回波消除器(aec)合并到其平台音频接口,该平台音频接口可获得用户应用。当执行声回波消除的用户应用在同样执行声回波消除的平台上运行时,这可能对语音质量具有严重的影响。图1b例示了这两者被级联的实施。平台aec中的非线性模块(诸如噪声消除器、非线性处理器、舒适噪声生成器和自动增益控制器)可能消极地影响用户应用aec的操作。例如,用户应用aec对在存在远端语音期间的回波路径脉冲进行建模。这可导致其重新生成由平台aec消除的回波。另外,由于适应于高远端信号的应用aec,双向通话(dt)的周期可能被失真或截断(chop)。
6.如果用户应用aec操作同样在其音频接口中具有aec的平台上,则该用户应用aec应当优选地被停用。一些装置供应商认识到该问题,并且通过相关的应用编程接口(api)来提供指示平台ace的存在的信息。如适当,该信息能够被用于将应用aec打开或关闭。然而,由于其完全地取决于提供aec信息的装置供应商,这接近于不可靠。因此,存在对用于检测平台aec的存在的改进机制的需要。


技术实现要素:

7.根据第一实施方式,提供了一种回波消除检测器,该回波消除检测器用于控制被构造为在电话系统中消除近端信号中的远端信号的回波的声回波消除器,所述回波消除检测器包括:比较发生器,其被构造为将所述远端信号与所述近端信号进行比较;判定单元,其被构造为基于该比较做出与第一声回波消除器有关的确定;以及控制器,其被构造为根据所述确定控制第二声回波消除器的操作。
8.所述判定单元可以被构造为做出关于是否存在第一声回波消除器的确定。
9.所述控制器可以被构造为:响应于存在所述第一声回波消除器的确定,控制所述第二声回波消除器以处于不操作的状态;以及响应于存在所述第一声回波消除器的确定,控制所述第二声回波消除器以处于操作的状态。
10.所述控制器可以包括:监测单元,其被构造为监测所述第一声回波消除器是否从麦克风信号中成功地去除远端回波,以提供所述近端信号;所述控制器被构造为响应于所述第一声回波消除器没有从所述麦克风信号中成功地去除远端回波的确定,控制所述第二声回波消除器以处于操作状态以从所述近端信号中去除远端回波。
11.所述比较发生器可以被构造为将所述远端信号的频谱的指示与所述近端信号的频谱的指示进行比较。
12.所述比较发生器可以被构造为将所述远端信号的频谱的二进制表示与所述近端信号的频谱的二进制表示进行比较。
13.所述比较发生器可以包括频谱发生器,所述频谱发生器被构造为通过下面的操作来形成频谱的二进制表示:将所述频谱中的具有高于预定阈值的幅度的频率点(frequency bin)表示为按所述二进制表示的第一预定值;以及将具有低于所述预定阈值的幅度的频率点表示为按所述二进制表示的第二预定值。
14.所述频谱发生器可以被构造为形成所述频谱的所述二进制表示,以仅表示所选择的频率点。
15.所述频谱发生器可以被构造为选择所述频率点,以对应于在人类语音(human speech)中发现的频率。
16.所述比较发生器可以被构造为通过对所述远端信号和所述近端信号的所述二进制表示均具有所述第一预定值或者均具有所述第二预定值的相应的频率点的数目进行计数,来将所述远端信号与所述近端信号进行比较。
17.所述比较发生器可以被构造为:将所述近端信号的针对当前的帧的二进制表示与所述远端信号的针对多个以前的帧的二进制表示进行比较;以及如果所述远端信号的针对这些以前的帧中的任一个的二进制表示包括针对与以下的频率点对应的频率点的所述第一预定值或者所述第二预定值,则将一个单位添加到所述计数:在该频率点中,所述近端信号的针对所述当前的帧的所述二进制表示具有相同的相应的第一预定值或者第二预定值。
18.所述比较发生器可以被构造为将所述计数与通过将所述远端信号的先前的帧与所述近端信号的先前的帧进行比较而生成的一个或更多个计数取平均值。
19.所述控制器可以被构造为:如果经平均的计数低于预定阈值,则控制所述第二声消除器以处于不操作的状态;以及如果经平均的计数高于所述预定阈值,则控制所述第二声消除器以处于操作的状态。
20.所述回波消除检测器可以被构造为在将所述远端信号与所述近端信号进行比较之前确定远端语音的存在。
21.根据第二实施方式,提供了一种用于在电话系统中的近端信号中消除远端信号的回波的方法,该方法包括以下步骤:将所述远端信号与所述近端信号进行比较;基于该比较做出与第一声回波消除器有关的确定;以及根据所述确定操作第二声回波消除器。
22.所述方法可以包括以下步骤:做出关于是否存在第一声回波消除器的确定。
23.所述方法可以包括以下步骤:响应于存在所述第一声回波消除器的确定,使得所述第二声回波消除器处于不操作的状态;以及响应于不存在所述第一声回波消除器的确定,使得所述第二声回波消除器处于操作的状态。
24.如果确定存在所述第一声回波消除器,则所述方法可以包括以下步骤:监测所述第一声回波消除器是否从麦克风信号中成功地去除远端回波,以提供所述近端信号;以及响应于所述第一声回波消除器没有从所述麦克风信号中成功地去除远端回波的确定,使得所述第二声回波消除器处于操作状态以从所述近端信号中去除远端回波。
25.所述方法可以包括以下步骤:将所述远端信号的频谱的指示与所述近端信号的频谱的指示进行比较。
26.所述方法可以包括以下步骤:将所述远端信号的所述频谱的二进制表示与所述近端信号的所述频谱的二进制表示进行比较。
27.所述方法可以包括以下步骤:通过下面的操作来形成频谱的二进制表示:将所述频谱中的具有高于预定阈值的幅度的频率点表示为按所述二进制表示的第一预定值;以及将具有低于所述预定阈值的幅度的频率点表示为按所述二进制表示的第二预定值。
28.所述方法可以包括以下步骤:形成所述频谱的所述二进制表示,以仅表示所选择的频率点。
29.所述方法可以包括以下步骤:选择频率点,以与人类语音中发现的频率相对应。
30.所述方法可以包括以下步骤:通过对所述远端信号和所述近端信号的所述二进制表示均具有所述第一预定值或者均具有所述第二预定值的相应的频率点的数目进行计数,来将所述远端信号与所述近端信号进行比较。
31.所述方法可以包括以下步骤:将所述近端信号的针对当前的帧的二进制表示与所述远端信号的针对多个以前的帧的二进制表示进行比较;以及如果所述远端信号的针对这些以前的帧中的任一个的二进制表示包括针对与以下的频率点对应的频率点的所述第一预定值或者所述第二预定值,则将一个单位添加到所述计数:在该频率点中,所述近端信号的针对所述当前的帧的所述二进制表示具有相同的相应的第一预定值或者第二预定值。
32.所述方法可以包括以下步骤:将所述计数与通过将所述远端信号的先前的帧与所述近端信号的先前的帧进行比较而生成的一个或更多个计数取平均值。
33.所述方法可以包括以下步骤:如果经平均的计数低于预定阈值,则使得所述第二声消除器处于不操作的状态;以及如果经平均的计数高于所述预定阈值,则使得所述第二声消除器处于操作的状态。
34.所述方法可以包括以下步骤:在将所述远端信号与所述近端信号进行比较之前,确认远端语音的存在。
35.根据第三实施方式,提供了一种比较发生器,该比较发生器用于确定第一信号和
第二信号之间的相似性,所述比较发生器包括频谱发生器,所述频谱发生器被构造为:获得两个信号的频谱;以及针对每个频谱,通过将所述频谱中的具有高于预定阈值的幅度的频率点表示为第一预定值并且将所述频谱中的具有低于所述预定阈值的幅度的频率点表示为第二预定值,来形成该频谱的二进制表示;所述比较发生器被构造为:将所述第一信号和所述第二信号的二进制表示进行比较;以及对所述第一信号和所述第二信号的所述二进制表示均具有所述第一预定值或者均具有所述第二预定值的相应的频率点的数目进行计数。
36.所述比较发生器可以被构造为:将所述第一信号的针对当前的帧的二进制表示与所述第二信号的针对多个以前的帧的二进制表示进行比较;以及如果所述第二信号的针对这些以前的帧中的任一个的二进制表示包括针对与以下的频率点对应的频率点的所述第一预定值或者所述第二预定值,则将一个单位添加到所述计数:在该频率点中,所述第一信号的针对所述当前的帧的所述二进制表示具有相同的相应的第一预定值或者第二预定值。
37.所述比较发生器可以被构造为将所述计数与通过将所述第一信号的先前的帧与所述第二信号的先前的帧进行比较而生成的一个或更多个计数取平均值。
38.所述频谱发生器可以被构造为形成所述频谱的所述二进制表示,以仅表示所选择的频率点。
39.所述频谱发生器可以被构造为选择所述频率点,以与人类语音中发现的频率相对应。
40.所述比较发生器可以被构造为确定电话系统中的近端信号和远端信号之间的相似性。
41.一种回波消除检测器可以包括比较发生器,所述回波消除检测器还包括判定单元,所述判定单元被构造为根据近端信号和远端信号之间的所确定的相似性来做出关于第一声回波消除器的确定。
42.所述判定单元可被构造为确定在电话系统中是否存在第一声回波消除器。
43.所述回波消除检测器还可以包括控制器,所述控制器被构造为根据所述确定操作所述第二声回波消除器。
44.所述回波消除检测器可以被构造为:如果经平均的计数低于预定阈值,则使得所述第二声回波消除器处于不操作的状态;以及如果经平均的计数高于所述预定阈值,则使得所述第二声回波消除器处于操作的状态。
45.根据第四实施方式,提供了一种确定第一信号和第二信号之间相似性的方法,该方法包括以下步骤:获得两个信号的频谱;针对每个频谱,通过将所述频谱中的具有高于预定阈值的幅度的频率点表示为第一预定值并且将所述频谱中的具有低于所述预定阈值的幅度的频率点表示为第二预定值,来形成该频谱的二进制表示;将所述第一信号和所述第二信号的二进制表示进行比较;以及对所述第一信号和所述第二信号的所述二进制表示均具有所述第一预定值或者均具有所述第二预定值的相应的频率点的数目进行计数。
46.所述方法可以包括以下步骤:将所述第一信号的针对当前的帧的二进制表示与所述第二信号的针对多个以前的帧的二进制表示进行比较;以及如果所述第二信号的针对这些以前的帧中的任一个的二进制表示包括针对与以下的频率点对应的频率点的所述第一预定值或者所述第二预定值,则将一个单位添加到所述计数:在该频率点中,所述第一信号的针对所述当前的帧的所述二进制表示具有相同的相应的第一预定值或者第二预定值。
47.所述方法可以包括以下步骤:将所述计数与通过将所述第一信号的先前的帧与所述第二信号的先前的帧进行比较而生成的一个或更多个计数取平均值。
48.所述方法可以包括以下步骤:形成所述频谱的所述二进制表示,以仅表示所选择的频率点。
49.所述方法可以包括以下步骤:选择所述频率点,以与人类语音中发现的频率相对应。
50.所述方法可以包括以下步骤:使用所述方法来确定电话系统中的近端信号和远端信号之间的相似性。
51.所述方法可以包括以下步骤:根据所确定的所述近端信号和所述远端信号之间的相似性来做出关于第一声回波消除器的确定。
52.所述方法可以包括以下步骤:确定在电话系统中是否存在第一声回波消除器。
53.所述方法可以包括以下步骤:根据所述确定操作所述第二声回波消除器。
54.所述方法可以包括以下步骤:如果经平均的计数低于预定阈值,则使得所述第二声回波消除器处于不操作的状态;以及如果经平均的计数高于所述预定阈值,则使得所述第二声回波消除器处于操作的状态。
附图说明
55.现在将参照附图通过示例的方式描述本发明。在附图中:
56.图1a示出了示例性回波路径监测系统的架构;
57.图1b示出了级联构造中的平台aec和用户应用aec;
58.图2示出了一种用于控制用户应用aec的方法的示例;
59.图3示出了回波消除检测器的示例;
60.图4示出了一种用于测量两个信号之间的相似性度量的方法的示例;
61.图5示出了包含平台aec的装置的相似性指数计数器(similarity index counter);
62.图6示出了算法在不同的声模式期间的检测延迟;以及
63.图7示出了不具有平台aec的装置的相似性指数计数器。
具体实施方式
64.第一aec和第二aec可以被布置在级联构造中(图3中示出了该类型布置的一个示例)。第一aec可以被构造为接收由麦克风捕获的信号。该信号可被称作“麦克风信号”,并且其将通常包括近端谈话、本地噪声以及远端信号的回波。由第二aec接收的信号可被称作“近端信号”。如果第二aec与第一aec级联,则近端信号将是由第一aec输出的信号。如果不存在第一aec,则近端信号将与麦克风信号相同。为了避免任何混淆,本文中由第二aec接收的信号将一致地被称作“近端信号”,不管该信号是否与麦克风信号相同或不同。
65.图2中示出了用于控制电话系统中的声回波消除器(aec)的方法的概览。该方法包括将远端信号与近端信号进行比较(步骤s201),并且使用该比较来做出关于第一aec的确定(步骤s202)。该确定可以例如是在电话系统中是否存在第一aec、或者第一aec是否成功地去除远端信号的回波。优选地在运行时间执行该确定。然后,该方法包括根据已做出关于
第一aec的确定来操作第二aec(步骤s203)。这将通常包括确保第二aec被启用或者确保其被停用。在大多数实施中,第二aec将默认被启用,因此根据关于第一aec的确定来操作第二aec将涉及停用第二aec或者使其保持接通。这还可能包括控制第二aec的操作的任何方面,例如其从近端信号去除回波的程度或者其对该回波进行建模的方式。
66.图3中示出了用于控制声回波消除器的装置的概览。该装置通常由回波消除检测器301表示。在该示例中,回波消除检测器形成宽电话系统310的一部分。该示例中的电话系统包括两个aec:第一aec 302和第二aec 303。回波消除检测器被优选地构造为接收远端信号和近端信号。其包括比较发生器304,该比较发生器304可被构造为将近端信号和远端信号进行比较。该比较的结果被适当地传送给判定单元305。该判定单元被优选地构造为根据该比较结果做出关于第一aec的确定。该确定被适当地传送给控制器306。该控制器306可被构造为根据该确定控制第二aec的操作。
67.在一个示例中,比较发生器304可被构造为使用特定算法来将近端信号和远端信号进行比较,下面对其进行更详细的描述。这样被构造的比较发生器可包括重采样器(re

sampler)307、频谱发生器308(其可被构造为生成任何类型的频谱,包括二进制频谱)以及语音活动检测模块314。其还可包括平均单元317、计数器318和比较单元319,比较单元319可被构造为直接将与由频谱发生器308输出的近端信号和远端信号对应的二进制频谱进行比较。判定单元305可包括判定逻辑部(logic)315和估计模块316。控制器306还可包括监测单元309,该监测单元309用于监测第一aec 302如何正从麦克风信号中成功地去除回波。
68.如果不存在第一aec 302或者第一aec 302表现不佳(在图3中,这被表示为回波消除检测器控制复用器313,其使得第二aec能够忽略),回波消除检测器301被优选地构造为控制第二aec 303以仅处于操作的状态。第一aec可因此被认为有效地优先于第二aec。可能存在多个实际原因以使一个aec优于另一个。例如,第一aec可以是平台aec:形成电话系统下面的平台的整体部分并且可能在制造时已经被安装的aec。第二aec可以是用户应用aec:在制造后由用户安装在电话系统上的程序的一部分。在该方案中,平台aec可被特别设计用于正在讨论的平台,并因此被期望以在大多数方案中良好地执行。用户应用aec可能已经被开发为能够在多个不同的平台上被实施的一般目的aec。因此,平台aec可能被期望以在特定平台上执行得比更一般的用户应用aec好。对于使一个aec比另一个优选的另一个原因可能简单地是控制的问题:回波消除检测器可能不具有使平台aec停用的能力,相反其可能能够使用户应用aec停用。
69.两个aec可以按硬件或软件来实施,并且通常将通过这两者的组合来实施。
70.电话系统可以是例如移动电话、电话会议系统、陆上运输连接电话、计算装置上的电话应用或者任何其它通信系统。应当理解的是,电话系统可包括在典型通信系统中找到的任何组件或功能块。例如,一个典型的电话系统可包括以下项中的一个或更多个:麦克风311、扬声器312、调制解调器、天线、信号处理器、模拟数字转换器、数字模拟转换器、滤波器、噪声消除器、自动增益控制器、舒适噪声生成器等(其中大多数未在图3中示出)。
71.图3中示出的结构旨在对应于装置中的多个功能块。这仅用于例示的目的。图3不旨在限定芯片上的硬件的不同部件之间或者软件中的不同的程序、过程或函数之间的严格的划分。在一些实施方式中,可以全部或部分地在硬件中执行本文中描述的过程中的一些或全部。在一些实施方式中,可由在软件控制下用作的处理器(例如,图3中示出的处理器)
来实施回波消除检测器301、比较发生器304、判定单元305、控制器306、监测单元309和频谱发生器308。任何这样的软件被优选地存储在诸如存储器(ram、高速缓冲存储器、flash、rom、硬盘等)或者其它存储装置(usb棒、flash、rom、cd、磁盘等)这样的非暂态计算机可读介质中。在一个实施方式中,回波消除检测器可形成实施用户应用aec的用户应用的一部分。
72.现在将参考这样的场景来描述更详细的实施方式:在该场景中,第一aec 302是平台aec,并且第二aec 303是用户应用aec。这仅是为了示例的目的,并且应当理解的是,本文中描述的方法和装置可以被用于控制任何类型的aec。
73.通过根据远端信号和近端信号做出关于平台aec的确定,该确定变得不依赖于由平台制造商提供的任何信息。因此,用户应用aec的操作不依赖于形成可通过api获得的信息的平台,用户应用aec的控制也不得不适应于特定信息格式。此外,使得不仅只是根据平台aec的存在,而且根据平台aec实际上如何正在证明从麦克风信号成功地去除远端回波以形成被提供给应用aec 303的近端信号,来控制用户应用aec。
74.平台aec被期望正常地很好地执行,因为其被特别地调谐至给定装置。因此,如果确认存在平台aec,则用户应用aec被优选地停用以最小化语音质量恶化并减少cpu负载。然而,如果平台aec未正在如期望地执行,则用户应用aec不可以被停用或者被重新启用。在该情况下,用户应用aec帮助消除不期望的回波。
75.将近端信号和远端信号进行比较提供了这两个信号彼此多么相似的指示。这还指示近端信号是否包括远端信号的显著回波,其进而指示平台aec的不存在(或表现不佳)。存在可以被用于比较两个信号的许多不同的技术,并且应当理解的是,本文中描述的方法包含使用任何适当的技术。具体地,比较可以在时域或频域中进行计算。然而,许多现有的比较技术不是优选的,因为它们具有高的计算复杂性并且在提供相似性的指示方面包含内在的延迟。以下描述了一种用于比较两个信号的新技术。在做出关于平台aec的确定的背景下描述了该技术,但是这仅出于示例的目的。可以在将两个信号彼此进行比较的许多其它应用中有用地采用该技术。
76.以下描述的比较方法能够检测平台aec存在和/或在运行时间的性能。其使用少于10秒的、优选地少于5秒的、以及更优选地少于2秒的远端语音来确认平台aec的存在和/或性能。确实,该比较方法能够利用约1秒的远端语音来确认远端语音存在。该方法的关键组成是使近端信号或远端信号的二进制频谱相关的技术。其估计这些输入二进制频谱之间的相似性度量的移动平均。
77.图4示出了该比较方法以及适用于平台aec检测的决定逻辑的框图。使用主要涉及远端信号的等式来描述该方法。这在以下的等式中通过使用下标“x”表示远端信号来演示。相同的等式和附随的说明同样应用于近端信号(由下标“d”表示)。
78.处理在步骤401中开始于使用重采样器307来对近端信号和远端信号二者进行重新采样。适当的采样速率可以例如是4khz。对信号进行重新采样降低了后续操作的复杂性,并且使算法独立于这些信号的原始采样速率。
79.在步骤402中,使信号重新成帧。用于输入信号的适当的帧大小是10ms(即,以4khz的采样频率的40个样本)。然后,这些样本与近端信号和远端信号的以前的样本连接。在一个示例中,输入采样与88个以前的样本连接。然后,例如由频谱发生器308通过128个点快速
傅里叶变换(fft)来将样本转换到频域。
80.然后,该算法计算远端信号和近端信号的短期能量(步骤s403)。对多个以前的帧进行平均提供更好的频率定位。k个连续的帧的平均可以被用于进一步的处理:
[0081][0082]
其中,x
f
(m,l

n)表示第l

n帧和第m个频率点的fft,并且x(m,l)表示过去的k个帧的平均fft。在一个示例中,k=4。
[0083]
为了减少复杂度并且提高精确度,该算法可以关注于通常示出主要语音存在的频率点,忽略通常不形成人类语音的部分的频率点。适当的频率范围是320hz至1400hz。如果0和4khz之间的频率范围被映射到64个频率点上,则该典型的语音范围对应于m=12至43,其中1≤m≤64。第l帧和第c个频率点(其中,c表示适合于人类语音的频率范围的频率点,例如在示例中,c=m-12)的短期能量可以如下估计:
[0084]
s
x
(c,l)=re(x(11+c,l))2+img(x(11+c,l))2其中(0≤c≤31)
ꢀꢀꢀ
(2)
[0085]
然后,在步骤s404中估计每个帧的长期能量。这可以通过例如使用第一阶自适应滤波器对短期能量s
x
(c,l)取平均值来实现。第l帧的长期能量l
x
(c,l)可以如下获得:
[0086]
δ
x
(c,l)=s
x
(c,l)

l
x
(c,l

1)
[0087]
l
x
(c,l)=l
x
(c,l

1)+(α
x
(l)*δ
x
(c,l))+γ
x
(l)
ꢀꢀꢀ
(3)
[0088]
滤波器系数α
x
(l)和仿射偏移γ
x
(l)可以由δ
x
(c,l)确定。例如:
[0089][0090][0091]
其中,β1、β3、β4和β5是能够被设置为用于特定实施的适当值的参数。
[0092]
可以由频谱发生器308从估计的短期或长期平均能量计算二进制频谱(步骤s405)。该处理包括查看每个频率点的能量内容,并且对于指示存在语音的区间将二进制频谱设置为“1”以及对于指示不存在语音的区间将二进制频谱设置为“0”。这样,二进制频谱指示在相应的频率点中存在或不存在语音。针对第l帧和第c个频率点的二进制频谱bs
x
(c,l)由以下的等式给出:
[0093][0094]
其中,α和ζ2是可以被设置为用于特定实施的适当值的参数。
[0095]
由于扬声器312和麦克风310之间的声耦合,可能在麦克风输出中包括远端信号中的至少一些作为回波。在将近端频谱和远端频谱进行比较之前,该处理适当地检查是否存在可能导致回波的远端信号。如果远端方无声,则将不存在远端回波并且能够节省计算上的努力。决定单元305中包括的并且被构造用于相似性指数计算的决定逻辑部和计算模块
可以保持未激活,直到存在远端语音信号。
[0096]
该方法适当地通过观察过去m个帧的内容来检查是否存在远端语音。m的值取决于远端信号和近端信号之间期望的最大纯延迟和/或稀疏回波路径延迟。这可以通过观察经历跨越与不同装置的不同呼叫的延迟而确定。这通常将被提前确定并且被编程到回波消除检测器305中,但是可以由回波消除检测器305实时确定。典型的延迟是针对100个帧每秒的帧速率的与m=100个帧对应的约1秒的纯延迟。
[0097]
比较发生器304可包括语音检测模块314,该语音检测模块314被构造为执行语音活动检测(vad)的处理。其可通过以下方式来检查远端语音的存在:首先查看当前的帧,然后将该帧与以前关于先前的m个帧做出的确定进行组合(步骤s406)。可通过检查二进制频谱中的有效的远端频率点的总数目是否比预定阈值大来做出关于在当前的帧中是否存在远端语音的判定:
[0098][0099]
为了考虑回波路径中的纯延迟,可以确定过去的m个帧的累积的远端语音活动:
[0100][0101]
如果cvad
x
为“0”,其指示在过去的m个帧中,远端信号不包含语音,即远端处的这方是无声的。判定单元305中包括的判定逻辑部和用于相似性指数计算的计算模块(并且分别以315和316示出)因此可以保持不激活,如由图4中的步骤s407以及其控制的开关420和421指示的。在该方案中,在算法移动到下一帧(步骤s409)之前,长期能量和相似性计数器值被保留用于先前的帧(步骤s408)。
[0102]
图4和以上说明描述了这样的实施:在该实施中,使用二进制频谱来检测远端语音活动,其是做出关于是否存在远端语音的确定的特别直接的方式。另选地,可以使用另一种技术(例如,通过使用远端信号和近端信号的频谱)来检测远端语音活动,在该情况下,二进制频谱的计算可以被保留,直到已经确认远端语音活动。
[0103]
可以重复语音活动检测的处理,直到检测到远端语音。一旦确认远端语音活动,就由比较单元319将近端二进制频谱和远端二进制频谱进行比较,以确定它们的相似性(步骤s411)。可以采用任何适当的比较操作,但是可以通过调用计数器318来实现特别直接的实施,以计算远端二进制频谱和近端二进制频谱中的匹配的频率点的数目。该计数器提供两个信号之间的相关性的指示。
[0104][0105]
这里,下标“d”是指近端信号。
[0106]
因此,取决于近端信号的二进制频谱的第c个频率点中的“1”是否与远端信号的先前的m个帧的二进制频谱中的一个的第c个频率点中的“1”匹配,bs
s
(c,l)可以为“0”或l。l是用于增加固定点精确度的可选的实施常量。
[0107]
bs
s
(c,l)可以被称作相似性二进制频谱。相似性二进制频谱中的有效区间的数目
可以被称作相似性区间计数器sic(l),并且其可以如下估计:
[0108][0109]
然后,可以由平均单元317来估计该相似性区间计数器的移动平均(步骤s412):
[0110][0111][0112]
其中,β6、β7和ζ6是可以被设置为用于特定实施的适当值的参数。
[0113]
可以通过相似性区间计数器的移动平均对于m个帧连续地低于预定阈值ζ6来确认存在平台aec。因此,相似性区间计数器的输出被传送至判定逻辑部315(步骤s413)。由图4中的步骤s414来表示判定自身。一旦确认了存在平台aec(步骤s415),则可以停用应用aec(步骤s416)。否则,在如果需要启用应用aec之前(步骤s418),检查应用aec的当前操作状态(步骤s417)。然后,处理移动到下一帧(步骤s419)。
[0114]
平台aec的存在不自动地意指远端回波将成功地从麦克风信号中被去除。具体地,平台aec的性能可以根据播放音量而改变:当播放音量低时,平台aec趋向于很好地执行,当播放音量更高时,平台aec趋向于更差地执行。因此,可能有利的是,当播放音量低时停用应用aec,但是当播放音量高时启用应用aec。这可通过监测播放音量来实现,但是一种更普遍有用的方法是在去除远端回波时监测平台aec的成功。实现这一点的一个选择是仅仅连续地运行以上描述的算法,只要其确定远端回波是否已成被功地去除或者不作为检查平台aec的存在的一部分(如图4中的步骤s419表示的)。
[0115]
本文中描述的算法的性能已经在三个不同的声回波区域中进行了测试:远端单向通话、双向通话和近端单向通话区域。还跨诸如以下模式这样的不同的音频模式进行了测试:1)免提或扬声器模式;2)听筒或接收器模式;以及3)耳机模式。使用两种度量来评价算法的性能:检测延迟以及错误警告。“检测延迟”是确认在平台音频接口中存在aec所花费的时间。“错误警告”是平台aec的错误确认。跨四个不同的参考平台(每个是通信装置的特定模型,具有特定操作系统)测试了算法的性能。
[0116]
对于所有测试,参数被初始化为表1中提供的值(参见下面)。所有被测试的通信装置具有平台aec。在所有通信装置中,所提出的算法停用应用aec。图5例示了在双向通话会话期间的相似性指数计数器(sic)。在图5中,近端信号包含不具有任何回波的纯近端单向通话。远端回波已经被平台aec消除。因此,除了其具有非常低的值(<10)的一些地方,sic一致地为零。由于sic值本质上为零,应用aec在m个远端语音帧之后被停用。图6例示了由算法确认在平台音频接口中存在aec所采用的远端语音的平均持续时间。该算法分别针对免提模式、听筒和耳机音频模式采用约1.17秒、0.91秒和0.8秒的远端语音数据来确认在平台中存在aec。
[0117]
还利用不具有平台aec的通信装置对算法进行了测试。图7例示了对于在音频接口中不具有aec的装置针对不同的帧进行测量的sic值。当回波在麦克风输出中非常占主导时,sic明显地非常高。因此,算法不停用应用aec。在耳机模式期间,当回波回损(erl)超过
60db时,由于在麦克风输出中没有观测到回波,因此算法生成错误警告并且确认存在平台aec。如果erl大于60db,则在话筒模式的一些情况下观测到相似的判定。然而,这些错误警告不影响整体语音质量,因为它们仅发生在高erl的情况下,那时不再需要应用aec。
[0118]
在下面的表中给出了以上的等式中提及的不同常量的适当值的示例。这些是发明人在实践中发现的工作良好的值,但是应当理解的是,它们仅是示例并且本发明不限制于使用任何特定的值。
[0119]
阈值值α2ζ13ζ24.6*10
‑7ζ3100ζ5500ζ64*β7β10.0313β20.0156β30.6667*β2β465534*β2β54.6*10
‑8β62.4*10
‑4β76.1*10
‑5l2*10
14
m100n32
[0120]
表1:阈值和常量
[0121]
一般地,以上描述的任何函数、方法、技术或组件可以在使用软件、固件、硬件(例如,固定逻辑电路)或者这些实施的任意组合的模块中实施。术语“模块”、“功能性”、“组件”、“块”和“逻辑”可以在本文中被用于一般地表示软件、固件、硬件或其任意组合。
[0122]
在软件实施的情况下,模块、功能、组件或逻辑表示当在处理器(例如,一个或更多个cpu)上被执行时执行特定任务的程序代码。在一个示例中,所描述的方法可以由被构造有存储在计算机可读介质上的机器可读形式的软件的计算机来执行。计算机可读介质的一个这样的构造是信号承载介质,并且因此被构造为将指令(例如,载波)诸如经由网络传送给计算装置。计算机可读介质还可以被构造为非暂时计算机可读存储介质,并因此不是信号承载介质。计算机可读存储介质的示例包括随机存取存储器(ram)、只读存储器(rom)、光盘、闪速存储器、硬盘存储器、以及可以使用磁、光和其它技术来存储指令或其它数据并且能够由机器访问的其它存储器装置。
[0123]
当在计算机上运行程序时并且计算机程序可以被嵌入到计算机可读介质上的地方,软件可以具有包括用于构造计算机以执行所描述的方法的构成部分的计算机程序代码的计算机程序的形式,或者具有包括适合于执行本文中描述的任一种方法的所有步骤的计算机程序代码装置的计算机程序的形式。程序代码可以被存储在一个或更多个计算机可读
介质中。本文中描述的技术的特征是平台独立的,意味着这些技术可以在具有各种处理器的各种计算机平台上来实施。
[0124]
本领域技术人员还将认识到可以由专用电路、专用集成电路、可编程逻辑阵列、现场可编程门阵列等来执行这些功能、技术或方法的全部或一部分。例如,模块、功能、组件或逻辑可以包括电路形式的硬件。这样的电路可包括制造处理中可获得的晶体管和/或其它硬件元件。这些晶体管和/或其它元件可以被用于形成实施和/或包含通过示例的方式的存储器(诸如寄存器、触发器或锁存器)、逻辑运算器(诸如布尔运算)、数学运算器(诸如加法器、乘法器或移位器)以及连接线的电路或结构。这些元件可以被提供作为定制电路或标准小区库、宏或者其它级别的抽象。这些元件可以按特定布置相互连接。所述模块、功能、组件或逻辑可以包括固定功能的电路以及能够被编程以执行一个或多个功能的电路;可以从固件或软件升级或者控制机制来提供这样的编程。在一个示例中,硬件逻辑具有执行固定功能操作、状态机或处理的电路。
[0125]
还旨在包括“描述”或限定实施以上描述的模块、功能、组件或逻辑的硬件的构造的软件(诸如硬件描述语言(hdl)软件),如被用于设计集成电路,或者被用于构造可编程芯片,以执行期望的功能。也就是说,已经提供了具有在其上被编码的计算机可读程序代码的计算机可读存储介质,该计算机可读程序代码用于生成被构造为执行本文中描述的任一种方法的处理单元,或者用于生成包括本文中描述的任何装置的处理单元。
[0126]
本文中使用术语“处理器”和“计算机”来意指任意装置或其部分,该装置具有使得其能够执行指令的处理能力或者能够执行这些功能或方法的全部或一部分或者其任意组合的专用电路。
[0127]
虽然按特定于结构特征和/或方法动作的语言描述了本主题,但是应当理解的是,所附的权利要求中限定的主题不必限制于以上描述的特定特征或动作。相反,以上描述的特定特征和动作被公开作为实施权利要求的示例形式。将要理解的是,以上描述的权益和优点可以涉及一个示例或者可以涉及多个示例。如本领域技术人员将显而易见的,可以在不失去所追求的效果的情况下对本文中给出的任何范围或值进行扩展或者改变。可以按任何适当的顺序或者适当时同步地执行本文中描述的方法的步骤。
[0128]
申请人据此单独地公开了本文中描述的每个单独的特征以及两个或更多个这样的特征的任意组合,使得能够根据本领域技术人员的公知常识基于作为整体的本说明来执行这样的特征或组合,无论这样的特征或特征组合是否解决了本文中公开的任何问题,并且不对权利要求的范围构成限制。申请人指出本发明的方面可以包括任意这样的个别特征或特征组合。考虑到前面的说明,对本领域技术人员显而易见的是,可以在本发明的范围内进行各种修改。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1