噪声估计方法与装置
技术领域
本发明涉及通讯技术领域,尤其涉及一种噪声估计方法与装置。
背景技术
随着语音通信设备的应用场景越来越多,伴随语音信号的噪声信号类型也越来越多。这就要求对语音信号进行噪声估计的方法需具备更好的适应能力,也即是对语音信号中的噪声做出准确的估计。
目前,对语音信号进行噪声估计方法主要为单麦克风噪声估计方法和双麦克风噪声估计方法。但在实际应用中,双麦克风噪声估计方法的应用更为广泛。
多麦克风噪声估计方法的主要过程为:通过通道间相同帧、相同频点信息(能量、相位、相关性)的差异性来判当前帧中频点处语音的存在概率;根据语音的存在概率,在区间[0,1]之间,确定平滑因子(Smoothing factor);并结合主麦克风含噪语音的频谱信息,进行噪声估计。当确定频点处不存在语音时,噪声估计的结果实时更新,将当前帧的能量值作为对当前帧噪声估计的结果;当确定频点出存在语音时,噪声估计的结果则由当前帧的前一帧噪声估计的结果代替。双麦克风噪声估计的方法如图1所示。
但是,多麦克风噪声估计方法也暴露出以下缺陷:由于判断频点处语音是否存在的依据,仅仅是通过通道间频点信息的差异性进行判断,判断依据存在一定的局限性,而在一些特殊噪声环境中(例如,噪声环境),频点信息的差异性并不能准确的反映出该频点处语音存在的概率,导致了对噪声估计结果的不准确,对噪声估计的可靠性低,易导致对噪声的欠估或过估。
发明内容
本发明实施例提供了一种噪声估计方法与装置,实现了对含噪语音进行噪声估计,该方法与装置可以很好的应用于语音增强框架中去,提高对噪声估计的准确度,提高噪声估计的可靠性,以达到更好的语音增强效果。
在第一方面,本发明实施例提供了一种噪声估计方法,所述方法包括:
获取主麦克风采集的第一语音信号以及辅麦克风采集的第二语音信号;
对所述第一语音信号以及所述第二语音信号分别进行频域变换,得到与所述第一语音信号对应的主麦克风频域信号,与所述第二语音信号对应的辅麦克风频域信号;
根据所述主麦克风频域信号,获取所述主麦克风频域信号内当前帧中频点的第一平滑因子;
根据所述主麦克风频域信号和所述辅麦克风频域信号,确定所述主麦克风与所述辅麦克风的第一能量比值,并获取所述频点的第二平滑因子;
如果所述第一能量比值大于1,则根据所述第一平滑因子以及所述第二平滑因子,确定所述频点的第三平滑因子;
根据所述主麦克风频域信号以及所述第三平滑因子,消除所述频点的噪声。
在第一种可能的实现方式中,所述根据所述主麦克风频域信号,获取所述主麦克风频域信号中频点的第一平滑因子具体包括:
对所述主麦克风频域信号进行窗内搜索,获取所述频点的最小频点能量值,所述窗的长度为N帧;
根据所述主麦克风频域信号以及所述最小频点能量值,确定所述频点的第二能量比值,所述第二能量比值Ratio(k)=X主(λ,k)/Xmin(λ,k);
其中,所述X主(λ,k)为所述主麦克风频域信号,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点,所述Xmin(λ,k)为所述最小频点能量值;
判断所述第二能量比值是否超过预设的第一能量阈值;
如果所述第二能量比值大于预设的第一能量阈值,则设置所述频点的语音存在概率为1,否则,设置所述频点的语音存在概率为0;
对所述语音存在概率进行平滑处理,获取所述频点的第一平滑因子;
所述第一平滑因子
Smo_factor_1(λ,k)=α*Smo_factor_1(λ-1,k)+(1-α)*p(λ,k);
其中,所述α为第一加权因子,所述p(λ,k)为所述语音存在概率,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
在第二种可能的实现方式中,所述辅麦克风的个数为至少1个;
如果所述辅麦克风为1个,则所述主麦克风与所述辅麦克风的第一能量比值PLR(λ,k)=X主(λ,k)/X辅(λ,k);
其中,所述X主(λ,k)为所述主麦克风频域信号,所述X辅(λ,k)为所述辅麦克风频域信号,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
结合第一方面或第一方面的第二种可能的实现方式,在第三种可能的实现方式中,如果所述辅麦克风为多个,则所述根据所述主麦克风频域信号和所述辅麦克风频域信号,确定所述主麦克风与所述辅麦克风的第一能量比值之前还包括:
获取每个所述辅麦克风与所述主麦克风之间的距离值;
根据多个所述距离值,对多个所述辅麦克风频域信号进行距离整合处理,确定整合后的辅麦克风频域信号;
所述根据所述主麦克风频域信号,获取所述主麦克风频域信号内当前帧中频点的第一平滑因子之后,所述获取所述频点的第二平滑因子之前还包括:
根据所述主麦克风频域信号和整合后的所述辅麦克风频域信号,确定所述主麦克风与所述辅麦克风的第一能量比值;
所述第一能量比值
其中,所述X1(λ,k)为所述主麦克风频域信号,所述为整合后的辅麦克风频域信号,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
结合第一方面或第一方面的第二种、第三种可能的实现方式,在第四种可能的实现方式中,所述获取所述频点的第二平滑因子具体包括:
如果所述第一能量比值不大于预设的所述第一能量比值的最小值时,则所述第二平滑因子为0;
如果所述第一能量比值不小于预设的所述第一能量比值的最大值时,则所述第二平滑因子为1;
如果所述第一能量比值大于所述第一能量比值的最小值,且小于所述第一能量比值的最大值,则所述第二平滑因子
Smo_factor_2(λ,k)=[PLR(λ,k)-PLRmin]/(PLRmax-PLRmin);
其中,所述PLR(λ,k)为所述第一能量比值,所述PLRmin为所述第一能量比值的最小值,所述PLRmax为所述第一能量比值的最大值,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
在第五种可能的实现方式中,所述频点的第三平滑因子
Smo_factor(λ,k)=β1*Smo_factor_1(λ,k)+(1-β1)*Smo_factor_2(λ,k);
其中,所述β1为所述第二加权因子,所述Smo_factor_1(λ,k)为所述第一平滑因子,所述Smo_factor_2(λ,k)为所述第二平滑因子,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
结合第一方面或第一方面的第一种可能的实现方式,在第六种可能的实现方式中,所述获取所述频点的第二平滑因子之后,所述根据所述第一频域信号以及所述第三平滑因子,消除所述频点的噪声之前还包括:
如果所述第一能量比值小于1,且所述第二能量比值小于所述第一能量阈值,则根据所述第一平滑因子以及所述第二平滑因子,确定所述频点的第三平滑因子;
所述第三平滑因子
Smo_factor(λ,k)=β1*Smo_factor_1(λ,k)+(1-β1)*Smo_factor_2(λ,k);
其中,所述β1为所述第二加权因子,所述Smo_factor_1(λ,k)为所述第一平滑因子,所述Smo_factor_2(λ,k)为所述第二平滑因子,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
结合第一方面或第一方面的第一种可能的实现方式,在第七种可能的实现方式中,所述获取所述频点的第二平滑因子之后,所述根据所述第一频域信号以及所述第三平滑因子,消除所述频点的噪声之前还包括:
如果所述第一能量比值小于1,且所述第二能量比值大于所述第一能量阈值,则根据所述第一平滑因子以及所述第二平滑因子,确定所述频点的第三平滑因子;
所述第三平滑因子
Smo_factor(λ,k)=β2*Smo_factor_1(λ,k)+(1-β2)*Smo_factor_2(λ,k);
其中,所述β2为所述第三加权因子,所述Smo_factor_1(λ,k)为所述第一平滑因子,所述Smo_factor_2(λ,k)为所述第二平滑因子,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
结合第一方面或第一方面的第六种、第七种可能的实现方式,在第八种可能的实现方式中,所述根据所述主麦克风频域信号以及所述第三平滑因子,消除所述频点的噪声具体包括:
根据所述主麦克风频域信号以及所述第三平滑因子,确定所述频点的噪声估计值,并根据所述噪声估计值消除所述频点的噪声;
所述频点的噪声估计值
D(λ,k)=Smo_factor*D(λ-1,k)+(1-Smo_factor)*X主(λ,k);
其中,所述Smo_factor为所述第三平滑因子,所述X主(λ,k)为所述主麦克风频域信号,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
在第二方面,本发明实施例提供了一种噪声估计方法,所述方法包括:
获取主麦克风采集的第一语音信号以及至少1个辅麦克风采集的至少1个第二语音信号;
对所述第一语音信号以及多个所述第二语音信号分别进行频域变换,得到与所述第一语音信号对应的主麦克风频域信号,与所述第二语音信号对应的多个辅麦克风频域信号;
对多个所述辅麦克风频域信号进行整合处理,得到整合频域信号;
根据所述主麦克风频域信号和所述整合频域信号,确定所述主麦克风与所述辅麦克风的能量比值;
根据所述能量比值,确定所述主麦克风频域信号内当前帧中频点的平滑因子;
根据所述主麦克风频域信号以及所述平滑因子,消除所述频点的噪声。
在第一种可能的实现方式中,所述对多个所述辅麦克风频域信号进行整合处理,得到整合频域信号具体包括:
获取每个所述辅麦克风与所述主麦克风之间的距离值;
根据多个所述距离值,对多个所述辅麦克风频域信号进行距离整合处理,得到所述整合频域信号。
在第二种可能的实现方式中,所述主麦克风与所述辅麦克风的能量比值
其中,所述X主(λ,k)为所述主麦克风频域信号,所述为所述整合频域信号,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
在第三种可能的实现方式中,所述根据所述能量比值,确定所述主麦克风频域信号内当前帧中频点的平滑因子具体包括:
如果所述能量比值不大于预设的所述能量比值的最小值,则所述平滑因子为0;
如果所述能量比值不小于预设的所述能量比值的最大值,则所述平滑因子为1;
如果所述能量比值大于所述能量比值的最小值,且小于所述能量比值的最大值,则所述平滑因子
Smo_factor(λ,k)=[PLR(λ,k)-PLRmin]/(PLRmax-PLRmin);
其中,所述PLR(λ,k)为所述能量比值,所述PLRmin为所述能量比值的最小值,所述PLRmax为所述能量比值的最大值,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
在第四种可能的实现方式中,所述根据所述主麦克风频域信号以及所述平滑因子,消除所述频点的噪声具体包括:
根据所述主麦克风频域信号以及所述第三平滑因子,确定所述频点的噪声估计值,并根据所述噪声估计值消除所述频点的噪声;
所述频点的噪声估计值
D(λ,k)=Smo_factor*D(λ-1,k)+(1-Smo_factor)*X主(λ,k);
其中,所述Smo_factor为所述平滑因子,所述X主(λ,k)为所述主麦克风频域信号,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
在第三方面,本发明实施例提供了一种噪声估计装置,所述装置包括:
获取单元,用于获取主麦克风采集的第一语音信号以及辅麦克风采集的第二语音信号;
变换单元,用于对所述第一语音信号以及所述第二语音信号分别进行频域变换,得到与所述第一语音信号对应的主麦克风频域信号,与所述第二语音信号对应的辅麦克风频域信号;
所述获取单元还用于,根据所述主麦克风频域信号,获取所述主麦克风频域信号内当前帧中频点的第一平滑因子;
确定单元,用于根据所述主麦克风频域信号和所述辅麦克风频域信号,确定所述主麦克风与所述辅麦克风的第一能量比值,并获取所述频点的第二平滑因子;
所述确定单元还用于,如果所述第一能量比值大于1,则根据所述第一平滑因子以及所述第二平滑因子,确定所述频点的第三平滑因子;
处理单元,用于根据所述主麦克风频域信号以及所述第三平滑因子,消除所述频点的噪声。
在第一种可能的实现方式中,所述获取单元具体用于,获取主麦克风采集的第一语音信号以及辅麦克风采集的第二语音信号;
对所述主麦克风频域信号进行窗内搜索,获取所述频点的最小频点能量值,所述窗的长度为N帧;
根据所述主麦克风频域信号以及所述最小频点能量值,确定所述频点的第二能量比值,所述第二能量比值Ratio(k)=X主(λ,k)/Xmin(λ,k);
其中,所述X主(λ,k)为所述主麦克风频域信号,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点,所述Xmin(λ,k)为所述最小频点能量值;
判断所述第二能量比值是否超过预设的第一能量阈值;
如果所述第二能量比值大于预设的第一能量阈值,则设置所述频点的语音存在概率为1,否则,设置所述频点的语音存在概率为0;
对所述语音存在概率进行平滑处理,获取所述频点的第一平滑因子;
所述第一平滑因子
Smo_factor_1(λ,k)=α*Smo_factor_1(λ-1,k)+(1-α)*p(λ,k);
其中,所述α为第一加权因子,所述p(λ,k)为所述语音存在概率,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
在第二种可能的实现方式中,所述装置具有至少1个所述辅麦克风;
如果所述装置具有1个所述辅麦克风,则所述确定单元确定的所述第一能量比值PLR(λ,k)=X主(λ,k)/X辅(λ,k);
其中,所述X主(λ,k)为所述主麦克风频域信号,所述X辅(λ,k)为所述辅麦克风频域信号,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
结合第三方面或第三方面的第二种可能的实现方式,在第三种可能的实现方式中,如果所述装置具有多个所述辅麦克风,则所述获取单元还用于,获取每个所述辅麦克风与所述主麦克风之间的距离值;
所述装置还包括:整合单元,用于根据多个所述距离值,对多个所述辅麦克风频域信号进行距离整合处理,确定整合后的辅麦克风频域信号;
所述确定单元还用于,根据所述主麦克风频域信号和整合后的所述辅麦克风频域信号,确定所述主麦克风与所述辅麦克风的第一能量比值;
所述确定单元确定的所述第一能量比值
其中,所述X1(λ,k)为所述主麦克风频域信号,所述为整合后的辅麦克风频域信号,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
结合第三方面或第三方面的第二种、第三种可能的实现方式,在第四种可能的实现方式中,所述确定单元具体用于,根据所述主麦克风频域信号和所述辅麦克风频域信号,确定所述主麦克风与所述辅麦克风的第一能量比值;
如果所述第一能量比值不大于预设的所述第一能量比值的最小值,则所述第二平滑因子为0;
如果所述第一能量比值不小于预设的所述第一能量比值的最大值,则所述第二平滑因子为1;
如果所述第一能量比值大于所述第一能量比值的最小值,且小于所述第一能量比值的最大值,则所述第二平滑因子
Smo_factor_2(λ,k)=[PLR(λ,k)-PLRmin]/(PLRmax-PLRmin);
其中,所述PLR(λ,k)为所述第一能量比值,所述PLRmin为所述第一能量比值的最小值,所述PLRmax为所述第一能量比值的最大值,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点;
如果所述第一能量比值不小于1,则根据所述第一平滑因子以及所述第二平滑因子,确定所述频点的第三平滑因子。
在第五种可能的实现方式中,所述确定单元确定的所述频点的第三平滑因子
Smo_factor(λ,k)=β1*Smo_factor_1(λ,k)+(1-β1)*Smo_factor_2(λ,k);
其中,所述β1为所述第二加权因子,所述Smo_factor_1(λ,k)为所述第一平滑因子,所述Smo_factor_2(λ,k)为所述第二平滑因子,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
结合第三方面或第三方面的第一种可能的实现方式,在第六种可能的实现方式中,所述确定单元还用于,如果所述第一能量比值小于1,且所述第二能量比值小于所述第一能量阈值,则根据所述第一平滑因子以及所述第二平滑因子,确定所述频点的第三平滑因子;
所述确定单元确定的所述第三平滑因子
Smo_factor(λ,k)=β1*Smo_factor_1(λ,k)+(1-β1)*Smo_factor_2(λ,k);
其中,所述β1为所述第二加权因子,所述Smo_factor_1(λ,k)为所述第一平滑因子,所述Smo_factor_2(λ,k)为所述第二平滑因子,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
结合第三方面或第三方面的第一种可能的实现方式,在第七种可能的实现方式中,所述确定单元还用于,如果所述第一能量比值小于1,且所述第二能量比值大于所述第一能量阈值,则根据所述第一平滑因子以及所述第二平滑因子,确定所述频点的第三平滑因子;
所述确定单元确定的所述第三平滑因子
Smo_factor(λ,k)=β2*Smo_factor_1(λ,k)+(1-β2)*Smo_factor_2(λ,k);
其中,所述β2为所述第三加权因子,所述Smo_factor_1(λ,k)为所述第一平滑因子,所述Smo_factor_2(λ,k)为所述第二平滑因子,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
在第四方面,本发明实施例提供了一种噪声估计装置,所述装置包括:
获取单元,用于获取主麦克风采集的第一语音信号以及至少1个辅麦克风采集的至少1个第二语音信号;
变换单元,用于对所述第一语音信号以及多个所述第二语音信号分别进行频域变换,得到与所述第一语音信号对应的主麦克风频域信号,与所述第二语音信号对应的多个辅麦克风频域信号;
整合单元,用于对多个所述辅麦克风频域信号进行整合处理,得到整合频域信号;
确定单元,用于根据所述主麦克风频域信号和所述整合频域信号,确定所述主麦克风与所述辅麦克风的能量比值;
所述确定单元还用于,根据所述能量比值,确定所述主麦克风频域信号内当前帧中频点的平滑因子;
处理单元,用于根据所述主麦克风频域信号以及所述平滑因子,消除所述频点的噪声。
在第一种可能的实现方式中,所述整合单元具体用于,获取每个所述辅麦克风与所述主麦克风之间的距离值;
根据多个所述距离值,对多个所述辅麦克风频域信号进行距离整合处理,得到所述整合频域信号。
在第二种可能的实现方式中,所述确定单元确定的所述能量比值
其中,所述X主(λ,k)为所述主麦克风频域信号,所述为所述整合频域信号,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
在第三种可能的实现方式中,所述确定单元具体用于,根据所述主麦克风频域信号和所述整合频域信号,确定所述主麦克风与所述辅麦克风的能量比值;
如果所述能量比值不大于预设的所述能量比值的最小值,则所述平滑因子为0;
如果所述能量比值不小于预设的所述能量比值的最大值,则所述平滑因子为1;
如果所述能量比值大于所述能量比值的最小值,且小于所述能量比值的最大值,则所述平滑因子
Smo_factor(λ,k)=[PLR(λ,k)-PLRmin]/(PLRmax-PLRmin);
其中,所述PLR(λ,k)为所述能量比值,所述PLRmin为所述能量比值的最小值,所述PLRmax为所述能量比值的最大值,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
因此,通过应用本发明实施例提供的噪声估计方法与装置,终端获取主辅麦克风采集的第一语音信号和第二语音信号,对语音信号进行频域变换后,获取主麦克风频域信号频点的第一平滑因子和第二平滑因子,并通过第一平滑因子和第二平滑因子确定频点的第三平滑因子,利用主麦克风频域信号以及第三平滑因子,得到频点的噪声估计值,以便于根据噪声估计值对所述频点进行消噪处理。避免了现有技术中,仅是通过通道间频点信息的差异性进行判断,判断依据存在一定的局限性,导致对噪声估计结果的不准确,对噪声估计的可靠性低,易产生对噪声的欠估或过估的问题,进而实现了对含噪语音进行准确的噪声估计,该方法与装置可以很好的应用于语音增强框架中去,提高对噪声估计的准确度,提高噪声估计的可靠性,以达到更好的语音增强效果。
附图说明
图1为现有技术中双麦克风噪声估计方法流程图;
图2为本发明实施例一提供的噪声估计方法流程图;
图3为本发明实施例提供的主辅麦克风距离示意图;
图4为本发明实施例二提供的噪声估计方法流程图;
图5为本发明实施例三提供的一种噪声估计装置结构图;
图6为本发明实施例四提供的另一种噪声估计装置结构图;
图7为本发明实施例五提供的一种噪声估计装置硬件结构图;
图8为本发明实施例六提供的另一种噪声估计装置硬件结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实时的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
实施例一
下面以图2为例详细说明本发明实施例一提供的噪声估计方法,图2为本发明实施例一提供的噪声估计方法流程图,在本发明实施例中,执行下述步骤的实施主体可以为具有采集语音信号功能的终端,例如:手机、摄像机、Ipad,也可通过加载在终端中的软件模块实现,所述终端具有1个主麦克风以及至少1个辅麦克风。如图2所示,该实施例具体包括以下步骤:
步骤210、获取主麦克风采集的第一语音信号以及辅麦克风采集的第二语音信号。
具体地,用户使用终端在进行语音通话,在终端上配置有主麦克风以及辅麦克风,所述主麦克风主要采集用户的语音信息;所述辅麦克风主要采集背景环境信息,终端获取主麦克风采集的第一语音信号x主(n)以及辅麦克风采集的第二语音信号x辅(n)。
可以理解的是,所述第一语音信号x主(n)以及所述第二语音信号x辅(n)具体为时域信号。
步骤220、对所述第一语音信号以及所述第二语音信号分别进行频域变换,得到与所述第一语音信号对应的主麦克风频域信号,与所述第二语音信号对应的辅麦克风频域信号。
具体地,终端获取第一语音信号x主(n)以及第二语音信号x辅(n)后,对第一语音信号x主(n)进行频域变换,得到与第一语音信号x主(n)对应的主麦克风频域信号X主(λ,k);对第二语音信号x辅(n)进行频域变换,得到与第二语音信号x2(n)对应的辅麦克风频域信号X辅(λ,k)。
可以理解的是,终端通过对第一语音信号x主(n)以及第二语音信号x辅(n)分别进行傅里叶变换(对时域信号进行傅里叶变换为现有技术,在此不再复述),进而得到主麦克风频域信号X主(λ,k)以及辅麦克风频域信号X辅(λ,k)。
步骤230、根据所述主麦克风频域信号,获取所述主麦克风频域信号内当前帧中频点的第一平滑因子。
具体地,终端得到主麦克风频域信号X主(λ,k)后,根据主麦克风频域信号X主(λ,k),获取主麦克风频域信号X主(λ,k)内当前帧中频点的第一平滑因子Smo_factor_1(λ,k)。
所述第一平滑因子Smo_factor_1(λ,k)可通过式(1)确定:
Smo_factor_1(λ,k)=α*Smo_factor_1(λ-1,k)+(1-α)*p(λ,k) 式(1)
其中,所述α为第一加权因子,所述p(λ,k)为所述语音存在概率,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
可以理解的是,主麦克风频域信号X主(λ,k)由多个帧组成,每个帧中存在多个频点,本步骤中的所述当前帧具体为终端当前处理的帧,所述频点为当前帧中任一频点,终端获取当前帧中的每个频点的第一平滑因子Smo_factor_1(λ,k)。
步骤240、根据所述主麦克风频域信号和所述辅麦克风频域信号,确定所述主麦克风与所述辅麦克风的第一能量比值,并获取所述频点的第二平滑因子。
具体地,终端根据主麦克风频域信号X主(λ,k)和辅麦克风频域信号X辅(λ,k),确定主辅麦克风之间的第一能量比值PLR(λ,k),并获取频点的第二平滑因子Smo_factor_2(λ,k)。
进一步地,本步骤中所述获取频点的第二平滑因子Smo_factor_2(λ,k)具体包括:
终端确定第一能量比值PLR(λ,k)后,将第一能量比值PLR(λ,k)与预设的第一能量比值的最小值PLRmin(λ,k)以及预设的第一能量比值PLRmax(λ,k)进行比较。如果第一能量比值PLR(λ,k)不大于预设的第一能量比值的最小值PLRmin(λ,k),则终端将第二平滑因子Smo_factor_2(λ,k)设置为0;
如果第一能量比值PLR(λ,k)不小于预设的第一能量比值的最大值PLRmax(λ,k),则终端将第二平滑因子Smo_factor_2(λ,k)设置为1;
如果第一能量比值PLR(λ,k)大于第一能量比值的最小值PLRmin(λ,k),且小于第一能量比值的最大值PLRmax(λ,k),则第二平滑因子Smo_factor_2(λ,k)可通过式(2)确定:
Smo_factor_2(λ,k)=[PLR(λ,k)-PLRmin]/(PLRmax-PLRmin) 式(2)
其中,所述PLR(λ,k)为所述第一能量比值,所述PLRmin为所述第一能量比值的最小值,所述PLRmax为所述第一能量比值的最大值,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
步骤250、如果所述第一能量比值大于1,则根据所述第一平滑因子以及所述第二平滑因子,确定所述频点的第三平滑因子。
具体地,终端获取频点的第二平滑因子后,判断步骤240中第一能量比值PLR(λ,k)是否大于1,如果第一能量比值PLR(λ,k)大于1,则终端利用第一平滑因子Smo_factor_1(λ,k)以及第二平滑因子Smo_factor_2(λ,k),确定频点的第三平滑因子Smo_factor(λ,k)。
所述第三平滑因子Smo_factor(λ,k)可通过式(3)确定:
Smo_factor(λ,k)=β1*Smo_factor_1(λ,k)+(1-β1)*Smo_factor_2(λ,k) 式(3)
其中,所述β1为所述第二加权因子,所述Smo_factor_1(λ,k)为所述第一平滑因子,所述Smo_factor_2(λ,k)为所述第二平滑因子,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
所述β1为接近与1的数值。
步骤260、根据所述主麦克风频域信号以及所述第三平滑因子,消除所述频点的噪声。
具体地,终端在确定第三平滑因子Smo_factor(λ,k)后,根据主麦克风频域信号X主(λ,k)以及第三平滑因子Smo_factor(λ,k),消除频点的噪声。
进一步地,本步骤中所述根据所述主麦克风频域信号以及所述第三平滑因子,消除所述频点的噪声具体包括:
终端根据主麦克风频域信号X主(λ,k)以及第三平滑因子Smo_factor(λ,k),确定频点的噪声估计值D(λ,k),并根据噪声估计值D(λ,k)消除所述频点的噪声。
所述频点的噪声估计值D(λ,k)可通过式(4)确定:
D(λ,k)=Smo_factor*D(λ-1,k)+(1-Smo_factor)*X主(λ,k) 式(4)
其中,所述Smo_factor为所述第三平滑因子,所述X主(λ,k)为所述主麦克风频域信号,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
终端得到频点的噪声估计值D(λ,k)后,将噪声估计值D(λ,k)传输至终端内部的纯净语音幅度谱估计器,由该纯净语音幅度谱估计器进行后续的消噪处理。
可选地,在本发明实施例步骤230中,所述根据所述主麦克风频域信号,获取所述主麦克风频域信号内当前帧中频点的第一平滑因子具体包括:
终端对主麦克风频域信号X主(λ,k)进行窗内搜索,获取当前帧中第一频点(以终端获取主麦克风频域信号X主(λ,k)内当前帧中第一频点的第一平滑因子Smo_factor_1(λ,k)为例说明)的最小频点能量值Xmin(λ,k),所述窗的长度为N帧;终端根据主麦克风频域信号X主(λ,k)以及最小频点能量值Xmin(λ,k),确定第一频点的第二能量比值Ratio(k)。
所述第二能量比值Ratio(k)可通过式(5)确定:
Ratio(k)=X主(λ,k)/Xmin(λ,k) 式(5)
其中,所述X主(λ,k)为所述主麦克风频域信号,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点,所述Xmin(λ,k)为所述最小频点能量值。
终端确定第二能量比值Ratio(k)后,利用第二能量比值Ratio(k)判断第一频点处是否存在语音信息,也即是确定第一频点的语音存在概率p(λ,k)。终端通过判断第二能量比值Ratio(k)是否大于预设的第一能量阈值δ的方式,确定第一频点的语音存在概率p(λ,k)。
其中,作为示例而非限定,所述δ可具体为3。
如果第二能量比值Ratio(k)大于预设的第一能量阈值δ,则终端确定在第一频点处,存在语音信息,并设置第一频点处的语音存在概率p(λ,k)为1,否则,终端设置第一频点处的语音存在概率p(λ,k)为0。
终端在根据第二能量比值Ratio(k),确定第一频点是否存在语音信息后,对确定的语音存在概率p(λ,k)进行平滑处理,进而获取第一频点的第一平滑因子。
所述第一平滑因子Smo_factor_1(λ,k)可通过前述式(1)确定,在此不再复述。
可选地,在本发明实施例中,终端具有至少1个辅麦克风。
如果终端的辅麦克风为1个,在本发明实施例步骤240中,所述根据所述主麦克风频域信号和所述辅麦克风频域信号,确定的所述主麦克风与所述辅麦克风的第一能量比值PLR(λ,k)可通过式(6)确定:
PLR(λ,k)=X主(λ,k)/X辅(λ,k) 式(6)
其中,所述X主(λ,k)为所述主麦克风频域信号,所述X辅(λ,k)为所述辅麦克风频域信号,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
可选地,在本发明实施例中,如果终端的辅麦克风为多个,则终端获取多个辅麦克风采集的多个第二语音信号,并对多个第二语音信号分别进行频域转换,得到多个辅麦克风频域信号。
在本发明实施例步骤240根据所述主麦克风频域信号和所述辅麦克风频域信号,确定所述主麦克风与所述辅麦克风的第一能量比值之前还包括获取每个辅麦克风与主麦克风之间的距离值,并根据多个距离值对多个辅麦克风频域信号进行距离整合的处理,将多个辅麦克风频域信号整合为1路频域信号,以使得终端内部存在多个辅麦克风时,利用整合后的辅麦克风频域信号与主麦克风频域信号,确定主辅麦克风的第一能量比值,并执行后续步骤,最终得到频点的噪声估计值。克服了现有技术中,针对每个辅麦克风分别确定频点的语音存在概率,导致对噪声估计结果的不准确,对噪声估计的可靠性低,易导致对噪声的欠估或过估的缺陷。具体步骤如下:
获取每个所述辅麦克风与所述主麦克风之间的距离值;
根据多个所述距离值,对多个所述辅麦克风频域信号进行距离整合处理,得到整合后的辅麦克风频域信号;
具体地,以终端内部存在1个主麦克风以及两个辅麦克风为例进行说明。终端获取主麦克风采集的第一语音信号x1(n),获取第一辅麦克风采集的第二语音信号x2(n);以及第二辅麦克风采集的第三语音信号x3(n)。终端对第一语音信号进行频域变换,得到第一频域信号X1(λ,k);对第二语音信号、第三语音信号分别进行频域变换,得到第二频域信号X2(λ,k)以及第三频域信号X3(λ,k)。
终端获取第一辅麦克风与主麦克风之间的距离值d1,以及第二辅麦克风与主麦克风之间的距离值d2,如图3所示,图3为本发明实施例提供的主辅麦克风距离示意图;终端利用获取的距离值d1以及距离值d2,对第二频域信号X2(λ,k)以及第三频域信号X3(λ,k)进行距离整合处理,得到整合后的辅麦克风频域信号
所述整合后的辅麦克风频域信号可通过式(7)确定:
式(7)
其中,所述d1为第一辅麦克风与主麦克风之间的距离值,所述d2为第二辅麦克风与主麦克风之间的距离值,所述X2(λ,k)为第二频域信号,所述X3(λ,k)为第三频域信号,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
在本发明实施例步骤230之后,步骤240中获取所述频点的第二平滑因子之前还包括:根据主麦克风频域信号X主(λ,k)和整合后的辅麦克风频域信号确定所述主麦克风与所述辅麦克风的第一能量比值的步骤。具体步骤如下:
根据主麦克风频域信号X主(λ,k)和整合后的辅麦克风频域信号确定主麦克风与所述辅麦克风的第一能量比值PLR(λ,k)。
所述第一能量比值PLR(λ,k)可通过式(8)确定:
式(8)
其中,所述X主(λ,k)为所述主麦克风频域信号,所述为整合后的辅麦克风频域信号,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
可选地,在本发明实施例步骤240之后,步骤260之前还包括如果第一能量比值PLR(λ,k)小于1时,终端确定频点的第三平滑因子Smo_factor(λ,k)的步骤。具体步骤如下:
如果第一能量比值PLR(λ,k)小于1,且第二能量比值Ratio(k)小于第一能量阈值δ,则终端根据第一平滑因子Smo_factor_1(λ,k)以及所述第二平滑因子Smo_factor_2(λ,k),确定所述频点的第三平滑因子Smo_factor(λ,k)。
所述第三平滑因子Smo_factor(λ,k)可通过式(9)确定:
所述第三平滑因子
Smo_factor(λ,k)=β1*Smo_factor_1(λ,k)+(1-β1)*Smo_factor_2(λ,k) 式(9)
其中,所述β1为所述第二加权因子,所述Smo_factor_1(λ,k)为所述第一平滑因子,所述Smo_factor_2(λ,k)为所述第二平滑因子,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
所述β1为接近与1的数值。
可选地,在本发明实施例步骤240之后,步骤260之前还包括如果第一能量比值PLR(λ,k)小于1,终端确定频点的第三平滑因子Smo_factor(λ,k)的步骤。具体步骤如下:
如果第一能量比值PLR(λ,k)小于1,且第二能量比值Ratio(k)大于第一能量阈值δ时,则终端根据第一平滑因子Smo_factor_1(λ,k)以及第二平滑因子Smo_factor_2(λ,k),确定频点的第三平滑因子Smo_factor(λ,k)。
所述第三平滑因子Smo_factor(λ,k)可通过式(10)确定:
所述第三平滑因子
Smo_factor(λ,k)=β2*Smo_factor_1(λ,k)+(1-β2)*Smo_factor_2(λ,k) 式(10)
其中,所述β2为所述第三加权因子,所述Smo_factor_1(λ,k)为所述第一平滑因子,所述Smo_factor_2(λ,k)为所述第二平滑因子,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
所述β2为接近与0的数值。
因此,通过应用本发明实施例提供的噪声估计方法,终端获取主辅麦克风采集的第一语音信号和第二语音信号,对语音信号进行频域变换后,获取主麦克风频域信号频点的第一平滑因子和第二平滑因子,并通过第一平滑因子和第二平滑因子确定频点的第三平滑因子,利用主麦克风频域信号以及第三平滑因子,得到频点的噪声估计值,以便于根据噪声估计值对所述频点进行消噪处理。避免了现有技术中,仅是通过通道间频点信息的差异性进行判断,判断依据存在一定的局限性,导致对噪声估计结果的不准确,对噪声估计的可靠性低,易产生对噪声的欠估或过估的问题,进而实现了对含噪语音进行准确的噪声估计,该方法与装置可以很好的应用于语音增强框架中去,提高对噪声估计的准确度,提高噪声估计的可靠性,以达到更好的语音增强效果。
前述实施例所描述的噪声估计方法适用于终端具有1个主麦克风以及至少1个辅麦克风的场景,下面针对终端具有1个主麦克风以及多个辅麦克风说明噪声估计方法的详细过程。
为便于对本发明实时的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
实施例二
下面以图4为例详细说明本发明实施例二提供的噪声估计方法,图4为本发明实施例二提供的噪声估计方法流程图,在本发明实施例中,执行下述步骤的实施主体可以为具有采集语音信号功能的终端,例如:手机、摄像机、Ipad,也可通过加载在终端中的软件模块实现,所述终端具有1个主麦克风以及多个辅麦克风。如图4所示,该实施例具体包括以下步骤:
步骤410、获取主麦克风采集的第一语音信号以及多个个辅麦克风采集的多个第二语音信号。
具体地,用户使用终端在进行语音通话,在终端上配置有主麦克风以及辅麦克风,所述主麦克风主要采集用户的语音信息;所述辅麦克风主要采集背景环境信息,终端获取主麦克风采集的第一语音信号x主(n)以及辅麦克风采集的第二语音信号x辅(n)。
可以理解的是,所述第一语音信号x主(n)以及所述第二语音信号x辅(n)具体为时域信号。
例如,以终端内部存在1个主麦克风以及两个辅麦克风为例进行说明。终端获取主麦克风采集的第一语音信号x1(n),获取第一辅麦克风采集的第二语音信号x2(n);以及第二辅麦克风采集的第三语音信号x3(n)。
步骤420、对所述第一语音信号以及多个所述第二语音信号分别进行频域变换,得到与所述第一语音信号对应的主麦克风频域信号,与所述第二语音信号对应的多个辅麦克风频域信号。
具体地,终端获取第一语音信号x主(n)以及多个第二语音信号x辅(n)后,对第一语音信号x主(n)进行频域变换,得到与第一语音信号x主(n)对应的主麦克风频域信号X主(λ,k);对多个第二语音信号x辅(n)进行频域变换,得到与多个第二语音信号x2(n)对应的多个辅麦克风频域信号X辅(λ,k)。
可以理解的是,终端通过对第一语音信号x主(n)以及多个第二语音信号x辅(n)分别进行傅里叶变换(对时域信号进行傅里叶变换为现有技术,在此不再复述),进而得到第一频域信号X主(λ,k)以及多个第二频域信号X辅(λ,k)。
根据步骤420中的例子,终端对第一语音信号x1(n)进行频域变换,得到第一频域信号X1(λ,k);对第二语音信号x2(n)、第三语音信号x3(n)分别进行频域变换,得到第二频域信号X2(λ,k)以及第三频域信号X3(λ,k)。
步骤430、对多个所述辅麦克风频域信号进行整合处理,得到整合频域信号。
具体地,终端在得到多个辅麦克风频域信号X辅(λ,k)后,对多个辅麦克风频域信号X辅(λ,k)进行整合处理,得到整合频域信号
进一步地,所述对多个所述辅麦克风频域信号进行整合处理,得到整合频域信号具体包括:
终端获取第一辅麦克风与主麦克风之间的距离值d1,以及第二辅麦克风与主麦克风之间的距离值d2,如图3所示,图3为本发明实施例提供的主辅麦克风距离示意图;终端利用获取的距离值d1以及距离值d2,对第二频域信号X2(λ,k)以及第三频域信号X3(λ,k)进行距离整合处理,得到整合后的辅麦克风频域信号
所述整合后的辅麦克风频域信号可通过式(11)确定:
式(11)
其中,所述d1为第一辅麦克风与主麦克风之间的距离值,所述d2为第二辅麦克风与主麦克风之间的距离值,所述X2(λ,k)为第二频域信号,所述X3(λ,k)为第三频域信号,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
可以理解的是,上述以辅麦克风数量为两个为例进行说明,在实际应用中,辅麦克风的数量并不限制于此。
步骤440、根据所述主麦克风频域信号和所述整合频域信号,确定所述主麦克风与所述辅麦克风的能量比值。
具体地,根据主麦克风频域信号X主(λ,k)和整合频域信号确定主麦克风与所述辅麦克风的能量比值PLR(λ,k)。
所述能量比值PLR(λ,k)可通过式(12)确定:
式(12)
其中,所述X主(λ,k)为所述主麦克风频域信号,所述为整合频域信号,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
步骤450、根据所述能量比值,确定所述主麦克风频域信号内当前帧中频点的平滑因子。
具体地,终端确定主辅麦克风之间的能量比值PLR(λ,k)后,利用能量比值PLR(λ,k),获取频点的平滑因子Smo_factor(λ,k)。
进一步地,所述根据所述能量比值,确定所述主麦克风频域信号内当前帧中频点的平滑因子具体包括:
终端确定能量比值PLR(λ,k)后,将能量比值PLR(λ,k)与预设的能量比值的最小值PLRmin(λ,k)以及预设的能量比值PLRmax(λ,k)进行比较。如果能量比值PLR(λ,k)不大于预设的能量比值的最小值PLRmin(λ,k),则终端将平滑因子Smo_factor(λ,k)设置为0;
如果能量比值PLR(λ,k)不小于预设的能量比值的最大值PLRmax(λ,k),则终端将平滑因子Smo_factor(λ,k)设置为1;
如果能量比值PLR(λ,k)大于能量比值的最小值PLRmin(λ,k),且小于能量比值的最大值PLRmax(λ,k),则平滑因子Smo_factor(λ,k)可通过式(13)确定:
Smo_factor(λ,k)=[PLR(λ,k)_PLRmin]/(PLRmax-PLRmin) 式(13)
其中,所述PLR(λ,k)为所述能量比值,所述PLRmin为所述能量比值的最小值,所述PLRmax为所述能量比值的最大值,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
步骤460、根据所述主麦克风频域信号以及所述平滑因子,消除所述频点的噪声。
具体地,终端在确定平滑因子Smo_factor(λ,k)后,根据主麦克风频域信号X主(λ,k)以及平滑因子Smo_factor(λ,k),消除频点的噪声。
进一步地,本步骤中所述根据所述主麦克风频域信号以及所述平滑因子,消除所述频点的噪声具体包括:
终端根据主麦克风品与信号X主(λ,k)以及平滑因子Smo_factor(λ,k),确定频点的噪声估计值D(λ,k),并根据噪声估计值D(λ,k)消除所述频点的噪声。
所述频点的噪声估计值D(λ,k)可通过式(14)确定:
D(λ,k)=Smo_factor*D(λ-1,k)+(1-Smo_factor)*X主(λ,k) 式(14)
其中,所述Smo_factor为所述平滑因子,所述X主(λ,k)为所述主麦克风频域信号,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
终端得到频点的噪声估计值D(λ,k)后,将噪声估计值D(λ,k)传输至终端内部的纯净语音幅度谱估计器,由该纯净语音幅度谱估计器进行后续的消噪处理。
通过步骤430至步骤460,以使得终端内部存在多个辅麦克风时,利用整合频域信号与主麦克风频域信号,确定主辅麦克风的能量比值,并根据能量比值确定平滑因子,最终根据主麦克风频域信号以及平滑因子,得到频点的噪声估计值。克服了现有技术中,针对每个辅麦克风分别确定频点的语音存在概率,导致对噪声估计结果的不准确,对噪声估计的可靠性低,易导致对噪声的欠估或过估的缺陷。
因此,通过应用本发明实施例提供的噪声估计方法,终端获取主麦克风采集的第一语音信号和多个辅麦克风采集的第二语音信号,分别对语音信号进行频域变换后,对多个辅麦克风频域信号进行整合处理,得到整合频域信号,并通过主麦克风频域信号和整合频域信号确定频点的平滑因子,利用主麦克风频域信号以及平滑因子,得到频点的噪声估计值,以便于根据噪声估计值对所述频点进行消噪处理。避免了现有技术中,仅是通过通道间频点信息的差异性进行判断,判断依据存在一定的局限性,导致对噪声估计结果的不准确,对噪声估计的可靠性低,易产生对噪声的欠估或过估的问题,进而实现了对含噪语音进行准确的噪声估计,该方法与装置可以很好的应用于语音增强框架中去,提高对噪声估计的准确度,提高噪声估计的可靠性,以达到更好的语音增强效果。
实施例三
上述多个实施例描述的方法均可实现噪声估计方法,相应地,本发明实施例三还提供了一种噪声估计装置,用以实现实施例一中的噪声估计方法,如图5所示,所述装置包括:获取单元510、变换单元520、确定单元530和处理单元540。
所述装置中获取单元510,用于获取主麦克风采集的第一语音信号以及辅麦克风采集的第二语音信号;
变换单元520,用于对所述第一语音信号以及所述第二语音信号分别进行频域变换,得到与所述第一语音信号对应的主麦克风频域信号,与所述第二语音信号对应的辅麦克风频域信号;
所述获取单元510还用于,根据所述主麦克风频域信号,获取所述主麦克风频域信号内当前帧中频点的第一平滑因子;
确定单元530,用于根据所述主麦克风频域信号和所述辅麦克风频域信号,确定所述主麦克风与所述辅麦克风的第一能量比值,并获取所述频点的第二平滑因子;
所述确定单元530还用于,如果所述第一能量比值大于1,则根据所述第一平滑因子以及所述第二平滑因子,确定所述频点的第三平滑因子;
处理单元540,用于根据所述主麦克风频域信号以及所述第三平滑因子,消除所述频点的噪声。
所述获取单元510具体用于,获取主麦克风采集的第一语音信号以及辅麦克风采集的第二语音信号;
对所述主麦克风频域信号进行窗内搜索,获取所述频点的最小频点能量值,所述窗的长度为N帧;
根据所述主麦克风频域信号以及所述最小频点能量值,确定所述频点的第二能量比值,所述第二能量比值Ratio(k)=X主(λ,k)/Xmin(λ,k);
其中,所述X主(λ,k)为所述主麦克风频域信号,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点,所述Xmin(λ,k)为所述最小频点能量值;
判断所述第二能量比值是否超过预设的第一能量阈值;
如果所述第二能量比值大于预设的第一能量阈值,则设置所述频点的语音存在概率为1,否则,设置所述频点的语音存在概率为0;
对所述语音存在概率进行平滑处理,获取所述频点的第一平滑因子;
所述第一平滑因子
Smo_factor_1(λ,k)=α*Smo_factor_1(λ-1,k)+(1-α)*p(λ,k);
其中,所述α为第一加权因子,所述p(λ,k)为所述语音存在概率,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
所述装置具有至少1个所述辅麦克风;
如果所述装置具有1个所述辅麦克风,则所述确定单元530确定的所述第一能量比值PLR(λ,k)=X主(λ,k)/X辅(λ,k);
其中,所述X主(λ,k)为所述主麦克风频域信号,所述X辅(λ,k)为所述辅麦克风频域信号,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
如果所述装置具有多个所述辅麦克风,则所述获取单元510还用于,获取每个所述辅麦克风与所述主麦克风之间的距离值;
所述装置还包括:整合单元550,用于根据多个所述距离值,对多个所述辅麦克风频域信号进行距离整合处理,确定整合后的辅麦克风频域信号;
所述确定单元530还用于,根据所述主麦克风频域信号和整合后的所述辅麦克风频域信号,确定所述主麦克风与所述辅麦克风的第一能量比值;
所述确定单元530确定的所述第一能量比值
其中,所述X1(λ,k)为所述主麦克风频域信号,所述为整合后的辅麦克风频域信号,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
所述确定单元530具体用于,根据所述主麦克风频域信号和所述辅麦克风频域信号,确定所述主麦克风与所述辅麦克风的第一能量比值;
如果所述第一能量比值不大于预设的所述第一能量比值的最小值,则所述第二平滑因子为0;
如果所述第一能量比值不小于预设的所述第一能量比值的最大值,则所述第二平滑因子为1;
如果所述第一能量比值大于所述第一能量比值的最小值,且小于所述第一能量比值的最大值,则所述第二平滑因子
Smo_factor_2(λ,k)=[PLR(λ,k)-PLRmin]/(PLRmax-PLRmin);
其中,所述PLR(λ,k)为所述第一能量比值,所述PLRmin为所述第一能量比值的最小值,所述PLRmax为所述第一能量比值的最大值,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
所述确定单元530确定的所述频点的第三平滑因子
Smo_factor(λ,k)=β1*Smo_factor_1(λ,k)+(1-β1)*Smo_factor_2(λ,k);
其中,所述β1为所述第二加权因子,所述Smo_factor_1(λ,k)为所述第一平滑因子,所述Smo_factor_2(λ,k)为所述第二平滑因子,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点;
如果所述第一能量比值不小于1,则根据所述第一平滑因子以及所述第二平滑因子,确定所述频点的第三平滑因子。
所述确定单元530还用于,如果所述第一能量比值小于1,且所述第二能量比值小于所述第一能量阈值,则根据所述第一平滑因子以及所述第二平滑因子,确定所述频点的第三平滑因子;
所述确定单元530确定的所述第三平滑因子
Smo_factor(λ,k)=β1*Smo_factor_1(λ,k)+(1-β1)*Smo_factor_2(λ,k);
其中,所述β1为所述第二加权因子,所述Smo_factor_1(λ,k)为所述第一平滑因子,所述Smo_factor_2(λ,k)为所述第二平滑因子,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
所述确定单元530还用于,如果所述第一能量比值小于1,且所述第二能量比值大于所述第一能量阈值,则根据所述第一平滑因子以及所述第二平滑因子,确定所述频点的第三平滑因子;
所述确定单元530确定的所述第三平滑因子
Smo_factor(λ,k)=β2*Smo_factor_1(λ,k)+(1-β2)*Smo_factor_2(λ,k);
其中,所述β2为所述第三加权因子,所述Smo_factor_1(λ,k)为所述第一平滑因子,所述Smo_factor_2(λ,k)为所述第二平滑因子,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
因此,通过应用本发明实施例提供的噪声估计装置,终端获取主辅麦克风采集的第一语音信号和第二语音信号,对语音信号进行频域变换后,获取主麦克风频域信号频点的第一平滑因子和第二平滑因子,并通过第一平滑因子和第二平滑因子确定频点的第三平滑因子,利用主麦克风频域信号以及第三平滑因子,得到频点的噪声估计值,以便于根据噪声估计值对所述频点进行消噪处理。避免了现有技术中,仅是通过通道间频点信息的差异性进行判断,判断依据存在一定的局限性,导致对噪声估计结果的不准确,对噪声估计的可靠性低,易产生对噪声的欠估或过估的问题,进而实现了对含噪语音进行准确的噪声估计,该方法与装置可以很好的应用于语音增强框架中去,提高对噪声估计的准确度,提高噪声估计的可靠性,以达到更好的语音增强效果。
实施例四
上述多个实施例描述的方法均可实现噪声估计方法,相应地,本发明实施例四还提供了另一种噪声估计装置,用以实现实施例二中的噪声估计方法,如图6所示,所述装置包括:获取单元610、变换单元620、整合单元630、确定单元640和处理单元650。
所述装置中获取单元610,用于获取主麦克风采集的第一语音信号以及多个辅麦克风采集的多个第二语音信号;
变换单元620,用于对所述第一语音信号以及多个所述第二语音信号分别进行频域变换,得到与所述第一语音信号对应的主麦克风频域信号,与所述第二语音信号对应的多个辅麦克风频域信号;
整合单元630,用于对多个所述辅麦克风频域信号进行整合处理,得到整合频域信号;
确定单元640,用于根据所述主麦克风频域信号和所述整合频域信号,确定所述主麦克风与所述辅麦克风的能量比值;
所述确定单元640还用于,根据所述能量比值,确定所述主麦克风频域信号内当前帧中频点的平滑因子;
处理单元650,用于根据所述主麦克风频域信号以及所述平滑因子,消除所述频点的噪声。
所述整合单元630具体用于,获取每个所述辅麦克风与所述主麦克风之间的距离值;
根据多个所述距离值,对多个所述辅麦克风频域信号进行距离整合处理,得到所述整合频域信号。
所述确定单元640确定的所述能量比值
其中,所述X主(λ,k)为所述主麦克风频域信号,所述为所述整合频域信号,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
所述确定单元640具体用于,根据所述主麦克风频域信号和所述整合频域信号,确定所述主麦克风与所述辅麦克风的能量比值;
如果所述能量比值不大于预设的所述能量比值的最小值,则所述平滑因子为0;
如果所述能量比值不小于预设的所述能量比值的最大值,则所述平滑因子为1;
如果所述能量比值大于所述能量比值的最小值,且小于所述能量比值的最大值,则所述平滑因子
Smo_factor(λ,k)=[PLR(λ,k)-PLRmin]/(PLRmax-PLRmin);
其中,所述PLR(λ,k)为所述能量比值,所述PLRmin为所述能量比值的最小值,所述PLRmax为所述能量比值的最大值,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
因此,通过应用本发明实施例提供的噪声估计装置,终端获取主麦克风采集的第一语音信号和多个辅麦克风采集的第二语音信号,分别对语音信号进行频域变换后,对多个辅麦克风频域信号进行整合处理,得到整合频域信号,并通过主麦克风频域信号和整合频域信号确定频点的平滑因子,利用主麦克风频域信号以及平滑因子,得到频点的噪声估计值,以便于根据噪声估计值对所述频点进行消噪处理。避免了现有技术中,仅是通过通道间频点信息的差异性进行判断,判断依据存在一定的局限性,导致对噪声估计结果的不准确,对噪声估计的可靠性低,易产生对噪声的欠估或过估的问题,进而实现了对含噪语音进行准确的噪声估计,该方法与装置可以很好的应用于语音增强框架中去,提高对噪声估计的准确度,提高噪声估计的可靠性,以达到更好的语音增强效果。
实施例五
另外,本发明实施例三提供的噪声估计装置还可以采用的实现方式如下,用以实现前述本发明实施例一中的噪声估计方法,如图7所示,所述噪声估计装置包括:主麦克风710、辅麦克风720、处理器730和存储器740。系统总线740用于连接主麦克风710、辅麦克风720、处理器730和存储器740。
存储器740可以是永久存储器,例如硬盘驱动器和闪存,存储器740中具有软件模块和设备驱动程序。软件模块能够执行本发明上述方法的各种功能模块;设备驱动程序可以是网络和接口驱动程序。
在启动时,这些软件组件被加载到存储器740中,然后被处理器730访问并执行如下指令:
获取主麦克风采集的第一语音信号以及辅麦克风采集的第二语音信号;
对所述第一语音信号以及所述第二语音信号分别进行频域变换,得到与所述第一语音信号对应的主麦克风频域信号,与所述第二语音信号对应的辅麦克风频域信号;
根据所述主麦克风频域信号,获取所述主麦克风频域信号内当前帧中频点的第一平滑因子;
根据所述主麦克风频域信号和所述辅麦克风频域信号,确定所述主麦克风与所述辅麦克风的第一能量比值,并获取所述频点的第二平滑因子;
如果所述第一能量比值大于1,则根据所述第一平滑因子以及所述第二平滑因子,确定所述频点的第三平滑因子;
根据所述主麦克风频域信号以及所述第三平滑因子,消除所述频点的噪声。
进一步的,所述处理器730访问存储器740的软件组件后,所述应用程序可用于使所述处理器730执行具体指令为:
获取主麦克风采集的第一语音信号以及辅麦克风采集的第二语音信号;
对所述第一语音信号以及所述第二语音信号分别进行频域变换,得到与所述第一语音信号对应的主麦克风频域信号,与所述第二语音信号对应的辅麦克风频域信号;
对所述主麦克风频域信号进行窗内搜索,获取所述频点的最小频点能量值,所述窗的长度为N帧;
根据所述主麦克风频域信号以及所述最小频点能量值,确定所述频点的第二能量比值,所述第二能量比值Ratio(k)=X主(λ,k)/Xmin(λ,k);
其中,所述X主(λ,k)为所述主麦克风频域信号,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点,所述Xmin(λ,k)为所述最小频点能量值;
判断所述第二能量比值是否超过预设的第一能量阈值;
如果所述第二能量比值大于预设的第一能量阈值,则设置所述频点的语音存在概率为1,否则,设置所述频点的语音存在概率为0;
对所述语音存在概率进行平滑处理,获取所述频点的第一平滑因子;
所述处理器730获取的所述第一平滑因子
Smo_factor_1(λ,k)=α*Smo_factor_1(λ-1,k)+(1-α)*p(λ,k);
其中,所述α为第一加权因子,所述p(λ,k)为所述语音存在概率,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点;
根据所述主麦克风频域信号和所述辅麦克风频域信号,确定所述主麦克风与所述辅麦克风的第一能量比值,并获取所述频点的第二平滑因子;
如果所述第一能量比值大于1,则根据所述第一平滑因子以及所述第二平滑因子,确定所述频点的第三平滑因子;
根据所述主麦克风频域信号以及所述第三平滑因子,消除所述频点的噪声。
进一步的,所述装置具有至少1个所述辅麦克风;如果所述装置具有1个所述辅麦克风,所述处理器730访问存储器740的软件组件后,所述应用程序可用于使所述处理器730确定的所述主麦克风与所述辅麦克风的第一能量比值PLR(λ,k)=X主(λ,k)/X辅(λ,k);
其中,所述X主(λ,k)为所述主麦克风频域信号,所述X辅(λ,k)为所述辅麦克风频域信号,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
进一步地,如果所述装置具有多个所述辅麦克风,所述应用程序还包括可用于使所述处理器730执行以下过程的指令:
获取每个所述辅麦克风与所述主麦克风之间的距离值;
根据多个所述距离值,对多个所述辅麦克风频域信号进行距离整合处理,确定整合后的辅麦克风频域信号;
进一步地,所述应用程序还包括可用于使所述处理器730执行以下过程的指令:
根据所述主麦克风频域信号和整合后的所述辅麦克风频域信号,确定所述主麦克风与所述辅麦克风的第一能量比值;
所述处理器730确定的所述第一能量比值
其中,所述X1(λ,k)为所述主麦克风频域信号,所述为整合后的辅麦克风频域信号,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
进一步的,所述处理器730访问存储器740的软件组件后,所述应用程序可用于使所述处理器730执行具体指令为:
获取主麦克风采集的第一语音信号以及辅麦克风采集的第二语音信号;
对所述第一语音信号以及所述第二语音信号分别进行频域变换,得到与所述第一语音信号对应的主麦克风频域信号,与所述第二语音信号对应的辅麦克风频域信号;
根据所述主麦克风频域信号,获取所述主麦克风频域信号内当前帧中频点的第一平滑因子;
根据所述主麦克风频域信号和所述辅麦克风频域信号,确定所述主麦克风与所述辅麦克风的第一能量比值;
如果所述第一能量比值不大于预设的所述第一能量比值的最小值,则所述第二平滑因子为0;
如果所述第一能量比值不小于预设的所述第一能量比值的最大值,则所述第二平滑因子为1;
如果所述第一能量比值大于所述第一能量比值的最小值,且小于所述第一能量比值的最大值,则所述处理器730确定的所述第二平滑因子
Smo_factor_2(λ,k)=[PLR(λ,k)-PLRmin]/(PLRmax-PLRmin);
其中,所述PLR(λ,k)为所述第一能量比值,所述PLRmin为所述第一能量比值的最小值,所述PLRmax为所述第一能量比值的最大值,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点;
如果所述第一能量比值大于1,则根据所述第一平滑因子以及所述第二平滑因子,确定所述频点的第三平滑因子;
根据所述主麦克风频域信号以及所述第三平滑因子,消除所述频点的噪声。
进一步的,所述处理器730访问存储器740的软件组件后,所述应用程序可用于使所述处理器730确定的所述频点的第三平滑因子
Smo_factor(λ,k)=β1*Smo_factor_1(λ,k)+(1-β1)*Smo_factor_2(λ,k);
其中,所述β1为所述第二加权因子,所述Smo_factor_1(λ,k)为所述第一平滑因子,所述Smo_factor_2(λ,k)为所述第二平滑因子,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
进一步的,所述应用程序还包括可用于使所述处理器730执行以下过程的指令:
如果所述第一能量比值小于1,且所述第二能量比值小于所述第一能量阈值,则根据所述第一平滑因子以及所述第二平滑因子,确定所述频点的第三平滑因子;
所述处理器730确定的所述第三平滑因子
Smo_factor(λ,k)=β1*Smo_factor_1(λ,k)+(1-β1)*Smo_factor_2(λ,k);
其中,所述β1为所述第二加权因子,所述Smo_factor_1(λ,k)为所述第一平滑因子,所述Smo_factor_2(λ,k)为所述第二平滑因子,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
进一步的,所述应用程序还包括可用于使所述处理器730执行以下过程的指令:
如果所述第一能量比值小于1,且所述第二能量比值大于所述第一能量阈值,则根据所述第一平滑因子以及所述第二平滑因子,确定所述频点的第三平滑因子;
所述处理器730确定的所述第三平滑因子
Smo_factor(λ,k)=β2*Smo_factor_1(λ,k)+(1-β2)*Smo_factor_2(λ,k);
其中,所述β2为所述第三加权因子,所述Smo_factor_1(λ,k)为所述第一平滑因子,所述Smo_factor_2(λ,k)为所述第二平滑因子,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
因此,通过应用本发明实施例提供的噪声估计装置,终端获取主辅麦克风采集的第一语音信号和第二语音信号,对语音信号进行频域变换后,获取主麦克风频域信号频点的第一平滑因子和第二平滑因子,并通过第一平滑因子和第二平滑因子确定频点的第三平滑因子,利用主麦克风频域信号以及第三平滑因子,得到频点的噪声估计值,以便于根据噪声估计值对所述频点进行消噪处理。避免了现有技术中,仅是通过通道间频点信息的差异性进行判断,判断依据存在一定的局限性,导致对噪声估计结果的不准确,对噪声估计的可靠性低,易产生对噪声的欠估或过估的问题,进而实现了对含噪语音进行准确的噪声估计,该方法与装置可以很好的应用于语音增强框架中去,提高对噪声估计的准确度,提高噪声估计的可靠性,以达到更好的语音增强效果。
实施例六
另外,本发明实施例四提供的噪声估计装置还可以采用的实现方式如下,用以实现前述本发明实施例二中的噪声估计方法,如图8所示,所述噪声估计装置包括:主麦克风810、多个辅麦克风820、处理器830和存储器840。系统总线840用于连接主麦克风810、多个辅麦克风820、处理器830和存储器840。
存储器840可以是永久存储器,例如硬盘驱动器和闪存,存储器840中具有软件模块和设备驱动程序。软件模块能够执行本发明上述方法的各种功能模块;设备驱动程序可以是网络和接口驱动程序。
在启动时,这些软件组件被加载到存储器840中,然后被处理器830访问并执行如下指令:
获取主麦克风采集的第一语音信号以及多个辅麦克风采集的多个第二语音信号;
对所述第一语音信号以及多个所述第二语音信号分别进行频域变换,得到与所述第一语音信号对应的主麦克风频域信号,与所述第二语音信号对应的多个辅麦克风频域信号;
对多个所述辅麦克风频域信号进行整合处理,得到整合频域信号;
根据所述主麦克风频域信号和所述整合频域信号,确定所述主麦克风与所述辅麦克风的能量比值;
根据所述能量比值,确定所述主麦克风频域信号内当前帧中频点的平滑因子;
根据所述主麦克风频域信号以及所述平滑因子,消除所述频点的噪声。
进一步地,所述处理器830访问存储器840的软件组件后,所述应用程序可用于使所述处理器830执行具体指令为:
获取主麦克风采集的第一语音信号以及多个辅麦克风采集的多个第二语音信号;
对所述第一语音信号以及多个所述第二语音信号分别进行频域变换,得到与所述第一语音信号对应的主麦克风频域信号,与所述第二语音信号对应的多个辅麦克风频域信号;
获取每个所述辅麦克风与所述主麦克风之间的距离值;
根据多个所述距离值,对多个所述辅麦克风频域信号进行距离整合处理,得到所述整合频域信号;
根据所述主麦克风频域信号和所述整合频域信号,确定所述主麦克风与所述辅麦克风的能量比值;
根据所述能量比值,确定所述主麦克风频域信号内当前帧中频点的平滑因子;
根据所述主麦克风频域信号以及所述平滑因子,消除所述频点的噪声。
进一步地,所述处理器830访问存储器840的软件组件后,所述应用程序可用于使所述处理器830确定的所述主麦克风与所述辅麦克风的能量比值
其中,所述X主(λ,k)为所述主麦克风频域信号,所述为所述整合频域信号,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点。
进一步地,所述处理器830访问存储器840的软件组件后,所述应用程序可用于使所述处理器830执行具体指令为:
获取主麦克风采集的第一语音信号以及多个辅麦克风采集的多个第二语音信号;
对所述第一语音信号以及多个所述第二语音信号分别进行频域变换,得到与所述第一语音信号对应的主麦克风频域信号,与所述第二语音信号对应的多个辅麦克风频域信号;
对多个所述辅麦克风频域信号进行整合处理,得到整合频域信号;
根据所述主麦克风频域信号和所述整合频域信号,确定所述主麦克风与所述辅麦克风的能量比值;
如果所述能量比值不大于预设的所述能量比值的最小值,则所述平滑因子为0;
如果所述能量比值不小于预设的所述能量比值的最大值,则所述平滑因子为1;
如果所述能量比值大于所述能量比值的最小值,且小于所述能量比值的最大值,则所述处理器830确定的所述平滑因子
Smo_factor(λ,k)=[PLR(λ,k)-PLRmin]/(PLRmax-PLRmin);
其中,所述PLR(λ,k)为所述能量比值,所述PLRmin为所述能量比值的最小值,所述PLRmax为所述能量比值的最大值,所述λ为所述主麦克风频域信号中当前帧的帧号,所述k为频点;
根据所述主麦克风频域信号以及所述平滑因子,消除所述频点的噪声。
因此,通过应用本发明实施例提供的噪声估计装置,终端获取主麦克风采集的第一语音信号和多个辅麦克风采集的第二语音信号,分别对语音信号进行频域变换后,对多个辅麦克风频域信号进行整合处理,得到整合频域信号,并通过主麦克风频域信号和整合频域信号确定频点的平滑因子,利用主麦克风频域信号以及平滑因子,得到频点的噪声估计值,以便于根据噪声估计值对所述频点进行消噪处理。避免了现有技术中,仅是通过通道间频点信息的差异性进行判断,判断依据存在一定的局限性,导致对噪声估计结果的不准确,对噪声估计的可靠性低,易产生对噪声的欠估或过估的问题,进而实现了对含噪语音进行准确的噪声估计,该方法与装置可以很好的应用于语音增强框架中去,提高对噪声估计的准确度,提高噪声估计的可靠性,以达到更好的语音增强效果。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。