Abstract:
The invention relates to speech signal processing that detects a speech signal from more than one microphone and obtains microphone signals that are processed by a beamformer to obtain a beamformed signal that is post-filtered signal with a filter that employs adaptable filter weights to obtain an enhanced beamformed signal with the post-filter adapting the filter weights with previously learned filter weights.

Description:
RELATED APPLICATION 
     This application claims priority of European Patent Application Serial Number 08 000 870.9, filed on Jan. 17, 2008, titled POST-FILTER FOR BEAMFORMING MEANS, which application is incorporated in its entirety by reference in this application. 
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     This invention relates to processing of beamformed signals, and in particular to post-filtering of beamformed signals. 
     2. Related Art 
     Background noise is often a problem in audio communication between two or more parties, such as radio or cellular communication. Background noise in noisy environments directly affects the quality and intelligibility of voice conversations, and in the worst cases, the background noise may even lead to a complete breakdown of communication. With the use of hands-free voice communion devices in vehicles increasing, the quality and intelligibility of a voice communication signal is becoming more of an issue. 
     Hands-free telephones provide a comfortable and safe communication system of particular use in motor vehicles. The use of hands-free telephones in vehicles have also been promoted by laws enacted in many cities, such as Chicago, Ill., that requires the operator of a vehicle to use a hand-free device when making or receiving cellular telephones calls while operating the vehicle. 
     In addition to the quality of the voice communication signal between the parties on a telephone call, vehicles and communication devices are making use of voice commands. Voice commands often rely on voice recognition of words. If the voice command is issued in an environment with background noise, it may be misinterpreted or be unintelligible to the receiving device. Once again, the use of single channel noise reduction is desirable in such devices. 
     Approaches to single channel noise reduction methods employing spectral subtraction are known in the art. Such as, speech signals being divided into sub-bands by sub-band filtering where a noise reduction algorithm is applied to each of the sub-bands. These types of approaches, however, are limited to almost stationary noise perturbations and positive signal-to-noise distances. The processed speech signals are also distorted by these approaches, since the noise perturbations are not eliminated but rather spectral components that are affected by noise are damped. The intelligibility of speech signals is, thus, normally not improved sufficiently by these approaches. 
     Current multi-channel systems primarily make use of adaptive or non-adaptive beamformers, see, e.g., “Optimum Array Processing, Part IV of Detection, Estimation, and Modulation Theory” by H. L. van Trees, Wiley &amp; Sons, New York 2002. The beamformer may combine multiple microphone input signals to one beamformed signal with an enhanced signal-to-noise ratio (SNR). Beamforming typically requires amplification of microphone signals corresponding to audio signals detected from a wanted signal direction by equal phase addition and attenuation of microphone signals corresponding to audio signals generated at positions in other direction. 
     The beamforming may be performed, in some approaches, by a fixed beamformer or an adaptive beamformer characterized by a permanent adaptation of processing parameters such as filter coefficients during operation (see e.g., “Adaptive beamforming for audio signal acquisition”, by Herbordt, W. and Kellermann, W., in “Adaptive signal processing: applications to real-world problems”, p. 155, Springer, Berlin 2003). By beamforming, the signal can be spatially filtered depending on the direction of the inclination of the sound detected by multiple microphones. 
     However, suppression of background noise in the context of beamforming is highly frequency-dependent and thus rather limited. Therefore, approaches that employ post-filters for processing the beamformed signals may be necessary in order to further reduce noise. But, such post-filters result in a time-dependent spectral weighting that is to be re-calculated in each signal frame. The determination of optimal weights, i.e., the filter characteristics, of the post-filters is still a major problem in the art. For instance, the weights are determined by means of coherence models or models based on the spatial energy. However, such relatively inflexible models do not allow for sufficiently suitable weights in the case of highly time-dependent strong noise perturbations. 
     Thus, there is a need for providing an approach for filtering background noise in the context of beamforming that overcomes the limitations of traditional post-filtering of the beamformed signal to reduce background noise. 
     SUMMARY 
     According to one implementation, an approach for reducing background noise via post-filtering of beamformed signals is described. A speech signal from more than one microphone is obtained as microphone signals. The microphone signals may then be processed by a beamformer to obtain a beamformed signal. A feature extractor may then extract at least one feature from the beamformed signal. A non-linear mapping module may then apply the extracted feature to generate learned filter weights in view of previous learned filter weights. The learned filter weights may then be employed by a post-filter for post-filtering the beamformed signals to obtain an enhanced beamformed signal that has reduced background noise. 
     Other devices, apparatus, systems, methods, features and advantages of the invention will be or will become apparent to one with skill in the art upon examination of the following figures and detailed description. It is intended that all such additional systems, methods, features and advantages be included within this description, be within the scope of the invention, and be protected by the accompanying claims. 
    
    
     
       BRIEF DESCRIPTION OF THE FIGURES 
       The invention may be better understood by referring to the following figures. The components in the figures are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention. In the figures, like reference numerals designate corresponding parts throughout the different views. 
         FIG. 1  is a block diagram of an example of signal processing in a signal processor of a beamformed signal according to an implementation of the invention. 
         FIG. 2  is a block diagram of the signal processing of the beamformed signal along with training of the non-linear module of  FIG. 1  that derives filter weights for the post-filter  120  according to an implementation of the invention. 
         FIG. 3  is a flow diagram of the procedure of training the non-linear mapping module of  FIG. 1  and  FIG. 2  according to an implementation of the invention. 
     
    
    
     DETAILED DESCRIPTION 
     In the following detailed description of the examples of various implementations, it will be understood that any direct connection or coupling between functional blocks, devices, components or other physical or functional units shown in the drawings or description in this application could also be implemented by an indirect connection or coupling. It will also be understood that the features of the various implementations described in this application may be combined with each other, unless specifically noted otherwise. 
     In the following, speech signal processing of a beamformed signal from a beamformer in the sub-band domain is described, for example. In this regime, the present invention provides a method for an optimal choice of filter weights H P  used for spectral weighting of spectral components of a beamformer X BF  output signal:
 
 X   p ( e   jΩμ   ,k )= X   BF ( e   jΩμ   ,k )· H   P (Ω μ   ,k )
 
in conventional notation where sub-bands are denoted by Ω μ , μ=1, . . . m and where k is the discrete time index. According to the present invention the filter weights H P  are obtained by means of previously learned filter weights.
 
     In  FIG. 1 , a block diagram  100  of an example of signal processing in a signal processor  100  with a beamformed signal according to an implementation of the invention. A microphone array of two microphones in the current implementation generate microphone signals x 1 (n)  104  and x 2 (n)  106  where n is the time index on the microphone signals. Note that the sub-band signals are, in general, sub-sampled with respect to the microphone signal  104  and  106 . Generalization to an implementation with a microphone array comprising more than two microphones may be implemented in other implementations. 
     The microphone signals x 1 (n)  104  and x 2 (n)  106  may be divided by analysis filter banks  108  and  110  into microphone sub-band signals X 1 (e jΩ     μ   , k) and X 2  (e jΩ     μ   , k) that are input in a beamformer  112 . The analysis filter banks  108  and  110  down-sample the microphone signals x 1 (n) and x 2 (n) by an appropriate down-sampling factor. The beamformer  112  may be a conventional fixed delay-and-sum beamformer with outputs of a beamformed sub-band signals X BF  (e jΩ     μ   , k). Moreover, the beamformer  112  supplies the microphone sub-band signals or some modifications thereof to a feature extraction module  114  that is configured to extract a number of features from the signals. The features may be associated with the signal-to-noise ratio (SNR) obtained by normalized power densities of the microphone signals x 1 (n) and x 2 (n) and the noise contributions: 
               SNR   ⁡     (       Ω   μ     ⁢   k     )       =         σ   x   2     ⁡     (       Ω   μ     ,   k     )           σ   n   2     ⁡     (       Ω   μ     ,   k     )               
with
 
                 σ   x   2     ⁡     (       Ω   μ     ,   k     )       =       1   2     ⁢     (                X   1     ⁡     (       ⅇ     jΩ   μ       ,   k     )            2     +              X   2     ⁡     (       ⅇ     jΩ   μ       ,   k     )            2       )             
and
 
                 σ   n   2     ⁡     (       Ω   μ     ,   k     )       =       1   2     ⁢     (           S   ^       n   ⁢           ⁢   1   ⁢   n   ⁢           ⁢   1       ⁡     (       Ω   μ     ,   k     )       +         S   ^       n   ⁢           ⁢   2   ⁢   n   ⁢           ⁢   2       ⁡     (       Ω   μ     ,   k     )         )             
with the noise power densities Ŝ n1n1 (Ω μ , k) and Ŝ n2n2 (Ω μ , k) estimated by approaches known in the art (see, e.g., R. Martin, “Noise power spectral density estimation based on optimal smoothing and minimum statistics”, IEEE Trans. Speech Audio Processing, T-SA-9(5), pages 504-512, 2001).
 
     Alternatively or additionally, the sum-to-difference ratio 
                 Q   SD     ⁡     (       Ω   μ     ,   k     )       =                  X   1     ⁡     (       ⅇ     jΩ   μ       ,   k     )       +       X   2     ⁡     (       ⅇ     jΩ   μ       ,   k     )              2                  X   1     ⁡     (       ⅇ     jΩ   μ       ,   k     )       -       X   2     ⁡     (       ⅇ     jΩ   μ       ,   k     )              2             
may be used as a feature. Furthermore, a feature may be represented by the output power density of the beamformer  112  normalized to the average power density of the microphone signals x 1 (n)  104  and x 2 (n)  106 ;
 
                 Q   BF     ⁡     (       Ω   μ     ,   k     )       =                  X   BF     ⁡     (       ⅇ     jΩ   μ       ,   K     )            2         σ   x   2     ⁡     (       Ω   μ     ,   K     )         .           
Also, alternatively or additionally, a feature may be represented (in each of the frequency sub-bands Ω μ ) by the mean squared coherence;
 
     
       
         
           
             
               Γ 
               ⁡ 
               
                 ( 
                 
                   
                     Ω 
                     μ 
                   
                   , 
                   k 
                 
                 ) 
               
             
             = 
             
               
                 
                   
                      
                     
                       
                         
                           S 
                           ^ 
                         
                         
                           
                             x 
                             1 
                           
                           ⁢ 
                           
                             x 
                             2 
                           
                         
                       
                       ⁡ 
                       
                         ( 
                         
                           
                             Ω 
                             μ 
                           
                           , 
                           k 
                         
                         ) 
                       
                     
                      
                   
                   2 
                 
                 
                   
                     
                       
                         S 
                         ^ 
                       
                       
                         
                           x 
                           1 
                         
                         ⁢ 
                         
                           x 
                           1 
                         
                       
                     
                     ⁡ 
                     
                       ( 
                       
                         
                           Ω 
                           μ 
                         
                         , 
                         k 
                       
                       ) 
                     
                   
                   ⁢ 
                   
                     
                       
                         S 
                         ^ 
                       
                       
                         
                           x 
                           2 
                         
                         ⁢ 
                         
                           x 
                           2 
                         
                       
                     
                     ⁡ 
                     
                       ( 
                       
                         
                           Ω 
                           μ 
                         
                         , 
                         k 
                       
                       ) 
                     
                   
                 
               
               . 
             
           
         
       
     
     The features are input in a non-linear mapping module  116 . The non-linear mapping module  116  maps the received features to previously learned filter weights. The mapping may be implemented as a neural network that receives the features as inputs and outputs the previously learned filter weights. Alternatively, the non-linear mapping module  116  may be implemented as a code book with a feature vector corresponding to an extracted feature stored in one code book that is mapped to an output vector comprising learned filter weights. The feature vector corresponding to the extracted feature or features may be found (e.g., by application of some distance measure). With a code book approach, the code book may be trained by sample speech signals prior to the actual use in the signal processor  102 . 
     The filter weights obtained by the mapping performed by the non-linear mapping module  116  are employed to obtain filter weights for post-filtering the beamformed sub-band signals X BF  (e jΩ     μ   , k). In some implementations, the learned filter weights may be directly used for the post-filtering of the beamformed sub-band signals via the post-filter  120 . In other implementations, it might be desirable, however, to further process the learned filter weights in post-processing module  118  (e.g., by some smoothing) and to use the resulting filter weights in post-filter  120  to obtain enhanced beamformed sub-band signals X P (e jΩ     μ   , k). These enhanced beamformed sub-band signals X P (e jΩ     μ   , k) may then be synthesized by a synthesis filter bank  122  in order to obtain an enhanced processed speech signal X P (n) that are subsequently transmitted to a remote communication party or supplied to a speech recognition application or processor. 
     The sampling rate of the microphone signals x 1 (n)  108  and x 2 (n)  110  may be, for example, 11025 Hz, such that the analysis filter banks  108  and  110  may divide the x 1 (n)  108  and x 2 (n)  110  into 256 sub-bands. In order to reduce the complexity of the processing, sub-bands may be further subsumed in Mel bands, say 20 Mel bands. The 20 Mel bands may then be processed and features extracted with learned Mel band filter weights, H NN (η, k), being output by the non-linear module  116  (see  FIG. 1 ) where η denotes the number of the Mel band. The learned Mel band filter weights H NN (η, k) may then be processed by the post-processing module  118  to obtain the sub-band filter weights H P  (Ω μ , k). The sub-band filter weights may then be employed as an input to the post-filter  120  to filter the beamformed sub-band signals X BF  (e jΩ     μ   , k) in order to obtain enhanced beamformed sub-band signals X P (e jΩ     μ   , k). The post-processing may also include temporal smoothing of the learned Mel band filter weights H NN (η, k), e.g.;
 
   H     NN (η, k )=α   H     NN (η, k− 1)+(1−α) H   NN (η, k )
 
with a real parameter α (e.g., α=0.5). The smoothed Mel band filter weights  H   NN (η, k) may be transformed by the post-processing module  118  into the sub-band filter weights H P (Ω μ , k).
 
     In  FIG. 2 , a block diagram  200  of the signal processing of the beamformed signal along with training of the non-linear module  116  that derives filter weights for the post-filter  120  according to an implementation of the invention is shown. The previously learned filter weights are employed by the post-filter  120  when filtering the beamformed sub-band signals X BF  (e jΩ     μ   , k). In the block diagram  200 , a neural network  202  may be trained by sample signals x i (n)=s i (n)+n i (n), i=1, 2, where s i  and s 2  are wanted signal contributions and n 1  and n 2  are noise contributions. For implementations comprising more than two microphones (i&gt;2), i may be chosen according to the actual number of microphones. The noise contributions n 1  and n 2  are provided by a noise database  204  in which noise samples are stored. The wanted signal contributions may be derived from speech samples stored in a speech database  206  that are modified by a modeled impulse response (h 1 (n)  208  and h 2 (n))  210  of a particular acoustic room (e.g., a vehicular compartment) that the signal processor  102  of  FIG. 1  shall be installed. In other implementations, the actual impulse response of an acoustic room in which the signal processor  102  shall be installed may be measured and employed rather than relying on a modeled impulse response. 
     Both the wanted signal contributions and the noise contributions may be divided into sub-band signals by analysis filter banks  108 ,  110 ,  212 , and  214 , respectively. Accordingly, sample sub-band signals
 
 X   i ( e   jΩ     μ     ,k )= S   i ( e   jΩ     μ     ,k )+ N   i ( e   jΩ     μ     ,k )
 
are input to beamformer  112  that beamforms these signals to obtain beamformed sub-band signals X BF  (e jΩ     μ   , k).
 
     In addition, the wanted signal sub-band signals S 1  and S 2  are beamformed by a fixed beamformer  216  in order to obtain beamformed sub-band signals S FBF,c (e jΩ     μ   , k). The beamformer  112  provides a feature extraction module  114  with signals based on the microphone sub-band signals, (e.g., with these signals as input to the beamformer  112  or after some processing of these signals in order to enhance their quality). The feature extraction module  114  extracts features and may supply them to the neural network  202 . The training consists of learning the appropriate filter weights H P,opt (Ω μ , k) to be used by the post-filter  120  of  FIG. 1  that correspond to the input weights such that ideally
 
| X   BF ( e   jΩ     μ     ,k )· H   P,opt (Ω μ   ,k )|=| S   FBF,c ( e   jΩ     μ     ,k )|
 
holds true, (i.e., the beamformed wanted signal sub-band signals S FBF,c (e jΩ     μ   , k) are reconstructed from the beamformed sub-signals X BF  (e jΩ     μ   , k) by means of a post-filter  120  comprising adapted filter weights H P,opt (Ω μ , k)). The ideal filter weights may also be called a teacher signal H T (η, k) where processing in η Mel bands is assumed. In the context of Mel band processing the teacher signal may be expressed by:
 
                 H   T     ⁡     (     η   ,   k     )       =             ∑     μ   =   1     m     ⁢         W     mel   ,   η       ⁡     (     Ω   μ     )       ⁢              S     FBF   ,   c       ⁡     (       ⅇ     jΩ   μ       ,   k     )            2             ∑     μ   =   1     m     ⁢         W     mel   ,   η       ⁡     (     Ω   μ     )       ⁢              X   BF     ⁡     (       ⅇ     jΩ   μ       ,   k     )            2             .           
The weights may be chosen as a triangular form (see, e.g., L. Rabinder and B. H. Juang, “Fundamentals of Speech Recognition”, Prentice-Hall, Upper Saddle River, N.J., USA, 1993).
 
     A calculation module  218  receives the output X BF  (e jΩ     μ   , k) of the fixed beamformer  216  and is employed to determine the teacher signal on the basis of that a filter updating module  220  teaches or configures the neural network  202  to adapt the Mel band filter weights H NN (η, k) accordingly. In detail, H NN (η, k) is compared to the teacher signal H T (η, k) and the parameters of the neural network may then be updated by the filter updating module  214  such that the cost function; 
               E   ⁡     (   η   )       =       ∑     k   =   0       K   -   1       ⁢       (         H   T     ⁡     (     η   ,   k     )       -       H   NN     ⁡     (     η   ,   k     )         )     2             
is minimized. In other implementations, a weighted cost function (error function) may be minimized for training the neural network  202 , the weight cost function may be;
 
                   E   ~     ⁡     (   η   )       =       ∑     k   =   0       K   -   1       ⁢       f   ⁡     (       H   T     ⁡     (     η   ,   k     )       )       ·       (         H   T     ⁡     (     η   ,   k     )       -       H   NN     ⁡     (     η   ,   k     )         )     2           ,         
where f(H T (η, k)) denotes a weight function depending on the teacher signal, (e.g., f(H T (η, k))=0.1+0.9 H T (η, k)). Training rules for updating the parameters of the neural network  202  may include a back propagation algorithm, a “Resilient Back Propagation algorithm,” or a “Quick-Prop” algorithm to give but a few examples.
 
     It should be noted that when a code book implementation is employed as the non-linear module rather than the neural network  202  of  FIG. 2 , a Linde-Buzo-Gray (LBG) algorithm or the k-means algorithm may be used for training, (i.e., the correct association of filter weights to input feature vectors). With this approach, the teacher function only has to be considered without taking into consideration outputs H NN (η, k) of the code book implementation during the learning process. 
     Turning to  FIG. 3 , a flow diagram  300  of the procedure of training the non-linear mapping module  116  of  FIG. 1  and  FIG. 2  according to an implementation of the invention is shown. The flow diagram  300  starts by detecting a speech signal from more than one microphone to obtain microphone signals  302  (such as microphone signals X 1 (n)  104  and X 2 (n)  108 ). The microphone signals may then be processed by a beamformer  112  to obtain a beamformed signal  304 . A feature extractor module  114  may then extract at least one feature from the beamformed signal  306 . A non-linear mapping module  116  may apply the at least one extracted feature and generating a learned filter weight  308 . The learned filter weight may then be employed by a post-filter along with the previously learned filter weight or weights  310  for post-filtering the beamformed signals  312  to obtain an enhanced beamformed signal  312 . 
     It will be understood, and is appreciated by persons skilled in the art, that one or more processes, sub-processes, or process steps described in connection with  FIGS. 1 ,  2  and  3  may be performed by a combination of hardware and software. The software may reside in software memory internal or external to the signal processor  102  or other controller, in a suitable electronic processing component or system such as, one or more of the functional components or modules schematically depicted in  FIGS. 1 and 2 . The software in software memory may include an ordered listing of executable instructions for implementing logical functions (that is, “logic” that may be implemented either in digital form such as digital circuitry or source code or in analog form such as analog circuitry or an analog source such an analog electrical, sound or video signal), and may selectively be embodied in any tangible computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that may selectively fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. In the context of this disclosure, a “computer-readable medium” is any means that may contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The computer readable medium may selectively be, for example, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or medium. More specific examples, but nonetheless a non-exhaustive list, of computer-readable media would include the following: a portable computer diskette (magnetic), a RAM (electronic), a read-only memory “ROM” (electronic), an erasable programmable read-only memory (EPROM or Flash memory) (electronic), and a portable compact disc read-only memory “CDROM” (optical) or similar discs (e.g. DVDs and Rewritable CDs). Note that the computer-readable medium may even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via for instance optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in a computer memory. 
     The foregoing description of implementations has been presented for purposes of illustration and description. It is not exhaustive and does not limit the claimed inventions to the precise form disclosed. Modifications and variations are possible in light of the above description or may be acquired from practicing the invention. The claims and their equivalents define the scope of the invention.