Patent Publication Number: US-6990447-B2

Title: Method and apparatus for denoising and deverberation using variational inference and strong speech models

Description:
FIELD OF THE INVENTION 
     The present invention relates to speech enhancement and speech recognition. In particular, the present invention relates to denoising speech. 
     BACKGROUND OF THE INVENTION 
     In many applications, it is desirable to remove noise from a signal so that the signal is easier to recognize. For speech signals, such denoising can be used to enhance the speech signal so that it is easier for users to perceive. Alternatively, the denoising can be used to provide a cleaner signal to a speech recognizer. 
     In some systems, such denoising is performed in cepstral space. Cepstral space is defined by a set of cepstral coefficients that describe the spectral content of a frame of a signal. To generate a cepstral representation of a frame, the signal is sampled at several points within the frame. These samples are then converted to the frequency domain using a Fourier Transform, which produces a set of frequency-domain values. Each cepstral coefficient is then calculated as: 
               c   i     =     C   [     ln   ⁢       ∑   k     ⁢       w   ik     ⁢     S   k           ]             EQ.  1             
 
where c i  is the ith cepstral coefficient, C is a transform, w ik  is a filter associated with the ith coefficient and the kth frequency, and S k  is the spectrum for the kth frequency, which is defined as:
 
S k =|{circumflex over (x)} k | 2   EQ. 2
 
where {circumflex over (x)} k  is an average sample value for the kth frequency.
 
     To perform the denoising in cepstral space, models of clean speech and noise are built in cepstral space by converting clean speech training signals and noise training signals into sets of cepstral coefficient vectors. The vectors are then grouped together to form mixture components. Often, the distribution of vectors in each component is described using a Gaussian distribution that has a mean and a variance. 
     The resulting mixture of Gaussians for the clean speech signal represents a strong model of clean speech because it limits clean speech to particular values represented by the mixture components. Such strong models are thought to improve the denoising process because they allow more noise to be removed from a noisy speech signal in areas of cepstral space where clean speech is unlikely to have a value. 
     Although removing noise in the cepstral domain has proven effective, it is limiting in that only the resulting denoised signal can be applied directly to a speech recognition system. As such, removing noise in the cepstral domain does not facilitate providing something other than the denoised cepstral vectors to the recognizer. 
     In addition, denoising in the cepstral domain is more difficult than removing noise in the time domain or frequency domain. In the time or frequency domains, noise is additive, so noisy speech equals clean speech plus noise. In the cepstral domain, noisy speech is a complicated nonlinear function of clean speech and noise, and the required math becomes intractable and needs to be approximated. This is a separate complication that is independent of the complexity of the models used. Hence, time or frequency domain methods may in theory be able to provide a more accurate denoising since they would not require the approximation found in the cepstral domain. 
     To overcome these limitations, some systems have attempted to denoise speech signals in the time domain or the frequency domain. However, such denoising systems typically use simple models for the clean speech signal that do not incorporate much information on the structure of speech. As a result, it is difficult to discern noise from clean speech since the clean speech is allowed to take nearly any value. 
     One common model of clean speech is an auto-regression model that models a next point in a speech signal based on past points in the speech signal. In terms of an equation: 
               x   n     =         ∑     m   =   1     p     ⁢       a   m     ⁢     x     n   -   m           +     v   n               EQ.  3             
 
where x n  is the nth sample in the speech signal, x n-m  is the n-mth sample in the speech signal, a m  are auto-regression parameters based on a physical shape of a “lossless tube” model of a vocal tract and v n  is a combination of an input excitation and a fitting error.
 
     Because the auto-regression model parameters are based on a physical model rather than a statistical model, they lack a great deal of information concerning the actual content of speech. In particular, the physical model allows for a large number of sounds that simply are not heard in certain languages. Because of this, it is difficult to separate noise from clean speech using such a physical model. 
     Some prior art systems have generated statistical descriptions of speech that are based on AR parameters. Under these systems, frames of training speech are grouped into mixture components based on some criteria. AR parameters are then selected for each component so that the parameters properly describe the mean and variance of the speech frames associated with the respective mixture component. 
     Under many such systems, the coefficients of the AR model are selected during training and are not modified while the system is being used. In other words, the model coefficients are not adjusted based on the noisy signal received by the system. In addition, because the AR coefficients are fixed, they are treated as point values that are known with absolute certainty. 
     In another prior art system described in J. Lim,  All - Pole Modeling of Degraded Speech , IEEE Transactions on Acoustics, Speech, and Signal Processing, Vol. ASSP-26, No. 3, June 1978, a time domain/frequency domain system is shown in which the AR coefficients are not fixed but instead are modified based on the noisy signal. Under the Lim system, an iteration is performed to alternately update the AR coefficients and then update the denoised signal values. However, even under Lim, the updates to the denoised signal values are based on point values for the AR coefficients that are assumed to be known with certainty. 
     In reality, the best AR coefficients are never known with certainty. As such, the prior art systems that determine the denoised signal values by using point values for the AR coefficients are less than ideal since they rely on an assumption that is not true. 
     Thus, a denoising system is needed that operates in the time domain or frequency domain, and that recognizes that parameters of a model description of speech can only be known with a limited amount of certainty. In addition, such a system needs to be computationally efficient. 
     SUMMARY OF THE INVENTION 
     A probability distribution for speech model parameters, such as auto-regression parameters, is used to identify a distribution of denoised values from a noisy signal. Under one embodiment, the probability distributions of the speech model parameters and the denoised values are adjusted to improve a variational inference so that the variational inference better approximates the joint probability of the speech model parameters and the denoised values given a noisy signal. In some embodiments, this improvement is performed during an expectation step in an expectation-maximization algorithm. 
     The statistical model can also be used to identify an average spectrum for the clean signal and this average spectrum may be provided to a speech recognizer instead of the estimate of the clean signal. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram of a general computing environment in which the present invention may be practiced. 
         FIG. 2  is a block diagram of a mobile device in which the present invention may be practiced. 
         FIG. 3  is a block diagram of a denoising system of one embodiment of the present invention. 
         FIG. 4  is a block diagram of a speech recognition system in which embodiments of the present invention may be practiced. 
     
    
    
     DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS 
       FIG. 1  illustrates an example of a suitable computing system environment  100  on which the invention may be implemented. The computing system environment  100  is only one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of the invention. Neither should the computing environment  100  be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment  100 . 
     The invention is operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well-known computing systems, environments, and/or configurations that may be suitable for use with the invention include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, telephony systems, distributed computing environments that include any of the above systems or devices, and the like. 
     The invention may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices. 
     With reference to  FIG. 1 , an exemplary system for implementing the invention includes a general-purpose computing device in the form of a computer  110 . Components of computer  110  may include, but are not limited to, a processing unit  120 , a system memory  130 , and a system bus  121  that couples various system components including the system memory to the processing unit  120 . The system bus  121  may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus also known as Mezzanine bus. 
     Computer  110  typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer  110  and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computer  110 . Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above should also be included within the scope of computer readable media. 
     The system memory  130  includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM)  131  and random access memory (RAM)  132 . A basic input/output system  133  (BIOS), containing the basic routines that help to transfer information between elements within computer  110 , such as during start-up, is typically stored in ROM  131 . RAM  132  typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit  120 . By way of example, and not limitation,  FIG. 1  illustrates operating system  134 , application programs  135 , other program modules  136 , and program data  137 . 
     The computer  110  may also include other removable/non-removable volatile/nonvolatile computer storage media. By way of example only,  FIG. 1  illustrates a hard disk drive  141  that reads from or writes to non-removable, nonvolatile magnetic media, a magnetic disk drive  151  that reads from or writes to a removable, nonvolatile magnetic disk  152 , and an optical disk drive  155  that reads from or writes to a removable, nonvolatile optical disk  156  such as a CD ROM or other optical media. Other removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like. The hard disk drive  141  is typically connected to the system bus  121  through a non-removable memory interface such as interface  140 , and magnetic disk drive  151  and optical disk drive  155  are typically connected to the system bus  121  by a removable memory interface, such as interface  150 . 
     The drives and their associated computer storage media discussed above and illustrated in  FIG. 1 , provide storage of computer readable instructions, data structures, program modules and other data for the computer  110 . In  FIG. 1 , for example, hard disk drive  141  is illustrated as storing operating system  144 , application programs  145 , other program modules  146 , and program data  147 . Note that these components can either be the same as or different from operating system  134 , application programs  135 , other program modules  136 , and program data  137 . Operating system  144 , application programs  145 , other program modules  146 , and program data  147  are given different numbers here to illustrate that, at a minimum, they are different copies. 
     A user may enter commands and information into the computer  110  through input devices such as a keyboard  162 , a microphone  163 , and a pointing device  161 , such as a mouse, trackball or touch pad. Other input devices (not shown) may include a joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit  120  through a user input interface  160  that is coupled to the system bus, but may be connected by other interface and bus structures, such as a parallel port, game port or a universal serial bus (USB). A monitor  191  or other type of display device is also connected to the system bus  121  via an interface, such as a video interface  190 . In addition to the monitor, computers may also include other peripheral output devices such as speakers  197  and printer  196 , which may be connected through an output peripheral interface  190 . 
     The computer  110  may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer  180 . The remote computer  180  may be a personal computer, a hand-held device, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer  110 . The logical connections depicted in  FIG. 1  include a local area network (LAN)  171  and a wide area network (WAN)  173 , but may also include other networks. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet. 
     When used in a LAN networking environment, the computer  110  is connected to the LAN  171  through a network interface or adapter  170 . When used in a WAN networking environment, the computer  110  typically includes a modem  172  or other means for establishing communications over the WAN  173 , such as the Internet. The modem  172 , which may be internal or external, may be connected to the system bus  121  via the user input interface  160 , or other appropriate mechanism. In a networked environment, program modules depicted relative to the computer  110 , or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation,  FIG. 1  illustrates remote application programs  185  as residing on remote computer  180 . It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used. 
       FIG. 2  is a block diagram of a mobile device  200 , which is an exemplary computing environment. Mobile device  200  includes a microprocessor  202 , memory  204 , input/output (I/O) components  206 , and a communication interface  208  for communicating with remote computers or other mobile devices. In one embodiment, the afore-mentioned components are coupled for communication with one another over a suitable bus  210 . 
     Memory  204  is implemented as non-volatile electronic memory such as random access memory (RAM) with a battery back-up module (not shown) such that information stored in memory  204  is not lost when the general power to mobile device  200  is shut down. A portion of memory  204  is preferably allocated as addressable memory for program execution, while another portion of memory  204  is preferably used for storage, such as to simulate storage on a disk drive. 
     Memory  204  includes an operating system  212 , application programs  214  as well as an object store  216 . During operation, operating system  212  is preferably executed by processor  202  from memory  204 . Operating system  212 , in one preferred embodiment, is a WINDOWS® CE brand operating system commercially available from Microsoft Corporation. Operating system  212  is preferably designed for mobile devices, and implements database features that can be utilized by applications  214  through a set of exposed application programming interfaces and methods. The objects in object store  216  are maintained by applications  214  and operating system  212 , at least partially in response to calls to the exposed application programming interfaces and methods. 
     Communication interface  208  represents numerous devices and technologies that allow mobile device  200  to send and receive information. The devices include wired and wireless modems, satellite receivers and broadcast tuners to name a few. Mobile device  200  can also be directly connected to a computer to exchange data therewith. In such cases, communication interface  208  can be an infrared transceiver or a serial or parallel communication connection, all of which are capable of transmitting streaming information. 
     Input/output components  206  include a variety of input devices such as a touch-sensitive screen, buttons, rollers, and a microphone as well as a variety of output devices including an audio generator, a vibrating device, and a display. The devices listed above are by way of example and need not all be present on mobile device  200 . In addition, other input/output devices may be attached to or found with mobile device  200  within the scope of the present invention. 
     As shown in the block diagram of  FIG. 3 , the present invention provides a denoising system  300  that identifies a denoised signal  302  from a noisy signal  304  by generating a probability distribution for speech model parameters that describe the spectrum of a denoised signal, such as auto-regression (AR) parameters, and using that distribution to determine a distribution of denoised values. 
     Under one embodiment of the present invention, the probability distribution for the speech model parameters, also referred to as spectrum parameters or distribution parameters, is a mixture of Normal-Gamma distributions for AR parameters. Under this embodiment, each mixture component, s, provides a probability of a set of AR parameters, θ, that is defined as: 
               p   ⁡     (     θ   |   s     )       ∝         exp   ⁡     (       v     2   ⁢   p       ⁢       ∑     k   =   0       p   -   1       ⁢                μ   k   s     ⁢       a   ~     k   ′       -     V   k   s            2         )       ·     v       α   s     2         ⁢     exp   ⁡     (       -       β   s     2       ⁢   v     )                 EQ.  4             
 
where μ k   s  is the mean of a normal distribution for a kth parameter, V k   s  is a precision value for the kth parameter, α s  and β s  are the shape and size parameters, respectively, of the Gamma contribution to the distribution, ν is the error associated with the AR model and ã′ k  is defined as: 
                 a   ~     k   ′     =     1   -       ∑     n   =   1     p     ⁢       ⅇ       -   ⅈ     ⁢           ⁢     w   k     ⁢   n       ⁢     a   n                   EQ.  5             
 
where w k  is a frequency, and a n  is the nth AR parameter.
 
     Under one embodiment, the hyper parameters (μ k   s , V k   s , α s , β s ) that describe the distribution for each mixture component are initially determined by a training unit  312  and appear as a prior AR parameter model  314 . 
     Under one embodiment, training unit  312  receives frequency-domain values from a Fast Fourier Transform (FFT) unit  310  that describe frames of a clean signal  316 . In one particular embodiment, FFT unit  310  generates frequency domain values that represent 16 msec overlapping frames that have been sampled by an analog-to-digital converter  308  at N=256 time points using a 16 kHz sampling rate. Under one embodiment, the clean signal is generated from 10000 sentences of the Wall Street Journal recorded with a close-talking microphone for 150 male and female speakers of North American English. 
     For each frame, training unit  312  identifies a set of AR parameters that best describe the signal in the frame. Under one embodiment, an auto-correlation technique is used to identify the proper AR parameters for each frame. 
     The resulting AR parameters are then clustered into mixture components. Under one embodiment, each frame&#39;s parameters are grouped into one of 256 mixture components. 
     One method for performing this clustering is to convert the AR parameters to the cepstral domain. This can be done by using the sample points that would be generated by the AR parameters to represent a pseudo-signal and then converting the pseudo-signal into cepstral coefficients. Once the cepstral coefficients are formed, they can be grouped using k-means clustering, which is a known technique for grouping cepstral coefficients. The resulting groupings are then translated onto the respective AR parameters that formed the cepstral coefficients. 
     Once the groupings have been formed, statistical parameters (μ k   s , V k   s , α s , β s ) that describe the distribution for each mixture component are determined from the AR training parameters grouped in each component. Techniques for determining these values for a Normal-Gamma distribution given a data set are well known. The resulting statistical parameters are then stored as prior AR parameter model  314 . 
     Once the prior parameter model has been generated, it can be used to identify denoised signals  302  from noisy signals  304 . Ideally, this would be done by using the prior model and direct inference to determine a posterior probability that describes the likelihood of a particular clean signal, x, given a noisy signal, y. Such posterior probabilities are commonly calculated for simple models using the inference-based Bayes rule, which states: 
               p   ⁡     (     x   |   y     )       =         p   ⁡     (     y   |   x     )       ⁢     p   ⁡     (   x   )           p   ⁡     (   y   )                 EQ.  6             
 
where p(x|y) is the posterior probability, p(y|x) is a likelihood that provides the probability of the noisy signal given the clean signal, and p(x) and p(y) are prior probabilities of the clean signal and noisy signal, respectively.
 
     For the present invention, the posterior probability becomes p(s,θ,x|y), which is the joint probability of mixture component s, AR parameters θ, and denoised signal x given noisy signal y. However, attempting to calculate this value using exact inference becomes intractable because it results in a quartic term exp(x 2 θ 2 ). 
     Under one embodiment of the present invention, the intractability of calculating the exact posterior probability is overcome using variational inference. Under this technique, the posterior probability is replaced with an approximation that is then adapted so that the distance between the approximation and the actual posterior probability is minimized. In particular, the approximation, q(s,θ,x|y), to the posterior probability is adapted by maximizing an improvement function defined as: 
               F   ⁡     [   q   ]       =       ∑   s     ⁢     ∫       ⅆ   x     ⁢     ⅆ   θ     ⁢           ⁢     q   ⁡     (     s   ,   θ   ,     x   |   y       )       ⁢   log   ⁢       p   ⁡     (     s   ,   θ   ,   x   ,   y     )         q   ⁡     (     s   ,   θ   ,     x   |   y       )                       EQ.  7             
 
where F[q] is the improvement function, q(s,θ,x|y) is the approximation to the posterior probability, and p(s,θ,x,y) is the joint probability of mixture component s, AR parameters θ, denoised signal x, and noisy signal y.
 
     To limit the search space for the approximation to the posterior, the approximation is further defined as:
 
 q ( s,θ,x|y )= q ( s ) q (θ| s ) q ( x|s )  EQ. 8
 
where q(s) is the probability of mixture component s, q(θ|s) is the probability of AR parameters θ given mixture component s, and q(x|s) is the probability of a clean signal x given mixture component s.
 
     The approximation is updated by iterating between modifying the distributions that describe q(s) and q(θ|s), and modifying the distributions that describe q(x|s). To begin the iteration, prior AR parameter model  314  is used by a variational inference calculator  318  to initialize the statistical parameters associated with q(s) and q(θ|s). In particular, μ k   s , V k   s , α s , β s , which describe the distribution of prior AR parameter model p(θ|s), and π s , which describes the weighting of the mixture components in the prior AR parameter model, are used to initialize q(θ|s) and q(s), respectively. 
     With the hyper parameters of the AR distribution initialized, a mean, ρ n   s , and an N×N precision matrix, Λ s , that describe q(x|s) are obtained as: 
               ρ   n   s     =       1   N     ⁢       ∑     k   =   0       N   -   1       ⁢       ⅇ     ⅈ   ⁢           ⁢     w   k     ⁢   n       ⁢       f   ~     k   s     ⁢       y   ~     k                   EQ.  9                 Λ   nm   s     =       1   N     ⁢       ∑     k   =   0       N   -   1       ⁢       ⅇ     ⅈ   ⁢           ⁢       w   k     ⁡     (     n   -   m     )           ⁢       g   ~     k   s                   EQ.  10             
 
where ρ n   s  is the mean of the nth time point in a frame of the denoised signal for mixture component s, Λ nm   s , is the an entry in the precision matrix that provides the covariance of two values at time points n and m, N is the number of frequencies in the Fast Fourier Transform, w k  is the kth frequency, {tilde over (y)} k  is Fast Fourier Transform of a frame of the noisy signal at the kth frequency and {tilde over (f)} k   s  and {tilde over (g)} k   s  are defined as: 
                 f   ~     k   s     =       λ   ⁢              b   ~     k   ′          2           g   ~     k   s               EQ.  11             
{tilde over (g)} k   s =λ|{tilde over (b)}′ k | 2 +E s (v|ã′ k | 2 )EQ. 12
 
where {tilde over (b)}′ k  and λ are AR parameters of an AR description of noise, ã′ k  is the frequency domain representation of the AR parameters for the clean signal as defined in EQ. 5 above, and E s ( ) denotes averaging with respect to the distribution of AR parameters q(θ|s).
 
     The result of equations 9–12 produces an adapted distribution for denoised speech  320  in  FIG. 3 . Adapted denoised speech distribution  320  is then used by variational inference calculator  318  to update the hyper parameters that describe the distribution of q(θ|s) through:
 
 {circumflex over (V)}   s   =R   s   +V   s   EQ. 13
 
{circumflex over (μ)} s   ={circumflex over (V)}   s   −1 ( r   s   +V   s μ s )  EQ. 14
 
       {circumflex over (α)} s   =N+p+α   s   EQ. 15                 β   ^     s     =         1   N     ⁢       ∑   k     ⁢                a   ~       k   ′            2     ⁢     E   s     ⁢              x   ~     k          2           +       1   p     ⁢       ∑     k   ′       ⁢                  ξ   ~       sk   ′       ⁢       a   ~       k   ′         -       η   ~       sk   ′              2         +     β   s               EQ.  16                   π   ^     s     =         -     λ     2   ⁢   N         ⁢       ∑   k     ⁢                b   ~       k   ′            2     ⁢     E   s     ⁢                y   ~     k     -       x   ~     k            2           -       υ     2   ⁢   N       ⁢       ∑   k     ⁢                a   ~       k   ′            2     ⁢     E   s     ⁢              x   ~     k          2           -       υ     2   ⁢   p       ⁢       ∑     k   ′       ⁢                  ξ   ~       sk   ′       ⁢       a   ~       k   ′         -       η   ~       sk   ′              2         +         N   +   p     2     ⁢   log   ⁢           ⁢   υ     -       ∑   k     ⁢     log   ⁢           ⁢       g   ~     sk                   EQ.  17               
where μ s  and V s  are the mean matrix and precision matrix for the sth mixture component in the previous version of the distribution, α s , β s , and π s  are the shape parameter, size parameter, and weighting value of the sth mixture component in the previous version of the distribution, {circumflex over (μ)} s  and {circumflex over (V)} s  are the updated mean matrix and precision matrix, {circumflex over (α)} s , {circumflex over (β)} s , and {circumflex over (π)} s  are the updated shape parameter, size parameter, and weighting value, a=μ s , υ={circumflex over (α)} s /{circumflex over (β)} s , the subscript k refers to N-point FFT, the subscript k′ refers to a p-point FFT, {tilde over (g)} sk  is defined in equation 12 above, ξ s  and η s  represent μ n   s  and V nm   s , and R s  and r s  are matrices that have entries defined at row n and column m as: 
               R     n   ,   m     s     =       1   N     ⁢       ∑     k   =   0       N   -   1       ⁢       ⅇ     ⅈ   ⁢           ⁢       w   k     ⁡     (     n   -   m     )           ⁢       E   s     ⁡     (              x   ~     k          2     )                     EQ.  18             
r n   s =R n,0   s EQ. 19
 
such that 
                 V   ^       n   ,   m     s     =       V     n   ,   m     s     +       1   N     ⁢       ∑     k   =   0       N   -   1       ⁢       ⅇ     ⅈ   ⁢           ⁢       w   k     ⁡     (     n   -   m     )           ⁢       E   s     ⁡     (              x   ~     k          2     )                       EQ.  20                   μ   ^     n   s     =         V   ^       s   ,   n       -   1       ⁡     (         1   N     ⁢       ∑     k   =   0       N   -   1       ⁢     ⅇ     ⅈ   ⁢           ⁢       w   k     ⁡     (   n   )               +       V     s   ,   n       ⁢     μ   n   s         )               EQ.  21               
where V n   s  represents the nth row in the precision matrix and E s ( ) indicates averaging with respect to q(x|s), which is defined as: 
                 E   s     ⁢              x   ~     k          2       =                ρ   ~     k          2     +     N       g   ~     sk                 EQ.  22                   E   s     ⁢                y   ~     k     -       x   ~     k            2       =                  y   ~     k     -       ρ   ~     k            2     +     N       g   ~     sk                 EQ.  23               
     The updates to the AR parameter distribution result in an adapted AR distribution model  322 . The distributions for the AR parameters and the denoised values continue to be adapted in an alternating fashion until the adapted distributions converge on final values. At this point, denoised speech values for time points, n, in the frame can be determined as: 
                 x   ^     n     =       ∑   s     ⁢         π   ^     s     ⁢     ρ   n   s                 EQ.  24             
 
     Under one embodiment of the present invention, the variational inference technique described above forms an E-step in an Expectation-Maximization (EM) algorithm. Under the E-step of a typical EM algorithm, a distribution for a hidden variable is determined, wherein a hidden variable is a variable that cannot be observed directly. Under the present invention, the variational inference is used in the E-step to allow distributions for two different hidden variables to be determined while maintaining the dependence of the two variables to each other. 
     In particular, by using variational inference, embodiments of the present invention are able to determine a distribution for the AR parameters and a distribution for the denoised values, without assuming that the parameters and the values are independent of each other. The results of this variational inference are a set of distributions for the AR parameters and the denoised values that represent the relationship between the parameters and the denoised values. 
     In some embodiments, the E-step determination of the distributions for the AR parameters and the denoised values is followed by a maximization step (M-step) in which model parameters used in the E-step are updated based on the distributions for the hidden variables. In particular, the AR parameters, {tilde over (b)} k ′ and λ, that described a noise model are updated based on the distribution using the following update equations: 
       b=Q −1 q  EQ. 25             λ   =       (       1     N   2       ⁢       ∑   k     ⁢                b   ~       k   ′            2     ⁢   E   ⁢                y   ~     k     -       x   ~     k            2           )       -   1               EQ.  26               
where b and Q are matrices, with the entries in Q defined as: 
               Q   nm     =       1   N     ⁢       ∑   k     ⁢       ⅇ       ⅈω   k     ⁡     (     n   -   m     )         ⁢   E   ⁢                y   ~     k     -       x   ~     k            2                   EQ.  27               
and where q is a vector defined as q n =Q n0  and E denotes averaging with respect to q(x) and is given by: 
               E   ⁢                y   ~     k     -       x   ~     k            2       =       ∑   s     ⁢         π   ^     s     ⁢     E   s     ⁢                y   ~     k     -       x   ~     k            2                 EQ.  28               
     The M-step can also be used to update a set of filter coefficients, h, that describes the effects of reverberation on the clean signal. In particular, with reverberation taken into consideration, the relationship between a noisy signal sample, y n , and a set of clean signal samples, x n , becomes: 
               y   n     =         ∑   m     ⁢       h   m     ⁢     x     n   -   m           +     u   n               EQ.  29             
 
where h m  is an impulse filter response and u n  is additive noise.
 
     In embodiments that apply an M-step, the E-step and the M-step are iteratively repeated until the distributions for the estimate of the denoised values converge. Thus, a nested iteration is provided with an outer EM iteration and an inner iteration associated with the variational inference of the E-step. 
     By using a distribution of possible AR parameters instead of point values to determine the distribution of denoised values, the present invention provides a more accurate distribution for the denoised values. In addition, by utilizing variational inference, the present invention is able to improve the efficiency of identifying an estimate of a denoised signal. 
       FIG. 4  provides a block diagram of hardware components and program modules found in the general computing environments of  FIGS. 1 and 2  that are particularly relevant to an embodiment of the present invention used for speech recognition. In  FIG. 4 , an input speech signal from a speaker  400  pass through a channel  401  and together with additive noise  402  is converted into an electrical signal by a microphone  404 , which is connected to an analog-to-digital (A-to-D) converter  406 . 
     A-to-D converter  406  converts the analog signal from microphone  404  into a series of digital values. In several embodiments, A-to-D converter  406  samples the analog signal at 16 kHz and 16 bits per sample, thereby creating 32 kilobytes of speech data per second. 
     The output of A-to-D converter  406  is provided to a Fast Fourier Transform  407 , which converts 16 msec overlapping frames of the time-domain samples into frames of frequency-domain values. These frequency domain values are then provided to a noise reduction unit  408 , which generates a frequency-domain estimate of a clean speech signal using the techniques described above. 
     Under one embodiment, the frequency-domain estimate of the clean speech signal is provided to a feature extractor  410 , which extracts a feature from the frequency-domain values. Examples of feature extraction modules include modules for performing Linear Predictive Coding (LPC), LPC derived cepstrum, Perceptive Linear Prediction (PLP), Auditory model feature extraction, and Mel-Frequency Cepstrum Coefficients (MFCC) feature extraction. Note that the invention is not limited to these feature extraction modules and that other modules may be used within the context of the present invention. 
     Under other embodiments, noise reduction unit  408  identifies an average spectrum for a clean speech signal instead of an estimate of the clean speech signal. To determine the average spectrum, {Ŝ k }, equation 24 is modified to: 
                 {     S   ^     }     k     =       ∑   s     ⁢         π   ^     s     ⁡     (              ρ     s   ,   k            2     +     N     g     k   ,   s           )                 EQ.  30             
 
where g is defined in equation 12, {Ŝ k } is the estimate of |x k | 2 , i.e. the mean spectrum of the frame, and ρ s,k  is defined as:
 
ρ s,k ={tilde over (f)} k   s {tilde over (y)} k   EQ. 31
 
where {tilde over (f)} k   s  is defined in equation 11 above and {tilde over (y)} k  is the kth frequency component of the current noisy signal frame.
 
     The average spectrum is provided to feature extractor  410 , which extracts a feature value from the average spectrum. Note that the average spectrum of EQ. 21 is a different value than the square of the estimate of a denoised value. As a result, the feature values derived from the average spectrum are different from the feature values derived from the estimate of the denoised signal. Under some applications, the present inventors believe the feature values from the average spectrum produce better speech recognition results. 
     The feature vectors produced by feature extractor  410  are provided to a decoder  412 , which identifies a most likely sequence of words based on the stream of feature vectors, a lexicon  414 , a language model  416 , and an acoustic model  418 . 
     In some embodiments, acoustic model  418  is a Hidden Markov Model consisting of a set of hidden states. Each linguistic unit represented by the model consists of a subset of these states. For example, in one embodiment, each phoneme is constructed of three interconnected states. Each state has an associated set of probability distributions that in combination allow efficient computation of the likelihoods against any arbitrary sequence of input feature vectors for each sequence of linguistic units (such as words). The model also includes probabilities for transitioning between two neighboring model states as well as allowed transitions between states for particular linguistic units. By selecting the states that provide the highest combination of matching probabilities and transition probabilities for the input feature vectors, the model is able to assign linguistic units to the speech. For example, if a phoneme was constructed of states 0, 1 and 2 and if the first three frames of speech matched state 0, the next two matched state 1 and the next three matched state 2, the model would assign the phoneme to these eight frames of speech. 
     Note that the size of the linguistic units can be different for different embodiments of the present invention. For example, the linguistic units may be senones, phonemes, noise phones, diphones, triphones, or other possibilities. 
     In other embodiments, acoustic model  418  is a segment model that indicates how likely it is that a sequence of feature vectors would be produced by a segment of a particular duration. The segment model differs from the frame-based model because it uses multiple feature vectors at the same time to make a determination about the likelihood of a particular segment. Because of this, it provides a better model of large-scale transitions in the speech signal. In addition, the segment model looks at multiple durations for each segment and determines a separate probability for each duration. As such, it provides a more accurate model for segments that have longer durations. Several types of segment models may be used with the present invention including probabilistic-trajectory segmental Hidden Markov Models. 
     Language model  416  provides a set of likelihoods that a particular sequence of words will appear in the language of interest. In many embodiments, the language model is based on a text database such as the North American Business News (NAB), which is described in greater detail in a publication entitled CSR-III Text Language Model, University of Penn., 1994. The language model may be a context-free grammar or a statistical N-gram model such as a trigram. In one embodiment, the language model is a compact trigram model that determines the probability of a sequence of words based on the combined probabilities of three-word segments of the sequence. 
     Based on the acoustic model, the language model, and the lexicon, decoder  412  identifies a most likely sequence of words from all possible word sequences. The particular method used for decoding is not important to the present invention and any of several known methods for decoding may be used. 
     The most probable sequence of hypothesis words is provided to a confidence measure module  420 . Confidence measure module  420  identifies which words are most likely to have been improperly identified by the speech recognizer, based in part on a secondary frame-based acoustic model. Confidence measure module  420  then provides the sequence of hypothesis words to an output module  422  along with identifiers indicating which words may have been improperly identified. Those skilled in the art will recognize that confidence measure module  420  is not necessary for the practice of the present invention. 
     Although the present invention has been described with reference to AR parameters, the invention is not limited to auto-regression models. Those skilled in the art will recognize that in the embodiments above, the AR parameters are used to model the spectrum of a denoised signal and that other parametric descriptions of the spectrum may be used in place of the AR parameters. For example, one may simply use the spectra themselves, S k  for frequency k, as parameters. This means replacing ν|ã′ k | in the equations above with 1/S k  and determining a distribution over the S k , e.g. a Gamma distribution for each k. 
     In addition, although the present invention has been described with reference to a computer system, it may also be used within the context of hearing aids to remove noise in the speech signal before the speech signal is amplified for the user. 
     Although the present invention has been described with reference to preferred embodiments, workers skilled in the art will recognize that changes may be made in form and detail without departing from the spirit and scope of the invention.