技术新讯 > 乐器声学设备的制造及制作,分析技术 > 自适应回声消除的制作方法  >  正文

自适应回声消除的制作方法

  • 国知局
  • 2024-06-21 11:31:26

示例实施例涉及双向音频系统,并且更具体地,涉及用于这些系统内回声消除的方法、装置和计算机可读介质。

背景技术:

1、扬声器和麦克风未物理隔离的双向音频系统受益于回声消除,以防止由扬声器产生的远端信号经由麦克风反馈到远端。双向音频系统的一些示例是移动设备上的扬声器电话或会议室的扬声器电话系统。虽然这些系统如今已被广泛使用,但诸如空间音频和沉浸式体验的其他使用案例也会遇到与音频反馈相关的类似问题。

2、与现代高质量音频系统的采样率(例如,48khz)相比,声学回声脉冲响应可能较长(例如,0.2秒)。由于这种关系,时域滤波器实施方式可具有特别高的复杂度(例如,需要数千个抽头)。为此,回声消除滤波器典型地经由频域技术来实施,诸如分区块频域自适应滤波器(pb-fdaf)和/或加权重叠相加(wola)滤波器,它们利用了快速傅立叶变换的低复杂度。

技术实现思路

1、在示例实施例中,提供了一种使用自适应滤波器进行自适应滤波的方法。该方法包括接收至少部分地基于近端信号和再现的远端信号的音频信号。远端信号由一个或多个扬声器再现,并且由此可以是一个或多个扬声器输入信号。该方法还基于远端信号获得一个或多个子带序列的第一集合,并且基于近端信号获得一个或多个子带序列的第二集合。该方法附加地包括将包括系数集合的第一子带滤波器(例如无限冲激响应白化滤波器)应用于一个或多个子带序列的第一集合的相应子带,以产生具有降低的时间相关性的一个或多个经滤波的远端子带序列。该方法另外包括使用第二子带滤波器处理一个或多个经滤波的远端子带序列,以预测一个或多个子带序列的第二集合。第二子带滤波器包括自适应滤波器。

2、与一个或多个子带序列的第一集合的第一子带相关联的第一子带滤波器的系数可以不同于与一个或多个子带序列的第一集合的第二子带相关联的第一子带滤波器的系数。在示例实施例中,使用短时傅立叶变换,分别从远端信号和近端信号获得一个或多个子带序列的第一集合和一个或多个子带序列的第二集合。示例实施例的第一子带滤波器的系数取决于过采样因子。在示例实施例中,第二子带滤波器被配置成实施归一化最小均方算法。

3、关于将包括该系数集合的第一子带滤波器应用于一个或多个子带序列的第一集合的相应子带,以产生一个或多个经滤波的远端子带序列,示例实施例的方法包括:计算在一个或多个远端子带序列具有指定相关性函数的情况下将发生的相应子带的系统相关性。该示例实施例的方法还包括计算第一子带滤波器的系数集合,该系数集合将降低一个或多个子带序列的第一集合的相应子带的系统相关性。该示例实施例的方法另外包括将第一子带滤波器的该系数集合应用于一个或多个子带序列的第一集合的相应子带,以产生一个或多个经滤波的远端子带序列。

4、在示例实施例中,使用以下中的一个或多个:过采样因子、由短时傅立叶变换使用的快速傅立叶变换大小、由短时傅立叶变换使用的跳的大小、或者由短时傅立叶变换使用的分析窗口的一个或多个系数,来计算该系数集合。将包括系数集合的第一子带滤波器应用于一个或多个子带序列的第一集合的相应子带以产生一个或多个经滤波的远端子带序列可实时发生。在一个示例实施例中,该方法还包括将另一个第一子带滤波器应用于一个或多个子带序列的第二集合的相应子带,以产生具有降低的时间相关性的一个或多个经滤波的近端子带序列,以及使用第二子带滤波器处理一个或多个经滤波的远端子带序列,以预测一个或多个经滤波的近端子带序列。

5、示例实施例的方法还包括在与当前回声返回损耗增益水平相关联的值满足第一阈值的情况下由第二子带滤波器处理一个或多个子带序列的第一集合,而不应用第一子带滤波器。在该示例实施例中,应用第一子带滤波器和处理一个或多个经滤波的远端子带序列取决于与当前回声返回损耗增益相关联的值满足第二阈值。在一个示例实施例中,获得一个或多个子带序列的第一集合包括将至少一个滤波器应用于一个或多个远端信号,并且然后对一个或多个远端信号的经滤波表示进行下采样,以基于远端信号生成一个或多个子带序列的第一集合。

6、在另一个示例性实施例中,提供了一种装置,该装置被配置成通过自适应滤波器提供自适应滤波。该装置包括至少一个处理器和包括计算机程序代码的至少一个存储器。至少一个存储器和计算机程序代码被配置成用至少一个处理器,使得装置接收至少部分地基于近端信号和再现的远端信号的音频信号。远端信号由一个或多个扬声器再现,并且由此可以是一个或多个扬声器输入信号。至少一个存储器和计算机程序代码还被配置成用至少一个处理器,使得装置基于远端信号获得一个或多个子带序列的第一集合,并且基于近端信号获得一个或多个子带序列的第二集合。至少一个存储器和计算机程序代码附加地被配置成用至少一个处理器,使得装置将包括系数集合的第一子带滤波器(例如无限冲激响应白化滤波器)应用于一个或多个子带序列的第一集合的相应子带,以产生具有降低的时间相关性的一个或多个经滤波的远端子带序列。至少一个存储器和计算机程序代码另外被配置成用至少一个处理器,使得装置使用第二子带滤波器来处理一个或多个经滤波的远端子带序列,以预测一个或多个子带序列的第二集合。第二子带滤波器包括自适应滤波器。

7、与一个或多个子带序列的第一集合的第一子带相关联的第一子带滤波器的系数可以不同于与一个或多个子带序列的第一集合的第二子带相关联的第一子带滤波器的系数。在示例实施例中,使用短时傅立叶变换,分别从远端信号和近端信号获得一个或多个子带序列的第一集合和一个或多个子带序列的第二集合。示例实施例的第一子带滤波器的系数取决于过采样因子。在示例实施例中,第二子带滤波器被配置成实施归一化最小均方算法。

8、关于将包括该系数集合的第一子带滤波器应用于一个或多个子带序列的第一集合的相应子带,以产生一个或多个经滤波的远端子带序列,至少一个存储器和计算机程序代码被配置成用至少一个处理器,使得示例实施例的装置计算在一个或多个远端子带序列具有指定相关性函数的情况下将发生的相应子带的系统相关性。所述至少一个存储器和计算机程序代码还被配置成用至少一个处理器,使得示例实施例的装置计算第一子带滤波器的系数集合,该系数集合将降低一个或多个子带序列的第一集合的相应子带的系统相关性。至少一个存储器和计算机程序代码另外被配置成用至少一个处理器,使得示例实施例的装置将第一子带滤波器的该系数集合应用于一个或多个子带序列的第一集合的相应子带,以产生一个或多个经滤波的远端子带序列。

9、在示例实施例中,使用以下中的一个或多个:过采样因子、由短时傅立叶变换使用的快速傅立叶变换大小、由短时傅立叶变换使用的跳跃大小、或者由短时傅立叶变换使用的分析窗口的一个或多个系数,来计算该系数集合。将包括系数集合的第一子带滤波器应用于一个或多个子带序列的第一集合的相应子带以产生一个或多个经滤波的远端子带序列可实时发生。在一个示例实施例中,至少一个存储器和计算机程序代码还被配置成用至少一个处理器,使得装置将另一个第一子带滤波器应用于一个或多个子带序列的第二集合的相应子带,以产生具有降低的时间相关性的一个或多个经滤波的近端子带序列,以及使用第二子带滤波器处理一个或多个经滤波的远端子带序列,以预测一个或多个经滤波的近端子带序列。

10、至少一个存储器和计算机程序代码还配置成用至少一个处理器,使得示例实施例的装置在与当前回声返回损耗增益水平相关联的值满足第一阈值的情况下,由第二子带滤波器处理一个或多个子带序列的第一集合,而不应用第一子带滤波器。在该示例实施例中,应用第一子带滤波器和处理一个或多个经滤波的远端子带序列取决于与当前回声返回损耗增益相关联的值满足第二阈值。在示例实施例中,至少一个存储器和计算机程序代码被配置成用至少一个处理器,使得装置通过将至少一个滤波器应用于一个或多个远端信号,并且然后对一个或多个远端信号的经滤波表示进行下采样,以基于远端信号生成一个或多个子带序列的第一集合来获得一个或多个子带序列的第一集合。

11、在另外的示例性实施例中,提供了一种被配置成用自适应滤波器提供自适应滤波的非暂时性计算机可读介质。该计算机可读介质包括存储在其上的程序指令,并且该程序指令被配置成接收至少部分地基于近端信号和再现的远端信号的音频信号。远端信号由一个或多个扬声器再现,并且由此可以是一个或多个扬声器输入信号。该计算机可读介质还包括被配置成基于远端信号获得一个或多个子带序列的第一集合的程序指令,以及被配置成基于近端信号获得一个或多个子带序列的第二集合的程序指令。该计算机可读介质附加地包括程序指令,该程序指令被配置成将包括系数集合的第一子带滤波器(例如无限冲激响应白化滤波器)应用于一个或多个子带序列的第一集合的相应子带,以产生具有降低的时间相关性的一个或多个经滤波的远端子带序列。该计算机可读介质另外包括程序指令,该程序指令被配置成使用第二子带滤波器来处理一个或多个经滤波的远端子带序列,以预测一个或多个子带序列的第二集合。第二子带滤波器包括自适应滤波器。

12、与一个或多个子带序列的第一集合的第一子带相关联的第一子带滤波器的系数可以不同于与一个或多个子带序列的第一集合的第二子带相关联的第一子带滤波器的系数。在示例实施例中,使用短时傅立叶变换,分别从远端信号和近端信号获得一个或多个子带序列的第一集合和一个或多个子带序列的第二集合。示例实施例的第一子带滤波器的系数取决于过采样因子。在示例实施例中,第二子带滤波器被配置成实施归一化最小均方算法。

13、关于将包括该系数集合的第一子带滤波器应用于一个或多个子带序列的第一集合的相应子带以产生一个或多个经滤波的远端子带序列,示例实施例的程序指令被配置成计算在一个或多个远端子带序列具有指定相关性函数的情况下将发生的相应子带的系统相关性。该示例实施例的程序指令还被配置成计算第一子带滤波器的系数集合,该系数集合将降低一个或多个子带序列的第一集合的相应子带的系统相关性。该示例实施例的程序指令另外被配置成将第一子带滤波器的该系数集合应用于一个或多个子带序列的第一集合的相应子带,以产生一个或多个经滤波的远端子带序列。

14、在示例实施例中,使用以下中的一个或多个:过采样因子、由短时傅立叶变换使用的快速傅立叶变换大小、由短时傅立叶变换使用的跳跃大小、或者由短时傅立叶变换使用的分析窗口的一个或多个系数,来计算该系数集合。将包括系数集合的第一子带滤波器应用于一个或多个子带序列的第一集合的相应子带以产生一个或多个经滤波的远端子带序列可以实时发生。在一个示例实施例中,该计算机可读介质还包括被配置成将另一个第一子带滤波器应用于一个或多个子带序列的第二集合的相应子带以产生具有降低的时间相关性的一个或多个经滤波的近端子带序列的程序指令,以及被配置成使用第二子带滤波器处理一个或多个经滤波的远端子带序列以预测一个或多个经滤波的近端子带序列的程序指令。

15、示例实施例的计算机可读介质还包括程序指令,该程序指令被配置成在与当前回声返回损耗增益水平相关联的值满足第一阈值的情况下,由第二子带滤波器处理一个或多个子带序列的第一集合,而不应用第一子带滤波器。在该示例实施例中,应用第一子带滤波器和处理一个或多个经滤波的远端子带序列取决于与当前回声返回损耗增益相关联的值满足第二阈值。在一个示例实施例中,被配置成获得一个或多个子带序列的第一集合的程序指令包括被配置成将至少一个滤波器应用于一个或多个远端信号的程序指令,以及然后对一个或多个远端信号的经滤波表示进行下采样以基于远端信号生成一个或多个子带序列的第一集合的程序指令。

16、在另一个示例性实施例中,提供了一种装置,该装置被配置成用自适应滤波器提供自适应滤波。该装置包括用于接收至少部分地基于近端信号和再现的远端信号的音频信号的模块。远端信号由一个或多个扬声器再现,并且由此可以是一个或多个扬声器输入信号。该装置还包括用于基于远端信号获得一个或多个子带序列的第一集合的模块,以及用于基于近端信号获得一个或多个子带序列的第二集合的模块。该装置附加地包括用于将包含系数集合的第一子带滤波器(例如无限冲激响应白化滤波器)应用于一个或多个子带序列的第一集合的相应子带,以产生具有降低的时间相关性的一个或多个经滤波的远端子带序列的模块。该装置另外包括用于使用第二子带滤波器处理一个或多个经滤波的远端子带序列以预测一个或多个子带序列的第二集合的模块。第二子带滤波器包括自适应滤波器。

17、与一个或多个子带序列的第一集合的第一子带相关联的第一子带滤波器的系数可以不同于与一个或多个子带序列的第一集合的第二子带相关联的第一子带滤波器的系数。在示例实施例中,使用短时傅立叶变换,分别从远端信号和近端信号获得一个或多个子带序列的第一集合和一个或多个子带序列的第二集合。示例实施例的第一子带滤波器的系数取决于过采样因子。在示例实施例中,第二子带滤波器被配置成实施归一化最小均方算法。

18、关于将包括该系数集合的第一子带滤波器应用于一个或多个子带序列的第一集合的相应子带以产生一个或多个经滤波的远端子带序列,示例实施例的装置包括用于计算在一个或多个远端子带序列具有指定相关性函数的情况下将发生的相应子带的系统相关性的模块。该示例实施例的装置还包括用于计算第一子带滤波器的系数集合的模块,该系数集合将降低一个或多个子带序列的第一集合的相应子带的系统相关性。该示例实施例的装置另外包括用于将第一子带滤波器的该系数集合应用于一个或多个子带序列的第一集合的相应子带以产生一个或多个经滤波的远端子带序列的模块。

19、在示例实施例中,使用以下中的一个或多个:过采样因子、由短时傅立叶变换使用的快速傅立叶变换大小、由短时傅立叶变换使用的跳跃大小、或者由短时傅立叶变换使用的分析窗口的一个或多个系数,来计算该组系数。将包括系数集合的第一子带滤波器应用于一个或多个子带序列的第一集合的相应子带以产生一个或多个经滤波的远端子带序列可以实时发生。在一个示例实施例中,该装置还包括用于将另一个第一子带滤波器应用于一个或多个子带序列的第二集合的相应子带以产生具有降低的时间相关性的一个或多个经滤波近端子带序列的模块,以及用于使用第二子带滤波器处理一个或多个经滤波的远端子带序列以预测一个或多个经滤波的近端子带序列的模块。

20、示例实施例的装置还包括用于在与当前回声返回损耗增益水平相关联的值满足第一阈值的情况下,由第二子带滤波器处理一个或多个子带序列的第一集合,而不应用第一子带滤波器的模块。在该示例实施例中,用于应用第一子带滤波器的模块和用于处理一个或多个经滤波的远端子带序列的模块取决于与当前回声返回损耗增益相关联的值满足第二阈值。在一个示例实施例中,用于获得一个或多个子带序列的第一集合的模块包括用于将至少一个滤波器应用于一个或多个远端信号的模块,以及用于然后对一个或多个远端信号的经滤波表示进行下采样以基于远端信号生成一个或多个子带序列的第一集合的模块。

本文地址:https://www.jishuxx.com/zhuanli/20240618/22035.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。