一种回声场景下音频采集状态的检测方法及装置转让专利

申请号 : CN201710948010.1

文献号 : CN107770683B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈超邓滨宋晨枫

申请人 : 北京小鱼在家科技有限公司

摘要 :

本发明实施例公开了一种回声场景下音频采集状态的检测方法及装置。其中方法包括:获取当前帧的远端信号和近端信号,并根据远端信号与近端信号确定误差信号,其中,远端信号、近端信号为当前帧时域信号对应的频域信号;根据远端信号、近端信号与误差信号确定近端信号与误差信号的第一相干系数和远端信号与误差信号的第二相干系数;根据第一相干系数与第二相干系数确定当前帧的相干性差值和差值跟踪值,其中当前帧的差值跟踪值根据当前帧的相干性差值和前一帧的差值跟踪值确定;根据当前帧的所述相干性差值和所述差值跟踪值确定当前帧的音频采集状态。本发明实施例实现了根据每一帧音频信号确定变化的比较阈值,提高了终端音频采集状态的检测精度。

权利要求 :

1.一种回声场景下音频采集状态的检测方法,其特征在于,包括:获取当前帧的远端信号和近端信号,并根据所述远端信号与所述近端信号确定误差信号,其中,所述远端信号、所述近端信号和所述误差信号为当前帧时域信号对应的频域信号;

根据所述远端信号、所述近端信号与所述误差信号确定所述近端信号与所述误差信号的第一相干系数和所述远端信号与所述误差信号的第二相干系数;

根据所述第一相干系数与所述第二相干系数确定当前帧的相干性差值和差值跟踪值,其中当前帧的差值跟踪值根据当前帧的相干性差值和前一帧的差值跟踪值确定;

根据当前帧的所述相干性差值和所述差值跟踪值确定当前帧的音频采集状态;

所述音频采集状态是单讲状态或双讲状态;

所述根据所述相干性差值和差值跟踪值确定当前帧的音频采集状态,包括:根据所述相干性差值与所述差值跟踪值确定第二差值;

若所述第二差值大于等于预设阈值,则确定所述当前帧的音频采集状态为双讲状态;

若所述第二差值小于所述预设阈值,则确定所述当前帧的音频采集状态为单讲状态。

2.根据权利要求1所述的方法,其特征在于,获取当前帧的远端信号和近端信号之后,还包括:根据预设频率范围获取所述远端信号的远端子带信号、近端子带信号和误差子带信号;

相应的,根据所述远端信号、所述近端信号与所述误差信号确定所述近端信号与所述误差信号的第一相干系数和所述远端信号与所述误差信号的第二相干系数,包括:根据所述远端子带信号、所述近端子带信号和所述误差子带信号确定所述第一相干系数和所述第二相干系数。

3.根据权利要求2所述的方法,其特征在于,根据所述远端子带信号、所述近端子带信号和所述误差子带信号确定所述第一相干系数和所述第二相干系数,包括:根据所述远端子带信号、所述近端子带信号和所述误差子带信号确定远端子带自功率谱、近端子带自功率谱、误差子带自功率谱、所述远端子带信号和所述误差子带信号的第一互功率谱以及所述近端子带信号和所述误差子带信号的第二互功率谱;

根据所述远端子带自功率谱、所述误差子带自功率谱和所述第一互功率谱确定所述第一相干系数,根据所述近端子带自功率谱、所述误差子带自功率谱和所述第二互功率谱确定所述第一相干系数。

4.根据权利要求1所述的方法,其特征在于,在获取当前帧的远端信号和近端信号之后,还包括:获取所述远端信号的能量;

若所述能量小于能量阈值,则确定当前帧未处于回声场景下,停止对当前帧音频采集状态的检测;

若所述能量大于等于所述能量阈值,则根据当前帧的远端信号和近端信号判断所述当前帧的音频采集状态。

5.根据权利要求1-4任一所述的方法,其特征在于,在根据所述相干性差值和差值跟踪值确定当前帧的音频采集状态之后,还包括:于检测到当前帧的音频采集状态与上一帧的音频采集状态不一致时,检测当前帧的阻碍次数是否大于零;

若是,则对当前帧的音频采集状态进行切换,并将所述阻碍次数与一的差值确定为下一帧的阻碍次数;

若否,则保持所述当前帧的音频采集状态。

6.根据权利要求5所述的方法,其特征在于,当检测到当前帧的音频采集状态与上一帧的音频采集状态一致或当前帧的阻碍次数为零时,将所述阻碍次数更新为初始预设值。

7.一种回声场景下音频采集状态的检测装置,其特征在于,包括:信号获取模块,用于获取当前帧的远端信号和近端信号,并根据所述远端信号与所述近端信号确定误差信号,其中,所述远端信号、所述近端信号和所述误差信号为当前帧时域信号对应的频域信号;

相干系数确定模块,用于根据所述远端信号、所述近端信号与所述误差信号确定所述近端信号与所述误差信号的第一相干系数和所述远端信号与所述误差信号的第二相干系数;

差值确定模块,用于根据所述第一相干系数与所述第二相干系数确定当前帧的相干性差值和差值跟踪值,其中当前帧的差值跟踪值根据当前帧的相干性差值和前一帧的差值跟踪值确定;

第一音频采集状态确定模块,用于根据当前帧的所述相干性差值和所述差值跟踪值确定当前帧的音频采集状态;

所述音频采集状态是单讲状态或双讲状态;

所述第一音频采集状态确定模块包括:

第二差值确定单元,用于根据所述相干性差值与所述差值跟踪值确定第二差值;

第一音频采集状态确定单元,用于若所述第二差值大于等于预设阈值,则确定所述当前帧的音频采集状态为双讲状态;若所述第二差值小于所述预设阈值,则确定所述当前帧的音频采集状态为单讲状态。

8.根据权利要求7所述的装置,其特征在于,还包括:

子带信号获取模块,获取当前帧的远端信号和近端信号之后,根据预设频率范围获取所述远端信号的远端子带信号、近端子带信号和误差子带信号;

相应的,所述相干系数确定模块包括:

根据所述远端子带信号、所述近端子带信号和所述误差子带信号确定所述第一相干系数和所述第二相干系数。

9.根据权利要求8所述的装置,其特征在于,所述相干系数确定模块具体用于:根据所述远端子带信号、所述近端子带信号和所述误差子带信号确定远端子带自功率谱、近端子带自功率谱、误差子带自功率谱、所述远端子带信号和所述误差子带信号的第一互功率谱以及所述近端子带信号和所述误差子带信号的第二互功率谱;

根据所述远端子带自功率谱、所述误差子带自功率谱和所述第一互功率谱确定所述第一相干系数,根据所述近端子带自功率谱、所述误差子带自功率谱和所述第二互功率谱确定所述第一相干系数。

10.根据权利要求7所述的装置,其特征在于,还包括:

能量获取模块,用于在获取当前帧的远端信号和近端信号之后,获取所述远端信号的能量;

第二音频采集状态确定模块,用于若所述能量小于能量阈值,则确定当前帧未处于回声场景下,停止对当前帧音频采集状态的检测;若所述能量大于等于所述能量阈值,则根据当前帧的远端信号和近端信号判断所述当前帧的音频采集状态。

11.根据权利要求7-10任一所述的装置,其特征在于,所述装置还包括:阻碍次数确定模块,用于在根据所述相干性差值和差值跟踪值确定当前帧的音频采集状态之后,于检测到当前帧的音频采集状态与上一帧的音频采集状态不一致时,检测当前帧的阻碍次数是否大于零;

第三音频采集状态确定模块,用于若阻碍次数大于零,则对当前帧的音频采集状态进行切换,并将所述阻碍次数与一的差值确定为下一帧的阻碍次数;若阻碍次数等于零,则保持所述当前帧的音频采集状态。

12.根据权利要求11所述的装置,其特征在于,当检测到当前帧的音频采集状态与上一帧的音频采集状态一致或当前帧的阻碍次数为零时,将所述阻碍次数更新为初始预设值。

说明书 :

一种回声场景下音频采集状态的检测方法及装置

技术领域

[0001] 本发明实施例涉及音频处理技术,尤其涉及一种回声场景下音频采集状态的检测方法及装置。

背景技术

[0002] 随着终端的不断发展,越来越多的终端具备音频输入与音频输出的功能,并由于输出音频再次被音频输入设备拾取,形成回声。
[0003] 参见图1,图1是现有技术的一种带有回声特性的电子设备示意图。其中,电子设备110通过麦克风130获取环境中的声音信息101,经过必要的音频信号处理后转化为发送音频信号103传输至音频采集网络或者后续处理模块150;电子设备110的播放模块获取接收音频信号104并通过扬声器140播放。由于扬声器140播放的声音信息同时会被本设备的麦克风130所拾取,即麦克风130获取的声音信息不仅包括声音信息101,还包括回声信号105,回声信号的存在会对声音质量造成影响。
[0004] 对终端的回声的抑制处理一般是采用自适应滤波器的方式实现,在单讲状态下,自适应滤波器可逐渐收敛达到稳定状态,有效的消除回声信号;而双讲状态影响自适应滤波器的收敛状态,甚至会引起滤波器的发散,因此在不同的音频采集状态下需设置不同的回声抑制算法。目前,对终端的音频采集状态的检测方法精度低、误差大,严重影响音频信号的质量。

发明内容

[0005] 本发明提供一种回声场景下音频采集状态的检测方法及装置,以实现提高终端音频采集状态的检测精度。
[0006] 第一方面,本发明实施例提供了一种回声场景下音频采集状态的检测方法,该方法包括:
[0007] 获取当前帧的远端信号和近端信号,并根据所述远端信号与所述近端信号确定误差信号,其中,所述远端信号、所述近端信号和所述误差信号为当前帧时域信号对应的频域信号;
[0008] 根据所述远端信号、所述近端信号与所述误差信号确定所述近端信号与所述误差信号的第一相干系数和所述远端信号与所述误差信号的第二相干系数;
[0009] 根据所述第一相干系数与所述第二相干系数确定当前帧的相干性差值和差值跟踪值,其中当前帧的差值跟踪值根据当前帧的相干性差值和前一帧的差值跟踪值确定;
[0010] 根据当前帧的所述相干性差值和所述差值跟踪值确定当前帧的音频采集状态。
[0011] 进一步的,获取当前帧的远端信号和近端信号之后,还包括:
[0012] 根据预设频率范围获取所述远端信号的远端子带信号、近端子带信号和误差子带信号;
[0013] 相应的,根据所述远端信号、所述近端信号与所述误差信号确定所述近端信号与所述误差信号的第一相干系数和所述远端信号与所述误差信号的第二相干系数,包括:
[0014] 根据所述远端子带信号、所述近端子带信号和所述误差子带信号确定所述第一相干系数和所述第二相干系数。
[0015] 进一步的,根据所述远端子带信号、所述近端子带信号和所述误差子带信号确定所述第一相干系数和所述第二相干系数,包括:
[0016] 根据所述远端子带信号、所述近端子带信号和所述误差子带信号确定远端子带自功率谱、近端子带自功率谱、误差子带自功率谱、所述远端子带信号和所述误差子带信号的第一互功率谱以及所述近端子带信号和所述误差子带信号的第二互功率谱;
[0017] 根据所述远端子带自功率谱、所述误差子带自功率谱和所述第一互功率谱确定所述第一相干系数,根据所述近端子带自功率谱、所述误差子带自功率谱和所述第二互功率谱确定所述第一相干系数。
[0018] 进一步的,根据所述相干性差值和差值跟踪值确定当前帧的音频采集状态,包括:
[0019] 根据所述相干性差值与所述差值跟踪值确定第二差值;
[0020] 若所述第二差值大于等于预设阈值,则确定所述当前帧的音频采集状态为双讲状态;
[0021] 若所述第二差值小于所述预设阈值,则确定所述当前帧的音频采集状态为单讲状态。
[0022] 进一步的,在获取当前帧的远端信号和近端信号之后,还包括:
[0023] 获取所述远端信号的能量;
[0024] 若所述能量小于能量阈值,则确定当前帧未处于回声场景下,停止对当前帧音频采集状态的检测;
[0025] 若所述能量大于等于所述能量阈值,则根据当前帧的远端信号和近端信号判断所述当前帧的音频采集状态。
[0026] 进一步的,在根据所述第一相干性差值和差值跟踪值确定当前帧的音频采集状态之后,还包括:
[0027] 于检测到当前帧的音频采集状态与上一帧的音频采集状态不一致时,检测当前帧的阻碍次数是否大于零;
[0028] 若是,则对当前帧的音频采集状态进行切换,并将所述阻碍次数与一的差值确定为下一帧的阻碍次数;
[0029] 若否,则保持所述当前帧的音频采集状态。
[0030] 进一步的,当检测到当前帧的音频采集状态与上一帧的音频采集状态一致或当前帧的阻碍次数为零时,将所述阻碍次数更新为初始预设值。
[0031] 第二方面,本发明实施例还提供了一种回声场景下音频采集状态的检测装置,该装置包括:
[0032] 信号获取模块,用于获取当前帧的远端信号和近端信号,并根据所述远端信号与所述近端信号确定误差信号,其中,所述远端信号、所述近端信号和所述误差信号为当前帧时域信号对应的频域信号;
[0033] 相干系数确定模块,用于根据所述远端信号、所述近端信号与所述误差信号确定所述近端信号与所述误差信号的第一相干系数和所述远端信号与所述误差信号的第二相干系数;
[0034] 差值确定模块,用于根据所述第一相干系数与所述第二相干系数确定当前帧的相干性差值和差值跟踪值,其中当前帧的差值跟踪值根据当前帧的相干性差值和前一帧的差值跟踪值确定;
[0035] 第一音频采集状态确定模块,用于根据当前帧的所述相干性差值和所述差值跟踪值确定当前帧的音频采集状态。
[0036] 进一步的,该装置还包括:
[0037] 子带信号获取模块,获取当前帧的远端信号和近端信号之后,根据预设频率范围获取所述远端信号的远端子带信号、近端子带信号和误差子带信号;
[0038] 相应的,所述相干系数确定模块包括:
[0039] 根据所述远端子带信号、所述近端子带信号和所述误差子带信号确定所述第一相干系数和所述第二相干系数。
[0040] 进一步的,所述相干系数确定模块具体用于:
[0041] 根据所述远端子带信号、所述近端子带信号和所述误差子带信号确定远端子带自功率谱、近端子带自功率谱、误差子带自功率谱、所述远端子带信号和所述误差子带信号的第一互功率谱以及所述近端子带信号和所述误差子带信号的第二互功率谱;
[0042] 根据所述远端子带自功率谱、所述误差子带自功率谱和所述第一互功率谱确定所述第一相干系数,根据所述近端子带自功率谱、所述误差子带自功率谱和所述第二互功率谱确定所述第一相干系数。
[0043] 进一步的,所述第一音频采集状态确定模块包括:
[0044] 第二差值确定单元,用于根据所述相干性差值与所述差值跟踪值确定第二差值;
[0045] 第一音频采集状态确定单元,用于若所述第二差值大于等于预设阈值,则确定所述当前帧的音频采集状态为双讲状态;若所述第二差值小于所述预设阈值,则确定所述当前帧的音频采集状态为单讲状态。
[0046] 进一步的,该装置还包括:
[0047] 能量获取模块,用于在获取当前帧的远端信号和近端信号之后,获取所述远端信号的能量;
[0048] 第二音频采集状态确定模块,用于若所述能量小于能量阈值,则确定当前帧未处于回声场景下,停止对当前帧音频采集状态的检测;若所述能量大于等于所述能量阈值,则根据当前帧的远端信号和近端信号判断所述当前帧的音频采集状态。
[0049] 进一步的,所述装置还包括:
[0050] 阻碍次数确定模块,用于在根据所述第一相干性差值和差值跟踪值确定当前帧的音频采集状态之后,于检测到当前帧的音频采集状态与上一帧的音频采集状态不一致时,检测当前帧的阻碍次数是否大于零;
[0051] 第三音频采集状态确定模块,用于若阻碍次数大于零,则对当前帧的音频采集状态进行切换,并将所述阻碍次数与一的差值确定为下一帧的阻碍次数;若阻碍次数等于零,则保持所述当前帧的音频采集状态。
[0052] 进一步的,当检测到当前帧的音频采集状态与上一帧的音频采集状态一致或当前帧的阻碍次数为零时,将所述阻碍次数更新为初始预设值。
[0053] 本发明实施例通过根据频域的近端信号、远端信号及对应的误差信号确定了近端信号与误差信号的第一相干系数,以及远端信号和误差信号的第二相干系数,并根据第一相干系数好而第二相干系数进一步确定了相干性差值及对应的差值跟踪值,依据每一帧的相干性差值和差值跟踪值确定终端的音频采集状态,解决了现有技术中终端音频采集状态检测误差大的问题,实现了根据每一帧音频信号确定变化的比较阈值,提高了的终端音频采集状态的检测精度。

附图说明

[0054] 图1为现有技术的一种带有回声特性的电子设备示意图;
[0055] 图2是本发明实施例一提供的一种回声场景下音频采集状态的检测方法的流程图;
[0056] 图3是本发明实施例二提供的一种回声场景下音频采集状态的检测方法的流程图;
[0057] 图4是本发明实施例三提供的一种回声场景下音频采集状态的检测装置的结构示意图。

具体实施方式

[0058] 下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0059] 实施例一
[0060] 图2为本发明实施例一提供的一种回声场景下音频采集状态的检测方法的流程图,本实施例可适用于双端音频采集存在回声时判断终端的音频采集状态的情况,该方法可以由本发明实施例提供的音频采集状态的检测装置来执行,该装置可采用软件和/或硬件的方式实现。该方法可适用于具有扬声器-麦克风回路的终端设备,示例性的,终端设备可以是智能手机、智能手环等音频采集设备、智能音箱或者智能电视等。参见图2,该方法具体包括:
[0061] S110、获取当前帧的远端信号和近端信号,并根据远端信号与近端信号确定误差信号,其中,远端信号、近端信号和误差信号为当前帧时域信号对应的频域信号。
[0062] 其中,远端信号指的是终端的信号接收模块接收的,用于播放的音频信号,近端信号指的是终端的信号采集模块采集的音频信号,可选的,近端信号可以是包括用户的有效信号、环境噪声信号以及终端播放远端信号时被再次采集的回声信号。
[0063] 本实施例中,误差信号与远端信号和近端信号相干,可选的,基于滤波器对远端信号进行滤波处理,得到估计回声信号,将近端信号与估计回声信号的差值确定为误差信号。
[0064] 本实施例中,获取时域的远端信号、近端信号和误差信号,并将时域信号转换为频域信号,其中,可通过对时域信号进行傅里叶变换得到对应的频域信号。示例性的,设置时域远端信号为x(k),时域近端信号为d(k),时域误差信号为e(k),则对上述时域信号进行傅里叶变化为:
[0065]
[0066] 其中,STFT为傅里叶变换函数,x(f,i)为频域远端信号,d(f,i)为频域近端信号,e(f,i)为频域误差信号,f为傅里叶变换的频率,i为每一个傅里叶变换的信号的帧数。
[0067] 可选的,获取当前帧的远端信号和近端信号之后,还包括:根据预设频率范围获取远端子带信号、近端子带信号和误差子带信号。
[0068] 其中,预设频率范围指的是受噪声信号影响较小的频率范围,可选的,预设频率范围可以是通过识别近端信号的噪声信号确定。本实施例中,在确定预设频率范围后,可根据预设频率范围对频域的远端信号、近端信号和误差信号进行截取,确定对应的子带信号,示例性的,参见公式(2);也可以是根据预设频率范围确定远端子带信号和近端子带信号之后,根据远端子带信号和近端子带信号确定误差子带信号。
[0069]
[0070] 其中,xb(f,i),db(f,i),eb(f,i)分别为第i帧的远端子带信号、近端子带信号和误差子带信号,Fbl为预设频率范围的最小值,Fbh为预设频率范围的最大值。
[0071] 本实施例中,通过设置低噪音信号的预设频率范围,并根据预设频率范围对频域信号进行截取,使得获取的子带信号包含少量的噪声信息,降低了噪声信号对各频域信号的干扰,进一步有利于提高终端音频采集状态的检测精度。
[0072] S120、根据远端信号、近端信号与误差信号确定近端信号与误差信号的第一相干系数和远端信号与误差信号的第二相干系数。
[0073] 其中,第一相干系数用于表征近端信号与误差信号的相干性,第二相干系数用于表征远端信号与误差信号的相干性,其中,相干系数越大,表明对应两信号的相干性越高。示例性的,第一相干系数越大,表明近端信号与误差信号的相干性越高,若第一相干系数为
1,则表明不存在远端信号;同理,第二相干系数越大,表明远端信号与误差信号的相干性越高,若第二相干系数为1,则表明不存在近端信号。
[0074] 可选的,在根据预设频率范围确定远端子带信号、近端子带信号和误差子带信号之后,根据远端子带信号、近端子带信号和误差子带信号确定第一相干系数和第二相干系数,减少了各子带信号中的噪声信号,提高了第一相干系数和第二相干系数的准确度。
[0075] 可选的,第一相干系数和第二相干系数可通过如下方式确定:根据远端子带信号、近端子带信号和误差子带信号确定远端子带自功率谱、近端子带自功率谱、误差子带自功率谱、远端子带信号和误差子带信号的第二互功率谱以及近端子带信号和误差子带信号的第一互功率谱;根据远端子带自功率谱、误差子带自功率谱和第二互功率谱确定第二相干系数,根据近端子带自功率谱、误差子带自功率谱和第一互功率谱确定第一相干系数。
[0076] 其中,各子带信号的自功率谱,示例性的,各子带信号的自功率谱为:
[0077]
[0078] 其中,Px(f,i)为第i帧的远端子带自功率谱,Pd(f,i)为第i帧的近端子带自功率谱,Pe(f,i)为第i帧的误差子带自功率谱。
[0079] 可选的,第二互功率谱,示例性的,第二互功率谱为Pxe(f,i)=xb(f,i)·eb(f,i);示例性的,第一互功率谱为Pde(f,i)=db(f,i)·eb(f,i),其中,f∈(Fbl,Fbh)且0≤Fbl<Fbh≤Fmax。
[0080] 可选的,对各子带自功率谱、第一互功率谱和第二互功率谱进行平滑处理,其中当前帧的平滑功率谱与当前帧的功率谱以及前一帧的功率谱相干,示例性的,参见公式(4):
[0081]
[0082] 其中,Psx(f,i)为第i帧的远端子带平滑自功率谱,Pse(f,i)为第i帧的误差子带平滑自功率谱,Psd(f,i)为第i帧的近端子带平滑自功率谱,Psde(f,i)为第i帧的第一平滑互功率谱,Psxe(f,i)为第i帧的第二平滑互功率谱,αs1为第一预设平滑因子,且0<αs1<1。需要说明的是,第0帧的子带自功率谱和互功率谱均为0。
[0083] 本实施例中,对各子带自功率谱和第一互功率谱和第二互功率谱进行平滑处理,减小相邻帧信号的功率谱误差,提高了各帧对应功率谱的精度,有利于提高第一相干系数和第二相干系数的精度。
[0084] 可选的,第一相干系数与第一互功率谱成正比,与近端子带自功率谱和误差子带自功率谱的乘积成反比,同理,第二相干系数与第二互功率谱成正比,与远端子带自功率谱和误差子带自功率谱的乘积成反比。需要说明的是,根据平滑后的互功率谱和自功率谱确定第一相干系数和第二相干系数,有利于提高第一相干系数和第二相干系数的精度。
[0085] 可选的,对第一相干系数和第二相干系数进行平滑处理,减小各帧相干系数的误差,例如可以是通过如下公式(5)确定第二平滑相干系数,通过如下公式(6)确定第一平滑相干系数:
[0086]
[0087]
[0088] 其中,hxe(f,i)为第i帧各频率f对应的第二平滑相干系数;hde(f,i)为第i帧各频率f对应的第一平滑相干系数,αs2为第二预设平滑因子,且0<αs2<1。需要说明的是,第0帧的相干系数为0。
[0089] 可选的,获取第i帧各频率f的第一相干系数平均值和第二相干系数平均值。示例性的,第一相干系数平均值为 第二相干系数平均值为:其中,n为第i帧频率f的数量。示例性的,假设每个频率点为100hz
精度,Fbl=500Hz,Fbh=1000Hz,且f=500Hz、600Hz、700Hz、800Hz、900Hz和1000Hz,则n=6。
[0090] S130、根据第一相干系数与第二相干系数确定当前帧的相干性差值和差值跟踪值。
[0091] 其中,当前帧的差值跟踪值根据当前帧的相干性差值和前一帧的差值跟踪值确定。
[0092] 其中,相干性差值与第一相干系数和第二相干系数的差值成正比,示例性的,相干性差值为
[0093] 本实施例中,在确定存在远端信号的情况下,根据第一相干系数与第二相干系数确定的相干性差值可用于反应近端信号的变化。可选的,若相干性差值大于第一判断阈值,则确定存在近端信号,进一步确定终端的音频采集状态处于双讲状态。
[0094] 其中,差值跟踪值用于表征各帧信号的相干性差值的变化情况,当前帧的差值跟踪值根据当前帧的相干性差值和前一帧的差值跟踪值确定,且与当前帧的相干性差值的变化趋势相干。示例性的,第i帧的差值跟踪值可以是根据公式(7)确定:
[0095] 其中,αs3u为上升判据平滑因子,αs3d为下降判据平滑因子,且0<αs3u<αs3d<1,ξs(i-1)为第i-1帧的差值跟踪值,需要说明的是,ξs(0)可以是0。
[0096] S140、根据当前帧的相干性差值和差值跟踪值确定当前帧的音频采集状态。
[0097] 本实施例中,对于每一帧音频信号,根据对应的相干性差值和差值跟踪值的差值确定对应的音频采集状态,即根据每一帧音频信号的相干性差值的变化量确定对应的音频采集状态。示例性的,若当前帧的相干性差值相对于差值跟踪值存在突变,则确定终端的当前音频采集状态为双讲状态,反之,若当前帧的相干性差值相对于差值跟踪值不变或者存在局部渐变,则确定终端的当前音频采集状态为单讲状态。
[0098] 可选的,步骤S140包括:根据相干性差值与差值跟踪值确定第二差值;若第二差值大于等于预设阈值,则确定当前帧的音频采集状态为双讲状态;若第二差值小于预设阈值,则确定当前帧的音频采集状态为单讲状态。
[0099] 示例性的,第二差值可以是ξd(i)=ξ(i)-ξs(i),预设阈值设置为σT。
[0100]
[0101] 其中,DTD(i)用于表示第i帧音频采集状态,若第二差值大于等于预设阈值,则DTD(i)为1,确定第i帧的音频采集状态为双讲状态;若第二差值小于预设阈值,则DTD(i)为0,确定第i帧的音频采集状态为单讲状态。其中,σT为固定值,且-2≤σT≤2。
[0102] 本实施例中,各帧的差值跟踪值形成相干性差值的变化曲线,各帧的差值跟踪值与固定阈值σT形成变化的比较阈值,通过对于每一帧的相干性差值与对应的比较阈值进行比较,根据比较结果确定音频采集状态,替代了对每一帧的相干性差值与相同阈值比较确定音频采集状态的情况,实现了根据每一帧音频信号提供不同比较阈值,增加了比较阈值的灵活性,提高了音频采集状态判断的准确度。
[0103] 可选的,在步骤S140之后,根据当前帧的音频采集状态确定对应的回声抑制算法,对当前帧的音频信号进行回声抑制处理,降低回声信号对有效音频信号的干扰,提高音频信号的质量。
[0104] 本实施例的技术方案,通过根据频域的近端信号、远端信号及对应的误差信号确定了近端信号与误差信号的第一相干系数,以及远端信号和误差信号的第二相干系数,并根据第一相干系数好而第二相干系数进一步确定了相干性差值及对应的差值跟踪值,依据每一帧的相干性差值和差值跟踪值确定终端的音频采集状态,解决了现有技术中终端音频采集状态检测误差大的问题,实现了根据每一帧音频信号确定变化的比较阈值,提高了的终端音频采集状态的检测精度。
[0105] 在上述实施例的基础上,在获取当前帧的远端信号和近端信号之后,还包括:获取所述远端信号的能量;若所述能量小于能量阈值,则确定当前帧未处于回声场景下,停止对当前帧音频采集状态的检测;若所述能量大于等于所述能量阈值,则根据当前帧的远端信号和近端信号判断所述当前帧的音频采集状态。
[0106] 本实施例中,对于每一帧的音频信号,若不存在远端信号,则确定当前帧未处于回声场景下,无需对音频信号进行回声处理,停止对当前帧音频采集状态的检测。示例性的,若所述远端信号的能量小于能量阈值,则确定不存在远端信号。示例性的,若根据远端信号的能量确定当前帧音频信号中存在远端信号,则根据本发明实施例提供的音频采集状态检测方法确定当前帧的音频采集状态。需要说明的是,若当前帧不存在远端信号,可对当前帧以双讲状态进行处理。
[0107] 实施例二
[0108] 图3是本发明实施例二提供的一种回声场景下音频采集状态的检测方法的流程图,在上述实施例的基础上进行了细化,相应的,该方法具体包括:
[0109] S210、获取当前帧的远端信号和近端信号,并根据远端信号与近端信号确定误差信号。
[0110] 其中,远端信号、近端信号和误差信号为当前帧时域信号对应的频域信号;
[0111] S220、根据远端信号、近端信号与误差信号确定近端信号与误差信号的第一相干系数和远端信号与误差信号的第二相干系数。
[0112] S230、根据第一相干系数与第二相干系数确定当前帧的相干性差值和差值跟踪值。
[0113] 其中当前帧的差值跟踪值根据当前帧的相干性差值和前一帧的差值跟踪值确定。
[0114] S240、根据当前帧的相干性差值和差值跟踪值确定当前帧的音频采集状态。
[0115] S250、检测到当前帧的音频采集状态与上一帧的音频采集状态是否一致,若是,则执行步骤S280,若否,则执行步骤S260。
[0116] 本实施例中,在音频信号中常存在用户声音停顿或者拖尾等情况,根据上述方法判断每一帧音频信号的音频采集状态时,易产生音频采集状态的频繁切换现象。示例性的,在用户讲话时终端处于双讲状态,用户停顿或者声音拖尾的情况确定为单讲状态,音频采集状态的频繁切换,检测的鲁棒性差。
[0117] S260、检测当前帧的阻碍次数是否大于零,若否,则执行步骤S280,若是,则执行步骤S270。
[0118] S270、对当前帧的音频采集状态进行切换,并将阻碍次数与一的差值确定为下一帧的阻碍次数。
[0119] 本实施例中,在检测到当前帧的音频采集状态与上一帧的音频采集状态不一致时,获取当前帧的阻碍次数,其中阻碍次数指的是阻碍音频采集状态变化的次数。
[0120] 示例性的,若阻碍次数不为零,则表明当前帧的音频采集状态应与上一帧的音频采集状态保持一致,将当前帧的音频采集状态进行切换,并将阻碍次数与一的差值确定为下一帧的阻碍次数。其中,当前帧的音频采集状态的切换指的是将当前帧的音频采集状态更新为与上一帧的音频采集状态一致。
[0121] 示例性的,上一帧的音频采集状态为双讲状态,当前帧的音频采集状态为单讲状态,且当前帧的阻碍次数大于零,示例性的阻碍次数为5,则将当前帧的最终音频采集状态确定为双讲状态,同时确定下一帧的阻碍次数为4。
[0122] 需要说明的是,用来与当前帧的音频采集状态比对是上一帧的最终音频采集状态。
[0123] S280、保持当前帧的音频采集状态。
[0124] 本实施例中,若当前帧的音频采集状态与上一帧的音频采集状态一致,则确定当前帧的音频采集状态与上一帧的音频采集状态保持相同的趋势,并确定当前帧的音频采集状态不变。示例性的,若用户一直处于讲话状态,则相邻帧的音频采集状态相同,均为双讲状态,无需对音频采集状态进行切换。
[0125] 若当前帧的音频采集状态与上一帧的音频采集状态不一致,且阻碍次数为零,则表明当前帧已脱离上一种音频采集状态的拖尾时间,可进入下一种音频采集状态,保持当前帧的音频采集状态。示例性的,若用户结束讲话的一段时间之后,即双讲状态的阻碍次数逐渐减小并变成零之后,可确定进入单讲状态。
[0126] 可选的,当检测到当前帧的音频采集状态与上一帧的音频采集状态一致或当前帧的阻碍次数为零时,将所述阻碍次数更新为初始预设值。
[0127] 其中,双讲状态与单讲状态的阻碍次数的初始值可以是不同的。示例性的,音频信号的上升时间一般为4-40ms,可将单讲状态的阻碍次数设置为1-10次,音频信号的拖尾时间一般为40-400ms,可将双讲状态的阻碍次数设置为10-100次。
[0128] 本实施例中,阻碍次数的初始预设值为阻碍次数的最大值。示例性的,若当前帧的音频采集状态与上一帧的音频采集状态一致,均处于双讲状态,则当前帧的阻碍次数为双讲状态的最大阻碍次数;若上一帧的音频采集状态为数据状态,当前帧的音频采集状态为单讲状态,且当前帧的阻碍次数为零,则确定当前帧的最终音频采集状态为单讲状态,同时更新当前帧的阻碍次数为单讲状态的最大阻碍次数。
[0129] 本实施例中,识别当前帧所在的音频采集状态趋势,并根据该音频采集状态趋势对当前帧的音频采集状态进行平滑处理,使得在预设数量帧的音频信号处于同一音频采集状态,避免了音频采集状态的频繁切换,提高了音频采集状态检测的鲁棒性。
[0130] 本实施例的技术方案,通过当识别到当前帧的音频采集状态与上一帧的音频采集状态不同,且当前帧的阻碍次数大于零时,将当前帧的音频采集状态切换至与上一帧的音频采集状态一致,解决了由于用户停顿或者拖尾导致的音频采集状态的频繁切换的问题,提高了音频采集状态检测的鲁棒性。。
[0131] 实施例三
[0132] 图4是本发明实施例三提供的一种回声场景下音频采集状态的检测装置的结构示意图,该装置具体包括:
[0133] 信号获取模块310,用于获取当前帧的远端信号和近端信号,并根据远端信号与近端信号确定误差信号,其中,远端信号、近端信号和误差信号为当前帧时域信号对应的频域信号;
[0134] 相干系数确定模块320,用于根据远端信号、近端信号与误差信号确定近端信号与误差信号的第一相干系数和远端信号与误差信号的第二相干系数;
[0135] 差值确定模块330,用于根据第一相干系数与第二相干系数确定当前帧的相干性差值和差值跟踪值,其中当前帧的差值跟踪值根据当前帧的相干性差值和前一帧的差值跟踪值确定;
[0136] 第一音频采集状态确定模块340,用于根据当前帧的所述相干性差值和所述差值跟踪值确定当前帧的音频采集状态。
[0137] 可选的,还包括:
[0138] 子带信号获取模块,获取当前帧的远端信号和近端信号之后,根据预设频率范围获取远端信号的远端子带信号、近端子带信号和误差子带信号;
[0139] 相应的,相干系数确定模块320包括:
[0140] 根据远端子带信号、近端子带信号和误差子带信号确定第一相干系数和第二相干系数。
[0141] 可选的,相干系数确定模块320具体用于:
[0142] 根据远端子带信号、近端子带信号和误差子带信号确定远端子带自功率谱、近端子带自功率谱、误差子带自功率谱、远端子带信号和误差子带信号的第一互功率谱以及近端子带信号和误差子带信号的第二互功率谱;
[0143] 根据远端子带自功率谱、误差子带自功率谱和第一互功率谱确定第一相干系数,根据近端子带自功率谱、误差子带自功率谱和第二互功率谱确定第一相干系数。
[0144] 可选的,第一音频采集状态确定模块340包括:
[0145] 第二差值确定单元,用于根据相干性差值与差值跟踪值确定第二差值;
[0146] 第一音频采集状态确定单元,用于若第二差值大于等于预设阈值,则确定当前帧的音频采集状态为双讲状态;若第二差值小于预设阈值,则确定当前帧的音频采集状态为单讲状态。
[0147] 可选的,还包括:
[0148] 能量获取模块,用于在获取当前帧的远端信号和近端信号之后,获取远端信号的能量;
[0149] 第二音频采集状态确定模块,用于若能量小于能量阈值,则确定当前帧未处于回声场景下,停止对当前帧音频采集状态的检测;若能量大于等于能量阈值,则根据当前帧的远端信号和近端信号判断当前帧的音频采集状态。
[0150] 可选的,装置还包括:
[0151] 阻碍次数确定模块,用于在根据第一相干性差值和差值跟踪值确定当前帧的音频采集状态之后,于检测到当前帧的音频采集状态与上一帧的音频采集状态不一致时,检测当前帧的阻碍次数是否大于零;
[0152] 第三音频采集状态确定模块,用于若阻碍次数大于零,则对当前帧的音频采集状态进行切换,并将阻碍次数与一的差值确定为下一帧的阻碍次数;若阻碍次数等于零,则保持当前帧的音频采集状态。
[0153] 可选的,当检测到当前帧的音频采集状态与上一帧的音频采集状态一致或当前帧的阻碍次数为零时,将阻碍次数更新为初始预设值。
[0154] 本发明实施例提供的音频采集状态的检测装置可执行本发明任意实施例所提供的音频采集状态的检测方法,具备执行音频采集状态的检测方法相应的功能模块和有益效果。
[0155] 注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。