一种多麦克风降噪方法、装置及终端设备与流程

文档序号:21484991发布日期:2020-07-14 17:10阅读:373来源:国知局
一种多麦克风降噪方法、装置及终端设备与流程

本申请涉及通信技术领域,尤其涉及一种多麦克风降噪方法、装置及终端设备。



背景技术:

手机处于手持或免提模式时,上行语音会因环境的复杂而不可避免地受到各种噪声的干扰。常见的噪声从声场分布的角度分为散射噪声和相干噪声,而从噪声平稳度的角度又分为稳态噪声、非稳态噪声和瞬态噪声。这些噪声和干扰容易影响目标信号,使收集的语音的听觉舒适度和语音清晰度严重降低。因此,需要对上行语音进行噪声抑制处理。

通常将传统的噪声抑制算法根据设备中麦克风的数量分为单麦克风降噪算法和多麦克风降噪算法。由于无法获取信号的空间信息,单麦克风降噪算法在抑制非稳态噪声和瞬态噪声方面的能力非常有限。而多麦克风降噪算法主要利用信号的空间特性和时频域特性来进行降噪,因此在抑制非稳态噪声方面,多麦克风降噪算法优于单麦克风降噪算法。

目前,对于手持模式,智能手机采用双麦克风降噪方法;而对于免提模式,绝大多数手机仍然采用单麦克风降噪方法作为噪声抑制方案。因此,当手机分别处于手持模式和免提模式时,对端用户所体验到的语音质量和背景噪声的平稳舒适度截然不同。

手机处于手持模式时所采用的一种现有双麦克风降噪方法通过手机的底部麦克风和顶部麦克风收集的语音之间的能量差,也称耳间强度差(interauralleveldifference,ild),来实现双麦克风降噪。

另一种现有多麦克风降噪方法使用麦克风阵列波束成形技术。当设备包括两个或两个以上麦克风时,利用信号的空间特性来形成波束以指向目标语音的方向,通过特定的噪声场模型或实际的噪声场模型来进行滤波计算,并通过滤波输出的方式获得波束成形后的信号。如果需要进一步抑制噪声,则可以在波束成形之后进行单麦克风降噪处理。

然而,基于ild的降噪算法和基于波束成形的降噪算法均面临着算法鲁棒性和对各种应用场景的适用性相对较差的问题。



技术实现要素:

因此,本申请实施例提供了一种多麦克风降噪方法、装置及终端设备,以解决现有技术中现有的降噪算法的鲁棒性和对各种应用场景的适用性相对较差的问题。

本申请第一方面提供了一种多麦克风降噪方法,包括:对主麦克风信号进行谐波检测,获得频点静音检测(voiceactivitydetection,vad)标识信息;根据所述频点vad标识信息控制卡尔曼滤波器从辅麦克风信号中滤除目标语音信号,获得辅麦克风噪声信号;通过动态噪声频谱映射将所述辅麦克风噪声信号映射到所述主麦克风信号,获得所述主麦克风信号的主麦克风噪声频谱;至少根据所述主麦克风信号的主麦克风噪声频谱计算所述主麦克风信号的降噪增益,并输出降噪后的主语音信号。

结合第一方面,在第一种可能的实现方式中,所述对主麦克风信号进行谐波检测,获得频点vad标识信息包括:通过谐波模型和状态转移概率矩阵获得所述频点vad标识信息,其中,所述谐波模型用于检测倒频谱域上的语音谐波特性,所述频点vad标识信息为用于指示所述主麦克风信号中是否存在语音谐波的布尔值。

结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述通过谐波模型和状态转移概率矩阵获得所述频点vad标识信息包括:根据语音数据库训练所述谐波模型;通过所述谐波模型和所述状态转移概率矩阵获得所述主麦克风信号的语音状态信息,其中,所述语音状态信息包括每个频点对应的浊音状态、清音状态或静音状态;根据所述语音状态信息计算倒频谱激励矢量;根据所述倒频谱激励矢量和所述谐波模型对所述主麦克风信号进行谐波选择,确定所述主麦克风信号中是否存在语音谐波,并输出所述频点vad标识信息。

通过上述谐波检测过程,利用语音的时频分布特性和所述状态转移概率矩阵,以及更多的维度来确定频点处是否存在语音,从而可以实现更高的准确度,更加准确地检测频点处是否存在语音。

结合第一方面或第一方面的第一种可能的实现方式,在第三种可能的实现方式中,所述根据所述频点vad标识信息控制卡尔曼滤波器从辅麦克风信号中滤除目标语音信号,获得辅麦克风噪声信号包括:通过将所述主麦克风信号作为参考信号获得残差信号,以使用所述卡尔曼滤波器自适应去除所述辅麦克风信号中的所述目标语音信号,其中,所述残差信号为所述辅麦克风噪声信号;根据滤波因子误差的协方差矩阵计算所述残差信号的协方差矩阵;根据所述残差信号的协方差矩阵计算卡尔曼增益;根据所述频点vad标识信息确定是否需要更新所述卡尔曼滤波器;当需要更新所述卡尔曼滤波器时,根据所述卡尔曼增益更新滤波因子;根据所述更新后的滤波因子更新所述滤波因子误差的协方差矩阵。

通过上述卡尔曼自适应滤波过程,只滤除辅麦克风信号中的目标语音信号,同时保留辅麦克风噪声信号,使得动态映射后的噪声频谱估计可以更加准确。并且,由于卡尔曼滤波器是根据通过谐波检测得到的频点布尔值更新的,从而可以提高滤除目标语音的能力,同时可以快速跟踪目标语音源的位置变化,实现在任意方向上的拾音。

结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述根据所述频点vad标识信息确定是否需要更新所述卡尔曼滤波器包括:当所述频点vad标识信息的值为1时,确定需要更新卡尔曼滤波器;和/或当所述频点vad标识信息的值为0时,确定需要暂停更新卡尔曼滤波器。需要说明的是,本发明对用于指示语音信号是否存在的所述频点vad标识信息的值不作限定。

结合第一方面或第一方面的上述可能的实现方式中的任一种,在第五种可能的实现方式中,在所述根据所述频点vad标识信息控制卡尔曼滤波器从辅麦克风信号中滤除目标语音信号,获得辅麦克风噪声信号之后,所述方法还包括:对所述辅麦克风噪声信号进行谐波检测;当所述辅麦克风噪声信号中存在语音谐波时,加速更新所述卡尔曼滤波器。

通过上述滤波器更新过程,可以实现更强的滤除目标语音信号的能力,实现对于位置变化的良好的鲁棒性。

结合第一方面或第一方面的上述可能的实现方式中的任一种,在第六种可能的实现方式中,所述通过动态噪声频谱映射将所述辅麦克风噪声信号映射到所述主麦克风信号,获得所述主麦克风信号的主麦克风噪声频谱包括:根据所述主麦克风信号和所述辅麦克风信号计算所述主麦克风信号的先验全局静音概率;根据所述主麦克风信号、所述主麦克风信号的先验全局静音概率和所述辅麦克风噪声信号计算所述主麦克风信号的动态补偿系数;根据所述主麦克风信号的动态补偿系数和所述辅麦克风噪声信号计算所述主麦克风信号的主麦克风噪声频谱。

通过上述动态噪声频谱映射过程,可以动态地计算主麦克风和辅麦克风的声学传递函数和频率响应差异,使得噪声频谱估计更加准确。

结合第一方面的第六种可能的实现方式,在第七种可能的实现方式中,所述根据所述主麦克风信号和所述辅麦克风信号计算所述主麦克风信号的先验全局静音概率包括:根据主麦克风和辅麦克风之间的距离计算散射场的噪声的相干函数;计算所述主麦克风信号和所述辅麦克风信号的复数相干函数;根据所述散射场的噪声的相干函数和所述主麦克风信号的复数相干函数计算所述主麦克风信号的入射角参数;根据所述入射角参数计算复数相干系数;根据所述入射角参数和所述复数相干系数计算先验静音概率;在时频域上对所述先验静音概率进行平滑处理,获得所述主麦克风信号的先验全局静音概率。

结合第一方面或第一方面的上述可能的实现方式中的任一种,在第八种可能的实现方式中,所述至少根据所述主麦克风信号的主麦克风噪声频谱计算所述主麦克风信号的降噪增益,并输出降噪后的主语音信号包括:获取所述主麦克风信号的单麦克风噪声频谱;根据所述主麦克风信号的主麦克风噪声频谱和所述主麦克风信号的单麦克风噪声频谱,获得所述主麦克风信号的总噪声频谱;根据所述主麦克风信号的总噪声频谱计算所述主麦克风信号的降噪增益,并输出所述降噪后的主语音信号。

通过合并主麦克风噪声频谱和单麦克风噪声频谱获得总噪声频谱,可以更加准确地实时估计主麦克风信号中的非稳态噪声。

结合第一方面的第八种可能的实现方式,在第九种可能的实现方式中,所述根据所述主麦克风信号的总噪声频谱计算所述主麦克风信号的降噪增益,并输出所述降噪后的主语音信号包括:根据所述主麦克风信号的总噪声频谱多次计算所述主麦克风信号的降噪增益,并输出所述降噪后的主语音信号。

结合第一方面的第九种可能的实现方式,在第十种可能的实现方式中,所述根据所述主麦克风信号的总噪声频谱多次计算所述主麦克风信号的降噪增益,并输出所述降噪后的主语音信号包括:根据所述主麦克风信号和所述主麦克风信号的总噪声频谱计算所述主麦克风信号的先验信噪比(signal-to-noiseratio,snr);根据所述主麦克风信号的先验snr计算所述主麦克风信号的初始增益,获得初始增益结果;根据所述初始增益结果对所述主麦克风信号进行谐波增强,获得谐波增强后的主麦克风信号;计算所述谐波增强后的主麦克风信号的二级增益,获得二级增益结果;对所述二级增益结果进行倒频谱平滑处理,获得倒频谱平滑处理后的主麦克风信号;当基音分布范围内的所述倒频谱平滑处理后的主麦克风信号的幅度大于预设阈值时,对所述倒频谱平滑处理后的主麦克风信号进行谐波替换,获得谐波替换后的主麦克风信号;对所述谐波替换后的主麦克风信号逆变换到频域,获得平滑处理后的snr;根据所述平滑处理后的snr计算所述主麦克风信号的降噪增益,并输出所述降噪后的主语音信号。

通过上述倒频谱平滑处理过程,可以实现倒频谱平滑处理和谐波检测的协同使用。可以使用谐波检测中的基音计算结果并与基于倒频谱基音阈值的确定过程相结合,且可以通过谐波选择来滤除干扰频点。因此,可以为目标语音信号提供更好的保护,并且噪声残差可以更加平稳。

结合第一方面的第十种可能的实现方式,在第十一种可能的实现方式,在所述对所述二级增益结果进行倒频谱平滑处理,获得倒频谱平滑处理后的主麦克风信号之前,所述方法还包括:根据所述主麦克风信号的主麦克风噪声频谱和所述主麦克风信号的基音信息进行谐波选择,获得谐波选择结果;根据所述谐波选择结果确定所述二级增益结果中是否存在语音谐波;当所述二级增益结果中不存在语音谐波时,将所述倒频谱平滑处理期间需要检测的基音信息设置为0。

在存在基音而不存在谐波的情况下,将基音的值设置为0,由此可以避免非稳态噪声存在的情况下倒频谱平滑处理中的基音检测误差,可以实现对基音检测的双重判断,并提高基音检测的准确性。

结合第一方面的第八至第十一种可能的实现方式,在第十二种可能的实现方式,所述获取所述主麦克风信号的单麦克风噪声频谱包括:通过全局平滑处理计算所述主麦克风信号的后验全局snr,并通过局部平滑处理计算所述主麦克风信号的后验局部snr;根据所述后验全局snr、所述后验局部snr和所述主麦克风信号的基音信息计算语音出现概率;根据所述语音出现概率估计所述主麦克风信号的单麦克风噪声频谱。

通过上述单麦克风噪声频谱估计算法,可以通过语音出现概率实时更新噪声频谱,避免了时间窗的选择,从而实现了实时噪声跟踪。

结合第一方面或第一方面的上述可能的实现方式中的任一种,在第十三种可能的实现方式中,当在手持模式下收集主麦克风信号时,在所述对主麦克风信号进行谐波检测,获得频点vad标识信息之后,所述方法还包括:计算主麦克风和辅麦克风之间的耳间强度差(interauralleveldifference,ild)信息;根据所述ild信息和频点vad标识信息控制所述主麦克风信号的呼叫角度。

通过所述基于ild信息的多麦克风降噪方法,可以进行呼叫角度控制,并且可以基于麦克风能量比来控制谐波检测结果,从而精确地在帧级别上控制是否更新滤波器,从而控制噪声频谱估计的程度。

本申请第二方面提供了一种多麦克风降噪装置,包括:第一谐波检测模块,用于对主麦克风信号进行谐波检测,获得频点静音检测(voiceactivitydetection,vad)标识信息;滤波控制模块,用于根据所述频点vad标识信息控制卡尔曼滤波器从辅麦克风信号中滤除目标语音信号,获得辅麦克风噪声信号;映射模块,用于通过动态噪声频谱映射将所述辅麦克风噪声信号映射到所述主麦克风信号,获得所述主麦克风信号的主麦克风噪声频谱;增益计算模块,用于至少根据所述主麦克风信号的主麦克风噪声频谱计算所述主麦克风信号的降噪增益;输出模块,用于输出降噪后的主语音信号。

结合第二方面,在第一种可能的实现方式中,所述第一谐波检测模块具体用于,通过谐波模型和状态转移概率矩阵获得所述频点vad标识信息,其中,所述谐波模型用于检测倒频谱域上的语音谐波特性,所述频点vad标识信息为用于指示所述主麦克风信号中是否存在语音谐波的布尔值。

结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第一谐波检测模块包括:训练单元,用于根据语音数据库训练所述谐波模型,其中,所述谐波模型用于检测倒频谱域上的语音谐波特性;第一获取单元,用于通过所述谐波模型和状态转移概率矩阵获得所述主麦克风信号的语音状态信息,其中,所述语音状态信息包括每个频点对应的浊音状态、清音状态或静音状态;第一计算单元,用于根据所述语音状态信息计算倒频谱激励矢量;谐波选择单元,用于根据所述倒频谱激励矢量和所述谐波模型对所述主麦克风信号进行谐波选择,确定所述主麦克风信号中是否存在语音谐波,并输出所述频点vad标识信息。

通过上述谐波检测过程,利用语音的时频分布特性和所述状态转移概率矩阵,以及更多的维度来确定频点处是否存在语音,从而可以实现更高的准确度,更加准确地检测频点处是否存在语音。

结合第二方面或第二方面的第一种可能的实现方式,在第三种可能的实现方式中,滤波控制模块包括:滤波单元,用于通过将所述主麦克风信号作为参考信号获得残差信号,以使用所述卡尔曼滤波器自适应去除所述辅麦克风信号中的所述目标语音信号,其中,所述残差信号为所述辅麦克风噪声信号;第二计算单元,用于根据滤波因子误差的协方差矩阵计算所述残差信号的协方差矩阵,并根据所述残差信号的协方差矩阵计算卡尔曼增益;确定单元,用于根据所述频点vad标识信息确定是否需要更新所述卡尔曼滤波器;更新单元,用于当需要更新所述卡尔曼滤波器时,根据所述卡尔曼增益更新滤波因子;根据所述更新后的滤波因子更新所述滤波因子误差的协方差矩阵。

通过上述卡尔曼自适应滤波过程,只滤除辅麦克风信号中的目标语音信号,同时保留辅麦克风噪声信号,使得动态映射后的噪声频谱估计可以更加准确。并且,由于卡尔曼滤波器是根据通过谐波检测得到的频点布尔值更新的,从而可以提高滤除目标语音的能力,同时可以快速跟踪目标语音源的位置变化,实现在任意方向上的拾音。

结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述确定单元具体用于:当所述频点vad标识信息的值为1时,确定需要更新卡尔曼滤波器;和/或当所述频点vad标识信息的值为0时,确定需要暂停更新卡尔曼滤波器。需要说明的是,本发明中对用于指示语音信号是否存在的所述频点vad标识信息的值不作限定。

结合第二方面或第二方面的上述可能的实现方式中的任一种,在第五种可能的实现方式中,所述装置还包括:第二谐波检测模块,用于对所述辅麦克风噪声信号进行谐波检测;加速模块,用于当所述辅麦克风噪声信号中存在语音谐波时,加速更新所述卡尔曼滤波器。

通过上述滤波器更新过程,可以实现更强的滤除目标语音信号的能力,实现对于位置变化的良好的鲁棒性。

结合第二方面或第二方面的上述可能的实现方式中的任一种,在第六种可能的实现方式中,所述映射模块包括:第三计算单元,用于根据所述主麦克风信号和所述辅麦克风信号计算所述主麦克风信号的先验全局静音概率;根据所述主麦克风信号、所述主麦克风信号的先验全局静音概率和所述辅麦克风噪声信号计算所述主麦克风信号的动态补偿系数;根据所述主麦克风信号的动态补偿系数和所述辅麦克风噪声信号计算所述主麦克风信号的主麦克风噪声频谱。

通过上述动态噪声频谱映射过程,可以动态地计算主麦克风和辅麦克风的声学传递函数和频率响应差异,使得噪声频谱估计更加准确。

结合第二方面的第六种可能的实现方式,在第七种可能的实现方式中,所述第三计算单元具体用于:根据主麦克风和辅麦克风之间的距离计算散射场的噪声的相干函数;计算所述主麦克风信号和所述辅麦克风信号的复数相干函数;根据所述散射场的噪声的相干函数和所述主麦克风信号的复数相干函数计算所述主麦克风信号的入射角参数;根据所述入射角参数计算复数相干系数;根据所述入射角参数和所述复数相干系数计算先验静音概率;在时频域上对所述先验静音概率进行平滑处理,获得所述主麦克风信号的先验全局静音概率。

结合第二方面或第二方面的上述可能的实现方式中的任一种,在第八种可能的实现方式中,所述增益计算模块包括:第二获取单元,用于获取所述主麦克风信号的单麦克风噪声频谱,并根据所述主麦克风信号的主麦克风噪声频谱和所述主麦克风信号的单麦克风噪声频谱,获得所述主麦克风信号的总噪声频谱;第四计算单元,用于根据所述主麦克风信号的总噪声频谱计算所述主麦克风信号的降噪增益,并输出所述降噪后的主语音信号。

通过合并主麦克风噪声频谱和单麦克风噪声频谱获得总噪声频谱,可以更加准确地实时估计主麦克风信号中的非稳态噪声。

结合第二方面的第八种可能的实现方式,在第九种可能的实现方式中,所述第四计算单元具体用于根据所述主麦克风信号的总噪声频谱多次计算所述主麦克风信号的降噪增益,并输出所述降噪后的主语音信号。

结合第二方面的第九种可能的实现方式,在第十种可能的实现方式中,所述第四计算单元具体用于:根据所述主麦克风信号和所述主麦克风信号的总噪声频谱计算所述主麦克风信号的先验信噪比(signal-to-noiseratio,snr);根据所述主麦克风信号的先验snr计算所述主麦克风信号的初始增益,获得初始增益结果;根据所述初始增益结果对所述主麦克风信号进行谐波增强,获得谐波增强后的主麦克风信号;计算所述谐波增强后的主麦克风信号的二级增益,获得二级增益结果;对所述二级增益结果进行倒频谱平滑处理,获得倒频谱平滑处理后的主麦克风信号;当基音分布范围内的所述倒频谱平滑处理后的主麦克风信号的幅度大于预设阈值时,对所述倒频谱平滑处理后的主麦克风信号进行谐波替换,获得谐波替换后的主麦克风信号;对所述谐波替换后的主麦克风信号逆变换到频域,获得平滑处理后的snr;根据所述平滑处理后的snr计算所述主麦克风信号的降噪增益。

通过上述倒频谱平滑处理过程,可以实现倒频谱平滑处理和谐波检测的协同使用。可以使用谐波检测中的基音计算结果并与基于倒频谱基音阈值的确定过程相结合,且可以通过谐波选择来滤除干扰频点。因此,可以为目标语音信号提供更好的保护,并且噪声残差可以更加平稳。

结合第二方面的第十种可能的实现方式,在第十一种可能的实现方式,所述第四计算单元还用于:根据所述主麦克风信号的主麦克风噪声频谱和所述主麦克风信号的基音信息进行谐波选择,获得谐波选择结果;根据所述谐波选择结果确定所述二级增益结果中是否存在语音谐波;当所述二级增益结果中不存在语音谐波时,将所述倒频谱平滑处理期间需要检测的基音信息设置为0。

在存在基音而不存在谐波的情况下,将基音的值设置为0,由此可以避免非稳态噪声存在的情况下倒频谱平滑处理中的基音检测误差,可以实现对基音检测的双重判断,并提高基音检测的准确性。

结合第二方面的第八至第十一种可能的实现方式,在第十二种可能的实现方式,所述第二获取单元具体用于:通过全局平滑处理计算所述主麦克风信号的后验全局snr,并通过局部平滑处理计算所述主麦克风信号的后验局部snr;根据所述后验全局snr、所述后验局部snr和所述主麦克风信号的基音信息计算语音出现概率;根据所述语音出现概率估计所述主麦克风信号的单麦克风噪声频谱。

通过上述单麦克风噪声频谱估计算法,可以通过语音出现概率实时更新噪声频谱,避免了时间窗的选择,从而实现了实时噪声跟踪。

结合第二方面或第二方面的上述可能的实现方式中的任一种,在第十三种可能的实现方式中,所述装置还包括:耳间强度差(interauralleveldifference,ild)计算模块,用于计算主麦克风和辅麦克风之间的ild信息;呼叫角度控制模块1109,用于根据所述ild信息和频点vad标识信息控制所述主麦克风信号的呼叫角度。

通过所述基于ild信息的多麦克风降噪方法,可以进行呼叫角度控制,并且可以基于麦克风能量比来控制谐波检测结果,从而精确地在帧级别上控制是否更新滤波器,从而控制噪声频谱估计的程度。

本申请第三方面提供了一种终端设备,包括:发送器、接收器、处理器、存储器、主麦克风和辅麦克风,其中,所述存储器存储有程序指令,当所述程序指令由所述处理器执行时,使得所述处理器执行上述任一方面所述的方法。

本申请第四方面提供了一种计算机可读存储介质,包括非瞬时性计算机程序指令,当所述非瞬时性计算机程序指令由处理器执行时,使得所述处理器执行上述任一方面所述的方法。

本申请第五方面提供了一种计算机程序产品,包括非瞬时性计算机程序指令,当所述非瞬时性计算机程序指令由处理器执行时,使得所述处理器执行上述任一方面所述的方法。

本申请第六方面提供了一种计算机程序,包括程序代码,当所述程序代码由处理器执行时,使得所述处理器执行上述任一方面所述的方法。

在本申请实施例中,对主麦克风信号进行谐波检测,获得频点vad标识信息;根据所述频点vad标识信息控制卡尔曼滤波器从辅麦克风信号中滤除目标语音信号,获得辅麦克风噪声信号;然后,通过动态噪声频谱映射将所述辅麦克风噪声信号映射到所述主麦克风信号,获得所述主麦克风信号的主麦克风噪声频谱;至少根据所述主麦克风信号的主麦克风噪声频谱计算所述主麦克风信号的降噪增益,并最终输出降噪后的主语音信号(也称为降噪处理后的主语音信号)。从上述方案可以看出,多麦克风降噪可以基于卡尔曼自适应滤波器来实现,不需要依赖ild信息并且具有很强的滤除目标语音信号的能力。因此,本申请提供的多麦克风降噪方法对位置变化、各种噪声和应用场景具有良好的鲁棒性。所述方法还具有改进的语音保护能力,可以应用于手持模式和免提模式,在两种模式下实现了相近的降噪效果,提高了模式切换过程中呼叫主观体验的一致性。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将本实施例中所需的附图作简单地介绍。显而易见地,所述附图仅仅是本申请的一些实施例,本领域技术人员在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的多麦克风降噪方法所应用的语音通信系统的示意图;

图2是本申请实施例提供的多麦克风降噪方法的流程图;

图3是本申请实施例提供的多麦克风降噪方法的示意图;

图4是状态转移概率的示意图;

图5是本申请实施例提供的一种增强的最小均方差(minimummeansquareerror,mmse)单麦克风噪声频谱估计算法的示意图;

图6是本申请实施例提供的一种具体场景下的多麦克风降噪方法中的倒频谱平滑处理过程的示意图;

图7是本申请实施例提供的一种具体场景下的多麦克风降噪方法的示意图;

图8是本申请实施例提供的另一种具体场景下的多麦克风降噪方法的示意图;

图9是本申请实施例提供的一种基于ild信息的多麦克风降噪方法的应用场景的示意图;

图10是一种麦克风阵列波束成形技术的示意图;

图11是本申请一实施例提供的多麦克风降噪装置的结构示意图;

图12是本申请实施例提供的第一谐波检测模块的结构示意图;

图13是本申请实施例提供的第一滤波控制模块的结构示意图;

图14是本申请另一实施例提供的多麦克风降噪装置的结构示意图;

图15是本申请实施例提供的映射模块的结构示意图;

图16是本申请实施例提供的增益计算模块的结构示意图;

图17是本申请实施例提供的终端设备的结构示意图。

具体实施方式

下文中,本申请实施例提供了一种多麦克风降噪方法、装置及终端设备。

为了使本领域技术人员更好地理解本申请的技术方案,使本申请实施例的上述目的、特征和优势更加清楚,下面将结合附图对本申请实施例的技术方案进行描述。

图1是本申请实施例提供的多麦克风降噪方法所应用的语音通信系统的示意图。如图1所示,所述语音通信系统可以包括第一终端设备和第二终端设备,其分别具有至少一个主麦克风和一个辅麦克风。本申请的终端设备可以是具有双麦克风或多麦克风拾音能力的任意电子设备,例如,手机(或称“蜂窝”电话)或具有移动终端的计算机等,所述终端设备也可以是便携式、迷你式、手持式、计算机内置式或车载移动设备。例如,本申请的多麦克风降噪方法可以应用于笔记本电脑、平板电脑、视频会议系统、语音识别和前端增强等产品和应用,本申请对此不作限定。在本申请实施例中,第一终端设备和第二终端设备之间可以建立通信连接,例如,第一终端设备和第二终端设备可以通过无线网络连接,且第一终端设备和第二终端设备可以进行一对一的语音通信。在本申请实施例中,第一终端设备还可以与第二终端设备和第三终端设备保持通信连接,即第一终端设备可以同时与多个终端设备进行会议通信,此处不作限定。第一终端设备和第二终端设备之间的通信模式与第一终端设备和多个终端设备之间的通信模式类似,本申请以下实施例将结合各种应用场景进行描述。

图2是本申请实施例提供的多麦克风降噪方法的流程图。该方法可以由终端设备执行,例如,图1所示的第一终端设备或第二终端设备。终端设备可以具有至少一个主麦克风和辅麦克风,其中,主麦克风也可以称为底部麦克风,辅麦克风也可以称为顶部麦克风。本申请对终端设备中的麦克风的数量不做限定。终端设备可以具有多个麦克风,例如,终端设备可以具有多个底部麦克风和一个顶部麦克风,或者可以具有多个底部麦克风和多个顶部麦克风。在只有一个主麦克风和一个辅麦克风的情况下,该方法也可以称为双麦克风降噪方法。如图2所示,所述多麦克风降噪方法可以包括:

步骤201:对主麦克风信号进行谐波检测,获得频点vad标识信息。

在本申请实施例中,可以通过对终端设备的主麦克风输入的信号进行主声音拾取来获得主麦克风信号。在获得主麦克风信号之后,可以对主麦克风信号进行谐波检测,以确定主麦克风信号是否包括每个频点对应的语音信号,其可以通过频点vad标识信息来表示。在一种实现方式中,谐波检测可以通过谐波模型和状态转移概率矩阵来实现,其中,谐波模型用于检测倒频谱域上的语音谐波特性。静音检测(voiceactivitydetection,vad)用于检测当前主麦克风信号中是否存在语音信号,即确定输入信号并将语音信号与各种背景噪声信号区分开来。例如,当频点vad标识信息的值(即某个频点的vad标识信息)为1时,表示主麦克风信号包括该频点对应的语音信号;当频点vad标识信息的值为0时,表示主麦克风信号不包括该频点对应的语音信号。需要说明的是,本发明中,用于指示语音信号是否存在的频点vad标识信息的值不作限定。

步骤202:根据所述频点vad标识信息控制卡尔曼滤波器从辅麦克风信号中滤除目标语音信号,获得辅麦克风噪声信号。

在本发明实施例中,可以通过对终端设备的辅麦克风输入的信号进行辅声音拾取来获得辅麦克风信号,所述辅麦克风信号也可以称为参考麦克风信号。在获得辅麦克风信号之后,终端设备可以根据步骤201中获得的频点vad标识信息控制卡尔曼滤波器从辅麦克风信号中滤除目标语音信号。在一种实现方式中,当频点vad标识信息的值为1时,确定需要更新卡尔曼滤波器;当频点vad标识信息的值为0时,确定需要暂停更新卡尔曼滤波器。

在本步骤中,可以自适应地从辅麦克风信号中滤除目标语音信号。在手持模式中,所述目标语音信号可以是单个目标语音;而在免提会议模式中,所述目标语音信号可以是多个目标语音。卡尔曼滤波器也可以称为卡尔曼自适应滤波器。对于卡尔曼滤波器,目标信号可以是辅麦克风信号,参考信号可以是主麦克风信号,输出信号可以是辅麦克风噪声信号。在一种实现方式中,卡尔曼滤波器直接通过滤波因子误差的协方差矩阵来改变步长,相当于步长自动变化,并且不需要手动改变步长,从而使卡尔曼滤波器具有良好的收敛性能。

步骤203:通过动态噪声频谱映射将所述辅麦克风噪声信号映射到所述主麦克风信号,获得所述主麦克风信号的主麦克风噪声频谱。

在本申请实施例中,当从辅麦克风信号中估计出辅麦克风噪声信号之后,终端设备可以采用动态噪声频谱映射的方式将辅麦克风噪声信号动态映射到主麦克风信号,以估计主麦克风信号的主麦克风噪声频谱。在一种实现方式中,可以根据主麦克风信号、主麦克风信号的先验全局静音概率和辅麦克风噪声信号计算主麦克风信号的动态补偿系数;然后,可以根据主麦克风信号的动态补偿系数和辅麦克风噪声信号估计主麦克风信号的主麦克风噪声频谱。

步骤204:至少根据所述主麦克风信号的主麦克风噪声频谱计算所述主麦克风信号的降噪增益,并输出降噪后的主语音信号。

在本申请实施例中,当估计出所述主麦克风信号的主麦克风噪声频谱之后,终端设备可以通过所述主麦克风信号的主麦克风噪声频谱计算主麦克风信号的降噪增益。在一种实现方式中,可以针对主麦克风信号多次计算降噪增益,获得最终增益并输出降噪后的主语音信号。

在一种实现方式中,可以通过合并主麦克风信号的主麦克风噪声频谱和主麦克风信号的单麦克风噪声频谱获得主麦克风信号的总噪声频谱;然后,可以根据主麦克风信号的总噪声频谱针对主麦克风信号多次计算降噪增益,从而可以更加准确地实时估计主麦克风信号中的非稳态噪声。

本申请的多麦克风降噪方法可以基于谐波检测和卡尔曼自适应滤波器来实现,不需要依赖ild信息并且不需要预先知道目标语音的方向,因此,可以应用于手持模式和免提模式下目标声源相对于终端设备的位置快速变化的场景,从而提高了语音保护能力。此外,当目标声源相对于终端设备的位置不发生改变时,可以抑制散射场的稳态噪声和非稳态噪声,并且可以实现非常好的语音保护能力。因此,该方法可以应用于手持模式和免提模式,在两种模式下实现了相近的降噪效果,提高了模式切换过程中呼叫主观体验的一致性。

图3是本申请实施例提供的多麦克风降噪方法的示意图。首先,对主麦克风信号进行谐波检测,获得准确的频点vad标识信息,其用于控制卡尔曼自适应滤波器的更新。卡尔曼自适应滤波器的目标信号是辅麦克风信号,而参考信号是主麦克风信号。当频点vad标识信息的值为1时,可以更新自适应滤波系数。当频点vad标识信息的值为0时,暂停更新自适应滤波器。在本步骤中,可以通过卡尔曼自适应滤波器自适应地从辅麦克风信号中滤除目标语音信号。在手持模式中,所述目标语音信号可以是单个目标语音;而在免提会议模式中,所述目标语音信号可以是多个目标语音。将卡尔曼自适应滤波器输出的辅麦克风噪声信号作为噪声频谱估计的参考分量,并通过动态噪声频谱映射的方式映射到主麦克风信号,获得主麦克风信号的主麦克风噪声频谱,再将其与主麦克风信号的单麦克风噪声频谱合并得到主麦克风信号的总噪声频谱估计。然后,可以根据总噪声频谱信息多次计算降噪增益,获得最终增益,从而能够输出降噪后的主语音信号。

根据本申请的一些实施例,在步骤201中,所述对主麦克风信号进行谐波检测,获得频点vad标识信息可以包括:通过谐波模型和状态转移概率矩阵获得所述频点vad标识信息,其中,所述谐波模型用于检测倒频谱域上的语音谐波特性,所述频点vad标识信息为用于指示所述主麦克风信号中是否存在语音谐波的布尔值。

进一步地,根据本申请的一些实施例,所述通过谐波模型和状态转移概率矩阵获得所述频点vad标识信息可以包括:

步骤2011:根据语音数据库训练谐波模型。

步骤2012:通过所述谐波模型和状态转移概率矩阵获得所述主麦克风信号的语音状态信息,其中,所述语音状态信息包括每个频点对应的浊音状态、清音状态或静音状态。

步骤2013:根据所述语音状态信息计算倒频谱激励矢量。

步骤2014:根据所述倒频谱激励矢量和所述谐波模型对所述主麦克风信号进行谐波选择,确定所述主麦克风信号中是否存在语音谐波,并输出所述频点vad标识信息。

终端设备可以对主麦克风信号进行上述谐波检测过程。在步骤2011中,用于训练谐波模型的语音数据库,例如,可以是timit语音数据库。所述timit语音数据库存储有准确的语音维度,因此可以应用于语音分段性能评估。另外,所述数据库包含了大量说话者的语音,因此可以用于评估某个说话者的语音。timit所述语音数据库可以用于训练倒频谱域中的语音的谐波模型,训练得到的谐波模型可以通过谐波掩蔽系数矩阵来表示。谐波模型可以用于检测倒频谱域中的语音谐波特性,并且可以通过高斯混合隐马尔可夫模型等来训练。需要说明的是,本申请对具体的训练方法不作限定。本申请的谐波模型可以表示每个频点对应的语音和能量之间的关系,其可以被视为幅度和频率响应的分布曲线并且可以通过谐波掩蔽系数矩阵来表示。在步骤2012中,可以通过谐波模型和状态转移概率矩阵获得主麦克风信号的语音状态信息。可以假设,输入主麦克风信号的每一帧都可以位于m+1个范围中的一个范围。例如,“m”个范围指的是信号的基音所在的m个频率范围(在倒频谱域上表示),而“1”个范围指的是清音或静音段。在本步骤中,可以设计状态转移概率矩阵(例如,(m+1)×(m+1))以区分不同频率(即倒频谱域上的不同周期)的语音状态的转移概率,其中,频点对应的语音状态可以是浊音状态、清音状态或静音状态。作为一个示例,对于70-500hz内的频率范围,如果当前帧的语音状态是浊音,则下一帧的语音状态为浊音的概率接近于1;对于2000-3000hz内的频率范围,如果当前帧的语音状态是浊音,则下一帧的语音状态为浊音的概率相对较小。图4示出了频率范围对应的状态转移概率的示意图。根据本申请的一些实施例,连续帧的浊音状态转移概率可以表示从基音周期q(t-1)转到基音周期q(t)的可能性。如果两个连续帧的基音周期比较接近,则转移概率较高;否则,转移概率较低。也就是说,状态转移概率矩阵可以表示不同周期之间基音转移的概率,并且状态转移概率矩阵,例如,可以为一个(m+1)×(m+1)矩阵。当设计好状态转移概率矩阵之后,可以结合谐波模型,通过状态转移概率矩阵获得主麦克风信号的语音状态信息。作为一个示例,首先根据最后一个帧的语音状态和状态转移概率矩阵确定每个频点的语音状态,然后通过谐波模型将其与相应频点的能量进行比较,从而确定主麦克风信号的每个频点的实际语音状态。在步骤2013中,可以根据语音状态信息计算倒频谱激励矢量。作为一个示例,当获得主麦克风信号的语音状态信息之后,相应地可以获得基音信息,进而可以根据基音信息计算倒频谱激励矢量。倒频谱激励矢量可以指示倒频谱域上的谐波信息分布。在步骤2014中,可以根据倒频谱激励矢量和谐波模型的谐波掩蔽系数矩阵进行谐波选择,以获得指示频点对应的语音谐波是否存在的布尔信息,并输出布尔信息作为频点vad标识信息。

在上述谐波检测过程中,可以在倒频谱域上训练语音谐波特性,并且可以计算出状态转移概率矩阵。利用语音的时频分布特性和所述状态转移概率矩阵,以及更多的维度来确定使用频点处是否存在语音,从而可以实现更高的准确度,更加准确地检测频点处是否存在语音。

根据本申请的一些实施例,在步骤202中,所述根据所述频点vad标识信息控制卡尔曼滤波器从辅麦克风信号中滤除目标语音信号,获得辅麦克风噪声信号可以包括:

步骤2021:通过将所述主麦克风信号作为参考信号获得残差信号,以使用卡尔曼滤波器自适应去除所述辅麦克风信号中的所述目标语音信号,其中,所述残差信号为所述辅麦克风噪声信号。

步骤2022:根据滤波因子误差的协方差矩阵计算所述残差信号的协方差矩阵。

步骤2023:根据所述残差信号的协方差矩阵计算卡尔曼增益。

步骤2024:根据所述频点vad标识信息确定是否需要更新所述卡尔曼滤波器。

步骤2025:当需要更新所述卡尔曼滤波器时,根据所述卡尔曼增益更新滤波因子。

步骤2026:根据所述更新后的滤波因子更新所述滤波因子误差的协方差矩阵。

终端设备可以对辅麦克风信号进行上述自适应滤波过程。下面将以辅麦克风信号的一个帧的自适应滤波过程作为示例进行描述。在步骤2021中,可以通过卡尔曼滤波器对主麦克风信号和辅麦克风信号进行自适应滤波,并且可以获得滤波后的残差信号(也称为滤波处理后的残差信号)。主麦克风信号包括语音信号,可以将主麦克风信号作为参考信号,从而在步骤202中通过卡尔曼滤波器去除辅麦克风信号中的语音信号。滤波后的残差信号为辅麦克风噪声信号。

在步骤2022中,残差信号的协方差矩阵可通过如下公式计算:

sk=hkpk-1|k-1hkt+rk;

其中,sk为残差信号的协方差矩阵,pk-1|k-1为滤波因子误差的协方差矩阵,hk为参考信号(例如,本实施例中的主麦克风信号),rk为噪声信号,其中k表示当前帧。

在步骤2023中,可以通过残差信号的协方差矩阵计算卡尔曼增益,且所述卡尔曼增益可通过如下公式计算:

kk=pk-1|k-1hktsk-1

其中,kk为卡尔曼增益,sk为残差信号的协方差矩阵,pk-1|k-1为滤波因子误差的协方差矩阵,hk为参考信号(例如,本实施例中的主麦克风信号)。

在步骤2024中,所述频点vad标识信息可以用于确定是否需要更新所述卡尔曼滤波器。在一种实现方式中,当频点vad标识信息的值为1时,可以确定需要更新卡尔曼滤波器;和/或,当频点vad标识信息的值为0时,可以确定需要暂停更新卡尔曼滤波器。

在步骤2025中,可以通过卡尔曼增益更新所述卡尔曼滤波因子,且所述卡尔曼滤波因子可通过如下公式计算:

xk|k=xk-1|k-1+kkyk;

其中,xk|k为更新后的卡尔曼滤波因子,xk-1|k-1为更新前的卡尔曼滤波因子,kk为卡尔曼增益,yk为滤波后的残差信号。

在步骤2026中,可以更新卡尔曼滤波因子误差的协方差矩阵,其可以作为下一帧的卡尔曼滤波因子。更新后的卡尔曼滤波因子误差的协方差矩阵可通过如下公式计算:

pk|k=(i-kkhk)pk-1|k-1+qk;

其中,pk|k为更新后的卡尔曼滤波因子误差的协方差矩阵,pk-1|k-1为更新前的滤波因子误差的协方差矩阵,kk为卡尔曼增益,hk为参考信号,qk为kkyk的方差期望值。

通过上述卡尔曼自适应滤波过程,可以基于谐波检测实现滤波因子更新。只滤除辅麦克风信号中的目标语音信号,同时保留辅麦克风噪声信号,使得动态映射后的噪声频谱估计可以更加准确。由于卡尔曼滤波器是根据通过谐波检测得到的频点布尔值更新的,从而可以提高滤除目标语音的能力,同时可以快速跟踪目标语音源的位置变化,以实现在任意方向上的拾音。此外,在获得准确的频点vad标识信息之后,终端设备可以通过频点vad标识信息来控制卡尔曼自适应滤波器的更新。举例来说,当频点vad标识信息的值为1时,表示主麦克风信号中存在语音信号,可以更新卡尔曼滤波因子;当频点vad标识信息的值为0时,表示主麦克风信号中不存在语音信号,可以暂停更新卡尔曼滤波器。也就是说,频点vad标识信息可以用于确定是否存在目标语音信号,并相应地控制卡尔曼滤波因子的更新,从而只有当存在目标语音信号的时候才更新卡尔曼滤波因子,实现了只滤除目标语音同时保留干扰噪声的目的。

根据本申请的一些实施例,在步骤202中根据所述频点vad标识信息控制卡尔曼滤波器从辅麦克风信号中滤除目标语音信号,获得辅麦克风噪声信号之后,所述方法还可以包括:

步骤2027:对所述辅麦克风噪声信号进行谐波检测。

步骤2028:当所述辅麦克风噪声信号中存在语音谐波时,加速更新所述卡尔曼滤波器。

为了提高自适应滤波效率,当辅麦克风噪声信号中仍存在语音谐波时,终端设备还可以加速更新卡尔曼滤波器。举例来说,终端设备可以检测步骤2021中获得的滤波后的残差信号中是否存在语音谐波,这可以通过谐波检测来实现。如果残差信号和主麦克风信号均存在语音谐波,则可以为残差信号的协方差矩阵设置一个最小值,即设置一个下限,并且可以加速更新卡尔曼滤波器。通过增加滤波器更新的步长,可以加快滤波因子的刷新速率;通过调整卡尔曼滤波器的相关参数,可以提高滤波器的更新速度。

在上述滤波器更新过程中,通过第一谐波检测过程中获得的布尔值控制滤波器更新,并通过第二谐波检测过程确定是否存在目标语音泄露以及对滤波器收敛进行加速,因此可以实现更强的滤除目标语音信号的能力,实现对于位置变化的良好的鲁棒性。

根据本申请的一些实施例,在步骤203中,所述通过动态噪声频谱映射将所述辅麦克风噪声信号映射到所述主麦克风信号,得到所述主麦克风信号的主麦克风噪声频谱可以包括:

步骤2031:根据所述主麦克风信号和所述辅麦克风信号计算所述主麦克风信号的先验全局静音概率。

步骤2032:根据所述主麦克风信号、所述主麦克风信号的先验全局静音概率和所述辅麦克风噪声信号计算所述主麦克风信号的动态补偿系数。

步骤2033:根据所述主麦克风信号的动态补偿系数和所述辅麦克风噪声信号计算所述主麦克风信号的主麦克风噪声频谱。

在步骤2031中,可以根据主麦克风信号和辅麦克风信号计算主麦克风信号的先验全局静音概率,并且该概率可以作为动态噪声频谱映射过程中静音时段的平滑系数。

可选地,可以通过卡尔曼滤波器滤除主麦克风信号中的相干噪声,获得相干抑制后的主麦克风信号(也称为相干抑制处理之后主麦克风信号)。从声场分布的角度可以将噪声分为散射噪声和相干噪声。终端设备可以通过卡尔曼滤波器对主麦克风信号和辅麦克风噪声信号进行自适应滤波,从而可以滤除主麦克风信号中的相干噪声,并且可以获得相干抑制后的主麦克风信号。也就是说,通过滤除相干噪声,可以实现主麦克风信号的相干抑制。需要说明的是,步骤2031和获得相干抑制后的主麦克风信号的步骤之间没有执行顺序的限制。

在步骤2032中,终端设备可以根据所述主麦克风信号(或可选的,所述相干抑制后的主麦克风信号)、所述主麦克风信号的先验全局静音概率和所述辅麦克风噪声信号计算所述主麦克风信号的动态补偿系数。可以持续更新主麦克风信号的动态补偿系数,例如,可以通过主麦克风信号(或可选的,所述相干抑制后的主麦克风信号)、先验全局静音概率以及从前一帧获得的辅麦克风噪声信号更新当前帧的动态补偿系数。例如,动态补偿系数可以为主麦克风平滑能量与辅麦克风平滑能量的比值。在步骤2033中,可以根据更新后的动态补偿系数和辅麦克风噪声信号计算主麦克风信号的主麦克风噪声频谱。

在上述动态噪声频谱映射过程中,由于主麦克风信号中包含目标语音信号,如果通过主麦克风信号直接估计噪声频谱,则会存在估计过高或估计过低的问题。因此,通过将去除语音后的辅麦克风信号(即,残差辅麦克风信号)映射到主麦克风信号并估计主麦克风噪声频谱,可以动态地计算主麦克风和辅麦克风的声学传递函数和频率响应差异,使得噪声频谱估计更加准确。

进一步地,根据本申请的一些实施例,在步骤2031中,所述根据所述主麦克风信号和所述辅麦克风信号计算所述主麦克风信号的先验全局静音概率可以包括:

步骤20311:根据主麦克风和辅麦克风之间的距离计算散射场的噪声的相干函数。

步骤20312:计算所述主麦克风信号和所述辅麦克风信号的复数相干函数。

步骤20313:根据所述散射场的噪声的相干函数和所述主麦克风信号的复数相干函数计算所述主麦克风信号的入射角参数。

步骤20314:根据所述入射角参数计算复数相干系数。

步骤20315:根据所述入射角参数和所述复数相干系数计算先验静音概率。

步骤20316:在时频域上对所述先验静音概率进行平滑处理,获得所述主麦克风信号的先验全局静音概率。

步骤20311至20316描述了基于复数相干函数计算先验全局静音概率的计算过程。在步骤20311中,可以根据主麦克风和辅麦克风之间的距离计算散射场的噪声的相干函数。步骤20311中的相干函数可以是基于理论假设的理想散射场的相干函数,其与具体信号无关而仅与麦克风之间的距离,频率和声速有关。在步骤20312中,可以计算两个麦克风信号的复数相干函数,并且可以获得实部和虚部。步骤20312中的复数相干函数可以是计算得到的两个麦克风上收集的信号之间的实际复数相干函数。在步骤20313中,可以根据上述信息计算语音的入射角参数。在步骤20314中,可以根据所述入射角参数计算复数相干系数。在步骤20315中,可以根据上述信息计算先验静音概率,然后在时频域上对其进行平滑处理以获得先验全局静音概率。该先验全局静音概率可以作为静音时段的平滑系数并用于动态噪声频谱映射,所述动态噪声频谱映射可以用于估计平滑处理后的主麦克风信号和辅麦克风信号的能量。

根据本申请的一些实施例,在步骤204中,所述至少根据所述主麦克风信号的主麦克风噪声频谱计算所述主麦克风信号的降噪增益,并输出降噪后的主语音信号可以包括:

步骤2041:获取所述主麦克风信号的单麦克风噪声频谱。

步骤2042:根据所述主麦克风信号的主麦克风噪声频谱和所述主麦克风信号的单麦克风噪声频谱,获得所述主麦克风信号的总噪声频谱。

步骤2043:根据所述主麦克风信号的总噪声频谱计算所述主麦克风信号的降噪增益,并输出所述降噪后的主语音信号。

根据本申请的一些实施例,在步骤2041中,所述获取所述主麦克风信号的单麦克风噪声频谱可以包括:

步骤20411:通过全局平滑处理计算所述主麦克风信号的后验全局信噪比(signal-to-noiseratio,snr),并通过局部平滑处理计算所述主麦克风信号的后验局部snr。

步骤20412:根据所述后验全局snr、所述后验局部snr和所述主麦克风信号的基音信息计算语音出现概率。

步骤20413:根据所述语音出现概率估计所述主麦克风信号的单麦克风噪声频谱。

图5是本申请实施例提供的一种增强的最小均方差(minimummeansquareerror,mmse)单麦克风噪声频谱估计算法的示意图。在步骤20411中,可以通过全局平滑处理计算主麦克风信号的后验全局snr,并可以通过局部平滑处理计算主麦克风信号的后验局部snr,如图5所示。其中,γ是后验snr,是后验全局snr,是后验局部snr,y是语音和噪声的当前混合信号的短时傅里叶变换的复数系数,表示噪声的功率谱密度估计。在步骤20412中,可以根据所述后验全局snr、所述后验局部snr和所述主麦克风信号的基音信息计算语音出现概率。举例来说,如图5所示,可以根据后验全局snr计算全局似然比λglobak,可以根据后验局部snr计算局部似然比λlocal,并且可以基于后验全局snr、后验局部snr、全局似然比和局部似然比计算语音出现概率spp,其中,k1和k2为常数。然后,可以对语音出现概率进行平滑处理和滞后保护。同时,可以通过基音检测获得主麦克风信号的基音信息,并且可以通过倒频谱基音阈值tpitch来实现语音出现概率基音保护,其中,qpitch表示基音可以分布的倒频谱周期范围,q为当前倒频谱周期。在步骤20413中,可以根据所述语音出现概率估计所述主麦克风信号的单麦克风噪声频谱。举例来说,可以根据语音出现概率估计瞬态噪声频谱然后可以基于瞬态噪声频谱估计最终噪声频谱,如图5所示。

在上述增强的mmse单麦克风噪声频谱估计算法中,可以通过语音出现概率实时更新噪声频谱,避免了时间窗的选择,从而实现了实时噪声跟踪。此外,为了更加准确地估计语音出现概率,并克服语音和噪声的短时波动,采用全局平滑处理和局部平滑处理来计算后验snr,从而噪声估计(尤其是对于非稳态噪声)可以更加准确。

在步骤2042中,可以根据所述主麦克风信号的主麦克风噪声频谱和所述主麦克风信号的单麦克风噪声频谱,获得所述主麦克风信号的总噪声频谱。终端设备可以将主麦克风信号的主麦克风噪声频谱和主麦克风信号的单麦克风噪声频谱进行叠加获得主麦克风信号的总噪声频谱。在一种实现方式中,终端设备可以通过调整总噪声频谱中的主麦克风噪声频谱和单麦克风噪声频谱的比例系数来控制降噪程度。根据本申请,通过合并主麦克风噪声频谱和单麦克风噪声频谱并计算总噪声频谱,可以更加准确地实时估计主麦克风信号中的非稳态噪声。

根据本申请的一些实施例,在步骤2043中,所述根据所述主麦克风信号的总噪声频谱计算所述主麦克风信号的降噪增益,并输出所述降噪后的主语音信号可以包括:根据所述主麦克风信号的总噪声频谱多次计算所述主麦克风信号的降噪增益,并输出所述降噪后的主语音信号。

进一步地,根据本申请的一些实施例,所述根据所述主麦克风信号的总噪声频谱多次计算所述主麦克风信号的降噪增益,并输出所述降噪后的主语音信号可以包括:

步骤20431:根据所述主麦克风信号和所述主麦克风信号的总噪声频谱计算所述主麦克风信号的先验snr。

步骤20432:根据所述主麦克风信号的先验snr计算所述主麦克风信号的初始增益,获得初始增益结果。

步骤20433:根据所述初始增益结果对所述主麦克风信号进行谐波增强,获得谐波增强后的主麦克风信号。

步骤20434:计算所述谐波增强后的主麦克风信号的二级增益,获得二级增益结果。

步骤20435:对所述二级增益结果进行倒频谱平滑处理,获得倒频谱平滑处理后的主麦克风信号。

步骤20436:当基音分布范围内的所述倒频谱平滑处理后的主麦克风信号的幅度大于预设阈值时,对所述倒频谱平滑处理后的主麦克风信号进行谐波替换,获得谐波替换后的主麦克风信号。

步骤20437:对所述谐波替换后的主麦克风信号逆变换到频域,获得平滑处理后的snr。

步骤20438:根据所述平滑处理后的snr计算所述主麦克风信号的降噪增益,并输出所述降噪后的主语音信号。

步骤20431至20438描述了多次进行降噪增益计算的过程。在步骤20431,终端设备可以根据所述主麦克风信号和所述主麦克风信号的总噪声频谱计算所述主麦克风信号的先验snr。需要说明的是,终端设备也可以根据相干抑制后的主麦克风信号和主麦克风信号的总噪声频谱计算主麦克风信号的先验snr,上文已经对获取相干抑制后的主麦克风信号的过程进行了描述,此处不再赘述。例如,可以采用定向决策(decisiondirected,dd)方法计算先验snr,并且可以通过计算信号与噪声的能量比来获得先验snr(以db为单位),取其对数并将对数乘以10。在步骤20432中,当计算出先验snr之后,例如,可以通过维纳滤波器(wienerfilter)计算初始增益,并且可以执行增益使能过程,获得初始增益结果,其也可以称为初始降噪后的信号。在步骤20434中,可以计算谐波增强后的主麦克风信号的二级增益,获得二级增益结果,其也可以被称为二级降噪后的信号。在步骤20436中,谐波替换可用于保存语音的谐波结构。示例性地,倒频谱平滑处理的结果可以用于特定频率范围(例如,共振峰范围),该结果包括谐波分量的增强;而对于其他频率范围(例如,泛音范围),可以直接使用没有增强的倒频谱平滑处理的结果,并且可以将两者拼接以获得最终结果。在这些步骤中,可以通过对初始先验snr进行倒频谱平滑处理来计算倒频谱平滑处理后的snr,所述倒频谱平滑处理可以是对估计的先验snr的平滑处理,其中,估计的先验snr是用于计算降噪增益的最重要的参数。在这些步骤中,先验snr的计算、初始增益的计算、谐波增强、二级增益的计算、倒频谱平滑处理以及最终增益的计算可以视为整体降噪增益计算过程。通过多次降噪增益计算,可以实现对主麦克风信号的降噪处理,并且可以最终输出降噪后的主语音信号。

根据本申请的倒频谱平滑处理过程,可以实现倒频谱平滑处理和谐波检测的协同使用。可以使用谐波检测中的基音计算结果并与基于倒频谱基音阈值的确定过程相结合,且可以通过谐波选择来滤除干扰频点。然而,传统的方法仅采用基于倒频谱基音阈值的确定过程,容易受到类似语音的噪声的干扰,并且语音和噪声的区分程度的准确性相对较低。因此,与传统的倒频谱平滑处理方法相比,可以为目标语音信号提供更好的保护,并且噪声残差可以更加平稳。

根据本申请的一些实施例,在步骤20435,所述对所述二级增益结果进行倒频谱平滑处理,获得倒频谱平滑处理后的主麦克风信号之前,所述方法还可以包括:根据所述主麦克风信号的主麦克风噪声频谱和所述主麦克风信号的基音信息进行谐波选择,获得谐波选择结果;根据所述谐波选择结果确定所述二级增益结果中是否存在语音谐波;当所述二级增益结果中不存在语音谐波时,将所述倒频谱平滑处理期间需要检测的基音信息设置为0。在本申请提供的上述实施例中,谐波选择可以是谐波检测的子过程。通过谐波检测获得的噪声频谱信息和基音信息可以用于确定当前帧中是否存在谐波,如果没有谐波,则通过将倒频谱平滑处理中的基音设置为0来进一步引导倒频谱平滑处理和更新。示例性地,在存在基音而不存在谐波的情况下,可能表示残差噪声仍然存在,则可以将基音的值设置为0,由此避免了非稳态噪声存在的情况下倒频谱平滑处理中的基音检测误差,可以实现对基音检测的双重判断,并提高基音检测的准确性。

图6是本申请实施例提供的一种具体场景下的多麦克风降噪方法中的倒频谱平滑处理过程的示意图。首先,可以对二级降噪后的信号进行倒频谱傅里叶变换,将二级降噪后的信号转换到倒频谱域,并且可以根据噪声频谱信息和基音信息进行谐波选择,获得谐波选择结果。可以根据谐波选择结果确定噪声频谱中是否存在语音谐波,如果不存在谐波,则可以将倒频谱平滑处理期间需要检测的基音信息设置为0。然后,可以对二级降噪后的变换的信号进行倒频谱平滑处理,并且可以确定基音分布范围内的倒频谱平滑处理后的主麦克风信号的幅度是否大于预设阈值。当基音分布范围内的倒频谱平滑处理后的主麦克风信号的幅度大于预设阈值时,将相应的平滑处理后的位置(即对应于某个倒频谱周期)替换为原始值,获得谐波替换后的主麦克风信号。所述相应的平滑处理后的位置指的是倒频谱域对应的位置,倒频谱域对应的位置可以理解为信号的不同周期。原始值是指未经平滑处理的当前值。最后,可以对谐波替换后的主麦克风信号逆变换到频域,获得平滑处理后的snr,然后将其用于计算最终的降噪增益。

从上述方案可以看出,多麦克风降噪可以基于卡尔曼自适应滤波器来实现,不需要依赖ild信息并且具有很强的滤除目标语音信号的能力。因此,本申请提供的多麦克风降噪方法对位置变化、各种噪声和应用场景具有良好的鲁棒性。所述方法还具有改进的语音保护能力,可以应用于手持模式和免提模式,在两种模式下实现了相近的降噪效果,提高了模式切换过程中呼叫主观体验的一致性。此外,根据主麦克风信号的主麦克风噪声频谱和主麦克风信号的单麦克风噪声频谱获得主麦克风信号的总噪声频谱,并根据主麦克风信号的总噪声频谱计算主麦克风信号的降噪增益,从而可以克服语音和噪声的短时波动,使噪声估计更加准确,可以减少噪声残差和语音损伤,可以改善语音降噪的效果。

为了更好地理解和实施本申请实施例的方案,下面将结合以下具体应用场景来描述本申请的方案。

图7是本申请实施例提供的一种具体场景下的多麦克风降噪方法的示意图。所述多麦克风降噪方法可以由终端设备执行,例如,图1所示的第一或第二终端设备。所述方法可包括:

步骤601:对主麦克风时域信号和辅麦克风时域信号进行加窗傅里叶变换,获得主麦克风信号和辅麦克风信号。

步骤602:对主麦克风时频信号进行单麦克风噪声频谱估计,获得单麦克风噪声频谱。

步骤603:对主麦克风信号进行谐波检测,获得频点vad标识信息。

步骤604:根据所述频点vad标识信息自适应滤除所述辅麦克风信号中的目标语音,获得滤波后的辅麦克风信号(也称为滤波处理后的辅麦克风信号)。

步骤605:对所述滤波后的辅麦克风信号进行谐波检测,并通过所述频点vad标识信息加速滤波器。

步骤606:基于复数相干函数对所述主麦克风信号和所述辅麦克风信号进行全局静音概率计算,并输出全局静音概率。

步骤607:自适应滤除所述主麦克风信号中的相干噪声,并输出相干抑制后的主麦克风信号。

步骤608:根据所述相干抑制后的主麦克风信号、全局静音概率、滤波后的辅麦克风信号以及二级降噪后的信号,计算下一帧中使用的动态补偿系数。

步骤609:通过辅麦克风信号、动态补偿系数和单麦克风噪声频谱计算总噪声频谱。

步骤610:根据所述相干抑制后的主麦克风信号和所述主麦克风信号的总噪声频谱计算所述主麦克风信号的先验snr。在本申请的一种实现方式中,可以根据所述相干抑制后的主麦克风信号和所述主麦克风信号的总噪声频谱计算先验snr平滑系数,然后可以根据所述先验snr平滑系数计算先验snr。

步骤611:根据所述主麦克风信号的先验snr计算所述主麦克风信号的初始增益,获得初始增益结果。

步骤612:根据所述初始增益结果对所述主麦克风信号进行谐波增强,获得谐波增强后的主麦克风信号。

步骤613:计算所述谐波增强后的主麦克风信号的二级增益,获得二级增益结果。

步骤614:对所述二级增益结果进行倒频谱平滑处理,获得倒频谱平滑处理后的主麦克风信号。

步骤615:当基音分布范围内的所述倒频谱平滑处理后的主麦克风信号的幅度大于预设阈值时,对所述倒频谱平滑处理后的主麦克风信号进行谐波替换,获得谐波替换后的主麦克风信号。

步骤616:对所述谐波替换后的主麦克风信号逆变换到频域,获得平滑处理后的snr。

步骤617:根据所述平滑处理后的snr计算所述主麦克风信号的降噪增益,并输出所述降噪后的主语音信号。

这些步骤的具体过程或实现与前述实施例中描述的相似,此处不再赘述。

图8是本申请实施例提供的另一种具体场景下的多麦克风降噪方法的示意图。图8所示的实施例类似于图7所示的实施例,主要区别在于图8所示的实施例中引入了用于呼叫角度控制的主(例如,底部)麦克风和辅(例如,顶部)麦克风的ild信息。

图9是本申请实施例提供的一种基于ild信息的多麦克风降噪方法的应用场景的示意图。作为一个示例,底部麦克风和顶部麦克风之间的间隔可以约为12厘米。在手持模式下,底部麦克风到说话者嘴巴的距离可以约为5厘米。由于语音近场传播具有声压快速降低的特征,因此底部麦克风收集的语音能量远大于顶部麦克风收集的语音能量。两个能量之间的差通常被称为耳间强度差(interauralleveldifference,ild),其值通常在6db和15db之间。假设噪声处于远场中,则两个麦克风接收到的噪声能量基本接近。因此,可以利用这一特性来区分语音段和噪声段,从而实现噪声抑制处理。由于两个麦克风处的噪声能量的能量分布与噪声平稳度无关,因此该方法对非稳态噪声也可以实现较强的抑制效果。

基于ild信息的多麦克风降噪方法主要可以用于手持模式。如图8所示,呼叫角度控制基于帧ild的计算,然后进行基于ild的固定阈值的确定过程,以确定是否需要更新卡尔曼滤波因子,从而控制通话的拾取角度。辅麦克风信号的目标语音仅在一定角度范围内会被滤除,而在ild的阈值范围之外的语音信号则被视为干扰且不会被滤除,并且最终作为噪声而被抑制,从而更好地抑制背景人声和音乐干扰。使用ild信息可以在拾取区域中实现更好的降噪效果。

现有的基于ild的双麦克风降噪方法面临若干困难。首先,由于该方法依赖ild信息,而ild信息随着手机的相对位置的改变而改变,如果使用固定的ild阈值,则将导致语音段的误判,造成语音损伤。即使采用动态的ild阈值,当手机的底部麦克风相对于说话者嘴巴的距离与顶部麦克风相对于说话者嘴巴的距离相同时,ild接近于0。此时,无法区分两个麦克风中的语音和噪声信息,必须使用单麦克风降噪方法。因此,当采用动态的ild阈值时,降噪效果会降为单麦克风降噪方法的降噪效果;当采用固定的ild阈值时,则会造成严重的语音损伤。另外,当目标语音的能量相对较小时,语音混合能量则不能反映两个麦克风之间明显的区分程度,因此也会造成噪声残差或语音损伤。

然而,根据本申请实施例中基于ild信息的多麦克风降噪方法,终端设备可以进行呼叫角度控制,并基于麦克风能量比来控制谐波检测结果。采用帧平滑能量比和基于阈值的确定过程,然后将其用于控制谐波检测的频点vad结果,从而精确地在帧级别上控制是否更新滤波器,从而控制噪声频谱估计的程度。如果通过能量比直接控制是否更新噪声,则当主麦克风噪声大于辅麦克风噪声时,降噪之后的噪声中将出现残差。然而,当采用谐波检测之后,则不会检测到谐波,并且仍然动态地更新噪声谱。噪声残差问题可以大大改善。本实施例的方法可以支持特定角度范围内的呼叫,并且可以通过设置单个参数来支持角度范围的改变。

根据本申请的一些实施例,在又一种应用场景中,图7所述的多麦克风降噪方法也可以结合麦克风阵列波束成形技术来实现。

图10是一种麦克风阵列波束成形技术的示意图,其中,是语音信号,表示信道条件,xn(e)是麦克风信号,是滤波因子。在本实施例中,利用来自多个麦克风的信号的空间特性来形成波束以指向目标语音的方向,通过特定的噪声场模型或实际的噪声场模型来进行滤波计算,并通过滤波输出的方式获得波束成形后的信号

在现有的降噪方法中,可以在上述波束成形过程之后执行单麦克风降噪处理。这种基于波束成形的多麦克风降噪算法面临若干困难。首先,波束成形过程需要获取目标语音的方位信息。当手机处于免提模式时,用户相对于手机的位置通常会发生变化,因此必须经常调整波束方向。当出现多个干扰源时,波束可能会指向错误的方向,造成严重的语音损伤。其次,波束成形对麦克风的布放位置和数量具有相对高的要求,然而手机包括的麦克风数量相对较少,且大多数手机仅包括两个麦克风。因此,波束成形过程产生的增益效应并不明显。另外,如果采用固定方向的波束成形技术,则目标语音仅能够在波束中形成语音增强的正增益。在低信噪比(signal-to-noiseratio,snr)和混响场景中,声源定位可能具有较大的偏差,从而导致语音损伤。在手机上使用的固定波束方法中,通常假定目标语音处在手机水平面的方向上,因此该方法通常不具有在任何方向上的拾音能力。此外,从算法原理的角度来看,波束成形需要特定的噪声场模型或动态估计噪声场模型。当采用特定的噪声场模型时,如果实际噪声场与假设中的噪声场不一致,则波束成形效应将会下降。当采用动态估计噪声场模型时,需要准确地估计噪声谱。然而,很难对非稳态噪声进行准确估计,因此波束成形效果同样会下降,导致噪声残差或语音损伤。

然而,根据本申请的一些实施例,在上述波束成形过程之后,还可以执行如图7所述的多麦克风降噪方法,从而可以获得对位置变化、各种噪声和应用场景的良好鲁棒性。在一种实现方式中,上述波束成形过程可以作为前端处理。上述波束成形处理之后产生的信号可以作为在前述实施例中的主麦克风信号,而麦克风阵列拾取的特定信号路径可以作为辅麦克风信号。其他具体过程或实现方式与前述实施例中描述的过程或实现方式类似,此处不再赘述。

需要说明的是,为了描述的简洁,前述方法实施例被描述为一系列动作的组合。然而,本领域技术人员应当理解,本申请不限于所描述的动作顺序,其中一些步骤可以根据本申请按照其他顺序执行或者同时执行。此外,本领域技术人员还应当了解,上述实施例中涉及的动作(或模块)不一定是本申请所必需的动作(或模块)。

为了更好地实现本申请实施例的上述方案,以下提供了用于实现本申请方案的相关装置。

图11是本申请一实施例提供的多麦克风降噪装置的结构示意图。如图11所示,所述装置1100可以包括:

第一谐波检测模块1101,用于对主麦克风信号进行谐波检测,获得频点静音检测(voiceactivitydetection,vad)标识信息;

滤波控制模块1102,用于根据所述频点vad标识信息控制卡尔曼滤波器从辅麦克风信号中滤除目标语音信号,获得辅麦克风噪声信号;

映射模块1103,用于通过动态噪声频谱映射将所述辅麦克风噪声信号映射到所述主麦克风信号,获得所述主麦克风信号的主麦克风噪声频谱;

增益计算模块1104,用于至少根据所述主麦克风信号的主麦克风噪声频谱计算所述主麦克风信号的降噪增益;

输出模块1105,用于输出降噪后的主语音信号。

根据一些实施例,所述第一谐波检测模块1101可以具体用于,通过谐波模型和状态转移概率矩阵获得所述频点vad标识信息,其中,所述谐波模型用于检测倒频谱域上的语音谐波特性,所述频点vad标识信息为用于指示所述主麦克风信号中是否存在语音谐波的布尔值。

图12是本申请实施例提供的第一谐波检测模块的结构示意图。如图12所示,所述第一谐波检测模块1101可以包括:

训练单元11011,用于根据语音数据库训练所述谐波模型;

第一获取单元11012,用于通过所述谐波模型和状态转移概率矩阵获得所述主麦克风信号的语音状态信息,其中,所述语音状态信息包括每个频点对应的浊音状态、清音状态或静音状态;

第一计算单元11013,用于根据所述语音状态信息计算倒频谱激励矢量;

谐波选择单元11014,用于根据所述倒频谱激励矢量和所述谐波模型对所述主麦克风信号进行谐波选择,确定所述主麦克风信号中是否存在语音谐波,并输出所述频点vad标识信息。

图13是本申请实施例提供的第一滤波控制模块的结构示意图。如图13所示,所述滤波控制模块1102可以包括:

滤波单元11021,用于通过将所述主麦克风信号作为参考信号获得残差信号,以使用卡尔曼滤波器自适应去除所述辅麦克风信号中的所述目标语音信号,其中,所述残差信号为所述辅麦克风噪声信号;

第二计算单元11022,用于根据滤波因子误差的协方差矩阵计算所述残差信号的协方差矩阵,并根据所述残差信号的协方差矩阵计算卡尔曼增益;

确定单元11023,用于根据所述频点vad标识信息确定是否需要更新所述卡尔曼滤波器;

更新单元11024,用于当需要更新所述卡尔曼滤波器时,根据所述卡尔曼增益更新滤波因子,并根据所述更新后的滤波因子更新所述滤波因子误差的协方差矩阵。

根据一些实施例,所述确定单元11023可以具体用于:当所述频点vad标识信息的值为1时,确定需要更新卡尔曼滤波器;和/或当所述频点vad标识信息的值为0时,确定需要暂停更新卡尔曼滤波器。

图14是本申请另一实施例提供的多麦克风降噪装置的结构示意图。如图14所示,所述装置还可以包括:

第二谐波检测模块1106,用于对所述辅麦克风噪声信号进行谐波检测;

加速模块1107,用于当所述辅麦克风噪声信号中存在语音谐波时,加速更新所述卡尔曼滤波器。

图15是本申请实施例提供的映射模块的结构示意图。如图15所示,所述映射模块1103可以包括:

第三计算单元11031,用于根据所述主麦克风信号和所述辅麦克风信号计算所述主麦克风信号的先验全局静音概率;根据所述主麦克风信号、所述主麦克风信号的先验全局静音概率和所述辅麦克风噪声信号计算所述主麦克风信号的动态补偿系数;并根据所述主麦克风信号的动态补偿系数和所述辅麦克风噪声信号计算所述主麦克风信号的主麦克风噪声频谱。

根据一些实施例,所述第三计算单元11031可以具体用于:根据主麦克风和辅麦克风之间的距离计算散射场的噪声的相干函数;计算所述主麦克风信号和所述辅麦克风信号的复数相干函数;根据所述散射场的噪声的相干函数和所述主麦克风信号的复数相干函数计算所述主麦克风信号的入射角参数;根据所述入射角参数计算复数相干系数;根据所述入射角参数和所述复数相干系数计算先验静音概率;在时频域上对所述先验静音概率进行平滑处理,获得所述主麦克风信号的先验全局静音概率。

图16是本申请实施例提供的增益计算模块的结构示意图。如图16所示,所述增益计算模块1104可以包括:

第二获取单元11041,用于获取所述主麦克风信号的单麦克风噪声频谱;根据所述主麦克风信号的主麦克风噪声频谱和所述主麦克风信号的单麦克风噪声频谱,获得所述主麦克风信号的总噪声频谱;

第四计算单元11042,用于根据所述主麦克风信号的总噪声频谱计算所述主麦克风信号的降噪增益。

根据本申请一些实施例,所述第四计算单元11042可以具体用于根据所述主麦克风信号的总噪声频谱多次计算所述主麦克风信号的降噪增益,并输出所述降噪后的主语音信号。

根据一些实施例,所述第四计算单元11042可以具体用于:根据所述主麦克风信号和所述主麦克风信号的总噪声频谱计算所述主麦克风信号的先验信噪比(signal-to-noiseratio,snr);根据所述主麦克风信号的先验snr计算所述主麦克风信号的初始增益,获得初始增益结果;根据所述初始增益结果对所述主麦克风信号进行谐波增强,获得谐波增强后的主麦克风信号;计算所述谐波增强后的主麦克风信号的二级增益,获得二级增益结果;对所述二级增益结果进行倒频谱平滑处理,获得倒频谱平滑处理后的主麦克风信号;当基音分布范围内的所述倒频谱平滑处理后的主麦克风信号的幅度大于预设阈值时,对所述倒频谱平滑处理后的主麦克风信号进行谐波替换,获得谐波替换后的主麦克风信号;对所述谐波替换后的主麦克风信号逆变换到频域,获得平滑处理后的snr;根据所述平滑处理后的snr计算所述主麦克风信号的降噪增益。

根据一些实施例,所述第四计算单元11042还可以用于:根据所述主麦克风信号的主麦克风噪声频谱和所述主麦克风信号的基音信息进行谐波选择,获得谐波选择结果;根据所述谐波选择结果确定所述二级增益结果中是否存在语音谐波;当所述二级增益结果中不存在语音谐波时,将所述倒频谱平滑处理期间需要检测的基音信息设置为0。

根据一些实施例,所述第二获取单元11041可以具体用于:通过全局平滑处理计算所述主麦克风信号的后验全局snr,并通过局部平滑处理计算所述主麦克风信号的后验局部snr;根据所述后验全局snr、所述后验局部snr和所述主麦克风信号的基音信息计算语音出现概率;根据所述语音出现概率估计所述主麦克风信号的单麦克风噪声频谱。

在一些实施例中,如图14所示,所述装置还可以包括:

耳间强度差(interauralleveldifference,ild)计算模块1108,用于计算主麦克风和辅麦克风之间的ild信息;

呼叫角度控制模块,用于根据所述ild信息和频点vad标识信息控制所述主麦克风信号的呼叫角度。

通过本申请实施例提供的多麦克风降噪装置,多麦克风降噪可以基于卡尔曼自适应滤波器来实现,不需要依赖ild信息并且具有很强的滤除目标语音信号的能力。因此,本申请提供的多麦克风降噪装置对位置变化、各种噪声和应用场景具有良好的鲁棒性。所述装置还具有改进的语音保护能力,可以应用于手持模式和免提模式,在两种模式下实现了相近的降噪效果,提高了模式切换过程中呼叫主观体验的一致性。

图17是本申请实施例提供的终端设备的结构示意图。如图17所示,所述终端设备1700可以包括:发送器1701、接收器1702、处理器1703、存储器1704、主麦克风1705和辅麦克风1706,其中,所述存储器1704存储有程序指令,当所述程序指令由所述处理器1703执行时,使得所述处理器1703执行上述实施例中任一所述的方法。

在本申请的一些实施例中,发送器1701、接收器1702、处理器1703、存储器1704、主麦克风1705和辅麦克风1706可以通过总线或其他方式连接,此处不作限定。

存储器1704可以包括只读存储器和随机存取存储器,并且可以向处理器1703提供指令和数据。存储器1704可以存储操作系统和操作指令、可执行模块或数据结构,或者它们的子集或扩展集。操作指令可以包括用于实现各种操作的各种操作指令。操作系统可以包括用于实现各种基本服务以及处理基于硬件的任务的各种系统程序。

处理器1703控制多麦克风降噪装置的操作。处理器1703也可以称为中央处理单元(centralprocessingunit,cpu)。在具体应用中,多麦克风降噪装置的组件可以通过总线系统耦合,除了数据总线之外,总线系统还可以包括电源总线、控制总线、状态信号总线等。

本申请前述实施例中公开的方法可以应用于处理器1703,或者由处理器1703实现。处理器1703可以是具有信号处理能力的集成电路芯片。在实现过程中,上述方法的各步骤可以通过处理器1703中的硬件的集成逻辑电路或软件中的指令来实现。处理器1703可以是通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(application-specificintegratedcircuit,asic)、现场可编程门阵列(fieldprogrammablegatearray,fpga)或其他可编程逻辑器件、离散门或晶体管逻辑器件、分立硬件组件。可以实现本申请实施例中公开的方法、步骤和逻辑块。通用处理器可以是微处理器,或者处理器也可以是任意传统处理器等。

发送器1701可以包括显示屏等显示设备,并且发送器1701可用于通过外部接口输出数字或字符信息。接收器1702可以用于接收输入的数字或字符信息并生成与设置和功能控制相关的信号输入。

本领域技术人员可以清楚地了解到,为了描述的方便和简洁,可以从方法实施例的相应过程中毫不费力地推导出上述装置和终端设备的详细工作过程,此处不再赘述。

根据一些实施例,本申请还提供了一种计算机可读存储介质,包括非瞬时性计算机程序指令,当所述非瞬时性计算机程序指令由处理器执行时,使得所述处理器执行上述实施例中任一所述的方法。

根据一些实施例,本申请还提供了一种计算机程序产品,包括非瞬时性计算机程序指令,当所述非瞬时性计算机程序指令由处理器执行时,使得所述处理器执行上述实施例中任一所述的方法。

根据一些实施例,本申请还提供了一种计算机程序,包括程序代码,当所述程序代码由处理器执行时,使得所述处理器执行上述实施例中任一所述的方法。

本文所公开的实施例可以仅通过硬件或软件或其组合来实现。基于这样的理解,所述技术方案可以以软件产品的形式体现。软件产品可以存储在非易失性或非瞬时性存储介质中,非易失性或非瞬时性存储介质可以是只读光盘(compactdiskread-onlymemory,cd-rom)、usb闪存盘或移动硬盘。软件产品包括能够使计算机设备(个人计算机、服务器或网络设备)执行实施例中提供的方法的多个指令。

程序代码可以用于输入数据以执行本文描述的功能并生成输出信息。所述输出信息用于一个或多个输出设备。在一些实施例中,通信接口可以是网络通信接口。在组合元件的实施例中,通信接口可以是软件通信接口,例如,用于进程间通信的接口。在另一些实施例中,可以存在实现为硬件、软件及其组合的通信接口的组合。

各计算机程序可以存储在存储介质或设备(例如,rom、磁盘、光盘)上,可由通用或专用可编程计算机读取,用于当计算机读取所述存储介质或设备时配置和操作计算机,以执行本文描述的过程。所述系统的实施例还可以看作实现为配置有计算机程序的非瞬时性计算机可读存储介质,其中,如此配置的存储介质使得计算机按照特定和预定义的方式工作,以执行本文所描述的功能。

此外,所描述的实施例的系统和方法能够分布在包括物理的非瞬时性计算机可读介质计算机程序产品中,该计算机可读介质承载用于一个或多个处理器的计算机可用指令。该介质可以为各种形式,包括一个或多个磁盘、光盘、磁带、芯片、磁性和电子存储介质、易失性存储器、非易失性存储器等。非瞬时性计算机可读介质可以包括所有计算机可读介质,除了是瞬时性的传播信号。术语“非瞬时性”不旨在排除主存储器、易失性存储器、ram等计算机可读介质,在这些存储器上保存的数据可以仅仅是临时存储。计算机可用指令也可以具有各种形式,包括编译和非编译代码。

下文将多次提及服务器、服务、接口、门户、平台或由硬件设备形成的其他系统。应当理解,通过这些术语表示具有至少一个处理器的一个或多个设备,该处理器用于执行存储在非瞬时性的有形计算机可读介质上的软件指令。还应当理解,所公开的基于计算机的算法、过程、方法或其他类型的指令集可以体现为计算机程序产品,该计算机程序产品包括存储有指令的非瞬时性的有形计算机可读介质,使得处理器执行所公开的步骤。

本文描述了各种示例性实施例。尽管每个实施例代表发明元素的单个组合,但是本发明的标的物视为包括所公开元素的所有可能组合。因此,如果一个实施例包括元素a、b和c,第二个实施例包括元素b和d,则认为本发明的标的物同时包括a、b、c或d的其他组合,即使没有明确说明。

正如本文所使用的那样,除非上下文另有指示,否则术语“耦合到”旨在包括直接耦合(两个彼此耦合的元件相互接触)和间接耦合(至少一个其他元件位于两个元件之间)。因此,术语“耦合到”和“耦合”作为同义词使用。

本文描述的实施例通过物理计算机硬件实施例实现。本文描述的实施例提供了有用的物理机器以及计算设备、服务器、处理器、存储器、网络等特定配置的计算机硬件结构。本文描述的实施例涉及,例如,计算机装置以及计算机通过处理和转换电子数据信号实现的方法。

本文描述的实施例可以涉及计算设备、服务器、接收器、发送器、处理器、存储器、显示器以及用于实现各种动作的特定配置的网络。本文描述的实施例涉及用于处理和转换表示各种信息的电磁信号的电子机器。本文描述的实施例普遍、整体地涉及机器及其用途;本文描述的实施例在将其与计算机硬件、机器、各种硬件组件一起使用之外没有任何意义或实际应用。

将计算设备、服务器、接收器、发送器、处理器、存储器、显示器以及用于实现各种动作的特定配置的网络替换为非物理硬件,例如,心理步骤,可能在本质上影响本实施例的工作方式。

这些硬件限制显然是本文所述实施例的必要元素,它们不能省略或替换为心理手段,否则会对本文所述实施例的操作和结构产生实质性影响。硬件对于本文描述的实施例是必不可少的,且不仅仅用于迅速、有效地执行步骤。

尽管已经详细描述了本申请及其优点,但是应当理解,在不脱离所附权利要求限定的本申请的情况下,可以对其进行各种改变、替换和更改。

此外,本申请的范围并不局限于说明书中所述的过程、机器、制品、物质组成、装置、方法和步骤的特定实施例。通过本申请的公开内容,本领域普通技术人员容易理解,可以根据本申请,使用与本文描述的相应实施例执行的功能或实现的效果基本相同的现存或将被开发的过程、机器、制品、物质组成、装置、方法或步骤。相应地,所附权利要求范围包括这些过程、机器、制品、物质组成、装置、方法或步骤。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1