Sound capture system for devices with two microphones

The perceptual sound quality of desired audio signals (e.g., human voice) captured by an electronic device (e.g., cell phone) are improved by reducing ambient noise according to an algorithm that acts upon audio signals captured from a front and rear direction. More particularly, audio signals captured by two directional microphones pointing in opposite directions (e.g., a front microphone which receives audio signals from a forward direction and a rear microphone which receives audio signals from a rear direction) are classified and subsequently enhanced (e.g., unwanted signals are suppressed) according to a probability of their source (e.g., front, rear, or noise) thereby providing an improved perceptual sound recording than each microphone individually. The resultant signals provide decreased noise since the contribution of the front and rear microphones are taken into consideration and the signal from the more relevant (e.g., in the direction from which sound is coming) microphone is utilized.

BACKGROUND

Small electronic devices, such as web cameras or cellular phones, need to capture sounds in severe noise conditions or when a talker is at some distance from the device. In general, mobile or hand held electronic devices are engineered to make the signal (e.g., speaker's voice) to noise (e.g., everything from the outside world besides the speaker's voice) ratio high. This happens when the device is hold close to the mouth. A high signal to noise ratio provides a high perceptual sound quality without requiring any additional processing. When the device is moved away from the mouth the signal to noise ratio becomes low, leading to lower perceptual audio quality.

SUMMARY

The perceptual quality of desired audio signals (e.g., human voice) captured by an electronic device is improved by reducing ambient noise according to an algorithm that acts upon audio signals captured from a front and rear direction. More particularly, audio signals captured by two directional microphones pointing in opposite directions (e.g., a front microphone configured to receive audio signals from a forward direction and a rear microphone configured to receive audio signals from a rear direction) are classified and subsequently enhanced according to the probability of their source (e.g., front or rear), thereby providing an improved quality sound recording than each microphone individually.

Essentially, signals captured from a front and a rear microphone are enhanced by increasing the suppression of the opposite signal (e.g., rear signal in a front channel and front signal in a rear channel). A set of features (e.g., the level difference for a whole frame feature, the time of arrival for a whole frame feature, the level difference per frequency bin feature, and the time of arrival per frequency bin feature) is extracted based on the difference between the suppressed audio signals in the front and rear channels for each frame and frequency bin. A probability that the captured audio signal is from the front or from the rear is calculated for respective features of the set of features. The respective probabilities are combined to form an overall probability. The front and rear suppressed audio signals are enhanced (e.g., unwanted signals further suppressed) based on the overall probability of a front or rear source. The resulting enhanced audio signal provides decreased noise since the contribution of the front and rear microphones are taken into consideration and the audio signal from the more relevant microphone is utilized (e.g., microphone in the direction from which the sound is coming).

The real time execution of the above method depends on a certain number of parameters (minimal gains, prior probabilities, etc.). These parameters are estimated off-line and optimized for achieving improved perceptual sound quality using wide range of test recordings.

DETAILED DESCRIPTION

Most electronic devices use a single microphone integrated into the devices. However, a single microphone does not work well in situations where the speaker's mouth is not near the single microphone because the microphone captures larger amounts of ambient noise and reverberation therefore making the captured sound unusable (e.g., with a low signal to noise ratio). To address this problem and thereby increase the signal to noise ratio people may use headsets if they need good sound quality or incorporate microphone arrays configured to perform beamforming into their devices. Headsets are awkward and limit mobility, while microphone arrays needed for beamforming require a significant amount of space and do not easily fit into today's small sized electronics.

The problem of increased signal to noise ratio of captured sound will further increase with the approach of fourth generation communication systems (4G) which will offer increased broadband access to internet and video phones capabilities. In video phones users will hold the device one to two feet from their face. This increased distance between the microphone and the speaker's mouth will increase the ratio of signal to noise ratio since the microphone will capture the same noise signal, but the voice signal from the speaker's mouth will be ten times weaker since it has further to travel. Another similar situation occurs when a video phone is used as a camcorder. The screen acts as a viewfinder while the camera is on opposite side. Microphones placed on the screen (e.g., viewfinder) side will result in a poor sound quality on the camera side and microphones placed on the camera side will result in a poor sound quality on the screen side. Therefore, there is a need to have reliable sound capturing capabilities in these and similar situations.

The present techniques and systems, provided herein, relate to a method by which the perceptual quality of desired audio signals (e.g., human voices) captured by an electronic device (e.g., cellular phone) are improved by reducing ambient (e.g., background) noise according to an algorithm that acts upon audio signals captured from a front and rear direction. More particularly, audio signals captured by two directional microphones pointing in opposite directions (e.g., a front microphone configured to receive audio signals from a forward direction and a rear microphone configured to receive audio signals from a rear direction) are classified according to the probability of their source (e.g., front source, rear source, side source, etc.). The audio signals are then enhanced according to their source, effectively suppressing audio signals coming from an unwanted direction and resulting in an improved audio signal that uses only the audio signal from the more relevant microphone (e.g., the audio signal from the front).

FIG. 1is a flow chart illustrating an exemplary method100for enhancing the quality of sound captured by an electronic device capturing sound from two microphones facing opposite directions. More particularly, the method100captures a sound (audio signal) from two microphones pointing in opposite directions and serves to improve the perceptual quality of captured audio signals by suppressing an audio signal coming from an unwanted direction (e.g., a direction opposite the direction of the nearest microphone). It will be appreciated that the method set forth below can be applied to a broad range of applications, comprising but not limited to cellular phones, video recording devices, web cameras, etc.

At104an electronic device (e.g., cellular phone, video camera, web camera, etc.) captures a sound from an external source. Two directional microphones facing in opposite directions (front and rear microphones) receive the sound. In one example, sounds are captured by at least one front microphone (e.g., a microphone facing in a forward direction from the electronic device) and one rear microphone (e.g., a microphone facing in a backward direction from the electronic device) and are converted to audio signals (e.g., electrical signals).

The audio signals are classified according to a probability of their source at106. An audio signal can be classified as either coming from a front source (e.g., direction), coming from a rear source (e.g., direction), or as noise. Classification of the audio signals can be dependent upon a set of features extracted from a difference between captured signals from the front and rear microphones. For each feature of the set of features, a probability of a source (e.g., from the front, from the rear, noise) of its associated signal is calculated. A combination of the probabilities of all the features in a set (overall probability) is determined, taking into consideration that for a given signal a probability of one feature may be more reliable than a probability of another. The overall probability may be enhanced (e.g., optimized) and used to classify the audio signals by source.

The audio signals are enhanced according to the overall probability of their source (e.g., front source or rear source) for a plurality of frequency bins and time frames at108. Enhancement of an audio signal provides an improved perceptual sound quality than each microphone could individually provide. Enhancement of the audio signals suppresses signals which have been classified as noise (e.g., signals which have a high probability of being noise) for respective frequency bins and time frames. Likewise, signals that are classified as coming from an unwanted direction (e.g., signals that have a high probability of coming from a direction with a low probability) will also be suppressed for respective frequency bins and time frames. Therefore, the enhanced audio signals will have undesirable signals removed and thereby improve the captured sound quality.

FIG. 2is a flow chart illustrating a more detailed example of a method of improving the quality of audio signals captured by an electronic device capturing audio signals from two directional microphones facing opposite directions.FIG. 3illustrates a block diagram300of an audio processing architecture according to the flow chart ofFIG. 2. The audio processing architecture ofFIG. 3comprises a front channel (e.g., comprising:302,308,314,318) and a rear channel (e.g., comprising:304,310,316,320) for respective front and rear channel processing.

At204captured audio signals are converted from the time domain to the frequency domain. A sound is captured by two microphones, a front microphone302and a rear microphone304. The front microphone302and rear microphone304input captured audio signals xF(t) and xR(t), respectively, to the analog to digital converter (ADC) and conversion to frequency domain block306. The captured audio signals xF(t) and xR(t) go through analog to digital conversion (e.g., convert an analog audio signal to a digital audio signal). The captured audio signals are also segmented into a plurality of audio frames n (e.g., 256 samples) and converted to the frequency domain (denoted XF(f) and XR(f) by using a fast Fourier transform (FFT), or Modulated Complex Lapped Transform (MCLT), or any other method for conversion to frequency domain. The frequency domain audio signals XF(f) and XR(f) are a spectra of complex numbers which arrive every single audio frame n (e.g. a 20 mS sample of the signal).

The frequency domain audio signals XF(f) and XR(f) are input into a front filter308and a rear filter310, respectively, where they are combined and the opposite frequency domain audio signal is suppressed (e.g., XR(f) is suppressed for the front channel and XF(f) is suppressed for the rear channel) at206. The front filter308receives XF(f) and XR(f), which are filtered in a certain way to achieve the suppressed audio signal YF(f). The rear filter310also receives XF(f) and XR(f), which are filtered in a different way to achieve the suppressed audio signal YR(f). The filtering performed by both the front filter308and the rear filter310increases the maximum contrast (e.g., difference) between front and rear audio signal, XF(f) and XR(f). For example, the suppressed audio signal YF(f) has as much as possible from the front audio signal and as little as possible from the rear audio signal, while the suppressed audio signal YR(f) has as much as possible from the rear audio signal and as little as possible from the front audio signal.

At208voice activity detection is performed. Voice activity detection can be performed by a feature extractor312. Voice activation detection is a method by which the algorithm can determine whether or not a suppressed audio signal (e.g., YF(f) or YR(f)) is speech or noise. If the voice activity detection determines a suppressed audio signal is a noise frame, the parameters of the ambient noise may be updated. If the voice activity detector determines a suppressed audio signal is a speech (e.g., voice) frame the method proceeds to find the probability that the suppressed audio signal is from a front source, a rear source, or a side source.

A set of features are extracted from the difference between the front and rear audio signals (e.g., suppressed audio signals YF(f) and YR(f), frequency domain audio signals XR(f) and XF(f)) and a probability is calculated for respective features at210. InFIG. 3, YF(f) and YR(f) together with XR(f) and XF(f) are input into the feature extractor312. The feature extractor312extracts a set of features from the difference between the front and rear audio signals. Two probability vectors pFand pR(e.g., probabilities that we have signal from the front or rear direction for every time frame and frequency bin) are calculated for each of the features.

In one example, a set of four features are extracted. The first feature is level (e.g., energy) differences between the front and the rear suppressed audio signals YF(f) and YR(f) for a whole frame (e.g. a 20 mS sample of the signal). If the suppressed audio signal has a higher front level (e.g., energy) than rear level it indicates that someone is talking from the front. If the suppressed audio signal has a higher rear level than front level it indicates that someone is talking from the rear. If the suppressed audio signal has a substantially equal signal level from the front and rear it indicates that someone is talking from the side. The second feature is the time of arrival difference between the front and the rear frequency domain audio signals for a whole frame. The time of arrival difference estimates the time of arrival difference for a frequency domain audio signals XR(f) and XF(f) between the front and rear microphones. The third feature is the level (e.g., energy) difference between the front and rear suppressed audio signals YF(f) and YR(f) per frequency bin (e.g., each of 256 frequencies). The fourth feature is the time of arrival difference per frequency bin, which determines the difference in time of arrival between the front and rear frequency domain audio signals XR(f) and XF(f) for each frequency bin.

At212, the probability of respective features of a set of features are combined together to provide an overall probability that an audio signal is from a front or a rear source. For example, the four features are cumulatively combined to form a probability model providing the probability of an audio signal's location (e.g., calculate an overall probability that the signal is a front or a rear signal). The overall probability for the k-th frequency bin of the n-th frame can be estimated for both front and rear probabilities (e.g., using the front and rear probability vectors pFand pRfor each of the features) as:
pk(n)=((1−GW)pW(n)+GW)((1−GD)pD(n)+GD)((1−GWb)pWbk(n)+GWb)((1−GDb)pDbk(n)+GDb)
Where pW(n), pD(n), pWbk(n), and pDbk(n)are probabilities associated with the front or rear audio signal of the four features (respectively, level difference for a whole frame, time of arrival difference for a whole frame, level difference per frequency bin, and time of arrival difference per frequency bin) and GW, GD, GWb, and GDbare time and frequency independent minimal gains. The minimal gains determine how much a corresponding feature (e.g., belonging to a set of features) can be trusted. For example, a gain value close to 1 means that a feature has a low level of trust (e.g., the feature has a small contribution to the overall probability relative to other features of the set) and a gain value close to 0 means that a feature has a high level of trust (e.g., the feature has a large contribution to the overall probability relative to other features of the set).

The suppressed audio signal in the front channel or rear channel is enhanced based on the overall probability at214. Enhancement is of the front suppressed audio signal YF(f) may be performed by a front estimator314and enhancement of the rear suppressed audio signal YR(f) may be performed by a rear estimator316. Enhancement according to the front and rear estimators,314and316) use the suppressed audio signals output of by the front308and rear310filters, YF(f) and YR(f), and the overall probability provided by the feature extractor312, pFand pR, to provide an improved estimate of an audio signal that has just front source components or just rear source components. Accordingly, audio signals that have a high probability of coming from an unwanted direction will be suppressed, resulting in an enhanced audio signal, ZF(f) or ZR(f), with improved captured sound quality.

At216amplification of the enhanced audio signals ZF(f) and ZR(f) are automatically adjusted, by a process known as automatic gain control (AGC). As is well known in the art, AGC can be performed by an adaptive system wherein an average output signal level is fed back to adjust the gain to an appropriate level for a range of input signal levels. InFIG. 3, a first adaptive system and a second adaptive system automatically adjust the incoming enhanced audio signals ZF(f) or ZR(f) based upon their strength. For example, weaker enhanced audio signals receive more gain and stronger enhanced audio signals receive less gain or none at all.

A mixer322mixes the front and rear adjusted enhanced audio signals ZF(f) and ZR(f) with each other based on the operation mode at218. For example, in the case of a cellular phone only a front signal mode is needed when a person is talking on a phone which is either closely positioned to the mouth or held in a way that the person can see the screen in a video phone mode. Alternatively, a rear signal mode may be used when the phone or the small device is used to capture video (e.g., when the camera is on the opposite side of the screen). Both the front and rear signal modes can be used when a user wants to use the phone as a camcorder in addition to recording her voice. There could also be a conference call mode, when the phone lays on the table, in which both front and rear signals are suppressed since sound is only coming from the sides and noise comes from up and down. Once the adjusted enhanced audio signals are mixed, a reverse Fourier transformation is performed to return the mixed audio signals to the time domain.

The real time execution of the method ofFIG. 2depends on a certain number of optimization parameters (e.g., minimal gains, prior probabilities, etc.). These optimization parameters are estimated off-line during the design process where they are optimized for achieving best perceptual sound quality using wide range of test recordings. For example, a set of files comprising samples of clean speech are played through a speaker and recorded with ambient noise by a device. The files are processed offline and the perceptual quality is measured (e.g., by MOS). The optimization is then run to determine parameter values which are stored in the program.

Once the optimization parameters are estimated they are stored in the device performing the method. Optimization of the optimization parameters can be achieved using a wide range of optimization programs.FIG. 4illustrates an example of one possible optimization method400that can be used to determine (e.g., optimize) the optimization parameters (e.g., minimal gains which determine the impact that each feature of a set has on the overall probability). In method400a non-constrained optimization equation is formed from a constrained equation comprising the unknown optimization parameters and additional constraints (e.g., a punishing factor that gives boundaries of the permitted value of the non-constrained optimization equation). The non-constrained optimization equation can be enhanced using numerical methods (e.g., gradient descent method) to solve for the unknown optimization criteria (e.g., inter alia minimal gains). More particularly, method400serves to enhance the front frequency domain audio signal XF(f) to maximize the energy captured from the front direction (e.g., ±30° from the direction the front microphone is pointing) and to enhance the rear frequency domain audio signal XR(f) to maximize the energy captured from the rear direction (e.g., ±30° from the direction the rear microphone is pointing).

At404the front frequency domain audio signal XF(f) and the frequency domain audio signal XR( t) are combined according to a plurality of unknown filter functions. The operation the front308and rear310filters perform the enhancement can be determined by information stored in a plurality of unknown filter functions (e.g., unknown variables in vector form). The unknown filter functions are initially unknown, but are determined (e.g., enhanced) during the enhancement process. Once the unknown filter functions are determined they become enhanced filter functions and information is extracted from them and used to operate filters according. For example, the enhanced YF(n)are YR(n)defined in relation to the filter functions (e.g., known or unknown), WFF, WFR, WRF, WRRaccording to the following equations:
YF(n)=WFF·XF(n)+WFR·XR(n)
YF(n)=WFF·XF(n)+WRR·XR(n)
where n is the frame of the audio signal. WFFand WFRare filter functions related to the front filter308and WRFand WRRare related to the rear filter310. The filter functions WFF, WFR, WRF, WRRare vector comprising scalar values that relate to the operation of the front and rear filters,308and310, on the incoming signals, XF(f) and XR(f).

At406a constraint equation is defined. The constraint equation is a mathematical relation comprising the unknown filter functions that can be enhanced (e.g., optimized) in a non-constrained optimization equation to determine enhanced (e.g., optimized) values of the unknown filter functions. For example, constraint equations QFconstand QRconstcan be defined as the ratio of the average energy captured in front (e.g.,+/−30°) of the microphone to the average energy captured in rear (e.g.,+/−150°) of the microphone as shown in the following equation for QFconst((QRconst) is the ratio of the average energy captured in the rear of the microphone to the average energy captured in the front):

At408additional constraints are defined. The additional constraints can be defined according to the needs of the user. In one particular example the additional constraints require the maximums of the constrained equation to be searched for under the constraint of unit gain and zero phase shift.

A non-constrained optimization equation is formed at410. The non-constrained optimization equation is formed from the constraint equation (QFconst, QRconst) and the additional constraints. The unknown filter functions of the constrained equation, are part of the non-constrained optimization equation and once the equation is enhanced they provide the front and rear filters,308and310, with information to enhance (e.g., optimize) the suppression of the opposite channel (e.g., signal).

At412the non-constrained optimization equation is enhanced and the filter functions WFF, WFR, WRF, WRRare extracted. The non-constrained optimization equation can be enhanced using numerical methods (e.g., gradient descent method). The extracted filter functions are utilized to act on the incoming signals XF(f) and XR(f), thereby resulting in the suppressed audio signal YF(f) which has as much as possible from the front audio signal and as little as possible from the rear audio signal, and the suppressed audio signal YR(f) has as much as possible from the rear audio signal and as little as possible from the front audio signal.

FIG. 5is a flow chart illustrating an exemplary method of voice activation detection. Voice activation detection provides a method by which the algorithm can determine whether or not a captured audio signal is speech or noise. In the exemplary method500, the voice activation detection provides a binary decision of speech (e.g., voice) or no speech (e.g., no voice).

At504a root mean square (RMS) signal level for the front and rear suppressed audio signals are computed for a limited frequency band range. The RMS signal level provides an estimation of the level (e.g., energy) of the sound for the front and rear suppressed audio signals. A limited frequency band range is used because the lower part of the frequency band comprises too much noise energy, while the higher part of the frequency band comprises too low speech energy. The limited frequency band range may be between 300 and 6500 Hz, for example.

A noise floor level (e.g., energy) is estimated at506. The noise floor level is a measure of an audio signal created from a sum of all noise sources and unwanted signals within a system. For example, the noise floor level can be estimated according to the following equations:

Lmin(n)=|(1-Tτup)⁢Lmin(n-1)+Tτup⁢L(n)L(n)>Lmin(n-1)(1-Tτdown)⁢Lmin(n-1)+Tτdown⁢L(n)L(n)≤Lmin(n-1)
where T is the audio frame duration (e.g. 20 mS). Calculation of the noise floor level uses a two time constant approach that can also be used in other parts of this algorithm. The estimated noise floor level is defined such that if the estimated energy L(n)is larger than a current minimum value Lmin(n−1), the function Lmin(n)slowly increases by adding the noise level to the current minimum value Lmin(n−1)using a first time constsnt Tup(e.g., 20 s) as shown in the above equation. If the current energy L(n)is lower than the current minimum value Lmin(n−1), the function Lmin(n)will be tracked. To do this a second time constant, Tdown(e,g,. 30 ms), is used as shown in the above equation.

At508the ratio between the RMS signal level and the noise floor level is computed. The ratio is computed respectively for the front and rear suppressed audio signals, YF(f) and YR(f). The resultant ratio can be used to determine whether a captured signal is a voice or not a voice according to an activity flag criteria. For example, an activity flag V can be set according to the following equation:

V(n)=|0if⁢⁢L(n)Lmin(n)<1.51if⁢⁢L(n)Lmin(n)<3.0V(n-1)otherwise
If the ratio of the RMS signal level to the noise floor level is less than 1.5 (510), then the voice activity flag V is set equal to a value of 0 indicating that the captured signal is not speech (e.g., a voice)512. If the ratio of the RMS signal level to the noise floor level is greater than 3.0 (514), than the voice activity flag V is set equal to a value of 1, indicating that the captured signal is speech (e.g., voice)516. If the ratio of the RMS signal level to the noise floor level is between 1.5 and 3.0 (e.g., an ambiguous level) than the voice flag remains unchanged from the current frame (n−1)518. The setup of the voice activity flag, as illustrated above, shows that the flag will be set to a high value while words are being spoken and a low value when words are not being spoken.

FIG. 6is a flow chart illustrating an exemplary method for extracting a level (e.g., energy) difference feature (e.g., for the whole frame or per frequency bin) from the suppressed audio signals and calculating the probability that the signal is from a front or a rear source.

At604the audio level (e.g., energy) difference between the front and rear suppressed audio signals are calculated for a current frame n. Differences between the front and the rear suppressed audio signals may occur due to manufacturing tolerances, for example.

The audio level difference is used to update values in probability models by updating the parameters of the probability density function of speech and noise at606. In general, the probability density function uses probabilistic models with certain distribution, which can be the same or different for the speech and noise signals for the difference between the front and the rear suppressed audio signals. In one example, a non-Gaussian distribution (e.g., Gamma distribution or Laplacian distribution) can be used as the probability density function for speech, to correspond to the captured difference between the front and the rear suppressed audio signals. In such an example, the difference between front and rear audio signals can be modeled according to a Gamma distribution or Laplace distribution, while the noise can be modeled according to a Gaussian distribution. In a more sophisticated example, a Gaussian distribution may be used for modeling noise, but for speech, if the level (e.g., energy) difference between the front and rear signals is greater than 0 a one-sided Gamma distribution may be used for adjustment and if the level difference between the front and rear signals is less than 0 a Gaussian distribution may be used for adjustment. The same model can be applied for the opposite case just by changing the sign of the difference.

At608the probability a suppressed audio signals is from a front or a rear source is calculated from the probability density functions. The probability distributions of the front signal, the rear signal, and the noise can be used to build a probabilistic model. The probabilistic model allows a probability that a signal is from a front or a rear source to be calculated given different ΔL. For example, the probability that a suppressed audio signal is from a front or a rear source can be given by:

p^FW(n)=PFW⁡(Δ⁢⁢LW(n))PFW⁡(Δ⁢⁢LW(n))+PRW⁡(Δ⁢⁢LW(n))+PNW⁡(Δ⁢⁢LW(n))p^RW(n)=PRW⁡(Δ⁢⁢LW(n))PFW⁡(Δ⁢⁢LW(n))+PRW⁡(Δ⁢⁢LW(n))+PNW⁡(Δ⁢⁢LW(n))
where PFWis the probability density function associated with a signal from a front source for a whole frame, PRWis the probability density function associated with a signal from a rear source for a whole frame, PNWis the probability density function associated with noise for a whole frame. A probability model can be similarly formed following the same acts to determine the probability that a signal is from the front or rear for the level difference (e.g,ΔL) per frequency bin.

The probabilities are time averaged at610. Time averaging is performed using a two time constant approach similar to that used to determine the noise floor above. For example, time averaging equations can be written as:

pFW(n)=|(1-αW)⁢pFW(n-1)+αW⁢p^FW(n)p^FW(n)>pFW(n-1)(1-δW)⁢pFW(n-1)+δW⁢p^FW(n)p^FW(n)≤pFW(n-1)pRW(n)=|(1-αW)⁢pRW(n-1)+αW⁢p^RW(n)p^RW(n)>pRW(n-1)(1-δW)⁢pRW(n-1)+δW⁢p^RW(n)p^RW(n)≤pRW(n-1)
where time constants αWandδWare used in time averaging of the probabilities of each set of features are left to be optimized according to the optimization of the overall probability function. Time averaging both the level difference for a whole frame and level difference per frequency bin will result in two time constants each (αW,δWandαWband (δWb).

FIG. 7is a flow chart illustrating an exemplary method for extracting a time of arrival (e.g., for the whole frame or per frequency bin) from the frequency domain audio signals and calculating the probability that the signal is from a front or a rear source.

At704a delay estimate is calculated. In one example, the delay is estimated as the maximum of a Phase Transform (PHAT) weighted and band limited cross correlation function of the two input channels (e.g., front and rear). The resultant delay estimate between front and rear frequency domain audio signals can be used to distinguish signals coming from the front, rear, and ambient noise. A difference in an average time of arrival is due to manufacturing tolerances such as phase mismatch in microphones or preamplifiers.

The delay estimate is modeled according to the probability density function of speech amplitude at706. This adjustment compensates for difference in time caused by manufacturing tolerances. In one example, a Gaussian probability density function can be used to adjust the delay estimate for the front signal, the rear signal, and noise.

At708the probability a frequency domain audio signals is from a front or a rear source is calculated from the probability density functions. The probability distributions of the front signal, the rear signal, and the noise are used to build a probabilistic model. For example, the probability that a frequency domain audio signal is from a front or a rear source can be given by:

p^FD(n)=PFD⁡(D(n))PFD⁡(D(n))+PRD⁡(D(n))+PND⁡(D(n))p^RD(n)=PRD⁡(D(n))PFD⁡(D(n))+PRD⁡(D(n))+PND⁡(D(n))
where PFDis the probability density function associated with a signal from the front for a whole frame, PRDis the probability density function associated with a signal from the rear for a whole frame, PNDis the probability density function associated with noise for a whole frame. A probability model can be similarly formed following the same acts to determine the probability that a signal is from a front or a rear source for the time of arrival difference (e.g., D(n)) per frequency bin.

The probabilities are time averaged at710. As in the level difference approach ofFIG. 6, time averaging is performed using a two time constant approach similar to that used to determine the noise floor above. For example, the time averaging equations can be written as:

pFD(n)=|(1-αD)⁢pFD(n-1)+αD⁢p^FD(n)p^FD(n)>pFD(n-1)(1-δD)⁢pFD(n-1)+δD⁢p^FD(n)p^FD(n)≤pFD(n-1)pRD(n)=|(1-αD)⁢pRD(n-1)+αD⁢p^RD(n)p^RD(n)>pRD(n-1)(1-δD)⁢pRD(n-1)+δD⁢p^RD(n)p^RD(n)≤pRD(n-1)
where the two time constants αDand δDused in time averaging of the probabilities of each set of features are left to be enhanced (e.g., optimized)according to the optimization of the overall probability function. Time averaging both time of arrival difference for a whole frame, and time of arrival difference per frequency bin will result in two time constants each (αD, δDand αDband δDb) making a total of eight time constants (and four minimal gains) that are enhanced when determining the overall probability.

FIG. 8illustrates an exemplary telecommunication device800(e.g., cellular phone). The telecommunication device800has a front microphone802situated on the same side as an interface screen804. The telecommunication device800also has a rear microphone806configured on the opposite side as the front microphone802and the same side as a video recording device808(e.g., camera, video camera). The telecommunication device800can be configured to receive audio signals from both the front microphone802and the rear microphone806and processes the audio signals according to the method ofFIG. 2.

Still another embodiment involves a computer-readable medium comprising processor-executable instructions configured to apply one or more of the techniques presented herein. An exemplary computer-readable medium that may be devised in these ways is illustrated inFIG. 9, wherein the implementation900comprises a computer-readable medium902(e.g., a CD-R, DVD-R, or a platter of a hard disk drive), on which is encoded computer-readable data904. This computer-readable data904in turn comprises a set of computer instructions906configured to operate according to one or more of the principles set forth herein. In one such embodiment, the processor-executable instructions906may be configured to perform a method of908, such as the exemplary method200ofFIG. 2, for example. In another such embodiment, the processor-executable instructions906may be configured to implement a system configured to improve the relevance rank of web searches for a query. Many such computer-readable media may be devised by those of ordinary skill in the art that are configured to operate in accordance with the techniques presented herein.

FIG. 10illustrates an example of a system1010comprising a computing device1012configured to implement one or more embodiments provided herein. In one configuration, computing device1012includes at least one processing unit1016and memory1018. Depending on the exact configuration and type of computing device, memory1018may be volatile (such as RAM, for example), non-volatile (such as ROM, flash memory, etc., for example) or some combination of the two. This configuration is illustrated inFIG. 10by dashed line1014.

In other embodiments, device1012may include additional features and/or functionality. For example, device1012may also include additional storage (e.g., removable and/or non-removable) including, but not limited to, magnetic storage, optical storage, and the like. Such additional storage is illustrated inFIG. 10by storage1020. In one embodiment, computer readable instructions to implement one or more embodiments provided herein may be in storage1020. Storage1020may also store other computer readable instructions to implement an operating system, an application program, and the like. Computer readable instructions may be loaded in memory1018for execution by processing unit1016, for example.

Device1012may also include communication connection(s)1026that allows device1012to communicate with other devices. Communication connection(s)1026may include, but is not limited to, a modem, a Network Interface Card (NIC), an integrated network interface, a radio frequency transmitter/receiver, an infrared port, a USB connection, or other interfaces for connecting computing device1012to other computing devices. Communication connection(s)1026may include a wired connection or a wireless connection. Communication connection(s)1026may transmit and/or receive communication media.

Device1012may include input device(s)1024such as keyboard, mouse, pen, voice input device, touch input device, infrared cameras, video input devices, and/or any other input device. Output device(s)1022such as one or more displays, speakers, printers, and/or any other output device may also be included in device1012. Input device(s)1024and output device(s)1022may be connected to device1012via a wired connection, wireless connection, or any combination thereof. In one embodiment, an input device or an output device from another computing device may be used as input device(s)1024or output device(s)1022for computing device1012.

Components of computing device1012may be connected by various interconnects, such as a bus. Such interconnects may include a Peripheral Component Interconnect (PCI), such as PCI Express, a Universal Serial Bus (USB), firewire (IEEE 1394), an optical bus structure, and the like. In another embodiment, components of computing device1012may be interconnected by a network. For example, memory1018may be comprised of multiple physical memory units located in different physical locations interconnected by a network.

Those skilled in the art will realize that storage devices utilized to store computer readable instructions may be distributed across a network. For example, a computing device1030accessible via network1028may store computer readable instructions to implement one or more embodiments provided herein. Computing device1012may access computing device1030and download a part or all of the computer readable instructions for execution. Alternatively, computing device1012may download pieces of the computer readable instructions, as needed, or some instructions may be executed at computing device1012and some at computing device1030.