Abstract:
A Dynamic Noise Compensation (DNC) telephone speech enhancement algorithm addresses the issue of environment noise on the listener end of a telephone call. A single microphone proximal to the listener provides a sample of near end ambient noise level and of near end speech. A Voice Activity Detector (VAD) detects the presence of near end (listener) speech. The DNC algorithm adjusts the far end incoming speech level based on the near end ambient noise and the VAD ensures that the near end listener speech does not effect the incoming speech level adjustment.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    The present invention relates to audio communications processing and in particular to controlling the gain applied to an audio signal provided by a telephone handset. 
         [0002]    Telephone conversations are often hampered by ambient noise which often makes it difficult for a near end listener to hear and understand the far end acoustic signal produced by the telephone. In particular, cell phones are replacing hard wired phones in increasing numbers and many phone users now rely entirely on their cell phone. Additionally, cell phones have tended to become smaller and thinner over time, and the current generation of smart cell phones are very thin. Such small and thin cell phones leave no room for a cupped region around the speaker to at least somewhat block ambient noise and the wireless portable nature of cell phones results in their use in many environments including noisy outdoor areas and busy shopping areas. As a result, it is often very difficult for a phone user to hear and understand the incoming signal. 
       BRIEF SUMMARY OF THE INVENTION 
       [0003]    The present invention addresses the above and other needs by providing a Dynamic Noise Compensation (DNC) telephone speech enhancement algorithm which addresses the issue of near end environment noise on the listener end of a telephone call. A single microphone proximal to the listener provides a sample of near end ambient noise level and of near end speech. A Voice Activity Detector (VAD) detects the presence of near end (listener) speech. The DNC algorithm adjusts the incoming speech level based on the near end ambient noise and the VAD ensures that the near end listener speech does not effect the incoming speech level adjustment. 
         [0004]    In accordance with one aspect of the invention, there is provided a DNC which receives three inputs: a near end speech plus ambient noise signal provided by a single microphone; a VAD signal; and the far end speech level signal of the far end speech signal being received by the near end user. The near end speech plus ambient noise signal is used to compute a near end noise level estimate. The local noise level estimate serves as input to a lookup table used to generate gains applied to the far end speech. The VAD serves as a control input to logic governing post processing of the lookup table output and, in some configurations, pre-processing of the local noise level estimate prior to the lookup table. The output of the algorithm is a final scalar gain applied to the incoming far end speech signal to generate a compensated far end speech signal. 
         [0005]    In accordance with another aspect of the invention, there is provided a frequency domain method for computing the local noise level estimate. The frequency domain method uses the noise power spectral density estimation technique presented by Rainer Martin in “Noise Power Spectral Density Estimation Based on Optimal Smoothing and Minimum Statistics” IEEE Trans. Speech and Audio Processing, 9(5):504-512, July 2001. On a bin by bin bases, the technique keeps a running update of detected minima, incorporating minimum statistics in the final estimate in order to avoid underestimating the noise level. This process is carried out in the power domain, in order to arrive at a scalar amplitude estimation for use in DNC, the mean of the square roots of this spectral density estimation is taken and used as input to the lookup table. 
         [0006]    In accordance with yet another aspect of the invention, there is provided a time domain method for computing the local noise level estimate. The time domain method applies an Infinite Impulse Response (IIR) approximation of a ITU-R 468 weighting curve to the input. Following this weighting, the RMS average is taken over the input frame to arrive at a scalar amplitude estimate. 
     
    
     
       BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING 
         [0007]    The above and other aspects, features and advantages of the present invention will be more apparent from the following more particular description thereof, presented in conjunction with the following drawings wherein: 
           [0008]      FIG. 1  is a telephone according to the present invention. 
           [0009]      FIG. 2  describes a frequency domain embodiment of Dynamic Noise Compensation (DNC) according to the present invention. 
           [0010]      FIG. 3  describes a time domain embodiment of DNC according to the present invention. 
           [0011]      FIG. 4  is a graphical representation of a gain look-up table according to the present invention. 
       
    
    
       [0012]    Corresponding reference characters indicate corresponding components throughout the several views of the drawings. 
       DETAILED DESCRIPTION OF THE INVENTION 
       [0013]    The following description is of the best mode presently contemplated for carrying out the invention. This description is not to be taken in a limiting sense, but is made merely for the purpose of describing one or more preferred embodiments of the invention. The scope of the invention should be determined with reference to the claims. 
         [0014]    A telephone  10  including Dynamic Noise Compensation (DNC) processing according to the present invention is shown in  FIG. 1 . The telephone  10  may be a cell phone, a wireless phone (i.e., a phone receiving signals from a local base station which is hardwired, or a handset of a hardwired phone. The telephone  10  includes a speaker  12  for broadcasting an incoming far end speech signal, a microphone  14  for receiving the near end user&#39;s speech and ambient noise, and a signal processor  18  for performing DNC processing of the far end speech signal and the near end user&#39;s speech and ambient noise signal, to produce a compensated far end speech signal provided to the speaker  12 . When the telephone is a cell phone, a signal  20  is received and processed to generate the far end speech signal. 
         [0015]    One processing method for DNC is a frequency domain method  22   a  shown in  FIG. 2 . The method  22   a  includes buffering/windowing  24 , FFT  28 , noise estimation  32 , sqrt  36 , mean  40 , lookup table  44 , gain hold  48 , smoother  52 , and gain application  60 . The buffering/windowing  24  receives a near end speech plus ambient noise signal  17  generated by the microphone  14  and generates near end speech plus noise data frames  26 . The near end speech plus noise data frames  26  are processed by the FFT  28  to generate near end signal frequency domain data frames  30 . The near end signal frequency domain data frames  30  is processed by noise estimation  32  to generate frequency domain noise bin estimates  34 . Square roots  38  of the frequency domain noise bin estimates  34  are computed by sqrt  36  and a scalar mean  42  of the square root of the frequency domain noise bin estimates  38  is computed by mean  40 . The scalar mean  42  is an input to the lookup table  44  to obtain a gain  46 . 
         [0016]    The noise estimate  32  preferably uses the noise power spectral density estimation technique presented by Rainer Martin in “Noise Power Spectral Density Estimation Based on Optimal Smoothing and Minimum Statistics” IEEE Trans. Speech and Audio Processing, 9(5):504-512, July 2001. On a bin by bin bases, the technique keeps a running update of detected minima, incorporating minimum statistics in the final estimate in order to avoid underestimating the noise level. The noise estimate  32  operates in the power domain. 
         [0017]    The gain  46  and a Voice Activity Detection (VAD) parameter  56  are provided to the gain hold  48  and used to determine a modified gain  50 . The extent to which a VAD parameter  56  is incorporated into DNC depends on the noise estimation method being used. The frequency domain noise level estimate method  22   a  is far less sensitive to rapidly changing noise inputs than the time domain method described in  FIG. 3 . The VAD parameter  56  is preferably obtained by methods disclosed in U.S. patent application Ser. No. 13/461,770 filed May 1, 2012 by the present applicant, herein incorporated by reference in its entirety. In the method  22   a,  the modified gain  50  is set to the gain  46  when the VAD parameter  56  is set to “0” (near end speech not present) and the modified gain  50  is held to the current value when VAD parameter  56  is set to “1” (near end speech present). The modified gain  50  is smoothed by the smoother  52  to provide a smoothed gain  54 , and the far end speech signal  58  is scaled by the smoothed gain  54  in gain application  60  to provide a compensated far end signal  62  to the near end listener. 
         [0018]    In a second embodiment  22   b  shown in  FIG. 3 , the near end signal  17  generated by the microphone  14  is processed in the time domain to produce the local signal estimate. The time domain method  22   b  includes a weighting curve  64 , frame energy averaging  68 , smoothing  72 , variable smoothing  76 , state machine  80 , lookup table  44 , second variable smoothing  84 , faderstop  88 , and the gain application  60 . The weighting curve  64  receives the near end ambient noise signal  17  and generates a weighted (or filtered) signal  66 . The weighted signal  66  is processed by the frame energy averaging  68  to generate a single value averaged signal  70  for each frame of data. The averaged signal  70  is smoothed by smoothing  72  to produce a smoothed signal  74 . 
         [0019]    While other weighting curves may be used, the weighting curve  64  is preferably an Infinite Impulse Response (IIR) approximation of the International Telecommunication Union (ITU) ITU-R 468 standard is a preferred weighting curve. Following applying the weighting curve to the ambient noise signal, the RMS average is taken over the input frame to arrive at a scalar local noise level estimate. 
         [0020]    The smoothed signal  74  is further smoothed by the variable smoothing  76  to produce a variably smoothed signal  78 . The variable smoothing  76  is preferably single pole variable smoothing. For example, with single pole variable smoothing the smoothed output is composed of weighted values of the current input and the previous smoothed output where the weights sum to one. The weight are determined by the amount of time desired for the smoothed output to rise or fall, and thus termed time constants. Often, the time constant applied for an increasing signal is different from that for a decreasing signal. 
         [0021]    The variable smoothing  76  further receives the VAD parameter  56  which serves as a selector between two sets of time constants governing the behavior of the variable smoother  76 . In a first number N 1  of frames received by the variable smoothing  76  following a negative edge switching from 1 to 0 in the VAD parameter  56 , a faster set of time constants are used to smooth the incoming noise estimate, the number N 1  is preferably about 30. This is intended to allow the estimated noise level value to decay or rise quickly to noise levels that might either have changed significantly during speech activity, or extremely low levels of ambient noise. 
         [0022]    The variably smoothed signal  78  is processed by the lookup table  44  in the same manner as in the frequency domain method  22   a  to generate the gain  46 . The gain  46  is processed by the second variable smoothing  84  to generate a smoothed gain  86 . The smoothed gain  86  is processed by the faderstop  88  to generate a modified gain  90 . The far end speech signal  58  is scaled by the modified gain  90  in gain application  60  to provide a compensated far end signal  62  to the near end listener. 
         [0023]    The VAD parameter  56  is processed by the state machine  80  which uses a lookahead delay of preferably about three frames, and more preferably three frames, to set the state of the current frame  82  to one of four states: speech coming, speech ending, speech, non speech. The second variable smoothing  84  (e.g., single pole smoothing) processes the gain  46  based on the state of the current frame  82 . Corresponding to the four states of the current frame  82  listed above, the variable smoothing  84  performs in the following manner: 
         [0024]    Speech Coming: set the smoothed gain  86  to the gain  46 ; 
         [0025]    Speech Ending: compute the smoothed gain  86  using time constants adjusted to respond quickly to post speech levels; 
         [0026]    No Speech: compute the smoothed gain  86  using Speech Ending time constants for the first N 2  frames (where N 2  is preferably about ten), followed by use of default smoothing constants; and 
         [0027]    Speech: compute the smoothed gain  86  in the faderstop  88 . 
         [0028]    The faderstop  88  further processes the smoothed gain  86  based on the state of the current frame  82  in the following manner: 
         [0029]    Speech Coming: set the modified gain  90  to the smoothed gain  86  received from the second variable smoothing  84 ; 
         [0030]    Speech Ending: set the modified gain  90  to the smoothed gain  86  received from the second variable smoothing  84 ; 
         [0031]    No Speech: Compute the modified gain  90  using a slower release constant the first N 3  frames (where N 3  is preferably about ten), followed by use of default smoothing constants; and 
         [0032]    Speech: set the modified gain  90  to the last smoothed gain  86  prior to speech. 
         [0033]    While the invention herein disclosed has been described by means of specific embodiments and applications thereof, numerous modifications and variations could be made thereto by those skilled in the art without departing from the scope of the invention set forth in the claims.