一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

回波检测的制作方法

2021-12-01 02:13:00 来源:中国专利 TAG:

回波检测
本技术为下述申请的分案申请,原申请的国际申请号:pct/us2019/042208原申请的国际申请日:2019年7月17日,原申请的国家申请号:201980051867.0,原申请的发明名称:回波检测。
技术领域
1.本发明涉及回波检测。


背景技术:

2.当音频系统捕获和发送音频时,这些外围设备可能会受到声回波的影响。当音频播放设备(例如扬声器)生成的可听信号以声波的形式传播通过声学环境(例如空气)并且该波的修改版本反射回麦克风时,通常会发生声回波。另一种形式的回波是电回波,其由于音频播放设备(例如扬声器)和麦克风之间的不良电耦合效应而发生。然后,这种回波路径生成的信号作为音频回波发送。由于各种因素而生成,例如外围设备的接近程度或外围设备的质量,可能会生成回波。
3.当回波发生在诸如使用软件应用的实时通信(rtc)的对话内时,回波对用户体验生成负面影响。尽管回波可能归因于非软件问题,例如硬件兼容性或硬件质量,但是用户经常会将该负面体验与用于通信的软件应用(例如rtc应用)相关联。随着人们越来越多地使用受回波影响的系统进行通信,通过实现回波检测系统和方法可以来理解这些通信系统内的音频交互。


技术实现要素:

4.本发明一方面提供了一种方法,该方法包括:在数据处理硬件处接收麦克风音频信号和播放音频信号;以及由所述数据处理硬件确定所述麦克风音频信号的频率表示和所述播放音频信号的频率表示。对于每个频率表示,该方法还包括由数据处理硬件确定基于频率表示的特征。每个特征对应于频率表示的频率对和该对频率之间的时间段。该方法还包括由数据处理硬件确定在基于麦克风音频信号的频率表示的第一特征和基于播放音频信号的频率表示的第二特征之间发生匹配。该方法还包括由数据处理硬件确定第一特征和第二特征之间的延迟值对应于麦克风音频信号内的回波。
5.本发明的实施方式可以包括以下可选特征中的一个或多个。在一些实施方式中,确定延迟值对应于回波包括确定第一特征和第二特征之间的延迟值满足回波阈值,该回波阈值表示预测各自回波的特定延迟值的计数。在另外的实施方式中,频率对对应于频率表示的第一峰值频率和第二峰值频率。在此,第二峰值频率与第一峰值频率相邻并且在与第一峰值频率的阈值频率差内,其中阈值频率差对应于与第一峰值频率的频率容差。频率表示可以包括频谱图。
6.在一些示例中,接收麦克风音频信号包括接收麦克风音频信号作为来自回波降低设备的回波降低信号,所述回波降低设备被配置为降低麦克风音频信号和播放音频信号之间的回波。附加地或替代地,该方法还可以包括由数据处理硬件对接收到的麦克风音频信号和接收到的播放音频信号中的每一个进行降采样。
7.在一些实施方式中,确定麦克风音频信号和播放音频信号的频率表示包括,对于麦克风音频信号和播放音频信号的每个音频信号,将音频信号划分为采样块,并基于每个采样块的频率变换来确定频率表示的系数。在另外的实施方式中,每个特征相对应的频率对满足特征频率阈值。附加地或替代地,接收麦克风音频信号和播放音频信号,确定麦克风音频信号的频率表示和播放音频信号的频率表示,确定用于每个频率表示的特征,确定匹配发生在第一特征和第二特征之间,以及确定第一特征和第二特征之间的延迟值对应于同时实时发生的回波。在一些示例中,该方法还包括由数据处理硬件基于确定第一特征和第二特征之间的延迟值对应于回波来去除接收到的麦克风音频信号和接收到的播放音频信号。
8.本发明另一方面提供了一种方法,所述方法包括在数据处理硬件处实时接收麦克风音频信号和播放音频信号,并且由所述数据处理硬件实时确定来自所述播放音频信号的第一组播放特征,所述第一组播放特征表示来自所述播放音频信号的预定时间块,每个播放特征对应于一对播放音频信号频率和该对播放音频信号频率之间的时间段。播放音频信号频率。该方法还包括由数据处理硬件实时地确定对应于接收到的麦克风音频信号的麦克风特征,每个麦克风特征对应于一对麦克风音频信号频率和该对麦克风音频信号频率之间的时间段。该方法还包括由所述数据处理硬件实时地确定第一组播放特征中的播放特征与第一麦克风特征之间是否发生匹配,并且当未发生匹配时:由所述数据处理硬件实时地确定基于所述播放音频信号的第二组播放音频特征,所述第二组播放特征表示与第一组播放特征相邻的预定时间块;由数据处理硬件实时地确定来自第二组播放特征中的各自的播放特征与第二麦克风特征相匹配;数据处理硬件实时识别被匹配的第二麦克风特征为麦克风音频信号内的回波。
9.这一方面可以包括一个或多个以下可选特征。在一些示例中,接收麦克风音频信号还包括接收麦克风音频信号作为来自回波降低设备(140)的回波降低信号。在这些示例中,回波降低设备被配置为降低麦克风音频信号和播放音频信号之间的回波。
10.本发明另一方面提供了一种系统,所述系统包括数据处理硬件和与所述数据处理硬件通信的存储器硬件。存储器硬件存储指令,当在数据处理硬件上执行该指令时,使得数据处理硬件执行包括接收麦克风音频信号和播放音频信号以及确定麦克风音频信号的频率表示和播放音频信号的频率表示的操作。对于每个频率表示,该方法还包括基于该频率表示来确定特征。每个特征对应于频率表示的频率对和该对频率之间的时间段。该方法还包括确定在基于麦克风音频信号的频率表示的第一特征和基于播放音频信号的频率表示的第二特征之间发生匹配。该方法还包括确定第一特征和第二特征之间的延迟值对应于麦克风音频信号内的回波。
11.这一方面可以包括一个或多个以下可选特征。在一些实施方式中,确定延迟值对应于回波包括确定第一特征和第二特征之间的延迟值满足回波阈值,该回波阈值表示预测各自回波的特定延迟值的计数。在另外的实施方式中,频率对对应于频率表示的第一峰值
频率和第二峰值频率。在此,第二峰值频率与第一峰值频率相邻并且在与第一峰值频率的阈值频率差内,其中阈值频率差对应于与第一峰值频率的频率容差。频率表示可以包括频谱图。
12.在一些示例中,接收麦克风音频信号包括接收麦克风音频信号作为来自回波降低设备的回波降低信号,所述回波降低设备被配置为降低麦克风音频信号和播放音频信号之间的回波。附加地或替代地,所述操作还可以包括对接收到的麦克风音频信号和接收到的播放音频信号中的每一个进行降采样。
13.在一些实施方式中,确定麦克风音频信号和播放音频信号的频率表示包括,对于麦克风音频信号和播放音频信号的每个音频信号,将音频信号划分为采样块,并基于每个采样块的频率变换来确定频率表示的系数。在另外的实施方式中,每个特征相对应的频率对满足特征频率阈值。附加地或替代地,接收麦克风音频信号和播放音频信号,确定麦克风音频信号的频率表示和播放音频信号的频率表示,确定用于每个频率表示的特征,确定匹配发生在第一特征和第二特征之间,以及确定第一特征和第二特征之间的延迟值对应于同时实时发生的回波。在一些示例中,操作还包括基于确定第一特征和第二特征之间的延迟值对应于回波来去除接收到的麦克风音频信号和接收到的播放音频信号。
14.本发明的一个或多个实施方式的细节在附图和以下说明中得以阐述。从说明书和附图以及从权利要求书中可以看出,其它方面、特征和优点将是显而易见的。
附图说明
15.图1是回波检测系统的示例性示意图。
16.图2a和2b是在回波检测系统内操作的回波检测器的示例性示意图。
17.图3a

3d是在回波检测系统内操作的回波检测器的特征提取器的示例性示意图。
18.图4和5是在回波检测系统内检测回波的示例方法的流程图。
19.图6是可用于实现本文所述的系统和方法的计算设备的示例性示意图。
20.在各个附图中,相同的附图标记表示相同的元件。
具体实施方式
21.图1是回波检测系统100的示例。回波检测系统100通常包括信号源110,音频播放设备120,麦克风130和回波检测器200。回波检测系统100是用户10从音频播放设备120(例如扬声器)接收播放音频122并且麦克风130接收播放音频122的修改版本作为回波的环境。麦克风130被配置为捕获由用户10生成的语音12或其它可听声音,这可能导致捕获回波。例如,在使用实时通信(rtc)应用的第一用户10和第二用户之间的对话中,与第一用户10对话的第二用户随后可以接收包含回波和捕获的语音12的音频,并且可以向第一用户10提供包括来自第二用户的系统(例如信号源110)的回波的播放音频122。在这种情况下,任一用户(例如第一用户10或第二用户)接收到的回波都会对用户体验生成负面影响。进而,用户10可以将该负面体验与,例如,rtc应用相关联,即使回波可能由诸如硬件(例如扬声器和麦克风)的其它方式引起。为了对抗这些负面影响,回波检测系统100包括回波检测器200以理解在回波检测系统100内出现的回波。尽管通常从声回波的角度描述回波检测系统100,例如使用音频播放设备120和麦克风130,但是回波检测系统100同样可适用于确定由音频系统
内的电耦合效应生成的电回波(例如线回波)。
22.为了简化,图1描述了涉及用户10的对话的一侧。在此,信号源110通常可以指能够提供播放音频信号112的任何源。例如,信号源110可以是第二麦克风或与第二麦克风130相关联的处理器,该第二麦克风捕获来自与第一用户10对话的第二用户的语音。
23.音频播放设备120被配置为将电信号转换为可听声音(即音频)的设备。例如,图1示出了作为扬声器的音频播放设备120。在此,播放音频信号112是由音频播放设备120转换成用于用户10和/或用户环境的播放音频122的电信号。
24.麦克风130通常是指将可听声音转换为电信号的设备。在图1的回波检测系统100中,麦克风130将来自用户10和/或音频播放设备120的音频声音转换为麦克风音频信号132。来自用户10的音频声音可以是语音12或来自用户10的其它可听声音,而来自音频播放设备120的音频声音是指播放音频122的至少一部分。
25.在一些示例中,回波检测系统100还包括回波降低器140。回波降低器140是被配置为在回波检测器200之前降低(例如通过抑制)或消除回波的回波降低设备。回波降低器140基于信号输入(例如麦克风音频信号132)生成降低信号142作为输出。降低信号142指的是回波降低器140的信号输出,而不管回波降低器140是否实际上修改了输入信号(例如麦克风音频信号132)。例如,在某些情况下,回波降低器140可以确定不修改麦克风音频信号132。尽管回波降低器140可能试图消除或去除回波,但是这种回波消除过程通常是不完善的,并且导致一定程度的残余回波。在这些例子中,回波检测器200检测从回波降低器140输出的降低信号142中的残余回波。换句话说,回波检测器200可以识别或监测回波降低器140的有效性。在此,由回波检测器200在回波降低器140之后检测到的残余回波可以为回波降低器140或管理回波降低器140的实体提供反馈。例如,回波降低器140或管理回波降低器140的实体接收来自回波检测器200的反馈,并更新回波降低器140的参数,以优化或进一步最小化来自回波降低器140的降低信号142内剩余的残余回波量。附加地或替代地,回波降低器140可以基于来自回波检测器200的反馈来实施模型(例如,机器学习模型或神经网络模型),以达到例如在回波检测系统100内实时地最小化降低信号142中的残余回波。
26.在一些示例中,回波检测器200向用户10提供关于所检测到的回波(例如残余回波)的反馈。回波检测器200可以向用户10提供关于如何减少回波的建议或提示。例如,回波检测器200可以向用户10推荐使用头戴式耳机,或者向用户10推荐特定硬件(例如,生成较少回波的某种类型的麦克风或扬声器)。
27.图1的示例示出了具有虚线轮廓的回波降低器140,以表示回波检测器200可以在回波降低器140存在或不存在的情况下检测回波检测系统100中的回波。回波降低器140可以是用于通过去除或降低回波来改善音频信号质量的硬件和/或软件。回波抑制器140的一些示例是用于声回波抑制(aes),声回波消除(aec)和/或线回波消除(lec)的设备。在一些配置中,当回波检测器200检测到来自回波降低器140的残余回波时,回波检测器200被配置为控制或推荐对回波降低器140的控制改变。例如,回波检测器200基于从回波降低器140检测到的回波,从硬件回波降低器140切换或推荐切换到软件回波降低器140(或反之亦然)。
28.对回波降低器140的定位旨在防止回波的生成。在一些配置中,回波降低器140位于麦克风130处或与麦克风130相邻,以与麦克风130共同运作,从而生成作为麦克风音频信号132的降低信号142(例如回波抑制信号或回波消除信号)。在其它配置中(如图1所示),回
波降低器140位于麦克风130的下游,并接收从麦克风130输出的麦克风音频信号132作为输入,并生成降低信号142。因此,回波降低器140可以与麦克风130分开地或者结合地实现。
29.图2a和2b是回波检测器200的示例。回波检测器200被配置为将来自信号源110的播放音频信号112与在麦克风130处捕获的音频的音频信号(例如,麦克风音频信号132或降低信号142)进行比较。基于该比较,回波检测器200可以确定残余回波的存在。通过确定残余回波,回波检测器200可以收集统计信息以评估回波检测系统100内的音频组件的性能。例如,回波检测器200评估扬声器

麦克风组合的兼容性(例如通过回波降低器140的性能)。在其它示例中,由回波检测器200收集的统计信息评估对应于回波降低器140的硬件和/或软件的算法。作为示例,回波检测器200可以评估用于回波抑制器140的新的或被更新的软件/固件的有效性(例如通过残余回波量)。换句话说,随着rtc应用程序的演变或发展,回波检测器200可以用作各自rtc应用程序的开发者、管理员或用户10的反馈系统。
30.在这些例子中,回波检测器200包括特征提取器300、匹配器210和分类器220。回波检测器200被配置为接收音频信号,例如麦克风音频信号132、播放音频信号112和/或降低信号142,并经由匹配器210确定在接收到的音频信号之间是否出现匹配212。回波检测器200通过使用特征提取器300生成的特征302,302a1–
n
(其中n是特征的数量)来确定匹配212是否存在。基于所生成的特征302,302a1–
n
,匹配器210确定匹配212是否发生在音频信号(例如,麦克风音频信号132或降低信号142)的第一特征302,302a与播放音频信号112的第二特征302,302b之间。利用匹配212,分类器220被配置为确定匹配212对应的音频信号是回波的可能性202。换句话说,麦克风音频信号132(或降低音频信号142)的第一特征302,302a与播放音频信号112的第二特征302,302b之间的匹配212表明由麦克风132接收到的播放音频信号112的一部分可能是回波。在一些示例中,当匹配212出现时,分类器220确定第一特征302a和第二特征302b之间的延迟值222,以帮助确定匹配212对应的音频信号是回波的可能性202。在这些示例中,当没有匹配212出现时,分类器220不采取行动来确定延迟值222。例如,单个匹配212可能不足以推断出存在回波,延迟值222使得分类器220能够利用各自的延迟值222来识别一个以上的匹配212,并且推断出存在回波的增加的可能性202。延迟值还可以帮助区分由回波(例如,呈现相同的延迟值222)引起的匹配212的或偶然的匹配212(例如,延迟值222中变化的匹配)。在一些示例中,延迟值222还为回波检测系统100提供统计分析,使得用户10和/或回波检测系统100的管理者可以校正或修改回波检测系统100(例如,经由回波降低器140)。在回波检测器200的简化版本中,回波检测器200不包括分类器220,使得匹配器210的匹配212指示回波而无需进一步分析。
31.进一步参考图2a和2b,回波检测器200包括第一特征提取器300,300a和第二特征提取器300,300b。第一特征提取器300a接收播放音频信号112并生成对应于播放音频信号112的特征302a1‑
n
(也称为播放特征302a1‑
n
),而第二特征提取器300b接收麦克风音频信号132(或降低信号142)并生成对应于麦克风音频信号132和/或降低信号142的特征302b1–
n
(也称为麦克风特征302b1–
n
)。如虚线所示,第一提取器300a和第二提取器300b可以是单个特征提取器300。在其它配置中,回波检测器200包括任意数量的特征提取器300以同时处理特征302,以便为回波检测系统100实时地提供回波检测。
32.图2b与图2a类似,除了分类器220还包括回波阈值224。在此,分类器220另外确定第一特征302a和第二特征302b之间的延迟值222是否满足回波值阈值224。在这种意义上,
回波阈值224预测各自的回波,使得回波阈值224在多个匹配212呈现相同或相似的延迟值222时指示回波。例如,回波阈值224表示延迟值222的计数,使得该计数是在可靠地预测匹配212的延迟值222对应于各自回波之前延迟值222可能出现的最小次数。换句话说,当延迟值222的计数满足(例如大于等于)回波阈值224时,该计数满足延迟值222以预测各自的回波可以出现的最小次数。在一些实施方式中,回波阈值224是对应于最频繁延迟值的多个最近匹配特征302。在此,最频繁的延迟值可以由跟踪匹配212对应的延迟值222的延迟直方图226来指示。在一些配置中,回波阈值224被预先确定以证明所设计的置信区间。在其它配置中,回波阈值224是动态的,以跟踪延迟值222或延迟直方图226。
33.图2b的示例示出了回波检测系统100,该系统具有可接受的时间延迟量,例如系统100的组件之间的通信滞后。当系统100具有可接受的时间延迟量时,回波阈值224使系统100能够防止回波的错误指示。例如,当延迟值222不满足回波阈值224时,回波检测器200不将匹配212指示为回波。因此,分类器220可以要求延迟值222在回波检测器200指示回波之前满足回波阈值224。在一些示例中,回波阈值224可以基于历史趋势或标识与回波的存在相关联的延迟值222的数据(例如,诸如机器学习模型或神经网络模型的预测模型)。
34.附加地或替代地,匹配器210包括特征数据库214。特征数据库214存储由特征提取器300为匹配器210生成的特征302,3021‑
n
。利用特征数据库214,由特征提取器300(例如来自播放音频信号112)生成的存储特征302,3021‑
n
可以经由匹配器210评估匹配212。在一些示例中,特征数据库214仅存储与播放音频信号112相对应的有限数量的特征3021‑
n
(例如,播放音频信号112的最近历史),以解决系统100内的延迟(例如,如图2a和2b中到达特征数据库214的虚线箭头所示)。即,回波检测器200可以在音频播放设备120生成来自播放音频信号112的播放音频122之前接收播放音频信号112。当这种情况发生时,特征数据库214可以被配置为存储来自播放音频信号112的足够数量的特征3021‑
n
,以实时地(例如,当麦克风130生成麦克风音频信号132时)比较麦克风音频信号132(或降低信号142)。例如,如果在特征提取器300生成播放音频信号112的特征302a和特征提取器300生成麦克风音频信号132(或降低信号142)的特征302b之间存在100毫秒的延迟,则特征数据库214存储播放音频信号112的特征302a1‑
n
的至少两秒。尽管回波检测器200可以包括特征数据库214,但是特征数据库214不需要访问互联网(例如,用作服务器数据库)。因此,回波检测器200不需要连接互联网来运作,从而可以在没有互联网连接的情况下工作。
35.在其它示例中,特征数据库214被配置为仅存储与播放音频信号112的最近特征相对应的有限数量的特征3021‑
n
。换句话说,特征数据库214被配置为最近的特征集合,其中最近是指比早于最大延迟的特征会被丢弃(例如,以先进先出方式)。在一些实施方式中,回波检测器200去除匹配和/或不匹配212的特征302,以最小化或去除在回波检测器200处的存储要求。
36.图3a

3d是特征提取器300的示例。特征提取器300被配置为接收播放音频信号112,麦克风音频信号132或降低信号142(即统称为"音频信号"),并生成与接收到的音频信号相对应的特征302。特征提取器300包括降采样器310,信号处理器320,峰值检测器330和特征生成器340。
37.降采样器310被配置为通过降低音频信号的采样速率或采样大小来修改接收到的音频信号。换句话说,降采样器310从接收到的音频信号生成降采样信号312。播放音频信号
112、麦克风音频信号132和降低信号142中的每一个都可以由降采样器310进行降采样。降采样经常减少与音频信号相关联的采样量,以适应与带宽或音频格式大小相关的限制。在此,例如,降采样器310将接收到的音频信号降低到8khz。可选地,当特征提取器300不受采样大小和/或采样率的限制时,特征提取器300可以绕过或者在没有降采样器310的情况下运作。在其它示例中,降采样器310允许特征提取器300为特征302,3021‑
n
保持恒定数量。
38.如图3b所示,信号处理器320接收降采样信号312,并根据信号处理器例程322将降采样信号312处理成频率表示324。频率表示324是与音频信号(例如降采样信号312)相关联的频谱的表示。频率表示324的一些示例是频谱图、声谱图、声纹图、声谱图、瀑布图等。尽管图3b示出了用于生成音频信号的频率表示324的例程322,但是频率表示324(例如频谱图)可以通过其它方法和/或系统(例如光谱仪或一系列带通滤波器)来生成。
39.如图3b所示,信号处理器320通过一系列步骤322a

d执行信号处理器例程322以生成频率表示324。在步骤322a,信号处理器320将接收到的音频信号112、132、142、312分成一定数量的采样块。例如,块的数量通常是2的幂(例如256个采样)。在一些配置中,块具有一定百分比的重叠(例如50%重叠),使得每个块包括先前块的重叠百分比。在步骤322b,将每个块中的采样都会乘以窗口函数。例如,诸如汉宁或汉明窗函数的窗函数允许频率变换在频率范围上产生非零值。在每个块乘以窗函数的情况下,步骤322c会变换加窗的块采样(例如通过快速傅立叶变换(fft)、离散傅立叶变换(dft)、离散余弦变换(dct)、小波变换等)。在此,变换产生用于块采样的一组复数。在步骤322d,信号处理器320生成频率表示324的系数326。在一些示例中,信号处理器320通过步骤322c处的变换生成的复数集合的大小的对数函数来生成系数326。信号处理器320被配置为针对接收到的音频信号112、132、142、312对应的的每个采样块重复信号处理方法步骤322a

d。附加地或替代地,信号处理器320被配置为当特征提取器300接收音频信号112、132、142、312时实时地生成频率表示324。
40.如图3c所示,特征提取器300的峰值检测器330将峰值p标识为来自信号处理器320的频率表示324中的输出332。在一些示例中,峰值检测器330基于频率表示324的系数326来识别峰值p。在一些配置中,峰值检测器330包括由信号处理器320生成的每个频率仓的阈值334,以形成频率表示324。例如,峰值检测器330包括用于存储每个频率仓对应的阈值334的阈值数据库。当峰值检测器330遇到频率表示324内的系数326并且其满足系数326对应的频率仓的各自阈值334时,峰值检测器330将遇到的系数326识别为频率表示324内的峰值p。例如,图3c示出了峰值检测器330,该峰值检测器330从与频率表示324的块相关的系数326中识别出峰值p1、p2、p3……
p
n

41.在一些实施方式中,峰值检测器330迭代地操作。换句话说,当峰值检测器330识别峰值p时,与所识别的峰值p相关的频率仓相对应的阈值334会增加。在一些示例中,当峰值检测器330识别峰值p时,附近频率仓的阈值334也会增加。这种增加阈值334的方法可以帮助确定峰值检测器330准确地识别峰值p。另外或可选地,当峰值检测器330处理新的块时,先前增加的阈值334可以减少或返回到原始阈值334。
42.在一些实施方式中,峰值检测器330可以在时间上向前和向后扫描块的频率表示324。当峰值检测器330向前或向后扫描时,峰值检测器330可以将块添加到音频信号作为对峰值检测器330的进行缓冲的手段。
43.参照图3d,特征提取器300的特征生成器340生成特征302。在此,特征生成器340基
于由峰值检测器330从频率表示324识别出的峰值p来生成特征302。每个特征302可以对应于频率表示324的多个频率f以及与多个频率f相关联的时间段t。在此,为了便于解释,每个特征302对应于频率表示324的频率对f1、f2以及该对频率f1、f2之间的时间段t。例如,频率对f1、f2对应于频率表示324的第一峰值频率p1,f1和第二峰值频率p2,f2。为了生成特征302,特征生成器340试图识别在时间和频率上接近的一对峰值p1、p2。例如,频率表示324的第一峰值频率p1,f1和第二峰值频率p2,f2可以是彼此在阈值频率差内的相邻峰值。
44.在一些实施方式中,特征生成器340会识别参考频率342(例如频率对f1、f2中的第一频率f1)和目标区域344。目标区域344表示与参考频率342的阈值频率差。换句话说,目标区域344将构成特征302的频率对f1、f2的第二频率f2限制在参考频率342的频率容差内。为了约束频率对f1、f2中的第二频率f2,目标区域344跨越时间间隔以及频率间隔。在一些示例中,目标区域344被回波检测器200的开发者或管理员配置为设计变量。在其它示例中,特征生成器340基于频率表示324的系数326来确定目标区域344。
45.在一些实施方式中,目标区域344使特征生成器340能够生成具有三个值的特征302:参考频率342、目标区域344内的第二频率f2、以及参考频率342和第二频率f2之间的时间差t。在一些实施方式中,这三个值可以用有限的比特数来描述。例如,频率342、f2每个使用7个比特,而时间差t使用5个比特。因此,在该示例中,对应的特征302可以由单个32位整数来表示。
46.在一些示例中,目标区域344包括太多的峰p1–
n
。在这些示例中,目标区域344还包括附加参数,该附加参数标识可能在给定目标区域344内生成的多个特征302的最大值。例如,附加参数标识特征生成器340仅针对前n个最高峰值生成特征302,其中峰值p的高度对应于特定时间的特定频率范围内的能量。为了说明,如果n=2,则在图3d中,特征生成器340将基于参考频率342(例如,参考频率的高度)和第三峰值p3生成第一特征302,以及基于参考频率342和第三峰值p1生成第二特征302。在该示例中,特征生成器340将不为第二峰值p2生成第三特征302,因为n=2并且第二峰值p2小于第一峰值p1和第三峰值p3。
47.回到图2a和2b,匹配器210从特征提取器300接收特征302。在一些实施方式中,每个特征302对应于作为表达频率对f1、f2和频率对之间的时间差t的整数比特。当特征302是整数时,匹配器210比较来自麦克风音频信号132的特征302b(即麦克风特征302b)和来自播放音频信号112的特征302a(即播放特征302a)的整数是否相等。在一些示例中,特征数据库214存储一组播放特征302a1–
n
,使得当麦克风130捕获音频时,麦克风特征302b可以由匹配器210实时地与该组播放特征302a1–
n
进行比较。在此,一组播放特征302a1–
n
可以跨越预定的时间块(例如两秒)。通过与一组播放特征302a1–
n
进行比较,即使当系统100可能遇到系统100的组件(例如,扬声器120和麦克风130)之间的通信延迟或滞后时,回波检测器200仍可识别匹配212。在这些示例中,如果在第一组播放特征302a1–
n
内没有出现匹配212,则从特征数据库214生成和/或检索第二组播放特征302a1–
n
,以与第二麦克风特征302b进行比较。在一些配置中,匹配器210使用哈希映射、环形缓冲器或两者的某种组合来有效地比较一组播放特征302a1–
n
与麦克风特征302b。
48.图2a进一步示出了一个示例,其中每当匹配器210识别出播放音频信号112的某个部分与麦克风音频信号132之间的匹配212时,分类器220更新延迟直方图226。一般而言,直方图是仓或区间内变量频率的图或表示。利用延迟直方图226,分类器220可以输入与匹配
麦克风特征302b和播放特征302a之间的时间差相对应的延迟值222。延迟直方图226可以允许回波检测器200识别时间上一致的回波。例如,延迟直方图226可允许回波检测器200使用启发式或数据驱动方法(例如机器学习)来识别时间上一致的回波。在一些配置中,对于每个回波检测器200未能检测到回波的时间间隔,分类器220逐渐减小延迟直方图226的每个仓。由于回波检测器200可以向系统100和/或回波降低器140提供反馈,所以延迟直方图226可以随时间测量该反馈的有效性。当在给定时间间隔内没有识别到回波时,通过逐渐减小延迟直方图226的每个仓,延迟直方图226能够表示随时间的流逝,回波降低的有效性日益增长(例如,或相反地,增长的无效性)。逐渐减小每个仓的时间间隔可以是回波检测器200的设计参数或是由回波检测器200的管理员或用户10控制的可调参数。
49.可以使用回波检测器200的不同配置,其中特征提取器300、匹配器210和分类器220的功能可以被组合、进一步分离、分布或互换。此外,回波检测器200可以在单个设备中实现或者分布在多个设备上。
50.图4是用于确定回波的方法400的示例的流程图。流程图在操作402通过接收麦克风音频信号132和播放音频信号112开始。在操作404,方法400包括确定麦克风音频信号132的频率表示324和播放音频信号112的频率表示324。在操作406,方法400还包括,对于每个频率表示324,确定基于频率表示324的特征302。每个特征302对应于频率表示324的频率对f1、f2以及该对频率f1、f2之间的时间段t。在操作408,方法400还包括,在基于麦克风音频信号132的频率表示324的第一特征302b和基于播放音频信号112的频率表示324的第二特征302a之间确定匹配212的发生。在操作410,方法400还包括确定第一特征302b和第二特征302a之间的延迟值222对应于麦克风音频信号132内的回波。例如,方法400可以确定有关延迟直方图226的延迟值222。
51.图5是用于基于一组特征302实时确定回波的示例方法500的流程图。在操作502,方法500包括接收麦克风音频信号132和播放音频信号112。在操作502,方法500还包括确定来自播放音频信号112的第一组播放特征302a1–
n
。在此,第一组播放特征302a1–
n
表示来自播放音频信号112的预定时间块。每个播放特征302a对应于一对播放音频信号频率f1、f2和该对播放音频信号频率f1、f2之间的时间段t。在操作506,方法500还包括确定对应于接收到的麦克风音频信号132的麦克风特征302b1–
n
。每个麦克风特征302b对应于一对麦克风音频信号频率f1、f2和该对麦克风音频信号频率f1、f2之间的时间段t。
52.在操作508,方法500包括确定在第一组播放特征302a1–
n
的播放特征302a与第一麦克风特征302b之间是否发生匹配212。在操作510,当没有匹配212发生时,方法500执行以下功能。方法500基于播放音频信号112来确定第二组播放音频特征302a1–
n
。在这种情况下,第二组播放特征302a1–
n
表示与来自播放音频信号112的第一组播放特征302a1–
n
相邻的预定时间块。方法500确定来自第二组播放特征302a1–
n
的各自播放特征302a与第二麦克风特征302b匹配。方法500还识别匹配的第二麦克风特征302b是麦克风音频信号132内的回波。
53.图6是可用于实现本文件中描述的系统和方法的示例计算设备600的示意图。例如,计算机设备600可以用于实现回波检测器200和/或回波降低器140以及与回波检测器200和/或回波降低器140相关的方法。计算设备600旨在表示各种形式的数字计算机,例如移动电话(例如智能电话)、膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、大型机和其它适当的计算机。在此所示的组件、它们的连接和关系、以及它们的
功能仅仅是示例性的,而不是要限制在本文件中描述和/或要求保护的本发明的实施方式。
54.计算设备600包括处理器610(例如数据处理硬件)、存储器620、存储设备630、连接到存储器620和高速扩展端口650的高速接口/控制器640、以及连接到低速总线670和存储设备630的低速接口/控制器660。组件610、620、630、640、650和660中的每一个都使用各种总线互连,并且可以适当地安装在通用母板上或视情况以其它方式安装。处理器610可以处理用于在计算设备600内执行的指令,包括存储在存储器620中或存储设备630上的指令,以在外部输入/输出设备(例如耦合到高速接口640的显示器680)上显示图形用户界面(gui)的图形信息。在其它实施方式中,可以适当地使用多个处理器和/或多个总线以及多个存储器和存储器类型。此外,可以连接多个计算设备600,其中每个设备都提供部分必要的操作(例如,一组刀片服务器或多处理器系统作为服务器库)。
55.存储器620(例如存储器硬件)在计算设备600内非暂时地存储信息。存储器620可以是计算机可读介质、易失性存储器单元或非易失性存储器单元。非暂时性存储器620可以是用于临时或永久地存储由计算设备600使用的程序(例如指令序列)或数据(例如程序状态信息)的物理设备。非易失性存储器的示例包括(但不限于)快闪存储器和只读存储器(rom)/可编程只读存储器(prom)/可擦除可编程只读存储器(eprom)/电子可擦除可编程只读存储器(eeprom)(例如引导程序,通常用于固件)。易失性存储器的示例包括但不限于随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、相变存储器(pcm)以及磁盘或磁带。
56.存储设备630能够为计算设备600提供大容量存储。在一些实施方式中,存储设备630是计算机可读介质。在各种不同的实施方式中,存储设备630可以是软盘设备、硬盘设备、光盘设备、磁带设备、闪存或其它类似的固态存储器设备、或设备阵列,包括存储区域网络中或其它配置中的设备。在另外的实施方式中,计算机程序产品被有形地体现在信息载体中。所述计算机程序产品包含在被执行时执行一个或多个方法的指令,例如上述的那些方法。信息载体是计算机或机器可读介质,例如存储器620,存储设备630或处理器610上的存储器。
57.高速控制器640管理计算设备600的带宽密集型操作,而低速控制器660管理较低的带宽密集型操作。这种职责的分配仅是示例性的。在一些实施方式中,高速控制器640耦合到存储器620、显示器680(例如通过图形处理器或加速器)以及高速扩展端口650,高速扩展端口650可以接受各种扩展卡(未示出)。在一些实施方式中,低速控制器660耦合到存储设备630和低速扩展端口690。可以包括各种通信端口(例如usb、蓝牙、以太网、无线以太网)的低速扩展端口690可以例如通过网络适配器耦合到一个或多个输入/输出设备,例如键盘、定点设备、扫描仪或联网设备,例如交换机或路由器。
58.计算设备600可以以多种不同的形式实现,如图所示。例如,它可以被实现为标准服务器600a或者在一组这样的服务器600a中多次实现、可以被实现为膝上型计算机600b,或者实现为机架服务器系统600c的一部分。
59.在此描述的系统和技术的各种实施方式可以在数码电子和/或光学电路、集成电路、专门设计的asic(专用集成电路)、计算机硬件、固件、软件、和/或其组合中实现。这些各种各样的实施方式可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实施方式,所述可编程系统包括至少一个可编程处理器,所述可编程处理器可以是专
用的或通用的,被耦合以从/向存储系统、至少一个输入设备和至少一个输出设备接收/发送数据和指令。
60.这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以用高级过程和/或面向对象的编程语言和/或用汇编/机器语言来实现。如本文所用,术语"机器可读介质"和"计算机可读介质"是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、非暂时性计算机可读介质、装置和/或设备(例如磁盘、光盘、存储器、可编程逻辑设备(pld)),包括接收机器指令作为机器可读信号的机器可读介质。术语"机器可读信号"是指用于向可编程处理器提供机器指令和/或数据的任何信号。
61.本说明书中描述的过程和逻辑流程可以由一个或多个可编程处理器来执行,这些可编程处理器执行一个或多个计算机程序,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路执行,例如fpga(现场可编程门阵列)或asic(专用集成电路)。适于执行计算机程序的处理器包括例如通用微处理器和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器和/或随机存取存储器处接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括一个或多个大容量存储设备,或被可操作地耦合,以从/向一个或多个大容量存储设备接收/传送数据,所述大容量存储设备用于存储数据,例如磁盘、磁光盘或光盘。然而,计算机不必具有这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如eprom、eeprom和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;cd rom和dvd

rom盘。处理器和存储器可以由专用逻辑电路补充或结合在专用逻辑电路中。
62.为了提供与用户的交互,本发明的一个或多个方面可以在具有显示设备的计算机上实现,所述显示设备例如crt(阴极射线管)、lcd(液晶显示器)显示器,或者用于向用户显示信息的触摸屏,并且可选地还具有键盘和定点设备,例如鼠标或轨迹球,通过所述键盘和定点设备用户可以向计算机提供输入。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应从网页浏览器接收到的请求,向用户的客户端设备上的网页浏览器发送网页。
63.本文已经描述了多种实施方式。然而,应当理解,在不脱离本发明的精神和范围的情况下,可以进行各种各样的修改。因此,其它实施方式也在所附权利要求的范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献