Robust adaptive beamforming with enhanced noise suppression

Information

  • Patent Grant
  • 8818002
  • Patent Number
    8,818,002
  • Date Filed
    Thursday, July 21, 2011
    13 years ago
  • Date Issued
    Tuesday, August 26, 2014
    10 years ago
Abstract
A novel adaptive beamforming technique with enhanced noise suppression capability. The technique incorporates the sound-source presence probability into an adaptive blocking matrix. In one embodiment the sound-source presence probability is estimated based on the instantaneous direction of arrival of the input signals and voice activity detection. The technique guarantees robustness to steering vector errors without imposing ad hoc constraints on the adaptive filter coefficients. It can provide good suppression performance for both directional interference signals as well as isotropic ambient noise.
Description
BACKGROUND

Microphone arrays have been widely studied because of their effectiveness in enhancing the quality of the captured audio signal. The use of multiple spatially distributed microphones allows spatial filtering, filtering based on direction, along with conventional temporal filtering, which can better reject interference signals. This results in an overall improvement of the captured sound quality of the target or desired signal.


Beamforming operations are applicable to processing the signals of a number of arrays, including microphone arrays, sonar arrays, directional radio antenna arrays, radar arrays, and so forth. For example, in the case of a microphone array, beamforming involves processing output audio signals of the microphones of the array in such a way as to make the microphone array act as a highly directional microphone. In other words, beamforming provides a “listening beam” which points to, and receives, a particular sound source while attenuating other sounds and noise, including, for example, reflections, reverberations, interference, and sounds or noise coming from other directions or points outside the primary beam. Pointing of such beams is typically referred to as beamsteering. A typical beamformer employs a set of beams (i.e., beamforming) that cover a desired angular space range in order to better capture the target signal.


Various microphone array processing algorithms have been proposed to improve the quality of the target signal. The generalized sidelobe canceller (GSC) architecture has been especially popular. The GSC is an adaptive beamformer that keeps track of the characteristics of interfering signals and then attenuates or cancels these interfering signals using an adaptive interference canceller (AIC). This greatly improves the target signal, the signal one wishes to obtain. However, if the actual direction of arrival (DOA) of the target signal is different from the expected DOA, a considerable portion of the target signal will leak into the adaptive interference canceller, which results in target signal cancellation and hence a degraded target signal.


In order to avoid target signal cancellation, a number of methods have been proposed to make such a side lobe cancelling system more robust to steering vector errors. A robust GSC (RGSC) has been proposed which uses an adaptive blocking matrix with coefficient-constrained adaptive filters, which prevents the target signal from leaking into the adaptive interference canceller. More specifically, the RGSC takes the outputs from the microphone array and inputs these into a fixed beamformer that directs a beam toward the desired signal. The beamformer output contains the enhanced signal originating from the pointed direction which is used as a reference signal by the adaptive blocking matrix. The adaptive blocking matrix adaptively subtracts the reference signal from each channel input and provides the interference signals. In order to suppress only those signals that originate from a specific tracking region, the adaptive filter coefficients of the adaptive blocking matrix are constrained on the maximum allowed deviation between the expected DOA and the actual DOA. The interference signals obtained from the adaptive blocking matrix are passed to an adaptive interference canceller which removes the interference signal components from the beamformer output. This minimizes undesirable target signal cancellation. In addition to this, the AIC uses norm-constrained adaptive filters that can further improve the robustness against target signal cancellation. This adaptive beamformer is robust to DOA errors without significant degradation in the interference rejection capability. A similar RGSC has been implemented in frequency-domain, with a comparable performance at a lower computational cost.


Although the above-described RGSCs are good at rejecting directional interference signals (such as “jammer” signals), their noise suppression capability is not satisfactory under the conditions of practically isotropic ambient noise. Therefore these algorithms are not particularly suitable for noisy environments such as the automotive environment or reverberant environments such as offices or conference rooms.


SUMMARY

This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.


The present adaptive beamforming technique provides enhanced noise suppression capability. The technique uses the output of a generic beamformer and incorporates the sound-source presence probability into an adaptive blocking matrix which computes any interference in the input signal for purposes of cancelling it using an adaptive interference canceller. In one embodiment the technique estimates the presence probability of the input signals, or sound-source presence probability, based on an instantaneous direction of arrival (IDOA) and per frequency bin voice activity detection, which is incorporated into the adaptive beamforming matrix.


The technique guarantees robustness to beamsteering errors without imposing ad hoc constraints on the adaptive filter coefficients of the adaptive blocking matrix. It can provide good suppression performance for both directional interference signals as well as isotropic ambient noise.


It is noted that while the foregoing limitations in existing sensor array noise suppression schemes described in the Background section can be resolved by a particular implementation of the present adaptive beamforming technique, this is in no way limited to implementations that just solve any or all of the noted disadvantages. Rather, the present technique has a much wider application as will become evident from the descriptions to follow.


In the following description of embodiments of the present disclosure reference is made to the accompanying drawings which form a part hereof, and in which are shown, by way of illustration, specific embodiments in which the technique may be practiced. It is understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the present disclosure.





DESCRIPTION OF THE DRAWINGS

The specific features, aspects, and advantages of the disclosure will become better understood with regard to the following description, appended claims, and accompanying drawings where:



FIG. 1 is a diagram depicting a general purpose computing device constituting an exemplary system for a implementing a component of the present adaptive beamforming technique.



FIG. 2 is a diagram depicting a robust generalized side lobe canceller.



FIG. 3 is a diagram depicting one exemplary architecture of the present adaptive beamforming technique.



FIG. 4 is a flow diagram depicting one generalized exemplary embodiment of a process employing the present adaptive beamforming technique.



FIG. 5 is a flow diagram depicting one generalized exemplary embodiment of a process employing the present adaptive beamforming technique.





DETAILED DESCRIPTION

1.0 The Computing Environment


Before providing a description of embodiments of the present Adaptive beamforming technique, a brief, general description of a suitable computing environment in which portions thereof may be implemented will be described. The present technique is operational with numerous general purpose or special purpose computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that may be suitable include, but are not limited to, personal computers, server computers, hand-held or laptop devices (for example, media players, notebook computers, cellular phones, personal data assistants, voice recorders), multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.



FIG. 1 illustrates an example of a suitable computing system environment. The computing system environment is only one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of the present adaptive beamforming technique. Neither should the computing environment be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment. With reference to FIG. 1, an exemplary system for implementing the present adaptive beamforming technique includes a computing device, such as computing device 100. In its most basic configuration, computing device 100 typically includes at least one processing unit 102 and memory 104. Depending on the exact configuration and type of computing device, memory 104 may be volatile (such as RAM), non-volatile (such as ROM, flash memory, etc.) or some combination of the two. This most basic configuration is illustrated in FIG. 1 by dashed line 106. Additionally, device 100 may also have additional features/functionality. For example, device 100 may also include additional storage (removable and/or non-removable) including, but not limited to, magnetic or optical disks or tape. Such additional storage is illustrated in FIG. 1 by removable storage 108 and non-removable storage 110. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Memory 104, removable storage 108 and non-removable storage 110 are all examples of computer storage media. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by device 100. Any such computer storage media may be part of device 100.


Device 100 has at least one microphone or similar sensor array 118 and may also contain communications connection(s) 112 that allow the device to communicate with other devices. Communications connection(s) 112 is an example of communication media. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. The term computer readable media as used herein includes both storage media and communication media.


Device 100 may have various input device(s) 114 such as a keyboard, mouse, pen, camera, touch input device, and so on. Output device(s) 116 such as a display, speakers, a printer, and so on may also be included. All of these devices are well known in the art and need not be discussed at length here.


The present adaptive beamforming technique may be described in the general context of computer-executable instructions, such as program modules, being executed by a computing device. Generally, program modules include routines, programs, objects, components, data structures, and so on, that perform particular tasks or implement particular abstract data types. The present adaptive beamforming technique may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.


The exemplary operating environment having now been discussed, the remaining parts of this description section will be devoted to a description of the program modules embodying the present adaptive beamforming technique.


2.0 Adaptive Beamforming Technique


The present adaptive beamforming technique provides enhanced noise suppression capability. The technique incorporates the sound-source presence probability of a target signal coming from a given direction into an adaptive blocking matrix which computes interference signals. This sound source presence in the desired region may be estimated based on the instantaneous direction of arrival of the input signals and voice activity detection. Once the interference signals are determined an adaptive interference canceller then can cancel the interference from the target signal.


2.1 Context: Robust Generalized Sidelobe Canceller


In order to fully appreciate the present adaptive beamforming technique and explanation of a known robust generalized sidelobe canceller (GSC) is helpful.


One structure of a known robust GSC is illustrated in FIG. 2, for a four-element microphone array. Initially, the four microphone inputs xi(n) (i=1, . . . , 4) 202 go through the fixed beamformer (FBF) 204 that directs the beam towards the expected direction of arrival (DOA). The beamformer output yf(n) 206 contains the enhanced signal originating from the pointed direction, which is used as a reference by an adaptive blocking matrix 208. The adaptive blocking matrix 208 adaptively subtracts the signal of interest, represented by the reference signal yf(n) 206, from each channel input xi(n) 202, and provides the interference signals ei(n) 210. In order to suppress only those signals that originate from a specific tracking region, the adaptive filter coefficients of the adaptive block matrix 208 are constrained within predefined boundaries. These boundaries are specified based on the maximum allowed deviation between the expected DOA and the actual DOA.


The interference signals ei(n) 210, obtained from the adaptive blocking matrix 208, are passed to an adaptive interference canceller 212, which adaptively removes the signal components that are correlated to the interference signals from the beamformer output yf(n) 206. The norm of the filter coefficients in the adaptive interference canceller 212 is constrained to prevent them from growing excessively large. This minimizes undesirable target signal cancellation, when the target signal leaks into the adaptive interference canceller 212, further improving the robustness of the system.


Ideally, the beamformer 206 output yf(n) should consist of the target signal, while the adaptive blocking matrix outputs 210 contain only the interference part in the original inputs. This holds more or less true when the interference is a point source whose direction is sufficiently separated from the direction of the target signal. However, this assumption breaks down under conditions of isotropic ambient noise, where the beamformer output 206 contains a considerable amount of noise. In such cases the adaptive blocking matrix 208 tends to subtract the noise from the input signal, while still leaving a significant portion of the target signal behind. Therefore, the interference signals ei(n) will have less noise and more from the target signal, which reduces the noise suppression capability of the adaptive interference canceller 212 and leads to target-signal cancellation, degrading the quality of the final output of the RGSC.


2.2 Exemplary Architecture of the Present Adaptive Beamforming Technique.


One exemplary architecture of the present adaptive beamforming technique 300 is shown in FIG. 3. The structure of this embodiment of the present adaptive beamformer shown in FIG. 3 employs a four-element microphone array 300. The architecture of the present adaptive beamforming technique is not limited to this configuration, as many types of microphone arrays can be employed with the present technique.


2.2.1 Conversion into the Frequency Domain


The beam design operations described herein operate in a digital domain rather than directly on the analog signals received directly by the microphone array. Therefore, the audio signals captured by the microphone array 300 are first digitized using conventional A/D conversion techniques, breaking the audio signals into time domain samples. One embodiment of the adaptive beamforming technique first converts the time-domain signal xi(n) to frequency-domain using a converter 304. In one embodiment this converter uses a modulated complex lapped transform (MCLT) that provides good separation between frequency-bands of the input signals in an efficient manner. One can denote the MCLT as Xil(k), where k is the frequency bin and l is the index of the time-frame. It should be noted that many other types of transforms can be used to convert from the time domain to the frequency domain, such as Fast Fourier Transforms (FFT), DFT filter banks and the like. The input signals in the frequency domain 310 are input into a beamformer 306. The beamformer output 308 represents the optimal solution for capturing an audio signal at that target point using the total microphone array input. It is a weighted sum of the input signals in the frequency domain:











Y
j
l



(
k
)


=



i








W
i



(
k
)






X
i
l



(
k
)


.







(
1
)








where Wi(k) is a weight matrix. The set of vectors Wi(k) is an N×M matrix, where N is the number of MCLT frequency bins in a given audio frame and M is the number of microphones.


2.2.2 Adaptive Blocking Matrix


In general, a beamformer output is passed to an adaptive blocking matrix to compute any interference in the input signals and then cancel it from the input signals using an adaptive interference canceller. In the previously discussed robust GSC, the motivation for passing the beamformer output Yfl(k) to the adaptive blocking matrix is to use it as a reference signal that closely resembles the desired target signal. The adaptive blocking matrix should preferably subtract only the portions in the input signals that are correlated to the “desired signal”. Based on this reasoning, the adaptive beamforming technique estimates the desired signal by taking the product of the beamformer output Yfl(k) 308 and the probability Pl(k) 312 that the beamformer output contains the desired signal originating from the target region. (The computation of Pl(k) 312 will be discussed in more detail later.) Hence, the estimated desired signal 314 can be described by:

Ysl(k)=Pl(k)Yfl(k).  (2)


The adaptive blocking matrix 330 uses the estimated desired signal Ysl(k) 314 as the reference signal, instead of the beamformer output Ysl(k) used in the previously described robust GSC, and adaptively subtracts the components that are correlated to the estimated desired signal Ysl(k) 314 from the input signals 310 in the frequency domain to obtain the interference portion of the input signals. The adaptive blocking matrix outputs Eil(k) 316 can be described by:

Eil(k)=Xil(k)−Bil(k)Ysl(k).  (3)


After the subtraction, the adaptive blocking matrix outputs Eil(k) 316 contain the interference signals that come from undesirable directions and the background noise originating from the target region.


The adaptive filter coefficients Bil(k) 318 of the adaptive blocking matrix 330 are updated (in one embodiment, using the normalized least mean squares (NLMS) algorithm). The adaptive filter coefficients 318 can then be described by:

Bil+1(k)=Bil(k)+μbl(k)Ysl*(k)Eil(k),  (4)

where the normalized step size μbl(k) at the l-th frame is computed as follows:

μbl(k)=μbb+Sfl(k)]−1.  (5)

μb(k) is a fixed step size parameter εb and is a small number that is used to prevent μbl(k) from becoming too large. Sfl(k) is the power estimate of the beamformer output in the k-th frequency bin at the l-th frame

Sfl+1(k)=λbSfl(k)+(1−λb)|Yfl(k)|2.  (6)

The parameter λb, can be used to control the update speed.


2.2.3 Estimating the Sound-Source Presence Probability in Order to Determine Desired Signal.


In order to determine an estimate of the desired signal, the sound-source presence probability is determined. The variable Pl(k) 312, the sound source presence probability, can be defined as the probability that the signal of interest originating from the target region is presented in the k-th frequency bin of the beamformer output Yfl(k) at time-frame l. In one embodiment this probability 312 can be computed using the spatial probability, Psl(k), and a speech presence probability, Pvl(k), as follows:

Pl(k)=Psl(k)Psl(k)Pvl  (7)


The first term,









P
s
l



(
k
)


=





θ
T

-

δ
θ




θ
T

+

δ
θ







p
k
l



(
θ
)









θ




,





the spatial probability, is the probability that the signal component in the k-th frequency bin originates from inside the target tracking region [θT−δθT74], where θT is the expected direction of arrival (DOA) of the target signal and s, is the maximum allowable DOA error. In one embodiment, the adaptive beamformer technique estimates pkl(θ) using the method discussed in Section 3.0. It should be noted that any other method could be used to obtain this estimate. With the spatial probability Psl(k) the adaptive beamformer technique has a direct control over the maximum allowable DOA error. Unlike the previous RGSCs described in Section 2.1, the adaptive beamformer technique does not have to impose ad hoc constraints on the adaptive blocking matrix filter coefficients, which indirectly affect the maximum target direction error.


The speech presence probability Pvl(k) in the k-th frequency bin, which is the second term in the right-hand side of equation (7), can be computed using a voice activity detector (VAD). A voice activity detector detects the presence or absence of human speech in the audio frames. Once the sound source presence probability is determined it can be used to obtain the desired signal.


2.2.4 Adaptive Interference Canceller


The adaptive interference canceller 322 removes the signal components in the beamformer output Yfl(k) 308 that are correlated to the interference signals. First the adaptive interference canceller computes the overall interference signal by taking the weighted sum of Eil(k) 318 using the adaptive filter coefficients Ail(k) 324 of the adaptive interference canceller:











Y
a
l



(
k
)


=



i








A
i
l



(
k
)






E
i
l



(
k
)


.







(
8
)







Then this signal Yal(k) 326 is subtracted from Yfl(k) 308 to eliminate the remaining interference and noise components in the beamformer output

Yal(k)=Yfl(k)−Yal(k).  (9)


The final output yo(n) can be obtained by taking the inverse-MCLT (IMCLT) of Yol(k) 328. As in the adaptive blocking matrix 330, the filter coefficients in the adaptive interference canceller 322 are updated (for example, by using a NLMS algorithm):

Ail+1(k)=Ail(k)+μal(k)Eil*(k)Yol(k)  (10)

The normalized step size μal(k) is defined as

μal(k)=μaa+Sal(k)]−1,  (11)

where Sal(k) is the power estimate of the interference signals Eil(k)











S

a






l
+
1




(
k
)


=



λ
a




S
a
l



(
k
)



+


(

1
-

λ
a


)





i











E
i
l



(
k
)




2

.








(
12
)







2.3 Exemplary Process Employing the Present Adaptive Beamforming Technique.


One general exemplary process employing the present adaptive beamforming technique is shown in FIG. 4. As shown in FIG. 4, box 402, signals of a sensor array in the frequency domain are input. A beamformer output is computed as a function of the input signals divided into frequency bins and an index of time frames (box 404). A desired signal is estimated by taking the product of the beamformer output and the probability that the beamformer output contains the desired signal at a given target angle region (box 406). The estimated desired signal is used as a reference signal and components that are correlated to the estimated desired signal are subtracted from the input signals to obtain interference signals (box 408). The interference signals are subtracted from the beamformer output signals to produce an output signal with an increased signal to noise ratio (box 410).


More particularly, an exemplary process employing the present adaptive beamforming technique is shown in FIG. 5. The audio signals captured by the microphone array xi(t),i=1÷(M−1), where M is the number of microphones, are digitized using conventional ND conversion techniques, breaking the audio signals into frames (boxes 502, 504). The adaptive beamforming technique then converts the time-domain signal xi(n) to frequency-domain (box 506). In one embodiment a modulated complex lapped transform (MCLT) is used, although other transforms could equally well be used. One can denote the frequency domain transform as Xil(k), where k is the frequency bin and l is the index of the time-frame (e.g., frame).


The signals in the frequency domain, Xil(k), are then input into a beamformer, whose output represents the optimal solution for capturing an audio signal at a target point using the total microphone array input (box 508). The beamformer output is used to compute a speech presence probability (box 510). In one embodiment this is done by using a Voice Activity Detector. Additionally, the probability that sound is coming from a given direction, the spatial probability, is computed using the input signals in the frequency domain (box 512). The spatial probability and the speech presence probability are then used to compute the sound source presence probability, the probability that the desired signal (e.g., speech) is coming from a given direction, using equation (5) previously discussed (box 514). More specifically, the sound source presence probability Pl(k) is defined as the probability that the signal of interest originating from the target region is presented in the k-th frequency bin of the beamformer output Yfl(k) at time-frame l. This probability is obtained by multiplying the probability that the signal component in the k-th frequency bin originates from inside the target tracking region [θT−δθT74 ], where θT is the expected direction of arrival (DOA) of the target signal and s, is the maximum allowable DOA error, times the speech presence probability Pvl(k) in the k-th frequency bin. The sound source presence probability is then multiplied by the beamformer output to obtain an estimated desired signal.


The estimated desired signal is input to an adaptive blocking matrix so it can be used as a reference signal (box 516). The adaptive blocking matrix uses the estimated desired signal as the reference signal and adaptively subtracts the components that are correlated to the estimated desired signal from the input signals in the frequency domain. After the subtraction, the adaptive blocking matrix outputs contain the interference signals that come from undesirable directions and the background noise originating from the target region.


The adaptive filter coefficients of the adaptive blocking matrix are updated (in one embodiment, using the normalized least mean squares (NLMS) procedure) (box 518).


The adaptive interference canceller then removes the signal components in the beamformer output signals that are correlated to the interference signals (box 520). To do this the adaptive interference canceller computes the overall interference signal by taking the weighted sum of the interference signals at each frequency bin Eil(k) using the adaptive filter coefficients Ail(k) of the adaptive blocking matrix. Then this estimated signal is subtracted from the beamformer output in the frequency domain to eliminate the remaining interference and noise components and output a signal with an enhanced signal to noise ratio (box 522). The final output in the time domain can be obtained by taking the inverse-MCLT (IMCLT) of Yol(k) (box 524). As in the adaptive blocking matrix, the filter coefficients in the adaptive interference canceller can also be updated (box 526). Other processing such as encoding and transmitting the enhanced signal can also be performed (box 528).


3.0 One Exemplary Technique of Computing Sound Source Presence Probability.


The exemplary architecture and processes discussed in the previous sections use the sound source presence probability in crafting the adaptive blocking matrix. The following paragraphs provide one method of determining the sound source presence probability, although other methods could be used.


3.1 Instantaneous Direction Of Arrival Space


One can find the Instantaneous Direction of Arrival (IDOA) for each frequency bin based on the phase differences of non-repetitive pairs of input signals. For M microphones these phase differences form a M−1 dimensional space, spanning all potential IDOA. If one defines an IDOA vector in this space as

Δ(f)custom character1(f),δ2(f), . . . ,δM−1(f)]  (13)

where

δ1(f)=arg(X0(f))−arg(X1(f))l={1, . . . ,M−1}  (14)

then the non-correlated noise will be evenly spread in this space, while the signal and ambient noise (correlated components) will lay inside a hypervolume that represents all potential positions c={φ,θ,ρ} of a sound source in real three dimensional space. For far field sound capture, this is an M−1 dimensional hypersurface as the distance is presumed approaching infinity. Linear microphone arrays can distinguish only one dimension—the incident angle, and the real space is represented by a M−1 dimensional hyperline. For each point in the real space there is a corresponding point in the IDOA space (which may be not unique). The opposite is not true: there are points in the IDOA space without corresponding point in the real space.


3.2 Presence of a Sound Source


For simplicity and without any loss of generality, a linear microphone array is considered, sensitive only to the incident angle θ-direction of arrival in one dimension. Let Ψk(θ) denote the function that generates the vector Δ for given θ and frequency bin k. In each frame, the kth bin is represented by one point Δk in the IDOA space. Consider a sound source at θs with image in IDOA at ΔS(k)=ΨkS). With additive noise, the resultant point in IDOA space will be spread around ΔS(k):

ΔS+N(k)=ΔS(k)+N(0IDOA(k)).  (15)

where N(0,λIDOA(k)) is the spatial movement of Δk in the IDOA space, caused by the correlated and non-correlated noises.


3.3 Space Conversion


The conversion from distance to the theoretical hyperline in IDOA space to distance into the incident angle space (real world, one dimensional in this case) is given by:











Υ
k



(
θ
)


=





Δ
k

-


Ψ
k



(
θ
)












Ψ
k



(
θ
)





θ









(
16
)








where ∥Δk−Ψk(θ)∥ is the Euclidean distance between Δk and Ψk(θ) in IDOA space,










Ψ
k



(
θ
)





θ






are the partial derivatives, and Γk(θ) is the distance of observed IDOA point to the points in the real world. Note that the dimensions in IDOA space are measured in radians as phase difference, while Γk(θ) is measured in radians as units of incident angle.


3.4 Estimation of the Variance in Real Space


Analytic estimation in real-time of the probability density function for a sound source in every bin is computationally expensive. Therefore the adaptive beamforming technique estimates indirectly the variation λk(θ) of the sound source position in presence of N(0, λIDOA(k)) from Eq. (15). Let λk(θ) and Γk(θ) be a K×N matrices, where K is the number of frequency bins and N is the number of discrete values of the direction angle θ. Variation estimation goes through two stages. During the first stage a rough variation estimation matrix custom character(θ,k) is built. If θmin is the angle that minimizes Γk(θ), only the minimum values in the rough model are updated:

custom characterk(n)min)=(1−α)custom characterk(n−1)min)+αΓkmin)2  (17)

where Γ is estimated according to Eq. (16),






α
=


T

τ
A





(



τ
A






is











the





adaptation





time











constant

,





T





is





the





frame





duration


)

.







During the second stage a direction-frequency smoothing filter H(θ,k) is applied after each update to estimate the spatial variation matrix λ(θ,k)=H(θ,k)*custom character(θ,k). Here it is assumed a Gaussian distribution of the non-correlated component, which allows one to assume the same deviation in the real space towards θ.


3.5 Likelihood Estimation


With known spatial variation λk(θ) and distance Γk(θ), the probability density for frequency bin k to originate from direction θ is given by:












p
k



(
θ
)


=


1


2







πλ
k



(
θ
)






exp


{

-




Υ
k



(
θ
)


2


2







λ
k



(
θ
)





}



,




(
18
)







and for a given direction θS the likelihood is:












Λ
k



(

θ
S

)


=



p
k



(

θ
S

)




p
k



(

θ
min

)




,




(
19
)







where θmin the value which minimizes pk(θ).


It should also be noted that any or all of the aforementioned alternate embodiments may be used in any combination desired to form additional hybrid embodiments. For example, even though this disclosure describes the present adaptive beamforming technique with respect to a microphone array, the present technique is equally applicable to sonar arrays, directional radio antenna arrays, radar arrays, and the like. Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. The specific features and acts described above are disclosed as example forms of implementing the claims.

Claims
  • 1. A system for improving the signal to noise ratio of a desired signal received from a microphone array relative to at least one undesired signal received from the microphone array, comprising: a general purpose computing device;a computer program comprising program modules executable by the general purpose computing device, wherein the computing device is directed by the program modules of the computer program to, input signals of sensors of a sensor array in the frequency domain defined by frequency bins and a time frame index, wherein the input signals comprise a desired signal and at least one undesired signal;compute a beamformer output as function of the input signals divided into k frequency bins and the time frame index;estimate the desired signal by taking the product of the beamformer output and the probability that the beamformer output contains the desired signal at a given target angle region;use the estimated desired signal as a reference signal and subtracting components that are correlated to the estimated desired signal from the input signals to obtain interference signals;subtract the interference signals from the beamformer output to produce an output signal of the desired signal with an increased signal to noise ratio.
  • 2. The system of claim 1 wherein at least one undesired signal has a magnitude greater than the desired signal.
  • 3. The system of claim 1 wherein the input signals of the sensor array in the frequency domain are converted from the time domain into the frequency domain prior to inputting them using a Modulated Complex Lapped Transform (MCLT).
  • 4. The system of claim 1 wherein the sensors are microphones and wherein the sensor array is a microphone array.
  • 5. The system of claim 1 wherein the probability that the beamformer output contains the desired signal at a given target angle region is computed by multiplying the probability that a signal component in a k-th frequency bin originates inside a specified tracking region by the probability that the desired signal exists in the k-th frequency bin.
  • 6. The system of claim 5 wherein the specified tracking region is defined by the expected direction of arrival of the desired signal and a maximum allowed direction of arrival error.
  • 7. The system of claim 5 wherein the probability that a signal component in the k-th frequency bin originates inside a specified tracking region employs an instantaneous direction of arrival for each frequency bin based on the phase differences of the input signals.
  • 8. The system of claim 5 wherein the probability that the desired signal exists in the k-th frequency bin is determined using a voice activity detector.
  • 9. The system of claim 1 wherein the system comprises an electronic consumer device.
  • 10. A computer-implemented process for cancelling undesired sounds from a signal received at a microphone array, comprising: inputting signals of sensors of a sensor array in the frequency domain defined by frequency bins and a time frame index, wherein the input signals comprise a desired signal and at least one undesired signal;computing a beamformer output as function of the input signals divided into k frequency bins and the time frame index;estimating the desired signal by taking the product of the beamformer output and the probability that the beamformer output contains the desired signal at a given target angle region;using the estimated desired signal as a reference signal and subtracting components that are correlated to the estimated desired signal from the input signals to obtain interference signals;subtracting the interference signals from the beamformer output to produce an output signal of the desired signal with an increased signal to noise ratio while attenuating any undesired signal.
  • 11. The computer-implemented process of claim 10 wherein the desired signal does not have a magnitude as large as an undesired signal.
  • 12. The computer-implemented process of claim 10 wherein the probability that the beamformer output contains the desired signal at a given target angle region is computed by multiplying the probability that a signal component in a k-th frequency bin originates inside a specified tracking region by the probability that the desired signal exists in the k-th frequency bin.
  • 13. The computer-implemented process of claim 12 wherein the specified tracking region is defined by the expected direction of arrival of the desired signal and a maximum allowed direction of arrival error.
  • 14. The computer-implemented process of claim 12 wherein the probability that a signal component in the k-th frequency bin originates inside a specified tracking region employs an instantaneous direction of arrival for each frequency bin based on the phase differences of the input signals.
  • 15. The computer-implemented process of claim 12 wherein the probability that the desired signal exists in the k-th frequency bin is determined using a voice activity detector.
  • 16. A computer-implemented process for improving the signal to noise ratio of a signal received from a microphone array, comprising: inputting signals of sensors of a sensor array in the frequency domain defined by frequency bins and a time frame index, wherein the input signals comprise a desired signal and at least one undesired signal;computing a beamformer output as function of the input signals divided into k frequency bins and the time frame index;estimating the desired signal by taking the product of the beamformer output and the probability that the beamformer output contains the desired signal at a given target angle region;using the estimated desired signal as a reference signal and subtracting components that are correlated to the estimated desired signal from the input signals to obtain interference signals;subtracting the interference signals from the beamformer output to produce an output signal of the desired signal with an increased signal to noise ratio.
  • 17. The computer-implemented process of claim 16 wherein at least one undesired signal has a magnitude greater than the desired signal.
  • 18. The computer-implemented process of claim 16 wherein the input signals of the sensor array in the frequency domain are converted from the time domain into the frequency domain prior to inputting them using a Modulated Complex Lapped Transform (MCLT).
  • 19. The computer-implemented process claim 16 wherein the probability that the beamformer output contains the desired signal at a given target angle region is computed by multiplying the probability that a signal component in a k-th frequency bin originates inside a specified tracking region by the probability that the desired signal exists in the k-th frequency bin.
Parent Case Info

The above-identified application is a continuation of a prior application entitled “Robust Adaptive Beamforming with Enhanced Noise Suppression” which was assigned Ser. No. 11/689,628, and was filed on Mar. 22, 2007 now U.S. Pat. No. 8,005,238.

US Referenced Citations (176)
Number Name Date Kind
4627620 Yang Dec 1986 A
4630910 Ross et al. Dec 1986 A
4645458 Williams Feb 1987 A
4695953 Blair et al. Sep 1987 A
4702475 Elstein et al. Oct 1987 A
4711543 Blair et al. Dec 1987 A
4751642 Silva et al. Jun 1988 A
4796997 Svetkoff et al. Jan 1989 A
4809065 Harris et al. Feb 1989 A
4817950 Goo Apr 1989 A
4843568 Krueger et al. Jun 1989 A
4893183 Nayar Jan 1990 A
4901362 Terzian Feb 1990 A
4925189 Braeunig May 1990 A
5101444 Wilson et al. Mar 1992 A
5148154 MacKay et al. Sep 1992 A
5184295 Mann Feb 1993 A
5229754 Aoki et al. Jul 1993 A
5229756 Kosugi et al. Jul 1993 A
5239463 Blair et al. Aug 1993 A
5239464 Blair et al. Aug 1993 A
5288078 Capper et al. Feb 1994 A
5295491 Gevins Mar 1994 A
5320538 Baum Jun 1994 A
5347306 Nitta Sep 1994 A
5385519 Hsu et al. Jan 1995 A
5405152 Katanics et al. Apr 1995 A
5417210 Funda et al. May 1995 A
5423554 Davis Jun 1995 A
5454043 Freeman Sep 1995 A
5469740 French et al. Nov 1995 A
5495576 Ritchey Feb 1996 A
5516105 Eisenbrey et al. May 1996 A
5524637 Erickson et al. Jun 1996 A
5534917 MacDougall Jul 1996 A
5563988 Maes et al. Oct 1996 A
5577981 Jarvik Nov 1996 A
5580249 Jacobsen et al. Dec 1996 A
5594469 Freeman et al. Jan 1997 A
5597309 Riess Jan 1997 A
5616078 Oh Apr 1997 A
5617312 Iura et al. Apr 1997 A
5638300 Johnson Jun 1997 A
5641288 Zaenglein Jun 1997 A
5682196 Freeman Oct 1997 A
5682229 Wangler Oct 1997 A
5690582 Ulrich et al. Nov 1997 A
5703367 Hashimoto et al. Dec 1997 A
5704837 Iwasaki et al. Jan 1998 A
5715834 Bergamasco et al. Feb 1998 A
5875108 Hoffberg et al. Feb 1999 A
5877803 Wee et al. Mar 1999 A
5913727 Ahdoot Jun 1999 A
5933125 Fernie Aug 1999 A
5980256 Carmein Nov 1999 A
5989157 Walton Nov 1999 A
5995649 Marugame Nov 1999 A
6005548 Latypov et al. Dec 1999 A
6009210 Kang Dec 1999 A
6054991 Crane et al. Apr 2000 A
6066075 Poulton May 2000 A
6072494 Nguyen Jun 2000 A
6073489 French et al. Jun 2000 A
6077201 Cheng et al. Jun 2000 A
6098458 French et al. Aug 2000 A
6100896 Strohecker et al. Aug 2000 A
6101289 Kellner Aug 2000 A
6128003 Smith et al. Oct 2000 A
6130677 Kunz Oct 2000 A
6141463 Covell et al. Oct 2000 A
6147678 Kumar et al. Nov 2000 A
6152856 Studor et al. Nov 2000 A
6159100 Smith Dec 2000 A
6173066 Peurach et al. Jan 2001 B1
6181343 Lyons Jan 2001 B1
6188777 Darrell et al. Feb 2001 B1
6215890 Matsuo et al. Apr 2001 B1
6215898 Woodfill et al. Apr 2001 B1
6226396 Marugame May 2001 B1
6229913 Nayar et al. May 2001 B1
6256033 Nguyen Jul 2001 B1
6256400 Takata et al. Jul 2001 B1
6283860 Lyons et al. Sep 2001 B1
6289112 Jain et al. Sep 2001 B1
6299308 Voronka et al. Oct 2001 B1
6308565 French et al. Oct 2001 B1
6316934 Amorai-Moriya et al. Nov 2001 B1
6363160 Bradski et al. Mar 2002 B1
6384819 Hunter May 2002 B1
6411744 Edwards Jun 2002 B1
6430997 French et al. Aug 2002 B1
6476834 Doval et al. Nov 2002 B1
6496598 Harman Dec 2002 B1
6503195 Keller et al. Jan 2003 B1
6539931 Trajkovic et al. Apr 2003 B2
6570555 Prevost et al. May 2003 B1
6633294 Rosenthal et al. Oct 2003 B1
6640202 Dietz et al. Oct 2003 B1
6661918 Gordon et al. Dec 2003 B1
6681031 Cohen et al. Jan 2004 B2
6714665 Hanna et al. Mar 2004 B1
6731799 Sun et al. May 2004 B1
6738066 Nguyen May 2004 B1
6765726 French et al. Jul 2004 B2
6788809 Grzeszczuk et al. Sep 2004 B1
6801637 Voronka et al. Oct 2004 B2
6873723 Aucsmith et al. Mar 2005 B1
6876496 French et al. Apr 2005 B2
6937742 Roberts et al. Aug 2005 B2
6950534 Cohen et al. Sep 2005 B2
7003134 Covell et al. Feb 2006 B1
7036094 Cohen et al. Apr 2006 B1
7038855 French et al. May 2006 B2
7039676 Day et al. May 2006 B1
7042440 Pryor et al. May 2006 B2
7050606 Paul et al. May 2006 B2
7058204 Hildreth et al. Jun 2006 B2
7060957 Lange et al. Jun 2006 B2
7113918 Ahmad et al. Sep 2006 B1
7121946 Paul et al. Oct 2006 B2
7170492 Bell Jan 2007 B2
7184048 Hunter Feb 2007 B2
7202898 Braun et al. Apr 2007 B1
7222078 Abelow May 2007 B2
7227526 Hildreth et al. Jun 2007 B2
7259747 Bell Aug 2007 B2
7308112 Fujimura et al. Dec 2007 B2
7317836 Fujimura et al. Jan 2008 B2
7348963 Bell Mar 2008 B2
7359121 French et al. Apr 2008 B2
7367887 Watabe et al. May 2008 B2
7379563 Shamaie May 2008 B2
7379566 Hildreth May 2008 B2
7389591 Jaiswal et al. Jun 2008 B2
7412077 Li et al. Aug 2008 B2
7421093 Hildreth et al. Sep 2008 B2
7430312 Gu Sep 2008 B2
7436496 Kawahito Oct 2008 B2
7450736 Yang et al. Nov 2008 B2
7452275 Kuraishi Nov 2008 B2
7460690 Cohen et al. Dec 2008 B2
7489812 Fox et al. Feb 2009 B2
7536032 Bell May 2009 B2
7555142 Hildreth et al. Jun 2009 B2
7560701 Oggier et al. Jul 2009 B2
7570805 Gu Aug 2009 B2
7574020 Shamaie Aug 2009 B2
7576727 Bell Aug 2009 B2
7590262 Fujimura et al. Sep 2009 B2
7593552 Higaki et al. Sep 2009 B2
7598942 Underkoffler et al. Oct 2009 B2
7607509 Schmiz et al. Oct 2009 B2
7620202 Fujimura et al. Nov 2009 B2
7668340 Cohen et al. Feb 2010 B2
7680298 Roberts et al. Mar 2010 B2
7683954 Ichikawa et al. Mar 2010 B2
7684592 Paul et al. Mar 2010 B2
7701439 Hillis et al. Apr 2010 B2
7702130 Im et al. Apr 2010 B2
7704135 Harrison, Jr. Apr 2010 B2
7710391 Bell et al. May 2010 B2
7729530 Antonov et al. Jun 2010 B2
7746345 Hunter Jun 2010 B2
7760182 Ahmad et al. Jul 2010 B2
7809167 Bell Oct 2010 B2
7834846 Bell Nov 2010 B1
7852262 Namineni et al. Dec 2010 B2
RE42256 Edwards Mar 2011 E
7898522 Hildreth et al. Mar 2011 B2
8005238 Tashev et al. Aug 2011 B2
8035612 Bell et al. Oct 2011 B2
8035614 Bell et al. Oct 2011 B2
8035624 Bell et al. Oct 2011 B2
8072470 Marks Dec 2011 B2
20070076898 Sarroukh et al. Apr 2007 A1
20080026838 Dunstan et al. Jan 2008 A1
Foreign Referenced Citations (6)
Number Date Country
201254344 Jun 2010 CN
0583061 Feb 1994 EP
08044490 Feb 1996 JP
9310708 Jun 1993 WO
9717598 May 1997 WO
9944698 Sep 1999 WO
Non-Patent Literature Citations (27)
Entry
Kanade et al., “A Stereo Machine for Video-rate Dense Depth Mapping and Its New Applications”, IEEE Computer Society Conference on Computer Vision and Pattern Recognition, Jun. 18-20, 1996, pp. 196-202,The Robotics Institute, Carnegie Mellon University, Pittsburgh, PA.
Miyagawa et al., “CCD-Based Range Finding Sensor”, Oct. 1997, pp. 1648-1652, vol. 44 No. 10, IEEE Transactions on Electron Devices.
Rosenhahn et al., “Automatic Human Model Generation”, Sep. 5-8, 2005, pp. 41-48, University of Auckland (CITR), New Zealand.
Aggarwal et al., “Human Motion Analysis: A Review”, IEEE Nonrigid and Articulated Motion Workshop, Jun. 1997, University of Texas at Austin, Austin, TX.
Shao et al., “An Open System Architecture for a Multimedia and Multimodal User Interface”, Aug. 24, 1998, Japanese Society for Rehabilitation of Persons with Disabilities (JSRPD), Japan.
Kohler, “Special Topics of Gesture Recognition Applied in Intelligent Home Environments”, In Proceedings of the Gesture Workshop, Sep. 17-19, 1997, pp. 285-296, Germany.
Kohler, “Vision Based Remote Control in Intelligent Home Environments”, University of Erlangen-Nuremberg/Germany, 1996, pp. 147-154, Germany.
Kohler, “Technical Details and Ergonomical Aspects of Gesture Recognition applied in Intelligent Home Environments”, 1997, Germany.
Hasegawa et al., “Human-Scale Haptic Interaction with a Reactive Virtual Human in a Real-Time Physics Simulator”, Jul. 2006, vol. 4, No. 3, Article 6C, ACM Computers in Entertainment, New York, NY.
Qian et al., “A Gesture-Driven Multimodal Interactive Dance System”, Jun. 2004, pp. 1579-1582, IEEE International Conference on Multimedia and Expo (ICME), Taipei, Taiwan.
Zhao, “Dressed Human Modeling, Detection, and Parts Localization”, Jun. 26, 2001, The Robotics Institute, Carnegie Mellon University, Pittsburgh, PA.
He, “Generation of Human Body Models”, Apr. 2005, University of Auckland, New Zealand.
Isard et al., “Condensation—Conditional Density Propagation for Visual Tracking”, Aug. 1998, pp. 5-28, International Journal of Computer Vision 29(1), Netherlands.
Livingston, “Vision-based Tracking with Dynamic Structured Light for Video See-through Augmented Reality”, Oct. 1998, University of North Carolina at Chapel Hill, North Carolina, USA.
Wren et al., “Pfinder: Real-Time Tracking of the Human Body”, MIT Media Laboratory Perceptual Computing Section Technical Report No. 353, Jul. 1997, vol. 19, No. 7, pp. 780-785, IEEE Transactions on Pattern Analysis and Machine Intelligence, Caimbridge, MA.
Breen et al., “Interactive Occlusion and Collusion of Real and Virtual Objects in Augmented Reality”, Technical Report ECRC-95-02, 1995, European Computer-Industry Research Center GmbH, Munich, Germany.
Freeman et al., “Television Control by Hand Gestures”, Dec. 1994, Mitsubishi Electric Research Laboratories, TR94-24, Caimbridge, MA.
Hongo et al., “Focus of Attention for Face and Hand Gesture Recognition Using Multiple Cameras”, Mar. 2000, pp. 156-161, 4th IEEE International Conference on Automatic Face and Gesture Recognition, Grenoble, France.
Pavlovic et al., “Visual Interpretation of Hand Gestures for Human-Computer Interaction: A Review”, Jul. 1997, pp. 677-695, vol. 19, No. 7, IEEE Transactions on Pattern Analysis and Machine Intelligence.
Azarbayejani et al., “Visually Controlled Graphics”, Jun. 1993, vol. 15, No. 6, IEEE Transactions on Pattern Analysis and Machine Intelligence.
Granieri et al., “Simulating Humans in VR”, The British Computer Society, Oct. 1994, Academic Press.
Brogan et al., “Dynamically Simulated Characters in Virtual Environments”, Sep./Oct. 1998, pp. 2-13, vol. 18, Issue 5, IEEE Computer Graphics and Applications.
Fisher et al., “Virtual Environment Display System”, ACM Workshop on Interactive 3D Graphics, Oct. 1986, Chapel Hill, NC.
“Virtual High Anxiety”, Tech Update, Aug. 1995, pp. 22.
Sheridan et al., “Virtual Reality Check”, Technology Review, Oct. 1993, pp. 22-28, vol. 96, No. 7.
Stevens, “Flights into Virtual Reality Treating Real-World Disorders”, The Washington Post, Mar. 27, 1995, Science Psychology, 2 Pages.
“Simulation and Training”, 1994, Division Incorporated, pp. 1-6.
Related Publications (1)
Number Date Country
20110274291 A1 Nov 2011 US
Continuations (1)
Number Date Country
Parent 11689628 Mar 2007 US
Child 13187618 US