波束形成器和声学回声消除器(AEC)系统的制作方法
2021-01-28 12:01:22|296|起点商标网
优先权本申请是于2019年6月19日提交的美国非临时申请第16/446,277号的国际申请,该美国非临时申请要求于2018年6月25日提交的美国临时申请第62/689,488号以及于2019年3月18日提交的美国临时申请第62/819,835号的优先权和权益,上述所有申请通过引用整体并入本文。本公开内容涉及声学回声消除器系统中的信号处理。
背景技术:
:在音频处理系统中,波束形成器(bf)是将麦克风阵列的空间响应引导朝向目标音频源的信号处理机制。使用波束形成器的音频处理系统的示例包括但不限于免提电话套装、扬声器电话套装和语音识别系统。这样的系统的关键问题是对声学(声音)干扰的正确处理。例如,通过扬声器设备播放的声学音频信号(例如,语音)经受房间冲激响应(rir)并且被麦克风阵列中的麦克风捕获。rir是如下的传递函数:其表征声学信号在受限空间(例如,在房间、车辆等内部)中的传播并且通常产生声学回声。这样的声学回声是不想要的,因为它通常会主导目标声学信号。为了消除不想要的声学回声,音频处理系统通常使用某种声学回声消除器(aec)机制。然而,aec处理在计算上非常昂贵。在计算能力有限的系统例如嵌入式系统(例如,片上系统或soc)以及为后端自动语音识别系统(例如,比如amazonalexa、googlehome等)提供前端处理的物联网(iot)设备中,这个问题更加严重。附图说明图1示出了根据一些实施方式的用于声学回声消除的示例系统。图2示出了根据示例实施方式的用于声学回声消除的方法的流程图。图3a至图3e示出了反映所描述的用于声学回声消除的技术的模拟研究的各种图。图4示出了根据一些实施方式的示例音频处理设备的示意图。图5示出了根据一些实施方式的示例主机设备的示意图。具体实施方式以下描述阐述了许多具体细节例如具体系统、部件、方法等的示例,以便提供对所描述的用于在波束形成之后进行声学回声消除的技术的各种实施方式的良好理解。然而,对于本领域技术人员将明显的是,可以在没有这些具体细节的情况下实践至少一些实施方式。在其他实例中,为了避免使本文所描述的主题不必要地模糊,未详细描述而是以简单的框图格式呈现公知的部件、元件或方法。因此,在下文中阐述的具体细节仅是示例性的。特定实现方式可以不同于这些示例性细节,并且仍然被认为在本发明的精神和范围内。在说明书中对“实施方式”、“一个实施方式”、“示例实施方式”、“一些实施方式”和“各种实施方式”的引用意指结合实施方式描述的特定特征、结构、步骤、操作或特性包括在本发明的至少一个实施方式中。此外,在说明书中各个地方出现的短语“实施方式”、“一个实施方式”、“示例实施方式”、“一些实施方式”和“各种实施方式”不一定都指的是相同的实施方式。本描述包括对附图的参考,这些附图形成具体实施方式的一部分。附图示出了根据示例性实施方式的图示。以足够详细的方式对在本文中也可以被称为“示例”的这些实施方式进行描述,以使得本领域技术人员能够实践本文所描述的要求保护的主题的实施方式。在不脱离所要求保护的主题的范围和精神的情况下,可以对实施方式进行组合、可以利用其他实施方式或者可以进行结构改变、逻辑改变和电气改变。应当理解,本文所描述的实施方式不旨在限制主题的范围,而是使得本领域技术人员能够实践、制造和/或使用本主题。本文描述了用于在提供音频处理的设备中进行声学回声消除的技术的各种实施方式。这样的设备的示例包括但不限于个人计算机(例如,膝上型计算机、笔记本计算机等)、移动计算设备(例如,平板电脑、平板计算机等)、电话会议设备(例如,扬声器电话)、移动通信设备(例如,智能电话等)、被配置用于音频处理的印刷电路板(pcb)模块、片上系统(soc)半导体设备和多芯片半导体封装、物联网(iot)无线设备、以及用于音频处理的其他类似的电子设备、计算设备和片上设备。波束形成器(bf)和声学回声消除器(aec)是前端系统中的关键部件,前端系统增强用于后端自动语音识别系统例如amazonalexa或googlehome的音频信号。通常,期望将aec放置在bf之前,以便消除在bf方向改变时aec重新适应的需求。例如,(在云上或在本地计算机上运行的)后端自动语音识别系统需要尽可能干净的音频信号。通常,麦克风阵列中的麦克风接收声学(声音)波并将其转换成模拟音频信号,然后将该模拟音频信号数字化。然而,所接收的声波可能已经被附近设备(例如,打开的电视机等)或来自扬声器设备的声学回声干扰(如本文所使用的,“扬声器设备”和“扬声器”是指被配置成将电信号转换成声学波/声音波的电声设备。)例如,一个人(其语音需要进行语音识别)可能在扬声器正在播放背景音乐或其他多媒体内容的同时讲话。由于这样的回放连同讲话者的语音一起被麦克风阵列捕获,因此在使用bf将所接收的信号定向到讲话者之前,使用aec消除干扰信号。这种aec先于bf(aec+bf)方法的一个缺点在于:每个麦克风需要一个aec实例,并且对于硬件资源有限的嵌入式系统而言在计算上昂贵。例如,在需要识别和响应语音命令的智能扬声器应用中,由于扬声器靠近麦克风阵列,因此来自扬声器的声学回声通常主导目标语音信号。在这样的情况下,为了获得最佳消除性能,aec+bf方法比aec后于bf(bf+aec)方法更优选。然而,在一些操作环境中,需要在作为进入基于iot云服务的入口点的边缘设备上实现回声消除。这样的边缘设备通常不具有进行大量计算的能力。因此,在这样的操作环境中,计算资源的限制是最主要的因素,并且bf+aec方法成为用于回声消除的选择。在bf+aec方法中,波束形成的音频信号将包括任何不想要的回放干扰或回声干扰,并且因此,每当bf对所接收的信号进行重新定向(例如,重新定向到不同的讲话者)时,aec自身就需要进行有效地重新适应。为了解决bf+aec方法中的这种重新适应问题,本文所描述的技术为aec提供在所选择的空间方向上预先计算的自适应滤波器系数。预先计算的滤波器系数作为矩阵被存储在存储器中,并且在bf改变其方向时被重新用于后续的自适应。所存储的滤波器系数不仅在bf方向变化之后而且在房间冲激响应(rir)变化之后(例如,由于讲话者的移动)提供用于使aec较快适应的先验信息。本文所描述的技术还提供每个时间帧进行多次滤波器自适应的背景滤波和每个时间帧进行一次滤波器自适应的前景滤波。以这种方式使用,本文所描述的背景-前景滤波实现了快速收敛和噪声鲁棒性两者,这两者在自适应滤波中原本是相互对立的因素。以这种方式,本文所描述的技术考虑实用的bf+aec解决方案:即使在计算能力有限的系统中,bf+aec解决方案仍然可以实现与aec+bf解决方案的性能非常接近的性能。波束形成信号y在本文中被概括为以下函数的输出:所述函数根据式(1)将一些波束形成滤波器应用于未经处理的多信道麦克风信号d:y=fbf(d)(1)根据本文所描述的用于回声消除的技术,将aec应用于bf输出(波束形成)信号y,同时自适应优化公式(2)中的量:w=wa+b(2)其中,w是长度为l的组合aec滤波器系数向量,14/是大小为lxn的aec滤波器系数矩阵,所述矩阵保存在若干bf方向上预先计算并且存储在存储器或其他持久性存储设备中的n个滤波器,b是长度为l的“偏置”滤波器系数向量,并且a是长度为n的混合系数向量(例如,w是w中先前计算的滤波器的线性组合,先前计算的滤波器中的每个滤波器由a中对应的混合系数和偏置滤波器b加权)。更具体地,在操作期间(例如,实时地)通过根据式(3)使残余回声能量最小化来优化组合aec滤波器系数向量w:e[e(n)2]=e[(y(n)-w(n)tx(n))2](3)其中,e是残余回声,y是bf输出信号,x是参考信号(例如,提供给扬声器的信号),n是时间索引,并且e[]是期望(平均)运算符。由于固定的扬声器-麦克风几何形状以及扬声器与麦克风阵列的邻近,因此智能扬声器应用的回声路径的主要部分归因于声音的直接路径和扬声器-麦克风壳体内的早期反射。对于可以进行如下假设的大多数实际应用可以进行概括:在扬声器和麦克风阵列位置在其使用期间保持不变,并且房间中的混响条件足够好,除了波束形成和aec之外不需要音频增强算法。然后,应该可以在制造期间、在设备启动时或根据终端用户命令的需要离线校准矩阵w。实际上,只要有足够的可用计算资源,也应该可以实时更新矩阵w以跟上rir的变化。矩阵w应该被更新的频率最终将取决于本文所描述的技术应该能够适应大多数情况的应用场景。假设矩阵w可以(例如,根据特定的音频处理设备和/或其具体类型)保持恒定,则根据本文所描述的技术估计向量a和向量b的一种方式是通过自适应滤波对向量a和向量b进行联合优化。这以增加计算复杂度为代价产生了最佳的总滤波器系数向量w,这取决于随时间推移执行自适应滤波的频率可能是相当大的。自适应滤波是一种连续调节aec的滤波器系数以反映变化的声学环境(例如,当其他讲话者开始发言时、当麦克风或扬声器被物理移动时等)从而(例如,通过根据式(3)使随时间推移的残余回声能量最小化)实现尽可能最佳的滤波输出的技术。该技术可以随时间推移在时域中以采样方式实现或者在频域中以块方式(block-wise)实现。根据本文所描述的技术的另一种简化的方法是离线计算向量a以及矩阵w、将a和w存储在一个或更多个查找表中并且然后经由插值获得a中用于未被w覆盖的其他中间方向的混合系数。向量a可以是实数或复数,这取决于实现自适应滤波的域是时域还是频域。然后,经由自适应滤波通过偏置系数向量b对回波路径中无法通过w中的滤波器系数的混合来解释的任何微小变化进行建模。传统上,自适应滤波中的两个主要对立因素是收敛速度和噪声鲁棒性,其中,通常为了实现一个而牺牲另一个。根据本文所描述的技术,这种折衷可以通过背景-前景滤波和每个时间帧进行多次自适应来克服,这两者对于aec+bf而言通常成本高昂,但是可以被如本文所描述的bf+aec加以利用。背景-前景滤波是一种自适应滤波技术,其中涉及两个单独的自适应滤波器(“背景”和“前景”),对它们经过适当组合以使系统性能最大化。通常,背景滤波器被设计成以降低噪声稳定度为代价在短时间段内快速适应并消除尽可能多的回声,而前景滤波器则从长远的角度出发以收敛速度慢为代价谨慎调整以提供稳定且最佳的输出。为了使bf+aec自适应滤波的计算成本最小化,本文所描述的技术提供在使用预先计算的aec滤波器系数的子集的同时,仅在给定时间帧内使背景滤波器进行多次自适应。特别地,式(4):wb(n)=w(θ)a(θ)+b(n)(4)表示背景滤波器系数,并且式(5):eb00=y(n)~wb(n)tx(n)(5)表示背景滤波器输出,其中,wb(n)是背景滤波器系数向量,w(θ)是基于方向角θ选择的预先计算的滤波器系数矩阵的子集,α(θ)是基于方向角θ选择的混合系数向量的子集,b(n)是偏置滤波器系数向量,eb(n)是背景滤波器输出信号,y(n)是来自bf的波束形成输出信号,x(n)是提供给扬声器的参考信号,并且n是时间索引。矩阵w和向量a对bf方向的依赖性由方向角θ(其可以是方位角、仰角或方位角和仰角两者)明确地指示。通过经由自适应滤波每个时间帧仅更新向量b多次,同时仅使用在用于滤波的预期目标(例如,界定目标方向的两个最近的滤波器)附近先前计算的w中的aec滤波器和a中的混合系数,可以实现显著地节省计算成本。另一方面,前景滤波器利用其自身滤波器系数每个时间帧仅自适应一次(或者与背景滤波器相比较不频繁)。特别地,式(6):ef(n)=y(n)-wf(n)tx(n)(6)表示前景滤波器输出,其中,ef(n)是前景滤波器输出信号,y(n)是来自bf的波束形成输出信号,x(n)是提供给扬声器的参考信号,并且n是时间索引。根据本文所描述的技术,可以选择来自两个滤波器的使残余回声能量最小化(根据式(3))的输出作为aec信号输出e(n)。例如,在一些实施方式中,可以选择输出信号eb(n)和ef(n)中的较小者以便使回声消除最大化。在其他实施方式中,可以通过为每个输出信号分配适当的权重来生成输出信号eb(n)和ef(n)的线性组合。通常,本文所描述的技术提供将偏置系数向量b每个时间帧更新若干次,同时将前景系数较不频繁地(例如,每个时间帧一次)更新。为了比前景滤波器收敛快,背景滤波器处理更加积极(例如,每个时间帧对其滤波器系数进行多次自适应,或者将其自适应步长大小设置为相对大)。另一方面,前景滤波处理更加保守(例如,每个时间帧对其滤波器系数进行至少一次自适应,但与背景滤波器系数相比较不频繁)。以这种方式,即使在存在噪声的情况下,前景滤波器也能够保持收敛到最佳解,而背景滤波器以其偏置系数向量b被更新的方式能够捕捉到房间内任何快速变化和动态。除了本文所描述的方式之外,还存在实现背景-前景滤波的其他方式;尽管如此,通常还需要处理打断(barge-in)场景和双端通话(double-talk)场景并且应该存在于真正鲁棒的系统中。(“双端通话”是在电话会议期间当本地/近端讲话者和远程/远端讲话者同时发言时使得本地语音信号和远程语音信号被本地麦克风同时捕获时发生的场景。“打断”是与双端通话类似的场景,不同之处在于,实时远程讲话者被可能正在回放所捕获的语音信号本身或多媒体信号例如音乐的设备/机器代替。)在选择bf+aec系统的整体输出信号方面,一种选择标准可以是最小残余信号能量,即可以选择具有较小能量(例如较弱信号)的背景输出信号eb(n)或前景输出信号ef(n)以便消除尽可能多的回声。如果自适应滤波是在频域中实现的,则可以按频率段(bin)或频率子带执行输出选择。为了获得较平滑的输出信号,可以使用不同类型的选择标准,例如,可以通过向一个输出信号赋予比另一个输出信号大的权重来使用输出信号eb(n)和ef(n)的线性组合。可替选地或另外地,可以使用更精细的算法来控制bf+aec系统并基于输出信号eb(n)和ef(n)来选择其输出信号,所述算法包括用于实现快速收敛和/或噪声鲁棒性的其他现有的背景-前景滤波技术。通过对以上描述的过程进行组合,本文所描述的用于回声消除的技术从空间角度和时间角度提供局部最佳信号输出和全局最佳信号输出。从空间角度来看,所描述的技术捕获并利用从声学空间而不是仅从一个回声路径采样的多个aec滤波器。从时间角度来看,所描述的技术可以跟踪扬声器与麦克风阵列之间的回声路径中的缓慢变化和快速变化以同时实现快速自适应和噪声稳定度。图1示出了根据示例实施方式的用于声学回声消除的系统100。系统100包括耦接至音频处理设备120的扬声器-麦克风组件110,该音频处理设备120耦接至主机140。在一些实施方式(例如,电话会议设备)中,系统100中的部件可以被集成到同一壳体中作为独立装置。在其他实施方式(例如,智能扬声器系统)中,系统100中的部件可以是通过一个或更多个网络和/或通信线路耦接的单独元件。因此,图1中的系统100应被认为是说明性而非限制性的。扬声器-麦克风组件110包括至少一个扬声器112和麦克风阵列114,这两者以声学邻近的方式布置,使得麦克风阵列可以检测到来自想要的声源(例如,人类语音)的声波和来自不想要的声源(例如,来自扬声器112的声学回声113)的声波。扬声器112被配置成接收来自音频处理设备120的模拟音频信号并将该音频信号作为声波发射。麦克风阵列114包括多个麦克风,所述多个麦克风被配置成接收来自各种声源的声波并将所接收的声波转换成被发送至音频处理设备120的模拟音频信号。在一些实施方式(例如,智能电话)中,扬声器112和麦克风阵列114可以整体地形成为同一组件110。在一些实施方式(例如,电话会议设备)中,扬声器112和麦克风阵列114可以是布置在被安装在组件110的壳体内或壳体上的公共基板(例如,pcb)上的单独部件。在又一实施方式中,组件110可以不具有壳体,但是可以借助于扬声器112与麦克风阵列114的声学邻近而形成。音频处理设备120包括bf逻辑124和aec+w逻辑126。如本文所使用的,“逻辑”是指具有一个或更多个电路的硬件块,所述一个或更多个电路包括被配置成处理模拟信号和/或数字信号并响应于由处理器或其等同物执行的控制信号和/或固件指令而执行一个或更多个操作的各种电子部件。这样的电子部件的示例包括但不限于晶体管、二极管、逻辑门、状态机、微代码引擎以及/或者可以被配置成响应于控制信号和/或固件指令而控制硬件的其他电路块和模拟/数字电路系统。在一些实施方式中,音频处理设备120可以是在半导体裸片(die)上制造的单芯片集成电路(ic)设备或作为片上系统(soc)制造的单芯片ic。在其他实施方式中,音频处理设备120可以是封装在单个半导体封装或者被布置或安装在公共基板例如pcb上的多个半导体封装中的多芯片模块。在一些实施方式中,bf逻辑124和aec+w逻辑126可以被实现为音频处理设备120的数字信号处理器(dsp)内的硬件电路。在各种实施方式中,音频处理设备120可以包括附加部件(未示出),例如音频输入/输出(eo)逻辑、中央处理器(cpu)、存储器以及用于连接至主机140的一个或更多个接口。主机140被耦接成与音频处理设备120通信。在一些实施方式中,主机140可以被实现为独立设备或计算系统。例如,主机140可以与音频处理设备120一起在片上实现为soc设备或物联网(iot)边缘设备。在另一示例中,主机140可以被实现为台式计算机、膝上型计算机、电话会议设备(例如,扬声器电话)等。在其他实施方式中,主机140可以在联网环境中实现为通过一个或更多个网络以通信方式连接至音频处理设备120的服务器计算机或服务器刀片。根据本文所描述的技术,音频处理设备120被配置成基于预先计算的滤波器系数矩阵w、混合系数向量a和偏置滤波器系数向量b来提供bf+aec回声消除。例如,音频处理设备120被配置成:每个时间帧计算偏置系数向量b多次;基于偏置系数向量b、预先计算的滤波器系数矩阵w和混合系数向量a计算背景滤波器系数wb(n);基于背景滤波器系数wb(n)应用背景滤波器以生成背景消除信号eb(n);以及至少基于背景消除信号eb(n)生成输出信号e(n)。在一些实施方式中,音频处理设备还被配置成基于前景滤波器系数wf(n)应用前景滤波器以生成前景消除信号ef(n),以及基于背景消除信号eb(n)和前景消除信号e^(n)两者选择(或以其他方式确定)输出信号e(n)。在操作中,音频处理设备120接收来自主机140的音频数据(例如,一系列字节)。音频数据可以是多媒体回放或远端语音。音频处理设备120(例如,其一个或更多个电路)最终将所接收的音频数据转换成被发送至扬声器112的模拟音频参考信号111。麦克风阵列114中的麦克风从近端语音以及来自扬声器112的声学回声113中拾取声波。麦克风阵列114中的麦克风将所接收的声波转换成被发送至音频处理设备120的对应的模拟音频信号。音频处理设备120(例如,其一个或更多个电路)接收模拟音频信号并将其转换成被发送至bf逻辑124调制数字信号。bf逻辑124对调制数字信号应用波束形成以将它们组合成波束形成信号。例如,bf逻辑124可以对来自每个麦克风的数字信号应用时间延迟补偿,以便对可能由于声源相对于每个麦克风的位置而导致的麦克风信号之间的相对时间延迟进行补偿。bf逻辑124还可以被配置成对来自一些麦克风的数字信号进行衰减,以放大来自其他麦克风的数字信号和/或改变来自一些麦克风或所有麦克风的数字信号的方向性。在一些实施方式中,bf逻辑124还可以使用从麦克风阵列114中的传感器接收的信号,以便跟踪移动的讲话者并相应地调整来自每个麦克风的数字信号。然后,bf逻辑124将所生成的波束形成信号连同其方向角θ一起发送至aec+w逻辑126。根据本文所描述的技术,aec+w逻辑126被配置成对参考信号111和从bf逻辑124接收的波束形成信号应用背景滤波逻辑126a和前景滤波逻辑126b以便生成输出信号115。例如,aec+w逻辑126每个时间帧连续计算偏置系数向量b多次。然后,aec+w逻辑126基于当前向量b、存储在一个或更多个查找表中的预先计算的滤波器系数矩阵w126c以及也可以本地存储的混合系数向量a来计算背景滤波器系数wb(n)。然后,aec+w逻辑126基于背景滤波器系数wb(n)应用背景滤波器逻辑126a并且基于前景滤波器系数wf(n)应用前景滤波器逻辑126b,以便分别生成背景消除信号eb(n)和前景消除信号ef(n)。然后,aec+w逻辑126基于背景消除信号eb(n)和前景消除信号ef(n),例如通过(例如基于残余信号能量)选择上述消除信号之一或者通过基于上述两个消除信号的组合应用一些其他选择标准来生成输出信号e(n)115。然后,所生成的输出信号115被发送至主机140用于进一步处理。在一些实施方式中,可以周期性地重新计算和更新滤波器系数矩阵w126c和混合系数向量a。例如,aec+w逻辑126(和/或音频处理设备120中的其他逻辑块)可以被配置成响应于终端用户重新校准设备的命令来重新计算矩阵w和向量a以最佳地匹配特定的声学环境。图2示出了根据本文所描述的技术的用于声学回声消除的示例方法的流程图。以下描述图2中的方法的操作,所述操作由bf逻辑和aec逻辑(例如,图1的音频处理设备120中的bf逻辑124和aec+w逻辑126)执行。然而,应当注意,各种实现方式和实施方式可以使用各种并且可能不同的部件来执行图2中的方法的操作。例如,在各种实施方式中,各种半导体设备——例如soc、现场可编程门阵列(fpga)、可编程逻辑器件(pld)、专用集成电路(asic)或其他集成电路器件——可以配置有固件指令,这些固件指令在由处理器和/或其他硬件部件(例如,微控制器、状态机等)执行时可操作成执行图2中的方法的操作。在另一示例中,在各种实施方式中,ic设备可以包括被配置成执行图2中的方法的操作的单芯片音频控制器或多芯片音频控制器。因此,下文中对图2中由音频处理设备中的bf逻辑和aec逻辑执行的方法的描述应被认为是说明性的而非限制性的。参照图2,根据输入操作202,多信道麦克风信号d被提供给bf逻辑,并且参考信号x被提供给音频处理设备中的aec逻辑。例如,以其他方式提供的用于发射至扬声器的参考信号被连续提供给音频处理设备中的aec逻辑。在操作204中,音频处理设备中的bf逻辑根据多信道麦克风信号d生成波束形成信号y。例如,bf逻辑可以接收与(接收参考信号x的)扬声器声学邻近的麦克风阵列中的对应麦克风相关联的调制数字信号。然后,bf逻辑对调制数字信号执行波束形成以将它们组合成波束形成信号y。作为波束形成处理的一部分,bf逻辑可以对来自每个麦克风的数字信号应用时间延迟补偿,可以使来自一些麦克风的数字信号衰减,可以将来自其他麦克风的数字信号放大,和/或可以改变来自一些麦克风或所有麦克风的数字信号的方向。在一些实施方式中,bf逻辑还可以使用从麦克风阵列中的传感器接收的信号,以便跟踪移动的讲话者并相应地调整来自每个麦克风的数字信号。然后,bf逻辑将生成的波束形成信号y及其方向角θ发送至aec逻辑用于进一步处理。在操作206中,aec逻辑将背景滤波器应用于波束形成信号y和参考信号x以便生成背景滤波器输出/消除信号eb。例如,aec逻辑基于方向角0从一个或更多个本地查找表中检索预先计算的滤波器系数矩阵w的子集和混合系数向量a的子集。然后,aec逻辑例如根据上式(4)基于当前向量b以及所检索的矩阵w和向量a值来计算背景滤波器系数wb。然后,aec逻辑例如根据上式(5)基于背景滤波器系数wb将背景滤波器逻辑应用于波束形成信号y和参考信号x,以便生成背景滤波器输出/消除信号eb。然后,aec逻辑将所生成的背景滤波器输出/消除信号eb作为输入提供给操作210,并且还可以周期性地将所计算的背景滤波器系数wb作为输入提供给操作214。在操作208中,aec逻辑根据上式(6)将前景滤波器应用于波束形成信号y和参考信号x,以便生成前景滤波器输出/消除信号e^。然后,aec逻辑将所生成的前景滤波器输出/消除信号ef作为输入提供给操作210,并且还可以周期性地将所计算的前景滤波器系数wf作为输入提供给操作214。在操作210中,aec逻辑基于背景滤波器输出/消除信号eb和前景滤波器输出/消除信号e^生成输出信号e。例如,在一些实施方式中,aec逻辑可以选择具有较低残余信号能量的消除信号(eb或e^)作为输出信号e。在其他实施方式中,aec逻辑可以通过赋予消除信号eb和ef中的每一个不同的权重并且然后将他们相应地组合来生成输出信号e。在又一实施方式中,aec逻辑可以应用甚至更复杂的算法来根据消除信号eb和e^生成输出信号e。然后,所生成的输出信号e经输出操作212被发送至主机。在一些实施方式中,aec逻辑还可以执行操作214和216以更新滤波器系数矩阵w和/或混合系数向量a。操作214和216可以(例如,在设备制造后的初启期间)偶尔执行一次或者(例如,在通过终端用户的命令发起的校准过程期间)根据需要周期性地执行。另外或可替选地,操作214和216可以与图2中的方法的操作202、204、206、208、210和212中的一些或全部同时执行。更新程序可以通过(例如,在设备启动期间)发出(playout)校准信号来离线执行,或者可以在日常使用中在幕后(behindthescene)实现。例如,如果新滤波器、wb或wf在方向角θ与存储器中的滤波器的方向角一致时实现较多消除,则可以实时地替换存储在w中的现有滤波器。另外,仅出于更新的目的,另一bf+aec处理可以与主处理同时或依次实现。更具体地,虽然主bf+aec处理的任务是向操作212提供实际输出,但是额外处理的任务是在其自身的bf扫描通过目标角度时周期性地更新矩阵w。可以在这样的场景中实现双端通话检测器以避免在双端通话期间更新所存储的滤波器。如果没有足够的计算资源用于第二bf+aec处理,则可以强制执行某些限制条件来为第二处理分配资源(例如,可以在主bf+aec已经充分收敛且充分稳定之后将处理时间从主处理转移到第二处理)。在操作214中,aec逻辑选择背景滤波器系数wb或前景滤波器系数wf中被提供给操作216的一个。可以简单地基于操作210进行选择使得具有比其他滤波器的消除多的消除的滤波器被选中,或者可以涉及更严格的标准以确保将最佳aec滤波器系数存储在存储器中。在操作216中,aec逻辑接收在操作214中选择的滤波器系数和从操作204接收的方向角θ作为输入。在存储处理期间,aec逻辑将保存在存储器中的滤波器系数矩阵w和/或混合系数向量a更新。可以在没有任何限制的情况下强制替换先前存在的w和a(即完全刷新),或者可以仅在新滤波器满足特定标准(例如,新滤波器比旧滤波器实现更多消除)的情况下执行替换。在检索处理期间,与方向角θ对应的矩阵w和向量a的子集被作为输入提供给操作206。以这种方式,aec逻辑使用操作214和216周期性地更新并连续利用正在处理的音频信号的空间角度。与常规的aec处理相比,本文所描述的用于声学回声消除的技术提供了显著的改进,这使得有可能将bf+aec应用于嵌入式系统、边缘设备以及计算能力有限的其他系统中。例如,在常规的aec+bf处理中,为每个麦克风分配一个aec的成本太高,因为应用背景-前景滤波用于噪声稳定将使本已繁重的计算负荷加倍。相比之下,本文所描述的技术为计算能力有限的系统/设备提供了利用背景滤波和前景滤波的实用、鲁棒的bf+aec解决方案。根据本文所描述的技术,改进的一个方面是如何根据bf方向变化(例如,方向角θ的变化)来更新和重新使用所计算的aec滤波器系数和混合系数(例如,分别为矩阵w和向量a)。这是常规自适应滤波算法的简化,因为w中的滤波器系数和a中的混合系数与b中的偏置滤波器系数分开更新,并且与通常情况相比较不频繁,但仍然采用完全优化策略。此外,改进的这一方面为应该使用多少个滤波器n提供了指引(例如,在一些实施方式中,仅6到8个滤波器就足以覆盖整个房间)。根据本文所描述的技术,改进的另一方面是如何将背景滤波合并到所描述的bf+aec解决方案中。仅由每个时间帧进行多次自适应的背景滤波器使用滤波器系数矩阵w和混合系数向量a以便估计偏置系数向量b。此外,从背景滤波器的输出和前景滤波器的输出之中或者基于背景滤波器的输出和前景滤波器的输出选择最终的bf+aec输出信号e。以这种方式,本文所描述的技术同时实现快速收敛和噪声鲁棒性,这使得能够在计算能力有限的系统/设备上实际实现bf+aec处理。图3a至图3e示出了模拟研究的图,执行该模拟研究以基于本文所描述的用于aec的技术来验证所提出的解决方案的有效性。通常,这样的模拟研究是用于预测信号处理结果的可靠机制,并且经常被用作在数字信号处理领域构建实际解决方案的第一步。图3a示出了在模拟研究中使用的空间布置305的示意图。布置305包括扬声器312、8元线性麦克风阵列314和八个声音目标316(编号为#1至#8),它们全部在混响时间为128毫秒(例如,在16khz为2048个样本)的4米x4米x4米的房间内。在布置305中,模拟的aec逻辑中的滤波器的数量n被设置为等于2,其中,在bf被引导朝向目标#1和#8(即,布置305中bf覆盖的边缘处)时计算的aec滤波器被存储在矩阵w中。图3b示出了在图3a的布置305中被设计成指向目标316的bf的方向性图(directivitypattern)的极坐标图315,其示出被bf覆盖的大致60°区域。图3c示出了在5秒时间标记之后当bf方向(例如,波束形成信号y的方向)从一个目标316变成布置305中指定的bf区域内的另一目标时,混合系数向量a的计算值的曲线。在图3c的曲线中,元素a(1)对应于存储在矩阵w中的两个aec滤波器之一的混合系数,并且元素a(2)对应于存储在矩阵w中的两个aec滤波器中的另一个的混合系数。曲线325a示出了当bf方向在5秒时间标记之后从目标#1变成目标#8时,a(1)混合系数和a(2)混合系数随时间推移的计算值。类似地,曲线图325b示出了当bf方向从目标#2变成目标#7时,a(1)混合系数和a(2)混合系数的计算值;曲线图325c示出了当bf方向从目标#3变成目标#6时,a(1)混合系数和a(2)混合系数的计算值;并且曲线325d示出了当bf方向从目标#4变成目标#5时,a(1)混合系数和a(2)混合系数的计算值。下面的表1示出了在对应目标位置处的a(1)和a(2)的时间平均值。表1时间平均混合系数值目标#12345678a(1)1.0000.9820.7550.4510.2260.1200.0480.000a(2)0.0000.0230.1880.4110.6350.8340.9751.002由于对于该特定示例,估计是在时域中执行的,因此在图3c和表1中a(1)和a(2)的值是实数值。在频域中应该也可以这样做使得混合系数a为复数值,这可以致使频域aec的消除性能得到改善。图3c中示出的结果指示混合系数向量a的值在固定方向上实际上保持恒定,并且可以通过插值来获得中间值。具体地,曲线325a至325d示出了当bf突然(例如,在5秒标记处)从目标#1切换到目标#8、从目标#2切换到目标#7等时,混合系数的值需要如何改变。曲线325a至325d还示出当检测到这样的方向变化时需要使用什么系数值。此外,曲线325a至325d示出混合系数是目标位置的函数,这样的函数是连续的,并且可以对这样的函数进行插值。因此,根据本文所描述的技术的实际bf+aec解决方案不需要针对所有可能的位置存储混合系数向量a。图3c和表1中反应的模拟研究结果证实:以这种方式对混合系数值进行预计算提供可以用于计算能力有限的系统/设备的在计算上有效的解决方案。更重要的是,这还示出,在边缘位置(例如,目标#1和目标#8)处计算的aec滤波器足以覆盖整个区域(例如,根据图3a为近似2m的距离,并且根据图3b为近似60°角度)。因此,如果将bf+aec解决方案(例如,扬声器电话)设计为覆盖整个房间,则可以将房间划分为六个60°区域使得仅需要预先计算和存储n=6个aec滤波器。当需要在操作中生成滤波器消除信号时,可以基于方向角θ选择最接近的混合系数向量a,或者可以计算两个最接近的混合系数向量之间的插值向量a,然后将其与w中存储的两个最接近的aec滤波器一起用于背景滤波。图3d示出了频谱图335,其示出了对于在汽车发动机噪声被以20db信噪比(snr)添加至语音回声的语音回声,当bf方向在5秒标记处从目标#4变成目标#5时的四种情况的模拟输出:情况1:仅bf,无aec。情况2:aec先于bf,具有4次aec自适应(在bf变化方面最佳)。情况3:aec后于bf,具有4次aec自适应。情况4:aec后于bf,具有背景-前景滤波、4次背景滤波器自适应、1次前景滤波器自适应并且存储在目标#1和#8处计算的aec滤波器系数(例如,根据本文所描述的技术)。其中,aec自适应次数相等,曲线335示出在5秒标记之前aec(4)+bf情况和bf+aec(4)情况类似地执行,在5秒标记之后aec(4)+bf情况(如所预期的)没有遭受残余回声泄漏的影响,而bf+aec(4)情况遭受了残余回声泄漏的影响。另一方面,所提出的bf+2aec(4)+w情况(例如,根据本文所描述技术的解决方案)不仅能够减少这样的泄漏,而且与aec(4)+bf情况相比可以在开始时实现更多的消除。这表明了bf+2aec(4)+w情况通过利用先验信息快速收敛的整体能力。曲线335还示出,在bf+2aec(4)+w的情况下,其中驻留有大部分语音能量和信息的3khz以下的声学回声中的大多数可以在bf方向变化之后被立即去除。应当注意,图3d所示的bf方向从目标#4变成目标#5是最差的情况,因为起点(#4)和终点(#5)离区域边缘(#1和#8)最远,因此其他目标处的收敛速度将高得多。最好的情况是从目标#1变成目标#8,因为aec滤波器系数已经在先前的那些点处被计算。图3e示出了曲线345,其针对以下三种情况指示每个滤波器更新的计算操作数量与麦克风数量的关系:bf+aec,bf+2aec(4)+w(例如,根据本文所描述的技术)和aec+bf。曲线345示出随着麦克风的数量增加,对于常规aec+bf情况(直线350),操作数量呈线性增加,但对于bf+aec(直线346)情况和bf+2aec(4)+w(直线348)情况,操作数量保持不变。因此,曲线345中反映的模拟结果表明,与用于大麦克风阵列尺寸的常规aec+bf解决方案相比,根据本文所描述技术的实际bf+2aec(4)+w解决方案提供显著减少的计算操作。需要注意,图3c至图3e所示的模拟结果示出仅存储在麦克风阵列周围战略性地采样的6至8个aec滤波器就足够了。由于aec+w逻辑可以一次使用最少两个存储的滤波器,而与麦克风的数量无关,因此,如果底层设备或系统具有足够的存储器,则可以进一步增加滤波器的数量n,以便在不额外影响计算周期的情况下实现空间分辨率的提高。此外,当指向选定的bf方向之一时,如果背景滤波器系数wb或前景滤波器系数wf总体上提供比所存储的背景滤波器系数wb或前景滤波器系数wf多的消除,则可以不时更新滤波器系数矩阵w。在各种实施方式中,本文所描述的用于回声消除的技术可以应用于智能扬声器和iot边缘设备,并且可以取决于本地设备资源的可用性以固件和/或硬件来实现。智能扬声器是具有内置扬声器和麦克风的多媒体设备,其使得能够经由语音命令进行人机交互。iot边缘设备是基于iot云的服务的入口点。例如,具有多于两个麦克风的智能扬声器实施方式可以显著地节省计算周期,同时不仅在bf方向变化之后提供“足够好”的性能而且针对所有其他类型的回声路径变化提供快速收敛,同时保持噪声鲁棒性。在iot边缘设备实施方式中,iot边缘设备可以针对可能正在运行自动语音识别的后端系统增强所接收的语音信号。在常规bf+aec处理中,bf将麦克风阵列的空间响应聚焦在本地讲话者上,而aec则取消了在回放期间记录的参考信号。本文所描述的技术对这样的常规bf+aec处理提供了几点改进。例如,本文所描述的技术提供了根据bf方向变化、背景滤波和前景滤波以及每个时间帧进行多次背景滤波器自适应来存储和再次使用先前计算的aec滤波器系数。背景-前景滤波和多次滤波器自适应的组合不仅可以改善bf方向变化之后的消除性能,而且还可以实现针对回声路径变化、背景噪声和双端通话场景/打断场景的鲁棒性。在一些实施方式中,可以联合优化滤波器系数矩阵w、混合系数向量a和偏置系数向量b,这在算法上可能是复杂的。在其他更简化的实施方式中,滤波器系数矩阵w和混合系数向量a可以与偏置系数向量b分开优化,并且与偏置系数向量b相比进行较少地优化,而不会有显著的优化损失。在一些实施方式中,可以对bf逻辑进行优化以提供未失真的输出和更准确的bf方向估计。在一些实施方式中,可以用非线性滤波器来增强aec逻辑,以解决可能存在无法用线性滤波器建模的失真的极端情况。例如,在一些操作环境中,扬声器与麦克风邻近可能会导致非线性声学回声。在这样的操作环境中,可以将非线性滤波器协同地合并到aec逻辑中以提供完整的解决方案。根据本文所描述的技术,在一些替选实施方式中,可以通过残余回声抑制器(res)来增强bf+aec结构。res可以被配置成处理aec输出以减少由于bf方向变化而引起的残余回声泄漏。传统上,由于非线性伪像而避免将res用于前端处理,但是如果在本文所描述技术的环境中(例如,特别是在不需要语音识别的环境中)进行适当集成,则res可以提供足够的结果。在一些实施方式中,bf可以被配置成形成朝向扬声器的零点波束(nullbeam)以便减少通过aec得到的声学回声的量。在一些实施方式中,对于有限的房间覆盖(例如,靠墙安装的线性麦克风阵列不需要360°覆盖),可以减少所存储的aec滤波器的数量。在一些实施方式中,本文所描述的技术可以在汽车应用中通过安装在车辆内部的多个扬声器和麦克风来实现。在这样的实施方式中,在驾驶期间汽车内部可能非常嘈杂,因此,与通常放置在相对温和的声学环境中的智能扬声器相比,aec的噪声鲁棒性更为重要。在各种实施方式中,本文所描述的技术可以在被布置在免提电话、电话会议设备和无线耳机中的各种嵌入式设备、soc和iot设备上实现。本文所描述的用于声学回声消除的技术可以在各种类型的音频处理设备上实现。图4示出了根据本文所描述的技术配置的示例音频处理设备。在图4所示的实施方式中,音频处理设备400可以是在半导体裸片上制造的单芯片ic设备或作为soc制造的单芯片ic。在其他实施方式中,音频处理设备400可以是封装在单个半导体封装或者被布置或安装在公共基板例如pcb上的多个半导体封装中的多芯片模块。因此,图4中的音频处理设备400应被认为是说明性的而非限制性的。在其他部件中,处理设备400包括音频eo逻辑410、dsp420、cpet432、只读存储器(rom)434、随机存取存储器(ram)436和主机接口438。dsp420、cpet432、rom434、ram436和主机接口438耦接至一个或更多个总线430。dsp420还通过单信道总线或多信道总线耦接至音频i/o(输入/输出)逻辑410。音频i/o逻辑410耦接至扬声器-麦克风组件110。扬声器-麦克风组件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的声学邻近而形成。音频i/o逻辑410包括被配置成处理在dsp420与扬声器-麦克风组件110之间传递的信号的各种逻辑块和电路系统。例如,音频i/o逻辑410包括dac电路系统和adc电路系统。dac电路系统包括被配置成接收来自dsp420的调制数字信号并将其转换成用于扬声器112的模拟音频信号的dac、放大器和适于进行信号处理的其他电路(例如,用于输入匹配、幅度限制、压缩、增益控制、参数或自适应均衡、相移等的电路)。adc电路系统包括被配置成接收来自麦克风阵列114中的麦克风的模拟音频信号并将其转换成被发送至dsp420的调制数字信号的adc、放大器和适于进行信号处理的其他电路(例如,用于输入匹配、幅度限制、压缩、增益控制、参数或自适应均衡、相移等的电路)。dsp420包括被配置成处理在音频i/o逻辑410与耦接至总线430的各种部件之间传递的数字信号的各种逻辑块和电路系统。例如,dsp420包括被配置成接收来自处理设备400中的其他部件的数字音频数据(例如,一系列字节),并将所接收的音频数据转换成被发送至音频i/o逻辑410的调制数字信号(例如,比特流)的电路系统。dsp420还包括被配置成接收来自音频i/o逻辑410的调制数字信号并将所接收的信号转换成数字音频数据的电路系统。在图4所示的实施方式中,dsp420包括打断子系统(biss)逻辑422。biss逻辑422包括根据本文所描述的声学回声消除技术配置的bf逻辑块和aec逻辑块。biss逻辑422还包括被配置成控制bf逻辑块和aec逻辑块的操作的控制寄存器,以及在其逻辑块内并与dsp420的其他块和/或处理设备400中的各种部件共享信号数据的共享存储器(例如,ram)。biss逻辑422还可以包括可编程状态机(psm)。psm可以被实现为其自身包括微控制器的微代码引擎,该微代码引擎可以从微代码存储器中提取指令并使用共享存储器获得针对其指令的操作数。psm被配置成通过对与其控制的硬件功能共置的内部硬件寄存器(ihr)进行编程来对硬件电路系统实行细粒度控制。总线430可以包括一个或更多个总线,例如系统互连和外围互连。系统互连可以是单级或多级高级高性能总线(ahb),该单级或多级ahb被配置为将cpu432耦接至处理设备400的其他部件的接口,以及各种部件与外围互连之间的数据和控制接口。外围互连可以是在cpu432与其外围设备以及其他资源(例如,系统资源、eo块、直接存储器访问(dma)控制器等)之间提供主要数据和控制接口的高级可扩展接口(axi)总线,外围互连可以被编程为在外围块之间传递数据而不给cpu增加负担。cpu432包括被配置成执行可以被存储在rom434、ram436或闪速存储器(未示出)中的指令的一个或更多个处理核。rom434是被配置用于存储启动例程、配置参数以及其他固件参数和设置的只读存储器(或其他合适的非易失性存储介质)。ram436是被配置成用于存储通过cpu432访问的数据和固件指令的易失性存储器。闪速存储器如果存在则可以是被配置用于存储数据、程序和/或其他固件指令的嵌入式或外部非易失性存储器(例如,nand闪存、nor闪存等)。主机接口438可以包括控制寄存器、数据寄存器和被配置成在dsp420与主机(未示出)之间传递数据的其他电路系统。主机可以是布置在片上的微控制器子系统、片外ic设备(例如soc)和/或外部计算机系统。主机可以其自身包括cpu,该cpu可操作以执行主机应用或被配置成(除其他功能之外)发送、接收和/或处理音频数据的其他固件/软件。在一些实施方式中,可以在同一处理设备400上实例化多个通信电路系统和/或主机以针对通过设备400发送、接收或以其他方式处理的音频信号和/或其他信号提供各种协议(例如,蓝牙和/或wi-fi)下的通信。在一些实施方式(例如,智能电话)中,可以将应用处理器(ap)实例化为耦接至接口438的片上主机以提供各种应用和软件程序的执行。在操作中,dsp420通过总线430(例如,从主机接口438)接收音频数据(例如,一系列字节)。dsp420将所接收的音频数据转换成调制数字信号(例如,比特流),该调制数字信号作为参考信号x被发送至biss逻辑422。该调制数字信号还被发送至音频i/o逻辑410。音频i/o逻辑410将所接收的数字信号转换成被发送至扬声器112的模拟音频信号。麦克风阵列114中的麦克风拾取来自近端语音的声波以及来自扬声器112的声学回声(如果存在)。麦克风阵列114中的麦克风将所接收的声波转换成被发送至音频i/o逻辑410的对应的模拟音频信号。音频i/o逻辑410将所接收的模拟音频信号转换成被发送至dsp420中的biss逻辑422的调制数字信号d。根据本文所描述的技术,biss逻辑422将其bf逻辑块应用于所接收的数字信号d以将它们组合成波束形成信号y。所生成的波束形成信号y连同其方向角θ被一起发送至biss逻辑422中的aec+w逻辑块。aec+w逻辑块将背景滤波器应用于波束形成信号y和参考信号x以便生成背景消除信号eb。例如,aec+w逻辑块基于方向角θ从共享存储器中的查找表中检索预先计算的滤波器系数矩阵w的子集和混合系数向量a的子集。然后,aec+w逻辑块每个时间帧(例如,根据上式(4))计算背景滤波器系数wb多次。然后,aec+w逻辑块基于背景滤波器系数wb(例如,根据上式(5))将背景滤波器应用于波束形成信号y和参考信号x以便生成背景消除信号eb。aec+w逻辑块还(例如,根据上式(6))将前景滤波器wf应用于波束形成信号y和参考信号x以生成前景消除信号e^。然后,aec+w逻辑块基于背景消除信号eb和前景消除信号e^生成输出信号e。例如,在一些实施方式中,aec逻辑可以选择具有较低残余信号能量的消除信号(eb或e^)作为输出信号e。在其他实施方式中,aec逻辑可以通过赋予消除信号eb和ef中的每一个不同的权重并且然后相应地将他们组合来生成输出信号e。在一些实施方式中,biss422中的aec+w逻辑块可以被配置成周期性地重新计算和更新矩阵w中的系数值和向量a中的系数值。例如,aec+w逻辑块(和/或biss422中的其他逻辑块)可以被配置成周期性地和/或响应于校准命令来重新计算矩阵w和向量a。图5是示出根据各种实施方式的主机设备500的框图。主机设备500可以完全或部分地包括和/或操作图1中的主机140,和/或通过主机接口438耦接至图4的音频处理设备400。图5所示的主机设备500可以作为独立设备操作,或者可以连接(例如联网)至其他机器。在联网部署中,主机设备500可以被实现为基于云的物理架构中的服务器刀片、服务器-客户端网络中的服务器或客户端机、p2p(或分布式)网络中的对等机等。主机设备500可以以各种形式因素(例如,片上设备、计算机系统等)来实现,在主机设备500中可以执行多组指令以使主机设备500执行本文所描述的一个或更多个操作和功能。例如,在各种实施方式中,主机设备500可以是soc设备、iot设备、服务器计算机、服务器刀片、客户端计算机、个人计算机(pc)、平板电脑、机顶盒(stb)、个人数字助理(pda)、智能电话、网络设备、扬声器电话、手持多媒体设备、手持视频播放器、手持游戏设备或能够(顺序地或以其他方式)执行指定机器要采取的动作的一组指令的任何其他机器。当主机设备500被实现为片上设备(例如,soc、iot设备等)时,其示出的部件可以驻留在公共载体基板例如ic裸片基板、多芯片模块基板等上。当主机设备500被实现为计算机系统(例如,服务器刀片、服务器计算机、pc等)时,其示出的部件可以是单独的集成电路和/或被布置在一个或更多个pcb基板上的分立部件。此外,尽管在图5中仅示出了单个主机设备500,但是在各种操作环境中,术语“设备”也可以通常被理解为包括单独地或共同地执行一组(或多组)指令以执行本文所描述的任何一个或更多个操作和功能的机器的任何集合。主机设备500包括耦接至一个或更多个总线501的处理器502、存储器503、数据存储接口504、显示接口505、通信接口506、用户输入接口507和音频接口508。当主机设备500被实现为片上设备时,总线501可以包括一种或更多种片上总线,例如系统互连(例如,单级或多级ahb)和外围互连(例如,axi总线)。当主机设备500被实现为计算机系统时,总线501可以包括一种或更多种计算机总线,例如芯片组南/北桥(其协调处理器502与其他部件之间的通信)和各种外围总线(例如,协调至各种计算机外围设备的通信的pci、串行ata等)。主机设备500包括处理器502。当主机设备500被实现为片上设备时,处理器502可以包括arm处理器、risc处理器、微处理器、应用处理器、控制器、专用处理器、dsp、asic、fpga等。当主机设备500被实现为计算机系统时,处理器502可以包括一个或更多个cpu。主机设备500还包括存储器503。存储器503可以包括用于存储针对处理器502的静态数据和指令的非易失性存储器(例如,rom)、用于存储针对处理器502的数据和可执行指令的易失性存储器(例如,ram)、和/或用于存储可以由处理器502执行以实现本文所描述的操作和功能的至少一部分的固件(例如,控制算法)的闪速存储器。存储器503的各部分也可以被动态分配以提供缓存、缓冲和/或其他基于存储器的功能。存储器503还可以包括可以存储一组或更多组软件指令的可移除存储设备。这样的软件指令还可以经由通信接口506在网络上发送或接收。在通过主机设备500执行软件指令期间,软件指令还可以完全地或至少部分地驻留在非暂态计算机可读存储介质上和/或处理器502内。主机设备500还包括数据存储接口504。数据存储接口504被配置成将主机设备500连接至被配置用于持久存储主机设备500所使用的数据和信息的存储设备。这样的数据存储设备可以包括各种介质类型的持久性存储介质,包括但不限于电磁盘(例如,硬盘)、光存储盘(例如,cd-rom)、磁光存储盘、固态驱动器、通用串行总线(usb)闪存驱动器等。主机设备500还包括显示接口505和通信接口506。显示接口505被配置成将主机设备500连接至显示设备(例如,液晶显示器(lcd)、触摸屏、计算机监视器、电视屏幕等),并且为显示接口协议提供软件和硬件支持。通信接口506被配置成向其他计算系统/设备发送数据和从其他计算系统/设备接收数据。例如,通信接口506可以包括用于与usb外围设备通信的usb控制器和总线、用于通过有线通信网络通信的网络接口卡(nic)以及/或者可以实现多种数据传输协议例如ieee802.11(wi-fi)和蓝牙的无线网卡。主机设备500还包括用户输入接口507和音频接口508。用户输入接口507被配置成将主机设备500连接至各种输入设备,例如字母数字输入设备(例如,触摸感应式键盘或打字机型键盘)、提供空间输入数据的定点设备(例如,计算机鼠标)和/或可以将用户命令和其他用户生成信息传送至处理器502的任何其他合适的人机接口设备。音频接口508被配置成将主机设备500连接至各种音频设备(例如,麦克风、扬声器等)并为各种音频输入/输出提供软件和硬件支持。本文所描述的用于声学回声消除的技术的各种实施方式可以包括各种操作。这些操作可以由硬件部件、数字硬件和/或固件以及/或者其组合来执行和/或控制。如本文所使用,术语“耦接至”可以意指直接连接或通过一个或更多个中间部件间接连接。通过各种片上总线提供的任何信号可以与其他信号进行时分复用并且可以通过一个或更多个公共裸片上总线提供。另外,电路部件或块之间的互连可以被示出为总线或单个信号线。总线中的每一个可以可替选地是一个或多个单个信号线,并且每个单个信号线可以可替选地是总线。某些实施方式可以被实现为计算机程序产品,该计算机程序产品可以包括存储在非暂态计算机可读介质例如易失性存储器和/或非易失性存储器上的指令。这些指令可以用于对包括处理器(例如,cpu)或其等同物(例如,处理核、处理引擎、微控制器等)的一个或更多个设备进行编程和/或配置,使得在通过处理器或其等同物执行这些指令时,这些指令使设备执行所描述的用于声学回声消除的操作。计算机可读介质还可以包括用于以可由机器(例如,设备或计算机)读取的形式(例如,软件、处理应用等)来存储或传输信息的一种或更多种机制。非暂态计算机可读存储介质可以包括但不限于电磁存储介质(例如,软盘、硬盘等)、光学存储介质(例如,cd-rom)、磁光存储介质、只读存储器(rom)、随机存取存储器(ram)、可擦除可编程存储器(例如,eprom和eeprom)、闪速存储器或其他现在已知或以后开发的适于存储信息的非暂态型介质。尽管以特定顺序示出并描述了本文中的电路和块的操作,但是在一些实施方式中,每个电路/块的操作顺序可以改变使得可以以相反的顺序执行某些操作,或者使得可以至少部分地、同时和/或并行地与其他操作执行某些操作。在其他实施方式中,可以以间歇和/或交替的方式执行不同操作的子操作或指令。在前述说明书中,已经参照本发明的具体示例性实施方式描述了本发明。然而,将明显的是,在不脱离如所附权利要求书中阐述的本发明的更宽泛的精神和范围的情况下,可以对本发明进行各种修改和改变。因此,说明书和附图应被认为是说明性的而不是限制性的。当前第1页1 2 3 
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除
热门咨询
tips