# Patent

## Title
Middle-end solution to robust speech recognition

## Abstract

A method for performing time and frequency Signal-to-Noise Ratio (SNR) dependent weighting in speech recognition is described that includes for each period t estimating the SNR to get time and frequency SNR information ηt,f; calculating the time and frequency weighting to get γtf; performing the back and forth weighted time varying DCT transformation matrix computation MGtM−1 to get Tt; providing the transformation matrix Tt and the original MFCC feature ot that contains the information about the SNR to a recognizer including the Viterbi decoding; and performing weighted Viterbi recognition bj(ot).

## Background
FIELD OF INVENTION
This invention relates to speech recognition and more particularly to Signal-to-Noise Ratio (SNR) dependent decoding and weighted Viterbi recognition.
BACKGROUND OF INVENTION
A technique of time-varying SNR dependent coding for increased communication channel robustness is described by A. Bernard, one of the inventors herein, and A. Alwan in “Joint channel decoding—Viterbi Recognition for Wireless Applications”, in Proceedings of Eurospeech, Sebt. 2001, vol. 4, pp. 2703-6; A. Bernard, X. Liu, R. Wesel and A. Alwan in “Speech Transmission Using Rate-Compatable Trellis codes and Embedded Source Coding,” IEEE Transactions on Communications, vol. 50, no. 2, pp 309-320, Feb. 2002.; A. Bernand and A. Alwan, “Source and Channel Coding for low bit rate distributed speech recognition systems”, IEEE Transactions on Speech and Audio Processing, Vol. 10, No. 8 , pp570-580, Nov. 2202; and A. Bernard in “Source and Channel Coding for Speech and Remote Speech Recognition,” Ph.D. thesis, University of California, Los Angeles, 2002.
For channel and acoustic robustness is described by X. Cui, A. Bernard, and A. Alwan in “A Noise-robust ASR back-end technique based on Weighted Viterbi Recognition,” in Proceedings of Eurospeech, September 2003, pp. 2169-72.
Speech recognizers compare the incoming speech to speech models such as Hidden Markov Models HMMs to identify or recognize speech. Typical speech recognizers combine the likelihoods of the recognition features of each speech frame with equal importance to provide the overall likelihood of observing the sequence of feature vectors. Typically robustness in speech recognition is dealt with either at the front end (by cleaning up the features) or at the back end (by adapting the acoustic model to the particular acoustic noise and channel environment).
Such classic recognizers fail to differentiate between the particular importance of each individual frame, which can significantly reduce recognition performance when the importance of each frame can be quantitatively estimated into a weighted recognition mechanism.
SUMMARY OF INVENTION
In accordance with one embodiment of the present invention a procedure for performing speech recognition which can integrate, besides the usual speech recognition feature vector, information regarding the importance of each feature vector (or even frequency band within the feature vector). Applicant's solution leaves both the acoustic features and models intact and only modifies the weighting formula in the combination of the individual frame likelihoods.
In accordance with an embodiment of the present invention a method for performing time and frequency SNR dependent weighting in speech recognition includes for each period t estimating the SNR to get time and frequency SNR information ηt,f; calculating the time and frequency weighting to get γtf; performing the back and forth weighted time varying DCT transformation matrix computation MGtM−1 to get Tt; providing the transformation matrix Tt and the original MFCC feature ot that contains the information about the SNR to a recognizer including the Viterbi decoding; and performing weighted Viterbi recognition bj(ot).



DESCRIPTION OF DRAWING
FIG. 1 is an illustration of the Viterbi algorithm for HMM speech where the vertical dimension represents the state and the horizontal dimension represents the frames of speech (i.e. time).
FIG. 2 is a block diagram of time and frequency SNR dependent weighted Viterbi recognition.
FIG. 3 illustrates the performance of t-WVR back-end on the Aurora-2 database for different SNRs.



DESCRIPTION OF PREFERRED EMBODIMENT
Review of Time Weighted Viterbi Recognition
In general, there are two related approaches to solve the temporal alignment problem with HMM speech recognition. The first is the application of dynamic programming or Viterbi decoding, and the second id the more general forward/backward algorithm. The Viterbi algorithm (essentially the same algorithm as the forward probability calculation except that the summation is replaced by a maximum operation) is typically used for segmentation and recognition and the forward/backward for training. See for the Viterbi algorithm G. D. Forney, “The Viterbi algorithm,” IEEE Transactions on Communications, vol. 61, no. 3, pp. 268-278, April 1973.
The Viterbi algorithm finds the state sequence Q that maximizes the probability P* observing the features sequence (O=o1, . . . oT) given the acoustic model λ




  
    
      
        
          P
          *
        
        =
        
          
            max
            
              All
              ⁢
              
                
              
              ⁢
              Q
            
          
          ⁢
          
            
              P
              ⁡
              
                (
                
                  Q
                  ,
                  
                    O
                    ❘
                    λ
                  
                
                )
              
            
            .
          
        
      
    
    
      
        (
        1
        )
      
    
  




In order to calculate P* for a given model λ, we define the metric φj(t), which represents the maximum likelihood of observing the features sequence (O=o1, . . . ot) given that we are in state j at time t. Based on dynamic programming, this partial likelihood can be computed efficiently using the following recursion




  
    
      
        
          
            φ
            j
          
          ⁡
          
            (
            t
            )
          
        
        =
        
          
            max
            i
          
          ⁢
          
            
              {
              
                
                  
                    φ
                    j
                  
                  ⁡
                  
                    (
                    
                      t
                      -
                      1
                    
                    )
                  
                
                ⁢
                
                  a
                  ij
                
              
              }
            
            ⁢
            
              
                
                  b
                  j
                
                ⁡
                
                  (
                  
                    o
                    t
                  
                  )
                
              
              .
            
          
        
      
    
    
      
        (
        2
        )
      
    
  




The maximum likelihood P* (O|λ) is then given by P* (O|λ)=maxj{φj(T)}.
The recursion (2) forms the basis of the Viterbi Algorithm (VA) whose idea is that there is only one “best” path to state j at time t.
As shown in FIG. 1, this algorithm can be visualized as finding the best path through a trellis where the vertical dimension represents the states of the HMM and the horizontal dimension represents the frames of speech (i.e. time).
Time Weighted Viterbi Recognition (WVR)
In speech recognition, the quality of speech features can depend on many factors: acoustic noise, microphone quality, quality of communication, etc. The weighted Viterbi recognizer (WVR), presented in the “Joint Channel Decoding-Viterbi Recognion for Wireless Applications,” cited above, modifies the Viterbi algorithm (VA) to take into account the quality of the feature.
The time-varying quality γt of the feature vector at time t is inserted in the VA by raising the probability bj(ot)to the power γt to obtain the following state metrics update equation:




  
    
      
        
          φ
          
            j
            ,
            t
          
        
        =
        
          
            max
            i
          
          ⁢
          
            
              
                [
                
                  
                    φ
                    
                      i
                      ,
                      
                        t
                        -
                        1
                      
                    
                  
                  ⁢
                  
                    a
                    ij
                  
                
                ]
              
              ⁡
              
                [
                
                  
                    b
                    j
                  
                  ⁡
                  
                    (
                    
                      o
                      t
                    
                    )
                  
                
                ]
              
            
            t
            γ
          
        
      
    
    
      
        (
        3
        )
      
    
  




where φj,t is the state metric for state j at time t and aij is the state transition metric. Such weighting has the advantage of becoming a simple multiplication of log (bj(ot)) by γt in the logarithmic domain often used for scaling purposes. Furthermore, note that if one is certain about the received feature, γt=1 and equation 3 is equivalent to equation. 2. On the other hand, if the decoded feature is unreliable, γt=0 and the probability of observing the feature given the HMM state model bj(ot) is discarded in the VA recursive step.

Under the hypothesis of a diagonal covariance matrix Σ, the overall probability bj(ot) can be computed as the product of the probabilities of observing each individual feature. The weighted recursive formula (equation 3) can include individual weighting factors γt,t for each of the NF front-end features.




  
    
      
        
          φ
          
            j
            ,
            t
          
        
        =
        
          
            max
            ⁡
            
              [
              
                
                  φ
                  
                    i
                    ,
                    
                      t
                      -
                      1
                    
                  
                
                ⁢
                
                  a
                  ij
                
              
              ]
            
          
          ⁢
          
            
              ∏
              
                k
                =
                1
              
              
                N
                F
              
            
            ⁢
            
              
            
            ⁢
            
              
                [
                
                  
                    b
                    j
                  
                  ⁡
                  
                    (
                    
                      o
                      t
                    
                    )
                  
                
                ]
              
              
                k
                ,
                
                  ...
                  ⁢
                  
                    
                  
                  ⁢
                  t
                  ⁢
                  
                    
                  
                  ⁢
                  ...
                
              
              γ
            
          
        
      
    
    
      
        (
        4
        )
      
    
  




where k indicates the index of the feature observed.

Time and Frequency WVR

In accordance with the present invention we provide an extension to the time-only weighted recognition presented in equation3. First, we present how we can use both time and frequency weighting. Second, we present how the weighting coefficients can be obtained.
Time and Frequency Weighting
With time weighting only, the insertion of the weighting coefficient in the overall likelihood computation could be performed after the probability bj (ot) had been computed by raising it to the power γt, using {tilde over (b)}j(ot)=[bj(ot)]γt.
In order to perform time and frequency SNR dependent weighting, we need to change the way the probability bj (ot) is computed. Normally, the probability of observing the NF-dimensional feature vector ot in the jth state is computed as follows,




  
    
      
        
          
            
              b
              j
            
            ⁡
            
              (
              
                o
                t
              
              )
            
          
          =
          
            
              ∑
              
                m
                =
                1
              
              
                N
                M
              
            
            ⁢
            
              
            
            ⁢
            
              
                w
                m
              
              ⁢
              
                1
                
                  
                    
                      
                        (
                        
                          2
                          ⁢
                          π
                        
                        )
                      
                      
                        N
                        F
                      
                    
                    ⁡
                    
                      [
                      Σ
                      ]
                    
                  
                
              
              ⁢
              
                e
                
                  
                    -
                    
                      1
                      2
                    
                  
                  ⁢
                  
                    
                      (
                      
                        ot
                        -
                        μ
                      
                      )
                    
                    ′
                  
                  ⁢
                  
                    
                      ∑
                      
                        -
                        1
                      
                    
                    ⁢
                    
                      
                    
                    ⁢
                    
                      (
                      
                        ot
                        -
                        μ
                      
                      )
                    
                  
                
              
            
          
        
        ,
      
    
    
      
        (
        5
        )
      
    
  




where NM is the number of mixture components, wm is the mixture weight, and the parameters of the multivariate Gaussian mixture are its mean vector μ and covariance matrix Σ.

In order to simplify notation, we should only note that log(bj(ot)) is proportional to a weighted sum of the cepstral distance between the observed feature and the cepstral mean (ot-μ), where the weighting coefficients are based on the inverse covariance matrix (Σ−1),




  
    
      
        
          log
          ⁡
          
            (
            
              
                b
                j
              
              ⁡
              
                (
                
                  o
                  t
                
                )
              
            
            )
          
        
        ⁢
        
          
            ∞
            ⁡
            
              (
              
                ot
                -
                μ
              
              )
            
          
          ′
        
        ⁢
        
          
            ∑
            
              -
              1
            
          
          ⁢
          
            
          
          ⁢
          
            
              (
              
                
                  o
                  t
                
                -
                μ
              
              )
            
            .
          
        
      
    
    
      
        (
        6
        )
      
    
  




Remember that the NF-dimensional cepstral feature ot is obtained by performing the Discrete Cosine Transform (DCT) on the NS-dimensional log Mel spectrum (S). Mathematically, if the NF×NS dimensional matrix M represents the DCT transformation matrix, then we have ot=MS. Reciprocally, we have S=M−1 ot where M−1 (NS×NF) represent the matrix for the inverse DCT operation.
Since usually the frequency weighting coefficients we have at hand will be in the log spectral domain (whether linear or Mel spectrum scale is not important) and not in the cepstral domain, we use the inverse DCT matrix S=M−1 to transform the cepstral distance (ot-μ) into a spectral distance. Once in the spectral domain, time and frequency weighting can be applied by means of a time-varying diagonal matrix Gt which represents the weighting coefficients γt,f,

Gt=diag(γt,f)  (7)

Finally, once the weighting has been performed, we can go back to the spectral domain by performing the forward DCT operation. All together, the time and spectral frequency weighting operation on the cepstral distance d=(ot-μ) becomes

{tilde over (d)}=MGtM−1(ot-μ)  (8)

With this notation, the weighted probability of observing the feature becomes




  
    
      
        
          
            
              b
              ~
            
            j
          
          ⁡
          
            (
            
              o
              t
            
            )
          
        
        =
        
          
            ∑
            
              m
              =
              1
            
            
              N
              M
            
          
          ⁢
          
            
          
          ⁢
          
            
              w
              m
            
            ⁢
            
              1
              
                
                  
                    
                      (
                      
                        2
                        ⁢
                        π
                      
                      )
                    
                    
                      N
                      F
                    
                  
                  ⁡
                  
                    [
                    Σ
                    ]
                  
                
              
            
            ⁢
            
              e
              
                
                  -
                  
                    1
                    2
                  
                
                ⁢
                
                  
                    (
                    
                      ot
                      -
                      μ
                    
                    )
                  
                  ′
                
                ⁢
                
                  
                    (
                    
                      
                        MG
                        t
                      
                      ⁢
                      
                        M
                        
                          -
                          1
                        
                      
                    
                    )
                  
                  ′
                
                ⁢
                
                  
                    ∑
                    
                      -
                      1
                    
                  
                  ⁢
                  
                    
                      (
                      
                        
                          MG
                          t
                        
                        ⁢
                        
                          M
                          
                            -
                            1
                          
                        
                      
                      ⁢
                      
                        
                      
                      )
                    
                    ⁢
                    
                      (
                      
                        ot
                        -
                        μ
                      
                      )
                    
                  
                
              
            
          
        
      
    
    
      
        (
        9
        )
      
    
  




which can be rewritten using a back-and-forth weighted time-varying transformation matrix Tt=MGtM−1 as





  
    
      
        
          
            
              
                
                  
                    b
                    ~
                  
                  j
                
                ⁡
                
                  (
                  
                    o
                    t
                  
                  )
                
              
              =
              
                
                  ∑
                  
                    m
                    =
                    1
                  
                  
                    N
                    M
                  
                
                ⁢
                
                  
                
                ⁢
                
                  
                    w
                    m
                  
                  ⁢
                  
                    1
                    
                      
                        
                          
                            (
                            
                              2
                              ⁢
                              π
                            
                            )
                          
                          
                            N
                            F
                          
                        
                        ⁡
                        
                          [
                          Σ
                          ]
                        
                      
                    
                  
                  ⁢
                  μ
                
              
            
            )
          
          ⁢
          
            e
            
              
                -
                
                  1
                  2
                
              
              ⁢
              
                
                  (
                  
                    ot
                    -
                    μ
                  
                  )
                
                ′
              
              ⁢
              
                (
                
                  Tt
                  ′
                
                )
              
              ⁢
              
                
                  ∑
                  
                    -
                    1
                  
                
                ⁢
                
                  
                
                ⁢
                
                  
                    (
                    Tt
                    )
                  
                  ⁢
                  
                    (
                    
                      ot
                      -
                      μ
                    
                    )
                  
                
              
            
          
        
        ,
      
    
    
      
        (
        10
        )
      
    
  




which can also resemble the unweighted equation 5 with a new inverse covariance matrix





  
    
      
        
          
            
              
                
                  
                    Σ
                    ~
                  
                  
                    -
                    1
                  
                
                =
                
                ⁢
                
                  
                    T
                    t
                    ′
                  
                  ⁢
                  
                    
                      ∑
                      
                        -
                        1
                      
                    
                    ⁢
                    
                      t
                      t
                    
                  
                
              
              ,
            
          
        
        
          
            
              
                
                  
                    b
                    ~
                  
                  j
                
                ⁡
                
                  (
                  
                    o
                    t
                  
                  )
                
              
              =
              
              ⁢
              
                
                  ∑
                  
                    m
                    =
                    1
                  
                  
                    N
                    M
                  
                
                ⁢
                
                  
                
                ⁢
                
                  
                    w
                    m
                  
                  ⁢
                  
                    1
                    
                      
                        
                          
                            (
                            
                              2
                              ⁢
                              π
                            
                            )
                          
                          
                            N
                            F
                          
                        
                        ⁡
                        
                          [
                          Σ
                          ]
                        
                      
                    
                  
                  ⁢
                  
                    e
                    
                      
                        -
                        
                          1
                          2
                        
                      
                      ⁢
                      
                        
                          (
                          
                            ot
                            -
                            μ
                          
                          )
                        
                        ′
                      
                      ⁢
                      
                        
                          
                            Σ
                            ~
                          
                          
                            -
                            1
                          
                        
                        ⁡
                        
                          (
                          
                            ot
                            -
                            μ
                          
                          )
                        
                      
                    
                  
                
              
            
          
        
      
    
    
      
        (
        11
        )
      
    
  




To conclude this part on time and frequency weighting, note that time weighting only is a special case of time and frequency weighting where Gt=γt·I where I is the identity matrix, which also means that the weighting is the same for all the frequencies.
Determining the Weighting Coefficients
In order to have the system performing SNR dependent decoding, we first need a time and frequency SNR evaluation. In the special case presented above, the time frequency scale is the frame based (every 10 ms) and the frequency scale is the Mel frequency scale, which divides the narrowband speech spectrum (0-4 kHz) in 25 non-uniform bandwidth frequency bins.
In that specific case, the time and frequency SNR evaluation we are using for the purpose of evaluating the presented technique is that of the ETSI Distributed Speech Recognition standard which evaluates the SNR in the time and frequency domain for spectral subtraction purposes. See ETSI STQ-Aurora DSR Working Group, “Extended Advanced Front-End (xafe) Algorithm Description,” Tech. Rep., ETSI, March 2003.
Regardless of the technique used to obtain such time and frequency dependent SNR estimate, we decide to refer to such value as ηt,f. ηt,f is the SNR at frequency f at t time. The weighting coefficient γtf can be obtained by performing any function which will monotonically map the values taken by the SNR evaluation (logarithmic or linear) to the interval [0,1] of the values that can be taken by the weighting coefficients γtf. In other words, we have

γtf=f(ηt,f)  (12)

One particular instantiation of equation 12 is using a Wiener filter type equation applied on the linear SNR estimate to obtain,




  
    
      γ
      
        t
        ,
        f
      
    
    =
    
      
        
          η
          
            t
            ,
            f
          
        
      
      
        1
        +
        
          
            η
            
              t
              ,
              f
            
          
        
      
    
  
  ,




which guarantees that γtf is equal to 0 when ηt,f=0 and γt,f approaches 1 when ηt,f is large.

FIG. 2 illustrates the block diagram for the time and frequency weighted Viterbi recognition algorithm. When you have speech (speech frame t) the first step 21 is to estimate the SNR to get ηt,f. Then the weighting is calculated to get γtf at step 23. Then the transform matrix computation at step 25 is performed. This is the MGtM−1 to get Tt. The next step is Viterbi decoding at step 27 to get bj(ot). Here the original MFCC feature ot is sent to the recognizer. The original feature contains the information about the SNR.
Performance Evaluation
Experimental Conditions
We used the standard Aurora-2 testing procedure, which averages recognition performance over 10 different noise conditions (two with channel mismatch in Test C) at 5 different SNR levels (20 dB, 15 dB, 10 dB, 5 dB and 0 dB).
As a reminder, performance is established using the following configuration: a 21-dimensional feature vector (16 Mel frequency cepstral coefficients (MFCC) features with 1st order derivative) extracted every 10 ms and 16 states word HMM models with 20 Gaussian mixtures per state.
Performance of Time-WVR Algorithm
FIG. 3 summarizes the performance of time-WVR algorithm on the Aurora-2 database. As expected, the t-WVR algorithm improves recognition accuracies mainly in the medium SNR range. Indeed, it is in the medium SNR range that the frames distinction that can be obtained by performing SNR dependent weighting is the most useful. At low (resp. high) SNR range most features are already usually bad (good).
In accordance with the present invention the weighting function can be applied in the logarithmic domain using a simple multiplicative operation. The weighting coefficient can be the output of many different important estimation mechanisms, including a frame SNR estimation, a pronunciation probability estimation, a transmission over a noisy communication channel reliability estimation, etc.
Although preferred embodiments have been described, it will be apparent to those skilled in the art that various modifications, additions, substitutions and the like can be made without departing from the spirit of the invention and these are therefore considered to be within the scope of the invention as defined in the following claims.

## Claims

1. A method for recognizing speech by determining the likelihood of observing a feature vector ot of a speech signal employing time and frequency Signal-to-Noise Ratio (SNR) dependent weighting, said method comprising the steps of:
receiving a speech signal;
for each time period t of the speech signal, estimating the SNR to get time and frequency SNR information ηt,f;
calculating the time and frequency weighting to get weighting coefficient γtf, wherein γtf is a function of ηt,f;
using an inverse Discrete Cosine Transform (DCT) matrix M−1 to transform a cepstral distance (ot-μ) associated with the speech time period t to a spectral distance;
computing a weighted spectral distance by applying time and frequency weighting to the spectral distance employing a time-varying diagonal matrix Gt which represents the weighting coefficient γtf;
transforming the weighted spectral distance to a weighted cepstral distance employing a forward DCT matrix M;
calculating a likelihood of observing the feature vector ot by employing the weighted cepstral distance in a probability function bj(ot); and
performing speech recognition of the speech signal employing the probability function bj(ot) that is both time and frequency weighted.

2. The method of claim 1 wherein




  
    
      γ
      
        t
        ,
        f
      
    
    =
    
      
        
          η
          
            t
            ,
            f
          
        
      
      
        1
        +
        
          
            η
            
              t
              ,
              f
            
          
        
      
    
  
  ,




which guarantees that γtf is equal to 0 when ηt,f=0 and γt,f approaches 1 when ηt,f is large.

3. The method of claim 1 wherein the performing speech recognition includes employing a Viterbi algorithm.

4. The method of claim 1 wherein the estimating the SNR to get time and frequency SNR information ηt,f is a pronunciation probability estimation.

5. The method of claim 1 wherein the estimating the SNR to get time and frequency SNR information ηt,f is a transmission over a noisy communication channel reliability estimation.

6. A method for recognizing speech by determining the likelihood of observing a feature vector ot of a speech signal employing time and frequency Signal-to-Noise Ratio (SNR) dependent weighting, said method comprising the steps of:
receiving a speech signal;
for each speech frame t of the speech signal, estimating SNR to get time and frequency SNR information ηt,f;
calculating the time and frequency weighting to get weighting coefficient γt,f, wherein γt,f a function of ηt,f;
transforming a cepstral distance (ot-μ) associated with the speech frame t to a spectral distance;
computing a weighted spectral distance by applying time and frequency weighting to the spectral distance employing a time-varying diagonal matrix that represents the weighting coefficient γtf;
transforming the weighted spectral distance to a weighted cepstral distance;
calculating a likelihood of observing the feature vector ot by employing the weighted cepstral distance in a probability function bj(ot); and
performing speech recognition of the speech signal employing the probability function bj(ot) that is both time and frequency weighted.

7. The method of claim 6 wherein the performing speech recognition includes employing a Viterbi algorithm.

8. The method of claim 6 wherein the estimating the SNR to get time and frequency SNR information ηt,f is a pronunciation probability estimation.

9. The method of claim 6 wherein the estimating the SNR to get time and frequency SNR information ηt,f is a transmission over a noisy communication channel reliability estimation.

10. A method of determining a likelihood of observing a feature vector ot in a speech model, comprising:
receiving a speech signal;
estimating a Signal-to-Noise Ratio (SNR) for each unit t of a feature vector ot of said speech signal to obtain time and frequency SNR information;
determining a transformation matrix Tt based on said time and frequency SNR information;
weighting a combination of said feature vector ot and a speech model parameter μ by said transformation matrix Tt to obtain a weighted cepstral distance Tt (ot-μ); and
employing said weighted cepstral distance Tt(ot-μ) that is both time and frequency weighted in a probability function bj(ot) to determine a likelihood of observing said feature vector ot.

11. The method of claim 10 wherein said unit t represents a frame t of said feature vector ot.

12. The method of claim 10 wherein said unit t represents a time period t of said feature vector ot.