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

会议系统中的啸叫检测的制作方法

2021-12-07 20:54:00 来源:中国专利 TAG:

会议系统中的啸叫检测
1.本技术是申请日为2018年9月27日、申请号为201880062458.6、发明名称为“会议系统中的啸叫检测”的发明专利申请的分案申请。
2.相关申请的交叉引用
3.本技术要求2017年9月29日提交的国际专利申请号pct/cn2017/104604、2017年10月23日提交的美国临时申请号62/575,701和2017年11月10日提交的欧洲专利申请号17201011.8的优先权,所述专利申请中的每一个都通过引用以其全文并入本文。
技术领域
4.本公开涉及音频信号的处理。特别地,本公开涉及处理与远程会议或视频会议相关的音频信号。


背景技术:

5.声反馈是当音频输入(例如,麦克风)与音频输出(例如,扬声器)之间存在声音环路时发生的一种类型的反馈。例如,麦克风接收的信号可能被扬声器放大和再现。来自扬声器的再现声音然后可能被麦克风再次接收,进一步放大,并且然后被扬声器再次以更高的幅度或音量水平再现。在这种类型的系统中,声反馈的声音可以是响亮的尖叫或长声尖叫,这在本文中可以称为“啸叫(howl)”。在一些实例中,吉他手和其他表演者可能故意制造啸叫(例如,在吉他拾音器与扬声器之间)以便产生期望的音乐效果。虽然一些方法已经被证明成功地检测和减轻无意中产生的啸叫,但是已经证明在远程会议的情景下要解决这个问题更加困难。


技术实现要素:

6.本文公开了各种方法。一些远程会议方法可以涉及在涉及两个或更多个客户端位置的远程会议期间检测啸叫状态以及确定哪个客户端位置正在导致所述啸叫状态。所述远程会议可以涉及两个或更多个远程会议客户端位置和一个远程会议服务器。所述远程会议服务器可以被配置用于在所述远程会议客户端位置之间提供全双工音频连接。所述啸叫状态可以是涉及某一远程会议客户端位置中的两个或更多个远程会议装置的声反馈状态。检测所述啸叫状态可能涉及对远程会议音频数据的频谱特性和时间特性两者的分析。在一些示例中,所述方法可以涉及减轻所述啸叫状态和/或发送啸叫状态检测消息。
7.根据一些示例,所述远程会议服务器可以确定哪个客户端位置正在导致所述啸叫状态。在一些实施方式中,所述远程会议服务器可以检测所述啸叫状态。
8.在一些这样的示例中,远程会议客户端位置处的远程会议装置可以对所述远程会议音频数据中的至少一些远程会议音频数据执行啸叫特征提取过程。所述啸叫特征提取过程可以产生啸叫特征数据。所述远程会议装置可以将所述啸叫特征数据发送到所述远程会议服务器。所述远程会议服务器可以至少部分地基于所述啸叫特征数据来检测所述啸叫状态。
9.根据一些实施方式,所述远程会议服务器可以至少部分地基于从所述远程会议客户端位置中的一个或多个远程会议客户端位置接收的远程会议音频数据来检测所述啸叫状态。在一些这样的实施方式中,所述远程会议服务器可以创建包括从所述远程会议客户端位置接收的远程会议音频数据的远程会议音频数据混合。在一些示例中,所述远程会议服务器可以基于所述远程会议音频数据混合来检测所述啸叫状态。
10.根据一些这样的示例,所述远程会议服务器可以从所述远程会议客户端位置接收远程会议元数据。所述远程会议服务器可以至少部分地基于所述远程会议元数据来确定哪个客户端位置正在导致所述啸叫状态。所述远程会议元数据可以例如包括语音活动检测元数据、电平元数据和/或能量元数据。
11.在一些示例中,所述方法可以涉及根据所述远程会议音频数据来估计啸叫存在概率。检测所述啸叫状态可以至少部分地基于所述啸叫存在概率。根据一些这样的示例,所述啸叫存在概率估计可以基于分层规则集或机器学习方法。
12.根据一些实施方式,远程会议客户端位置处的启用啸叫检测的远程会议装置可以检测所述啸叫状态。在一些这样的实施方式中,所述启用啸叫检测的远程会议装置可以减轻所述啸叫状态。
13.在一些示例中,检测所述啸叫状态可以涉及:根据频带的顺序统计量来计算基于功率的指标;计算频谱共振指标;计算百分位数间距指标;事件聚合;计算周期性指标;检测包络相似度;计算频谱峰度指标;基于机器学习的过程;和/或估计啸叫存在概率。
14.本文描述的一些或所有方法可以由一个或多个装置根据存储在一个或多个非暂态介质上的指令(例如,软件)来执行。这种非暂态介质可以包括诸如本文所述的存储器装置,包括但不限于随机存取存储器(ram)装置、只读存储器(rom)装置等。因此,本公开中描述的主题的各种创新方面可以在其上存储有软件的非暂态介质中实施。例如所述软件可以包括用于控制至少一个装置来处理音频数据的指令。例如所述软件可以由如本文所公开的那些控制系统等控制系统的一个或多个部件来执行。
15.所述软件可以例如包括用于执行本文公开的远程会议方法中的一种或多种远程会议方法的指令。一些这样的远程会议方法可以涉及在远程会议期间检测啸叫状态以及确定哪个客户端位置正在导致所述啸叫状态。所述远程会议可以涉及两个或更多个远程会议客户端位置和一个远程会议服务器。所述远程会议服务器可以被配置用于在所述远程会议客户端位置之间提供全双工音频连接。所述啸叫状态可以是涉及某一远程会议客户端位置中的两个或更多个远程会议装置的声反馈状态。检测所述啸叫状态可能涉及对远程会议音频数据的频谱特性和时间特性两者的分析。在一些示例中,所述方法可以涉及减轻所述啸叫状态和/或发送啸叫状态检测消息。
16.本公开的至少一些方面可以经由设备来实施。例如,一个或多个装置可以被配置用于至少部分地执行本文所公开的方法。在一些实施方式中,设备可以包括接口系统和控制系统。所述接口系统可以包括一个或多个网络接口、所述控制系统与存储器系统之间的一个或多个接口、所述控制系统与另一装置之间的一个或多个接口和/或一个或多个外部装置接口。所述控制系统可以包括通用单芯片或多芯片处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其他可编程逻辑装置、离散门或晶体管逻辑、或离散硬件部件中的至少一个。
17.在一些实施方式中,所述设备可以是远程会议服务器,或者可以是远程会议服务器的一部分。在一些这样的实施方式中,所述设备可以包括远程会议服务器的一个或多个线路卡或刀片。根据一些这样的示例,所述设备可以包括接口系统和控制系统。所述接口系统可以被配置用于所述远程会议服务器与所述远程会议客户端位置之间的通信。
18.例如,所述控制系统可以被配置用于在远程会议期间在两个或更多个远程会议客户端位置之间提供全双工音频连接。所述控制系统可以被配置用于在所述远程会议期间检测啸叫状态。所述啸叫状态可以是涉及远程会议客户端位置中的两个或更多个远程会议装置的声反馈状态。检测所述啸叫状态可能涉及对远程会议音频数据的频谱特性和时间特性两者的分析。在一些示例中,所述控制系统可以被配置用于确定哪个客户端位置正在导致所述啸叫状态。在一些实施方式中,所述控制系统可以被配置用于减轻所述啸叫状态和/或发送啸叫状态检测消息。
19.根据一些实施方式,所述控制系统可以被配置用于至少部分地基于从所述远程会议客户端位置中的一个或多个远程会议客户端位置接收的远程会议音频数据来检所述测啸叫状态。在一些示例中,所述控制系统可以被配置用于创建远程会议音频数据混合。所述远程会议音频数据混合可以包括从所述远程会议客户端位置接收的远程会议音频数据。在一些示例中,所述控制系统可以被配置用于基于所述远程会议音频数据混合来检测所述啸叫状态。在一些这样的示例中,所述控制系统可以被配置用于:经由所述接口系统从所述远程会议客户端位置接收远程会议元数据并且至少部分地基于所述远程会议元数据来确定哪个客户端位置正在导致所述啸叫状态。在一些实施方式中,所述远程会议元数据可以包括语音活动检测元数据、电平元数据和/或能量元数据。根据一些实施方式,所述控制系统可以被配置用于确定哪个客户端装置正在导致所述啸叫状态。
20.在一些示例中,所述控制系统可以被配置用于根据从所述远程会议客户端位置中的一个或多个远程会议客户端位置接收的远程会议音频数据来估计啸叫存在概率。根据一些这样的示例,检测所述啸叫状态可以至少部分基于所述啸叫存在概率。在一些实例中,所述啸叫存在概率估计可以基于分层规则集和/或机器学习过程。
21.根据一些实施方式,检测所述啸叫状态可以涉及:根据频带的顺序统计量来计算基于功率的指标;计算频谱共振指标;计算百分位数间距指标;事件聚合;计算周期性指标;检测包络相似度;计算频谱峰度指标;基于机器学习的过程;和/或估计啸叫存在概率。
22.在一些示例中,所述控制系统可以被配置用于经由所述接口系统从远程会议客户端位置处的远程会议装置接收啸叫特征数据。所述啸叫特征数据可以是由所述远程会议装置执行的啸叫特征提取过程的结果。所述控制系统可以被配置用于至少部分地基于所述啸叫特征数据来检测所述啸叫状态。
23.根据一些实施方式,所述设备可以是远程会议客户端装置,或者可以是其一部分。在一些示例中,所述远程会议客户端装置可以是电话、会议电话、膝上型电脑等。在一些示例中,所述远程会议客户端装置可以包括接口系统和控制系统。所述接口系统可以被配置用于所述远程会议客户端装置与远程会议服务器之间的通信。在一些实施方式中,所述远程会议服务器可以被配置用于在远程会议期间在多个远程会议客户端位置之间提供全双工音频连接。
24.在一些实例中,所述控制系统可以被配置用于在所述远程会议期间检测啸叫状
态。所述啸叫状态可以是涉及所述远程会议客户端装置和包括所述远程会议客户端装置的远程会议客户端位置中的至少一个其他装置的声反馈状态。在一些示例中,检测所述啸叫状态可以涉及对远程会议音频数据的频谱特性和时间特性两者的分析。根据一些示例,所述控制系统可以被配置用于减轻所述啸叫状态。
25.根据一些实施方式,检测所述啸叫状态可以涉及:根据频带的顺序统计量来计算基于功率的指标;计算频谱共振指标;计算百分位数间距指标;事件聚合;计算周期性指标;检测包络相似度;计算频谱峰度指标;基于机器学习的过程;和/或估计啸叫存在概率。
26.在一些示例中,所述控制系统可以被配置用于在所述远程会议期间执行啸叫状态特征提取过程。所述啸叫状态特征提取过程可以涉及提取与检测啸叫状态相关的啸叫特征数据。在一些实施方式中,所述啸叫状态特征提取过程可以涉及对远程会议音频数据的频谱特性和时间特性两者的分析。根据一些这样的实施方式,所述控制系统可以被配置用于将所述啸叫特征数据发送到所述远程会议服务器。
27.根据一些实施方式,执行啸叫状态特征提取过程可以涉及:根据频带的顺序统计量来计算基于功率的指标;计算频谱共振指标;计算百分位数间距指标;事件聚合;计算周期性指标;检测包络相似度;计算频谱峰度指标;基于机器学习的过程;和/或估计啸叫存在概率。
28.在以下附图和说明中阐述了本说明书所描述的主题的一个或多个实施方式的细节。从所述描述、附图和权利要求中,其他特征、方面和优点将变得显而易见。注意,以下附图的相对尺寸可能不是按比例来绘制的。
附图说明
29.图1示出了在涉及两个远程会议客户端位置的远程会议期间的远程会议装置的示例。
30.图2在时域和频域中示出了可能涉及远程会议客户端位置中的两个或更多个远程会议装置的啸叫状态的示例的图。
31.图3是示出可以被配置成用于执行本文所公开方法中的至少一些方法的设备的部件的示例的框图。
32.图4是概述根据一个示例的方法的框的流程图。
33.图5示出了根据一个实施方式的远程会议客户端装置和远程会议服务器配置。
34.图6示出了根据另一实施方式的远程会议客户端装置和远程会议服务器配置。
35.图7示出了根据又一实施方式的远程会议客户端装置和远程会议服务器配置。
36.图8是概述根据一些实施方式的啸叫检测方法的框的流程图。
37.图9是示出啸叫事件周期性检测方法的示例框的流程图。
38.图10是示出测量啸叫事件周期性的另一种方法的示例框的流程图。
39.图11是示出根据一个示例的啸叫存在概率确定方法的框的流程图。
40.图12是示出确定信号包络相似度的方法的示例框的流程图。
41.图13是概述根据一些实施方式的啸叫检测方法的框的流程图。
42.在各附图中相同的附图标记和名称指示相似的元件。
具体实施方式
43.以下说明涉及出于描述本公开的一些创新性方面的目的的某些实施方式以及这些创新性方面所可以实施于的背景的示例。然而,可以以各种不同的方式来应用本文的教导内容。此外,所描述的实施例可以在各种硬件、软件、固件等中实施。例如,本技术的各方面可以至少部分地体现在设备、包括一个以上装置的系统、方法、计算机程序产品等中。因此,本技术的各方面可以采用硬件实施例、软件实施例(包括固件、常驻软件、微代码等)和/或结合了软件方面和硬件方面两者的实施例的形式。这些实施例在本文中可以被称为“电路”、“模块”或“引擎”。本技术的一些方面可以采用在一个或多个非暂态介质中实施的计算机程序产品的形式,所述非暂态介质具有在其上实施的计算机可读程序代码。这种非暂态介质例如可以包括硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪速存储器)、便携式致密盘只读存储器(cd

rom)、光存储装置、磁存储装置、或前述各项的任何合适的组合。因此,本公开的教导内容不旨在限制附图中示出和/或本文所描述的实施方式,而是具有广泛的适用性。
44.图1示出了在涉及两个远程会议客户端位置的远程会议期间的远程会议装置的示例。在这个示例中,远程会议服务器被配置用于在远程会议客户端位置1中的远程会议客户端装置100a与远程会议客户端位置2中的远程会议客户端装置100b和100c之间提供音频连接(可以是全双工音频连接)。这里,远程会议客户端装置100a和100c是会议电话,而远程会议客户端装置100b是膝上型电脑。
45.根据这个示例,远程会议客户端装置100b和100c两者启用了它们的麦克风和扬声器。因此,远程会议客户端装置100b和100c的麦克风各自向远程会议服务器提供对应于近端讲话者2的话音的远程会议音频数据。因此,远程会议服务器向远程会议客户端装置100b提供由远程会议客户端装置100c接收的与近端讲话者2的话音相对应的远程会议音频数据,并且还向远程会议客户端装置100c提供由远程会议客户端装置100b接收的与近端讲话者2的话音相对应的远程会议音频数据。
46.远程会议客户端装置100b和100c的扬声器在与远程会议音频数据从远程会议客户端位置2传输到远程会议服务器并返回的往返时间相对应的时间延迟之后各自再现近端讲话者2的话音。当远程会议客户端装置100b的扬声器再现近端讲话者2的话音时,远程会议客户端装置100c的麦克风检测到近端讲话者2的再现话音。同样,当远程会议客户端装置100c的扬声器再现近端讲话者2的话音时,远程会议客户端装置100b的(多个)麦克风检测到近端讲话者2的再现话音。
47.因此,远程会议客户端位置2中的近端讲话者2的话音可以触发啸叫状态。然而,所述啸叫状态具有如果远程会议客户端装置100b和100c没有参加远程会议则不会出现的至少一些特性。
48.图2在时域和频域中示出了可能涉及远程会议客户端位置中的两个或更多个远程会议装置的啸叫状态的示例的曲线图。曲线图205在时域中,时间由水平轴表示,并且电平以db为单位,由垂直轴表示。曲线图205示出了啸叫事件210a至210f。啸叫事件210a至210f发生的时间在本文中可以称为“啸叫状态”。
49.可以观察到啸叫事件210a至210f是周期性的或准周期性的,并且它们的幅度随着时间而增加。在这个示例中,啸叫事件210a至210f的周期性与时间延迟相对应,所述时间延
迟与远程会议音频数据从远程会议客户端位置传输到远程会议服务器并返回的往返时间相对应。还可以观察到,话音事件的电平(在啸叫事件210a至210f的左边)低于啸叫事件210a至210f的电平。
50.曲线图215在频域中表示相同的音频数据,包括啸叫事件210a至210f。从曲线图215可以观察到,啸叫事件210a至210f的大部分能量集中在相对窄的频带中。
51.基于发明人进行的许多观察,包括曲线图205和215中的数据,已经观察到反馈啸叫不同于话音的以下频谱和时间特性:
52.·
啸叫事件的共振频率包括单个频带或多个频带的频谱峰;
53.·
啸叫事件的幅度通常比话音的幅度大;
54.·
啸叫事件在本质上通常是周期性或准周期性的并且在频率上高度局部化;以及
55.·
啸叫事件的特性具有跨时间的一致性。
56.下文描述了啸叫状态的其他特性。如上所述,啸叫状态具有如果参与产生啸叫状态的装置没有参加远程会议则不会出现的至少一些特性。例如,当麦克风太靠近扬声器时和/或当放大倍数太大时,公共广播音频系统的该麦克风与该扬声器之间可能会出现声反馈。这种声反馈通常会表现为单一且连续的啸叫事件,而不是多个不连续和周期性发生的啸叫事件。与公共广播系统情景中的声反馈相比,双工通信用例中的声反馈可能跨越不同的网络和不同的装置。往返时间通常大于300ms,并且可能在500ms至一秒或更长的范围内。因此,远程会议情景中的声反馈检测和减轻可能与公共广播系统情景中的声反馈检测和减轻非常不同,在公共广播系统情景中,反馈是在同一麦克风

放大器

扬声器系统中导致的。
57.鉴于上述观察,本公开的一些方面可以提供用于在远程会议期间检测啸叫状态的改进方法。图3是示出可以被配置成用于执行本文所公开方法中的至少一些方法的设备的部件的示例的框图。在一些示例中,设备305可以是远程会议服务器。在其他示例中,设备305可以是远程会议客户端装置。可以经由硬件、经由存储在非暂态介质上的软件、经由固件和/或通过其组合来实施设备305的部件。图3以及本文所公开的其他附图中所示出的部件的类型和数量仅是通过示例的方式来示出的。替代性实施方式可以包括更多、更少和/或不同的部件。例如,如果设备305是远程会议客户端装置,则设备305可以包括一个或多个麦克风、一个或多个扬声器等。
58.在这个示例中,设备305包括接口系统310和控制系统315。接口系统310可以包括一个或多个网络接口、控制系统315与存储器系统之间的一个或多个接口和/或一个或多个外部装置接口(诸如一个或多个通用串行总线(usb)接口)。在一些实施方式中,接口系统310可以包括用户接口系统。用户接口系统可以被配置用于接收来自用户的输入。在一些实施方式中,用户接口系统可以被配置用于向用户提供反馈。例如,用户接口系统可以包括具有相应触摸和/或手势检测系统的一个或多个显示器。在一些示例中,用户接口系统可以包括一个或多个扬声器。根据一些示例,用户接口系统可以包括用于提供触觉反馈的设备,诸如马达、振动器等。控制系统315例如可以包括通用单芯片或多芯片处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其他可编程逻辑装置、离散门或晶体管逻辑、和/或离散硬件部件。
59.在一些示例中,可以在单一装置中实施设备305。然而,在一些实施方式中,可以在多于一个装置中实施设备305。在一些这样的实施方式中,控制系统315的功能可以包括在
多于一个装置中。在一些示例中,设备305可以是另一设备的部件。例如,在一些实施方式中,设备305可以是服务器的部件,例如线路卡。
60.图4是概述根据一个示例的方法的框的流程图。在一些实例中,可以通过图3的设备或通过本文所公开的另一种类型的设备来执行所述方法。在一些示例中,可以经由存储在一个或多个非暂态介质上的软件来实施方法400的框。与本文所描述的其他方法一样,不必以所指示的顺序来执行方法400的框。而且,这种方法可以包括比所示出和/或所描述的框更多或更少的框。
61.在这个实施方式中,框405涉及在远程会议期间检测啸叫状态。根据这个示例,远程会议涉及两个或更多个远程会议客户端位置和被配置用于在远程会议客户端位置之间提供全双工音频连接的远程会议服务器。这里,啸叫状态是涉及某一远程会议客户端位置中的两个或更多个远程会议装置的声反馈状态。
62.在这个示例中,检测啸叫状态涉及对远程会议音频数据的频谱特性和时间特性两者的分析。根据特定实施方式,检测啸叫状态可以涉及:根据频带的顺序统计量来计算基于功率的指标;计算频谱共振指标;计算百分位数间距指标;事件聚合;计算周期性指标;检测包络相似度;计算频谱峰度指标;基于机器学习的过程;和/或估计啸叫存在概率。术语“指标”和“度量”在本文可以同义使用。在一些示例中,检测啸叫状态可以例如涉及根据远程会议音频数据来估计啸叫存在概率。啸叫存在概率估计可以基于分层规则集或机器学习方法。检测啸叫状态可以至少部分地基于啸叫存在概率。下文详细描述了各种示例。
63.在一些实例中,远程会议服务器可以在框405中检测啸叫状态。然而,在一些实施方式中,远程会议客户端位置处的启用啸叫检测的远程会议装置可以在框405中检测啸叫状态。
64.在这个示例中,框410涉及确定哪个客户端位置正在导致啸叫状态。在一些实例中,远程会议服务器可以在框410中确定哪个客户端位置正在导致啸叫状态。
65.然而,在一些实施方式中,远程会议客户端位置处的启用啸叫检测的远程会议装置可以在框410中确定哪个客户端位置正在导致啸叫状态。在一些实例中,启用啸叫检测的远程会议装置可以确定启用啸叫检测的远程会议装置本身或同一远程会议客户端位置处的另一远程会议装置正在导致啸叫状态。
66.可选框415涉及减轻啸叫状态或发送啸叫状态检测消息。根据一些示例,远程会议服务器可以在框415中向正在导致啸叫状态的客户端位置发送啸叫状态检测消息。在一些实施方式中,减轻啸叫状态可以涉及检测啸叫状态的一个或多个峰值频带以及应用对应于一个或多个峰值频带的一个或多个陷波滤波器。在一些示例中,减轻啸叫状态可以涉及使正在导致啸叫状态的客户端位置处的一个或多个麦克风静音和/或降低正在导致啸叫状态的客户端位置处的扬声器音量。在一些实施方式中,正在导致啸叫状态的客户端位置处的启用啸叫检测的远程会议装置可以被配置成用于减轻啸叫状态。
67.图5示出了根据一个实施方式的远程会议客户端装置和远程会议服务器配置。在这个示例中,远程会议服务器被配置成用于至少部分地基于从远程会议客户端位置接收到的远程会议音频数据来检测啸叫状态。这里,远程会议客户端位置1至m正在参与远程会议。
68.在图5所示的示例中,远程会议服务器包括啸叫检测器1至m,每个啸叫检测器与远程会议客户端位置或客户端位置处的远程会议客户端装置相对应。根据这个实施方式,啸
叫检测器1至m中的每一个被配置用于在远程会议期间检测啸叫状态。在这个示例中,远程会议服务器还包括被配置用于确定哪个客户端位置正在导致啸叫状态的啸叫客户端检测器。
69.这里,啸叫检测器1至m中的每一个被配置用于在检测到啸叫状态之后向啸叫客户端检测器发送啸叫状态信号。在这个实施方式中,啸叫客户端检测器可以根据从其接收到啸叫状态信号的啸叫检测器来确定哪个客户端位置正在导致啸叫状态。远程会议服务器可以被配置用于减轻啸叫状态和/或向导致啸叫状态的远程会议客户端位置发送啸叫状态检测消息。
70.本文示出和描述的啸叫检测器和啸叫客户端检测器,包括但不限于图5中示出的那些,可以根据特定实施方式以各种方式实施。例如,啸叫检测器和啸叫客户端检测器可以被实施为控制系统(诸如图3所示和上文描述的控制系统)的一部分。在一些示例中,啸叫检测器和啸叫客户端检测器可以经由硬件、经由软件(可以包括固件、驻留软件、微代码等)来实施和/或以结合了软件方面和硬件方面的实施例来实施。这些实施例在本文中可以被称为“电路”、“模块”或“引擎”。在一些实施方式中,啸叫检测器和啸叫客户端检测器可以经由实施在一个或多个非暂态介质中的计算机程序产品来实施,所述非暂态介质具有实施于其上的计算机可读程序代码。这种非暂态介质例如可以包括硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪速存储器)、便携式致密盘只读存储器(cd

rom)、光存储装置、磁存储装置、或前述各项的任何合适的组合。
71.图6示出了根据另一实施方式的远程会议客户端装置和远程会议服务器配置。在这个示例中,远程会议服务器被配置成用于至少部分地基于从正在参加远程会议的远程会议客户端位置1至m接收的远程会议音频数据来检测啸叫状态。在图6所示的示例中,远程会议服务器包括混合器,所述混合器被配置成用于混合从远程会议客户端位置1至m接收的远程会议音频数据并将远程会议音频数据混合输出到啸叫检测器。在这个实施方式中,啸叫检测器被配置成用于基于远程会议音频数据混合来检测啸叫状态。
72.与图5所示的类型的实施方式相比,这种类型的实施方式具有潜在的优势,因为不需要多个啸叫检测器。因此,与图5所示的类型的实施方式相比,这种类型的实施方式可以提供相对较低的计算开销、较少的功耗等。
73.与前一个示例一样,图6中所示的远程会议服务器也包括被配置用于确定哪个客户端位置正在导致啸叫状态的啸叫客户端检测器。远程会议服务器可以被配置用于减轻啸叫状态和/或向导致啸叫状态的远程会议客户端位置发送啸叫状态检测消息。
74.因为在这个示例中只有一个啸叫检测器,因此啸叫客户端检测器不能根据从其接收到啸叫状态信号的啸叫检测器来确定哪个客户端位置正在导致啸叫状态。因此,根据一些这样的实施方式,远程会议服务器可以从参与远程会议的远程会议客户端位置1至m中的每一个接收远程会议元数据。在一些示例中,远程会议元数据可以包括语音活动检测元数据、电平元数据和/或能量元数据。啸叫客户端检测器可以被配置成用于至少部分地基于远程会议元数据来确定哪个客户端位置正在导致啸叫状态。例如,在一些实例中,啸叫客户端检测器可以被配置成用于至少部分地基于指示哪个远程会议客户端位置具有当前正在讲话的远程会议参与者的语音活动检测元数据来确定哪个客户端位置正在导致啸叫状态。这是一个合理的假设,因为在远程会议或其他谈话的大部分时间里,一次只有一个人在说话。
75.一些实施方式可以提供啸叫客户端检测算法,其也可以被称为“责备”算法,以基于服务器中的啸叫检测结果和由远程会议服务器接收的每个远程会议客户端的元数据信息来将啸叫的区域与特定远程会议客户端相关联。在一个示例中,“责备”算法可以如下:
76.·
在远程会议音频数据混合上运行啸叫检测器,其可以表示为xsum(n)=sum(xm(n)),其中n表示帧号并且xm(n)表示指示第m个远程会议客户端的电平的信号。
77.·
当啸叫检测器观察到超过阈值概率的啸叫事件的概率时:
78.o选择vad=真的一个或多个当前远程会议客户端;
79.o运行混合信号xsum(n)与第m个远程会议客户端xm(n)之间的互相关rm(n),诸如r
m
(n)=α*r
m
(n) (1

α)*r
m
(n

1)。α的值可以根据特定实施方式而变化。例如,α的值可以取决于帧速率和/或取决于保持rm的过去值的期望时间长度。在一些示例中,α可以是0.95、0.96、0.97、0.98、0.99等。根据一些实施方式,可以例如使用具有一秒或更多秒数量级的时间常数的1极平滑滤波器来平滑rm(n)。这个平滑过程将在相对较长的时间段内保持相关信息。
80.·
选择所有rm(n)中的最大值,该值应与其电平信号与混合信号最相关的远程会议客户端m相对应。这第m个客户端成为检测到的正在导致啸叫状态的远程会议客户端(或客户端位置)。
81.图7示出了根据又一实施方式的远程会议客户端装置和远程会议服务器配置。在这个示例中,远程会议客户端位置中的每个包括啸叫检测器。包括这种啸叫检测器的远程会议装置在本文中可以被称为远程会议客户端位置处的启用啸叫检测的远程会议装置。在一些示例中,启用啸叫检测的远程会议装置可以被配置成用于检测啸叫状态。在一些这样的示例中,启用啸叫检测的远程会议装置(或远程会议客户端位置处的另一装置)可以被配置成用于减轻啸叫状态。根据一些这样的示例,不需要远程会议服务器的参与来检测和/或减轻啸叫状态。
82.然而,在一些替代实施方式中,仍然可能存在某种程度的远程会议服务器参与。根据一些这样的实施方式,远程会议客户端位置处的远程会议装置(诸如图7所示的客户端侧啸叫检测器之一)可以对由远程会议装置接收的远程会议音频数据中的至少一些远程会议音频数据执行啸叫特征提取过程。
83.啸叫特征提取过程可以产生啸叫特征数据。啸叫特征数据的特性可以根据特定实施方式的啸叫特征提取过程的细节而变化。例如,啸叫特征数据可以包括与基于功率的指标、频谱共振指标、百分位数间距指标、事件聚合、周期性指标、包络相似度、频谱峰度指标和/或啸叫存在概率相对应的一个或多个特征。
84.远程会议装置可以将啸叫特征数据中的至少一些啸叫特征数据发送到远程会议服务器。根据一些这样的示例,远程会议服务器可以被配置成用于至少部分地基于啸叫特征数据来检测啸叫状态。远程会议服务器可以被配置成用于至少部分地基于从其接收啸叫特征数据的客户端位置来确定哪个客户端位置正在导致啸叫状态。
85.本文公开了各种啸叫检测方法。一些啸叫检测方法可以涉及检测啸叫的短期频谱结构特征、啸叫的中期频谱

时间结构特征和/或啸叫的长期时间重复模式。这种啸叫检测方法可以涉及啸叫存在概率估计或“二元”啸叫/无啸叫确定。下文的详细讨论将描述以下啸叫检测方法的方面,所述方法包括:
86.o可以计算基于对数域频带功率的度量的顺序统计量以便检测啸叫的短期频谱结构;
87.o可以计算频谱共振度量以便检测啸叫的短期频谱结构;
88.o可以计算一致的高百分位数间距度量以便检测啸叫的频谱

时间结构特征;
89.o可以计算一致的高共振度量以便检测啸叫的频谱

时间结构特征;
90.o事件(诸如潜在的啸叫事件)可以被聚合以便检测啸叫的长期时间重复模式;
91.o可以分析基于调制频谱的周期性度量以便检测啸叫的长期时间重复模式;
92.o可以分析包络相似度以便检测啸叫的长期时间重复模式;
93.o啸叫存在概率估计可以基于包括两个或更多个上述计算的分层规则集(在本文中可以称为分层决策树)。
94.将在以下小节中描述这些方法。在一些方法中,可以将音频信号变换到频域并且可以基于频域音频信号来计算特征。然而,一些方法至少部分地在时域中操作。
95.图8是概述根据一些实施方式的啸叫检测方法的框的流程图。方法800的框可以例如由图3和图5至7中所示的装置中的一个或多个装置来实施。在一些示例中,可以经由存储在一个或多个非暂态介质上的软件来实施方法800的框。与本文所描述的其他方法一样,不必以所指示的顺序来执行方法800的框。而且,这种方法可以包括比所示出和/或所描述的框更多或更少的框。
96.在这个示例中,方法800开始于在框805中将音频数据从时域变换到频域。音频数据可以包括远程会议音频数据。在这个实施方式中,在框810中将经变换的音频数据划分成频带。频带的数量可以根据特定实施方式而变化。一些实施方式(其可以对应于相对窄带的音频数据)可以涉及将经变换的音频数据划分成40个音频带,而其他实施方式可以涉及将经变换的音频数据划分成48个音频带(这可以对应于宽带音频数据)、56个音频带(这可以对应于超宽带音频数据)或者其他数量的音频带。根据一些示例,框810可以涉及将经变换的音频数据划分成对数间隔的带,而其他示例可以涉及将经变换的音频数据划分成线性间隔的带。
97.在这个示例中,经变换且频带划分的音频数据被提供给三个不同的啸叫检测过程:框815涉及检测频谱结构的短期特征,框820涉及检测中期频谱和时间特征,并且框825涉及检测在相对长的时期内重复的模式。下文提供了这些啸叫检测过程中的每一个的示例。在一些实施方式中,“中期”可以是数百毫秒的时间段,例如150ms、200ms、250ms、300ms、350ms、400ms等。“长期”意味着比中期更长。例如,“长期”可以是秒的数量级,诸如1秒、1.5秒、2秒、2.5秒等。“短期”意味着比中期更短。例如,“短期”可以对应于几十毫秒,例如10ms、20ms、30ms等。在一些示例中,“短期”事件可以在单独的音频数据帧中被检测到。
98.其他示例可能涉及更多或更少的啸叫检测过程。例如,一些替代方法可能只涉及图8所示的三种啸叫检测过程中的两种。一些方法可以仅涉及三种类型的啸叫检测过程中的一种,例如,仅框815或框820。
99.在这个示例中,来自框815、820和825的结果被提供给框830中的啸叫存在概率估计过程。在这个示例中,框830输出啸叫存在概率的指示。可选的后处理框835接收啸叫存在概率的指示并输出指示啸叫状态或非啸叫状态的啸叫二元指示符。在一些实施方式中,方法800还可以包括响应于啸叫状态的动作,诸如减轻啸叫状态或发送啸叫状态检测消息。
100.以下段落提供了啸叫检测过程和指标的示例。
101.一致高峰度指标
102.这些指标提供了框815的过程的示例。第一个这样的指标,在本文中被称为频谱峰度度量(spm),基于这样的观察,即啸叫音频通常具有非常高的频谱峰度,能量集中在窄频率范围内。有许多潜在的频谱相关度量可以用来表征信号频谱的“尖峰”条件。频谱峰度度量的一个实施例可以在下面的等式(1)中看到。
[0103][0104]
在等式1中,x(k)表示频带索引k的频谱幅度,l表示帧的索引,并且k表示频带的数量。在这个示例中,spm被计算为一减去带功率谱的几何平均值与带功率谱的算术平均值之间的比率。
[0105]
在一些示例中,等式1的spm度量可以被平滑如下:
[0106][0107]
在等式2中,n表示块大小并且t
s
表示平滑时间常数。n和t
s
的值可以根据特定实施方式而变化并且可以取决于例如采样率和/或帧长度。在帧长度为20ms的一些示例中,对于16k采样率,n可以是320,并且对于32k采样率,n可以是640。在其他示例中,帧长度可以是10ms、30ms等。根据一些实施方式,ts可以是0.04秒、0.06秒、0.10秒、0.12秒等。
[0108]
在一些实施方式中,可以使用其他频谱相关度量来表征信号频谱的尖峰条件,诸如:
[0109]
·
基于峰值带之和与其他带之间的功率比的频谱波峰度量;
[0110]
·
基于峰均带功率比的频谱波峰度量(在一些示例中,可以在没有一个或多个峰带的情况下计算平均功率比);
[0111]
·
相邻谱带功率的方差或标准偏差;
[0112]
·
相邻频带之间谱带功率差的总和或最大值;
[0113]
·
频谱质心(spectral centroid)周围的频谱延展度或频谱方差;和/或
[0114]
·
频谱熵指标。
[0115]
可用于啸叫状态检测的另一种峰度度量在本文中可称为“基于计数器的一致高峰度度量”。这些实施方式涉及基于计数器来检测相对长的具有高峰度信号的块。在一些这样的实施方式中,如果信号的尖峰没有变得高度峰,则计数器可以缓慢释放。等式3显示了基于计数器的一致高峰度度量的一个示例:
[0116][0117]
在等式3中,p
counter
(l)表示高峰度信号的计数,p
maxcounter
表示当观察到具有高峰度
信号的长块时的最大计数器值,表示用于确定高峰度条件的阈值,表示下降的的阈值,并且p
counterdow
表示用于递减计数器的步度。spm_th、spm_downth和p_counterdown的值可以根据特定实施方式而变化。在一些示例中,spm_th可以是0.85、0.88、0.90等,spm_downth可以是0.05、0.08、0.10等,并且p_counterdown可以是0.2、0.5、1.0等。例如,p_counterdown的值可以取决于期望的释放时间。
[0118]
一致高ipr指标
[0119]
百分位数间距(ipr)指标可用于检测当前帧中的带功率之间的对比度。与话音和噪声信号相比,啸叫音频通常具有非常高的ipr。
[0120]
对数域带功率的顺序统计量
[0121]
对数域带功率可表示如下:
[0122]
b(k,l)=10log10(|x(k,l)|2),其中k=1,...,k;l=1,...,n。在这个表达式中,k表示带的索引并且l表示帧的索引。带功率的相应顺序统计量版本可以分别表示为b(1,l)、b(2,l)、......b(k,l),其中:
[0123]
b(1,l)≥b(2,l)≥...≥b(k,l)
ꢀꢀꢀꢀꢀ
(4)
[0124]
表达ipr的一种方式如下:
[0125]
ipr(l)=b(r,l)

b(κ,l)
ꢀꢀꢀꢀꢀ
(5)
[0126]
r和κ的值已经由发明人根据各种啸叫条件下的实验确定。在一些示例中,r=1并且κ可以表示为在一些实施方式中,percentile
th
=80。在其他实施方式中,percentile
th
可以是82、85等。
[0127]
在一些示例中,原始ipr度量可以例如如下被平滑:
[0128][0129]
在等式6中,α
ipr
可以表示为其中n表示块大小并且t
s
表示平滑时间常数。如上所述,n和t
s
的值可以根据特定实施方式而变化并且可以取决于采样率和/或帧长度。在帧长度为20ms的一些示例中,对于16k采样率,n可以是320,并且对于32k采样率,n可以是640。在其他示例中,帧长度可以是10ms、30ms等。根据一些实施方式,ts可以是0.04秒、0.06秒、0.10秒、0.12秒等。
[0130]
ipr的加权函数
[0131]
在一些实施方式中,一个或多个某种类型的加权函数可以用于ipr指标。使用精心选择的加权函数可以提高原始ipr度量的鉴别能力。在一些示例中,可以在应用自动增益控制(agc)之前确定输入电平。在一些实施方式中,输入电平和频谱峰度指标可以用于加权函数中。等式7提供了一个这样的示例:
[0132][0133]
在等式7中,inleveldb表示信号的输入电平。在一些示例(其可以是在远程会议客户端装置中实施啸叫检测器的示例)中,inleveldb可以表示应用agc之前的信号的输入电平。然而,在其他示例(其可以是在远程会议服务器中实施啸叫检测器的示例)中,inleveldb可以表示应用agc之后的信号的输入电平。在一个示例中,lowth=

60db并且highth=

30db。应当理解,lowth和highth的值可以根据特定实施方式而变化。ipr的一个相应的加权函数可以表示如下:
[0134]
w
ipr
(l)=w
level
(l)
×
spm(l)
ꢀꢀꢀꢀ
(8)
[0135]
iprcomb度量是上文描述的ipr度量的加权版本并且在一些示例中可以表示如下:
[0136][0137]
另一个有用的啸叫检测指标可以被称为“基于计数器的一致高iprcomb度量”。这个指标可以表示如下:
[0138][0139]
在等式10中,ipr
counter
(l)表示高iprcomb信号的计数器,iprm
maxcounter
表示当观察到具有高iprcomb信号的长块时的最大计数器,表示高iprcomb指标的阈值,并且ipr
couterdown
表示下降的计数器的步度。在一些示例中,ipr_th可以是12、15、18、20等。“长块”的示例是大约10或20帧的块,其持续时间将取决于帧长度。例如,如果帧长度是20ms,则大约10或20帧的块将对应于200到400毫秒的持续时间。因此,这个指标提供了可以在图8的框820中发生的过程的示例。
[0140]
基于事件的中期计数器
[0141]
这个指标提供了可以在框820中发生的过程的另一个示例。基于中期事件的计数器可以在中期期间检测啸叫音频的频谱结构的重复模式。在一个示例中,可以基于p
cunter
(l)和ipr
counter
(l)来检测啸叫事件的开始,如下:
[0142]
event
onset
=(ipr
counter
(l)≥ipr
counterth
)&&(p
counter
(l)≥p
counterth
)
ꢀꢀꢀꢀ
(11)
[0143]
中期事件计数器可以表示如下:
[0144][0145]
在等式12中,event
counter
(l)表示中期啸叫事件的计数器,event
maxcounter
表示中期啸叫事件的最大计数器,并且event
counterdown
表示下降的事件计数器的步度。在这个示例中,计数器用于检测中期内啸叫频谱结构的重复模式。这里,如果计数器的值增加,啸叫存在的
可能性也增加。在这个示例中,最大计数器表示啸叫存在的最高可能的可能性,例如1。在这个实施方式中,counterdown表示用于减小计数器的步长。当计数器值减小时,这表明啸叫存在的可能性正在下降。
[0146]
长期信号可变性度量
[0147]
这个指标是可以与图8的框825相对应的过程的示例。在一些示例中,经平滑带功率指标可以如下确定:
[0148][0149]
在一些实施方式中,时域分析窗口期间的频谱熵可以表示如下:
[0150][0151]
η(k,l)本质上是在第l帧结束的r个连续帧上在带k处计算的归一化短期频谱的熵度量。根据一些示例,长期信号可变性度量ltsv可以如下计算:
[0152][0153]
在这个示例中,信号可变性度量ltsv是k个带的熵(根据等式14计算)的样本方差。在等式(15)中,
[0154][0155]
基于事件的长期周期性
[0156]
这个指标是可以与图8的框825相对应的过程的另一个示例。发明人已经观察到,在远程会议环境中的啸叫经常显示出(例如)可以发生在两秒或更多秒的时间段内的长期重复的模式。
[0157]
图9是示出啸叫事件周期性检测方法的示例框的流程图。方法900的框可以例如由图3和图5至7中所示的装置中的一个或多个装置来实施。在一些示例中,可以经由存储在一个或多个非暂态介质上的软件来实施方法900的框。与本文所描述的其他方法一样,不必以所指示的顺序来执行方法900的框。而且,这种方法可以包括比所示出和/或所描述的框更多或更少的框。
[0158]
在这个示例中,方法900开始于在框905中将接收到的音频数据从时域变换到频域。音频数据可以包括远程会议音频数据。在这个实施方式中,还在框905中将经变换的音频数据划分成频带。
[0159]
为了对啸叫事件进行计数并确定啸叫事件长度,需要某种类型的啸叫事件开始检测。在这个示例中,经变换和频带划分的音频数据被提供给三个不同的过程,用于确定啸叫开始检测指标。其他实施方式可以涉及确定更多或更少的啸叫开始检测指标。在这个示例中,框910涉及用于确定是否存在作为啸叫事件的特性的电平增加的“δ电平”过程。在一些示例中,这个电平增加阈值可以是20db、25db、30db等。这里,框915涉及评估ipr。例如,框915可以涉及一种或多种类型的ipr计算方法,诸如上文描述的那些方法。根据这个实施方式,框920涉及一种或多种类型的峰度检测,其可以表示啸叫事件开始的频谱结构。框920可
以涉及上文描述的峰度检测方法中的一种或多种。
[0160]
在这个示例中,从框910至920的过程输出的啸叫开始检测指标被提供给框925中的啸叫事件开始检测过程。在一些示例中,在啸叫事件开始检测过程期间,从框910至920的过程输出的啸叫开始检测指标被给予相等的权重,而在其他示例中,一个指标可以被给予比其他指标更大的权重。当已经检测到啸叫事件的开始时,向框930的过程输入啸叫事件开始检测指示,其中确定啸叫事件长度。例如,在框930中,可以调用一种或多种啸叫事件检测方法,例如,本文公开的短期啸叫事件检测方法中的一种或多种。根据这个示例,在框935中已经确定了啸叫事件长度之后,方法900进行到啸叫事件计数器过程(框935)。
[0161]
在这个实施方式中,啸叫事件计数器过程的结果(其可以包括检测到的啸叫事件数量)被提供给框940的一个或多个事件周期性测量过程。在一些示例中,框940可以涉及例如如下应用一个或多个启发式规则来得到周期性度量:
[0162]
eventperiodicity=max(0,min(1,(eventcount

eventnumth)
×
periodicitystep))
ꢀꢀꢀꢀ
(17)
[0163]
在等式17中,eventcount表示检测到的啸叫事件数量;eventnumth表示啸叫事件存在数量的阈值并且periodicitystep表示周期性的增加步度。根据一个示例,eventnumth是2并且periodicitystep是0.5。然而,在替代示例中,eventnumth可以是1.5、1.8等。在其他示例中,periodicitystep可以是0.4、0.6等。
[0164]
根据一些示例,可以例如如下调用递归平均方法以便提供基于事件的周期性度量的进一步平滑:
[0165][0166]
在等式18中,α
smooth
、表示平滑系数。在一些示例中,α
smooth
可以是0.85、0.9、0.95等。
[0167]
基于电平的长期周期性
[0168]
一些实施方式涉及确定基于音频信号电平的长期周期性指标。发明人已经观察到,在远程会议环境中啸叫事件的幅度调制频谱经常显示出长期重复的模式。
[0169]
图10是示出测量啸叫事件周期性的另一种方法的示例框的流程图。方法1000的框可以例如由图3和图5至7中所示的装置中的一个或多个装置来实施。在一些示例中,可以经由存储在一个或多个非暂态介质上的软件来实施方法1000的框。与本文所描述的其他方法一样,不必以所指示的顺序来执行方法1000的框。而且,这种方法可以包括比所示出和/或所描述的框更多或更少的框。
[0170]
在这个示例中,方法1000开始于在框1005中接收音频数据。音频数据可以包括远程会议音频数据。在这个实施方式中,接收到的音频数据被提供给框1010。这里,框1010涉及根据滑动时间窗口来评估音频数据中的电平信息。在一个示例中,滑动时间窗口可以是音频数据的128帧。在其他示例中,滑动时间窗口可以更长或更短。在一些示例中,可以在agc过程之前确定电平信息。
[0171]
根据这个示例,框1010的结果被提供给框1015,框1015涉及调制频谱分析的过程。在一些示例中,框1015涉及快速傅立叶变换(fft)计算。例如,框1015的调制频谱分析可以涉及滑动时间窗口中的长期电平信息的傅立叶变换。框1015的结果被提供给框1020的峰值拾取过程。在框1020中选择调制频谱的峰值,因为峰值表示周期性信息。然后,可以在框
1025中基于框1020的结果来确定周期性度量。例如,在框1020中选择的峰值电平可以指示啸叫事件的开始。相应的峰值电平可以在稍后时间被标识并且可以使其与较早的峰值电平相关。
[0172]
啸叫存在概率
[0173]
在一些实施方式中,局部啸叫存在概率可以基于ipr值的线性插值,例如,如下:
[0174][0175]
可替代地或附加地,可以确定全局啸叫存在概率。在一些示例中,全局啸叫存在概率可以根据基于计数器的一致性度量,如下:
[0176][0177]
在一些示例中,原始啸叫概率可以定义如下:
[0178]
p(l)=p
local
(l)p
global
(l)
ꢀꢀꢀꢀꢀ
(21)
[0179]
图11是示出根据一个示例的啸叫存在概率确定方法的框的流程图。方法1100的框可以例如由图3和图5至7中所示的装置中的一个或多个装置来实施。在一些示例中,可以经由存储在一个或多个非暂态介质上的软件来实施方法1100的框。与本文所描述的其他方法一样,不必以所指示的顺序来执行方法1100的框。而且,这种方法可以包括比所示出和/或所描述的框更多或更少的框。
[0180]
在这个示例中,方法1100的显著特征在框1105的啸叫事件检测过程之后开始,所述啸叫事件检测过程可以根据任何上文描述的啸叫事件检测方法来执行。尽管未在图11中示出,但是根据特定实施方式,框1105可以涉及其他过程,诸如接收音频数据、将音频数据变换到频域、频带划分等。这里,框1110涉及确定啸叫事件的数量是否已经超过第一啸叫事件计数器阈值,该阈值也可以被称为中期事件计数器高阈值。在一些示例中,中期事件计数器高阈值可以是10、12、13等。如果在框1110中确定啸叫事件的数量已经超过第一啸叫事件计数器阈值,则过程继续到框1115。
[0181]
然而,如果在框1110中确定啸叫事件的数量没有超过第一啸叫事件计数器阈值,则过程继续到框1150,其中确定啸叫事件的数量是否小于第二啸叫事件计数器阈值,第二啸叫事件计数器阈值也可以被称为中期事件计数器低阈值。在一些示例中,中期事件计数器低阈值可以是5、6、7等。如果在框1150中确定啸叫事件的数量小于第二啸叫事件计数器阈值,则过程继续到框1155,框1155涉及降低当前啸叫存在概率(hpp)。在这个示例中,框1155涉及将当前hpp值乘以hpp_clear,hpp_clear是如果假警报的概率高则用于快速减小hpp值的常数。在一些示例中,hpp_clear的值可以是0.1、0.2、0.3等。
[0182]
然而,如果在框1150中确定啸叫事件的数量不小于第二啸叫事件计数器阈值,则过程继续到框1160。在这个示例中,框1160涉及将当前hpp值设置为零或值(hpp(l)[当前hpp值]

hpp_down)中的较大者。根据这个示例,hpp_down是用于减小hpp的值的常数。在一
些示例中,hpp_down的值可以是0.02、0.03、0.04等。
[0183]
如上所述,如果在框1110中确定啸叫事件的数量已经超过第一啸叫事件计数器阈值,则过程继续到框1115。这里,框1115涉及评估信号可变性。在这个示例中,框1115涉及确定长期信号可变性(ltsv)是否大于ltsv阈值,所述ltsv阈值在图11中表示为ltsv_th1。在一些示例中,ltsv_th1的值可以是0.15、0.2、0.25等。如果在框1115中确定ltsv不大于ltsv_th1,则过程进行到框1150。然而,如果在框1115中确定ltsv大于ltsv_th1,则过程继续到框1120。
[0184]
在这个实施方式中,框1120涉及确定音频输入数据的一个或多个电平值是否超过阈值。在一些示例中,可以在agc过程之前确定一个或多个电平值。根据这个实施方式,框1120涉及确定是否inleveldb>level_th1。在一些示例中,ltsv_th1的值可以是

60db、

65db、

70db等。如果在框1120中确定inleveldb不大于ltsv_th1,则过程进行到框1150。然而,如果在框1120中确定inleveldb>level_th1,则过程在这个示例中继续到框1125。
[0185]
在这个实施方式中,框1125涉及将当前hpp值设置为1或当前hpp值与“原始”啸叫概率之和中的较小者,在一些示例中,“原始”啸叫概率可以根据等式21来确定。过程然后进行到框1130。
[0186]
在这个实施方式中,框1130涉及确定啸叫事件周期性指标是否小于第一啸叫事件周期性阈值,所述阈值在图11中表示为periodicity_th1。在一些示例中,periodicity_th1的值可以是0.2、0.3、0.4、0.5等。如果在框1130中确定啸叫事件周期性指标小于periodicity_th1,则过程继续到框1135。这里,框1135涉及减小当前hpp。在这个示例中,框1135涉及将当前hpp值乘以hpp_clear。
[0187]
然而,如果在框1130中确定啸叫事件周期性指标不小于第一啸叫事件周期性阈值,则过程在这个示例中进行到框1140。这里,框1140涉及确定啸叫事件周期性指标是否大于第二啸叫事件周期性阈值,该阈值在图11中表示为periodicity_th2。在一些示例中,periodicity_th2的值可以是0.80、0.85、0.90等。在这个示例中,如果在框1140中确定啸叫事件周期性指标不大于periodicity_th2,则将不改变当前hpp值。然而,如果在框1140中确定啸叫事件周期性指标大于periodicity_th2,则过程继续到框1145。
[0188]
在这个实施方式中,框1145涉及将当前hpp值设置为1或当前hpp值与在图11中表示为hpp_up的常数之和中的较小者。hpp_up是用于递增hpp的当前值的值。在一些示例中,hpp_up的值可以是0.1、0.15、0.2等。
[0189]
在完成上述过程之后,可以输出hpp值。尽管在图11中未示出,但是当检测到额外啸叫事件时,过程可以继续。
[0190]
在替代实施方式中,可以根据一种或多种其他方法来确定hpp值。例如,可以根据如回归决策树方法、自适应提升算法、高斯混合模型、隐马尔可夫模型或深度神经网络等基于机器学习的方法来确定hpp值。
[0191]
确定啸叫二元指示符的后处理
[0192]
如上文参考图8的框835所描述的,一些实施方式可以涉及在确定hpp值或类似的啸叫概率值之后的后处理步骤。一些这样的实施方式可以涉及基于投票的决策平滑过程。如果我们将帧l中啸叫状态的二元指示符定义为i(l)并且将观察窗r中的投票率定义为y(l),则投票率可以表示如下:
[0193][0194]
二元决策平滑可以如下执行:
[0195]
l(l)=i(l)&(v(l)≥vth)
ꢀꢀ
(23)
[0196]
在等式23中,vth表示投票率阈值,该阈值可以根据特定实施方式而变化。在一些示例中,vth可以是0.5、0.6、0.7等。
[0197]
根据一些实施方式,中值滤波器方法可以用于进一步的二元决策平滑。在一些这样的实施方式中,帧l中啸叫状态的二元指示符可以表示如下:
[0198]
i(l)=median{i(l

m 1),i(l

m 2),...,i(l)}
ꢀꢀꢀꢀ
(24)
[0199]
在等式24中,m表示中值滤波器窗口的长度。在一些示例中,m可以在3、4、5等的范围内。
[0200]
时域中基于rms的包络相似度确定
[0201]
图12是示出确定信号包络相似度的方法的示例框的流程图。方法1200的框可以例如由图3和图5至7中所示的装置中的一个或多个装置来实施。在一些示例中,可以经由存储在一个或多个非暂态介质上的软件来实施方法1200的框。与本文所描述的其他方法一样,不必以所指示的顺序来执行方法1200的框。而且,这种方法可以包括比所示出和/或所描述的框更多或更少的框。
[0202]
在这个示例中,方法1200开始于在框1205中接收音频数据。音频数据可以包括远程会议音频数据。在这个实施方式中,接收到的音频数据被提供给框1210,而无需变换到频域。在这个示例中,框1210涉及对时域音频信号加窗。在一个这样的示例中,帧长度是10ms并且首先经由窗口长度为20ms的汉明(hamming)窗来对时域音频信号加窗。然而,加窗过程的类型和窗口长度可以根据特定实施方式而变化。在一些替代示例中,可以应用汉宁(hanning)窗。在一些示例中,窗口大小可以是25ms、30ms等。
[0203]
过程然后继续到框1212,其中计算每个帧的rms能量。在一个实施方式中,每个帧的rms能量计算如下:
[0204][0205]
在等式25中,x
i
(i=1,2,...,n)是帧的样本。
[0206]
在这个示例中,过程然后进行到框1215的平滑和滤波过程。在一些实施方式中,框1215涉及通过对框1212中计算的rms能量应用中值滤波来获得经平滑的rms包络,例如如下:
[0207]
x
rms
(i)=med[x
rms
(i

n),...,x
rms
(i),...,x
rms
(i n)]
ꢀꢀꢀꢀꢀ
(26)
[0208]
因此,中值滤波操作可以涉及对rms能量进行排序并选择第50百分位的值。框1215的结果被提供给框1220。根据这个示例,对于经平滑的rms包络,框1220涉及用于找到rms峰值的峰值拾取方法。在一些示例中,峰值拾取方法可以选择局部最大rms值。在这个示例中,提取两个相邻峰值之间的块并且然后计算剩余块的长度。在一些实施方式中,这个长度可以用作包络周期性的约束条件。
[0209]
然后在框1225中对rms块进行归一化。在一些示例中,框1225涉及使用最大rms值,
例如如下:
[0210]
vrms1=vrms1/max(abs(vrms1)) (27)
[0211]
vrms2=vrms2/max(abs(vrms2))
ꢀꢀꢀ
(28)
[0212]
在等式27和28中,vrms1和vrms2表示三个峰值中的两个相邻块。
[0213]
在这个实施方式中,然后在框1230中计算两个块的平滑rms的均方误差(mse)。根据一些示例,框1230可以涉及如下计算mse:
[0214]
mse=sum((vrms1

vrms2).^2)/length(vrms1)
ꢀꢀꢀ
(29)
[0215]
在这个示例中,接下来是框1235的平滑过程,以便减轻峰值之间的mse的波动。根据一些这样的示例,框1235涉及中值滤波过程以获得经平滑的mse值。
[0216]
发明人已观察到,远程会议环境中的相应啸叫事件的长度可能非常相似。通过使用对应于啸叫事件的块的长度,可以构造一种约束规则,所述约束规则可以应用于经平滑的mse值。以这种方式,可以获得最终mse值。
[0217]
因此,根据这个示例,然后在框1240中应用约束规则。在一些示例中,约束规则可以至少部分地基于最大长度以及len1和len2的比率,其中len1和len2分别表示上述vrms1和vrms2的长度。如果最大长度太长或比率太小或太大,这可以表明len1与len2之间的差太大。因此,根据一些示例,可以增加mse值。如果比率几乎等于1,并且几个块(例如,4个或5个块)上的比率几乎等于1,这可以表明包络具有很强的相似度。因此,根据一些这样的示例,可以减小mse值。
[0218]
通过选择和应用mse值的适当阈值,然后在框1245中可以得到啸叫事件的二元指示。根据一些实施方式,mse值的阈值可以很小,例如0.015、0.02、0.025、0.03等。在一些示例中,对于啸叫事件,输出可以是1,并且对于非啸叫事件,输出可以是0。
[0219]
频域中基于能量的包络相似度确定
[0220]
在一些实施方式中,可以基于能量在频域中计算包络相似度指标。根据帕塞瓦尔(parseval)定理,
[0221][0222]
在等式30中,e表示能量。
[0223]
在确定基于能量的包络相似度的一个示例中,可以对音频信号加窗并且然后例如通过使用fft或改进的离散余弦变换来变换到频域。在一些示例中,每个帧的能量可以计算如下:
[0224][0225]
在等式31中,x[k]表示频域中的系数,k表示频率索引,并且n表示帧长度。然后可以应用滤波器以获得平滑的包络。例如,可以应用移动平均滤波器:
[0226][0227]
在等式32中,n表示移动平均滤波器的长度,其值可能根据实施方式而不同。在一些示例中,n的值可以是3、5、7等。根据一些实施方式,然后可以拾取包络的峰值并且可以计
算mse值。在一些示例中,这些过程可以如上文参考图12的框1220至1245所述来执行。
[0228]
子带域中基于能量的包络相似度确定
[0229]
啸叫事件可能发生在几个频带中。因此,子带域中的集体决策可以有助于确定包络相似度。
[0230]
确定子带域包络相似度的一个实施方式可以通过对接收的音频信号加窗并且然后例如通过使用fft或改进的离散余弦变换将音频信号变换到频域来开始。可以例如根据心理声学原理将得到的宽带信号划分成子带。子带的数量可以例如基于宽带信号的采样率。在涉及16khz采样率的一个示例中,宽带信号可以被划分成48个子带。在涉及32khz采样率的其他示例中,宽带信号可以被划分成56或64个子带。
[0231]
然后,过程可以基本上如前一节中所描述的那样进行。然而,这个方法的一些示例可以涉及不仅输出二元非啸叫或啸叫事件指示(例如,1和0),还输出啸叫事件确定中的不确定性的指示(例如,0.5)。例如,啸叫事件可能与话音信号混合并且这可能导致模糊的啸叫事件确定结果。
[0232]
图13是概述根据一些实施方式的啸叫检测方法的框的流程图。方法1300的框可以例如由图3和图5至7中所示的装置中的一个或多个装置来实施。由图13的框引用的过程可以根据任何相应的上文描述的方法来执行。在一些示例中,可以经由存储在一个或多个非暂态介质上的软件来实施方法1300的框。与本文所描述的其他方法一样,不必以所指示的顺序来执行方法1300的框。而且,这种方法可以包括比所示出和/或所描述的框更多或更少的框。
[0233]
在这个示例中,方法1300开始于在框1305中将音频数据从时域变换到频域。音频数据可以包括远程会议音频数据。在这个实施方式中,在框1310中将经变换的音频数据划分成频带。
[0234]
在这个示例中,经变换和频带划分的音频数据被提供给四个不同的啸叫检测过程:根据这个实施方式,框1315涉及检测频谱峰度,框1320涉及确定ipr,框1325涉及确定将agc应用于音频数据之前的信号电平,并且框1330涉及频谱熵确定过程。在这个实施方式中,框1315、1320和1325的结果被提供给iprcomb框,iprcomb框又向高iprcomb一致性度量框1345提供输入。在这个示例中,框1315的结果也被提供给高峰度一致性度量框1340。这里,框1330的结果也被提供给长期信号可变性框1350。
[0235]
根据这个实施方式,框1325、1340、1345、1350和1355的结果被提供给啸叫存在概率确定框1360。在这个示例中,框1360输出啸叫存在概率度量,所述度量在本文中也被称为hpp。这里,框1360还向后处理框1365提供输入,后处理框1365输出二元啸叫/无啸叫指示。在一些示例中,方法1300可以涉及减轻啸叫状态或发送啸叫状态检测消息。
[0236]
本领域普通技术人员能够很容易地明白对本公开中所描述实施方式的各种修改。在不脱离本公开范围的情况下,可以将本文所限定的一般原理应用于其他实施方式。因此,本权利要求并不旨在局限于本文所示出的实施方式,而是符合与本公开内容、本文所公开的原理和新颖特征一致的最宽范围。
[0237]
可以从以下枚举的示例实施例(eee)中理解本公开的各个方面:
[0238]
1.一种远程会议方法,包括:
[0239]
在远程会议期间检测啸叫状态,所述远程会议涉及两个或更多个远程会议客户端
位置以及被配置用于在所述远程会议客户端位置之间提供全双工音频连接的远程会议服务器,所述啸叫状态是涉及某一远程会议客户端位置中的两个或更多个远程会议装置的声反馈状态,其中,检测所述啸叫状态涉及对远程会议音频数据的频谱特性和时间特性两者的分析;以及
[0240]
确定哪个客户端位置正在导致所述啸叫状态。
[0241]
2.如eee 1所述的方法,进一步包括减轻所述啸叫状态或发送啸叫状态检测消息中的至少一个。
[0242]
3.如eee 1或eee 2所述的方法,其中,所述远程会议服务器确定哪个客户端位置正在导致所述啸叫状态。
[0243]
4.如eee 1至3中任一项所述的方法,其中,所述远程会议服务器检测所述啸叫状态。
[0244]
5.如eee 4所述的方法,其中:
[0245]
远程会议客户端位置处的远程会议装置对所述远程会议音频数据中的至少一些远程会议音频数据执行啸叫特征提取过程,所述啸叫特征提取过程产生啸叫特征数据;
[0246]
所述远程会议装置将所述啸叫特征数据发送到所述远程会议服务器;并且
[0247]
所述远程会议服务器至少部分地基于所述啸叫特征数据来检测所述啸叫状态。
[0248]
6.如eee 4所述的方法,其中,所述远程会议服务器至少部分地基于从所述远程会议客户端位置中的一个或多个远程会议客户端位置接收的远程会议音频数据来检测所述啸叫状态。
[0249]
7.如eee 6所述的方法,其中,所述远程会议服务器创建包括从所述远程会议客户端位置接收的远程会议音频数据的远程会议音频数据混合,并且其中,所述远程会议服务器基于所述远程会议音频数据混合来检测所述啸叫状态。
[0250]
8.如eee 7所述的方法,其中,所述远程会议服务器从所述远程会议客户端位置接收远程会议元数据,并且其中,所述远程会议服务器至少部分地基于所述远程会议元数据来确定哪个客户端位置正在导致所述啸叫状态。
[0251]
9.如eee 8所述的方法,其中,所述远程会议元数据包括语音活动检测元数据、电平元数据或能量元数据中的一个或多个。
[0252]
10.如eee 1所述的方法,进一步包括根据所述远程会议音频数据来估计啸叫存在概率,其中,检测所述啸叫状态至少部分基于所述啸叫存在概率。
[0253]
11.如eee 10所述的方法,其中,所述啸叫存在概率估计是基于分层规则集或机器学习方法。
[0254]
12.如eee 1所述的方法,其中,远程会议客户端位置处的启用啸叫检测的远程会议装置检测所述啸叫状态。
[0255]
13.如eee 12所述的方法,其中,所述启用啸叫检测的远程会议装置减轻所述啸叫状态。
[0256]
14.如eee 1至13中任一项所述的方法,其中,检测所述啸叫状态涉及从由以下各项构成的过程列表中选择的一个或多个过程:根据频带的顺序统计量来计算基于功率的指标;计算频谱共振指标;计算百分位数间距指标;事件聚合;计算周期性指标;检测包络相似度;计算频谱峰度指标;基于机器学习的过程;以及估计啸叫存在概率。
[0257]
15.一个或多个非暂态介质,其上存储有软件,所述软件包括用于控制一个或多个装置执行如eee 1至14中任一项所述的方法的指令。
[0258]
16.一种远程会议设备,包括:
[0259]
用于在远程会议期间检测啸叫状态的装置,所述远程会议涉及两个或更多个远程会议客户端位置以及被配置用于在所述远程会议客户端位置之间提供全双工音频连接的远程会议服务器,所述啸叫状态是涉及某一远程会议客户端位置中的两个或更多个远程会议装置的声反馈状态,其中,检测所述啸叫状态涉及对远程会议音频数据的频谱特性和时间特性两者的分析;以及
[0260]
用于确定哪个客户端位置正在导致所述啸叫状态的装置。
[0261]
17.如eee 16所述的远程会议设备,进一步包括用于减轻所述啸叫状态的装置。
[0262]
18.如eee 16或eee 17所述的远程会议设备,进一步包括用于发送啸叫状态检测消息的装置。
[0263]
19.如eee 16至18中任一项所述的远程会议设备,其中,检测所述啸叫状态至少部分基于从所述远程会议客户端位置中的一个或多个远程会议客户端位置接收的远程会议音频数据。
[0264]
20.如eee 16至19中任一项所述的远程会议设备,进一步包括用于创建包括从所述远程会议客户端位置接收的远程会议音频数据的远程会议音频数据混合的装置,其中,检测所述啸叫状态至少部分基于所述远程会议音频数据混合。
[0265]
21.如eee 16至20中任一项所述的远程会议设备,其中,检测所述啸叫状态至少部分基于从所述远程会议客户端位置接收的远程会议元数据。
[0266]
22.如eee 21所述的远程会议设备,其中,所述远程会议元数据包括语音活动检测元数据、电平元数据或能量元数据中的一个或多个。
[0267]
23.如eee 16至22中任一项所述的远程会议设备,进一步包括用于根据所述远程会议音频数据来估计啸叫存在概率的装置,其中,检测所述啸叫状态至少部分基于所述啸叫存在概率。
[0268]
24.如eee 23所述的远程会议设备,其中,所述啸叫存在概率估计是基于分层规则集或机器学习方法。
[0269]
25.如eee 16至24中任一项所述的远程会议设备,其中,检测所述啸叫状态涉及从由以下各项构成的过程列表中选择的一个或多个过程:根据频带的顺序统计量来计算基于功率的指标;计算频谱共振指标;计算百分位数间距指标;事件聚合;计算周期性指标;检测包络相似度;计算频谱峰度指标;基于机器学习的过程;以及估计啸叫存在概率。
[0270]
26.一种远程会议服务器,包括:
[0271]
接口系统,所述接口系统被配置用于所述远程会议服务器与远程会议客户端位置之间的通信;以及
[0272]
控制系统,所述控制系统被配置用于:
[0273]
在远程会议期间在两个或更多个远程会议客户端位置之间提供全双工音频连接;
[0274]
在所述远程会议期间检测啸叫状态,所述啸叫状态是涉及某一远程会议客户端位置中的两个或更多个远程会议装置的声反馈状态,其中,检测所述啸叫状态涉及对远程会议音频数据的频谱特性和时间特性两者的分析;以及
[0275]
确定哪个客户端位置正在导致所述啸叫状态。
[0276]
27.如eee 26所述的远程会议服务器,其中,所述控制系统被配置用于减轻所述啸叫状态或发送啸叫状态检测消息中的至少一个。
[0277]
28.如eee 26或eee 27所述的远程会议服务器,其中,所述控制系统被配置用于确定哪个客户端装置正在导致所述啸叫状态。
[0278]
29.如eee 26至28中任一项所述的远程会议服务器,其中,所述控制系统被配置用于至少部分地基于从所述远程会议客户端位置中的一个或多个远程会议客户端位置接收的远程会议音频数据来检测所述啸叫状态。
[0279]
30.如eee 26至29中任一项所述的远程会议服务器,其中,所述控制系统被配置用于:
[0280]
创建包括从所述远程会议客户端位置接收的远程会议音频数据的远程会议音频数据混合;以及
[0281]
基于所述远程会议音频数据混合来检测所述啸叫状态。
[0282]
31.如eee 30所述的远程会议服务器,其中,所述控制系统被配置用于:
[0283]
经由所述接口系统从所述远程会议客户端位置接收远程会议元数据;以及
[0284]
至少部分地基于所述远程会议元数据来确定哪个客户端位置正在导致所述啸叫状态。
[0285]
32.如eee 31所述的远程会议服务器,其中,所述远程会议元数据包括语音活动检测元数据、电平元数据或能量元数据中的一个或多个。
[0286]
33.如eee 26至32中任一项所述的远程会议服务器,其中,所述控制系统被配置用于根据从所述远程会议客户端位置中的一个或多个远程会议客户端位置接收的远程会议音频数据来估计啸叫存在概率,其中,检测所述啸叫状态至少部分基于所述啸叫存在概率。
[0287]
34.如eee 33所述的远程会议服务器,其中,所述啸叫存在概率估计是基于分层规则集或机器学习过程。
[0288]
35.如eee 26至34中任一项所述的远程会议服务器,其中,检测所述啸叫状态涉及从由以下各项构成的过程列表中选择的一个或多个过程:
[0289]
根据频带的顺序统计量来计算基于功率的指标;计算频谱共振指标;计算百分位数间距指标;事件聚合;计算周期性指标;检测包络相似度;计算频谱峰度指标;基于机器学习的过程;以及估计啸叫存在概率。
[0290]
36.如eee 26至35中任一项所述的远程会议服务器,其中,所述控制系统被配置用于:
[0291]
经由所述接口系统从某一远程会议客户端位置处的远程会议装置接收啸叫特征数据,所述啸叫特征数据是由所述远程会议装置执行的啸叫特征提取过程的结果;以及
[0292]
至少部分地基于所述啸叫特征数据来检测所述啸叫状态。
[0293]
37.一种远程会议客户端装置,包括:
[0294]
接口系统,所述接口系统被配置用于所述远程会议客户端装置与远程会议服务器之间的通信,所述远程会议服务器被配置用于在远程会议期间在多个远程会议客户端位置之间提供全双工音频连接;以及
[0295]
控制系统,所述控制系统被配置用于:
[0296]
在所述远程会议期间检测啸叫状态,所述啸叫状态是涉及所述远程会议客户端装置和包括所述远程会议客户端装置的远程会议客户端位置中的至少一个其他装置的声反馈状态,其中,检测所述啸叫状态涉及对远程会议音频数据的频谱特性和时间特性两者的分析;以及
[0297]
减轻所述啸叫状态。
[0298]
38.如eee 37所述的远程会议客户端装置,其中,检测所述啸叫状态涉及从由以下各项构成的过程列表中选择的一个或多个过程:根据频带的顺序统计量来计算基于功率的指标;计算频谱共振指标;计算百分位数间距指标;事件聚合;计算周期性指标;检测包络相似度;计算频谱峰度指标;基于机器学习的过程;以及估计啸叫存在概率。
[0299]
39.一种远程会议客户端装置,包括:
[0300]
接口系统,所述接口系统被配置用于所述远程会议客户端装置与远程会议服务器之间的通信,所述远程会议服务器被配置用于在远程会议期间在多个远程会议客户端位置之间提供全双工音频连接;以及
[0301]
控制系统,所述控制系统被配置用于:
[0302]
在所述远程会议期间执行啸叫状态特征提取过程,所述啸叫状态特征提取过程涉及提取与检测啸叫状态相关的啸叫特征数据,所述啸叫状态是涉及所述远程会议客户端装置和包括所述远程会议客户端装置的远程会议客户端位置中的至少一个其他装置的声反馈状态,其中,所述啸叫状态特征提取过程涉及对远程会议音频数据的频谱特性和时间特性两者的分析;以及
[0303]
将所述啸叫特征数据发送到所述远程会议服务器。
[0304]
40.如eee 39所述的远程会议客户端装置,其中,执行啸叫状态特征提取过程涉及从由以下各项构成的过程列表中选择的一个或多个过程:根据频带的顺序统计量来计算基于功率的指标;计算频谱共振指标;计算百分位数间距指标;事件聚合;计算周期性指标;检测包络相似度;计算频谱峰度指标;基于机器学习的过程;以及估计啸叫存在概率。
再多了解一些

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

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

相关文献