具体实施方式
图1描述了可实现本发明的合适的计算系统环境100的一个示例。该计算系统环境100只是合适的计算环境的一个示例,并非局限本发明的使用或功能范围。也不应认为计算环境100对示例操作环境100所描述的任一组件或其组合具有依赖性和需求。
本发明在其它众多通用或专用计算系统环境或配置中都是可操作的。适合使用本发明的众所周知的计算系统、环境、和/或配置的示例包括但不限于,个人计算机、服务器计算机、手持式或膝上设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费类电子产品、网络PC、小型计算机、大型机、电话系统、包括以上任何系统或设备的分布式计算系统等等。
在计算机可执行指令的通常环境下描述本发明,计算机可执行指令如程序模块,由计算机执行。程序模块通常包括例程、程序、对象、组件、数据结构等等,它们完成特定的任务或实现特定的抽象数据类型。程序和模块完成的任务在下文结合附图描述。本领域的技术人员可以将这里的描述和/或附图实现为计算机可执行指令,其可以配备在下文讨论的任意形式的计算机可读介质上。
本发明也可以在分布式计算环境中实践,在该环境中,任务由通过通信网络连接的远端处理装置来完成。在分布式计算环境中,程序模块可以同时位于本地和远端计算机存储介质中,包括存储器装置。
参考图1,实现本发明的一个示例系统包括以计算机110的形式表示的通用计算装置。计算机110的组件包括但不限于,处理单元120、系统存储器130以及将包括系统存储器在内的各种系统组件耦合至处理单元120的系统总线121。系统总线121可以是几种总线结构的任何一种,包括存储器总线或存储器控制器、外部总线,以及使用任意总线结构的本地总线。作为示例,但非局限,这类结构包括工业标准体系结构(ISA)总线、微通道结构(MCA)总线、扩展型ISA(EISA)总线、视频电子标准协会(VESA)本地总线、以及外围部件互联(PCI)总线,也称Mezzanine总线。
计算机110通常包括各种计算机可读介质。计算机可读介质可以是任何可由计算机110存取的可用介质,包括易失性介质和非易失性介质,可移除介质和不可移除介质。作为示例,并非局限,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括在任意用于存储信息的方法或技术中实现的易失性介质和非易失性介质、可移除介质和不可移除介质,这些信息包括计算机可读指令、数据结构、程序模块或其它数据。计算机存储介质包括但不限于,RAM、ROM、EEPROM、按块擦除存储器或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储装置、或任何其它可以用于储存需要的信息并可由计算机110存取的介质。通信介质通常包括计算机可读指令、数据结构、程序模块或其它已调制数据信号如载波或其它传输机制中的数据,包括任何信息传送介质。术语“已调制数据信号”表示一种信号,该信号具有一个或多个通过对信号中的信息进行编码而设定或改变的特征。作为示例,并非局限,通信介质包括有线介质,如有线网络或直接连线连接,以及无线介质,如声学、RF、红外以及其它无线介质。上述介质的组合也应当包含在计算机可读介质的范围内。
系统存储器130包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)131和随机存取存储器(RAM)132。基本输入/输出系统133(BIOS)通常储存在ROM 131中,包含协助在计算机110内如启动时在元件之间进行信息传输的基本例程。RAM 132通常包含处理单元120立即可存取和/或当前正操作的程序模块。作为示例,并非局限,图1描述了操作系统134、应用程序135、其它程序模块136以及程序数据137。
计算机110也可包括其它可移除/不可移除的易失性/非易失性计算机存储介质。仅作示例,图1描述了硬盘驱动器141,对不可移除、非易失性磁介质进行读写;磁盘驱动器151,对可移除、非易失性磁盘152进行读写;以及光盘驱动器155,对可移除、非易失性光盘156如CD-ROM或其它光学介质进行读写。其它可在示例操作环境中使用的可移除/不可移除、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字视频磁带、固态RAM、固态ROM等等。硬盘驱动器141通常通过不可移除存储器接口,如接口140,连接至系统总线121。磁盘驱动器151和光盘驱动器155通常通过可移除存储器接口,如接口150,连接至系统总线121。
以上讨论并在图1中描述的驱动器连同其相关的计算机存储介质为计算机110提供了计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图1中,描述硬盘驱动器141储存操作系统144、应用程序145、其它程序模块146以及程序数据147。必须注意,这些组件可以与操作系统134、应用程序135、其它程序模块136以及程序数据137相同,也可以不同。此处为操作系统144、应用程序145、其它程序模块146以及程序数据147标上不同的号码,以至少表明它们是不同的副本。
用户可以通过输入设备,如键盘162、话筒163、以及定位设备161,如鼠标、跟踪球或触摸板,向计算机110输入命令和信息。其它输入设备(未标出)可包括操纵杆、游戏操纵杆、圆盘式卫星电视天线、扫描仪等等。这些或其它输入设备通常通过耦合至系统总线的用户输入接口连接至处理单元120,也可以通过其它接口和总线接口来连接,如并行端口、游戏端口或通用串行总线(USB)。监视器191或其它类型的显示设备也通过接口,如视频接口190,连接至系统总线121。除监视器之外,计算机也可以包括其它外围输出设备,如扬声器197和打印机196,通过输出外围接口190连接。
计算机110可以在建立网络的环境中操作,该网络环境采用逻辑连接至一个或多个远端计算机,如远端计算机180。远端计算机180可以是个人计算机、手持式设备、服务器、路由器、网络PC、对等装置或其它常见网络节点,通常包括上文描述的同计算机110相关的许多或所有元件。图1描述的逻辑连接包括局域网(LAN)171和广域网(WAN)173,也可以包括其它网络。这类常见的网络有办公室、企业范围计算机网络、企业内部互联网和因特网。
当在LAN网络环境中使用时,计算机110通过网络接口或适配器170同LAN 171相连接。当在WAN网络环境中使用时,计算机110通常包括调制解调器172或其它用于通过WAN 173,如因特网,建立通信的装置。调制解调器172可以是内置的,也可以是外置的,通过用户输入接口160或其它合适的机制连接至系统总线121。在建立网络的环境中,所述的同计算机110或其部分相关的程序模块可以储存在远端存储器设备中。作为示例,并非限制,图1描述远端应用程序185驻留于远程计算机180中。此处所示的网络连接是示例性的,也可使用其它在计算机之间建立通信链路的装置。
图2是一种移动装置200的结构图,该移动装置是一个示例计算环境。移动装置200包括微处理器202、存储器204、输入/输出(I/O)组件206、以及用于同远程计算机或其它移动装置进行通信的通信接口208。在一个实施例中,上述组件通过合适的总线210相互耦合用于通信。
存储器204作为非易失性电子存储器,如随机存取存储器(RAM)实现,具有电池备份模块(未标出)使得移动装置200的普通电源关闭时保存在存储器204中的信息不会丢失。存储器204的一部分优先分配为用于程序执行的可取址存储器,而存储器204的另一部分优先用作存储,来模拟磁盘驱动器上的存储。
存储器204包括操作系统212、应用程序214以及其它对象存储216。在操作过程中,操作系统优先由处理器202从存储器204中执行。在一个较佳实施例中,操作系统212是WINDOWSCE商标的操作系统,可向微软公司购得。操作系统212优先为移动装置设计,并实现了可以由应用214通过一组所述的应用编程接口和方法来使用的数据库特性。对象存储216中的对象由应用214和操作系统212维护,至少能部分响应对所述的应用编程接口和方法的调用。
通信接口208代表了多种使得移动装置200可以发送和接收信息的装置和技术。该装置包括诸如有线和无线调制解调器、卫星接收器和广播调谐器。移动装置200也可以直接连接至计算机以同其进行数据交换。在这一情况下,通信接口208可以是红外收发器或串行或并行通信连接,所有这些都可以传输流信息。
输入/输出组件206包括各类输入设备,如触摸屏、按钮、滚轮、话筒以及各类输出设备,包括音频发生器、振动设备以及显示器。上文列出的设备作为示例,移动装置200并不需要具备所有。另外,移动装置200也可配备或已具备本发明范围内的其它输入/输出设备。
在本发明的一个方面,提供了一种系统和方法,用于估计模式识别信号中的噪声。为实现这一目的,本发明采用一种递归算法,部分地根据至少一个相邻帧中噪声估计,来估计含噪声的信号的每一帧的噪声。在本发明中,通过使用增量贝叶斯学习来对单个帧进行噪声估计,其中,假定一种时变信号先验分布,并使用前一帧中计算所得的后验噪声的近似来递归更新噪声估计。通过这一递归过程,噪声估计可以追踪非平稳噪声。
设
为一列含噪声的语音观测数据,在对数域中表示(如对数谱或倒谱),并不失一般性,假定标量化该列数据。数据y1 t用于循序估计具有相同的数据长度t的破坏性的噪声序列
在贝叶斯学习框架中,假定噪声n的知识(视为未知参数)包含在已知先验分布p(n)中。如果噪声序列是平稳的,即,噪声的统计特性不随时间变化而变化,则任意时刻噪声参数n的常规贝叶斯推论(即,计算后验)可通过“批量型”贝叶斯法则实现:
此处,Θ是噪声参数空间的允许区域。已知p(n|1 t),噪声n的任何估计在原理上都是可行的。例如,可计算后验p(n|y1 t)的最大或极大值作为噪声n的常规MAP点估计。最小均方误差(MMSE)估计是对后验p(n|y1 t)的期望值。
然而,如在大多数实际语音特性增强应用中,当噪声序列是非平稳的,且含噪声的语音y1 t的训练数据循序给出,则需要新的估计技术来跟踪随时间变化而变化的噪声统计。在一种迭代应用中,贝叶斯法则可以写成以下形式:
其中
已知nt或
假定含噪声的语音yt及之前y1 t-1之间的条件独立性,并假定后验中的平滑性:
则上述等式可写成:
现在可以通过如下重复使用等式1来建立非平稳噪声的增量学习。首先,在没有语音数据y的情况下,后验PDF从已知先验p(n0|y0)=p(n0)中获得,其中,p(n0)从已知的纯噪声帧和假定的高斯型中获得。然后对t=1使用等式1,得:
对t=2,得:
使用等式2中计算所得的p(n1|y1)。对t=3,等式1变为:
等等。由此,这一过程递归地产生一列后验(假设p(nt|yt)是有效的):
其中提供了在非平稳噪声序列n1 t上进行增量贝叶斯推论的基础。现在,将目前为止所讨论的增量贝叶斯推论的一般原理应用到特定的声学失真模型中,该模型提供了逐帧的数据PDFp(yt|nt),并是在简单假定噪声先验是高斯型的的情况下。
当应用于噪声,增量贝叶斯学习使用最近的观察数据的后验来更新噪声的当前“先验”分布,因为该后验是有关当前时间之前参数的最完整信息。图3描述了这一方法,其中,第一步,将信号300划分为帧。在步骤302,对每一帧使用增量贝叶斯学习,其中,每一帧的噪声估计假定时变噪声先验分布,且使用在前一时间帧计算所得的后验噪声的近似来对噪声估计进行递归更新。因此,等式3中的后验序列变为所需要的噪声分布参数的时变先验序列(即,先验演变)(带有一个帧大小的时移)。在一个示例实施例中,步骤302可以包括计算当前帧的数据似然性p(yt|nt),同时对之前的帧使用噪声估计,较佳地是紧接的前一帧,噪声估计假定由等式1所表示的后验中的平滑性。
对非高斯型(将简要描述)的数据似然性p(yt|nt),后验也必须是非高斯型的。等式1的后续应用将导致之前后验的迅速扩大组合并变为难以处理的形式。需要用近似来克服这一难处理性。所采用的近似是使用第一阶泰勒级数展开来线性化yt和nt之间的非线性关系。这将得到p(yt|nt)的高斯形式。因此,从前面的数据历史p(nτ|y1 τ)的后验所继承的时变噪声先验PDFp(nτ+1),可以由高斯型来近似:
其中,μnτ和σnτ 2被称为超参量(平均值和方差),表现了先验PDF的特征。随后,从递归贝叶斯法则等式1计算所得的等式3中的后验序列提供了一种确定超参量瞬时演变的原理性方法,将在下文描述。
现在描述用于计算数据似然性p(yt|nt)的声学失真和无噪声语音模型。首先假定无噪声语音x的对数谱的时变高斯混合模型:
然后可以使用对数谱域中的简单非线性声学失真模型:
exp(y)=exp(x)+exp(n),ory=x+g(n-x),(6)
其中非线性函数为:
g(z)=log[1+exp(z)].
为得到数据似然性p(yt|nt)的有用形式,采用泰勒级数展开来线性化等式6中的非线性函数g。可得线性化模型
y≈x+g(n0-μx(m0))+g′(n0-μx(m0))(n-n0),(7)
其中n0为泰勒级数展开点,可以方便地计算第一阶级数展开系数:
等式7的评估函数g和g′中,无噪声语音值x被用作“最佳”混合高斯分量m0的平均值(μx(m0))。
等式7定义了从随机变量x到y的线性变换(固定n之后)。根据这一变换,我们可以用拉普拉斯近似从关于x的PDF得到以下关于y的PDF:
其中最佳混合分量由以下确定:
并且其中,近似高斯型的平均值和方差为
如下文将要示出的,使用p(yt|nt)的高斯估计来扩展该算法。尽管上文采用了泰勒级数展开和拉普拉斯近似来提供p(yt|nt)的高斯估计,应该理解,也可使用不脱离本发明的其它技术来提供高斯估计。例如,除了采用等式8中的拉普拉斯近似外,也可采用对于近似的数字技术或高斯混合模型(具有少数分量)。
现在可以得出估计噪声先验中时变平均值和方差的算法。已知p(yt|nt)的近似高斯形式,如等式8所示,及p(nτ|y1 τ)的近似高斯形式,如等式4所示,可以得到确定噪声先验演变的算法,其表示为平均值μnτ和方差σnτ 2的时变超参量的顺序估计来说明。将等式4和等式8代入等式1中,可得:
其中,μ1=yt-μx(m0)-gm0+g′m0n0,并假定噪声的平滑性。等式10中左边的平均值和方差分别和右边的平均值和方差相匹配,得先验演变公式:
其中,μ1=yt-μx(m0)-gm0 +g′m0μnt-1。在建立等式11时,使用前一时间的先验平均值,作为噪声的泰勒级数展开点,即,
也使用了高斯计算(设a1=g′m0)中准确建立的结果:
其中
在一组简化但有效的假设的基础上,采用近似递归贝叶斯法则的二次项匹配来成功导出噪声先验演变公式,如等式11所归纳。可以发现平均值噪声估计能够更精确地由RMS误差缩减测得,并且可以使用方差信息来提供可靠性的测量。
以上描述的噪声估计技术可以用于如2002年4月5日提交的申请号10/117,142题为“METHOD OF NOISE REDUCTION USING CORRECTION VECTORS BASEDON DYNAMIC ASPECTS OF SPEECH AND NOISE NORMALIZATION”的专利申请中描述的噪声归一化技术或噪声去除。本发明也可以更直接地作为噪声减少系统的一部分来使用,在该系统中,对每一帧的所标识的估计噪声从含噪声的信号中去除以产生无噪声的信号,如2002年9月26日提交的申请号为10/237,163题为“NON-LINEAROBSERVATION MODEL FOR REMOVING NOISE FROM CORRUPTED SIGNALS”的专利申请中所描述的。
图4提供了可使用本发明的噪声估计技术来实现噪声减少的环境的结构图。特别地,图4描述了一种语音识别系统,在该系统中,可以使用本发明的噪声估计技术来减少用于训练声学模型的训练信号中的噪声和/或降低用于声学模型以识别测试信号语言内容的测试信号中的噪声。
在图4中,说话者400,可以是培训者,也可以是用户,对话筒404说话。话筒404也从一个或多个噪声源402接收附加的噪声。话筒404测得的音频信号转化为电信号,并输至模拟-数字转换器406。
尽管在图4的实施例中显示附加的噪声信号402通过话筒404进入,但是在其他实施例中,噪声402也可以在模-数转换器406之后作为数字信号添加到输入语音信号中。
模-数转换器406将来自话筒404的模拟信号转换成一列数字值。在几种实施例中,模-数转换器以16KHz的频率对模拟信号进行采样,每一采样值为16比特,因而每秒能产生32千字节的语音数据。这些数字值输至帧构造器407中,在一个实施例中,该帧构造器将数字值分组成为25毫秒的帧,开始间隔为10毫秒。
帧构造器407产生的数据帧输至特征提取器408,它将每一帧的特征提取出来。特征提取器模块的示例包括用于实现线性预测编码(LPC)、LPC导出倒谱、感知线性预测(PLP)、听觉模型特征提取、以及Mel倒谱系数(MFCC)特征提取的模块。必须注意,本发明并不局限于这些特征提取模块,可以在本发明的环境下使用别的模块。
特征提取模块可以产生特征矢量流,每一特征矢量都同语音信号的一个帧相关联。该特征矢量流输至噪声减少模块410,该模块采用本发明的噪声估计技术来估计每一帧中的噪声。
噪声减少模块410的输出是一系列“干净”特征矢量。如果输入信号是训练信号,则该“干净”特征矢量序列输至训练器424,该训练器使用“干净”特征矢量和训练文本426来训练声学模型418。训练这类模型的技术在本领域中是已知的,对于本发明的理解不是必需的。
如果输入信号是测试信号,则“干净”特征矢量输至解码器412,该解码器能够根据特征矢量流、词典414、语言模型416和声学模型418来识别出最相似的字序列。解码所使用的特定方法对本发明不重要,也可采用几种已知的解码方法中的任一种。
可能性最高的假定字序列输至置信度测量模块420。置信度测量模块420能够部分地根据第二声学模型(未标出)来识别哪些单词最有可能被语音识别器错误地识别。接着置信度测量模块420将假定字序列连同表明哪些单词被错误识别的标识符一起输至输出模块。对本领域的技术人员来说,可以认为置信度测量模块420对于本发明的实践来说不是必需的。
尽管图4描述了一种语音识别系统,但是本发明可以用于任何识别系统中,并不局限于语音。
尽管本发明是参考特定实施例来描述的,对本领域的熟练技术人员来说,可以在不背离本发明精神和范围的情况下以任何形式和细节作出改变。