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

一种基于双步长快速回声消除的双端讲话检测方法和装置与流程

2022-02-20 19:12:59 来源:中国专利 TAG:
一种基于双步长快速回声消除的双端讲话检测方法和装置与流程

本发明属于信息处理的领域,具体涉及一种基于双步长快速回声消除的双端讲话检测方法和装置。

背景技术

在语音会议系统等诸多网络通话应用中,终端设备同时有麦克风和扬声器,来采集声信号和播放声信号。扬声器信号也会被麦克风拾取,称为回声。如果回声信号不能被自适应消除,会传输到对方形成啸叫,严重影响通话质量。因此,回声消除技术是会议系统中的关键技术之一。双端讲话是指参与会议系统的双方都在讲话(近端说话人和网络对方说话人),是回声消除算法中最难的场景,既要尽可能消除回声,同时也不能让近端语音被消除。回声消除算法中,通常需要一个准确、快速的双端讲话检测模块,在检测到双端讲话场景时采用不同的回声消除策略保证近端语音不被消除。

现有技术中,回声消除算法是会议系统或者会议设备中的关键技术之一,而双端讲话场景是回声消除中最为困难的处理场景。双端讲话检测是保证该场景下回声消除性能的关键技术。传统信号处理的方法通常是根据参考信号和麦克风信号的相关性大小来判定是否进入双端讲话状态。假设近端说话人没有讲话,麦克风信号只拾取到回声,那么麦克风信号和参考信号相关性非常大。当近端说话人讲话时,相关性会变弱,因此可以实时计算相关性,同时与设定阈值相比较,判断是否进入双讲状态。另外,可以通过未更新的回声消除滤波器来消除当前时段信号,如果残留较大,说明是由于近端说话人讲话导致了残留,也根据残留信号的能量比率来判定是否进入双讲状态。

目前,现有技术中双端检测方法的主要缺点如下:1)采用麦克风拾取信号和参考信号的相关性来判断的方法,当回声能量显著大于近端说话人语音能量时,相关性的变化比较弱,方法效果变差;2)基于信号残留能量的方法,由于回声滤波器需要实时自适应,上一时段滤波器在当前时段信号会有一定的回声残留,也会影响检测的准确性。

有鉴于此,特提出本发明。



技术实现要素:

本发明的目的是提供一种基于双步长快速回声消除的双端讲话检测方法和装置,其采用双步长快速回声消除的方法,设计能量残留比的方法来进行双端讲话检测。并且,本发明的两个滤波器采用不同的步长,通过残留能量比可以更稳定的反应是否进入双讲状态。

为了实现上述目的,本发明提供的一种基于双步长快速回声消除的双端讲话检测方法,包括以下步骤:

S1:对麦克风的语音信号和回声参考信号进行短时傅里叶变换得到时频域表达;

S2:对每一个频带构建双步长系数,并且建立回声消除滤波器;其中,包括采用双步长构建自相关系数、采用双步长构建互相关系数和采用双步长构建回声消除滤波器;

S3:通过回声消除滤波器计算残留回声谱,并且计算帧级别残留回声能量,进而得到对数残留回声比;

S4:通过检测当前对数域残留回声比与历史平均信息的差异性,判断是否进入双端讲话状态。

进一步地,所述步骤S1之前还包括:获取麦克风的语音信号x(n)和回声参考信号r(n);

所述步骤S1中对时域信号x(n)和r(n)进行短时傅里叶变换的过程如下:

进一步地,所述步骤S2具体包括以下步骤:

S201:对每一个频带k,计算双步长自相关系数和其具体的计算公式如下:

S202:对每一个频带k,计算双步长互相关系数系数和其具体的计算公式如下:

其中,α1和θ2为相邻帧间平滑因子;

S203:对每一个频带k,计算回声消除滤波器W1(k)和W2(k),其具体的计算公式如下:

进一步地,所述步骤S3具体包括以下步骤:

S301:对每一个频带k,计算残留回声谱Z1(l,k)和Z2(l,k),其具体的计算公式如下:

Z1(l,k)=X(l,k)-W1(k)R(l,k)

Z2(l,k)=X(l,k)-W2(k)R(l,k);

S302:累积所有频带k,计算帧级别残留回声能量ρ1(l)和ρ2(l),其具体的计算公式如下:

S303:根据帧级别残留回声能量,得到对数残留回声比δ(l),其具体的计算公式如下:

δ(l)=log(ρ1(l))-log(ρ2(l))。

更进一步地,所述双端讲话状态Δ(l)的计算过程如下:

其中,如果Δ(l)值为1,判定当前帧进入双端讲话状态;否则,Δ(l)值为0,判定为未进入双端讲话状态。

本发明还提供了一种基于双步长快速回声消除的双端讲话检测装置,包括信号分解模块、双步长滤波器计算模块、回声残留比计算模块和双端讲话检测模块:

信号分解模块用于对麦克风的语音信号和回声参考信号进行短时傅里叶变换得到时频域表达;

双步长滤波器计算模块用于对每一个频带构建双步长系数,并且建立回声消除滤波器;其包括自相关系数计算模块、互相关系数计算模块和回声消除滤波器计算模块;

回声残留比计算模块用于通过回声消除滤波器计算残留回声谱,并且计算帧级别残留回声能量,进而得到对数残留回声比;

双端讲话检测模块用于通过检测当前对数域残留回声比与历史平均信息的差异性,判断是否进入双端讲话状态。

进一步地,所述信号分解模块还用于获取麦克风的语音信号x(n)和回声参考信号r(n);

所述信号分解模块中,对时域信号x(n)和r(n)进行短时傅里叶变换的过程如下:

进一步地,所述双步长滤波器计算模块中,

上述自相关系数计算模块,用于对每一个频带k,计算双步长自相关系数和其具体的计算公式如下:

所述互相关系数计算模块,用于对每一个频带k,计算双步长互相关系数系数和其具体的计算公式如下:

其中,α1和α2为相邻帧间平滑因子;

所述回声消除滤波器计算模块,用于对每一个频带k,计算回声消除滤波器W1(k)和W2(k),其具体的计算公式如下:

进一步地,所述回声残留比计算模块包括残留回声谱计算模块、残留回声能量计算模块和残留回声比计算模块;

所述残留回声谱计算模块,用于对每一个频带k,计算残留回声谱Z1(l,k)和Z2(l,k),其具体的计算公式如下:

Z1(l,k)=X(l,k)-W1(k)R(l,k)

Z2(l,k)=X(l,k)-W2(k)R(l,k);

所述残留回声能量计算模块,用于累积所有频带k,计算帧级别残留回声能量ρ1(l)和ρ2(l),其具体的计算公式如下:

所述残留回声比计算模块,用于根据帧级别残留回声能量,得到对数残留回声比δ(l),其具体的计算公式如下:

δ(l)=log(ρ1(l))-log(ρ2(l))。

更进一步地,所述双端讲话检测模块中,双端讲话状态Δ(l)的计算过程如下:

其中,如果Δ(l)值为1,判定当前帧进入双端讲话状态;否则,Δ(l)值为0,判定为未进入双端讲话状态。

本发明提供的一种基于双步长快速回声消除的双端讲话检测方法和装置,具有如下有益效果:

1、本发明采用不同步长的自相关、互相关系数计算两个回声消除滤波器,因此回声残留比的值比较稳定,残留能量比的异常变化可以直接对应到是否有近端语音,因此检测结果更加稳定。

2、本发明采用当前帧残留比与前溯M帧平滑结果进行对比,因此可以对单端讲话状态可以比较好的自适应,对不同设备在不同环境下的检测都有比较好的适应性。

附图说明

图1为本具体实施方式中的基于双步长快速回声消除的双端讲话检测方法的流程图。

图2为本具体实施方式中的使用的汉明窗函数的示意图。

图3为本具体实施方式中的基于双步长快速回声消除的双端讲话检测装置的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合具体实施方式对本发明作进一步的详细说明。

如图1所示,本发明的一实施方式为一种基于双步长快速回声消除的双端讲话检测方法。

具体包括以下四个实施步骤:

S1:对麦克风的语音信号和回声参考信号进行短时傅里叶变换得到时频域表达。

在步骤S1之前,还包括获取麦克风的语音信号和回声参考信号,获取的语音信号如下:假设x(n)代表麦克风阵元实时拾取的原始时域信号,r(n)为回声参考信号,其中,n代表时间标签。其中,回声参考信号就是实际的扬声器播放的声音,其获取方式跟麦克风的语音信号一样。

具体地,进行短时傅里叶变换的方法如下:

对时域信号x(n)和r(n)进行短时傅里叶变换得到时频域表达:

其中,N为帧长,选取N=512;w(n)为长度512的汉明窗,其中,n代表时间标签,即时间序号,因此w(n)代表每一个对应时间序号n上的值;1为时间帧序号,以帧为单位;k为频带序号,其中,频带是指某个频率对应的信号分量;j代表虚数单位X(l,k)为第m个麦克风的语音信号,在第1帧,第k个频带的频谱;R(l,k)为回声参考信号在第l帧,第k个频带的频谱。

本发明中,使用的汉明窗函数如图2所示。

通过上述步骤S1,能够将麦克风的语音信号和回声参考信号的时域信号转化为时频域信号。

S2:对每一个频带构建双步长系数,并且建立回声消除滤波器;其中,该步骤S2包括采用双步长构建自相关系数、采用双步长构建互相关系数和采用双步长构建回声消除滤波器。其作用是计算两个步长的回声消除滤波器。

具体地,本步骤S2包括以下步骤:

S201:对每一个频带k,计算双步长自相关系数和其具体的计算公式如下:

其中,|·|代表取复数的模;α1和α2为相邻帧间平滑因子,即步长,α1取值范围在0.98和0.999之间,α2取值范围在0.65和0.9之间。

本发明中优选α1=0.995,采用该步长可以保证自相关系数比较充分的拾取信号中的慢变信号,保证后续回声消除滤波器的有效性,同时避免近端信号被消除;优选α2=0.8,采用该步长可以有效累积信号中的快变分量,保证后续回声消除滤波器可以有更好的消除效果,但是会引入一定的近端语音失真。

通过该步骤S201计算的双步长自相关系数是回声参考信号的自相关系数,能够用于后续步骤S203中以建立回声消除滤波器。

S202:对每一个频带k,计算双步长互相关系数系数和其具体的计算公式如下:

其中,上标*代表复数的共轭;α1和α2为相邻帧间平滑因子,与步骤S201中相同。

互相关系数代表了每一个频带麦克风信号和回声参考信号的统计相关度。两个步长的相关系数分别累积了信号的慢变部分和快变部分。

通过该步骤S202计算的双步长互相关系数是回声参考信号与麦克风信号的互相关系数,能够用于后续步骤S203中以建立回声消除滤波器。

S203:对每一个频带k,计算回声消除滤波器W1(k)和W2(k),其具体的计算公式如下:

其中,上述计算的两个滤波器并不是最终的回声消除滤波器,其仅仅是用以计算回声信号中的慢变分量和快变分量。其中,W1(k)可以用来消除回声的慢变分量,W2(k)可以用来消除回声的快变分量。

S3:通过回声消除滤波器计算残留回声谱,并且计算帧级别残留回声能量,进而得到对数残留回声比。其作用是计算两个步长的滤波器输出结果的能量差值。

具体地,本步骤S3包括以下步骤:

S301:对每一个频带k,计算残留回声谱Z1(l,k)和Z2(l,k),其具体的计算公式如下:

Z1(l,k)=X(l,k)-W1(k)R(l,k)

Z2(l,k)=X(l,k)-W2(k)R(l,k)

该步骤S301的计算结果代表了采用上述双步长滤波器之后的滤波输出。当进入双端讲话状态时,这两个输出的能量大小的差异会有显著的变化,可以用以后续步骤中以检测是否进入双端讲话状态。

S302:累积所有频带k,计算帧级别残留回声能量ρ1(l)和ρ2(l),其具体的计算公式如下:

该步骤S302的计算结果ρ1(l)和ρ2(l)分别代表采用慢变步长和快变步长滤波器在第l帧残留的回声能量。

S303:根据帧级别残留回声能量,得到对数残留回声比δ(l),其具体的计算公式如下:

δ(l)=log(ρ1(l))-log(ρ2(l))

该步骤S303采用对数域的差值来计算两个步长的残留能量比值,把能量的变化幅度压缩到相对小的区域。

S4:通过检测当前对数域残留回声比与历史平均信息的差异性,判断是否进入双端讲话状态。

其中,双端讲话状态Δ(l)的计算过程如下:

其中,代表前溯M时间帧的平均对数残留回声比的平均值,γ代表监测阈值。

M取值范围为5到20,如果取值较小,会导致双端检测的结果有比较多的虚警率,如果值较大,则需要累积比较长时信息,导致判断的时间过长,影响实时性。因此,本发明中优选设置M=10,如果高于10,计算复杂度过高,影响算法实时性;如果低于时虚警率会显著提升,选择10可以在实时性与虚警率之间较好的平衡。

γ取值范围为3到10;γ的取值越小,虚警率越高;取值越大,则漏检率越高。本发明中优选γ=5,可以保证大致均衡的虚警率和漏检率。

如果当期帧的对数残留回声比δ(l)超过前溯M帧的平均值的γ倍,则认为当期双步长滤波器残留回声比值过大,是由于近端语音的加入所导致。因此,Δ(l)值为1,判定当前帧进入双端讲话状态;否则,Δ(l)值为0,判定为未进入双端讲话状态。

通过该步骤S4,能够采用当前帧与前溯M帧平均值对比结果来检测是否进入双端讲话状态。

通过本发明的上述步骤S1-S4,可以实现信号时频分解、双步长滤波器计算、回声残留比计算和双端讲话检测,最终得到是否进入双端讲话状态的结果。

如图3所示,本发明的一实施方式为一种基于双步长快速回声消除的双端讲话检测装置,包括信号分解模块1、双步长滤波器计算模块2、回声残留比计算模块3和双端讲话检测模块4。

信号分解模块1,用于对麦克风的语音信号和回声参考信号进行短时傅里叶变换得到时频域表达。

信号分解模块1还能够用于获取麦克风的语音信号和回声参考信号,获取的语音信号如下:假设x(n)代表麦克风阵元实时拾取的原始时域信号,r(n)为回声参考信号,其中,n代表时间标签。

具体地,进行短时傅里叶变换的方法如下:

对时域信号x(n)和r(n)进行短时傅里叶变换得到时频域表达:

其中,N为帧长,选取N=512;w(n)为长度512的汉明窗,其中,n代表时间标签,即时间序号,因此w(n)代表每一个对应时间序号n上的值;1为时间帧序号,以帧为单位;k为频带序号,其中,频带是指某个频率对应的信号分量;j代表虚数单位X(l,k)为第m个麦克风的语音信号,在第1帧,第k个频带的频谱;R(l,k)为回声参考信号在第l帧,第k个频带的频谱。

本发明中,使用的汉明窗函数如图2所示。

通过信号分解模块1,能够将麦克风的语音信号和回声参考信号的时域信号转化为时频域信号。

双步长滤波器计算模块2,用于对每一个频带构建双步长系数,并且建立回声消除滤波器。其作用是计算两个步长的回声消除滤波器。其中,双步长滤波器计算模块2包括自相关系数计算模块、互相关系数计算模块和回声消除滤波器计算模块。

具体地,自相关系数计算模块,用于对每一个频带k,计算双步长自相关系数和其具体的计算公式如下:

其中,|.|代表取复数的模;α1和α2为相邻帧间平滑因子,即步长,α1取值范围在0.98和0.999之间,α2取值范围在0.65和0.9之间。

本发明中优选α1=0.995,采用该步长可以保证自相关系数比较充分的拾取信号中的慢变信号,保证后续回声消除滤波器的有效性,同时避免近端信号被消除;优选α2=0.8,采用该步长可以有效累积信号中的快变分量,保证后续回声消除滤波器可以有更好的消除效果,但是会引入一定的近端语音失真。

通过上述计算的双步长自相关系数是回声参考信号的自相关系数,能够用于后续回声消除滤波器计算模块中以建立回声消除滤波器。

互相关系数计算模块,用于对每一个频带k,计算双步长互相关系数系数和其具体的计算公式如下:

其中,上标*代表复数的共轭;α1和θ2为相邻帧间平滑因子,与自相关系数计算模块中相同。

互相关系数代表了每一个频带麦克风信号和回声参考信号的统计相关度。两个步长的相关系数分别累积了信号的慢变部分和快变部分。

通过上述计算的双步长互相关系数是回声参考信号与麦克风信号的互相关系数,能够用于后续回声消除滤波器计算模块中以建立回声消除滤波器。

回声消除滤波器计算模块,用于对每一个频带k,计算回声消除滤波器W1(k)和W2(k),其具体的计算公式如下:

其中,上述计算的两个滤波器并不是最终的回声消除滤波器,其仅仅是用以计算回声信号中的慢变分量和快变分量。其中,W1(k)可以用来消除回声的慢变分量,W2(k)可以用来消除回声的快变分量。

分离矩阵计算模块3用于通过回声消除滤波器计算残留回声谱,并且计算帧级别残留回声能量,进而得到对数残留回声比。其作用是计算两个步长的滤波器输出结果的能量差值。

具体地,分离矩阵计算模块3包括残留回声谱计算模块、残留回声能量计算模块和残留回声比计算模块。

残留回声谱计算模块,用于对每一个频带k,计算残留回声谱Z1(l,k)和Z2(l,k),其具体的计算公式如下:

Z1(l,k)=X(l,k)-W1(k)R(l,k)

Z2(l,k)=X(l,k)-W2(k)R(l,k)

上述计算结果代表了采用上述双步长滤波器之后的滤波输出。当进入双端讲话状态时,这两个输出的能量大小的差异会有显著的变化,可以用以后续以检测是否进入双端讲话状态。

残留回声能量计算模块,用于累积所有频带k,计算帧级别残留回声能量ρ1(l)和ρ2(l),其具体的计算公式如下:

上述计算结果ρ1(l)和ρ2(l)分别代表采用慢变步长和快变步长滤波器在第1帧残留的回声能量。

残留回声比计算模块,用于根据帧级别残留回声能量,得到对数残留回声比δ(l),其具体的计算公式如下:

δ(l)=log(ρ1(l))-log(ρ2(l))

通过残留回声比计算模块,采用对数域的差值来计算两个步长的残留能量比值,把能量的变化幅度压缩到相对小的区域。

双端讲话检测模块4,用于通过检测当前对数域残留回声比与历史平均信息的差异性,判断是否进入双端讲话状态。

具体地,双端讲话状态Δ(l)的计算过程如下:

其中,代表前溯M时间帧的平均对数残留回声比的平均值,γ代表监测阈值。

M取值范围为5到20,如果取值较小,会导致双端检测的结果有比较多的虚警率,如果值较大,则需要累积比较长时信息,导致判断的时间过长,影响实时性。因此,本发明中优选设置M=10,如果高于10,计算复杂度过高,影响算法实时性;如果低于时虚警率会显著提升,选择10可以在实时性与虚警率之间较好的平衡。

γ取值范围为3到10;γ的取值越小,虚警率越高;取值越大,则漏检率越高。本发明中优选γ=5,可以保证大致均衡的虚警率和漏检率。

如果当期帧的对数残留回声比δ(l)超过前溯M帧的平均值的γ倍,则认为当期双步长滤波器残留回声比值过大,是由于近端语音的加入所导致。因此,Δ(l)值为1,判定当前帧进入双端讲话状态;否则,Δ(l)值为0,判定为未进入双端讲话状态。

通过双端讲话检测模块4,能够采用当前帧与前溯M帧平均值对比结果来检测是否进入双端讲话状态。

上述实施方式中,信号分解模块1、双步长滤波器计算模块2、回声残留比计算模块3和双端讲话检测模块4的这4个模块缺一不可,任一模块的缺失,都会导致无法判断是否进入双端讲话状态。

本文中应用了具体个例对发明构思进行了详细阐述,以上实施例的说明只是用于帮助理解本发明的核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离该发明构思的前提下,所做的任何显而易见的修改、等同替换或其他改进,均应包含在本发明的保护范围之内。

再多了解一些

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

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

相关文献