Presently, there are numerous methods for reducing background noise in speech recordings made in adverse environments. One such method is to use two or more microphones on an audio device. These microphones are localized and allow the device to determine a difference between the microphone signals. For example, due to a space difference between the microphones, the difference in times of arrival of the signals from a speech source to the microphones may be utilized to localize the speech source. Once localized, the signals can be spatially filtered to suppress the noise originating from different directions.
Beamforming techniques utilizing a linear array of microphones may create an “acoustic beam” in a direction of the source, and thus can be used as spatial filters. This method, however, suffers from many disadvantages. First, it is necessary to identify the direction of the speech source. The time delay, however, is difficult to estimate due to such factors as reverberation which may create ambiguous or incorrect information. Second, the number of sensors needed to achieve adequate spatial filtering is generally large (e.g., more than two). Additionally, if the microphone array is used on a small device, such as a cellular phone, beamforming is more difficult at lower frequencies because the distance between the microphones of the array is small compared to the wavelength.
Spatial separation and directivity of the microphones provides not only arrival-time differences but also inter-microphone level differences (ILD) that can be more easily identified than time differences in some applications. Therefore, there is a need for a system and method for utilizing ILD for noise suppression and speech enhancement.
Embodiments of the present invention overcome or substantially alleviate prior problems associated with noise suppression and speech enhancement. In general, systems and methods for utilizing inter-microphone level differences (ILD) to attenuate noise and enhance speech are provided. In exemplary embodiments, the ILD is based on energy level differences.
In exemplary embodiments, energy estimates of acoustic signals received from a primary microphone and a secondary microphone are determined for each channel of a cochlea frequency analyzer for each time frame. The energy estimates may be based on a current acoustic signal and an energy estimate of a previous frame. Based on these energy estimates the ILD may be calculated.
The ILD information is used to determine time-frequency components where speech is likely to be present and to derive a noise estimate from the primary microphone acoustic signal. The energy and noise estimates allow a filter estimate to be derived. In one embodiment, a noise estimate of the acoustic signal from the primary microphone is determined based on minimum statistics of the current energy estimate of the primary microphone signal and a noise estimate of the previous frame. In some embodiments, the derived filter estimate may be smoothed to reduce acoustic artifacts.
The filter estimate is then applied to the cochlea representation of the acoustic signal from the primary microphone to generate a speech estimate. The speech estimate is then converted into time domain for output. The conversion may be performed by applying an inverse frequency transformation to the speech estimate.
a and 1b are diagrams of two environments in which embodiments of the present invention may be practiced;
The present invention provides exemplary systems and methods for recording and utilizing inter-microphone level differences to identify time frequency regions dominated by speech in order to attenuate background noise and far-field distractors. Embodiments of the present invention may be practiced on any communication device that is configured to receive sound such as, but not limited to, cellular phones, phone handsets, headsets, and conferencing systems. Advantageously, exemplary embodiments are configured to provide improved noise suppression on small devices where prior art microphone arrays will not function well. While embodiments of the present invention will be described in reference to operation on a cellular phone, the present invention may be practiced on any communication device.
Referring to
While the microphones 106 and 108 receive sound information from the speech source 102, the microphones 106 and 108 also pick up noise 110. While the noise 110 is shown coming from a single location, the noise may comprise any sounds from one or more locations different than the speech and may include reverberations and echoes.
Embodiments of the present invention exploit level differences (e.g., energy differences) between the two microphones 106 and 108 independent of how the level differences are obtained. In
The level differences may then be used to discriminate speech and noise in the time-frequency domain. Further embodiments may use a combination of energy level difference and time delays to discriminate speech. Based on binaural cue decoding, speech signal extraction or speech enhancement may be performed.
Referring now to
As previously discussed, the primary and secondary microphones 106 and 108, respectively, are spaced a distance apart in order to allow for an energy level difference between them. It should be noted that the microphones 106 and 108 may comprise any type of acoustic receiving device or sensor, and may be omni-directional, unidirectional, or have other directional characteristics or polar patters. Once received by the microphones 106 and 108, the acoustic signals are converted by an analog-to-digital converter (not shown) into digital signals for processing in accordance with some embodiments. In order to differentiate the acoustic signals, the acoustic signal received by the primary microphone 106 is herein referred to as the primary acoustic signal, while the acoustic signal received by the secondary microphone 108 is herein referred to as the secondary acoustic signal.
The output device 206 is any device which provides an audio output to the user. For example, the output device 206 may be an earpiece of a headset or handset, or a speaker on a conferencing device.
Once the frequencies are determined, the signals are forwarded to an energy module 304 which computes energy level estimates during an interval of time. The energy estimate may be based on bandwidth of the cochlea channel and the acoustic signal. The exemplary energy module 304 is a component which, in some embodiments, can be represented mathematically. Thus, the energy level of the acoustic signal received at the primary microphone 106 may be approximated, in one embodiment, by the following equation
E
1(t,ω)=λE|X1(t,ω)|2+(1−λE)E1(t−1,ω)
where ζE is a number between zero and one that determines an averaging time constant, X1(t,ω) is the acoustic signal of the primary microphone 106 in the cochlea domain, ω represents the frequency, and t represents time. As shown, a present energy level of the primary microphone 106, E1(t,ω), is dependent upon a previous energy level of the primary microphone 106, E1(t−1,w). In some other embodiments, the value of λE can be different for different frequency channels. Given a desired time constant T (e.g., 4 ms) and the sampling frequency fs (e.g. 16 kHz), the value of λE can be approximated as
The energy level of the acoustic signal received from the secondary microphone 108 may be approximated by a similar exemplary equation
E
2(t,ω)=λE|X2(t,ω)|2+(1−λE)E2(t−1,ω)
where X2(t,w) is the acoustic signal of the secondary microphone 108 in the cochlea domain. Similar to the calculation of energy level for the primary microphone 106, energy level for the secondary microphone 108, E2(t,ω), is dependent upon a previous energy level of the secondary microphone 108, E2(t−1,ω).
Given the calculated energy levels, an inter-microphone level difference (ILD) may be determined by an ILD module 306. The ILD module 306 is a component which may be approximated mathematically, in one embodiment, as
where E1 is the energy level of the primary microphone 106 and E2 is the energy level of the secondary microphone 108, both of which are obtained from the energy module 304. This equation provides a bounded result between −1 and 1. For example, ILD goes to 1 when the E2 goes to 0, and ILD goes to −1 when E1 goes to 0. Thus, when the speech source is close to the primary microphone 106 and there is no noise, ILD=1, but as more noise is added, the ILD will change. Further, as more noise is picked up by both of the microphones 106 and 108, it becomes more difficult to discriminate speech from noise.
The above equation is desirable over an ILD calculated via a ratio of the energy levels, such as
where ILD is not bounded and may go to infinity as the energy level of the primary microphone gets smaller.
In an alternative embodiment, the ILD may be approximated by
Here, the ILD calculation is also bounded between −1 and 1. Therefore, this alternative ILD calculation may be used in one embodiment of the present invention.
According to an exemplary embodiment of the present invention, a Wiener filter is used to suppress noise/enhance speech. In order to derive a Wiener filter estimate, however, specific inputs are required. These inputs comprise a power spectral density of noise and a power spectral density of the source signal. As such, a noise estimate module 308 may be provided to determine a noise estimate for the acoustic signals.
According to exemplary embodiments, the noise estimate module 308 attempts to estimate the noise components in the microphone signals. In exemplary embodiments, the noise estimate is based only on the acoustic signal received by the primary microphone 106. The exemplary noise estimate module 308 is a component which can be approximated mathematically by
N(t,ω)=λ1(t,ω)E1(t,ω)+(1−λ1(t,ω))min[N(t−1,ω),E1(t,ω)]
according to one embodiment of the present invention. As shown, the noise estimate in this embodiment is based on minimum statistics of a current energy estimate of the primary microphone 106, E1(t,ω) and a noise estimate of a previous time frame, N(t−1,ω). Therefore the noise estimation is performed efficiently and with low latency.
λ1(t,ω) in the above equation is derived from the ILD approximated by the ILD module 306, as
That is, when speech at the primary microphone 106 is smaller than a threshold value (e.g., threshold=0.5) above which speech is expected to be, λ1 is small, and thus the noise estimator follows the noise closely. When ILD starts to rise (e.g., because speech is detected), however, λ1 increases. As a result, the noise estimate module 308 slows down the noise estimation process and the speech energy does not contribute significantly to the final noise estimate. Therefore, exemplary embodiments of the present invention may use a combination of minimum statistics and voice activity detection to determine the noise estimate.
A filter module 310 then derives a filter estimate based on the noise estimate. In one embodiment, the filter is a Wiener filter. Alternative embodiments may contemplate other filters. Accordingly, the Wiener filter approximation may be approximated, according to one embodiment, as
where Ps is a power spectral density of speech and Pn is a power spectral density of noise. According to one embodiment, Pn is the noise estimate, N(t,ω), which is calculated by the noise estimate module 308. In an exemplary embodiment, Ps=E1(t,ω)−βN(t,ω), where E1(t,ω) is the energy estimate of the primary microphone 106 from the energy module 304, and N(t,ω) is the noise estimate provided by the noise estimate module 308. Because the noise estimate changes with each frame, the filter estimate will also change with each frame.
β is an over-subtraction term which is a function of the ILD. β compensates bias of minimum statistics of the noise estimate module 308 and forms a perceptual weighting. Because time constants are different, the bias will be different between portions of pure noise and portions of noise and speech. Therefore, in some embodiments, compensation for this bias may be necessary. In exemplary embodiments, β is determined empirically (e.g., 2-3 dB at a large ILD, and is 6-9 dB at a low ILD).
α in the above exemplary Wiener filter equation is a factor which further suppresses the noise estimate. α can be any positive value. In one embodiment, nonlinear expansion may be obtained by setting α to 2. According to exemplary embodiments, α is determined empirically and applied when a body of
falls below a prescribed value (e.g., 12 dB down from the maximum possible value of W, which is unity).
Because the Wiener filter estimation may change quickly (e.g., from one frame to the next frame) and noise and speech estimates can vary greatly between each frame, application of the Wiener filter estimate, as is, may result in artifacts (e.g., discontinuities, blips, transients, etc.). Therefore, an optional filter smoothing module 312 is provided to smooth the Wiener filter estimate applied to the acoustic signals as a function of time. In one embodiment, the filter smoothing module 312 may be mathematically approximated as
M(t,ω)=λs(t,ω)W(t,ω)+(1−λs(t,ω))M(t−1,ω)
where λs is a function of the Wiener filter estimate and the primary microphone energy, E1.
As shown, the filter smoothing module 312, at time (t) will smooth the Wiener filter estimate using the values of the smoothed Wiener filter estimate from the previous frame at time (t−1). In order to allow for quick response to the acoustic signal changing quickly, the filter smoothing module 312 performs less smoothing on quick changing signals, and more smoothing on slower changing signals. This is accomplished by varying the value of λs according to a weighed first order derivative of E1 with respect to time. If the first order derivative is large and the energy change is large, then λs is set to a large value. If the derivative is small then λs is set to a smaller value.
After smoothing by the filter smoothing module 312, the primary acoustic signal is multiplied by the smoothed Wiener filter estimate to estimate the speech. In the above Wiener filter embodiment, the speech estimate is approximated by S(t,ω)=X1(t,ω)*M(t,ω), where X1 is the acoustic signal from the primary microphone 106. In exemplary embodiments, the speech estimation occurs in a masking module 314.
Next, the speech estimate is converted back into time domain from the cochlea domain. The conversion comprises taking the speech estimate, S(t,ω), and multiplying this with an inverse frequency of the cochlea channels in a frequency synthesis module 316. Once conversion is completed, the signal is output to user.
It should be noted that the system architecture of the audio processing engine 204 of
Referring now to
Frequency analysis is then performed on the acoustic signals by the frequency analysis module 302 (
In step 406, energy estimates for acoustic signals received at both the primary and secondary microphones 106 and 108 are computed. In one embodiment, the energy estimates are determined by an energy module 304 (
Once the energy estimates are calculated, inter-microphone level differences (ILD) are computed in step 408. In one embodiment, the ILD is calculated based on the energy estimates of both the primary and secondary acoustic signals. In exemplary embodiments, the ILD is computed by the ILD module 306 (
Based on the calculated ILD, noise is estimated in step 410. According to embodiments of the present invention, the noise estimate is based only on the acoustic signal received at the primary microphone 106. The noise estimate may be based on the present energy estimate of the acoustic signal from the primary microphone 106 and a previously computed noise estimate. In determining the noise estimate, the noise estimation is frozen or slowed down when the ILD increases, according to exemplary embodiments of the present invention.
In step 412, a filter estimate is computed by the filter module 310 (
In step 418, the speech estimate is converted back to the time domain. Exemplary conversion techniques apply an inverse frequency of the cochlea channel to the speech estimate. Once the speech estimate is converted, the audio signal may now be output to the user in step 420. In some embodiments, the digital acoustic signal is converted to an analog signal for output. The output may be via a speaker, earpieces, or other similar devices.
The above-described modules can be comprised of instructions that are stored on storage media. The instructions can be retrieved and executed by the processor 202 (
The present invention is described above with reference to exemplary embodiments. It will be apparent to those skilled in the art that various modifications may be made and other embodiments can be used without departing from the broader scope of the present invention. Therefore, these and other variations upon the exemplary embodiments are intended to be covered by the present invention.
The present application is a continuation of U.S. patent application Ser. No. 13/705,132, filed Dec. 4, 2012, which, in turn, is a continuation of U.S. patent application Ser. No. 11/343,524, filed on Jan. 30, 2006 (now U.S. Pat. No. 8,345,890), which, in turn, claims the benefit of U.S. Provisional Patent Application No. 60/756,826, filed Jan. 5, 2006, all of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
60756826 | Jan 2006 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13705132 | Dec 2012 | US |
Child | 14477761 | US | |
Parent | 11343524 | Jan 2006 | US |
Child | 13705132 | US |