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

用于以声学回声消除器去除非线性回声的技术的制作方法

2022-05-08 09:58:36 来源:中国专利 TAG:

用于以声学回声消除器去除非线性回声的技术
1.相关申请的交叉引用
2.本技术是于2019年9月27日提交的美国专利申请第16/585,750号的国际申请,其全部内容通过引用整体并入本文。
技术领域
3.本公开内容涉及音频处理系统中的信号处理。


背景技术:

4.在音频处理系统例如智能扬声器、免提电话机和语音识别系统中,大功率扬声器的使用正在快速增长。在这样的音频处理系统中,在回放和/或语音交互期间通常在扬声器与麦克风之间发生声学耦合。例如,由扬声器播放的音频信号被系统中的麦克风捕获。音频信号在其在受限空间(例如,房间、车辆等内部)中传播时通常产生声学回声,但是这样的声学回声是不想要的,因为它可能会主导目标语音信号。
5.为了消除不想要的声学回声,音频处理系统通常使用具有线性滤波器的声学回声消除器(aec)来估计房间冲激响应(rir)传递函数,该房间冲激响应(rir)传递函数表征声学信号在受限空间中的传播。然而,由这样的aec中的线性滤波器使用的估计模型不适于对所捕获的声学信号中的任何非线性进行建模,因为这样的非线性具有非均匀起源、可能随时间改变并且在计算上非常昂贵且难以估计。不能适当地消除这样的非线性会导致目标语音信号中的残余的非线性回声,这可能严重限制处理目标信号的任何系统(例如,诸如语音识别系统)的性能。
附图说明
6.图1a至图1c示出了根据一些实施方式的用于非线性声学回声消除的示例系统。
7.图2a至图2c示出了根据一些实施方式的用于非线性声学回声消除的示例方法的流程图。
8.图3a至图3b示出了反映所描述的用于非线性声学回声消除的技术的模拟研究的图。
9.图4示出了根据一些实施方式的示例音频处理装置的示意图。
10.图5示出了根据一些实施方式的示例主机装置的示意图。
具体实施方式
11.以下描述阐述了许多具体细节例如具体系统、部件、方法等的示例,以便提供对所描述的用于非线性声学回声消除的技术的各种实施方式的良好理解。然而,对于本领域技术人员将明显的是,可以在没有这些具体细节的情况下实践至少一些实施方式。在其他实例中,为了避免使本文所描述的主题不必要地模糊,未详细描述而是以简单的框图格式呈现公知的部件、元件或方法。因此,在下文中阐述的具体细节仅是示例性的。特定实现方式
可以不同于这些示例性细节,并且仍然被认为在本发明的精神和范围内。
12.在说明书中对“实施方式”、“一个实施方式”、“示例实施方式”、“一些实施方式”和“各种实施方式”的引用意指结合实施方式描述的特定特征、结构、步骤、操作或特性包括在本发明的至少一个实施方式中。此外,在说明书中各个地方出现的短语“实施方式”、“一个实施方式”、“示例实施方式”、“一些实施方式”和“各种实施方式”不一定都指的是相同的实施方式。对“消除(cancel)”、“消除(cancelling)”及其其他动词派生词的引用意指从另一信号(例如,诸如输出信号)中完全或至少基本上去除不想要的信号(例如,诸如线性或非线性回声)。
13.本描述包括对附图的参考,这些附图形成具体实施方式的一部分。附图示出了根据示例性实施方式的图示。以足够详细的方式对在本文中也可以被称为“示例”的这些实施方式进行描述,以使得本领域技术人员能够实践本文所描述的所要求保护的主题的实施方式。在不脱离所要求保护的主题的范围和精神的情况下,可以对实施方式进行组合、可以利用其他实施方式或者可以进行结构改变、逻辑改变和电气改变。应当理解,本文所描述的实施方式不旨在限制主题的范围,而是使得本领域技术人员能够实践、制造和/或使用本主题。
14.本文描述了用于在提供音频处理的装置中进行非线性回声消除的技术的各种实施方式。这样的装置的示例包括但不限于个人计算机(例如,膝上型计算机、笔记本计算机等)、移动计算装置(例如,平板电脑、平板计算机等)、电话会议装置(例如,扬声器电话等)、移动通信装置(例如,智能电话等)、智能扬声器、被配置用于音频处理的印刷电路板(pcb)模块、片上系统(soc)半导体装置和多芯片半导体封装、物联网(iot)无线装置、以及用于音频处理的其他类似的电子装置、计算装置和片上装置。
15.通常,回声是通过音频系统中的部件的传递函数对声学和/或音频信号进行变换而产生的信号。这样的回声通常是不想要的,因为它可能主导目标语音信号。为了去除不想要的回声,前端音频处理系统通常使用声学回声消除器(aec)在目标音频信号被发送至后端系统之前从该目标音频信号中去除回声信号。可以在云上或本地计算机上运行的后端系统需要其接收的音频信号尽可能干净。例如,耦接至前端系统的麦克风接收声学(声音)波并将其转换成模拟音频信号,然后将该模拟音频信号数字化。然而,所接收的声波可能已经被附近的装置(例如,打开的电视等)或来自扬声器的声学回声干扰。例如,一个人(其语音需要被识别)可能在扬声器正在回放音乐或其他多媒体内容的同时正在讲话,并且这样的回放也作为回声与讲话者的语音一起被麦克风捕获。
16.由于音频系统部件的传递函数可以是线性和/或非线性的,因此音频系统通常生成线性回声和非线性回声两者。线性回声是通过线性传递函数对声学/音频信号进行变换而产生的信号,该线性传递函数的输出是其输入信号的线性组合。另一方面,非线性(nl)回声是通过非线性传递函数对声学/音频信号进行变换而产生的信号,该非线性传递函数的输出不是其输入信号的线性组合。非线性传递函数不满足线性的条件中的一个或更多个条件,这些条件要求输出电平与输入电平成比例(均匀性),并且要求由两个或更多个输入信号引起的响应是将已经由每个输入信号单独引起的响应的总和(相加性)。因此,典型的音频系统中的回声是通过系统中的部件的线性传递函数和非线性传递函数对声学/音频信号进行变换而产生的信号,所述线性传递函数和非线性传递函数包括例如系统的扬声器、功
率放大器和麦克风的传递函数以及表征声学信号在受限空间和/或系统的物理环境中的传播的rir传递函数。
17.典型的音频系统中的aec仅能访问线性参考信号,因此它使用从目标音频信号中去除线性回声的线性滤波器。然而,由这样的aec中的线性滤波器使用的估计模型不适于对所捕获的声学信号中的任何非线性进行建模,因为这样的非线性具有非均匀起源、可能随时间改变并且在计算上非常昂贵且难以估计。因此,在具有线性aec的典型的音频系统中,由系统生成的任何非线性回声都保留在目标信号中。
18.例如,典型的音频处理系统可以有具有不同的非线性传递函数的各种非线性,并且因此这样的系统中的组合的非线性回声可以具有多个起源。系统中的有源部件(例如,晶体管、放大器、电源等)的传递函数和无源部件(例如,扬声器部件诸如锥体和膜片等)的传递函数可能具有非线性,所述非线性可能是信号失真的来源。在由系统中的麦克风拾取时,这样的非线性信号失真可能是不想要的非线性回声的原因。与线性失真(其是由线性传递函数导致的预期失真)相比,非线性失真是非预期的,因为它们(至少部分地)是由扬声器的当前物理状况——例如,扬声器部件的疲劳、扬声器组件的磨损以及扬声器锥体的状况——导致的。扬声器的物理状况必然会随着时间而恶化,这进一步改变由该扬声器的部件生成的非线性失真。此外,在扬声器的声音极限处或超过扬声器的声音极限操作扬声器也可能由于扬声器组件和/或其部件的不可预测的振动而导致非线性失真。
19.另外,aec处理在计算上非常昂贵。该问题在具有有限计算能力的系统中更加严重,所述系统例如嵌入式系统(例如,soc)、为后端自动语音识别系统提供前端处理的iot装置(例如,诸如amazon alexa、google home等)、以及不具有进行大量计算的能力的边缘装置(例如,到基于iot云的服务中的入口点)。此外,在某些操作环境中,回声消除在需要实时地识别和响应语音命令的智能扬声器系统中实现。因此,在这样的操作环境中,aec处理的计算成本是系统响应时间的重要因素。
20.在扬声器播出的信号被麦克风捕获时产生的声学回声可以根据下面的等式(1)表示:
21.d(n)=h(n)
t
x(n)
ꢀꢀꢀ
(1)
22.其中,h(n)是扬声器与麦克风之间的冲激响应的向量,(
·
)
t
是转置运算符,x(n)是参考(例如,扬声器)信号的向量,d(n)是由麦克风捕获的声学回声信号的向量,并且n是时间索引。在常规的音频处理系统中,线性aec的目的是使用具有系数w(n)的线性滤波器例如根据下面的等式(2)来获得声学回声估计信号
[0023][0024]
使得根据等式(3),均方误差随时间最小化:
[0025][0026]
其中,e(n)是经回声消除的输出信号,y(n)是麦克风信号(其可以包含其他信号例如与声学回声一起被捕获的语音),并且e[
·
]是期望(平均)运算符。
[0027]
非线性aec的总体挑战是扬声器与麦克风之间的声学耦合不能简单地通过等式2线性地建模。解决该挑战的一种常规方法是通过利用数学上易处理的某种闭式函数f
nl
(例
如,volterra滤波器、hammerstein滤波器、神经网络等)例如根据下面的等式(4)对非线性进行建模来概括该问题:
[0028][0029]
然而,由于高复杂度(例如,与线性自适应滤波器的o(n)相比的o(n2),这对于实时系统可能是禁止的)、局部最小值的显现(例如,它并不总是消除回声)、慢收敛(例如,它具有慢的回声消除速率)、低准确度(例如,它的经回声消除的输出信号质量差)、以及数值不稳定性(例如,它具有有限的数值精度,这可能导致系统随时间漂移并且变得不稳定),该常规方法往往在计算上变得不切实际。该常规方法还经受缺乏关于实际音频系统中的非线性以及所述非线性随时间(例如,扬声器的物理状况)的变化的了解,这使得几乎不可能利用考虑了系统的寿命期间所有可能的非线性的模型来设计实际解决方案。
[0030]
另一常规方法是对线性和非线性回声消除处理进行解耦。例如,该常规方法涉及在将参考信号施加至aec的线性滤波器之前将预处理滤波器f
pre
应用于参考信号,以最佳地匹配特定预期非线性的效果,例如,根据下面的等式(5):
[0031][0032]
其中,是由线性滤波器使用以根据上面的等式(2)获得回声估计的经变换的参考信号。虽然该常规方法对于某些应用在计算上可能是可行的,但是它并不鲁棒(例如,它不能考虑实际系统中的非线性的变化),并且不能正确地对非线性的时间可变性(例如,这是由扬声器的物理状况的逐渐退化导致的)进行建模。
[0033]
为了解决常规方法的这些和其他缺点,本文所描述的技术提供了通过对扬声器参考信号应用空间滤波器来去除非线性回声。只要目标讲话者和扬声器在空间上充分分离(例如,如果不是使用麦克风阵列的所有应用,则大多数情况下都是这种情况),就可以具体地在扬声器的方向上和/或在讲话者的方向上执行空间滤波。然后将经空间滤波的信号(例如,在其部分中的一些部分中具有减小的幅度和频率)用作被提供给具有线性滤波器的aec的参考信号。以这种方式,本文所描述的技术提供了低计算复杂度(例如,由于线性aec用于消除非线性回声),同时提供了鲁棒性(例如,由于可以随时间跟踪系统中的非线性)和改进的输出信号的准确度(例如,与常规方法相比)。另外,在系统中的非线性随时间改变时,根据所描述的技术的系统不需要如在常规方法下所需要的那样重新调谐。
[0034]
通常,空间滤波是在不同空间位置处测量的输入多信道信号的变换,使得其输出信号仅取决于其输入信号。空间滤波器的示例包括但不限于重新参考滤波器、表面拉普拉斯滤波器、独立分量分析(ica)滤波器和公共空间模式(csp)滤波器。实际上,空间滤波通常被结合至使用波束形成器的音频处理系统中。波束形成器(bf)是一种信号处理机制,其将(例如,麦克风阵列中的)多个麦克风的空间响应引导朝向目标音频源,并且因此自然地测量或以其他方式收集构建空间滤波器所需的所有参数。
[0035]
根据本文所描述的用于非线性回声消除的技术,空间滤波器f
sf
用于捕获音频处理系统中的非线性的影响。空间滤波器f
sf
例如根据下面的等式(6)生成经空间滤波的参考信号
[0036]
[0037]
其中,是被引导朝向扬声器并且被用于自适应滤波的经空间滤波的信号(其包括线性参考信号和非线性参考信号两者),是从多个麦克风接收的多信道信号,并且n是时间索引。
[0038]
在一些实施方式中,本文所描述的技术可以在具有被应用于多个麦克风信号中的一个麦克风信号的单个aec的音频处理系统中实现。在这些实施方式中,经空间滤波的信号被用作提供给具有线性滤波器的aec的参考信号,以例如根据下面的等式(7)获得回声估计信号
[0039][0040]
使得均方误差随时间最小化,例如,根据下面的等式(8):
[0041][0042]
其中,i=1、2、
……
、n并且n是麦克风的数目,yi(n)是来自第i个麦克风的被选择进行处理的麦克风信号,w(n)是aec的线性滤波器系数的向量,是经空间滤波的参考信号(例如,如根据上面的等式(6)生成的),n是时间索引,并且是来自第i个麦克风的被提供为经回声消除的输出信号的目标语音信号。
[0043]
在一些实施方式中,本文所描述的技术可以在具有多个线性aec或具有每个麦克风提供一个线性aec实例的多实例线性aec的音频处理系统中实现。在这些实施方式中,相同的空间滤波器f
sf
被用于引导朝向扬声器以提取非线性参考信号并且引导朝向主讲话者以提取目标语音估计信号可以通过将相同的空间滤波器f
sf
(但是具有不同的系数)应用于aec的多信道输出例如根据下面的等式(9)来获得语音估计信号
[0044][0045]
因为均方误差随时间最小化,例如,根据下面的等式(10):
[0046][0047]
其中,i=1、2、
……
、n并且n是麦克风的数目,、n并且n是麦克风的数目,是来自多实例(或多个)线性aec的多信道输出信号,是回声估计的向量,yi(n)是来自第i个麦克风的麦克风信号,wi(n)是用于与第i个麦克风相关联的线性滤波器的线性滤波器系数的向量,是经空间滤波的参考信号(例如,如根据上面的等式(6)生成的),n是时间索引,并且(例如,如根据上面的等式(9)生成的)是被提供为经回声消除的输出信号的目标语音估计信号。
[0048]
在一些实施方式中,本文所描述的技术可以在具有被应用于来自空间滤波器f
sf
的输出的单个线性aec的音频处理系统中实现。在这些实施方式中,使用具有适当的滤波器系数的空间滤波器f
sf
来提取经空间滤波的参考信号(例如,如根据上面的等式(6)生成
的)和经空间滤波的麦克风信号将经空间滤波的参考信号引导朝向扬声器以提取任何非线性参考信号。经空间滤波的麦克风信号包括经空间放大的语音估计信号和经衰减的回声估计信号两者(例如,并且可以通过使用适当的空间滤波器系数根据下面的等式(11)来生成:
[0049][0050]
使得均方误差随时间最小化,例如,根据下面的等式(12):
[0051][0052]
其中,是经空间滤波的麦克风信号,wi(n)是线性aec的线性滤波器系数的向量,是经空间滤波的参考信号(例如,如根据上面的等式(6)生成的),n是时间索引,并且是被提供为经回声消除的输出信号的目标语音估计信号。
[0053]
在一些实施方式中,本文所描述的技术可以用于具有自适应波束形成器的系统中,所述自适应波束形成器将自然地能够捕获和跟踪系统中的非线性变化。在这些实施方式中,从bf块输出的信号包括参考信号的线性分量和非线性分量两者,并且因此线性aec能够消除回声的非线性部分。另外,本文所描述的技术不限于自适应波束形成,而是可以与其他空间滤波技术——例如,切换波束形成、(盲或半盲)源分离等——一起使用。
[0054]
图1a至图1c分别示出了根据示例实施方式的用于非线性声学回声消除的系统100a至100c。在一些实施方式(例如,诸如电话会议装置)中,可以将每个系统100a至100c的部件集成至同一壳体中作为独立设备。在其他实施方式(例如,智能扬声器系统)中,每个系统100a至100c的部件可以是通过一个或更多个网络和/或通信线路耦接的单独的元件。在其他实施方式中,每个系统100a至100c的部件可以被布置在向潜在的讲话者提供扬声器的空间分离的固定的扬声器-麦克风几何结构中。因此,图1a至图1c中的系统100a至100c被认为是说明性意义的而非限制性意义的。
[0055]
在图1a至图1c中,相似的附图标记指代相似的部件。因此,图1a至图1c中的每个系统100a至100c包括耦接至音频处理装置120的扬声器-麦克风组件110,该音频处理装置120耦接至主机140。音频处理装置120包括空间滤波逻辑124、aec逻辑126和加法器逻辑块128。如本文所使用的,“逻辑”指具有一个或更多个电路的硬件块,所述一个或更多个电路包括被配置成处理模拟信号和/或数字信号,并且响应于控制信号和/或由处理器或其等效物执行的固件指令执行一个或更多个操作的各种电子部件。这样的电子部件的示例包括但不限于晶体管、二极管、逻辑门、状态机、微编码引擎和/或可以被配置成响应于控制信号和/或固件指令而控制硬件的其他电路块和模拟/数字电路系统。
[0056]
扬声器-麦克风组件110包括一个或更多个扬声器112和麦克风阵列114,这两者以声学邻近的方式布置,使得麦克风阵列可以检测到来自想要的声源(例如,人类语音)的声波和来自不想要的声源(例如,诸如来自扬声器112的声学回声113)的声波。如本文所使用的,“扬声器”指被配置成将电信号变换成声学波/声音波的电声学扬声器装置。扬声器112被配置成从音频处理装置120接收模拟音频信号,并将音频信号作为声波发射。麦克风阵列114包括多个麦克风,所述多个麦克风被配置成从各种声源接收声波,并将所接收的声波变
换成被发送至音频处理装置120的模拟音频信号。在一些实施方式(例如,智能电话)中,扬声器112和麦克风阵列114可以整体地形成为同一组件110。在一些实施方式(例如,电话会议装置)中,扬声器112和麦克风阵列114可以是布置在被安装在组件110的壳体内或壳体上的公共基板(例如,pcb)上的单独部件。在又一实施方式中,组件110可以不具有壳体,但是可以借助于扬声器112与麦克风阵列114的声学邻近而形成。
[0057]
音频处理装置120包括空间滤波逻辑124、aec逻辑126和加法器逻辑块128。在一些实施方式中,音频处理装置120可以是在半导体裸片(die)上制造的单芯片集成电路(ic)装置或作为soc制造的单芯片ic。在其他实施方式中,音频处理装置120可以是封装在单个半导体封装中或者被布置或安装在公共基板例如pcb上的多个半导体封装中的多芯片模块。在一些实施方式中,空间滤波逻辑124、aec逻辑126和加法器逻辑128可以被实现为音频处理装置120的数字信号处理器(dsp)内的硬件电路系统。在各种实施方式中,音频处理装置120可以包括附加部件(未示出),例如音频输入/输出(i/o)逻辑、中央处理单元(cpu)、存储器以及用于连接至主机140的一个或更多个接口。
[0058]
在一些实施方式中,空间滤波逻辑124可以实现bf逻辑或可以被实现为bf逻辑的一部分,该bf逻辑将麦克风阵列114的空间响应引导朝向目标音频源。例如,这样的bf逻辑可以对来自麦克风阵列114中的每个麦克风的数字信号应用时间延迟补偿,以便对可能由于声源相对于每个麦克风的位置而导致的麦克风信号之间的相对时间延迟进行补偿。bf逻辑还可以被配置成对来自麦克风中的一些麦克风的数字信号进行衰减、对来自其他麦克风的数字信号进行放大、和/或改变来自麦克风中的一些或所有麦克风的数字信号的方向性。在一些实施方式中,这样的bf逻辑还可以使用从麦克风阵列114中的传感器接收的信号,以便跟踪移动的讲话者并相应地调整来自每个麦克风的数字信号。以这种方式,bf逻辑测量或以其他方式收集操作被配置成将一个或更多个空间滤波器(或其实例)应用于其输入信号的空间滤波逻辑的一个或多个实例所需的参数。
[0059]
根据本文所描述的技术,空间滤波逻辑124被配置成将空间滤波器(例如,图1a中的124a、图1b和图1c中的124a-1和124a-2)应用于从麦克风阵列114接收的多信道麦克风信号。空间滤波逻辑124被配置成生成以朝向特定音频源的特定方向为目标的经空间滤波的信号。例如,在图1a至图1c的实施方式中,空间滤波逻辑124可以在扬声器112的方向上执行空间滤波,以便生成包括线性回声和非线性回声两者的经空间滤波的信号。在其他实施方式(例如,图1c)中,空间滤波逻辑124可以另外在讲话者的方向上(例如,基于多信道输出信号)执行空间滤波,以便生成包括语音估计信号的经空间滤波的信号。
[0060]
根据本文所描述的技术,aec逻辑126包括用于生成回声估计信号的线性滤波器逻辑126a,所述回声估计信号被从最终被发送至主机140的输出信号中消除。在一些实施方式中,逻辑126a实现下述线性自适应滤波器,其输出是其输入的线性组合,并且其传递函数由可变参数控制,所述可变参数可以在操作期间基于加法器逻辑128生成的输出信号129来调整。(然而,应当注意,本文所描述的技术的各种实施方式可以使用各种其他类型的线性滤波器)。通常,自适应滤波是下述技术:连续调整aec的滤波器系数以反映变化的声学环境(例如,在不同的讲话者开始讲话时、在麦克风或扬声器被物理移动时等)从而(例如,通过根据上面的等式(3)使随时间推移的残余回声能量最小化)实现尽可能最佳的滤波输出。自适应滤波可以随时间推移在时域中以采样方式实现或在频域中以块方式(block-wise)实
现。线性自适应滤波器(例如,诸如逻辑126a)的典型实现方式可以使用背景和前景滤波。背景-前景滤波是下述自适应滤波技术,其涉及两个单独的自适应滤波器(“背景”和“前景”),对它们进行组合以使系统性能最大化。背景滤波器被设计成以降低噪声稳定度为代价在短时间段内积极地快速适应并消除尽可能多的回声,而前景滤波器则从长远的角度出发以收敛速度慢为代价谨慎调整以提供稳定且最佳的输出。以这种方式,前景滤波器即使在存在噪声的情况下也能够保持收敛,而背景滤波器能够捕获声学环境中的任何快速变化和动态。实际上,通常需要具有背景-前景滤波的线性自适应滤波器来以鲁棒的方式处理打断(barge-in)场景和双端通话(double-talk)场景。“双端通话”是在电话会议期间当本地/近端讲话者和远程/远端讲话者同时讲话时使得本地语音信号和远程语音信号被本地麦克风同时捕获时发生的场景。“打断”是与双端通话类似的场景,不同之处在于,实时远程讲话者被可能正在回放所捕获的语音信号本身或多媒体信号例如音乐的装置/机器代替。
[0061]
加法器逻辑128是对其输入数字信号执行数字求和并且生成输出信号129(例如,在图1a的系统100a、图1c的系统100c中)或多信道输出信号129a(在图1b的系统100b中)的逻辑块。数字求和涉及使用逐元素索引将两个或更多个信号相加和/或相减——例如,将一个信号的第n个样本与另一信号的第n个样本相加或从另一信号的第n个样本减去,并且结果表示输出信号的第n个样本。
[0062]
主机140被耦接成与音频处理装置120通信。在一些实施方式中,主机140可以被实现为独立装置或被实现为计算系统。例如,主机140可以与音频处理装置120一起在片上被实现为soc装置或iot边缘装置。在另一示例中,主机140可以被实现为台式计算机、膝上型计算机、电话会议装置(例如,扬声器电话)等。在其他实施方式中,主机140可以在联网环境中被实现为通过一个或更多个网络以通信方式连接至音频处理装置120的服务器计算机或服务器刀片。
[0063]
在操作中,音频处理装置120接收来自主机140的音频数据(例如,一系列字节)。音频数据可以表示多媒体回放和/或远端语音。音频处理装置120(例如,其一个或更多个电路)最终将所接收的音频数据转换成被发送至扬声器112的参考信号x(n)111。麦克风阵列114中的麦克风从近端语音以及来自扬声器112的声学回声113中拾取声波。麦克风阵列114中的麦克风将所接收的声波转换成被发送至音频处理装置120的对应的模拟音频信号。音频处理装置120(例如,其一个或更多个电路)接收模拟音频信号并将它们转换成多信道数字麦克风信号115,该多信道数字麦克风信号115被发送至空间滤波逻辑124,以根据本文所描述的技术进行处理。空间滤波器所需的参数(例如,诸如方向、自统计/交叉信道统计、优化函数等)可以由空间滤波逻辑124确定,该空间滤波逻辑124针对从麦克风阵列114接收的多信道麦克风信号执行波束形成。
[0064]
图1a示出了具有单个aec逻辑126的示例系统100a。在系统100a中,空间滤波逻辑124将空间滤波器f
sf 124a应用于多信道麦克风信号115,并生成经空间滤波的信号125(例如,根据上面的等式(6))。经空间滤波的信号125被提供给aec逻辑126,并且携载包括在多信道信号115中的线性回声和非线性回声两者——例如,对于每个时间索引n,从信号125采样的值反映由麦克风阵列114中的麦克风拾取的线性回声和非线性回声两者。aec逻辑126自适应地计算线性自适应滤波器126a的系数w(n)。
然后将线性自适应滤波器逻辑126a应用于经空间滤波的信号125(例如,根据上面的等式(7)和等式(8))以生成消除信号127a。消除信号127a估计包括在第i个麦克风信号yi(n)115a中的线性回声信号和非线性回声信号两者。消除信号127a和多信道信号115的麦克风信号中的一个(例如,第i个)麦克风信号被作为输入提供给加法器逻辑128。第i个麦克风信号yi(n)可以是预定的(例如,基于扬声器112相对于麦克风阵列114的已知/固定布置),或者可以在操作期间从多信道麦克风信号115的信道中随机选择。加法器逻辑128基于消除信号127a并基于所选择的多信道麦克风信号yi(n)115执行数字求和,并且生成输出信号e(n)129(例如,根据上面的等式(8))。实际上,输出信号e(n)129近似于由第i个麦克风捕获的目标语音信号s(n)(例如,)。以这种方式,从输出信号e(n)129中消除线性回声信号和非线性回声信号两者。然后将输出信号e(n)129提供给主机140。另外,输出信号e(n)129也被作为反馈提供给aec逻辑126,aec逻辑126使用该输出信号e(n)129以自适应地计算线性自适应滤波器126a的系数w(n)。
[0065]
在图1a的实施方式中,参考信号x(n)111被提供给扬声器112和aec逻辑126两者。aec逻辑126被配置成利用参考信号x(n)111和经空间滤波的信号125两者。例如,aec逻辑126可以被配置成将参考信号x(n)111用于双端通话检测(dtd)。aec逻辑126还可以被配置成将经空间滤波的信号125用于其背景滤波器并且将参考信号x(n)111用于其前景滤波器,其中,选择来自背景滤波器的输出和来自前景滤波器的输出中的一个(例如,“最佳”)输出以使在双端通话情况期间近端语音的消除最小化。
[0066]
图1b示出了包括aec逻辑126的多个实例的示例系统100b,其中每个麦克风信号/信道应用一个aec实例。在系统100b中,空间滤波逻辑124-1将空间滤波器f
sf
的实例124a-1应用于多信道麦克风信号115,并且生成经空间滤波的信号125(例如,根据上面的等式(6))。经空间滤波的信号125被提供给aec逻辑126的多个实例中的每个实例,并且携载包括在多信道信号115中的线性回声和非线性回声两者。aec逻辑126的每个实例自适应地计算其线性自适应滤波器126a的系数wi(n),该线性自适应滤波器126a被单独地应用于经空间滤波的信号125(例如,根据上面的等式(10))以生成消除信号127b。因此,消除信号127b是估计包括在多信道麦克风信号115中的线性回声信号和非线性回声信号两者的多信道回声估计信号。多信道消除信号127b和多信道麦克风信号115被作为输入提供给加法器逻辑128。加法器逻辑128基于多信道消除信号127b和多信道麦克风信号115执行数字求和,并且生成多信道输出信号129a。空间滤波逻辑124-2将相同的空间滤波器f
sf
(例如,但可能具有不同的系数)的实例124a-2应用于多信道输出信号129a,并且生成经空间滤波的信号
129(例如,根据上面的等式(9))。在各种实施方式中,空间滤波逻辑124-2还可以被配置成接收参考信号x(n)111、多信道麦克风信号115和/或多信道消除信号127b中的一个或更多个信号,并且在生成多信道输出信号129a时使用这些信号中的任何和/或全部信号。实际上,输出信号e(n)129近似于由麦克风阵列114中的麦克风捕获的目标语音信号s(n)(例如,)。以这种方式,从输出信号e(n)129中消除线性回声信号和非线性回声信号两者。然后将输出信号e(n)129提供给主机140。另外,多信道输出信号129a还被作为反馈提供给aec逻辑126的多个实例,所述多个实例使用该多信道输出信号129a自适应地计算其相应线性自适应滤波器126a的系数wi(n)。
[0067]
在图1b的实施方式中,参考信号x(n)111被提供给扬声器112和aec逻辑126的一个或更多个实例两者。aec逻辑126的一个或更多个实例被配置成利用参考信号x(n)111和经空间滤波的信号125两者。例如,aec逻辑126的一个或更多个实例可以被配置成将参考信号x(n)111用于dtd。aec逻辑126的每个实例还可以被配置成将经空间滤波的信号125用于其背景滤波器并且将参考信号x(n)111用于其前景滤波器,其中,选择来自背景滤波器的输出和来自前景滤波器的输出中的一个(例如,“最佳”)输出以使在双端通话情况期间近端语音的消除最小化。
[0068]
图1c示出了包括被应用于空间滤波器输出的单个aec逻辑126的示例系统100c。在系统100c中,空间滤波逻辑124将空间滤波器f
sf
的一个实例124a-1应用于多信道麦克风信号115,并且生成经空间滤波的信号125(例如,根据上面的等式(6))。经空间滤波的信号125是利用针对扬声器112的滤波器系数生成的,并且因此携载包括在多信道信号115中的线性回声和非线性回声两者。另外,空间滤波逻辑124将相同空间滤波器f
sf
的另一实例124a-2应用于多信道麦克风信号115,并且生成经空间滤波的麦克风信号125a(例如,根据上面的等式(11))。经空间滤波的麦克风信号125a是利用针对麦克风阵列114中的麦克风的滤波器系数生成的,并且因此携载包括在多信道信号115中的经空间放大的语音估计信号和经衰减的回声估计信号两者(例如,)。经空间滤波的信号125被作为输入提供给aec逻辑126,并且经空间滤波的麦克风信号125a被作为输入提供给加法器逻辑128。aec逻辑126自适应地计算线性自适应滤波器126a的系数w(n),该线性自适应滤波器126a被应用于经空间滤波的信号125以生成消除信号127c(例如,根据上面的等式(12))。消除信号127c估计包括在经空间滤波的麦克风信号115中的线性回声信号和非线性回声信号两者。消除信号127c被作为输入提供给加法器逻辑128。加法器逻辑128基于消除信号127c并基于经空间滤波的麦克风信号125a
执行数字求和,并且生成输出信号e(n)129(例如,根据上面的等式(12))。实际上,输出信号e(n)129近似于由麦克风阵列114中的麦克风捕获的目标语音信号s(n)(例如,)。以这种方式,从输出信号e(n)129中消除了线性回声信号和非线性回声信号两者,并且避免了从输出信号e(n)中消除目标语音信号(例如,在双端通话的情况下)。然后将输出信号e(n)129提供给主机140。另外,输出信号e(n)129也被作为反馈提供给aec逻辑126,该aec逻辑126使用该输出信号e(n)129自适应地计算线性自适应滤波器126a的系数w(n)。
[0069]
在图1c的实施方式中,参考信号x(n)111被提供给扬声器112和aec逻辑126两者。aec逻辑126被配置成利用参考信号x(n)111和经空间滤波的信号125两者。例如,aec逻辑126可以被配置成将参考信号x(n)111用于dtd。aec逻辑126还可以被配置成将经空间滤波的信号125用于其背景滤波器并且将参考信号x(n)111用于其前景滤波器,其中,选择来自背景滤波器的输出和来自前景滤波器的输出中的一个(例如,“最佳”)输出以使在双端通话情况期间近端语音的消除最小化。
[0070]
图2a至图2c示出了根据本文所描述的技术的用于非线性声学回声消除的示例方法的流程图。下面将图2a至图2c中的方法的操作描述为由空间滤波逻辑、aec逻辑和加法器逻辑(例如,图1a至图1c的音频处理装置120中的空间滤波逻辑124、aec逻辑126和加法器逻辑128)执行。然而,应当注意,各种实现方式和实施方式可以使用各种并且可能不同的部件来执行图2a至图2c中的方法的操作。例如,在各种实施方式中,各种半导体装置——例如,soc、现场可编程门阵列(fpga)、可编程逻辑器件(pld)、专用集成电路(asic)或其他集成电路装置——可以配置有固件指令,所述固件指令在由处理器和/或其他硬件部件(例如,微控制器、状态机等)执行时可操作成执行图2a至图2c中的方法的操作。在另一示例中,在各种实施方式中,ic装置可以包括被配置成执行图2a至图2c中的方法的操作的单芯片音频控制器或多芯片音频控制器。因此,在下文中对图2a至图2c中如由音频处理装置中的空间滤波逻辑、aec逻辑和加法器逻辑执行的方法的描述应当被认为是说明性意义的而非限制性意义的。
[0071]
图2a示出了可以在具有单个aec逻辑的系统(例如,诸如图1a中的系统100a)中实现的用于非线性回声消除的方法。在图2a中,根据输入操作202,将参考信号x和多信道麦克风数字信号作为输入提供给音频处理装置中具有空间滤波器f
sf
的空间滤波逻辑。例如,以其它方式提供的用于发射至扬声器的参考信号x被连续提供给空间滤波逻辑和aec逻辑。多信道麦克风数字信号是基于来自与扬声器声学邻近的麦克风阵列中的多个麦克风的音频信号生成的数字多信道信号。因此,多信道麦克风数字信号包括由麦克风阵列中的麦克风拾取的线性回声和非线性回声两者。作为操作202的一部分,多信道麦克风信号的麦克风信号中的一个(例如,第i个)麦克风信号也被作为输入提供给音频处理装置的加法器逻辑。第i个麦克风信号yi可以是预定的(例如,基于扬声器相对于麦克风阵列的已知/固定布置),或者可以在操作期间从多信道麦克风信号的信道中随机选择。
[0072]
在操作204中,基于参考信号x将空间滤波逻辑中的空间滤波器f
sf
应用于多信道麦
克风信号并且生成经空间滤波的信号(例如,根据上面的等式(6))。所生成的经空间滤波的信号携载包括在第i个信号yi中的线性回声和非线性回声两者。然后将经空间滤波的信号作为输入提供给音频处理装置的线性aec逻辑。
[0073]
在操作206中,aec逻辑自适应地计算其线性自适应滤波器的系数w。aec逻辑将线性自适应滤波器与其系数w一起应用于经空间滤波的信号(例如,根据上面的等式(7)和等式(8))以生成消除信号消除信号估计包括在第i个麦克风信号yi中的线性回声信号和非线性回声信号两者。然后将消除信号作为输入提供给加法器逻辑。另外,在一些实施方式中,aec逻辑可以被配置成利用参考信号x和经空间滤波的信号两者。例如,aec逻辑可以被配置成将参考信号x用于dtd。aec逻辑还可以被配置成将经空间滤波的信号用于其背景滤波器并且将参考信号x用于其前景滤波器,并且选择来自背景滤波器的输出和来自前景滤波器的输出中的一个(例如,“最佳”)输出,以使在双端通话情况期间近端语音的消除最小化。
[0074]
在操作208中,加法器逻辑接收消除信号和第i个麦克风信号yi。加法器逻辑基于消除信号并基于第i个麦克风信号yi执行数字求和,并且生成输出信号e(例如,根据上面的等式(8))。实际上,输出信号e近似于由第i个麦克风捕获的目标语音信号s(例如,)。以这种方式,从输出信号e中消除线性回声信号和非线性回声信号两者。
[0075]
在操作210中,输出信号e被作为输出提供(例如,提供给主机应用)。另外,输出信号e也可以被作为反馈提供给aec逻辑,该aec逻辑使用该输出信号e自适应地计算线性自适应系数w。
[0076]
图2b示出了可以在具有aec逻辑的多个实例——其中每个麦克风信号/信道应用一个aec实例——的系统(例如,诸如图1b中的系统100b)中实现的用于非线性回声消除的方法。在图2b中,根据输入操作212,将参考信号x和多信道麦克风数字信号作为输入提供给音频处理装置中具有空间滤波器f
sf
的空间滤波逻辑。例如,以其它方式提供的用于发射至扬声器的参考信号x被连续提供给空间滤波逻辑。多信道麦克风数字信号是基于来自与扬声器声学邻近的麦克风阵列中的多个麦克风的音频信号生成的数字多信道信号。因此,多信道麦克风数字信号包括由麦克风阵列中的麦克风拾取的线性回声和非线性回声两者。作为操作212的一部分,还将参考信号x提供给aec逻辑的一个或多个实例,并且多信道麦克风信号也被作为输入提供给音频处理装置的加法器逻辑。
[0077]
在操作214a中,基于参考信号x将空间滤波逻辑中的空间滤波器f
sf
应用于多信道麦克风信号并且生成经空间滤波的信号(例如,根据上面的等式(6))。所生成的经空间滤波的信号携载包括在多信道信号中的线性回声和非线性回声两者。然后将经空间滤波的信号作为输入提供给音频处理装置的线性aec逻辑的多个实例中的每个实例。
[0078]
在操作216中,aec逻辑的每个实例自适应地计算其相应的线性自适应滤波器的系数wi。aec逻辑的每个实例将具有其相应的系数wi的其线性自适应滤波器应用于经空间滤波
的信号(例如,根据上面的等式(10))以生成消除信号因此,消除信号是估计包括在多信道麦克风信号的所有麦克风信号yi中的线性回声信号和非线性回声信号两者的多信道回声估计信号。然后将多信道消除信号作为输入提供给加法器逻辑。另外,在一些实施方式中,aec逻辑的一个或更多个实例可以被配置成利用参考信号x和经空间滤波的信号两者。例如,aec逻辑的一个或更多个实例可以被配置成将参考信号x用于dtd。aec逻辑的每个实例还可以被配置成将经空间滤波的信号用于其背景滤波器并且将参考信号x用于其前景滤波器,并且选择来自背景滤波器的输出和来自前景滤波器的输出中的一个(例如,“最佳”)输出以使在双端通话情况期间近端语音的消除最小化。
[0079]
在操作218中,加法器逻辑接收多信道消除信号和多信道麦克风信号加法器逻辑基于多信道消除信号并基于多信道麦克风信号执行数字求和,并且生成多信道输出信号(例如,根据上面的等式(10))。将多信道输出信号作为输入提供给空间滤波逻辑中的空间滤波器f
sf
以进行操作214b。
[0080]
在操作214b中,将空间滤波逻辑中的空间滤波器f
sf
应用于多信道输出信号(例如,具有适当的滤波器系数),以便生成经空间滤波的输出信号(例如,根据上面的等式(9))。在各种实施方式中,操作214b中的空间滤波器f
sf
还可以被配置成接收参考信号x、多信道麦克风信号和/或多信道消除信号中的一个或更多个信号,并且在生成多信道输出信号时使用这些信号中的任何和/或全部信号。实际上,输出信号e近似于由麦克风阵列中的麦克风捕获的目标语音信号s(例如,)。以这种方式,从输出信号e中消除线性回声信号和非线性回声信号两者。
[0081]
在操作220中,输出信号e然后被作为输出提供(例如,提供给主机应用)。另外,多信道输出信号也可以被作为反馈提供给aec逻辑的每个实例,该aec逻辑的每个实例使用多信道输出信号自适应地计算其相应的线性自适应滤波器的其相应的线性自适应系数wi。
[0082]
图2c示出了可以在具有被应用于空间滤波器输出的单个aec逻辑的系统(例如,诸如图1c中的系统100c)中实现的用于非线性回声消除的方法。在图2c中,根据输入操作222,将参考信号x和多信道麦克风数字信号作为输入提供给音频处理装置中具有空间滤波器f
sf
的空间滤波逻辑。例如,以其它方式提供的用于发射至扬声器的参考信号x被连续提供给空间滤波逻辑。还将参考信号x作为输入提供给音频处理装置的aec逻辑。多信道麦克风数字信号是基于来自与扬声器声学邻近的麦克风阵列中的多个麦克风的音频信号生成的数字多信道信号。因此,多信道麦克风数字信号包括由麦克风阵列中的麦克风拾取的线性回声和非线性回声两者。
[0083]
在操作224中,基于参考信号x将空间滤波逻辑中的空间滤波器f
sf
应用于多信道麦克风信号并且生成经空间滤波的信号(例如,根据上面的等式(6))。所生成的经空间滤波的信号携载包括在多信道信号中的线性回声和非线性回声两者。同样作
为操作224的一部分,空间滤波逻辑中的空间滤波器f
sf
的相同或不同实例被应用于多信道麦克风信号以生成经空间滤波的麦克风信号(例如,根据上面的等式(11))。经空间滤波的麦克风信号是利用针对麦克风阵列中的麦克风的滤波器系数生成的,并且因此携载包括在多信道信号中的经空间放大的语音估计信号和经衰减的回声估计信号两者(例如,)。在生成之后,经空间滤波的信号被作为输入提供给线性aec逻辑,并且经空间滤波的麦克风信号被作为输入提供给音频处理装置的加法器逻辑。
[0084]
在操作226中,aec逻辑自适应地计算其线性自适应滤波器的系数w。aec逻辑将具有其系数w的线性自适应滤波器应用于经空间滤波的信号(例如,根据上面的等式(12))以生成消除信号消除信号估计包括在经空间滤波的麦克风信号中的线性回声信号和非线性回声信号两者。然后将消除信号作为输入提供给加法器逻辑。另外,在一些实施方式中,aec逻辑可以被配置成利用参考信号x和经空间滤波的信号两者。例如,aec逻辑可以被配置成将参考信号x用于dtd。aec逻辑还可以被配置成将经空间滤波的信号用于其背景滤波器并且将参考信号x用于其前景滤波器,并且选择来自背景滤波器的输出和来自前景滤波器的输出中的一个(例如,“最佳”)输出以使在双端通话情况期间近端语音的消除最小化。
[0085]
在操作228中,加法器逻辑接收消除信号和经空间滤波的麦克风信号加法器逻辑基于消除信号和经空间滤波的麦克风信号执行数字求和,并且生成输出信号e(例如,根据上面的等式(12))。实际上,输出信号e近似于由麦克风阵列中的麦克风捕获的目标语音信号s(例如,)。以这种方式,从输出信号e中消除了线性回声信号和非线性回声信号两者,并且避免了从输出信号e中消除目标语音信号(例如,在双端通话的情况下)。
[0086]
在操作230中,输出信号e然后被作为输出提供(例如,提供给主机应用)。另外,输出信号e也可以被作为反馈提供给aec逻辑,该aec逻辑使用该输出信号e自适应地计算线性自适应系数w。
[0087]
本文所描述的技术提供了显著的改进,这使得有可能将非线性回声消除应用于嵌入式系统、边缘装置以及具有有限计算能力的其他系统中。例如,常规的非线性回声消除方法通常导致在计算上过于昂贵(例如,volterra滤波器、hammerstein滤波器、神经网络等)或者不足够鲁棒以考虑非线性随时间的变化(例如,预处理滤波器)的解决方案。相比之下,本文所描述的技术提供了使用线性滤波器消除非线性回声的实用、鲁棒的解决方案,该解决方案既鲁棒又在计算上适于具有有限计算能力的系统/装置。
[0088]
图3a至图3b示出了根据基于本文所描述的用于非线性回声消除的技术来验证所提出的解决方案的有效性而执行的模拟研究的图。通常,这样的模拟研究是用于预测信号处理结果的可靠机制,并且经常被用作在数字信号处理领域构建实际解决方案中的第一步。建立图3a中反映的特定模拟研究以模拟具有以3cm的半径均匀布置的6个圆形麦克风的系统。使用通常在消费类扬声器中发现的二阶多项式近似和三阶多项式近似对所模拟的系统中的非线性进行建模。使用85个延迟线抽头对所模拟的系统的线性冲激响应进行建模,所述85个延迟线抽头被设置成以15khz运行以模拟来自同一源信号的多个回声。对该系统
的线性自适应滤波器进行20%的欠建模,以仿真实际条件。
[0089]
图3a示出了三种不同的回声消除机制的平均误差幅度的曲线图300。具体地,线304示出了使用常规线性自适应滤波器而没有非线性回声消除的aec的误差幅度结果。线306示出了根据本文所描述的技术使用线性自适应滤波器进行非线性回声消除的aec的误差幅度结果。线308示出了使用非线性volterra滤波器对“已知”非线性执行非线性回声消除的aec的误差幅度结果。如图3a中所示,根据本文所描述的技术的非线性回声消除(线306)与具有不执行非线性回声消除的线性滤波器的aec(线304)具有几乎相同的收敛性,但在与具有线性滤波器的aec(线304)相比时提供了额外10db的额外消除。同时,根据本文所描述的技术的非线性回声消除(线306)具有基本上等同于具有用于“已知”线性的非线性volterra滤波器的aec(线308)的回声消除性能。
[0090]
图3b示出了使用本文所描述的用于非线性回声消除的技术的建模线性响应(线316)相对于使用具有线性滤波器的aec的常规方法的建模线性响应(线314)和理想响应(线312)的曲线图310。如图3b中所示,根据本文所描述的技术的非线性回声消除机制(线316)能够比常规方法(线314)更好地对声学耦合进行建模,同时实现与所模拟的系统的理想回声消除(线312)相当的结果。
[0091]
图3a和图3b中的模拟结果示出了本文所描述的用于非线性回声消除的技术具有与使用线性滤波器的常规aec几乎相同的收敛特性,但是提供了超过常规方法10db的额外回声消除,并且具有基本上等同于具有用于“已知”非线性的非线性volterra滤波器的aec的非线性回声消除性能。
[0092]
本文所描述的用于非线性回声消除的技术适用于使用多个麦克风的系统。在各种实施方式中,所描述的技术提供了通过使用多信道麦克风信号的空间滤波来生成经空间滤波的信号以估计非线性参考信号,该经空间滤波的信号被提供给具有线性自适应滤波器的aec以进行回声消除。与使用非线性滤波器或预处理滤波器的常规方法相比,本文所描述的技术提供了若干益处。例如,根据本文所描述的技术的解决方案提供了低复杂度,这降低了回声消除的计算成本并且使得这样的解决方案对于具有有限计算能力的装置(例如,soc和iot装置)是实用的。另外,根据本文所描述的技术的解决方案是更鲁棒的,因为它们能够跟踪非线性随时间的变化,并且通过减少由于非线性导致的统计偏差来改进线性自适应滤波器估计。
[0093]
在各种实施方式中,本文所描述的用于非线性回声消除的技术可以被应用于智能扬声器和iot边缘装置,并且可以取决于本地装置资源的可用性以固件和/或硬件来实现。智能扬声器是具有内置扬声器和麦克风的多媒体装置,其使得能够经由语音命令进行人机交互。iot边缘装置是基于iot云的服务的入口点。例如,在具有多个麦克风的智能扬声器实施方式中,本文所描述的技术可以显著地节省计算周期,同时不仅在bf方向改变之后提供“足够好”的性能而且针对所有其他类型的回声路径改变提供快速收敛,同时保持噪声鲁棒性。在iot边缘装置实施方式中,本文所描述的技术可以针对可能正在运行自动语音识别的后端系统增强由iot边缘装置接收的语音信号。
[0094]
本文所描述的用于非线性声学回声消除的技术可以在各种类型的音频处理装置上实现。图4示出了根据本文所描述的技术配置的示例音频处理装置。在图4中所示的实施方式中,音频处理装置400可以是在半导体裸片上制造的单芯片ic装置或作为soc制造的单
芯片ic。在其他实施方式中,音频处理装置400可以是封装在单个半导体封装或者被布置或安装在公共基板例如pcb上的多个半导体封装中的多芯片模块。因此,图4中的音频处理装置400应当被认为是说明性意义的而非限制性意义的。
[0095]
除了其他部件之外,处理装置400包括音频i/o逻辑410、dsp 420、cpu 432、只读存储器(rom)434、随机存取存储器(ram)436和主机接口438。dsp 420、cpu 432、rom 434、ram 436和主机接口438耦接至一个或更多个总线430。dsp 420还通过多信道总线耦接至音频i/o逻辑410。音频i/o逻辑410耦接至扬声器-麦克风组件110。
[0096]
扬声器-麦克风组件110包括一个或更多个扬声器112和麦克风阵列114。麦克风阵列114包括多个麦克风,所述多个麦克风被布置成检测来自想要的声源(例如,人类语音)的声波,但是也可以检测/记录来自不想要的声源(例如,诸如来自扬声器112的回声)的声波。扬声器112耦接至音频i/o逻辑410中的数模转换器(dac)电路系统。扬声器112被配置成接收来自dac电路系统的模拟音频信号并将该音频信号作为声波发射。麦克风阵列114耦接至音频i/o逻辑410中的模数转换器(adc)电路系统。麦克风阵列114被配置成接收来自各种声源的声波并将其转换成被发送至adc电路系统的模拟音频信号。在一些实施方式中,麦克风阵列114中的麦克风中的一些或全部麦克风可以通过合适的多路复用器和缓冲器共享到音频i/o逻辑410中的adc电路系统的相同的通信信道。在其他实施方式中,麦克风阵列114中的每个麦克风可以具有到音频i/o逻辑410中的adc电路系统的单独的通信信道和adc电路系统的单独的实例。在一些实施方式(例如,智能电话)中,扬声器112和麦克风阵列114可以整体地形成为同一组件110。在一些实施方式(例如,电话会议装置)中,扬声器112和麦克风阵列114可以是布置在被安装在组件110的壳体内或壳体上的公共基板(例如,pcb)上的单独的部件。在又一实施方式中,组件110可以不具有壳体,但是可以借助于扬声器112与麦克风阵列114的声学邻近而形成。
[0097]
音频i/o逻辑410包括被配置成处理在dsp 420与扬声器-麦克风组件110之间传递的信号的各种逻辑块和电路系统。例如,音频i/o逻辑410包括dac电路系统和adc电路系统。dac电路系统包括被配置成接收来自dsp 420的调制数字信号并将其转换成用于扬声器112的模拟音频信号的dac、放大器和适于进行信号处理的其他电路(例如,用于输入匹配、幅度限制、压缩、增益控制、参数或自适应均衡、相移等的电路)。adc电路系统包括被配置成接收来自麦克风阵列114中的麦克风的模拟音频信号并将其转换成被发送至dsp 420的调制数字信号的adc、放大器和适于进行信号处理的其他电路(例如,用于输入匹配、幅度限制、压缩、增益控制、参数或自适应均衡、相移等的电路)。
[0098]
dsp 420包括被配置成处理在音频i/o逻辑410与耦接至总线430的各种部件之间传递的数字信号的各种逻辑块和电路系统。例如,dsp 420包括被配置成接收来自处理装置400中的其他部件的数字音频数据(例如,一系列字节),并将所接收的音频数据转换成被发送至音频i/o逻辑410的调制数字信号(例如,比特流)的电路系统。dsp 420还包括被配置成接收来自音频i/o逻辑410的调制数字信号并将所接收的信号转换成数字音频数据的电路系统。在图4中所示的实施方式中,dsp 420包括打断子系统(biss)逻辑422。biss逻辑422包括根据本文所描述的非线性回声消除技术配置的空间滤波逻辑块(具有空间滤波器f
sf
)、具有线性自适应滤波器的aec逻辑块和加法器逻辑块。空间滤波逻辑块可以实现bf逻辑块,或者可以被实现为bf逻辑块的一部分。biss逻辑422还包括被配置成控制空间滤波逻辑块、
aec逻辑块和加法器逻辑块的操作的控制寄存器,以及在其逻辑块内并与dsp 420的其他块和/或与处理装置400中的各种部件共享信号数据的共享存储器(例如,ram)。biss逻辑422还可以包括可编程状态机(psm)。psm可以被实现为包括其自身的微控制器的微代码引擎,其可以从微代码存储器提取指令并使用共享存储器获得针对其指令的操作数。psm被配置成通过对与其控制的硬件功能共置的内部硬件寄存器(ihr)进行编程来对硬件电路系统实行细粒度控制。
[0099]
总线430可以包括一个或更多个总线,例如系统互连和外围互连。系统互连可以是单级或多级高级高性能总线(ahb),该单级或多级高级高性能总线(ahb)被配置为将cpu 432耦接至处理装置400的其他部件的接口,以及各种部件与外围互连之间的数据和控制接口。外围互连可以是在cpu 432与其外围设备以及其他资源(例如,系统资源、i/o块、直接存储器访问(dma)控制器等)之间提供主要数据和控制接口的高级可扩展接口(axi)总线,其可以被编程成在外围块之间传递数据而不给cpu增加负担。
[0100]
cpu 432包括被配置成执行可以被存储在rom 434、ram 436或闪速存储器(未示出)中的指令的一个或更多个处理核。rom 434是被配置用于存储启动例程、配置参数以及其他固件参数和设置的只读存储器(或其他合适的非易失性存储介质)。ram 436是被配置用于存储通过cpu 432访问的数据和固件指令的易失性存储器。闪速存储器如果存在则可以是被配置用于存储数据、程序和/或其他固件指令的嵌入式或外部非易失性存储器(例如,nand闪存、nor闪存等)。
[0101]
主机接口438可以包括控制寄存器、数据寄存器和被配置成在dsp420与主机(未示出)之间传递数据的其他电路系统。主机可以是布置在片上的微控制器子系统、片外ic装置(例如,soc)和/或外部计算机系统。主机可以包括其自身的cpu,该cpu可操作以执行主机应用或被配置成(除其他功能之外)发送、接收和/或处理音频数据的其他固件/软件。在一些实施方式中,可以在同一处理装置400上实例化多个通信电路系统和/或主机以针对通过装置400发送、接收或以其他方式处理的音频信号和/或其他信号提供通过各种协议(例如,诸如蓝牙和/或wi-fi)的通信。在一些实施方式(例如,诸如智能电话)中,可以将应用处理器(ap)实例化为耦接至接口438的片上主机以提供各种应用和软件程序的执行。
[0102]
在操作中,dsp 420通过总线430(例如,从主机接口438)接收音频数据(例如,一系列字节)。dsp 420将所接收的音频数据转换成调制数字信号(例如,比特流),该调制数字信号作为参考信号x(n)被发送至biss逻辑422。该调制数字信号还被发送至音频i/o逻辑410。音频i/o逻辑410将所接收的数字信号转换成被发送至扬声器112的模拟音频信号。麦克风阵列114中的麦克风拾取来自近端语音的声波以及来自扬声器112的线性回声和非线性回声(如果存在)。麦克风阵列114中的麦克风将所接收的声波转换成被发送至音频i/o逻辑410的对应的模拟音频信号。音频i/o逻辑410将所接收的模拟音频信号转换成被发送至dsp 420中的biss逻辑422的多信道麦克风数字信号
[0103]
在一些实施方式中,音频处理装置400可以配置有单个aec逻辑(例如,在图1a中的系统100a中),以执行图2a中所示的用于非线性回声消除的方法。在一些实施方式中,音频处理装置400可以配置有多个aec逻辑的实例,其中每个麦克风信号/信道应用一个aec实例(例如,在图1b中的系统100b中),以执行图2b中所示的用于非线性回声消除的方法。在一些实施方式中,音频处理装置400可以配置有单个aec逻辑,该单个aec逻辑被应用于空间滤波
器输出(例如,在图1c中的系统100c中),以执行图2c中所示的用于非线性回声消除的方法。应当注意,音频处理装置400可以被配置在具有其他部件和硬件电路的系统中,并且出于该原因,对在图1a至图1c的系统100a至系统100c的操作环境中实现的音频处理装置的描述应当被视为是说明性意义的而非限制性意义的。
[0104]
图5是示出根据各种实施方式的主机装置500的框图。主机装置500可以完全或部分地包括和/或操作图1中的主机140,和/或通过主机接口438耦接至图4的音频处理装置400。图5中所示的主机装置500可以作为独立装置操作,或者可以连接(例如,联网)至其他机器。在联网部署中,主机装置500可以被实现为基于云的物理基础架构中的服务器刀片、服务器-客户端网络中的服务器或客户端机器、p2p(或分布式)网络中的对等机等。
[0105]
主机装置500可以以各种形式因素(例如,片上装置、计算机系统等)来实现,在主机装置500内可以执行多组指令以使主机装置500执行本文所描述的操作和功能中的一个或更多个操作和功能。例如,在各种实施方式中,主机装置500可以是soc装置、iot装置、服务器计算机、服务器刀片、客户端计算机、个人计算机(pc)、平板电脑、机顶盒(stb)、个人数字助理(pda)、智能电话、网络设备、扬声器电话、手持多媒体装置、手持视频播放器、手持游戏装置或能够(顺序地或以其他方式)执行指定机器要采取的动作的一组指令的任何其他机器。在主机装置500被实现为片上装置(例如,soc、iot装置等)时,其示出的部件可以驻留在公共载体基板例如ic裸片基板、多芯片模块基板等上。在主机装置500被实现为计算机系统(例如,服务器刀片、服务器计算机、pc等)的情况下,其示出的部件可以是单独的集成电路和/或被布置在一个或更多个pcb基板上的分立部件。此外,尽管在图5中仅示出了单个主机装置500,但是在各种操作环境中,术语“装置”也可以通常被理解为包括单独地或共同地执行一组(或多组)指令以执行本文所描述的操作和功能中的任何一个或更多个操作和功能的机器的任何集合。
[0106]
主机装置500包括耦接至一个或更多个总线501的处理器502、存储器503、数据存储接口504、显示接口505、通信接口506、用户输入接口507和音频接口508。在主机装置500被实现为片上装置时,总线501可以包括一种或更多种片上总线,例如系统互连(例如,单级或多级ahb)和外围互连(例如,axi总线)。在主机装置500被实现为计算机系统时,总线501可以包括一种或更多种计算机总线,例如芯片组南/北桥(其协调处理器502与其他部件之间的通信)和各种外围总线(例如,协调至各种计算机外围装置的通信的pci、串行ata等)。
[0107]
主机装置500包括处理器502。在主机装置500被实现为片上装置的情况下,处理器502可以包括arm处理器、risc处理器、微处理器、应用处理器、控制器、专用处理器、dsp、asic、fpga等。在主机装置500被实现为计算机系统的情况下,处理器502可以包括一个或更多个cpu。
[0108]
主机装置500还包括存储器503。存储器503可以包括用于存储用于处理器502的静态数据和指令的非易失性存储器(例如,rom)、用于存储用于处理器502的数据和可执行指令的易失性存储器(例如,ram)、和/或用于存储可由处理器502执行以实现本文所描述的操作和功能的至少一部分的固件(例如,控制算法)的闪速存储器。存储器503的各部分也可以被动态分配以提供缓存、缓冲和/或其他基于存储器的功能。存储器503还可以包括可以存储一组或更多组软件指令的可移除存储器装置。这样的软件指令还可以经由通信接口506在网络上发送或接收。在通过主机装置500执行软件指令期间,软件指令还可以完全地或至
少部分地驻留在非暂态计算机可读存储介质上和/或处理器502内。
[0109]
主机装置500还包括数据存储接口504。数据存储接口504被配置成将主机装置500连接至被配置用于持久存储主机装置500所使用的数据和信息的存储装置。这样的数据存储装置可以包括各种介质类型的持久性存储介质,包括但不限于电磁盘(例如,硬盘)、光存储盘(例如,cd-rom)、磁光存储盘、固态驱动器、通用串行总线(usb)闪存驱动器等。
[0110]
主机装置500还包括显示接口505和通信接口506。显示接口505被配置成将主机装置500连接至显示装置(例如,液晶显示器(lcd)、触摸屏、计算机监视器、电视屏幕等),并且为显示接口协议提供软件和硬件支持。通信接口506被配置成向其他计算系统/装置发送数据以及从其他计算系统/装置接收数据。例如,通信接口506可以包括用于与usb外围装置通信的usb控制器和总线、用于通过有线通信网络通信的网络接口卡(nic)以及/或者可以实现多种无线数据传输协议例如ieee 802.11(wi-fi)和蓝牙的无线网卡。
[0111]
主机装置500还包括用户输入接口507和音频接口508。用户输入接口507被配置成将主机装置500连接至各种输入装置,例如字母数字输入装置(例如,触敏式键盘或打字机式键盘)、提供空间输入数据的定点装置(例如,计算机鼠标)和/或可以将用户命令和其他用户生成信息传送至处理器502的任何其他合适的人机接口装置(hid)。音频接口508被配置成将主机装置500连接至各种音频装置(例如,麦克风、扬声器等)并且为各种音频输入/输出提供软件和硬件支持。
[0112]
本文所描述的用于非线性声学回声消除的技术的各种实施方式可以包括各种操作。这些操作可以由硬件部件、数字硬件和/或固件以及/或者其组合来执行和/或控制。如本文所使用的,术语“耦接至”可以意指直接连接或通过一个或更多个中间部件间接连接。通过各种片上总线提供的信号中的任何信号可以与其他信号进行时分复用并且可以通过一个或更多个公共裸片上总线提供。此外,电路部件或块之间的互连可以被示出为总线或示出为单个信号线。总线中的每个总线可以可替选地是一个或更多个单个信号线,并且单个信号线中的每个单个信号线可以可替选地是总线。
[0113]
某些实施方式可以被实现为计算机程序产品,该计算机程序产品可以包括存储在非暂态计算机可读介质例如诸如易失性存储器和/或非易失性存储器上的指令。这些指令可以用于对包括处理器(例如,cpu)或其等同物(例如,诸如处理核、处理引擎、微控制器等)的一个或更多个装置进行编程和/或配置,使得在通过处理器或其等同物执行时,这些指令使装置执行所描述的用于非线性回声消除的操作。计算机可读介质还可以包括用于以可由机器(例如,诸如装置或计算机)读取的形式(例如,软件、处理应用等)来存储或传输信息的一种或更多种机制。非暂态计算机可读存储介质可以包括但不限于电磁存储介质(例如,软盘、硬盘等)、光学存储介质(例如,cd-rom)、磁光存储介质、只读存储器(rom)、随机存取存储器(ram)、可擦除可编程存储器(例如,eprom和eeprom)、闪速存储器或者其他现在已知或以后开发的适于存储信息的非暂态型介质。
[0114]
尽管在本文中以特定顺序示出并描述了电路和块的操作,但是在一些实施方式中,可以改变每个电路/块的操作的顺序,使得可以以相反的顺序执行某些操作,或者使得可以至少部分地与其他操作同时和/或并行地执行某些操作。在其他实施方式中,可以以间歇和/或交替的方式执行不同操作的指令或子操作。
[0115]
在前述说明书中,已经参照本发明的具体示例性实施方式描述了本发明。然而,将
明显的是,在不脱离如所附权利要求中阐述的本发明的更宽泛的精神和范围的情况下,可以对本发明进行各种修改和改变。因此,说明书和附图应当被认为是说明性意义的而非限制性意义的。
再多了解一些

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

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

相关文献