Abstract:
A method of reducing noise in an environment where the noise source is in a fixed location relative to a pair of microphones, such as in a camera with a zoom motor, involves receiving signals x 1 (t), x 2 (t) from the respective microphones, and filtering each of the signals x 1 (t), x 2 (t) with respective first and second linear filters having filter coefficients obtained by computing eigenfilters corresponding to data samples from the respective microphones for noise only and signal only conditions.

Description:
FIELD OF THE INVENTION 
     This invention relates to the field of digital signal processing, and in particular to a method and apparatus for the reduction of noise in an environment having a fixed noise source, such as a camera zoom lens motor. 
     BACKGROUND OF THE INVENTION 
     In digital cameras with video recording capability, one of the desired features is the ability to zoom and focus while video recording. Most cameras with this built-in feature suffer from the problem of the user hearing the sound of the zoom motor picked up by on-camera microphones. 
       FIG. 1  is a simple block diagram of the camera where Mic 1  and Mic 2  are the two microphones used on the camera for audio stereo recording, S 1  represents the desired voice or audio signal that should be recorded by the camera with minimum distortion and S 2  represents the audio noise generated by the zoom or lens focus motor. Also in this figure, h 21  and h 22  represent the acoustic paths between the motor and the two microphones. Due to the small size of video cameras, the motor will be in close proximity of the two microphones and as a result most of the noise generated by zoom or focus motors will be picked up by the two microphones. To most users this noise is annoying and desirably should be eliminated. 
     A rather expensive way of achieving this result is to use quieter zoom and focus motors. This may not be a cost effective solution, especially for low cost cameras. Another approach to this problem is to remove the noise by performing digital signal processing on the microphone signals. 
     In most cameras the audio signals from the microphones signals are digitized using analog to digital (A/D) converters and processed by an embedded processor, which may also compress the recorded audio signals before saving them into a flash memory. 
     A signal processing algorithm for removing the motor noise from input audio signal can be made part of the software running on the camera processor, ideally before audio compression stage. This solution can be very cost effective since it only requires a software upgrade rather than modification to expensive hardware. 
     Although very cost effective, removing camera motor noise through digital processing of the microphone signals is a non-trivial task. The main challenge is that removing the motor noise should not distort input audio signal. Camera zoom motor noise is wideband and quasi stationary in nature, and it shares same frequency bands with the input audio signal itself. As a result, such noise cannot be eliminated using traditional DSP filtering techniques (e.g. lowpass filtering, notch filter etc.). Also single microphone noise reduction methods which rely on subtracting noise spectrum from the input signal spectrum are not very attractive since they tend to distort the original audio signal. To make matters worse, the spectrum of motor noise may change with time. This can affect the performance of the algorithms that mainly rely on a stationary noise assumption. 
     Other approaches such as beamfoming and active noise control (ANC) have their own limitations. For example, for beamforming the geometry and number of microphones and their location affects the output performance. Also beamforming or similar approaches may require a greater number of microphones (more than two) which may not feasible on a small camera body. In addition, these methods are usually computationaly expensive to implement. 
     SUMMARY OF THE INVENTION 
     Embodiments of the invention employ a novel two microphone noise reduction scheme that e.g. can be used in cameras to reduce noise due to camera&#39;s zoom and focus motors. Such embodiments use the signals from the two microphones available on most cameras for stereo recording of the audio signal. They take advantage of the fact that noise source (in this case the zoom or focus motor) is fixed with respect to the two microphones so the acoustic paths between the noise source and the two microphones can be assumed almost constant. 
     Thus, according to the present invention there is provided a method of reducing noise in an environment where the noise source is in a fixed location relative to a pair of microphones, comprising receiving signals x 1 (t), x 2 (t) from the respective microphones; and filtering each of the signals x 1 (t), x 2 (t) with respective first and second linear filters having filter coefficients obtained by computing eigenfilters corresponding to data samples from the respective microphones for noise only and signal only conditions. 
     Although the invention is described in the context of two microphones, which is the typical case, the invention is applicable to the case where there are more than two microphones. 
     An advantage of the embodiments of invention is that they consume very low MIPs, (around 3 MIPS, assuming 48000 sampling rate); also they can significantly reduce effective noise by more than 15 dB with minimum degradation and very low distortion of the input audio signal. In one embodiment, the method is based on TISO (two-input, single output) linear filtering of the two microphone signals. 
     Filter coefficients may be obtained by calculating eigenfilters corresponding to data samples for noise only and signal only recordings from the two microphones. The main assumption is that audio path between the noise source and the two microphone is not time varying, which is true e.g. for camera where location of zoom (or focus) motor with respect to the microphones on the camera is fixed. 
     Thus the invention relates to a method for reducing zoom or focus motor noise picked up by camera&#39;s microphones during video recording. Noise is reduced by digital processing of the outputs of the two microphones on the camera. The noise is reduced using an Eigenfiltering approach where the two microphone signals are combined through linear filters in such way to minimize the noise and maintain the desired output audio signal. These linear filters may be implemented as part of the firmware running on the camera&#39;s internal processor while the coefficients for these linear filters may be calculated offline in advance (e.g. on a PC) based on following steps.
         1) Collect data from two microphones which contain only motor noise. We call this data set I   2) Collect data from two microphones which contain only input audio signal and does not contain motor noise. We can this data set II.   3) Calculate cross-covariance matrix of data set I, we call this matrix A   4) Calculate cross-covariance matrix of data set II, we call this matrix B.   5) Calculate generalized eigenvectors and eignvalues of matrices B and A.   6) Find the eigenvector corresponding to maximum eigenvalue.   7) Calculate first two filters coefficients based on values of eigenvector calculated in step 6 in this fashion that coefficients of first filter will be the first half values of eignevector and coefficients of second linear filter will be next half values of eigenvector.   8) Calculate inverse FIR filter of eigenvector calculated in step 6.   9) Filter signals of two microphones using the two FIR filters with coefficients obtained in Step 7 and add the outputs of two FIR filters together.       

     Pass the output of step 9 through the filter calculated in step 8. 
     Steps 1-8, for calculating filter coefficients, are typically done offline in advance. Steps 9 and 10 are done as part of firmware running on camera processor with the pre-calculated coefficients stored in memory in the camera. 
     According to a further aspect of the invention there is provided a noise reduction circuit comprising first and second linear filters for filtering input signals x 1 (t), x 2 (t) from respective microphones subject to a noise source that is in a fixed location relative to a pair of microphones; and wherein the first and second linear filters have filter coefficients obtained by computing eigenfilters corresponding to data samples from the respective microphones for noise only and signal only conditions. 
     It will be appreciated that the term “circuit” is used here in the widest sense and includes an all digital implementation in software and/or hardware. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The invention will now be described in more detail, by way of example only, with reference to the accompanying drawings, in which:— 
         FIG. 1  is a high level block diagram of video camera with a potential motor noise problem; 
         FIG. 2  is top-level block diagram of an embodiment of the invention; and 
         FIG. 3  is a flow chart illustrating the calculation of the filter coefficients. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The invention will be explained in detail using the following notation throughout the description:
     t is the index to a sample.   x 1  (t) is the digitized signal from microphone M 1 .   x 2 (t) is the digitized signal from microphone M 2 .   z 1 (t) is the output of the first FIR filter with input x j (t).   z 2 (t) is the output of the second FIR filter with input x 2 (t).   z(t) is the output summation of z 1 (t) and z 2 (t).   y(t) is the output of the third FIR filter with input z(t).   w 1 (k) are the filter coefficients for the first FIR filter.   w 2 (k) are the filter coefficients for the second FIR filter.   w 3 (k) are the filter coefficients for the third FIR filter.   

     Consider a video camera as shown in  FIG. 1  and let x 1 (t) represent the output signal of microphone (M 1 ) and x 2 (t) represent the output signal of microphone (M 2 ). In this case, the following relationship holds: 
                     [             x   1     ⁡     (   t   )                   x   2     ⁡     (   t   )             ]     =       [           h   11           h   12               h   21           h   22           ]     ⁡     [             s   1     ⁡     (   t   )                   s   2     ⁡     (   t   )             ]               (   1   )               
where S 1 (t) represents the equivalent time domain signal of the subject which is the desired signal and S 2 (t) represents the time domain signal of the interference source (e.g. the motor noise in camera), h 11 , h 12 , h 21  and h 22  are the acoustic paths between the subject or interference source and the two microphones. h 11  and h 22  are assumed to be time invariant. This assumption is true for most cameras since the zoom motor location is fixed with respect to the microphones.
 
       FIG. 2  is a block diagram of an embodiment of the invention providing a noise reduction circuit. In this block diagram FIR filters  1000  and  2000  are linear with their outputs computed based on following equation: 
                         z   i     ⁡     (   t   )       =         ∑     l   =   0       L   -   1       ⁢         w   i     ⁡     (   l   )       ⁢       x   i     ⁡     (     t   -   l     )       ⁢           ⁢   i       =   1       ,   2           (   2   )               
where L is the order of the filter and w i (l) is the l th  coefficient of the FIR filter coefficient vector w i .
 
     A third FIR filter  5000  with size 2 L is used to equalize magnitude and phase of z(t), which I sthe summed output of filters FIR 1  and FIR 2 . 
     Embodimentz of this invention find filter coefficients w i (l), w 2 (l), and w 3 (l) in a way that minimizes the motor noise while maintaining original audio quality. To achieve this following procedure is followed: 
     First, FIR coefficient vectors w 1  and w 2  are calculated using block  3000  to solve the following optimization problem: 
                         Max           w         ⁢         P     S   1       ⁡     (   w   )           P     S   2       ⁡     (   w   )                 (   3   )               
where w=[w 1 w 2 ] is a row vector of size 2 L×1, P s1 (w) is the output signal power when only subject signal (S 1 (t)) is active and noise (S 2 (t)) is zero, P s2 (w) is the output signal where only noise is active and subject signal is zero.
 
     The solution to the above equation is a set of filter coefficients w 1  and w 2  that maximizes the above equation. 
     To solve this optimization problem we have
 
 P   s     1   ( w )= wR   S1   w   T   (4)
 
and
 
 P   s     2   ( w )= wR   S     2     w   T   (5)
 
where
 
                     R     s   1       =         [           R       x   1     ⁢     x   1               R       x   1     ⁢     x   2                   R       x   2     ⁢     x   1               R       x   2     ⁢     x   2               ]     ⁢           ⁢   with   ⁢           ⁢       S   2     ⁡     (   t   )         =   0             (   6   )               
and
 
     
       
         
           
             
               
                 
                   
                     R 
                     
                       s 
                       2 
                     
                   
                   = 
                   
                     
                       
                         [ 
                         
                           
                             
                               
                                 R 
                                 
                                   
                                     x 
                                     1 
                                   
                                   ⁢ 
                                   
                                     x 
                                     1 
                                   
                                 
                               
                             
                             
                               
                                 R 
                                 
                                   
                                     x 
                                     1 
                                   
                                   ⁢ 
                                   
                                     x 
                                     2 
                                   
                                 
                               
                             
                           
                           
                             
                               
                                 R 
                                 
                                   
                                     x 
                                     2 
                                   
                                   ⁢ 
                                   
                                     x 
                                     1 
                                   
                                 
                               
                             
                             
                               
                                 R 
                                 
                                   
                                     x 
                                     2 
                                   
                                   ⁢ 
                                   
                                     x 
                                     2 
                                   
                                 
                               
                             
                           
                         
                         ] 
                       
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       with 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         
                           S 
                           1 
                         
                         ⁡ 
                         
                           ( 
                           t 
                           ) 
                         
                       
                     
                     = 
                     0 
                   
                 
               
               
                 
                   ( 
                   7 
                   ) 
                 
               
             
           
         
       
     
     R x     i     x     j    the covariance matrix of microphone signals x i (t) and x j (t) and is given by 
                     R       x   1     ⁢     x   2         =     [             r       x   i     ⁢     x   j         ⁡     (   0   )               r       x   i     ⁢     x   j         ⁡     (   1   )           …           r       x   i     ⁢     x   j         ⁡     (     L   -   1     )                   r       x   i     ⁢     x   j         ⁡     (     -   1     )               r       x   i     ⁢     x   j         ⁡     (   0   )           …           r       x   i     ⁢     x   j         ⁡     (     L   -   2     )               …       …       …       …               r       x   i     ⁢     x   j         ⁡     (       -   L     +   1     )           …       …           r       x   i     ⁢     x   j         ⁡     (   0   )             ]             (   8   )               
with r x     i     x     j    (l)=E[x i (t)x j (t+l)] being the cross correlation function of two microphone signals x i (t) and x j (t). When i=j this becomes the autocorrelation function of each microphone signal and E[.] is the expectation function. In practice this correlation function can be estimated using following estimator
 
                           r   ^         x   i     ⁢     x   j         ⁡     (   l   )       =         1   N     ⁢       ∑     t   =   o       N   -   1       ⁢         x   i     ⁡     (   t   )       ⁢       x   j     ⁡     (     t   +   l     )       ⁢           ⁢   with   ⁢           ⁢   i         =   1       ,   2   ,     j   =   1     ,   2           (   9   )               
substituting Equ. 4 and Equ. 5 into Equ. 3 we will get
 
     
       
         
           
             
               
                 
                   
                     
                       
                         Max 
                       
                     
                     
                       
                         w 
                       
                     
                   
                   ⁢ 
                   
                     
                       w 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         R 
                         
                           S 
                           1 
                         
                       
                       ⁢ 
                       
                         w 
                         T 
                       
                     
                     
                       w 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         R 
                         
                           S 
                           2 
                         
                       
                       ⁢ 
                       
                         w 
                         T 
                       
                     
                   
                 
               
               
                 
                   ( 
                   10 
                   ) 
                 
               
             
           
         
       
     
     The solution to this optimization problem can be found by solving following generalized eigenvalue problem
 
R S     1   =w s =λ max R S     2   w s   (11)
 
where λ max  is maximum generalized eigenvalue of two matrices R S     1    and R S     2    and, which is the solution to optimization problem in Equ. (10), is the corresponding eigenvector.
 
     The eigenvector obtained in the above contains the coefficients for FIR 1  and FIR 2  filters. By applying these two filters to the microphone signals we can reduce the noise but original audio quality may change due to filtering effect of FIR 1  and FIR 2 . To compensate for this filtering effect one way is to add a constraint on w in Equ. (10) to be an allpass filter. An other approach is to equalize the output using a third FIR filter as shown in  FIG. 2 . Coefficients for this third FIR filter can be obtained by approximating the FIR inverse of the eigenvector w s . 
       FIG. 3  shows the flow chart for calculating two FIR filters coefficients. In a first step  30 , data is collected from microphones M 1  and M 2  when only noise is present. In a second step  31  data is collected from microphones M 1  and M 2  when only the subject signal is present. In a third step  32 , the covariance matrices R s1  and R s2  are computed from equations 9, 8, 7, and 6. In a fourth step  33 , the eigenvalues and eigenvectors of the two matrices R s1  and R s2  are calculated. In a fifth step  34  the eigenvector w corresponding to the maximum value is found. In a sixth step  35 , the FIR first L elements of w are allocated to the first FIR filter as filter coefficients and the second L elements of w are allocated to the second FIR filter as filter coefficients. 
     In final step  36 , the filter coefficients of the third FIR filter as allocated as the inverse of w. 
     In practice Equ. (3) through Equ. (11) (for calculating filter coefficients) and including calculating the FIR inverse can be done off line (e.g. on a PC platform) and the results stored in a memory in the camera. Once the coefficients have been calculated, real time requirements are limited to simply running three FIR filters camera processor. 
     Embodiments of the invention thus offer a new method for reducing camera lens&#39; zoom and focus noise using two microphones with very low computational complexity and efficient reduction of motor noise without distortion of the original audio signal. 
     Among the advantages of the embodiments of the proposed method compared to the prior art are the fact that it does not require any knowledge of motor noise or microphones locations, does not make any assumption on geometry of microphone (e.g. distance between microphone, linear array of microphones etc.), is capable of a more than 15 dB of noise reduction, operates at very low MIPs and is very simple to implement, and it reduces noise without distorting desired audio signal. 
     It should be appreciated by those skilled in the art that any block diagrams herein represent conceptual views of illustrative circuitry embodying the principles of the invention. For example, a processor may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. Moreover, explicit use of the term “processor” should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (DSP) hardware, network processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), read only memory (ROM) for storing software, random access memory (RAM), and non volatile storage. Other hardware, conventional and/or custom, may also be included. The term circuit is used herein to encompass functional blocks that may in practice be implemented in software.