掌桥专利:专业的专利平台
掌桥专利
首页

双讲检测方法、装置、设备和介质

文献发布时间:2023-06-19 12:07:15


双讲检测方法、装置、设备和介质

技术领域

本公开涉及通信技术领域,特别涉及一种双讲检测方法、装置、设备和介质。

背景技术

本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。

回声消除(Acoustic Echo Cancellation,AEC)是一种信号处理的技术,其功能是抑制和消除在通信系统中的回声信号,保障使用者不被回声信号所干扰,提高通话质量。

相关技术中的AEC方法,通常利用自适应线性滤波器去估计回声信号,然后根据估计的回声信号抵消掉通信系统中的回声信号。为了提升AEC方法中自适应线性滤波器的效果,通常增加双讲检测模块(double-talk detection,DTD),来配合自适应线性滤波器。

双讲检测模块用于检测通信双方的讲话状态,例如,通信双方同时讲话时为双讲状态。相关技术中,在通信的一端,通过检测本端语音信号(即近端语音信号)和另一端的语音信号(即远端语音信号),来确定是否为双讲状态。通常来说,检测远端语音信号比较容易实现,但是,由于本端麦克风采集到的音频信号,不仅包括近端语音信号,还可能包括远端语音信号的回声信号,因此,检测近端语音信号比较困难。

发明内容

本公开实施例提供一种双讲检测方法、装置、设备和介质,用于准确检测近端语音信号,进而确定双讲状态。

第一方面,本公开实施例提供了一种双讲检测方法,包括:

获取近端音频信号和远端音频信号;

检测所述近端音频信号的目标低频段是否存在近端频率幅度值;

基于所述近端频率幅度值的检测结果,确定所述近端音频信号中是否存在近端语音信号,以得到近端检测结果;

检测所述远端音频信号中是否存在远端语音信号,以得到远端检测结果;

基于所述近端检测结果和所述远端检测结果,确定是否为双讲状态。

在一种可能的实施方式中,所述基于所述近端频率幅度值的检测结果,确定所述近端音频信号中是否存在近端语音信号,包括:

若存在所述近端频率幅度值,则检测所述远端音频信号的所述目标低频段中,目标频率点对应的远端频率幅度值;其中,所述目标频率点为所述近端频率幅度值对应的频率点;

将所述近端频率幅度值对应的能量与所述远端频率幅度值对应的能量进行比较,并根据比较结果确定所述近端音频信号中是否存在所述近端语音信号。

在一种可能的实施方式中,所述将所述近端频率幅度值对应的能量与所述远端频率幅度值对应的能量进行比较,并根据比较结果确定所述近端音频信号中是否存在所述近端语音信号,包括:

将所述近端频率幅度值对应的能量与所述远端频率幅度值对应的能量的差值,与第一门限值进行比较;

若所述差值不大于所述第一门限值,则确定所述近端音频信号中不存在所述近端语音信号;

若所述差值大于所述第一门限值,则确定所述近端音频信号中存在所述近端语音信号;或者

将所述近端频率幅度值对应的能量与所述远端频率幅度值对应的能量的比值,与第二门限值进行比较;

若所述比值不大于所述第二门限值,则确定所述近端音频信号中不存在所述近端语音信号;

若所述比值大于所述第二门限值,则确定所述近端音频信号中存在所述近端语音信号。

在一种可能的实施方式中,所述方法还包括:

基于所述近端频率幅度值对应的能量、所述远端频率幅度值对应的能量和所述远端音频信号的能量均方差中的一个或多个,确定是否达到所述第一门限值或者所述第二门限值的更新条件;其中,所述远端音频信号的能量均方差为设定时间段内,获取的各个远端音频信号在所述目标频率点的能量均方差;

若达到所述第一门限值或者所述第二门限值的更新条件,则对所述第一门限值或者所述第二门限值进行更新。

在一种可能的实施方式中,所述第一门限值或者所述第二门限值的更新条件包括以下一个或多个:

E[A

STD{E[A

E[A

其中,m

在一种可能的实施方式中,所述对所述第一门限值或者所述第二门限值进行更新,包括:

通过如下算式对所述第一门限值进行更新:

其中,

通过如下算式对所述第二门限值进行更新:

其中,

在一种可能的实施方式中,所述基于所述近端频率幅度值的检测结果,确定所述近端音频信号中是否存在近端语音信号,还包括:

若所述近端音频信号的目标低频段不存在所述近端频率幅度值,则确定所述近端音频信号中不存在所述近端语音信号。

在一种可能的实施方式中,所述基于所述近端检测结果和所述远端检测结果,确定是否为双讲状态,包括:

若所述远端音频信号中存在所述远端语音信号,且所述近端音频信号中存在所述近端语音信号,则确定当前为双讲状态;或者

若所述远端音频信号中存在所述远端语音信号,且所述近端音频信号中不存在所述近端语音信号,则确定当前为远端单讲状态;或者

若所述远端音频信号中不存在所述远端语音信号,且所述近端音频信号中存在所述近端语音信号,则确定当前为近端单讲状态。

第二方面,本公开实施例还提供了一种双讲检测装置,包括:

音频获取模块,用于获取近端音频信号和远端音频信号;

低频段检测模块,用于检测所述近端音频信号的目标低频段是否存在近端频率幅度值;

近端语音检测模块,用于基于所述近端频率幅度值的检测结果,确定所述近端音频信号中是否存在近端语音信号,以得到近端检测结果;

远端语音检测模块,用于检测所述远端音频信号中是否存在远端语音信号,以得到远端检测结果;

双讲检测模块,用于基于所述近端检测结果和所述远端检测结果,确定是否为双讲状态。

在一种可能的实施方式中,所述近端语音检测模块还包括:

检测子模块,用于若存在所述近端频率幅度值,则检测所述远端音频信号的所述目标低频段中,目标频率点对应的远端频率幅度值;其中,所述目标频率点为所述近端频率幅度值对应的频率点;

比较子模块,用于将所述近端频率幅度值对应的能量与所述远端频率幅度值对应的能量进行比较,并根据比较结果确定所述近端音频信号中是否存在所述近端语音信号。

在一种可能的实施方式中,所述比较子模块还用于:

将所述近端频率幅度值对应的能量与所述远端频率幅度值对应的能量的差值,与第一门限值进行比较;

若所述差值不大于所述第一门限值,则确定所述近端音频信号中不存在所述近端语音信号;

若所述差值大于所述第一门限值,则确定所述近端音频信号中存在所述近端语音信号;或者

将所述近端频率幅度值对应的能量与所述远端频率幅度值对应的能量的比值,与第二门限值进行比较;

若所述比值不大于所述第二门限值,则确定所述近端音频信号中不存在所述近端语音信号;

若所述比值大于所述第二门限值,则确定所述近端音频信号中存在所述近端语音信号。

在一种可能的实施方式中,所述装置还包括门限更新模块,用于:

基于所述近端频率幅度值对应的能量、所述远端频率幅度值对应的能量和所述远端音频信号的能量均方差中的一个或多个,确定是否达到所述第一门限值或者所述第二门限值的更新条件;其中,所述远端音频信号的能量均方差为设定时间段内,获取的各个远端音频信号在所述目标频率点的能量均方差;

若达到所述第一门限值或者所述第二门限值的更新条件,则对所述第一门限值或者所述第二门限值进行更新。

在一种可能的实施方式中,所述第一门限值或者所述第二门限值的更新条件包括以下一个或多个:

E[A

STD{E[A

E[A

其中,m

在一种可能的实施方式中,所述门限更新模块还用于:

通过如下算式对所述第一门限值进行更新:

其中,

通过如下算式对所述第二门限值进行更新:

其中,

第三方面,本公开还提供了一种电子设备,其特征在于,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器实现第一方面任一种双讲检测方法的步骤。

第四方面,本公开还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,其特征在于:所述计算机程序被处理器执行时,实现第一方面任一种双讲检测方法的步骤。

本公开实施例提供的双讲检测方法至少具有如下有益效果:

根据本公开实施例提供的方案,首先获取近端音频信号和远端音频信号,通过检测近端音频信号的目标低频段是否存在近端频率幅度值,来确定近端音频信号中是否存在近端语音信号,以得到近端检测结果;然后检测远端音频信号中是否存在远端语音信号,以得到远端检测结果;最后基于近端检测结果和远端检测结果,确定是否为双讲状态。通过检测近端音频信号的目标低频段是否存在近端频率幅度值,来确定近端音频信号的目标低频段是否存在非线性失真,进而可以确定近端音频信号中是否存在近端语音信号。基于上述过程,本公开实施例可以准确检测近端语音信号。进一步地,根据近端语音信号的检测结果和远端语音信号的检测结果,确定双讲状态。

本公开的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开而了解。本公开的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本公开实施例提供的一种双讲检测方法的应用场景示意图;

图2为相关技术中的一种基于双讲检测模块的AEC的结构示意图;

图3为本公开实施例提供的一种双讲检测方法的流程图;

图4为本公开实施例提供的另一种双讲检测方法的流程图;

图5为本公开实施例提供的一种基于双讲检测模块的AEC的结构示意图;

图6为本公开实施例提供的一种双讲检测装置的示意图;

图7为本公开实施例提供的另一种双讲检测装置的示意图;

图8为本公开实施例提供的电子设备的结构示意图。

具体实施方式

为了使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开作进一步地详细描述,显然,所描述的实施例仅仅是本公开的一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。

需要说明的是,本公开的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。

此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为了方便理解,下面对本公开实施例中涉及的部分概念进行解释。

回声信号(Echo):是指在通信系统中,本端播放声音通过声场路径,被本端传感器重新采集到的信号,例如,终端设备的扬声器播放的声音,被麦克风重新采集到的信号。

双讲状态:指在实时通信时,两个端的终端设备同时有语音信号输入的场景。其中,两个端可以分为近端和远端。

目前的AEC方法,通常利用自适应线性滤波器去估计回声信号,然后根据估计的回声信号抵消掉通信系统中的回声信号。为了提升AEC方法中自适应线性滤波器的效果,通常增加双讲检测模块(double-talk detection,DTD),来配合自适应线性滤波器。下面结合图1介绍一下基于双讲检测模块的AEC的结构示意图。

如图1所示,x(n)表示远端传输至本端的远端信号,d(n)表示本端麦克风采集到的近端信号,v(n)表示近端语音信号,y(n)表示回声信号;d(n)可能同时包含v(n)和y(n),也可能包含v(n)和y(n)中的一种。双讲检测模块通过检测x(n)中的远端语音信号和d(n)中的近端语音信号,来确定两端的讲话状态,例如,两端同时讲话,为双讲状态;一端讲话,为单讲状态。双讲检测模块21将讲话状态发送给自适应算法模块22,自适应算法模块22根据讲话状态确定自适应滤波器23的滤波参数,然后将滤波参数发送给自适应滤波器23,以使自适应滤波器23根据滤波参数进行滤波,以抑制回声信号。

由上述可知,双讲检测结果对于自适应线性滤波器的滤波效果十分重要。通常来说,在双讲检测时,检测远端信号中的远端语音信号是容易实现的,但是,由于本端麦克风采集到的近端信号,不仅可能包括近端语音信号,还可能包括远端语音信号的回声信号,因此,准确检测近端信号中的近端语音信号比较难实现。

有鉴于此,本公开实施例提供一种双讲检测方法、装置、设备和介质,首先获取近端音频信号和远端音频信号,通过检测近端音频信号的目标低频段是否存在近端频率幅度值,来确定近端音频信号中是否存在近端语音信号,以得到近端检测结果;然后检测远端音频信号中是否存在远端语音信号,以得到远端检测结果;最后基于近端检测结果和远端检测结果,确定是否为双讲状态。本公开实施例的方案可以准确检测近端语音信号,进而确定双讲状态。

下面结合附图对本公开实施例的应用场景进行介绍。

参考图2,其为本公开实施例所提供的双讲检测方法的应用场景示意图。该应用场景包括第一终端设备100和第二终端设备200。其中,第一终端设备100和第二终端设备200可以通过通信网络连接,以实现语音通话或者视频通话等。第一终端设备100和第二终端设备200均包括但不限于桌面计算机、移动电话、移动电脑、平板电脑、媒体播放器、智能可穿戴设备、智能电视、车载设备、个人数字助理(personal digital assistant,PDA)等电子设备。

第一用户在使用第一终端设备100与第二用户进行语音通话或者视频通话时,第一终端设备100可以通过麦克风采集第一用户的语音信号,然后通过通信网络将该语音信号发送给第二终端设备200,第二终端设备200可以通过扬声器播放接收到的语音信号,而扬声器播放的语音信号又可以被第二终端设备200的麦克风采集到,形成回声信号。此时,如果将第二终端设备200作为本端设备,那么第一终端设备100可以作为远端设备,第二终端设备200可以通过自适应滤波器抑制回声信号,在抑制回声信号之前,可以首先通过双讲检测模块检测两端的讲话状态。

下面结合图2的应用场景,来描述根据本公开示例性实施方式的双讲检测方法。上述应用场景仅是为了便于理解本公开的精神和原理而示出,本公开的实施方式在此方面不受任何限制。相反,本公开的实施方式可以应用于适用的任何场景。

参考图3,本公开实施例提供了一种双讲检测方法,可应用于终端设备,例如图2所示的第二终端设备100。双讲检测方法可以包括以下步骤:

步骤S301,获取近端音频信号和远端音频信号。

本公开实施例中,本端的终端设备可以获取麦克风采集到的近端音频信号,以及通过通信网络接收远端的终端设备发送的远端音频信号,在接收到该远端音频信号之后,可以通过扬声器进行播放。

在具体实施中,本端的终端设备与远端的终端设备通话过程中,可以实时获取近端音频信号和远端音频信号,例如,近端音频信号可以是麦克风当前采集到的一帧音频信号,远端音频信号可以是当前接收到的一帧音频信号。

步骤S302,检测近端音频信号的目标低频段是否存在近端频率幅度值。

本端的终端设备通过麦克风采集到的近端音频信号,可能包括近端语音信号和回声信号中的一种或两种,其中,回声信号是扬声器播放出来的远端语音信号,由麦克风采集后形成的。

考虑到目前终端设备的扬声器普遍存在低频缺失的特性,即扬声器播放出来的音频在低频段具有非线性失真,可见,回声信号相对于远端语音信号,存在低频段非线性失真,然而麦克风采集到的近端语音信号不存在低频段非线性失真,因此,本公开实施例选取近端音频信号的目标低频段进行检测。

其中,目标低频段可以根据需要进行设置。可选地,根据终端设备的扬声器发生非线性失真的低频段,确定目标低频段。如果扬声器在300Hz以下发生非线性失真,则目标低频段可以是300Hz以下的低频段,例如为90Hz-300Hz、50Hz-300Hz等,本公开实施例对此不作限定。

近端频率幅度值也可以根据需要进行设置,该近端频率幅度值用于表征近端音频信号中存在语音信号,例如,如果存在近端频率幅度值,可以确定近端音频信号中存在近端语音信号和回声信号中的一种或两种。可选地,近端频率幅度值可以是近端频率幅度峰值。

在步骤S302中,首先将近端音频信号的时域信号转换为频域信号,频域信号即频谱图,其横坐标为频率,纵坐标为频率幅度,然后对该频域信号的目标低频段中,各个频率点依次进行检测,以确定是否在目标频率点存在近端频率幅度值。

在一些实施例中,近端频率幅度值以近端频率幅度峰值为例,检测近端音频信号的目标低频段是否存在频率幅度峰值,可以通过如下方式实现:

针对近端音频信号的频域信号,检测目标低频段的各个频率点,若目标频率点的频率幅度值对应的能量,大于上一频率点的频率幅度值对应的能量,以及大于下一频率点的频率幅度值对应的能量,且目标频率点的频率幅度值对应的能量大于设定能量值,则确定该目标频率点的频率幅度值为频率幅度峰值;其中,设定能量值是根据近端音频信号的底噪平均能量和近端音频信号的能量门限系数确定的,例如算式(1)和算式(2)所示。

其中,k表示帧序号,即第k帧;m

由算式(1)可知,如果

需要说明的是,近端音频信号的底噪平均能量E[noise floor NearEnd]指的是背景噪音的能量的平均值,背景噪音例如可以是设备噪声和放音环境噪声等,可以检测近端音频信号中的底噪,并获得底噪平均能量。

步骤S303,基于近端频率幅度值的检测结果,确定近端音频信号中是否存在近端语音信号,以得到近端检测结果。

该步骤中,如果近端频率幅度值的检测结果为不存在近端频率幅度值,则可以确定近端音频信号中不存在近端语音信号;如果存在近端频率幅度值,则根据近端频率幅度值,可以确定目标低频段是否存在非线性失真。如果目标低频段存在非线性失真,则近端音频信号中不存在近端语音信号;如果目标低频段不存在非线性失真,则近端音频信号中存在近端语音信号。

步骤S304,检测远端音频信号中是否存在远端语音信号,以得到远端检测结果。

在一种可能的实施方式中,可以采用语音活动检测(Voice Activity Detection,VAD)算法检测远端音频信号中的远端语音信号。VAD算法可以对远端音频信号的能量进行检测,根据能量检测结果可以确定语音区域与静音区域,如果存在语音区域,则存在远端语音信号,如果不存在语音区域,则不存在远端语音信号。

步骤S305,基于近端检测结果和远端检测结果,确定是否为双讲状态。

该步骤中,具体可以包括以下四种情况。

第一种情况:若远端音频信号中存在远端语音信号,且近端音频信号中存在近端语音信号,则确定当前为双讲状态。

第二种情况:若远端音频信号中存在远端语音信号,且近端音频信号中不存在近端语音信号,则确定当前为远端单讲状态。

第三种情况:若远端音频信号中不存在远端语音信号,且近端音频信号中存在近端语音信号,则确定当前为近端单讲状态。

第四种情况:若远端音频信号中不存在远端语音信号,且近端音频信号中不存在近端语音信号,则确定当前近端和远端均无人讲话。

本公开实施例中,通过检测近端音频信号的目标低频段是否存在近端频率幅度值,来确定近端音频信号的目标低频段是否存在非线性失真,进而可以确定近端音频信号中是否存在近端语音信号。因此,本公开实施例可以准确检测近端语音信号。进一步地,根据近端语音信号的检测结果和远端语音信号的检测结果,可以确定双讲状态。

下面对本公开上述实施例中的步骤S303的实现方式进行示例性介绍。

在一些实施例中,如图4所示,步骤S303中基于近端频率幅度值的检测结果,确定近端音频信号中是否存在近端语音信号,可以包括如下步骤:

步骤S3031,若存在近端频率幅度值,则检测远端音频信号的目标低频段中,目标频率点对应的远端频率幅度值;其中,目标频率点为近端频率幅度值对应的频率点。

该步骤中,如果近端音频信号的目标低频段存在近端频率幅度值,则可以说明近端音频信号中存在语音信号,该语音信号可能包括近端语音信号和回声信号中的一种或两种。

如果近端音频信号只包括回声信号,则当近端频率幅度值为近端频率幅度峰值时,目标频率点对应的远端频率幅度值为远端频率幅度峰值;如果近端音频信号包括近端语音信号,则当近端频率幅度值为近端频率幅度峰值时,目标频率点对应的远端频率幅度值可能不是远端频率幅度峰值,也可能是远端频率幅度峰值。

步骤S3032,将近端频率幅度值对应的能量与远端频率幅度值对应的能量进行比较,并根据比较结果确定近端音频信号中是否存在近端语音信号。

该步骤中,为了确定该语音信号中是否存在近端语音信号,可以将近端音频信号的近端频率幅度值,与远端音频信号在目标频率点的远端频率幅度值进行比较,以确定近端音频信号中的语音信号是否存在非线性失真。如果存在非线性失真,可以确定近端音频信号中不存在近端语音信号;如果不存在非线性失真,可以确定近端音频信号中存在近端语音信号。

进一步地,若近端音频信号的目标低频段不存在近端频率幅度值,则确定近端音频信号中不存在近端语音信号。

基于上述步骤,本公开实施例通过比较目标低频段的近端频率幅度值对应的能量,与目标低频段的远端频率幅度值对应的能量,可以确定近端音频信号在目标低频段是否存在非线性失真,进而可以准确检测近端语音信号。

本公开实施例中,上述步骤S3032可以采用如下两种实施方式中的一种。

第一种可能的实施方式:步骤S3032可以包括如下步骤a-步骤c:

a、将近端频率幅度值对应的能量与远端频率幅度值对应的能量的差值,与第一门限值进行比较。

b、若差值不大于第一门限值,则确定近端音频信号中不存在近端语音信号。

c、若差值大于第一门限值,则确定近端音频信号中存在近端语音信号。

上述步骤中,第一门限值用于表征非线性失真的程度,可以根据实际应用场景进行设置。如果近端频率幅度值对应的能量与远端频率幅度值对应的能量的差值,不大于第一门限值,可以说明近端音频信号的目标低频段存在非线性失真,即近端音频信号中不存在近端语音信号;如果上述差值大于第一门限值,可以说明近端音频信号的目标低频段不存在非线性失真,即近端音频信号中存在近端语音信号。

示例性的,近端频率幅度值对应的频率点以上述算式(1)中的m

其中,

由算式(3)可知,如果

该实施方式中,通过比较近端频率幅度值对应的能量与远端频率幅度值对应的能量的差值,与第一门限值的大小关系,可以准确检测近端音频信号中的近端语音信号,进而准确检测双讲状态。

第二种可能的实施方式:步骤S3032可以包括如下步骤:

A、将近端频率幅度值对应的能量与远端频率幅度值对应的能量的比值,与第二门限值进行比较。

B、若比值不大于第二门限值,则确定近端音频信号中不存在近端语音信号。

C、若比值大于第二门限值,则确定近端音频信号中存在近端语音信号。

上述步骤中,第二门限值用于表征非线性失真的程度,可以根据实际应用场景进行设置。如果近端频率幅度值对应的能量与远端频率幅度值对应的能量的比值,不大于第二门限值,可以说明近端音频信号的目标低频段存在非线性失真,即近端音频信号中不存在近端语音信号;如果上述比值大于第二门限值,可以说明近端音频信号的目标低频段不存在非线性失真,即近端音频信号中存在近端语音信号。

示例性的,近端频率幅度值对应的频率点以上述算式(1)中的m

其中,

由算式(4)可知,如果

该实施方式中,通过比较近端频率幅度值对应的能量与远端频率幅度值对应的能量的比值,与第二门限值的大小关系,可以准确检测近端音频信号中的近端语音信号,进而准确检测双讲状态。

进一步地,考虑到在实际通话中,近端音频信号与远端音频信号可能会受环境噪声,或者终端设备的硬件(麦克风和扬声器等)性能的影响,进而影响近端音频信号的非线性失真的判断,为了更准确的检测近端音频信号的低频失真特性,还可以根据实际的通话场景,对第一门限值或者第二门限值进行更新,即对近端音频信号需要达到的非线性失真程度进行更新。这样,基于更新后第一门限值或者第二门限值,来判断近端音频信号中是否存在近端语音信号,可以进一步提高近端语音信号的检测准确性。

在一些实施例中,对第一门限值或者第二门限值进行更新,可以包括如下步骤(1)和步骤(2):

(1)基于近端频率幅度值对应的能量、远端频率幅度值对应的能量和远端音频信号的能量均方差中的一个或多个,确定是否达到第一门限值或者第二门限值的更新条件;其中,远端音频信号的能量均方差为设定时间段内,获取的各个远端音频信号在目标频率点的能量均方差。

其中,远端音频信号可以是实时获取的一帧音频信号,在包含当前时刻的设定时间段内,可以获得各个远端音频信号。第一门限值的更新条件和第二门限值的更新条件可以相同。

在一种可选的实施方式中,第一门限值或者第二门限值的更新条件可以包括以下不等式(5)、不等式(6)、不等式(7)中的一个或多个:

E[A

STD{E[A

E[A

其中,m

需要说明的是,E

当满足上述不等式(5)、不等式(6)、不等式(7)中的一个或多个时,为了更加准确地检测近端音频信号的目标低频段是否存在非线性失真,可以对第一门限值或第二门限值进行更新,以更新近端音频信号的目标低频段需要达到的非线性失真程度。

(2)若达到第一门限值或者第二门限值的更新条件,则对第一门限值或者第二门限值进行更新。

在一种可选的实施方式中,对第一门限值进行更新,可以通过如下方式实现。

通过如下算式(8)对第一门限值进行更新:

其中,

在该实施方式中,通过算式(8)可以实现对第一门限值的更新,以更新近端音频信号的目标低频段需要达到的非线性失真程度,从而适应复杂的通话场景,更加准确地检测近端音频信号的目标低频段是否存在非线性失真。

在另一种可选的实施方式中,对第二门限值进行更新,可以通过如下方式实现。

通过如下算式(9)对第二门限值进行更新:

其中,

在该实施方式中,通过算式(9)可以实现对第二门限值的更新,可以更新近端音频信号的目标低频段需要达到的非线性失真程度,从而适应复杂的通话场景,更加准确地检测近端音频信号的目标低频段是否存在非线性失真。

下面结合图5所示的基于双讲检测模的AEC的结构示意图,对实现本公开实施例的双讲检测方法的双讲检测模块进行介绍。

如图5所示,x(n)表示远端传输至本端的远端信号,d(n)表示本端麦克风采集到的近端信号,v(n)表示近端语音信号,y(n)表示回声信号;d(n)可能同时包含v(n)和y(n),也可能包含v(n)和y(n)中的一种。双讲检测模块51包括远端语音检测模块511、决策模块512和近端语音检测模块513,通过远端语音检测模块511检测x(n)中的远端语音信号,通过近端语音检测模块513检测d(n)中的近端语音信号。

远端语音检测模块511和近端语音检测模块513分别将各自的检测结果发送给决策模块512,决策模块512根据这两个模块的检测结果,可以确定两端的讲话状态。例如,两端同时讲话,为双讲状态;一端讲话,为单讲状态。决策模块512将两端的讲话状态发送给自适应算法模块52,自适应算法模块52根据两端的讲话状态确定自适应滤波器53的滤波参数,然后将滤波参数发送给自适应滤波器53,以使自适应滤波器53根据滤波参数进行滤波,以抑制回声信号。

其中,远端语音检测模块511可以采用语音活动检测算法检测远端语音信号,近端语音检测模块513可以采用本公开实施例的上述近端语音信号的检测方法。

通过将本公开上述实施例的双讲检测方法,在实时通信领域的终端设备(例如手机和笔记本电脑)上进行测试,发现双讲检测的准确率大大提升,错判率和漏判率都较低。

另外,本公开实施例的双讲检测方法可以应用于各种复杂的场景中,以及应用于各种终端设备,提升了双讲检测的鲁棒性,尤其在实时通信领域;并且,计算开销小,更适合应用于个人终端设备。

进一步地,通过准确的双讲检测结果,配合自适应滤波器进行回声抑制,可以大幅提高回声抑制效果和双讲清晰度。

基于相同的发明构思,本公开实施例还提供了一种双讲检测装置,该装置解决问题的原理与上述实施例的方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。参照图6所示,本公开实施例提供的一种双讲检测装置,包括音频获取模块61、低频段检测模块62、近端语音检测模块63、远端语音检测模块64和双讲检测模块65。

音频获取模块61,用于获取近端音频信号和远端音频信号;

低频段检测模块62,用于检测近端音频信号的目标低频段是否存在近端频率幅度值;

近端语音检测模块63,用于基于近端频率幅度值的检测结果,确定近端音频信号中是否存在近端语音信号,以得到近端检测结果;

远端语音检测模块64,用于检测远端音频信号中是否存在远端语音信号,以得到远端检测结果;

双讲检测模块65,用于基于近端检测结果和远端检测结果,确定是否为双讲状态。

在一种可选的实施方式中,如图7所示,近端语音检测模块63还可以包括:

检测子模块631,用于若存在近端频率幅度值,则检测远端音频信号的目标低频段中,目标频率点对应的远端频率幅度值;其中,目标频率点为近端频率幅度值对应的频率点;

比较子模块632,用于将近端频率幅度值对应的能量与远端频率幅度值对应的能量进行比较,并根据比较结果确定近端音频信号中是否存在近端语音信号。

在一种可选的实施方式中,比较子模块632还可以用于:

将近端频率幅度值对应的能量与远端频率幅度值对应的能量的差值,与第一门限值进行比较;

若差值不大于第一门限值,则确定近端音频信号中不存在近端语音信号;

若差值大于第一门限值,则确定近端音频信号中存在近端语音信号;或者

将近端频率幅度值对应的能量与远端频率幅度值对应的能量的比值,与第二门限值进行比较;

若比值不大于第二门限值,则确定近端音频信号中不存在近端语音信号;

若比值大于第二门限值,则确定近端音频信号中存在近端语音信号。

在一种可选的实施方式中,装置还可以包括门限更新模块,用于:

基于近端频率幅度值对应的能量、远端频率幅度值对应的能量和远端音频信号的能量均方差中的一个或多个,确定是否达到第一门限值或者第二门限值的更新条件;其中,远端音频信号的能量均方差为设定时间段内,获取的各个远端音频信号在目标频率点的能量均方差;

若达到第一门限值或者第二门限值的更新条件,则对第一门限值或者第二门限值进行更新。

在一种可选的实施方式中,第一门限值或者第二门限值的更新条件包括以下一个或多个:

E[A

STD{E[A

E[A

其中,m

在一种可选的实施方式中,门限更新模块还可以用于:

通过如下算式对第一门限值进行更新:

其中,

通过如下算式对第二门限值进行更新:

其中,

基于相同的发明构思,本公开实施例还提供了一种电子设备,该电子设备解决问题的原理与上述实施例的方法相似,因此该电子设备的实施可以参见方法的实施,重复之处不再赘述。图8示出了本公开实施例提供的一种电子设备的结构示意图。

参阅图8所示,电子设备可以包括处理器802和存储器801。存储器801向处理器802提供存储器801中存储的程序指令和数据。在本公开实施例中,存储器801可以用于存储本公开实施例中双讲检测的程序。

处理器802通过调用存储器801存储的程序指令,处理器802用于执行上述任意方法实施例中的方法,例如图2所示的实施例提供的一种双讲检测方法。

本公开实施例中不限定上述存储器801和处理器802之间的具体连接介质。本公开实施例在图8中以存储器801和处理器802之间通过总线803连接,总线803在图8中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线803可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器可以包括只读存储器(Read-Only Memory,ROM)和随机存取存储器(RandomAccess Memory,RAM),还可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述处理器可以是通用处理器,包括中央处理器、网络处理器(NetworkProcessor,NP)等;还可以是数字指令处理器(Digital Signal Processing,DSP)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。

本公开实施例还提供了一种计算机存储介质,该计算机可读存储介质内存储有计算机程序,计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行上述任意方法实施例中的双讲检测方法。

在具体的实施过程中,计算机存储介质可以包括:通用串行总线闪存盘(USB,Universal Serial Bus Flash Drive)、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的存储介质。

在一些可能的实施方式中,本公开提供的双讲检测方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本公开各种示例性实施方式的双讲检测方法的步骤,例如,计算机设备可以执行如图3所示的步骤S301-步骤S305中的双讲检测流程。

本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本公开是参照根据本公开的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。

相关技术
  • 一种双讲状态检测方法、装置、存储介质及终端设备
  • 双讲检测方法、装置、设备和介质
技术分类

06120113175208