一些消费者和商用电子设备实现单信道声学降噪(SCANR)以降低来自单个音频信号流的噪声(例如,环境噪声)。这些设备使用各种类型的谱减技术来降低音频信号中的噪声。谱减技术在某种程度上只适用于稳态噪声或非常慢地变化的噪声。然而,在实时用户环境中,噪声不是稳态的且可在一段时间期间显著变化。
概述
本公开的各示例描述了知晓用户环境的声学降噪技术。变换计算设备接收到的有噪信号并且确定接收到的有噪信号的特征向量。访问与多个用户环境相对应的分类数据。每一用户环境的分类数据具有相关联的噪声模型和语音存在概率。执行所确定的特征向量与所访问的分类数据之间的比较以标识当前用户环境。基于与所标识的用户环境相关联的噪声模型和语音存在概率来估计来自经变换有噪信号的噪声水平。基于所估计的噪声水平、与所标识的当前用户环境相关联的噪声模型以及语音存在概率,降低来自经变换有噪信号的噪声水平以输出增强型信号。
提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并非旨在标识出要求保护的主题的关键特征或必要特征,亦非旨在用作辅助确定要求保护的主题的范围。
附图简述
图1是解说通过考虑用户环境信息的噪声估计和降低的示例性框图。
图2是解说用于产生经降噪的增强型信号的体系结构的示例性框图。
图3是解说用于从有噪信号中输出经降噪的增强型信号的计算设备的各组件的示例性框图。
图4A是解说计算设备的用于训练样本分类器以将所收集的噪声样本分类到各噪声模型的操作的示例性流程图。
图4B是解说计算设备的用于训练样本分类器以将所收集的噪声样本分类到各噪声模型的操作的示例性流程图。
图5是解说计算设备的用于通过考虑当前用户环境来减少来自有噪信号的噪声信号的操作的示例性流程图。
在全部附图中,相应的附图标记指示相应的部分。
详细描述
参考附图,本公开的各示例启用用于计算设备302的知晓用户环境的声学降噪。在一些示例中,通过将接收到的有噪信号(例如,包括语音信号和噪声信号)的特征向量与多个用户环境的分类数据310相比较来标识计算设备302的当前用户环境。每一用户环境具有与其相关联的至少一个噪声模型。与所标识的当前用户环境相关联的噪声模型被应用以估计经变换有噪信号中的噪声水平、语音水平、以及语音存在概率(SPP)。这一估计是对计算设备302可能在当前用户环境中遇到的噪声水平、语音水平、以及SPP的准确估计,至少因为所标识的当前用户环境的噪声模型使该系统能够选择与当前用户环境相对应的正确阈值和参数。在一些示例中,这些阈值和参数应变于环境类型,且针对多个用户环境中的每一者被预存储在存储器区域308中。基于所估计的噪声水平、语音水平以及与当前用户环境相关联的SPP和噪声模型,从经变换有噪信号中减少噪声信号。与所标识的当前用户环境相关联的噪声模型可以描述任何环境。例如,噪声模型可以描述汽车、酒馆、咖啡馆、粉红噪声、清晰语音等等作为当前用户环境。
本文描述的系统的示例考虑与用户环境有关的知识来估计和降低音频信号中的噪声。本公开的各方面进一步允许改进信噪比、改进经处理语音的主观质量(例如,经由通过当前用户环境的噪声模型确保在降噪过程中语音未失真或变得不自然)和/或改进残余噪声的主观质量。残余噪声的主观质量的改进经由通过当前用户环境的噪声模型确保噪声被最优地降低来进行。如果降噪可导致语音失真或者语音可由于这样的降噪而表现出不自然,则噪声可不被降低。通过标识当前用户环境并使用与所标识的当前用户环境相关联的阈值和参数,该系统对该所标识的用户环境的信噪比(SNR)的变化而言是稳健的。例如,该系统基于环境中所确定的噪声类型来执行对检测和跟踪阈值的实时适配。
本公开的各方面提供由于声学降噪的知晓用户环境的系统。与该系统相关联的处理器304接收有噪信号并创建对接收到的有噪信号的变换。有噪信号包括语音信号(例如,有噪信号中表示用户的话音的所需部分)和噪声信号(例如,有噪信号中表示用户环境中存在的残余噪声的不合需要的部分)。接收到的有噪信号的特征向量被确定并与分类数据310(如图3所示)相比较以标识当前用户环境。基于与所标识的用户环境相关联的噪声模型来估计经变换有噪信号的噪声水平、语音水平以及SPP。该估计可包括基于噪声模型、经变换有噪信号的噪声水平以及语音水平来估计并使用所估计的噪声水平和语音水平来进一步计算SPP(例如,在运行时)。以此方式,SPP被计算为更准确SPP,因为该系统知晓当前用户环境的噪声模型。SPP的准确计算提供更稳健和准确的降噪。至少因为该系统知晓可能与接收到的有噪信号相关联的各种参数,有噪信号中的噪声水平的突然井喷(例如,最有可能是假警报)被消除或减少。
此外,基于与所标识的当前用户环境相关联的噪声模型和所估计的噪声水平、语音水平以及SPP,来自经变换有噪信号的噪声信号被减少。在减少噪声信号之后,输出基于来自有噪信号的语音信号的增强型语音信号。即,该系统不仅降低了噪声,它还增强了信号质量。在一些示例中,该系统确认当前用户环境的标识。确认所标识的当前用户环境通过选择在预定时间段(例如,500毫秒期间或某一预定帧数期间平滑)期间最频繁标识的当前用户环境来发生。作为替换或补充,确认所标识的当前用户环境在所标识的当前用户环境相同达有噪信号的至少预定义数目的帧(例如,最后5帧中的3帧)时发生。
再次参考图1,示例性框图解说了通过考虑用户环境信息的噪声估计和降低。在图1的示例中,话筒102或其他输入设备接收有噪信号,该有噪信号包括语音信号和噪声信号。其他输入设备包括模数转换器和/或来自多话筒设备中的空间处理前端的输出。在框104中的噪声估计和降低是通过考虑与接收到的有噪信号相关联的用户环境信息108来执行的。经降噪的语音信号(例如,增强型信号)通过扬声器106被输出。本公开的各示例能与一个话筒或与多个话筒一起操作。
接着参考图2,示例性框图解说了用于根据有噪信号来输出经降噪的增强型信号的体系结构。由窗202从有噪信号生成波形。窗202生成表示语音的经时间分割的波形(例如,有噪信号的样本)以及非语音片段(例如,表示静默或没有语音信号的片段)。由窗202生成的波形在变换204处被变换成有噪信号变换域系数。在一些示例中,变换是到频域中,但设想了其他域。来自由窗202生成的波形的特征向量通过特征计算206来计算。特征向量是在所分析的时间窗期间的传入信号的紧凑表示。特征向量包括例如MFCC、频域表示、DCT、或任何其他变换或表示。根据窗202所生成的波形和通过特征计算206计算出的特征向量,从环境分类器214中标识当前用户环境。环境分类器214包括环境分类216、来自陀螺仪的数据218、描述用户语音的数据220以及来自后端语音识别的数据222。环境分类器214可包括帮助标识当前用户环境的其他组件和/或模块。
每一用户环境的分类数据310与噪声模型(例如,在该用户环境中的噪声类型)相关联。通过标识当前用户环境并且因而标识与当前用户环境相关联的噪声模型,SPP被更准确地计算。SPP定义有噪信号中语音信号存在的概率。SPP可被定义为标识接收到的有噪信号中存在静默、存在语音、仅存在噪声、或存在语音和噪声两者
来自陀螺仪的数据218被利用来改进噪声检测和估计。来自陀螺仪的数据218提供计算设备302的状态(例如,固定或移动)。这一信息可被用作分类数据310的一部分以估计和降低有噪信号中的噪声。来自陀螺仪的数据可被用在单话筒设备和多话筒设备两者中。在一些示例中,陀螺仪报告设备的三个坐标(例如,x、y以及z)。这一数据中的变化指示设备被保持在固定位置还是正在移动/旋转。
如果设备正在移动/旋转,则这一知识可被利用。降噪在经变换域(例如,频率、子带,等等)中操作。如果存在漫射噪声源(例如,非有向或全向噪声源,使得在空间中的几乎任何位置处存在相同的噪声水平),则在设备正在移动/旋转时针对经变换域系数的信号水平估计不显著变化(不同于存在点源噪声和/或设备用户的所需语音时)。例如,来自传感器的连贯数据的增量可指示各设备正在移动或旋转,但本公开的操作(在执行时)指示变换域中的信号水平估计没有多大变化。本公开的各方面得出结论:对于固定的那些变换域系数,存在主要漫射的噪声并且因此噪声水平估计器可被更有信心地更新(例如,提高适配速率、降低针对这些变换域系数的SPP,等等)。这进而改进SCANR对可快速时变的漫射噪声的稳健性和响应性。
如果该设备在空间中固定(例如,根据陀螺仪没有移动/旋转)并且变换域系数也在时间上固定,则本公开的操作(在执行时)得出结论:它很有可能是信号中的噪声。本公开的各方面随后更有信心地更新噪声水平估计(例如,提高更新速率)。
如果该设备在空间中是固定的(例如,来自陀螺仪的连贯数据之间的差异是零或非常小)并且变换域系数随时间快速变化,则本公开的操作(在执行时)得出结论:可能不存在漫射噪声。因而,存在语音或快速变化的噪声。本公开的各方面随后决定减缓/缓和噪声更新速率。
如果该设备在空间中不是固定的(例如,来自陀螺仪的连贯数据之间的差异大于阈值)并且变换域系数随时间快速变化,则就是否存在漫射噪声而言不能得出结论。在这样的示例中,SCANR在更新噪声水平估计时更保守(例如,缓慢)。
从用户语音特性导出的知识(例如,讲话者的语音特性,如性别、年龄、语言,等等)以及来自后端语音识别的数据222(例如,话音识别是否失败)也帮助改进噪声检测和估计。讲话者的语音特性和/或讲话者标识也可被用作分类数据310的一部分以估计和降低有噪信号中的噪声。来自后端语音识别的数据222可被用于改进分类数据310,诸如通过从后端语音识别学习接收到的有噪信号的最可能的用户环境。在一些示例中,每一识别引擎具有前端降噪需求,这可因引擎而不同。来自这些引擎的降噪可由于不足或过多的噪声抑制、使语音在频谱上失真、移除过多所需语音、和/或在语音中引入水平变化而不利地影响语音识别引擎。这些失真在降噪引擎不具有实际噪声的准确估计时发生。本公开的各方面提供稳健、可靠和/或准确的噪声估计,从而改进后端语音识别。
以此方式,使用来自陀螺仪和/或任何其他传感器的学习向本文描述的各组件提供更多信心来正确地更新经变换域中的噪声水平估计,从而使后端语音识别引擎获益。
在框208,从由变换204产生的经变换有噪信号来估计和跟踪噪声和SNR,并将其与由环境分类器214所标识的当前用户环境相关联。框208提供变换域中的噪声估计,该噪声估计连同由环境分类器214所标识的当前用户环境一起被框210使用来进行噪声消除、降低、移除或其他调整。在一些示例中,降噪可被定义为在语音信号中引入最少量的可感知失真的同时产生大于输入SNR的输出SNR。框210的输出是变换域中的增强型信号,它随后在框212被逆变换以生成标识增强型信号的波形。在一些示例中,来自框212的所得的增强型信号作为反馈被循环回环境分类器214,以进一步改进当前用户环境的噪声估计和降低(例如,它可能没有反映实际当前环境)。例如,当前环境的标识中的偏差在用于估计噪声估计和降低的操作的一个或多个后续迭代中被校正
接着参考图3,示例性框图解说了用于从有噪信号来输出经降噪的增强型信号的计算设备302。在图3的示例中,与用户相关联的计算设备302表示用于提供知晓用户环境的声学降噪的系统。计算设备302表示执行指令(例如作为应用程序、操作系统功能或这两者)以实现本文描述的操作和功能性的任何设备。计算设备302可包括移动计算设备或任何其它的便携式设备。在一些实施例中,移动计算设备包括移动电话、膝上型计算机、平板、计算板、上网本、游戏设备、可穿戴设备、手持机(例如,蓝牙品牌手持机)和/或便携式媒体播放器。计算设备302还可包括较不便携的设备,诸如智能电视机、台式个人计算机、自助服务终端和桌面设备。另外,计算设备302可以表示一组处理单元或其它计算设备。计算设备302用于执行各种场景中的降噪,包括例如电话(例如,蜂窝、网际协议语音、蓝牙品牌通信、以及Wi-Fi通信)、语音识别(例如,如计算设备302或云服务所执行的)、家庭传感器数据处理(例如,家庭环境中具有用于捕捉语音命令的话筒的任何设备)、和/或医疗应用(例如,移除来自生物信号的噪声)。
在一些示例中,计算设备302具有至少一个处理器304、存储器区域308、以及至少一个用户界面306。处理器304包括任意数量的处理单元,并被编程为执行用于实现本公开的各方面的计算机可执行指令。指令可由处理器304或由在计算设备302内执行的多个处理器执行,或者由计算设备302外部的处理器来执行。在一些示例中,处理器304被编程为执行诸如各附图(例如图4和图5)中示出的那些指令。作为替换或补充,处理器304可以接收附图(例如,图4和图5)中所示的由计算设备302以外的实体(例如,云服务)执行的指令的至少一部分的结果。
在一些示例中,处理器304表示执行在此所述的操作的模拟技术的一种实现。例如,所述操作可以由模拟计算设备和/或数字计算设备来执行。
计算设备302进一步具有一个或多个计算机可读介质,诸如存储器区域308。存储器区域308包括任何数量的、与计算设备302相关联或计算设备202可访问的介质。存储器区域308可以在计算设备302的内部(如图3所示)、在计算设备302的外部、或两者。在一些示例中,存储器区域308包括只读存储器和/或布线到模拟计算设备中的存储器。
存储器区域308存储一个或多个应用312以及其他数据。应用312在被处理器304执行时操作以执行计算设备302上的功能。示例性应用312包括邮件应用程序、web浏览器、日历应用程序、地址簿应用程序、消息收发应用程序、媒体应用、基于位置的服务、搜索程序、语音识别应用、话音通信应用等。应用312可与对应的应用或服务通信,诸如可经由网络访问的web服务。例如,应用312可表示与在云中执行的服务器侧服务相对应的下载的客户机侧应用。
存储器区域308进一步存储与多个用户环境相对应的分类数据310。每一用户环境的分类数据310(例如,UE 1、UE 2、……、UE N)包括与其相关联的噪声模型。如图3所示,示例性分类数据310示出了与UE 1相关联的噪声模型1、与UE 2相关联的噪声模型2、以及与UE N相关联的噪声模型N。在一些示例中,存储器区域308还存储用户环境中的每一者的SNR直方图(例如,在运行时计算并被称为正在运行的直方图)以及与用户环境中的每一者相关联的阈值和参数。环境分类器214所标识的当前用户环境帮助选择与当前用户环境相关联的阈值和参数的最接近可能的匹配值。这进一步帮助准确地计算在一些示例中用来减少和/或消除来自有噪信号的噪声信号的SPP。
存储器区域308进一步存储包括一个或多个计算机可执行组件的单信道声学降噪(SCANR)模块314。SCANR模块314中的示例性组件包括变换组件316、确定组件318、分类组件320、标识组件322、估计组件324、降噪组件326、逆变换组件328、以及反馈组件330。变换组件316在由与计算设备302相关联的处理器304执行时使得处理器304变换由计算设备302接收到的有噪信号。变换组件316可以使用本领域已知的任何技术(例如,快速傅立叶变换,等等)来变换有噪信号。例如,接收到的有噪信号被变换到频域中,但设想了其他域。信号从时域到另一域的变换使得更易于对噪声进行分类。环境分类器214在相同的特征向量集合上被训练,使得当前用户环境的标识是准确的确定。确定组件318在由与计算设备302相关联的处理器304执行时使得处理器304确定接收到的有噪信号的特征向量。确定组件318通过计算梅尔频率倒谱系数(MFCC)或MFCC的一阶或二阶导数来确定接收到的有噪信号的特征向量。表示特征向量的其他方式也被设想并且在本公开的范围内。
分类组件320在由与计算设备302相关联的处理器304执行时使得处理器304蜂窝与多个用户环境相对应的分类数据310。每一用户环境的分类数据310包括与其相关联的噪声模型。标识组件322在由与计算设备302相关联的处理器304执行时使得处理器304基于由确定组件318所确定的特征向量与由分类组件320所访问的分类数据310的比较来标识计算设备302的当前用户环境。在一些示例中,标识组件322将(在预定义时间段期间)一贯地提供分类数据310中的最接近匹配的结果的用户环境标识为当前用户环境。估计组件324在由与计算设备302相关联的处理器304执行时使得处理器304基于与由标识组件322标识的当前用户环境相关联的噪声模型来估计经变换有噪信号的噪声水平、语音水平以及SPP。所估计的噪声水平表示当时的噪声水平和语音水平的准确估计,因为这一估计还使用所标识的当前用户环境的阈值和参数。所估计的噪声水平和语音水平被用于估计和/或计算SPP。以此方式,与环境分类器214所提供的先前粗略估计相比,所估计的噪声水平和语音水平表示对噪声水平和语音水平的更好或更确切的估计。
降噪组件326在由与计算设备302相关联的304执行时使得处理器304基于由估计组件324估计的噪声水平、语音水平和SPP以及与由标识组件322标识的当前用户环境相关联的噪声模型来减少来自经变换有噪信号的噪声信号以输出增强型信号。因为降噪组件326像估计组件324一样考虑所标识的当前用户环境参数(例如,噪声模型),所以噪声被从有噪信号移除或至少被降低,而没有影响增强型信号的主观质量。
逆变换组件328在由与计算设备302相关联的处理器304执行时使得处理器304对降噪组件326所输出的增强型信号进行逆变换(例如,使用逆快速傅立叶变换)以按波形而非在变换域中输出增强型信号。在一些示例中,经逆变换的增强型信号由计算设备302的用户消费。作为补充或替换,反馈组件330在由与计算设备302相关联的处理器304执行时使得处理器304反馈由逆变换组件328逆变换的增强型信号以调整、更新、修订、或以其他方式改变所标识的当前用户环境的分类数据310。分类数据310的调整造成改进分类数据310,使得对用户环境的后续标识(例如,后续时间的当前用户环境)被改进。在一些示例中,所标识的当前用户环境的阈值和参数通过反馈经逆变换的增强型信号而被更新(或存储在存储器区域308中)。该系统因而实现学习每一用户环境的确切参数的学习环境。
在一些示例中,该系统使用机器学习算法来表征用户环境。跨预定义大范围样本的已知良好的语音信号(例如,已知包含具有最小噪声的语音的信号)被施加到一个或多个用户环境(例如,有噪环境)。在应用已知良好的语音信号后,本公开的各方面应用机器学习算法来在表征用户环境时改进分类数据310的质量。通过更好地分类用户环境,(例如,从经变换的有噪信号确定的)特征向量与准确地分类的分类数据310的比较更准确地标识当前用户环境。由此,噪声水平、语音水平、以及语音存在概率的估计也更准确,从而得到更好的降噪。本公开的各方面能与任何形式的机器学习算法一起操作,诸如生成性模型(例如,隐马尔科夫模型、朴素贝叶斯,等等)、区别性模型(例如,线性区别分析、助推、支持向量机,等等)、和/或任何其他类型的机器学习算法。
在一些示例中,标识组件322对当前用户环境的标识进一步考虑来自陀螺仪的数据、来自后端语音识别的数据、和/或讲话者语音特性。例如,来自接收到的有噪信号的当前用户环境的讲话者标识或讲话者相关标识改进增强型信号的质量。
在一些示例中,存储器区域308进一步包括通信接口组件。通信接口组件包括网络接口卡和/或用于操作网络接口卡的计算机可执行指令(例如驱动程序)。计算设备302和其它设备之间的通信可使用任何协议或机制在任何有线或无线连接上发生。在一些示例中,通信接口可用于近场通信(NFC)标签。
在一些示例中,存储器区域308进一步包括用户接口306或其他用户接口组件。用户接口组件进一步包括用于将数据显示给用户以及从用户接收数据的显卡。用户接口组件还可包括用于操作显卡的计算机可执行指令(例如驱动程序)。此外,用户接口组件可包括显示器(例如,触摸屏显示器或自然用户界面)和/或用于操作该显示器的计算机可执行指令(例如驱动程序)。用户接口组件还可包括以下各项中的一个或多个来将数据提供给用户或从用户接收数据:扬声器、声卡、相机、话筒、振动电机、一个或多个加速度计、蓝牙通信模块、全球定位系统(GPS)硬件、和/或感光光传感器。例如,用户可通过按特定方式移动计算设备302来输入命令或操纵数据。
接着参考图4A,示例性流程图解说了计算设备302的用于训练样本分类器以将所收集的噪声样本分类到各噪声模型的操作。在402,收集噪声样本和原始和/或清晰语音样本。所收集的噪声样本表示至少预定义数目的用户环境。这些预定义数目的用户环境在例如从已知用户环境中区分出新用户环境时被更新。在404,计算所有所收集的样本的特征向量。在406,分类技术(例如,MFCC及其一阶和二阶导数)被选择并且样本分类器被训练以将所收集的噪声样本分类到各噪声模型。每一噪声模型表示最可能存在于特定用户环境中的噪声类型。噪声模型是通过使用训练数据训练样本分类器以标识实时有噪信号的当前用户环境来分类的。
接着参考图4B,示例性流程图解说了计算设备302的用于训练样本分类器以将所收集的噪声样本分类到各噪声模型的操作。在402,收集噪声样本和原始和/或清晰语音样本。所收集的噪声样本表示至少预定义数目的用户环境。这些预定义数目的用户环境在例如从已知用户环境中区分出新用户环境时被更新。在404,计算所有所收集的样本的特征向量。在408,选择稀疏或紧凑噪声表示的字典(例如,从变换的字典中选择,诸如傅立叶变换、小波变换、Gabor变换,等等)。在406,分类技术(例如,MFCC及其一阶和二阶导数)被选择并且样本分类器被训练以将所收集的噪声样本分类到各噪声模型。每一噪声模型表示最可能存在于特定用户环境中的噪声类型。噪声模型是通过使用训练数据训练样本分类器以标识实时有噪信号的当前用户环境来分类的。
接着参考图5,示例性流程图解说了计算设备302通过考虑当前用户环境来减小有噪信号的噪声分量的操作。在502,变换计算设备302接收到的有噪信号(例如,使用快速傅立叶变换或其他已知技术来变换到频域)。在504,确定接收到的有噪信号的特征向量(例如,通过计算MFCC)。在506,访问与多个用户环境相对应的分类数据310。用户环境中的每一者的分类数据310包括与其相关联的噪声模型。在508,将在504确定的特征向量与在506访问的分类数据310相比较。如果在508确定特征向量不匹配分类数据310达至少预定义阈值水平(例如,80%以上,或其他阈值或置信度水平),则有噪信号与关联于新噪声模型的新用户环境(例如,尚未被包括在分类数据310中)相关联。在这样的场景中,更新分类数据310以帮助正确地标识当前用户环境以用于将来类似有噪信号样本。
然而,如果在508,计算设备302确定特征信息匹配分类数据310的一部分达至少预定义阈值水平,则为有噪信号从分类数据310标识了当前用户环境。该比较是在概率意义上执行的,在于其特征(例如,在某一时间段期间一贯地)更接近地匹配传入数据的环境被声明为表示用户环境的最佳候选或最佳匹配。
在512,基于与在510标识的当前用户环境相关联的噪声模型来估计经变换噪声信号的噪声水平、语音水平以及SPP。在514,基于所估计的噪声水平、语音水平以及与所标识的当前用户环境相关联的SSP和噪声模型来减少来自有噪信号的噪声信号,以输出增强型信号。增强型信号可包括在514处的减少之后更少量的噪声信号。所输出的增强型信号可被逆变换到波形并且被回送以调整所标识的当前用户环境的分类数据310。
在一些示例中,当前用户环境的标识是在所标识的当前用户环境被确定为在预定义时段期间最频繁标识的当前用户环境或者所标识的当前用户环境相同达有噪信号的至少预定数目的帧时确认的。这消除了当前用户环境的因噪声和/或语音活动的快速变化而造成的偶然假肯定。在一些示例中,标识当前用户环境的过程在预定时间段(例如,40毫秒)之后使用经更新的有噪信号(例如,从有噪信号另外接收的数据帧)重复。
在一些示例中,存储器区域308还存储每一用户环境的SNR直方图。在这样的示例中,计算接收到的有噪信号的SNR直方图。SNR直方图反映该信号对应于各噪声类型(例如,酒馆、咖啡馆,等等)的概率(例如,从0到1)。计算得到的SNR直方图与多个用户环境的SNR直方图(例如存储在存储器区域308中)相比较。基于该比较,标识当前用户环境。在一些示例中,为所有频带计算SNR直方图。在一些其他示例中,只为最大SNR和/或平均SNR计算SNR直方图。来自计算得到的SNR直方图的信息可被用来修订/更新所标识的用户环境的SPP。接收到的SPP允许对噪声水平的更准确估计。在一些示例中,为所标识的用户环境导出第二话音活动检测值。例如,可在办公环境中的对话中标识另一讲话者的可能在场(例如,同事的话音)。第二话音活动检测值可另外地用于估计噪声水平(例如,在图5中的操作512)。
在一些示例中,心理声学加权被应用于所估计的噪声水平以确定每频带抑制水平。心理声学加权减小了降噪对信号自然性和清晰度的任何不利效果。所确定的抑制水平(例如,使用已知噪声抑制技术)被应用于增强型信号。增强型信号被转换到时域以供诸如扬声器106等设备消费。
其他示例
在一些示例中,在对话开始时,有噪信号被假定只包括噪声信号达处理器开始标识当前用户环境以来的预定义时间段,。例如,在移动设备对话的情况下,移动设备的话筒102可在对话开始时(例如,在呼叫接收者说“hello”之前)开始接收噪声信号。对于这一初始时间段,有噪信号被假定只包括噪声信号,而没有任何语音信号(例如,没有所需音频信号)。
在一些示例中,本公开的各方面初始计算噪声水平和语音水平的粗略估计。给定知晓用户环境(例如,作为环境分类器214的输出的所标识的当前用户环境及其相关联的噪声模型),选择与环境分类器214已标识或检测到的用户环境的背景噪声相对应的阈值和参数集。使用这些阈值和参数,以更可靠的方式计算SPP。随后,本公开的各方面重估噪声水平、语音水平以及SPP(这一次可靠且稳健)。
本公开的各方面可与任何形式的噪声模型一起操作。一些示例性噪声模型如下描述:
1)基于MFCC:
a)数据结构
i.MFCC的均值
ii.MFCC的变化速度(例如,来自连贯窗的两个MFCC集合之间的增量)
iii.加速度:来自连贯帧的两个MFCC集合的速度(ii)之间的增量
2)基于临界带中的能量:
a)数据结构
i.临界带能量的均值
ii.临界带能量的变化速度(例如,来自连贯窗的两个临界带能量集合之间的增量)
iii.加速度:来自连贯帧的两个临界带能量集合的速度(ii)之间的增量
3)基于离散余弦变换(DCT)系数:
a)在对噪声开窗之后,计算相关矩阵
b)应用DCT变换并保持所有系数或系数子集
c)对于噪声的所有窗对于所有噪声计算以上各项
d)对于每一噪声类型:
i.测量均值
ii.测量方差
iii.测量变化速率或速度(语音)
iv.测量加速度(速度的速率)
e)噪声模型(对于每一噪声类型):
i.DCT系数的均值以及它们的方差
ii.均值和方差的变化速度
iii.均值和方差的加速度
4)基于γ调(Gamma tone)滤波器:
a)在对噪声开窗之后,计算相关矩阵
b)根据γ调滤波器(γ调滤波器是内耳声音分解的紧密逼近)来分解信号
c)保持最主导γ调滤波器的统计信息以及它们对跨与手头上的噪声/环境相对应的所有窗的手头上的噪声的贡献。
d)噪声模型(对于每一噪声类型):
i.DCT系数的均值以及它们的方差
ii.均值和方差的变化速度
iii.均值和方差的加速度
噪声模型的特定示例被包括在附录A中。例如,描述了基于第二阶高斯混合模型的MFCC噪声模型。然而,本公开的各方面可与任何形式的噪声模型一起操作。
在一示例场景中,计算所确定的特征向量的均值和方差并将计算得到的均值和方差与分类数据310相比较以标识当前用户环境的噪声模型。在这样的场景中,可存在与一个用户环境相关联的多个噪声模型。
作为本文所述的其他示例的替代或补充,一些示例包括以下的任何组合:
-在确定所标识的当前用户环境相同达有噪信号的至少预定义数目的帧时和/或通过在预定义时间段期间标识最频繁标识的当前用户环境,确认所标识的当前用户环境
-其中在开始标识当前用户环境之际,有噪信号只包括噪声信号达预定义时间段
其中存储器区域308进一步存储多个用户环境中的每一者的SNR直方图,并且处理器304被编程为通过以下操作来标识当前用户环境:
计算接收到的有噪信号的SNR直方图;
将计算得到的SNR直方图与多个用户环境的SNR直方图相比较;以及
基于该比较来标识当前用户环境
-其中处理器304被进一步编程为在预定义时段之后基于经更新的有噪信号来重复当前用户环境的标识
-其中与所标识的当前用户环境相关联的噪声模型是从包括汽车、酒馆、咖啡馆、粉红噪声、或清晰语音的组中选择的
-其中处理器304被进一步编程为:
计算所确定的特征向量的均值和方差;以及
将计算得到的均值和方差与分类数据310相比较以标识当前用户环境的噪声模型。
-其中处理器被进一步编程为:
对所输出的增强型语音信号进行逆变换;以及
基于经逆变换的增强型语音信号来修订所标识的当前用户环境的分类数据310
-其中处理器304被进一步编程为通过考虑从包括来自陀螺仪的数据、来自后端语音识别的数据、或讲话者语音特性的组中选择的数据来标识当前用户环境。
-其中处理器304被编程为在频域中创建对接收到的有噪信号的变换,并且其中处理器被编程为通过计算MFCC来确定接收到的有噪信号的特征向量。
附图中所示的各种元素的至少一部分功能可由附图中的其他元素或附图中未示出的实体(例如,处理器、web服务、服务器、应用程序、计算设备等)执行。
在一些示例中,图4A、4B和5中所示的操作可以以在计算机可读介质上编码的软件指令、以被编程或设计为执行操作的硬件或这两者来实现。例如,本公开的各方面可以被实现为片上系统或包括多个互连的导电元件的其它电路。
已经参考所监视的和/或从用户收集的数据来描述了各示例。在一些示例中,可向用户提供有关数据收集的通知(例如,经由对话框或偏好设置),并且给予用户对监视和/或收集给予同意或拒绝同意的机会。该同意可以采用选择加入同意或选择退出同意的形式。
尽管已经按照各种示例以及它们相关联的操作描述了本公开的各方面,但是本领域技术人员将理解来自任何数量的不同示例的操作的组合也在本公开的各方面内。
示例性操作环境
示例性计算机可读介质包括闪存驱动器、数字多功能盘(DVD)、紧致盘(CD)、软盘以及磁带盒。作为示例而非限制,计算机可读介质包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性与非易失性、可移动与不可移动介质。计算机存储介质以硬件实现,并排除载波和传播信号。用于本公开的目的的计算机存储介质不是信号本身。示例性计算机存储介质包括硬盘、闪存驱动器和其它固态存储器。作为对比,通信介质通常在诸如载波或其他传输机制等已调制数据信号中体现计算机可读指令、数据结构、程序模块或其他数据,并包括任何信息传递介质。
尽管结合一示例性计算系统环境进行了描述,但本公开的各示例能够用众多其它通用或专用计算系统环境、配置或设备实现。
适用于本发明的各方面的公知的计算系统、环境和/或配置的示例包括,但不限于:移动计算设备、个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、游戏控制台、基于微处理器的系统、机顶盒、可编程消费电子产品、移动电话、网络PC、小型计算机、大型计算机、包括上面的系统或设备中的任何系统或设备的分布式计算环境等等。这样的系统或设备可以以任何方式来接受来自用户的输入,包括来自诸如键盘或指点设备之类的输入设备、通过姿势输入和/或通过语音输入。
可以在由一台或多台计算机或其他设备执行的诸如程序模块之类的计算机可执行指令的一般上下文中来描述本发明的各示例。计算机可执行指令可以被组织成一个或多个计算机可执行的组件或模块。一般而言,程序模块包括但不限于,执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件,以及数据结构。可以利用任何数量的这样的组件或模块以及它们的任何组织来实现本发明的各方面。例如,本发明的各方面不限于附图中所举例说明并且在此处所描述的特定计算机可执行指令或特定组件或模块。本发明的其他示例可以包括具有比此处所示出和描述的功能更多或更少功能的不同的计算机可执行指令或组件。
本发明的各方面在通用计算机被配置成执行此处所描述的指令时将通用计算机变换为专用计算设备(诸如计算设备302)。
本文所解说并描述的各示例以及没有在此专门描述但在本发明的各方面的范围之内的各示例构成了用于单信道声学降噪的示例性方式。例如,图2和/或图3中所示的元素(诸如在被编码以执行图4A、4B和/或图5中所示的操作时)构成:
用于变换由计算设备接收到的有噪信号的示例性装置;
用于确定接收到的有噪信号的特征向量的示例性装置;
用于访问与多个用户环境相对应的分类数据的示例性装置;
用于将所确定的特征向量与所访问的分类数据进行比较以标识当前用户环境的示例性装置;
用于基于与所标识的当前用户环境相关联的噪声模型和SPP来估计来自经变换有噪信号的噪声水平的示例性装置;以及
用于基于所估计的噪声水平以及与所标识的当前用户环境相关联的噪声模型和SPP来降低来自经变换有噪信号的噪声水平以输出增强型信号的示例性装置。
此处所举例说明和描述的本发明的各示例中的操作的执行或完成的顺序不是必需的,除非另作指定。即,除非另作指定,操作可以以任何顺序执行,本发明的各示例可以包括额外的或比此处所公开的操作更少的操作。例如,考虑了在某一个操作之前、同时、或之后执行或完成另一个操作也在本发明的各方面的范围之内。
当介绍本发明的各方面的元素或其示例时,冠词“一”、“一个”、“该”、“所述”旨在表示有元素中的一个或多个。术语“包括”、“包含”、以及“具有”旨在是包含性的,并表示除所列出的元素以外可以有额外的元素。术语“示例性”旨在表示“……的一示例”。短语“下述的一个或多个:A、B和C”是指“至少一个A和/或至少一个B和/或至少一个C”。
已经详细地描述了本发明的各方面,显然,在不偏离所附权利要求书所定义的本发明的各方面的范围的情况下,各种修改和变型是可能的。在不偏离本发明的各方面的范围的情况下,可以在上面的构造、产品以及方法中作出各种更改,意图是上面的描述中所包含的以及各附图中所示出的所有主题都应该解释为说明性的,而不是限制性的。
附录A
下文描述了基于第二阶高斯混合模型(GMM)的示例性MFCC噪声模型。本公开的各方面可与其他噪声模型一起操作,诸如基于DCT或γ调的那些模型。
接下来描述的特定噪声模型是针对酒馆噪声的,且包括两个分量。在这一示例中,MFCC可被直接使用,或者bark谱能量也可被使用,因为存在MFCC与bark谱能量之间的一对一映射。Bark谱能量得自bark带能量的谱建模。在这一示例中,以下示出的值来自具有大小为20的向量的Barks谱能量。一阶导数已被包括,所以一行中存在40。
在这一示例中,该混合的各分量的最大量被设置成2,但设想了分量的其他量。给定示例性少量数据,每一GMM的权重具有对于GMM的第一分量的均值0.3931以及对于GMM的第二分量的均值0.6069。形成这些均值的示例性值在下表A1中列出。
表A1.用于计算GMM的均值的示例性值
形成方差的示例性值在下表A2中列出。第一列示出混合的第一分量且第二列示出混合的第二分量。
表A2.用于计算GMM的方差的示例性值
上表A1和A2中示出的值提供了在使用bark谱能量时用于酒馆噪声环境的值。在其他示例中,GMM可包括附加导数。例如,如果考虑二阶导数,则所有向量将具有60个元素。