1. Field of Invention
The present invention relates generally to audio processing and more particularly to adaptive noise suppression of an audio signal.
2. Description of Related Art
Currently, there are many methods for reducing background noise in an adverse audio environment. One such method is to use a stationary noise suppression system. The stationary noise suppression system will always provide an output noise that is a fixed amount lower than the input noise. Typically, the stationary noise suppression is in the range of 12-13 decibels (dB). The noise suppression is fixed to this conservative level in order to avoid producing speech distortion, which will be apparent with higher noise suppression.
In order to provide higher noise suppression, dynamic noise suppression systems based on signal-to-noise ratios (SNR) have been utilized. This SNR may then be used to determine a suppression value. Unfortunately, SNR, by itself, is not a very good predictor of speech distortion due to existence of different noise types in the audio environment. SNR is a ratio of how much louder speech is than noise. However, speech may be a non-stationary signal which may constantly change and contain pauses. Typically, speech energy, over a period of time, will comprise a word, a pause, a word, a pause, and so forth. Additionally, stationary and dynamic noises may be present in the audio environment. The SNR averages all of these stationary and non-stationary speech and noise. There is no consideration as to the statistics of the noise signal; only what the overall level of noise is.
In some prior art systems, an enhancement filter may be derived based on an estimate of a noise spectrum. One common enhancement filter is the Wiener filter. Disadvantageously, the enhancement filter is typically configured to minimize certain mathematical error quantities, without taking into account a user's perception. As a result, a certain amount of speech degradation is introduced as a side effect of the noise suppression. This speech degradation will become more severe as the noise level rises and more noise suppression is applied. That is, as the SNR gets lower, lower gain is applied resulting in more noise suppression. This introduces more speech loss distortion and speech degradation.
Some prior art systems invoke a generalized side-lobe canceller. The generalized side-lobe canceller is used to identify desired signals and interfering signals comprised by a received signal. The desired signals propagate from a desired location and the interfering signals propagate from other locations. The interfering signals are subtracted from the received signal with the intention of cancelling interference. Many noise suppression processes calculate a masking gain and apply this masking gain to an input signal. Thus, if an audio signal is mostly noise, a masking gain that is a low value may be applied (i.e., multiplied to) the audio signal. Conversely, if the audio signal is mostly desired sound, such as speech, a high value gain mask may be applied to the audio signal. This process is commonly referred to as multiplicative noise suppression.
Embodiments of the present invention overcome or substantially alleviate prior problems associated with noise suppression and speech enhancement. In exemplary embodiments, at least a primary and a secondary acoustic signal are received by a microphone array. The microphone array may comprise a close microphone array or a spread microphone array.
A noise component signal may be determined in each sub-band of signals received by the microphone by subtracting the primary acoustic signal weighted by a complex-valued coefficient σ from the secondary acoustic signal. The noise component signal, weighted by another complex-valued coefficient α, may then be subtracted from the primary acoustic signal resulting in an estimate of a target signal (i.e., a noise subtracted signal).
A determination may be made as to whether to adjust α. In exemplary embodiments, the determination may be based on a reference energy ratio (g1) and a prediction energy ratio (g2). The complex-valued coefficient α may be adapted when the prediction energy ratio is greater than the reference energy ratio to adjust the noise component signal. Conversely, the adaptation coefficient may be frozen when the prediction energy ratio is less than the reference energy ratio. The noise component signal may then be removed from the primary acoustic signal to generate a noise subtracted signal which may be outputted.
a is a block diagram of an exemplary noise subtraction engine.
b is a schematic illustrating the operations of the noise subtraction engine.
The present invention provides exemplary systems and methods for adaptive suppression of noise in an audio signal. Embodiments attempt to balance noise suppression with minimal or no speech degradation (i.e., speech loss distortion). In exemplary embodiments, noise suppression is based on an audio source location and applies a subtractive noise suppression process as opposed to a purely multiplicative noise suppression process.
Embodiments of the present invention may be practiced on any audio 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 while minimizing speech distortion. While some embodiments of the present invention will be described in reference to operation on a cellular phone, the present invention may be practiced on any audio device.
Referring to
In exemplary embodiments, the microphone array may comprise a primary microphone 106 relative to the audio source 102 and a secondary microphone 108 located a distance away from the primary microphone 106. While embodiments of the present invention will be discussed with regards to having two microphones 106 and 108, alternative embodiments may contemplate any number of microphones or acoustic sensors within the microphone array. In some embodiments, the microphones 106 and 108 may comprise omni-directional microphones.
While the microphones 106 and 108 receive sound (i.e., acoustic signals) from the audio source 102, the microphones 106 and 108 also pick up noise 110. Although the noise 110 is shown coming from a single location in
Referring now to
In exemplary embodiments, the primary and secondary microphones 106 and 108 are spaced a distance apart in order to allow for an energy level difference between them. Upon reception by the microphones 106 and 108, the acoustic signals may be converted into electric signals (i.e., a primary electric signal and a secondary electric signal). The electric signals may, themselves, be 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 comprise an earpiece of a headset or handset, or a speaker on a conferencing device.
In operation, the acoustic signals received from the primary and secondary microphones 106 and 108 are converted to electric signals and processed through a frequency analysis module 302. In one embodiment, the frequency analysis module 302 takes the acoustic signals and mimics the frequency analysis of the cochlea (i.e., cochlear domain) simulated by a filter bank. In one example, the frequency analysis module 302 separates the acoustic signals into frequency sub-bands. A sub-band is the result of a filtering operation on an input signal where the bandwidth of the filter is narrower than the bandwidth of the signal received by the frequency analysis module 302. Alternatively, other filters such as short-time Fourier transform (STFT), sub-band filter banks, modulated complex lapped transforms, cochlear models, wavelets, etc., can be used for the frequency analysis and synthesis. Because most sounds (e.g., acoustic signals) are complex and comprise more than one frequency, a sub-band analysis on the acoustic signal determines what individual frequencies are present in the complex acoustic signal during a frame (e.g., a predetermined period of time). According to one embodiment, the frame is 8 ms long. Alternative embodiments may utilize other frame lengths or no frame at all. The results may comprise sub-band signals in a fast cochlea transform (FCT) domain.
Once the sub-band signals are determined, the sub-band signals are forwarded to a noise subtraction engine 304. The exemplary noise subtraction engine 304 is configured to adaptively subtract out a noise component from the primary acoustic signal for each sub-band. As such, output of the noise subtraction engine 304 is a noise subtracted signal comprised of noise subtracted sub-band signals. The noise subtraction engine 304 will be discussed in more detail in connection with
The noise subtracted sub-band signals along with the sub-band signals of the secondary acoustic signal are then provided to the noise suppression engine 306a. According to exemplary embodiments, the noise suppression engine 306a generates a gain mask to be applied to the noise subtracted sub-band signals in order to further reduce noise components that remain in the noise subtracted speech signal. The noise suppression engine 306a will be discussed in more detail in connection with
The gain mask determined by the noise suppression engine 306a may then be applied to the noise subtracted signal in a masking module 308. Accordingly, each gain mask may be applied to an associated noise subtracted frequency sub-band to generate masked frequency sub-bands. As depicted in
Next, the masked frequency sub-bands are converted back into time domain from the cochlea domain. The conversion may comprise taking the masked frequency sub-bands and adding together phase shifted signals of the cochlea channels in a frequency synthesis module 310. Alternatively, the conversion may comprise taking the masked frequency sub-bands and multiplying these with an inverse frequency of the cochlea channels in the frequency synthesis module 310. Once conversion is completed, the synthesized acoustic signal may be output to the user.
Referring now to
According to an exemplary embodiment of the present invention, the AIS generator 410 derives time and frequency varying gains or gain masks used by the masking module 308 to suppress noise and enhance speech in the noise subtracted signal. In order to derive the gain masks, however, specific inputs are needed for the AIS generator 410. These inputs comprise a power spectral density of noise (i.e., noise spectrum), a power spectral density of the noise subtracted signal (herein referred to as the primary spectrum), and an inter-microphone level difference (ILD).
According to exemplary embodiment, the noise subtracted signal (c′(k)) resulting from the noise subtraction engine 304 and the secondary acoustic signal (f′(k)) are forwarded to the energy module 402 which computes energy/power estimates during an interval of time for each frequency band (i.e., power estimates) of an acoustic signal. As can be seen in
In two microphone embodiments, the power spectrums are used by an inter-microphone level difference (ILD) module 404 to determine an energy ratio between the primary and secondary microphones 106 and 108. In exemplary embodiments, the ILD may be a time and frequency varying ILD. Because the primary and secondary microphones 106 and 108 may be oriented in a particular way, certain level differences may occur when speech is active and other level differences may occur when noise is active. The ILD is then forwarded to the adaptive classifier 406 and the AIS generator 410. More details regarding one embodiment for calculating ILD may be can be found in co-pending U.S. patent application Ser. No. 11/343,524 and co-pending U.S. patent application Ser. No. 11/699,732. In other embodiments, other forms of ILD or energy differences between the primary and secondary microphones 106 and 108 may be utilized. For example, a ratio of the energy of the primary and secondary microphones 106 and 108 may be used. It should also be noted that alternative embodiments may use cues other then ILD for adaptive classification and noise suppression (i.e., gain mask calculation). For example, noise floor thresholds may be used. As such, references to the use of ILD may be construed to be applicable to other cues.
The exemplary adaptive classifier 406 is configured to differentiate noise and distractors (e.g., sources with a negative ILD) from speech in the acoustic signal(s) for each frequency band in each frame. The adaptive classifier 406 is considered adaptive because features (e.g., speech, noise, and distractors) change and are dependent on acoustic conditions in the environment. For example, an ILD that indicates speech in one situation may indicate noise in another situation. Therefore, the adaptive classifier 406 may adjust classification boundaries based on the ILD.
According to exemplary embodiments, the adaptive classifier 406 differentiates noise and distractors from speech and provides the results to the noise estimate module 408 which derives the noise estimate. Initially, the adaptive classifier 406 may determine a maximum energy between channels at each frequency. Local ILDs for each frequency are also determined. A global ILD may be calculated by applying the energy to the local ILDs. Based on the newly calculated global ILD, a running average global ILD and/or a running mean and variance (i.e., global cluster) for ILD observations may be updated. Frame types may then be classified based on a position of the global ILD with respect to the global cluster. The frame types may comprise source, background, and distractors.
Once the frame types are determined, the adaptive classifier 406 may update the global average running mean and variance (i.e., cluster) for the source, background, and distractors. In one example, if the frame is classified as source, background, or distracter, the corresponding global cluster is considered active and is moved toward the global ILD. The global source, background, and distractor global clusters that do not match the frame type are considered inactive. Source and distractor global clusters that remain inactive for a predetermined period of time may move toward the background global cluster. If the background global cluster remains inactive for a predetermined period of time, the background global cluster moves to the global average.
Once the frame types are determined, the adaptive classifier 406 may also update the local average running mean and variance (i.e., cluster) for the source, background, and distractors. The process of updating the local active and inactive clusters is similar to the process of updating the global active and inactive clusters.
Based on the position of the source and background clusters, points in the energy spectrum are classified as source or noise; this result is passed to the noise estimate module 408.
In an alternative embodiment, an example of an adaptive classifier 406 comprises one that tracks a minimum ILD in each frequency band using a minimum statistics estimator. The classification thresholds may be placed a fixed distance (e.g., 3 dB) above the minimum ILD in each band. Alternatively, the thresholds may be placed a variable distance above the minimum ILD in each band, depending on the recently observed range of ILD values observed in each band. For example, if the observed range of ILDs is beyond 6 dB, a threshold may be place such that it is midway between the minimum and maximum ILDs observed in each band over a certain specified period of time (e.g., 2 seconds). The adaptive classifier is further discussed in the U.S. nonprovisional application entitled “System and Method for Adaptive Intelligent Noise Suppression,” Ser. No. 11/825,563, filed Jul. 6, 2007, which is incorporated by reference.
In exemplary embodiments, the noise estimate is based on the acoustic signal from the primary microphone 106 and the results from the adaptive classifier 406. The exemplary noise estimate module 408 generates a noise estimate which is a component that 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 acoustic signal, E1(t,ω) and a noise estimate of a previous time frame, N(t−1, ω). As a result, the noise estimation is performed efficiently and with low latency.
λ1(t,ω) in the above equation may be derived from the ILD approximated by the ILD module 404, as
That is, when 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 estimate module 408 follows the noise closely. When ILD starts to rise (e.g., because speech is present within the large ILD region), λ1 increases. As a result, the noise estimate module 408 slows down the noise estimation process and the speech energy does not contribute significantly to the final noise estimate. Alternative embodiments, may contemplate other methods for determining the noise estimate or noise spectrum. The noise spectrum (i.e., noise estimates for all frequency bands of an acoustic signal) may then be forwarded to the AIS generator 410.
The AIS generator 410 receives speech energy of the primary spectrum from the energy module 402. This primary spectrum may also comprise some residual noise after processing by the noise subtraction engine 304. The AIS generator 410 may also receive the noise spectrum from the noise estimate module 408. Based on these inputs and an optional ILD from the ILD module 404, a speech spectrum may be inferred. In one embodiment, the speech spectrum is inferred by subtracting the noise estimates of the noise spectrum from the power estimates of the primary spectrum. Subsequently, the AIS generator 410 may determine gain masks to apply to the primary acoustic signal. More detailed discussion of the AIS generator 410 may be found in U.S. patent application Ser. No. 11/825,563 entitled “System and Method for Adaptive Intelligent Noise Suppression,” which is incorporated by reference. In exemplary embodiments, the gain mask output from the AIS generator 410, which is time and frequency dependent, will maximize noise suppression while constraining speech loss distortion.
It should be noted that the system architecture of the noise suppression engine 306a is exemplary. Alternative embodiments may comprise more components, less components, or equivalent components and still be within the scope of embodiments of the present invention. Various modules of the noise suppression engine 306a may be combined into a single module. For example, the functionalities of the ILD module 404 may be combined with the functions of the energy module 304.
Referring now to
The sub-band signals determined by the frequency analysis module 302 may be forwarded to the noise subtraction engine 304 and an array processing engine 502. The exemplary noise subtraction engine 304 is configured to adaptively subtract out a noise component from the primary acoustic signal for each sub-band. As such, output of the noise subtraction engine 304 is a noise subtracted signal comprised of noise subtracted sub-band signals. In the present embodiment, the noise subtraction engine 304 also provides a null processing (NP) gain to the noise suppression engine 306a. The NP gain comprises an energy ratio indicating how much of the primary signal has been cancelled out of the noise subtracted signal. If the primary signal is dominated by noise, then NP gain will be large. In contrast, if the primary signal is dominated by speech, NP gain will be close to zero. The noise subtraction engine 304 will be discussed in more detail in connection with
In exemplary embodiments, the array processing engine 502 is configured to adaptively process the sub-band signals of the primary and secondary signals to create directional patterns (i.e., synthetic directional microphone responses) for the close microphone array (e.g., the primary and secondary microphones 106 and 108). The directional patterns may comprise a forward-facing cardioid pattern based on the primary acoustic (sub-band) signals and a backward-facing cardioid pattern based on the secondary (sub-band) acoustic signal. In one embodiment, the sub-band signals may be adapted such that a null of the backward-facing cardioid pattern is directed towards the audio source 102. More details regarding the implementation and functions of the array processing engine 502 may be found (referred to as the adaptive array processing engine) in U.S. patent application Ser. No. 12/080,115 entitled “System and Method for Providing Close-Microphone Array Noise Reduction,” which is incorporated by reference. The cardioid signals (i.e., a signal implementing the forward-facing cardioid pattern and a signal implementing the backward-facing cardioid pattern) are then provided to the noise suppression engine 306b by the array processing engine 502.
The noise suppression engine 306b receives the NP gain along with the cardioid signals. According to exemplary embodiments, the noise suppression engine 306b generates a gain mask to be applied to the noise subtracted sub-band signals from the noise subtraction engine 304 in order to further reduce any noise components that may remain in the noise subtracted speech signal. The noise suppression engine 306b will be discussed in more detail in connection with
The gain mask determined by the noise suppression engine 306b may then be applied to the noise subtracted signal in the masking module 308. Accordingly, each gain mask may be applied to an associated noise subtracted frequency sub-band to generate masked frequency sub-bands. Subsequently, the masked frequency sub-bands are converted back into time domain from the cochlea domain by the frequency synthesis module 310. Once conversion is completed, the synthesized acoustic signal may be output to the user. As depicted in
Referring now to
In the present embodiment, the primary acoustic signal (c″(k)) and the secondary acoustic signal (f″(k)) are received by the energy module 402 which computes energy/power estimates during an interval of time for each frequency band (i.e., power estimates) of an acoustic signal. As a result, the primary spectrum (i.e., the power spectral density of the primary sub-band signals) across all frequency bands may be determined by the energy module 402. This primary spectrum may be supplied to the AIS generator 410 and the ILD module 404. Similarly, the energy module 402 determines a secondary spectrum (i.e., the power spectral density of the secondary sub-band signal) across all frequency bands which is also supplied to the ILD module 404. More details regarding the calculation of power estimates and power spectrums can be found in co-pending U.S. patent application Ser. No. 11/343,524 and co-pending U.S. patent application Ser. No. 11/699,732, which are incorporated by reference.
As previously discussed, the power spectrums may be used by the ILD module 404 to determine an energy difference between the primary and secondary microphones 106 and 108. The ILD may then be forwarded to the adaptive classifier 406 and the AIS generator 410. In alternative embodiments, other forms of ILD or energy differences between the primary and secondary microphones 106 and 108 may be utilized. For example, a ratio of the energy of the primary and secondary microphones 106 and 108 may be used. It should also be noted that alternative embodiments may use cues other then ILD for adaptive classification and noise suppression (i.e., gain mask calculation). For example, noise floor thresholds may be used. As such, references to the use of ILD may be construed to be applicable to other cues.
The exemplary adaptive classifier 406 and noise estimate module 408 perform the same functions as that described in accordance with
The AIS generator 410 receives speech energy of the primary spectrum from the energy module 402. The AIS generator 410 may also receive the noise spectrum from the noise estimate module 408. Based on these inputs and an optional ILD from the ILD module 404, a speech spectrum may be inferred. In one embodiment, the speech spectrum is inferred by subtracting the noise estimates of the noise spectrum from the power estimates of the primary spectrum. Additionally, the AIS generator 410 uses the NP gain, which indicates how much noise has already been cancelled by the time the signal reaches the noise suppression engine 306b (i.e., the multiplicative mask) to determine gain masks to apply to the primary acoustic signal. In one example, as the NP gain increases, the estimated SNR for the inputs decreases. In exemplary embodiments, the gain mask output from the AIS generator 410, which is time and frequency dependent, may maximize noise suppression while constraining speech loss distortion.
It should be noted that the system architecture of the noise suppression engine 306b is exemplary. Alternative embodiments may comprise more components, less components, or equivalent components and still be within the scope of embodiments of the present invention.
a is a block diagram of an exemplary noise subtraction engine 304. The exemplary noise subtraction engine 304 is configured to suppress noise using a subtractive process. The noise subtraction engine 304 may determine a noise subtracted signal by initially subtracting out a desired component (e.g., the desired speech component) from the primary signal in a first branch, thus resulting in a noise component. Adaptation may then be performed in a second branch to cancel out the noise component from the primary signal. In exemplary embodiments, the noise subtraction engine 304 comprises a gain module 702, an analysis module 704, an adaptation module 706, and at least one summing module 708 configured to perform signal subtraction. The functions of the various modules 702-708 will be discussed in connection with
Referring to
The exemplary analysis module 704 is configured to perform the analysis in the first branch of the noise subtraction engine 304, while the exemplary adaptation module 306 is configured to perform the adaptation in the second branch of the noise subtraction engine 304.
Referring to
In exemplary embodiments, σ is a fixed coefficient that represents a location of the speech (e.g., an audio source location). In accordance with exemplary embodiments, σ may be determined through calibration. Tolerances may be included in the calibration by calibrating based on more than one position. For a close microphone, a magnitude of a may be close to one. For spread microphones, the magnitude of σ may be dependent on where the audio device 102 is positioned relative to the speaker's mouth. The magnitude and phase of the σ may represent an inter-channel cross-spectrum for a speaker's mouth position at a frequency represented by the respective sub-band (e.g., Cochlea tap). Because the noise subtraction engine 304 may have knowledge of what σ is, the analysis module 704 may apply σ to the primary signal (i.e., σ(s(k)+n(k)) and subtract the result from the secondary signal (i.e., σs(k)+ν(k)) in order to cancel out the speech component σ s(k) (i.e., the desired component) from the secondary signal resulting in a noise component out of the summing module 708. In an embodiment where there is not speech, α is approximately 1/(ν−σ), and the adaptation module 706 may freely adapt.
If the speaker's mouth position is adequately represented by σ, then f(k)−σc(k)=(ν−σ)n(k). This equation indicates that signal at the output of the summing module 708 being fed into the adaptation module 706 (which, in turn, applies an adaptation coefficient α(k)) may be devoid of a signal originating from a position represented by σ (e.g., the desired speech signal). In exemplary embodiments, the analysis module 704 applies σ to the secondary signal f(k) and subtracts the result from c(k). Remaining signal (referred to herein as “noise component signal”) from the summing module 708 may be canceled out in the second branch.
The adaptation module 706 may adapt when the primary signal is dominated by audio sources 102 not in the speech location (represented by σ). If the primary signal is dominated by a signal originating from the speech location as represented by σ, adaptation may be frozen. In exemplary embodiments, the adaptation module 706 may adapt using one of a common least-squares method in order to cancel the noise component n(k) from the signal c(k). The coefficient may be update at a frame rate according to on embodiment.
In an embodiment where n(k) is white and a cross-correlation between s(k) and n(k) is zero within a frame, adaptation may happen every frame with the noise n(k) being perfectly cancelled and the speech s(k) being perfectly unaffected. However, it is unlikely that these conditions may be met in reality, especially if the frame size is short. As such, it is desirable to apply constraints on adaptation. In exemplary embodiments, the adaptation coefficient α(k) may be updated on a per-tap/per-frame basis when the reference energy ratio g1 and the prediction energy ratio g2 satisfy the follow condition:
g
2
·γ>g
1/γ
where γ>0. Assuming, for example, that {circumflex over (σ)}(k)=σ, α(k)=1/(ν−α), and s(k) and n(k) are uncorrelated, the following may be obtained:
where E{ . . . } is an expected value, S is a signal energy, and N is a noise energy. From the previous three equations, the following may be obtained:
SNR
2
+SNR<γ
2|ν−σ|4,
where SNR=S/N. If the noise is in the same location as the target speech (i.e., σ=ν), this condition may not be met, so regardless of the SNR, adaptation may never happen. The further away from the target location the source is, the greater |ν−σ|4 and the larger the SNR is allowed to be while there is still adaptation attempting to cancel the noise.
In exemplary embodiments, adaptation may occur in frames where more signal is canceled in the second branch as opposed to the first branch. Thus, energies may be calculated after the first branch by the gain module 702 and g1 determined. An energy calculation may also be performed in order to determine g2 which may indicate if α is allowed to adapt. If γ2|ν−σ|4>SNR2+SNR4 is true, then adaptation of a may be performed. However, if this equation is not true, then α is not adapted.
The coefficient γ may be chosen to define a boundary between adaptation and non-adaptation of α. In an embodiment where a far-field source at 90 degree angle relative to a straight line between the microphones 106 and 108. In this embodiment, the signal may have equal power and zero phase shift between both microphones 106 and 108 (e.g., ν=1). If the SNR=1, then γ2|ν−σ|4=2, which is equivalent to γ=sqrt(2)/|1−σ|4.
Lowering γ relative to this value may improve protection of the near-end source from cancellation at the expense of increased noise leakage; raising γ has an opposite effect. It should be noted that in the microphones 106 and 108, ν=1 may not be a good enough approximation of the far-field/90 degrees situation and may have to substituted by a value obtained from calibration measurements.
In step 804, the frequency analysis on the primary and secondary acoustic signals may be performed. In one embodiment, the frequency analysis module 302 utilizes a filter bank to determine frequency sub-bands for the primary and secondary acoustic signals.
Noise subtraction processing is performed in step 806. Step 806 will be discussed in more detail in connection with
Noise suppression processing may then be performed in step 808. In one embodiment, the noise suppression processing may first compute an energy spectrum for the primary or noise subtracted signal and the secondary signal. An energy difference between the two signals may then be determined. Subsequently, the speech and noise components may be adaptively classified according to one embodiment. A noise spectrum may then be determined. In one embodiment, the noise estimate may be based on the noise component. Based on the noise estimate, a gain mask may be adaptively determined.
The gain mask may then be applied in step 810. In one embodiment, the gain mask may be applied by the masking module 308 on a per sub-band signal basis. In some embodiments, the gain mask may be applied to the noise subtracted signal. The sub-bands signals may then be synthesized in step 812 to generate the output. In one embodiment, the sub-band signals may be converted back to the time domain from the frequency domain. Once converted, the audio signal may be output to the user in step 814. The output may be via a speaker, earpiece, or other similar devices.
Referring now to
In step 904, σ may be applied to the primary signal by the analysis module 704. The result of the application of σ to the primary signal may then be subtracted from the secondary signal in step 906 by the summing module 708. The result comprises a noise component signal.
In step 908, the gains may be calculated by the gain module 702. These gains represent energy ratios of the various signals. In the first branch, a reference energy ratio (g1) of how much of the desired component is removed from the primary signal may be determined. In the second branch, a prediction energy ratio (g2) of how much the energy has been reduce at the output of the noise subtraction engine 304 from the result of the first branch may be determined.
In step 910, a determination is made as to whether a should be adapted. In accordance with one embodiment if SNR2+SNR<γ2|ν−σ|4 is true, then adaptation of a may be performed in step 912. However, if this equation is not true, then a is not adapted but frozen in step 914.
The noise component signal, whether adapted or not, is subtracted from the primary signal in step 916 by the summing module 708. The result is a noise subtracted signal. In some embodiments, the noise subtracted signal may be provided to the noise suppression engine 306 for further noise suppression processing via a multiplicative noise suppression process. In other embodiments, the noise subtracted signal may be output to the user without further noise suppression processing. It should be noted that more than one summing module 708 may be provided (e.g., one for each branch of the noise subtraction engine 304).
In step 918, the NP gain may be calculated. The NP gain comprises an energy ratio indicating how much of the primary signal has been cancelled out of the noise subtracted signal. It should be noted that step 918 may be optional (e.g., in close microphone systems).
The above-described modules may be comprised of instructions that are stored in storage media such as a machine readable medium (e.g., a computer readable medium). The instructions may be retrieved and executed by the processor 202. Some examples of instructions include software, program code, and firmware. Some examples of storage media comprise memory devices and integrated circuits. The instructions are operational when executed by the processor 202 to direct the processor 202 to operate in accordance with embodiments of the present invention. Those skilled in the art are familiar with instructions, processors, and storage media.
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 may be used without departing from the broader scope of the present invention. For example, the microphone array discussed herein comprises a primary and secondary microphone 106 and 108. However, alternative embodiments may contemplate utilizing more microphones in the microphone array. Therefore, there and other variations upon the exemplary embodiments are intended to be covered by the present invention.
The present application is related to U.S. patent application Ser. No. 11/825,563, filed Jul. 6, 2007 and entitled “System and Method for Adaptive Intelligent Noise Suppression,” and U.S. patent application Ser. No. 12/080,115, filed Mar. 31, 2008 and entitled “System and Method for Providing Close Microphone Adaptive Array Processing,” both of which are herein incorporated by reference. The present application is also related to U.S. patent application Ser. No. 11/343,524, filed Jan. 30, 2006 and entitled “System and Method for Utilizing Inter-Microphone Level Differences for Speech Enhancement,” and U.S. patent application Ser. No. 11/699,732, filed Jan. 29, 2007 and entitled “System and Method for Utilizing Omni-Directional Microphones for Speech Enhancement,” which are incorporated by reference.