Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHODS AND APPARATUS FOR SUPPRESSING AMBIENT NOISE USING MULTIPLE AUDIO SIGNALS
Document Type and Number:
WIPO Patent Application WO/2010/068455
Kind Code:
A1
Abstract:
A method for suppressing ambient noise using multiple audio signals may include providing at least two audio signals captured by at least two electro-acoustic transducers. The at least two audio signals may include desired audio and ambient noise. The method may also include performing beamforming on the at least two audio signals in order to obtain a desired audio reference signal that is separate from a noise reference signal.

Inventors:
RAMAKRISHNAN DINESH (US)
WANG SONG (US)
Application Number:
PCT/US2009/065761
Publication Date:
June 17, 2010
Filing Date:
November 24, 2009
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
QUALCOMM INC (US)
RAMAKRISHNAN DINESH (US)
WANG SONG (US)
International Classes:
H04R3/00; G01L21/02
Domestic Patent References:
WO2008101198A22008-08-21
WO2008037925A12008-04-03
Foreign References:
US20050149320A12005-07-07
US20030027600A12003-02-06
Other References:
COHEN I ET AL: "Two-channel signal detection and speech enhancement based on the transient beam-to-reference ratio", PROCEEDINGS OF INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH AND SIGNAL PROCESSING (ICASSP'03) 6-10 APRIL 2003 HONG KONG, CHINA; [IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING (ICASSP)], 2003 IEEE INTERNATIONAL CONFERENCE, vol. 5, 6 April 2003 (2003-04-06), pages V_233 - V_236, XP010639251, ISBN: 978-0-7803-7663-2
See also references of EP 2373967A1
Attorney, Agent or Firm:
DIAZ HIDALGO, Espartaco (5775 Morehouse DriveSan Diego, Califonia, US)
Download PDF:
Claims:
CLAIMS

1. A method for suppressing ambient noise using multiple audio signals, comprising: providing at least two audio signals by at least two electro-acoustic transducers, wherein the at least two audio signals comprise desired audio and ambient noise; performing beamforming on the at least two audio signals in order to obtain a desired audio reference signal that is separate from a noise reference signal; and refining the noise reference signal by removing residual desired audio from the noise reference signal, thereby obtaining a refined noise reference signal.

2. The method of claim 1, wherein the residual desired audio is high-frequency residual desired audio.

3. The method of claim 1 , wherein the method is implemented by a communication device, and wherein the desired audio comprises speech.

4. The method of claim 1 , wherein the at least two electro-acoustic transducers are microphones.

5. The method of claim 1 , further comprising calibrating the at least two signals in order to balance desired audio energy between the at least two signals.

6. The method of claim 1, further comprising calibrating the refined noise reference signal to compensate for attenuation effects caused by the beamforming.

7. The method of claim 6, wherein calibrating the refined noise reference signal comprises: filtering the refined noise reference signal in order to obtain at least two sub- bands; calculating calibration factors, a separate calibration factor being calculated for each sub-band; calibrating the sub-bands by multiplying the sub-bands by the calibration factors; and summing the calibrated sub-bands.

8. The method of claim 1 , wherein the beamforming comprises fixed beamforming.

9. The method of claim 1 , wherein the beamforming comprises adaptive beamforming.

10. The method of claim 1, further comprising performing additional beamforming to remove additional noise from the desired audio reference signal.

11. The method of claim 10, wherein performing additional beamforming comprises: low-pass filtering a calibrated, refined noise reference signal; and performing adaptive filtering on the low-pass filtered, calibrated, refined noise reference signal.

12. An apparatus for suppressing ambient noise using multiple audio signals, comprising: at least two electro-acoustic transducers that provide at least two audio signals comprising desired audio and ambient noise; a beamformer that performs beamforming on the at least two audio signals in order to obtain a desired audio reference signal that is separate from a noise reference signal; and a noise reference refiner that refines the noise reference signal by removing residual desired audio from the noise reference signal, thereby obtaining a refined noise reference signal.

13. The apparatus of claim 12, wherein the residual desired audio is high-frequency residual desired audio.

14. The apparatus of claim 12, wherein the apparatus is a communication device, and wherein the desired audio comprises speech.

15. The apparatus of claim 12, wherein the at least two electro-acoustic transducers are microphones.

16. The apparatus of claim 12, further comprising a calibrator that calibrates the at least two signals in order to balance desired audio energy between the at least two signals.

17. The apparatus of claim 12, further comprising a noise reference calibrator that calibrates the refined noise reference signal to compensate for attenuation effects caused by the beamforming.

18. The apparatus of claim 17, wherein the noise reference calibrator comprises: at least two filters that filter the refined noise reference signal in order to obtain at least two sub-bands; a calibration unit that calculates calibration factors, a separate calibration factor being calculated for each sub-band; at least two multipliers that calibrate the sub-bands by multiplying the sub-bands by the calibration factors; and an adder that sums the calibrated sub-bands.

19. The apparatus of claim 12, wherein the beamformer is a fixed beamformer.

20. The apparatus of claim 12, wherein the beamformer is an adaptive beamformer.

21. The apparatus of claim 12, further comprising a second beamformer that performs additional beamforming to remove additional noise from the desired audio reference signal.

22. The apparatus of claim 21 , wherein the second beamformer comprises: a low-pass filter that performs low-pass filtering on a calibrated, refined noise reference signal; and an adaptive filter that performs adaptive filtering on the low-pass filtered, calibrated, refined noise reference signal.

23. An apparatus for suppressing ambient noise using multiple audio signals, comprising: means for providing at least two audio signals by at least two electro-acoustic transducers, wherein the at least two audio signals comprise desired audio and ambient noise; means for performing beamforming on the at least two audio signals in order to obtain a desired audio reference signal that is separate from a noise reference signal; and means for refining the noise reference signal by removing residual desired audio from the noise reference signal, thereby obtaining a refined noise reference signal.

24. The apparatus of claim 23, wherein the residual desired audio is high-frequency residual desired audio.

25. The apparatus of claim 23, further comprising means for calibrating the at least two signals in order to balance desired audio energy between the at least two signals.

26. The apparatus of claim 23, further comprising means for calibrating the refined noise reference signal to compensate for attenuation effects caused by the beamforming.

27. The apparatus of claim 26, wherein the means for calibrating the refined noise reference signal comprises: means for filtering the refined noise reference signal in order to obtain at least two sub-bands; means for calculating calibration factors, a separate calibration factor being calculated for each sub-band; means for calibrating the sub-bands by multiplying the sub-bands by the calibration factors; and means for summing the calibrated sub-bands.

28. The apparatus of claim 23, further comprising means for performing additional beamforming to remove additional noise from the desired audio reference signal, the means for performing additional beamforming comprising: means for low-pass filtering a calibrated, refined noise reference signal, thereby obtaining a low-pass filtered, calibrated, refined noise reference signal; and means for performing adaptive filtering on the low-pass filtered, calibrated, refined noise reference signal.

29. A computer-program product for suppressing ambient noise using multiple audio signals, the computer-program product comprising a computer-readable medium having instructions thereon, the instructions comprising: code for providing at least two audio signals by at least two electro-acoustic transducers, wherein the at least two audio signals comprise desired audio and ambient noise; code for performing beamforming on the at least two audio signals in order to obtain a desired audio reference signal that is separate from a noise reference signal; and code for refining the noise reference signal by removing residual desired audio from the noise reference signal, thereby obtaining a refined noise reference signal.

30. The computer-program product of claim 29, wherein the residual desired audio is high-frequency residual desired audio.

31. The computer-program product of claim 29, further comprising code for calibrating the at least two signals in order to balance desired audio energy between the at least two signals.

32. The computer-program product of claim 29, further comprising code for calibrating the refined noise reference signal to compensate for attenuation effects caused by the beamforming.

33. The computer-program product of claim 32, wherein the code for calibrating the refined noise reference signal comprises: code for filtering the refined noise reference signal in order to obtain at least two sub-bands; code for calculating calibration factors, a separate calibration factor being calculated for each sub-band; code for calibrating the sub-bands by multiplying the sub-bands by the calibration factors; and code for summing the calibrated sub-bands.

34. The computer-program product of claim 29, further comprising code for performing additional beamforming to remove additional noise from the desired audio reference signal, the code for performing additional beamforming comprising: code for low-pass filtering a calibrated, refined noise reference signal, thereby obtaining a low-pass filtered, calibrated, refined noise reference signal; and code for performing adaptive filtering on the low-pass filtered, calibrated, refined noise reference signal.

Description:
METHODS AND APPARATUS FOR SUPPRESSING AMBIENT NOISE USING MULTIPLE AUDIO SIGNALS

RELATED APPLICATIONS

[0001] This application is related to and claims priority from U.S. Provisional Patent Application Serial No. 61/037,453, filed March 18, 2008, for "Wind Gush Detection Using Multiple Microphones," with inventors Dinesh Ramakrishnan and Song Wang, which is incorporated herein by reference.

TECHNICAL FIELD

[0002] The present disclosure relates generally to signal processing. More specifically, the present disclosure relates to suppressing ambient noise using multiple audio signals recorded using electro-transducers such as microphones.

BACKGROUND

[0003] Communication technologies continue to advance in many areas. As these technologies advance, users have more flexibility in the ways they may communicate with one another. For telephone calls, users may engage in direct two-way calls or conference calls. In addition, headsets or speakerphones may be used to enable hands- free operation. Calls may take place using standard telephones, cellular telephones, computing devices, etc.

[0004] This increased flexibility enabled by advancing communication technologies also makes it possible for users to make calls from many different kinds of environments. In some environments, various conditions may arise that can affect the call. One condition is ambient noise.

[0005] Ambient noise may degrade transmitted audio quality. In particular, it may degrade transmitted speech quality. Hence, benefits may be realized by providing improved methods and apparatus for suppressing ambient noise. BRIEF DESCRIPTION OF THE DRAWINGS

[0006] Figure 1 is an illustration of a wireless communications device and an example showing how voice audio and ambient noise may be received by the wireless communication device;

[0007] Figure 2a is a block diagram illustrating some aspects of one possible configuration of a system including ambient noise suppression;

[0008] Figure 2b is a block diagram illustrating some aspects of another possible configuration of a system including ambient noise suppression;

[0009] Figure 3a is a block diagram illustrating some aspects of one possible configuration of a beamformer;

[0010] Figure 3b is a block diagram illustrating some aspects of another possible configuration of a beamformer;

[0011] Figure 3c is a block diagram illustrating some aspects of another possible configuration of a beamformer;

[0012] Figure 4a is a block diagram illustrating some aspects of one possible configuration of a noise reference refiner;

[0013] Figure 4b is a block diagram illustrating some aspects of another possible configuration of a noise reference refiner;

[0014] Figure 5a is a more detailed block diagram illustrating some aspects of one possible configuration of a system including ambient noise suppression;

[0015] Figure 5b is a more detailed block diagram illustrating some aspects of another possible configuration of a system including ambient noise suppression;

[0016] Figure 5 c illustrates an alternative configuration of a system including ambient noise suppression;

[0017] Figure 5d illustrates another alternative configuration of a system including ambient noise suppression;

[0018] Figure 6a is a flow diagram illustrating one example of a method for suppressing ambient noise;

[0019] Figure 6b is a flow diagram illustrating means-plus-function blocks corresponding to the method shown in Figure 6a;

[0020] Figure 7a is a block diagram illustrating some aspects of one possible configuration of a system including ambient noise suppression; [0021] Figure 7b is a block diagram illustrating some aspects of another possible configuration of a system including ambient noise suppression;

[0022] Figure 7c is a block diagram illustrating some aspects of another possible configuration of a system including ambient noise suppression;

[0023] Figure 8a is a block diagram illustrating some aspects of one possible configuration of a calibrator;

[0024] Figure 8b is a block diagram illustrating some aspects of another possible configuration of a calibrator;

[0025] Figure 8c is a block diagram illustrating some aspects of another possible configuration of a calibrator;

[0026] Figure 9a is a block diagram illustrating some aspects of one possible configuration of a noise reference calibrator;

[0027] Figure 9b is a block diagram illustrating some aspects of another possible configuration of a noise reference calibrator;

[0028] Figure 9c is a block diagram illustrating some aspects of another possible configuration of a noise reference calibrator;

[0029] Figure 10 is a block diagram illustrating some aspects of one possible configuration of a beamformer;

[0030] Figure 11 is a block diagram illustrating some aspects of one possible configuration of a post-processing block;

[0031] Figure 12 is a flow diagram illustrating a method for suppressing ambient noise;

[0032] Figure 12a illustrates means-plus-function blocks corresponding to the method of Figure 12; and

[0033] Figure 13 is a block diagram illustrating various components that may be utilized in a communication device that may be used to implement the methods described herein.

DETAILED DESCRIPTION

[0034] A method for suppressing ambient noise using multiple audio signals is disclosed. The method may include providing at least two audio signals by at least two electro-acoustic transducers. The at least two audio signals may include desired audio and ambient noise. The method may also include performing beamforming on the at least two audio signals in order to obtain a desired audio reference signal that is separate from a noise reference signal. The method may also include refining the noise reference signal by removing residual desired audio from the noise reference signal, thereby obtaining a refined noise reference signal.

[0035] An apparatus for suppressing ambient noise using multiple audio signals is disclosed. The apparatus may include at least two electro-acoustic transducers that provide at least two audio signals comprising desired audio and ambient noise. The apparatus may also include a beamformer that performs beamforming on the at least two audio signals in order to obtain a desired audio reference signal that is separate from a noise reference signal. The apparatus may also include a noise reference refiner that refines the noise reference signal by removing residual desired audio from the noise reference signal, thereby obtaining a refined noise reference signal. [0036] An apparatus for suppressing ambient noise using multiple audio signals is disclosed. The apparatus may include means for providing at least two audio signals by at least two electro-acoustic transducers. The at least two audio signals comprise desired audio and ambient noise. The apparatus may also include means for performing beamforming on the at least two audio signals in order to obtain a desired audio reference signal that is separate from a noise reference signal. The apparatus may further include means for refining the noise reference signal by removing residual desired audio from the noise reference signal, thereby obtaining a refined noise reference signal.

[0037] A computer-program product for suppressing ambient noise using multiple audio signals is disclosed. The computer-program product may include a computer- readable medium having instructions thereon. The instructions may include code for providing at least two audio signals by at least two electro-acoustic transducers. The at least two audio signals may include desired audio and ambient noise. The instructions may also include code for performing beamforming on the at least two audio signals in order to obtain a desired audio reference signal that is separate from a noise reference signal. The instructions may also include code for refining the noise reference signal by removing residual desired audio from the noise reference signal, thereby obtaining a refined noise reference signal. [0038] Mobile communication devices increasingly employ multiple microphones to improve transmitted voice quality in noisy scenarios. Multiple microphones may provide the capability to discriminate between desired voice and background noise and thus help improve the voice quality by suppressing background noise in the audio signal. Discrimination of voice from noise may be particularly difficult if the microphones are placed close to each other on the same side of the device. Methods and apparatus are presented for separating desired voice from noise in these scenarios. [0039] Voice quality is a major concern in mobile communication systems. Voice quality is highly affected by the presence of ambient noise during the usage of a mobile communication device. One solution for improving voice quality during noisy scenarios may be to equip the mobile device with multiple microphones and use sophisticated signal processing techniques to separate the desired voice from ambient noise. Particularly, mobile devices may employ two microphones for suppressing the background noise and improving voice quality. The two microphones may often be placed relatively far apart. For example, one microphone may be placed on the front side of the device and another microphone may be placed on the back side of the device, in order to exploit the diversity of acoustic reception and provide for better discrimination of desired voice and background noise. However, for the ease of manufacturability and consumer usage, it may be beneficial to place the two microphones close to each other on the same side of the device. Many of the commonly available signal processing solutions are incapable of handling this closely spaced microphone configuration and do not provide good discrimination of desired voice and ambient noise. Hence, new methods and apparatus for improving the voice quality of a mobile communication device employing multiple microphones are disclosed. The proposed approach may be applicable to a wide variety of closely spaced microphone configurations (typically less than 5 cm). However, it is not limited to any particular value of microphone spacing.

[0040] Two closely spaced microphones on a mobile device may be exploited to improve the quality of transmitted voice. In particular, beamforming techniques may be used to discriminate desired audio (e.g., speech) from ambient noise and improve the audio quality by suppressing ambient noise. Beamforming may separate the desired audio from ambient noise by forming a beam towards the desired speaker. It may also separate ambient noise from the desired audio by forming a null beam in the direction of the desired audio. The beamformer output may or may not be post-processed in order to further improve the quality of the audio output.

[0041] Figure 1 is an illustration of a wireless communications device 102 and an example showing how desired audio (e.g., speech 106) and ambient noise 108 may be received by the wireless communication device 102. A wireless communications device 102 may be used in an environment that may include ambient noise 108. Hence, the ambient noise 108 in addition to speech 106 may be received by microphones HOa, HOb which may be housed in a wireless communications device 102. The ambient noise 108 may degrade the quality of the speech 106 as transmitted by the wireless communications device 102. Hence, benefits can be realized via methods and apparatus capable of separating and suppressing the ambient noise 108 from the speech 106. Although this example is given, the methods and apparatus disclosed herein can be utilized in any number of configurations. For example, the methods and apparatus disclosed herein may be configured for use in a mobile phone, "land line" phone, wired headset, wireless headset (e.g. Bluetooth ® ), hearing aid, audio/video recording device, and virtually any other device that utilizes transducers/microphones for receiving audio. [0042] Figure 2a is a block diagram illustrating some aspects of one possible configuration of a system 200a including ambient noise suppression. The system 200a may include a beamformer 214 and/or a noise reference refiner 220a. The system 200a may be configured to receive digital audio signals 212a, 212b. The digital audio signals 212a, 212b may or may not have matching or similar energy levels. The digital audio signals 212a, 212b, may be signals from two audio sources (e.g., the microphones 110a, 110b in the device 102 shown in Figure 1).

[0043] The digital audio signals 212a, 212b, may have matching or similar signal characteristics. For example, both signals 212a, 212b may include a desired audio signal (e.g., speech 106). The digital audio signals 212a, 212b may also include ambient noise 108.

[0044] The digital audio signals 212a, 212b may be received by a beamformer 214. One of the digital audio signals 212a may also be routed to a noise reference refiner 220a. The beamformer 214 may generate a desired audio reference signal 216 (e.g., a voice/speech reference signal). The beamformer 214 may generate a noise reference signal 218. The noise reference signal 218 may contain residual desired audio. The noise reference refiner 220a may reduce or effectively eliminate the residual desired audio from the noise reference signal 218 in order to generate a refined noise reference signal 222a. The noise reference refiner 220a may utilize one of the digital audio signals 212a to generate a refined noise reference signal 222a. The desired audio reference signal 216 and the refined noise reference signal 222a may be utilized to improve desired audio output. For example, the refined noise reference signal 222a may be filtered and subtracted from the desired audio reference signal 216 in order to reduce noise in the desired audio. The refined noise reference signal 222a and the desired audio reference signal 216 may also be further processed to reduce noise in the desired audio.

[0045] Figure 2b is another block diagram illustrating some aspects of another possible configuration of a system 200b including ambient noise suppression. The system 200b may include digital audio signals 212a, 212b, a beamformer 214, a desired audio reference signal 216, a noise reference signal 218, a noise reference refiner 220b, and a refined noise reference signal 222b. As the noise reference signal 218 may include residual desired audio, the noise reference refiner 220b may reduce or effectively eliminate residual desired audio from the noise reference signal 218. The noise reference refiner 220b may utilize both digital audio signals 212a, 212b in addition to the noise reference signal 218 in order to generate a refined noise reference signal 222b. The refined noise reference signal 222b and the desired audio reference signal 216 may be utilized in order to improve the desired audio.

[0046] Figure 3a is a block diagram illustrating some aspects of one possible configuration of a beamformer 314a. The primary purpose of the beamformer 314a may be to process digital audio signals 312a, 312b and generate a desired audio reference signal 316a and a noise reference signal 318a. The noise reference signal 318a may be generated by forming a null beam towards the desired audio source (e.g., the user) and suppressing the desired audio (e.g., the speech 106) from the digital audio signals 312a, 312b. The desired audio reference signal 316a may be generated by forming a beam towards the desired audio source and suppressing ambient noise 108 coming from other directions. The beamforming process may be performed through fϊxed beamforming and/or adaptive beamforming. Figure 3 a illustrates a configuration 300a utilizing a fixed beamforming approach.

[0047] The beamformer 314a may be configured to receive the digital audio signals 312a, 312b. The digital audio signals 312a, 312b may or may not be calibrated such that their energy levels are matched or similar. The digital audio signals 312a, 312b may be designated z cl («) and z c2 (n) respectively, where n is the digital audio sample number. A simple form of fixed beamforming may be referred to as "broadside" beamforming. The desired audio reference signal 316a may be designated z bl (n) . For fixed "broadside" beamforming, the desired audio reference signal 316a may be given by equation (1):

[0048] The noise reference signal 318a may be designated z b2 (n) . The noise reference signal 318a may be given by equation (2):

[0049] In accordance with broadside beamforming, it is assumed that the desired audio source is equidistant to the two microphones (e.g., microphones HOa, 110b). If the desired audio source is closer to one microphone than the other, the desired audio signal captured by one microphone will suffer a time delay compared to the desired audio signal captured by the other microphone. In this case, the performance of the fixed beamformer can be improved by compensating for the time delay difference between the two microphone signals. Hence, the beamformer 314a may include a delay compensation filter 324. The desired audio reference signal 316a and the noise reference signal 318a may be expressed in equations (3) and (4), respectively.

zbi O) = 2 d O) + 2 C 2 O ~ τ) (3) zbi O) = 2 d O) - 2 C 2 O - τ) ( 4 ) [0050] Here, τ may denote the time delay between the digital audio signals 312a, 312b captured by the two microphones and may take either positive or negative values. The time delay difference between the two microphone signals may be calculated using any of the methods of time delay computation known in the art. The accuracy of time delay estimation methods may be improved by computing the time delay estimates only during desired audio activity periods.

[0051] The time delay τ may also take fractional values if the microphones are very closely spaced (e.g., less than 4 cm). In this case, fractional time delay estimation techniques may be used to calculate τ . Fractional time delay compensation may be performed using a sine filtering method. In this method, the calibrated microphone signal is convolved with a delayed sine signal to perform fractional time delay compensation as shown in equation (5):

z c2 (n - τ) = z c2 (n) * sincO - τ) (5)

[0052] A simple procedure for computing fractional time delay may involve searching for the value τ that maximizes the cross-correlation between the first digital audio signal 312a (e.g., z cl (n) ) and the time delay compensated second digital audio signal 312b (e.g., z c2 {n)) as shown in equation (6):

τ(k) = arg max -τ) (6)

[0053] Here, the digital audio signals 312a, 312b may be segmented into frames where N is the number of samples per frame and k is the frame number. The cross- correlation between the digital audio signals 312a, 312b (e.g., z Λ (ή) and z c2 (n)) may be computed for a variety of values of τ . The time delay value for τ may be computed by finding the value of τ that maximizes the cross-correlation. This procedure may provide good results when the Signal-to-Noise Ratio (SNR) of the digital audio signals 312a, 312b is high. [0054] Figure 3b is a block diagram illustrating some aspects of another possible configuration of a beamformer 314b. The fixed beamforming procedure (as shown in Figure 3 a) assumes that the frequency responses of the two microphones are well matched. There may be slight differences, however, between the frequency responses of the two microphones. The beamformer 314b may utilize adaptive beamforming techniques. In this procedure, an adaptive filter 326 may be used to match the second digital audio signal 312b with the first digital audio signal 312a. That is, the adaptive filter 326 may match the frequency responses of the two microphones, as well as compensate for any delay between the digital audio signals 312a, 312b. The second digital audio signal 312b may be used as the input to the adaptive filter 326, while the first digital audio signal 312a may be used as the reference to the adaptive filter 326. The filtered audio signal 328 may be designated z w2 (n) . The noise reference (or

"beamformed") signal 318b may be designated z b2 {n) . The weights for the adaptive filter 326 may be designated W 1 (O , where i is a number between zero and M-X, M being the length of the filter. The adaptive filtering process may be expressed as shown in equations (7) and (8):

Z b2 ( n ) = Z cl ( n ) - Z w2 ( n ) (8)

[0055] The adaptive filter weights W 1 (Z) may be adapted using any standard adaptive filtering algorithm such as Least Mean Squared (LMS) or Normalized LMS (NLMS), etc. The desired audio reference signal 316b (e.g., z bl (n) ) and the noise reference signal 318b (e.g., z b2 (n)) may be expressed as shown in equations (9) and (10):

EMBED Equation.3 (9) z b2 (n) = z cl (n) - z w2 (n) (10)

[0056] The adaptive beamforming procedure shown in Figure 3b may remove more desired audio from the second digital audio signal 312b and may produce a better noise reference signal 318b than the fixed beamforming technique shown in Figure 3 a. [0057] Figure 3 c is a block diagram illustrating some aspects of another possible configuration of a beamformer 314c. The beamformer 314c may be applied only for the generation of a noise reference signal 318c and the first digital audio signal 312a may be simply used as the desired audio reference signal 316c (e.g., z bl (n) = z cl (n)). In certain scenarios, this method may prevent possible desired audio quality degradation such as reverberation effects caused by the beamformer 314c.

[0058] Figure 4a is a block diagram illustrating some aspects of one possible configuration of a noise reference refiner 420a. The noise reference signal 418 generated by the beamformer (e.g., beamformers 214, 314a-c) may still contain some residual desired audio and this may cause quality degradation at the output of the overall system. The purpose of the noise reference refiner 420a may be to remove further residual desired audio from the noise reference signal 418 (e.g., z b2 (n)).

[0059] Typically, if the microphones are not located very close to each other, the residual desired audio may have dominant high-frequency content. Thus, noise reference refining may be performed by removing high-frequency residual desired audio from the noise reference signal 418. An adaptive filter 434 may be used for removing residual desired audio from the noise reference signal 418. The first digital audio signal 412a (e.g., z cl (n) ) may be (optionally) provided to a high-pass filter 430. In some cases, the high-pass filter 430 may be optional. An HR or FIR filter (e.g. h HPF {n) ) with a 1500-2000 Hz cutoff frequency may be used for high-pass filtering the first digital audio signal 412a. The high-pass filter 430 may be utilized to aid in removing only the high-frequency residual desired audio from the noise reference signal 418. The high-pass-filtered first digital audio signal 432a may be designated Z 1 (H) .

The adaptive filter output 436a may be designated z wr (n) . The adaptive filter weights (e.g., w r (n)) may be updated using any method known in the art such as LMS, NLMS, etc. The refined noise reference signal 422a may be designated z br (n) . The noise reference refiner 420a may be configured to implement a noise reference refining process as expressed in equations (11), (12), and (13):

Zi (n) = z cl (n) * h HPF (n) (H)

Af-I

Z wr(") = ∑ W r (l>,(» - 0 (12) ι=0

z br (n) = z b2 (n) - z wr (n) (13)

[0060] Figure 4b is a block diagram illustrating some aspects of another possible configuration of a noise reference refiner 420b. In this configuration, the difference between digital audio signals 412a, 412b (e.g. z cl (n) , z c2 (n)) may be input into the optional high pass filter 430. The output 432b of the high-pass filter 430 may be designated Z 1 (H) . The output 436b of the adaptive filter 434 may be designated z wr (n) .

The refined noise reference signal 422b may be designated z br (ή) . The noise reference refiner 420b may be configured to implement a noise reference refining process as expressed in equations (14), (15), and (16):

Z 1 (H) = (z cl (n) - z c2 (n)) * h HPF (n) (14)

z br (n) = z b2 (n) - z wr (n) (16)

[0061] Figure 5a is a more detailed block diagram illustrating some aspects of one possible configuration of a system 500a including ambient noise suppression. A beamformer 514 (including an adaptive filter 526) and a noise reference refiner 520a (including a high-pass filter 530 and an adaptive filter 534) may receive digital audio signals 512a, 512b and output a desired audio reference signal 516 and a refined noise reference signal 522a. In some cases, the high-pass filter 530 may be optional. [0062] Figure 5b is a more detailed block diagram illustrating some aspects of another possible configuration of a system 500b including ambient noise suppression. A beamformer 514 (including an adaptive filter 526) and a noise reference refiner 520b (including a high-pass filter 530 and an adaptive filter 534) may receive digital audio signals 512a, 512b and output a desired audio reference signal 516 and a refined noise reference signal 522b. In this configuration, the noise reference refiner 520b may input the difference between the first digital audio signal 512a and the second digital audio signal 512b into the optional high pass filter 530.

[0063] Figure 5c illustrates an alternative configuration of a system 500c including ambient noise suppression. The system 500c of Figure 5c is similar to the system 500b of Figure 5b, except that in the system 500c of Figure 5c, the desired audio reference signal 516 is provided as input to the high-pass filter 530 (instead of the difference between the first digital audio signal 512a and the second digital audio signal 512b). [0064] Figure 5d illustrates another alternative configuration of a system 50Od including ambient noise suppression. The system 50Od of Figure 5d is similar to the system 500b of Figure 5b, except that in the system 50Od of Figure 5d, the output 512a of the beamformer 514 is equal to the first digital audio signal 512a. [0065] Figure 6a is a flow diagram illustrating one example of a method 600a for suppressing ambient noise. Digital audio from multiple sources is beamformed 638a. The digital audio from multiple sources may or may not have matching or similar energy levels. The digital audio from multiple sources may have matching or similar signal characteristics. For example, the digital audio from each source may include a dominant speech 106 and ambient noise 108. A desired audio reference signal (e.g., desired audio reference signal 216) and a noise reference signal (e.g., noise reference signal 218) may be generated via beamforming 638a. The noise reference signal may contain residual desired audio. The residual desired audio may be reduced or effectively eliminated from the noise reference signal by refining 640a the noise reference signal. The method 600a shown may be an ongoing process. [0066] The method 600a described in Figure 6a above may be performed by various hardware and/or software component(s) and/or module(s) corresponding to the means- plus-function blocks 600b illustrated in Figure 6b. In other words, blocks 638a through 640a illustrated in Figure 6a correspond to means-plus-function blocks 638b through 640b illustrated in Figure 6b.

[0067] Figure 7a is a block diagram illustrating some aspects of one possible configuration of a system 700a including ambient noise suppression. A system 700a including ambient noise suppression may include transducers (e.g., microphones) 710a, 710b, Analog-to-Digital Converters (ADCs) 744a, 744b, a calibrator 748, a first beamformer 714, a noise reference refiner 720, a noise reference calibrator 750, a second beamformer 754, and post processing components 760.

[0068] The transducers 710a, 710b may capture sound information and convert it to analog signals 742a, 742b. The transducers 710a, 710b may include any device or devices used for converting sound information into electrical (or other) signals. For example, they may be electro-acoustic transducers such as microphones. The ADCs 744a, 744b, may convert the analog signals 742a, 742b, captured by the transducers 710a, 710b into uncalibrated digital audio signals 746a, 746b. The ADCs 744a, 744b may sample analog signals at a sampling frequency f s .

[0069] The two uncalibrated digital audio signals 746a, 746b may be calibrated by the calibrator 748 in order to compensate for differences in microphone sensitivities and for differences in near- field speech levels. The calibrated digital audio signals 712a, 712b, may be processed by the first beamformer 714 to provide a desired audio reference signal 716 and a noise reference signal 718. The first beamformer 714 may be a fixed beamformer or an adaptive beamformer. The noise reference refiner 720 may refine the noise reference signal 718 to further remove residual desired audio. [0070] The refined noise reference signal 722 may also be calibrated by the noise reference calibrator 750 in order to compensate for attenuation effects caused by the first beamformer 714. The desired audio reference signal 716 and the calibrated noise reference signal 752 may be processed by the second beamformer 754 to produce the second desired audio signal 756 and the second noise reference signal 758. The second desired audio signal 756 and the second noise reference signal 758 may optionally undergo post processing 760 to remove more residual noise from the second desired audio reference signal 756. The desired audio output signal 762 and the noise reference output signal 764 may be transmitted, output via a speaker, processed further, or otherwise utilized.

[0071] Figure 7b is a block diagram illustrating some aspects of another possible configuration of a system 700b including ambient noise suppression. A processor 766 may execute instructions and/or perform operations in order to implement the calibrator 748, first beamformer 714, noise reference refiner 720, noise reference calibrator 750, second beamformer 754, and/or post processing 760.

[0072] Figure 7c is a block diagram illustrating some aspects of another possible configuration of a system 700c including ambient noise suppression. A processor 766a may execute instructions and/or perform operations in order to implement the calibrator 748 and first beamformer 714. Another processor 766b may execute instructions and/or perform operations in order to implement the noise reference refiner 720 and noise reference calibrator 750. Another processor 766c may execute instructions and/or perform operations in order to implement the second beamformer 754 and post processing 760. Individual processors may be arranged to handle each block individually or any combination of blocks.

[0073] Figure 8a is a block diagram illustrating some aspects of one possible configuration of a calibrator 848a. The calibrator 848a may serve two purposes: to compensate for any difference in microphone sensitivities, and to compensate for the near-field desired audio level difference in the uncalibrated digital audio signals 846a, 846b. Microphone sensitivity measures the strength of voltage generated by a microphone for a given input pressure of the incident acoustic field. If two microphones have different sensitivities, they will produce different voltage levels for the same input pressure. This difference may be compensated before performing beamforming. A second factor that may be considered is the near-field effect. Since the user holding the mobile device may be in close proximity to the two microphones, any change in handset orientation may result in significant differences between signal levels captured by the two microphones. Compensation of this signal level difference may aid the first-stage beamformer in generating a better noise reference signal. [0074] The differences in microphone sensitivity and audio level (due to the near- field effect) may be compensated by computing a set of calibration factors (which may also be referred to as scaling factors) and applying them to one or more uncalibrated digital audio signals 846a, 846b.

[0075] The calibration block 868a may compute a calibration factor and apply it to one of the uncalibrated digital audio signals 846a, 846b so that the signal level in the second digital audio signal 812b is close to that of the first digital audio signal 812a. [0076] A variety of methods may be used for computing the appropriate calibration factor. One approach for computing the calibration factor may be to compute the single tap Wiener filter coefficient and use it as the calibration factor for the second uncalibrated digital audio signal 846b. The single tap Wiener filter coefficient may be computed by calculating the cross-correlation between the two uncalibrated digital audio signals 846a, 846b, and the energy of the second uncalibrated digital audio signal 846b. The two uncalibrated digital audio signals 846a, 846b may be designated z x (ή) and z 2 (n) where n denotes the time instant or sample number. The uncalibrated digital audio signals 846a, 846b may be segmented into frames (or blocks) of length N. For each frame k, the block cross-correlation R 12 (k) and block energy estimate P 22 (k) may be calculated as shown in equations (17) and (18):

KN

R n (k) = ∑ Z 1 (H)Z 2 (H) (17) n=(k-ϊ)N kN

P 22 (k) = Y^ Z 2 (H)Z 2 (H) (18) n=(k-\)N

[0077] The block cross-correlation R l2 (k) and block energy estimate P 22 (k) may be optionally smoothed using an exponential averaging method for minimizing the variance of the estimates as shown in equations (19) and (20):

R l2 (k) = λ ι R l2 (k - \) + (\ -λ ι )R l2 (k) (19) P 22 (k) = A 2 P 22 (k - 1) + (1 - A 2 )P 22 (k) (20)

[0078] A 1 and A 2 are averaging constants that may take values between 0 and 1. The higher the values of A 1 and A 2 are, the smoother the averaging process(es) will be, and the lower the variance of the estimates will be. Typically, values in the range: 0.9 -

0.99 have been found to give good results.

[0079] The calibration factor c 2 (k) for the second uncalibrated digital audio signal

846b may be found by computing the ratio of the block cross-correlation estimate and the block energy estimate as shown in equation (21):

[0080] The calibration factor C 2 (A:) may be optionally smoothed in order to minimize abrupt variations, as shown in equation (22). The smoothing constant may be chosen in the range: 0.7 - 0.9.

c 2 (k) = β 2 c 2 (k-\) + (\-β 2 )c 2 (k) (22)

[0081] The estimate of the calibration factor may be improved by computing and updating the calibration factor only during desired audio activity periods. Any method of Voice Activity Detection (VAD) known in the art may be used for this purpose. [0082] The calibration factor may alternatively be estimated using a maximum searching method. In this method, the block energy estimates P n (k) and P 22 (k) of the two uncalibrated digital audio signals 846a, 846b may be searched for desired audio energy maxima and the ratio of the two maxima may be used for computing the calibration factor. The block energy estimates P n (k) and P 22 (k) may be computed as shown in equations (23) and (24):

KN

P n (Jc) = ^ Z 1 (H)Z 1 (H) (23) n=(k-\)N n=(k-\)N [0083] The block energy estimates -P 11 (^) and P 22 (k) may be optionally smoothed as shown in equations (25) and (26):

P n (k) = I 3 P n (k - 1) + (1 - A 3 )P n (k) (25)

P 22 (k) = A 2 P 22 (k - 1) + (1 - A 2 )P 22 (k) (26)

[0084] λ 3 and A 2 are averaging constants that may take values between 0 and 1. The higher the values of A 3 and A 2 are, the smoother the averaging process(es) will be, and the lower the variance of the estimates will be. Typically, values in the range: 0.7- 0.8 have been found to give good results. The desired audio maxima of the two uncalibrated digital audio signals 846a, 846b (e.g., Q 1 (m) and Q 2 (m) where m is the multiple frame index number) may be computed by searching for the maximum of the block energy estimates over several frames, say K consecutive frames as shown in equations (27) and (28):

Q ι (m) = m a χ{P n ((m -i)k),P n ((m - i)k - i),...,P n ((m - i)k -K + i)} (27)

Q 2 (m) = max (P 22 ((m - X)k), P 22 {{m -ϊ)k -ϊ),..., P 22 ((m -Ϊ)k -K + Ϊ)} (28)

[0085] The maxima values may optionally be smoothed to obtain smoother estimates as shown in equations (29) and (30):

Q 1 (m) = A 4 Q 1 (m - I) + (I - A 4 )Q, (m) (29) Q 2 (m) = A 5 Q 2 (m - 1) + (I - A 5 )Q 2 (m) (30)

[0086] A 4 and A 5 are averaging constants that may take values between 0 and 1. The higher the values of A 4 and A 5 are, the smoother the averaging process(es) will be, and the lower the variance of the estimates will be. Typically, the values of averaging constants are chosen in the range: 0.5 - 0.7. The calibration factor for the second uncalibrated digital audio signal 846b may be estimated by computing the square root of the ratio of the two uncalibrated digital audio signals 846a, 846b as shown in equation (31):

[0087] The calibration factor c 2 (m) may optionally be smoothed as shown in equation (32):

c 2 (m) = β 3 c 2 (rn - ϊ) + (l - β 3 )c 2 (m) (32)

[0088] /? 3 is an averaging constant that may take values between 0 and 1. The higher the value of β 3 is, the smoother the averaging process will be, and the lower the variance of the estimates will be. This smoothing process may minimize abrupt variation in the calibration factor for the second uncalibrated digital audio signal 846b. The calibration factor, as calculated by the calibration block 868a, may be used to multiply the second uncalibrated digital audio signal 846b. This process may result in scaling the second uncalibrated digital audio signal 846b such that the desired audio energy levels in the digital audio signals 812a, 812b are balanced before beamforming. [0089] Figure 8b is a block diagram illustrating some aspects of another possible configuration of a calibrator 848b. In this configuration, the inverse of the calibration factor (as calculated by the calibration block 868b) may be applied to the first uncalibrated digital audio signal 846a. This process may result in scaling the first uncalibrated digital audio signal 846a such that the desired audio energy levels in the digital audio signals 812a, 812b are balanced before beamforming. [0090] Figure 8c is a block diagram illustrating some aspects of another possible configuration of a calibrator 848c. In this configuration, two calibration factors that will balance the desired audio energy levels in the digital audio signals 812a, 812b may be calculated by the calibration block 868c. These two calibration factors may be applied to the uncalibrated digital audio signals 846a, 846b. [0091] Once the uncalibrated digital audio signals 846a, 846b are calibrated, the first digital audio signal 812a and the second digital audio signal 812b may be beamformed and/or refined as discussed above.

[0092] Figure 9a is a block diagram illustrating some aspects of one possible configuration of a noise reference calibrator 950a. The noise reference signal 922, which may be generated by the first beamformer 714, may suffer from an attenuation problem. The strength of noise in the refined noise reference signal 922 may be much smaller compared to the strength of noise in the desired audio reference signal 916. The refined noise reference signal 922 may be calibrated (e.g., scaled) by the calibration block 972a before performing secondary beamforming.

[0093] The calibration factor for the noise reference calibration may be computed using noise floor estimates. The calibration block 972a may compute noise floor estimates for the desired audio reference signal 916 and the refined noise reference signal 922. The calibration block 972a may accordingly compute a calibration factor and apply it to the refined noise reference signal 922.

[0094] The block energy estimates of the desired audio reference signal (e.g., z bl (n)) and the refined noise reference signal (e.g., z br (n) ) may be designated P bl (k) and P br (k) , respectively, where k is the frame index.

[0095] The noise floor estimates of the block energies (e.g., Q bl (m) and Q br {m) where m is the frame index) may be computed by searching for a minimum value over a set of frames (e.g., K frames) as expressed in equations (33) and (34):

Q bl (m) = mm{P bl ((m - l)k),P bl ((m - l)k - l),...,P bl ((m - l)k - K + l)} (33) Q br (m) = min{P br ((m - \)k),P br ((m - \)k - \),...,P br ((m - Ϊ)k - K + 1)} (34)

[0096] The noise floor estimates (e.g. Q bi {m) and Q br {m) ) may optionally be smoothed (e.g., the smoothed noise floor estimates may be designated Q bl (m) and Q br {m) ) using an exponential averaging method as shown in equations (35) and (36): Q (m) = λ 6 Q (m - ϊ) + (l - λ 6 )Q (m) (35) a,(«) = Λa,(«-i)+ α-Λ)4,(«) (36)

[0097] A 6 and X 1 are averaging constants that may take values between 0 and 1. The higher the values of A 6 and A 1 are, the smoother the averaging process(es) will be, and the lower the variance of the estimates will be. The averaging constants are typically chosen in the range: 0.7 - 0.8. The refined noise reference 922 calibration factor may be designated c nr (rn) and may be computed as expressed in equation (37):

(37)

Q b λ m )

[0098] The estimated calibration factor (e.g., c nr {m) ) may be optionally smoothed (e.g., resulting in c nr {m) ) to minimize discontinuities in the calibrated noise reference signal 952 as expressed in equation (38):

c nr (m) = β A c nr (m - 1) + (1 - β A )c nr (m) (38)

[0099] β A is an averaging constant that may take values between 0 and 1. The higher the value of β A is, the smoother the averaging process will be, and the lower the variance of the estimates will be. Typically, the averaging constant is chosen in the range: 0.7 - 0.8. The calibrated noise reference signal 952 may be designated z nf {n) .

[00100] Figure 9b is a block diagram illustrating some aspects of another possible configuration of a noise reference calibrator 950b. The refined noise reference signal 922 may be divided into two (or more) sub-bands and a separate calibration factor may be computed by the calibration block 972b and applied for each sub-band. The low and high-frequency components of the refined noise reference signal 922 may benefit from having different calibration values.

[00101] If the refined noise reference signal 922 is divided into two sub-bands, as shown in Figure 9b, the sub-bands may be filtered by a low-pass filter (LPF) 976a and a high-pass filter (HPF) 978a, respectively. If the refined noise reference signal 922 is divided into more than two sub-bands, then each sub-band may be filtered by a bandpass filter.

[00102] The calibration block 972b may compute noise floor estimates for the desired audio reference signal 916 and the sub-bands of the refined noise reference signal 922. The calibration block 972b may accordingly compute calibration factors and apply them to the sub-bands of the refined noise reference signal 922. The block energy estimates of the desired audio reference signal (e.g., z bl (ή) ) and the sub-bands of the refined noise reference signal (e.g., z br (n) ) may be designated P bl (k) , P nLPF (k) , and P nHPF {k) respectively, where k is the frame index. The noise floor estimates of the block energies (e.g., Q bl {m) , Q nLPF {m) , and Q nHPF {m) where m is the frame index) may be computed by searching for a minimum value over a set of frames (e.g., K frames) as expressed in equations (39), (40), and (41):

Q bl (m) = mm{P bl ((m - l)k),P bl ((m - \)k - l),...,P bl ((m - \)k - K + 1)} (39)

Q nLPF (m) = mm{P nLPF ((m - l)k),P nLPF ((m - \)k - l),...,P nLPF ((m - l)k - K + 1)} (40) Q nHPF (m) = min{P nHPF ((m - \)k),P nHPF ((m - \)k - \),...,P nHPF ((m - Ϊ)k - K + 1)} (41)

[00103] The noise floor estimates (e.g., Q bl (m) , Q nLPF (m) , and Q nHPF (m) ) may optionally be smoothed (e.g., the smoothed noise floor estimates may be designated Q bl (m) Q nLPF (m) , and Q nHPF (m) ) using an exponential averaging method as shown in equations (42), (43), and (44):

Q (m) = λ 6 Q M (m - ϊ) + (l - λ 6 )Q M (m) (42)

QnLPF irn) = \Q nLPF (m - 1) + (1 - Λ )Q nLPF («) (43) CL PF (»0 = - 1) + (1 - K)Q nHPF {m) (44)

[00104] /I 8 and A 9 are averaging constants that may take values between 0 and 1. The higher the values of λ % and A 9 are, the smoother the averaging process(es) will be, and the lower the variance of the estimates will be. Typically, averaging constants in the range: 0.5 - 0.8 may be used. The refined noise reference 922 calibration factors may be designated c lLPF (m) and c lHPF (m) and may be computed as expressed in equations (45) and (46):

ΛLPΛ ) Q nLP Λm) (45)

W(^) = #M- (46)

[00105] The estimated calibration factors may be optionally smoothed (e.g., resulting in c lLPF (m) and c lHPF (m) ) to minimize discontinuities in the calibrated noise reference signal 952b as expressed in equations (47) and (48):

C ILPF O) = βs c iLPF ( / w - 1) + (1 - β 5 ) W (m) (47)

Ci HPF (m) = β& HPF (m - l) + (l - β 6 )c WPF (m) (48)

[00106] β 5 and β 6 are averaging constants that may take values between 0 and 1. The higher the values of β 5 and β 6 are, the smoother the averaging process will be, and the lower the variance of the estimates will be. Typically, averaging constants in the range: 0.7 - 0.8 may be used. The calibrated noise reference signal 952b may be the summation of the two scaled sub-bands of the refined noise reference signal 922 and may be designated z nf (n) .

[00107] Figure 9c is a block diagram illustrating some aspects of another possible configuration of a noise reference calibrator 950c. The refined noise reference signal 922 and the desired audio reference signal 916 may be divided into two sub-bands and a separate calibration factor may be computed by the calibration block 972c and applied for each sub-band. The low and high-frequency components of the refined noise reference signal 922 may benefit from different calibration values. [00108] The desired audio reference signal 916 may be divided and filtered by a low- pass filter 976b and a high-pass filter 978b. The refined noise reference signal 922 may be divided and filtered by a low-pass filter 976a and a high-pass filter 978a. The calibration block 972c may compute noise floor estimates for the sub-bands of the desired audio reference signal 916 and the sub-bands of the refined noise reference signal 922. The calibration block 972c may accordingly compute calibration factors and apply them to the sub-bands of the refined noise reference signal 922. The block energy estimates of the sub-bands of the desired audio reference signal (e.g., z bl (n) ) and the sub-bands of the refined noise reference signal (e.g., z br (n) ) may be designated Pippik) ' P HPF ^) ' P 1ILPF (^) ' an d K HPF Q^) respectively, where k is the frame index. The noise floor estimates of the block energies (e.g., Q LPF (m) , Q HPF (m) , Q nLPF (m) , and

Q nHPF ( m ) where m is the frame index) may be computed by searching for a minimum value over a set of frames (e.g. K frames) as expressed in equations (49), (50), (51), and

(52):

Q LPF ( m ) = mm{P LPP ((M - - \)k - \),...,P LPF ((M - \)k - K + \)} (49)

Q HPF (m) = mm{P HPF ((m - \)k),P HPF ((m - \)k - \),...,P HPF ((m - \)k - K + 1)} (50)

Q nLPF (m) = min{P nLPF ((m - l)k),P nLPF ((m - \)k - l),...,P nLPF ((m - l)k - K + 1)} ^ 51 )

Q nHPF (m) = mm{P nHPF ((m - l)k),P nHPF ((m - \)k - \),...,P nHPF ((m - Ϊ)k - K + 1)} ^ 52 )

[00109] The noise floor estimates (e.g., Q LPF (m) , Q HPF (m) , Q nLPF (m) , and Q nHPF {m) ) may optionally be smoothed (e.g., the smoothed noise floor estimates may be designated Q HPF (m) , Q LPF (m) , Q nLPF (m) , and Q nHPF (m) ) using an exponential averaging method as shown in equations (53), (54), (55), and (56):

QLPF (m) = KQLPF (m - 1) + (1 - Λo )QLPF (m) (53)

Q nLPF (jn) = A& nLPF (M - I) + (I - A, )Q nLPF (M) (55) Q nHPF O) = KQ nHPF (m ~ 1) + (1 ~ A 9 )Q nHPF ipi) (56)

[00110] A 10 and A 11 are averaging constants that may take values between 0 and 1. The higher the values of A 10 and A 11 are, the smoother the averaging process(es) will be, and the lower the variance of the estimates will be. The averaging constants may be chosen in the range: 0.5 - 0.8. The refined noise reference 922 calibration factors may be designated c 2LPF (m) and c 2HPF (m) and may be computed as expressed in equations (57) and (58):

[00111] The estimated calibration factors may be optionally smoothed (e.g., resulting in c 2LPF (m) and c 2HPF (m) ) to minimize discontinuities in the calibrated noise reference signal 952 as expressed in equations (59) and (60):

C 2LPF ( m ) = β l C 2LPF ("i ~ V) + (\ ~ β η )C 2LpF (tfl) (59)

C 2HPF ( m ) = β % C 2HPF (^ " 1) + (1 " β % )C 2HpF (/w) (60)

[00112] β η and β % are averaging constants that may take values between 0 and 1. The higher the values of β η and /? 8 are, the smoother the averaging process will be, and the lower the variance of the estimates will be. Typically, values in the range: 0.7 - 0.8 may be used. The calibrated noise reference signal 952 may be the summation of the two scaled sub-bands of the refined noise reference signal 922 and may be designated z nf {n) . [00113] Figure 10 is a block diagram illustrating some aspects of one possible configuration of a beamformer 1054. This beamformer 1054 may be utilized as the second beamformer 754 discussed earlier.

[00114] The primary purpose of secondary beamforming may be to utilize the calibrated refined noise reference signal 1052 and remove more noise from the desired audio reference signal 1016. The input to the adaptive filter 1084 may be chosen to be the calibrated refined noise reference signal 1052. The input signal may be optionally low-pass filtered by the LPF 1080 in order to prevent the beamformer 1054 from aggressively suppressing high-frequency content in the desired audio reference signal 1016. Low-pass filtering the input may help ensure that the second desired audio signal 1056 of the beamformer 1054 does not sound muffled. An Infinite Impulse Response (IIR) or Finite Impulse Response (FIR) filter with a 2800-3500 Hz cut-off frequency for an 8 KHz sampling rate f s may be used for low-pass filtering the calibrated refined noise reference signal 1052. The cut-off frequency may be doubled if the sampling rate f s is doubled.

[00115] The calibrated refined noise reference signal 1052 may be designated z nf (ή) . The LPF 1080 may be designated h LPF {n) . The low-pass filtered, calibrated, refined noise reference signal 1082 may be designated z } {n) . The output 1086 of the adaptive filter 1084 may be designated z w2 (n) . The adaptive filter weights may be designated W 2 (z) , and may be updated using any adaptive filtering technique known in the art (e.g., LMS, NLMS, etc.). The desired audio reference signal 1016 may be designated z bl (n) . The second desired audio signal 1056 may be designated z sf (ή) . The beamformer 1054 may be configured to implement a beamforming process as expressed in equations (61), (62), and (63):

z ] (n) = z nf (n) * h LPF (n) (61)

Af -I z w2 O) = ∑w 2 ( i >,( » -0 (62) ι=0 z sf (n) = z bl (n) - z w2 (n) (63)

[00116] Although not shown in Figure 10, the calibrated, refined noise reference signal 1052, the low-pass filtered, calibrated, refined noise reference signal 1082, and/or the output 1086 of the adaptive filter 1084 may also be passed through to a post processing block (e.g., the post-processing block 760).

[00117] Figure 11 is a block diagram illustrating some aspects of one possible configuration of a post-processing block 1160. Post-processing techniques may be used for removing additional residual noise from the second desired audio signal 1156. Postprocessing methods such as spectral subtraction, Wiener filtering, etc. may be used for suppressing further noise from the second desired audio signal 1156. The desired audio output signal 1162 may be transmitted, output through a speaker, or otherwise utilized. Any stage of the noise reference processed signal 1158 may also be utilized or provided as output 1164.

[00118] Figure 12 is a flow diagram illustrating some aspects of one possible configuration of a method 1200 for suppressing ambient noise. The method 1200 may be implemented by a communication device, such as a mobile phone, "land line" phone, wired headset, wireless headset, hearing aid, audio/video recording device, etc. [00119] Desired audio signals (which may include speech 106) as well as ambient noise (e.g., the ambient noise 108) may be received 1288 via multiple transducers (e.g., microphones HOa, 110b). These transducers may be closely spaced on the communication device. These analog audio signals may be converted 1289 to digital audio signals (e.g., digital audio signals 746a, 746b).

[00120] The digital audio signals may be calibrated 1290, such that the desired audio energy is balanced between the signals. Beamforming may then be performed 1291 on the signals, which may produce at least one desired audio reference signal (e.g., desired audio reference signal 716) and at least one noise reference signal (e.g., noise reference signal 718). The noise reference signal(s) may be refined 1292 by removing more desired audio from the noise reference signal(s). The noise reference signal(s) may then be calibrated 1293, such that the energy of the noise in the noise reference signal(s) is balanced with the noise in the desired audio reference signal(s). Additional beamforming may be performed 1294 to remove additional noise from the desired audio reference signal. Post processing may also be performed 1295.

[00121] The method 1200 described in Figure 12 above may be performed by various hardware and/or software component(s) and/or module(s) corresponding to the means- plus-function blocks 1200a illustrated in Figure 12a. In other words, blocks 1288 through 1295 illustrated in Figure 12 correspond to means-plus-function blocks 1288a through 1295a illustrated in Figure 12a.

[00122] Reference is now made to Figure 13. Figure 13 illustrates certain components that may be included within a communication device 1302. The communication device 1302 may be configured to implement the methods for suppressing ambient noise described herein.

[00123] The communication device 1302 includes a processor 1370. The processor 1370 may be a general purpose single- or multi-chip microprocessor (e.g., an ARM), a special purpose microprocessor (e.g., a digital signal processor (DSP)), a microcontroller, a programmable gate array, etc. The processor 1370 may be referred to as a central processing unit (CPU). Although just a single processor 1370 is shown in the communication device 1302 of Figure 13, in an alternative configuration, a combination of processors (e.g., an ARM and DSP) could be used. [00124] The communication device 1302 also includes memory 1372. The memory 1372 may be any electronic component capable of storing electronic information. The memory 1372 may be embodied as random access memory (RAM), read only memory (ROM), magnetic disk storage media, optical storage media, flash memory devices in RAM, on-board memory included with the processor, EPROM memory, EEPROM memory, registers, and so forth, including combinations thereof.

[00125] Data 1374 and instructions 1376 may be stored in the memory 1372. The instructions 1376 may be executable by the processor 1370 to implement the methods disclosed herein. Executing the instructions 1376 may involve the use of the data 1374 that is stored in the memory 1372.

[00126] The communication device 1302 may also include multiple microphones 1310a, 1310b, 1310n. The microphones 1310a, 1310b, 1310n may receive audio signals that include speech and ambient noise, as discussed above. The communication device 1302 may also include a speaker 1390 for outputting audio signals. [00127] The communication device 1302 may also include a transmitter 1378 and a receiver 1380 to allow wireless transmission and reception of signals between the communication device 1302 and a remote location. The transmitter 1378 and receiver 1380 may be collectively referred to as a transceiver 1382. An antenna 1384 may be electrically coupled to the transceiver 1382. The communication device 1302 may also include (not shown) multiple transmitters, multiple receivers, multiple transceivers and/or multiple antenna.

[00128] The various components of the communication device 1302 may be coupled together by one or more buses, which may include a power bus, a control signal bus, a status signal bus, a data bus, etc. For the sake of clarity, the various buses are illustrated in Figure 13 as a bus system 1386.

[00129] In the above description, reference numbers have sometimes been used in connection with various terms. Where a term is used in connection with a reference number, this is meant to refer to a specific element that is shown in one or more of the Figures. Where a term is used without a reference number, this is meant to refer generally to the term without limitation to any particular Figure.

[00130] The term "determining" encompasses a wide variety of actions and, therefore, "determining" can include calculating, computing, processing, deriving, investigating, looking up (e.g., looking up in a table, a database or another data structure), ascertaining and the like. Also, "determining" can include receiving (e.g., receiving information), accessing (e.g., accessing data in a memory) and the like. Also, "determining" can include resolving, selecting, choosing, establishing and the like. [00131] The phrase "based on" does not mean "based only on," unless expressly specified otherwise. In other words, the phrase "based on" describes both "based only on" and "based at least on."

[00132] The term "processor" should be interpreted broadly to encompass a general purpose processor, a central processing unit (CPU), a microprocessor, a digital signal processor (DSP), a controller, a microcontroller, a state machine, and so forth. Under some circumstances, a "processor" may refer to an application specific integrated circuit (ASIC), a programmable logic device (PLD), a field programmable gate array (FPGA), etc. The term "processor" may refer to a combination of processing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. [00133] The term "memory" should be interpreted broadly to encompass any electronic component capable of storing electronic information. The term memory may refer to various types of processor-readable media such as random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), programmable read-only memory (PROM), erasable programmable read only memory (EPROM), electrically erasable PROM (EEPROM), flash memory, magnetic or optical data storage, registers, etc. Memory is said to be in electronic communication with a processor if the processor can read information from and/or write information to the memory. Memory that is integral to a processor is in electronic communication with the processor.

[00134] The terms "instructions" and "code" should be interpreted broadly to include any type of computer-readable statement(s). For example, the terms "instructions" and "code" may refer to one or more programs, routines, sub-routines, functions, procedures, etc. "Instructions" and "code" may comprise a single computer-readable statement or many computer-readable statements. The terms "instructions" and "code" may be used interchangeably herein.

[00135] The functions described herein may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored as one or more instructions on a computer-readable medium. The term "computer-readable medium" refers to any available medium that can be accessed by a computer. By way of example, and not limitation, a computer-readable medium may comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and BIu- ray ® disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers.

[00136] Software or instructions may also be transmitted over a transmission medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of transmission medium. [00137] The methods disclosed herein comprise one or more steps or actions for achieving the described method. The method steps and/or actions may be interchanged with one another without departing from the scope of the claims. In other words, unless a specific order of steps or actions is required for proper operation of the method that is being described, the order and/or use of specific steps and/or actions may be modified without departing from the scope of the claims.

[00138] Further, it should be appreciated that modules and/or other appropriate means for performing the methods and techniques described herein, such as those illustrated by Figures 6 and 12, can be downloaded and/or otherwise obtained by a device. For example, a device may be coupled to a server to facilitate the transfer of means for performing the methods described herein. Alternatively, various methods described herein can be provided via a storage means (e.g., random access memory (RAM), read only memory (ROM), a physical storage medium such as a compact disc (CD) or floppy disk, etc.), such that a device may obtain the various methods upon coupling or providing the storage means to the device. Moreover, any other suitable technique for providing the methods and techniques described herein to a device can be utilized.

[00139] It is to be understood that the claims are not limited to the precise configuration and components illustrated above. Various modifications, changes and variations may be made in the arrangement, operation and details of the systems, methods, and apparatus described herein without departing from the scope of the claims. [00140] What is claimed is: