# Patent

## Title
Source separation by independent component analysis in conjunction with source direction information

## Abstract

Methods and apparatus for signal processing are disclosed. Source separation can be performed to extract source signals from mixtures of source signals by way of independent component analysis. Source direction information is utilized in the separation process, and independent component analysis techniques described herein use multivariate probability density functions to preserve the alignment of frequency bins in the source separation process. It is emphasized that this abstract is provided to comply with the rules requiring an abstract that will allow a searcher or other reader to quickly ascertain the subject matter of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is related to commonly-assigned, co-pending application Ser. No. 13/464,833, to Jaekwon Yoo and Ruxin Chen et al., entitled SOURCE SEPARATION USING INDEPENDENT COMPONENT ANALYSIS WITH MIXED MULTI-VARIATE PROBABILITY DENSITY FUNCTION, filed the same day as the present application, the entire disclosures of which are incorporated herein by reference. This application is also related to commonly-assigned, co-pending application Ser. No. 13/464,842, to Jaekwon Yoo and Ruxin Chen et al., entitled SOURCE SEPARATION BY INDEPENDENT COMPONENT ANALYSIS IN CONJUNCTION WITH OPTIMIZATION OF ACOUSTIC ECHO CANCELLATION, filed the same day as the present application, the entire disclosures of which are incorporated herein by reference. This application is also related to commonly-assigned, co-pending application Ser. No. 13/464,484, to Jaekwon Yoo and Ruxin Chen et al., entitled SOURCE SEPARATION BY INDEPENDENT COMPONENT ANALYSIS WITH MOVING CONSTRAINT, filed the same day as the present application, the entire disclosures of which are incorporated herein by reference.
FIELD OF THE INVENTION
Embodiments of the present invention are directed to signal processing. More specifically, embodiments of the present invention are directed to audio signal processing and source separation methods and apparatus utilizing independent component analysis (ICA) in conjunction with source direction information.
BACKGROUND OF THE INVENTION
Source separation has attracted attention in a variety of applications where it may be desirable to extract a set of original source signals from a set of mixed signal observations.
Source separation may find use in a wide variety of signal processing applications, such as audio signal processing, optical signal processing, speech separation, neural imaging, stock market prediction, telecommunication systems, facial recognition, and more. Where knowledge of the mixing process of original signals that produces the mixed signals is not known, the problem has commonly been referred to as blind source separation (BSS).
Independent component analysis (ICA) is an approach to the source separation problem that models the mixing process as linear mixtures of original source signals, and applies a demixing operation that attempts to reverse the mixing process to produce a set of estimated signals corresponding to the original source signals. Basic ICA assumes linear instantaneous mixtures of non-Gaussian source signals, with the number of mixtures equal to the number of source signals. Because the original source signals are assumed to be independent, ICA estimates the original source signals by using statistical methods extract a set of independent (or at least maximally independent) signals from the mixtures.
While conventional ICA approaches for simplified, instantaneous mixtures in the absence of noise can give very good results, real world source separation applications often need to account for a more complex mixing process created by real world environments. A common example of the source separation problem as it applies to speech separation is demonstrated by the well-known “cocktail party problem,” in which several persons are speaking in a room and an array of microphones are used to detect speech signals from the separate speakers. The goal of ICA would be to extract the individual speech signals of the speakers from the mixed observations detected by the microphones. The mixing process may be mathematically represented by a mixing matrix in the ICA process. However, the mixing process may be complicated by a variety of factors, including noises, music, moving sources, room reverberations, echoes, and the like. In this manner, each microphone in the array may detect a unique mixed signal that contains a mixture of the original source signals (i.e. the mixed signal that is detected by each microphone in the array includes a mixture of the separate speakers' speech), but the mixed signals may not be simple instantaneous mixtures of just the sources. Rather, the mixtures can be convolutive mixtures, resulting from room reverberations and echoes (e.g. speech signals bouncing off room walls), and may include any of the complications to the mixing process mentioned above.
Mixed signals to be used for source separation can initially be time domain representations of the mixed observations (e.g. in the cocktail party problem mentioned above, they would be mixed audio signals as functions of time). ICA processes have been developed to perform the source separation on time-domain signals from convolutive mixed signals and can give good results; however, the separation of convolutive mixtures of time domain signals can be very computationally intensive, requiring lots of time and processing resources and thus prohibiting its effective utilization in many common real world ICA applications.
A much more computationally efficient algorithm can be implemented by extracting frequency data from the observed time domain signals. In doing this, the convolutive operation in the time domain is replaced by a more computationally efficient multiplication operation in the frequency domain. A Fourier-related transform, such as a short-time Fourier transform (STFT), can be performed on the time-domain data in order to generate frequency representations of the observed mixed signals and load frequency bins, whereby the STFT converts the time domain signals into the time-frequency domain. A STFT can generate a spectrogram for each time segment analyzed, providing information about the intensity of each frequency bin at each time instant in a given time segment.
Traditional approaches to frequency domain ICA involve performing the independent component analysis at each frequency bin (i.e. independence of the same frequency bin between different signals will be maximized) without any constraints derived from prior information. Unfortunately, this approach inherently suffers from a well-known permutation problem, which can cause estimated frequency bin data of the source signals to be grouped in incorrect sources. As such, when resulting time domain signals are reproduced from the frequency domain signals (such as by an inverse STFT), each estimated time domain signal that is produced from the separation process may contain frequency data from incorrect sources. Furthermore, traditional approaches typically rely on unconstrained models that fail to account for additional information regarding the source signals. However, in many real world applications, additional information can be utilized to improve the separation process, and traditional ICA techniques generally fail to appreciate ways in which the complexity of the underlying processing operations can be simplified utilizing prior information regarding the sources.
Various approaches to solving the misalignment of frequency bins in source separation by frequency domain ICA have been proposed. However, to date none of these approaches achieve high enough performance in real world noisy environments to make them an attractive solution for acoustic source separation applications.
Conventional approaches include performing frequency domain ICA at each frequency bin as described above and applying post-processing that involves correcting the alignment of frequency bins by various methods. However, these approaches can suffer from inaccuracies and poor performance in the correcting step. Additionally, because these processes require an additional processing step after the initial ICA separation, processing time and computing resources required to produce the estimated source signals are greatly increased.
To date, known approaches to frequency domain ICA suffer from one or more of the following drawbacks: inability to accurately align frequency bins with the appropriate source, requirement of a post-processing that requires extra time and processing resources, poor performance (i.e. poor signal to noise ratio), inability to efficiently analyze multi-source speech, complex optimization functions that consume processing resources, and a requirement for a limited time frame to be analyzed.
For the foregoing reasons, there is a need for methods and apparatus that can efficiently implement frequency domain independent component analysis to produce estimated source signals from a set of mixed signals without the aforementioned drawbacks. It is within this context that a need for the present invention arises.



BRIEF DESCRIPTION OF THE DRAWINGS
The teachings of the present invention can be readily understood by considering the following detailed description in conjunction with the accompanying drawings, in which:
FIG. 1A is a schematic of a source separation process.
FIG. 1B is a schematic of a mixing and de-mixing model of a source separation process.
FIG. 2 is a flow diagram of an implementation of source separation utilizing ICA according to an embodiment of the present invention.
FIG. 3A is a drawing demonstrating the difference between a singular probability density function and a mixed probability density function.
FIG. 3B is a spectrogram demonstrating the difference between a singular probability density function and a mixed probability density function.
FIG. 4 is a block diagram of a source separation apparatus according to an embodiment of the present invention.



DETAILED DESCRIPTION
The following description will describe embodiments of the present invention primarily with respect to the processing of audio signals detected by a microphone array. More particularly, embodiments of the present invention will be described with respect to the separation of audio source signals, including speech signals and music signals, from mixed audio signals that are detected by a microphone array. However, it is to be understood that ICA has many far reaching applications in a wide variety of technologies, including optical signal processing, neural imaging, stock market prediction, telecommunication systems, facial recognition, and more. Mixed signals can be obtained from a variety of sources by being observed from array of sensors or transducers that are capable of observing the signals of interest into electronic form for processing by a communications device or other signal processing device. Accordingly, the accompanying claims are not to be limited to speech separation applications or microphone arrays except where explicitly recited in the claims.
Embodiments of the present invention improve upon known independent component analysis techniques by utilizing direction information for a source in a known direction with respect to a sensor array that is used to detect the original mixtures. Accordingly, ICA models according to embodiments of the present invention can incorporate a direction constraint in the source separation model, which greatly simplifies the underlying operations involved, thereby reducing the complexity of the source separation and providing more accurate estimated source signals with less processing time and computing resources. When a source signal is observed by a sensor array, phase differences will exist between the different mixing processes that occur at each sensor in the sensor array due to the different locations of the sensors. Where direction information about a source is known, this phase information can be extracted from known direction information. Embodiments of the present invention exploit these phase differences and corresponding phase differences among the mixing filters that model the mixing process at each sensor, thereby reducing the complexity of the operations involved and improving upon the source separation process.
Embodiments of the present invention can exploit phase information by setting up a cost function that includes both a function corresponding to unconstrained independent component analysis, as well as a function corresponding to a direction constraint derived from prior knowledge about the direction of a desired source signal. The direction constraint can be based on a phase difference among the mixing filters for each sensor in the sensor array, and the complexity involved in minimizing the cost function to produce maximally independent source signals as a solution to the source separation problem is thus greatly simplified.
It is noted that direction information for a desired source signal can be obtained in any number of ways before inputting the source direction information into signal processing operation. The present invention may be applicable to any source separation technique where information about a source's direction with respect to a sensor array is known or readily obtainable by known means, regardless of how the source direction information is obtained. As such, it is noted that methods of obtaining the known direction are not the focus of the present invention. Source direction information may be obtained in a number of different ways. For example, in the case of a system that uses both a microphone array and a digital camera to track sources, the directional information may be derived from images of the signal sources obtained with the camera. Alternatively, direction of arrival (DOA) information can be obtained using multi-microphone techniques such as MUSIC (Multiple Signal Classification), GCC-PHAT (Generalized Cross Correlation with the Phase transform processor), SRP-PHAT (Steered Response Power with Phase transform processor), DOA estimation based on zero crossing information and, etc. In some implementations, a direction of the source may be assumed, e.g., by instructing a speaker to stand always right in front of the microphone-camera. Location information may also be obtained from a game controller and used to derive the direction of the targeted source. In addition, combinations of the above types of information may be used to derive the source direction information.
By way of example and not by way of limitation, an example of pre-calibrating a listening direction for a microphone array with a source at a known direction from the array is described in commonly-owned U.S. Pat. No. 7,809,145, which is incorporated herein by reference. This example involves decomposing calibration covariance matrices generated from calibration signals using principal component analysis (PCA) to generate corresponding eigenmatrices. The inverse of each eigenmatrix may be regarded as a representing a known “listening direction”. The inverses of the eignenmatrices may be used to diagonalize the mixing matrix.
Furthermore, in order to address the permutation problem described above, a separation process utilizing ICA can define relationships between frequency bins according to multivariate probability density functions. In this manner, the permutation problem can be substantially avoided by accounting for the relationship between frequency bins in the source separation process and thereby preventing misalignment of the frequency bins as described above.
The parameters for each multivariate PDF that appropriately estimates the relationship between frequency bins can depend not only on the source signal to which it corresponds, but also the time frame to be analyzed (i.e. the parameters of a PDF for a given source signal will depend on the time frame of that signal that is analyzed). As such, the parameters of a multivariate PDF that appropriately models the relationship between frequency bins can be considered to be both time dependent and source dependent. However, it is noted that the general form of the multivariate PDF can be the same for the same types of sources, regardless of which source or time segment that corresponds to the multivariate PDF. For example, all sources over all time segments can have multivariate PDFs with super-Gaussian form corresponding to speech signals, but the parameters for each source and time segment can be different.
Embodiments of the present invention can account for the different statistical properties of different sources as well as the same source over different time segments by using weighted mixtures of component multivariate probability density functions having different parameters in the ICA calculation. The parameters of these mixtures of multivariate probability density functions, or mixed multivariate PDFs, can be weighted for different source signals, different time segments, or some combination thereof. In other words, the parameters of the component probability density functions in the mixed multivariate PDFs can correspond to the frequency components of different sources and/or different time segments to be analyzed. Approaches to frequency domain ICA that utilize probability density functions to model the relationship between frequency bins fail to account for these different parameters by modeling a single multivariate PDF in the ICA calculation. Accordingly, embodiments of the present invention that utilize mixed multivariate PDFs are able to analyze a wider time frame with better performance than embodiments that utilize singular multivariate PDFs, and are able account for multiple speakers in the same location at the same time (i.e. multi-source speech). Therefore, it is noted that it is preferred, but not required, to use mixed multivariate PDFs as opposed to singular multivariate PDFs for ICA operations in embodiments of the present invention.
In the description that follows, models corresponding to ICA processes utilizing single multivariate PDFs and mixed multivariate PDFs in the ICA calculation will be first be explained. Models that perform independent component analysis with a direction constraint will then be described.
Source Separation Problem Set
Referring to FIG. 1A, a basic schematic of a source separation process having N separate signal sources 102 is depicted. Signals from sources 102 can be represented by the column vector s=[s1, s2, . . . , sN]T. It is noted that the superscript T simply indicates that the column vector s is simply the transpose of the row vector [s1, s2, . . . , sN]. Note that each source signal can be a function modeled as a continuously random variable (e.g. a speech signal as a function of time), but for now the function variables are omitted for simplicity. The sources 102 are observed by M separate sensors 104 (i.e. a multi-channel sensor having M channels), producing M different mixed signals which can be represented by the vector x=[x1, x2, . . . , xM]T. Source separation 106 separates the mixed signals x=[x1, x2, . . . , xM]T received from the sensors 104 to produce estimated source signals 108, which can be represented by the vector y=[y1, y2, . . . , yN]T and which correspond to the source signals from signal sources 102. Source separation as shown generally in FIG. 1A can produce the estimated source signals y=[y1, y2, . . . , yN]T that correspond to the original sources 102 without information of the mixing process that produces the mixed signals observed by the sensors x=[x1, x2, . . . , xM]T.
Referring to FIG. 1B, a basic schematic of a general ICA operation to perform source separation as shown in FIG. 1A is depicted. In a basic ICA process, the number of sources 102 is equal to the number of sensors 104, such that M=N and the number observed mixed signals is equal to the number of separate source signals to be reproduced. Before being observed by sensors 104, the source signals s emanating from sources 102 are subjected to unknown mixing 110 in the environment before being observed by the sensors 104. This mixing process 110 can be represented as a linear operation by a mixing matrix A as follows:




  
    
      
        A
        =
        
          [
          
            
              
                
                  A
                  11
                
              
              
                ...
              
              
                
                  A
                  
                    1
                    ⁢
                    
                      
                    
                    ⁢
                    N
                  
                
              
            
            
              
                ⋮
              
              
                ⋱
              
              
                ⋮
              
            
            
              
                
                  A
                  
                    M
                    ⁢
                    
                      
                    
                    ⁢
                    1
                  
                
              
              
                ...
              
              
                
                  A
                  MN
                
              
            
          
          ]
        
      
    
    
      
        (
        1
        )
      
    
  




Multiplying the mixing matrix A by the source signals vector s produces the mixed signals x that are observed by the sensors, such that each mixed signal xi is a linear combination of the components of the source vector s, and:




  
    
      
        
          [
          
            
              
                
                  x
                  1
                
              
            
            
              
                ⋮
              
            
            
              
                
                  x
                  N
                
              
            
          
          ]
        
        =
        
          
            [
            
              
                
                  
                    A
                    11
                  
                
                
                  ...
                
                
                  
                    A
                    
                      1
                      ⁢
                      
                        
                      
                      ⁢
                      N
                    
                  
                
              
              
                
                  ⋮
                
                
                  ⋱
                
                
                  ⋮
                
              
              
                
                  
                    A
                    
                      M
                      ⁢
                      
                        
                      
                      ⁢
                      1
                    
                  
                
                
                  ...
                
                
                  
                    A
                    MN
                  
                
              
            
            ]
          
          ⁡
          
            [
            
              
                
                  
                    s
                    1
                  
                
              
              
                
                  ⋮
                
              
              
                
                  
                    s
                    N
                  
                
              
            
            ]
          
        
      
    
    
      
        (
        2
        )
      
    
  




The goal of ICA is to determine a de-mixing matrix W of 112 that is the inverse of the mixing process, such that W=A−1. The de-mixing matrix 112 can be applied to the mixed signals x=[x1, x2, . . . , xM]T to produce the estimated sources y=[y1, y2, . . . , yN]T up to the permuted and scaled output, such that,

y=Wx=WAs≅PDs  (3)

where P and D represent a permutation matrix and a scaling matrix, respectively, each of which has only diagonal components.

Flowchart Description

Referring now to FIG. 2, a flowchart of a method of signal processing 200 according to embodiments of the present invention is depicted. Signal processing 200 can include receiving M mixed signals 202. Receiving mixed signals 202 can be accomplished by observing signals of interest with an array of M sensors or transducers, such as a microphone array having M microphones that convert observed audio signals into electronic form for processing by a signal processing device. The signal processing device can perform embodiments of the methods described herein and, by way of example, can be an electronic communications device such as a computer, handheld electronic device, videogame console, or electronic processing device. The microphone array can produce mixed signals x1(t), . . . , xM(t) that can be represented by the time domain mixed signal vector x(t). Each component of the mixed signal vector xm(t) can include a convolutive mixture of audio source signals to be separated, with the convolutive mixing process cause by echoes, reverberation, time delays, etc.
If signal processing 200 is to be performed digitally, signal processing 200 can include converting the mixed signals x(t) to digital form with an analog to digital converter (ADC). The analog to digital conversion 203 will utilize a sampling rate sufficiently high to enable processing of the highest frequency component of interest in the underlying source signal. Analog to digital conversion 203 can involve defining a sampling window that defines the length of time segments for signals to be input into the ICA separation process. By way of example, a rolling sampling window can be used to generate a series of time segments to be converted into the time-frequency domain. The sampling window can be chosen according to various application specific requirements, as well as available resources, processing power, etc.
In order to perform frequency domain independent component analysis according to embodiments of the present invention, a Fourier-related transform 204, preferably STFT, can be performed on the time domain signals to convert them to time-frequency representations for processing by signal processing 200. STFT will load frequency bins 204 for each time segment and mixed signal on which frequency domain ICA will be performed. Loaded frequency bins can correspond to spectrogram representations of each time-frequency domain mixed signal for each time segment.
Although the STFT is referred to herein as an example of a Fourier-related transform, the term “Fourier-related transform” is not so limited. In general, the term “Fourier-related transform” refers to a linear transform of functions related to Fourier analysis. Such transformations map a function to a set of coefficients of basis functions, which are typically sinusoidal and are therefore strongly localized in the frequency spectrum. Examples of Fourier-related transforms applied to continuous arguments include the Laplace transform, the two-sided Laplace transform, the Mellin transform, Fourier transforms including Fourier series and sine and cosine transforms, the short-time Fourier transform (STFT), the fractional Fourier transform, the Hartley transform, the Chirplet transform and the Hankel transform. Examples of Fourier-related transforms applied to discrete arguments include the discrete Fourier transform (DFT), the discrete time Fourier transform (DTFT), the discrete sine transform (DST), the discrete cosine transform (DCT), regressive discrete Fourier series, discrete Chebyshev transforms, the generalized discrete Fourier transform (GDFT), the Z-transform, the modified discrete cosine transform, the discrete Hartley transform, the discretized STFT, and the Hadamard transform (or Walsh function). The transformation of time domain signal to spectrum domain representation can also been done by means of wavelet analysis or functional analysis that is applied to single dimension time domain speech signal, we will still call the transformation as Fourier-related transform for the simplicity of the patent.
In order to simplify the mathematical operations to be performed in frequency domain ICA, in embodiments of the present invention, signal processing 200 can include preprocessing 205 of the time frequency domain signal X(f,t), which can include well known preprocessing operations such as centering, whitening, etc. Preprocessing can include de-correlating the mixed signals by principal component analysis (PCA) prior to performing the source separation 206 to improve the separation performance.
Signal separation 206 by frequency domain ICA in conjunction with a direction constraint can be performed iteratively in conjunction with optimization 208. Source separation 206 involves setting up a de-mixing matrix operation W that produces maximally independent estimated source signals Y of original source signals S when the de-mixing matrix is applied to mixed signals X corresponding to those received by 202. Source separation 206 utilizes prior information 207 about the direction of a desired source signal with respect to a sensor array that detects the mixed signals. Furthermore, it is noted that source direction information 207 can include direction information for more than one source if the direction of more than one source is known. Accordingly, embodiments of the present invention can utilize a direction constraint for just one source or more than one source as described herein.
Source separation 206 incorporates optimization process 208 to iteratively update the de-mixing matrix involved in source separation 206 until the de-mixing matrix converges to a solution that produces maximally independent estimates of source signals. Source separation 206 in conjunction with optimization 208 can involve setting up a cost function that includes both a direction constraint for a desired source, derived from source direction information 207, and an ICA operation that utilizes a multivariate probability density function to model the relationship between frequency bins. Optimization 208 incorporates an optimization algorithm or learning rule that defines the iterative process until the de-mixing matrix converges to an acceptable solution. By way of example, signal separation 206 in conjunction with optimization 208 can use an expectation maximization algorithm (EM algorithm) to estimate the parameters of the component probability density functions in a mixed multivariate PDF.
In some implementations, the cost function may be defined using an estimation method, such as Maximum a Posteriori (MAP) or Maximum Likelihood (ML). The solution to the signal separation problem can them be found using a method, such as EM, a Gradient method, and the like. By way of example, and not by way of limitation, the cost function of independence may be defined using ML and optimized using EM.
Once estimates of source signals are produced by separation process (e.g. after the de-mixing matrix converges), rescaling and possibly additional single channel spectrum domain speech enhancement (post processing) 210 can be performed to produce accurate time-frequency representations of estimated source signals required due to simplifying pre-processing step 205.
In order to produce estimated sources signals y(t) in the time domain that directly correspond to the original time domain source signals s(t), signal processing 200 can further include performing an inverse Fourier transform 212 (e.g. inverse STFT) on the time-frequency domain estimated source signals Y(f,t) to produce time domain estimated source signals y(t). Estimated time domain source signals can be reproduced or utilized in various applications after digital to analog conversion 214. By way of example, estimated time domain source signals can be reproduced by speakers, headphones, etc. after digital to analog conversion, or can be stored digitally in a non-transitory computer readable medium for other uses. The Fourier transform process 212 and digital to analog conversion process are optional and need not be implemented, e.g., if the spectrum output of the rescaling 216 and optional single channel spectrum domain speech enhancement 210 is converted directly to a speech recognition feature.
Models
Signal processing 200 utilizing source separation 206 and optimization 208 by frequency domain ICA as described above can involve appropriate models for the arithmetic operations to be performed by a signal processing device according to embodiments of the present invention. In the following description, first models will be described that utilize multivariate PDFs in frequency domain ICA operations, wherein the multivariate PDFs are not mixed multivariate PDFs (referred to herein as “single multivariate PDF” or “singular multivariate PDF”). Models will then be described that utilize mixed multivariate PDFs that are mixtures of component multivariate PDFs. New models will then be described that perform ICA in conjunction with a direction constraint according to embodiments of the present invention, utilizing the multivariate PDFs described herein. While the models described herein are provided for complete and clear disclosure of embodiments of the present invention, it is noted that persons having ordinary skill in the art can conceive of various alterations of the following models without departing from the scope of the present invention.
Model Using Multivariate PDFs
A model for performing source separation 206 and optimization 208 using frequency domain ICA as shown in FIG. 2 will first be described according to approaches that utilize singular multivariate PDFs.
In order to perform frequency domain ICA, frequency domain data must be extracted from the time domain mixed signals, and this can be accomplished by performing a Fourier-related transform on the mixed signal data. For example, a short-time Fourier transform (STFT) can convert the time domain signals x(t) into time-frequency domain signals, such that,

Xm(f,t)=STFT(xm(t))  (4)

and for F number of frequency bins, the spectrum of the mth microphone will be,

Xm(t)=[xm(1,t) . . . Xm(F,t)]  (5)

For M number of microphones, the mixed signal data can be denoted by the vector X(t), such that,

X(t)=[X1(t) . . . XM(t)]T  (6)

In the expression above, each component of the vector corresponds to the spectrum of the mth microphone over all frequency bins 1 through F. Likewise, for the estimated source signals Y(t),

Ym(t)=[Ym(1,t) . . . Ym(F,t)]  (7)

Y(t)=[Y1(t) . . . YM(t)]T  (8)

Accordingly, the goal of ICA can be to set up a matrix operation that produces estimated source signals Y(t) from the mixed signals X(t), where W(t) is the de-mixing matrix. The matrix operation can be expressed as,

Y(t)=W(t)X(t)  (9)

Where W(t) can be set up to separate entire spectrograms, such that each element Wij(t) of the matrix W(t) is developed for all frequency bins as follows,




  
    
      
        
          
            W
            ij
          
          ⁡
          
            (
            t
            )
          
        
        =
        
          [
          
            
              
                
                  
                    W
                    ij
                  
                  ⁡
                  
                    (
                    
                      1
                      ,
                      t
                    
                    )
                  
                
              
              
                ...
              
              
                0
              
            
            
              
                ⋮
              
              
                ⋱
              
              
                ⋮
              
            
            
              
                0
              
              
                ...
              
              
                
                  
                    W
                    ij
                  
                  ⁡
                  
                    (
                    
                      F
                      ,
                      t
                    
                    )
                  
                
              
            
          
          ]
        
      
    
    
      
        (
        10
        )
      
    
  
  
    
      
        
          W
          ⁡
          
            (
            t
            )
          
        
        ⁢
        
          =
          Δ
        
        ⁢
        
          [
          
            
              
                
                  
                    W
                    11
                  
                  ⁡
                  
                    (
                    t
                    )
                  
                
              
              
                ...
              
              
                
                  
                    W
                    
                      1
                      ⁢
                      
                        
                      
                      ⁢
                      M
                    
                  
                  ⁡
                  
                    (
                    t
                    )
                  
                
              
            
            
              
                ⋮
              
              
                ⋱
              
              
                ⋮
              
            
            
              
                
                  
                    W
                    
                      M
                      ⁢
                      
                        
                      
                      ⁢
                      1
                    
                  
                  ⁡
                  
                    (
                    t
                    )
                  
                
              
              
                ...
              
              
                
                  
                    W
                    MM
                  
                  ⁡
                  
                    (
                    t
                    )
                  
                
              
            
          
          ]
        
      
    
    
      
        (
        11
        )
      
    
  




For now, it is assumed that there are the same number of sources as there are microphones (i.e. number of sources=M). Embodiments of the present invention can utilize ICA models for underdetermined cases, where the number of sources is greater than the number of microphones, but for now explanation is limited to the case where the number of sources is equal to the number of microphones for clarity and simplicity of explanation.
The de-mixing matrix W(t) can be solved by a looped process that involves providing an initial estimate for de-mixing matrix W(t) and iteratively updating the de-mixing matrix until it converges to a solution that provides maximally independent estimated source signals Y. The iterative optimization process involves an optimization algorithm or learning rule that defines the iteration to be performed until convergence (i.e. until the de-mixing matrix converges to a solution that produces maximally independent estimated source signals).
Optimization can involve a cost function and can be defined to minimize mutual information for the estimated sources. The cost function can utilize the Kullback-Leibler Divergence as a natural measure of independence between the sources, which measures the difference between the joint probability density function and the marginal probability density function for each source. Using spherical distribution as one kind of PDF, the PDF PYm (Ym(t)) of the spectrum of mth source can be,




  
    
      
        
          
            P
            
              Y
              m
            
          
          ⁡
          
            (
            
              
                Y
                m
              
              ⁡
              
                (
                t
                )
              
            
            )
          
        
        =
        
          h
          ·
          
            ψ
            ⁡
            
              (
              
                
                  
                  
                    
                      Y
                      m
                    
                    ⁡
                    
                      (
                      t
                      )
                    
                  
                  
                
                2
              
              )
            
          
        
      
    
    
      
        (
        12
        )
      
    
  
  
    
      
        
          
            
            
              
                Y
                m
              
              ⁡
              
                (
                t
                )
              
            
            
          
          2
        
        ⁢
        
          =
          Δ
        
        ⁢
        
          
            (
            
              
                ∑
                f
              
              ⁢
              
                
                  
                  
                    
                      Y
                      m
                    
                    ⁡
                    
                      (
                      
                        f
                        ,
                        t
                      
                      )
                    
                  
                  
                
                2
              
            
            )
          
          
            1
            /
            2
          
        
      
    
    
      
        (
        13
        )
      
    
  




Where ψ(x)=exp{−Ω|x|}, Ω is a proper constant and h is the normalization factor in the above expression. The final multivariate PDF for the mth source is thus,




  
    
      
        
          
            
              
                
                  P
                  
                    Y
                    m
                  
                
                ⁡
                
                  (
                  
                    
                      Y
                      m
                    
                    ⁡
                    
                      (
                      t
                      )
                    
                  
                  )
                
              
              =
              
              ⁢
              
                h
                ·
                
                  ψ
                  ⁡
                  
                    (
                    
                      
                        
                        
                          
                            Y
                            m
                          
                          ⁡
                          
                            (
                            t
                            )
                          
                        
                        
                      
                      2
                    
                    )
                  
                
              
            
          
        
        
          
            
              =
              
              ⁢
              
                h
                ⁢
                
                  
                
                ⁢
                exp
                ⁢
                
                  {
                  
                    
                      -
                      Ω
                    
                    ⁢
                    
                      
                    
                    ⁢
                    
                      
                        
                        
                          
                            Y
                            m
                          
                          ⁡
                          
                            (
                            t
                            )
                          
                        
                        
                      
                      2
                    
                  
                  }
                
              
            
          
        
        
          
            
              =
              
              ⁢
              
                h
                ⁢
                
                  
                
                ⁢
                exp
                ⁢
                
                  {
                  
                    -
                    
                      
                        Ω
                        (
                        
                          
                            ∑
                            f
                          
                          ⁢
                          
                            
                              
                              
                                
                                  Y
                                  m
                                
                                ⁡
                                
                                  (
                                  
                                    f
                                    ,
                                    t
                                  
                                  )
                                
                              
                              
                            
                            2
                          
                        
                        )
                      
                      
                        1
                        2
                      
                    
                  
                  }
                
              
            
          
        
      
    
    
      
        (
        14
        )
      
    
  




The cost function can be defined that utilizes the PDF mentioned in the above expression as follows,




  
    
      
        
          KLD
          ⁡
          
            (
            Y
            )
          
        
        ⁢
        
          =
          Δ
        
        ⁢
        
          
            
              ∑
              m
            
            ⁢
            
              -
              
                
                  E
                  t
                
                ⁡
                
                  (
                  
                    log
                    ⁡
                    
                      (
                      
                        
                          P
                          
                            Y
                            m
                          
                        
                        ⁡
                        
                          (
                          
                            
                              Y
                              m
                            
                            ⁡
                            
                              (
                              t
                              )
                            
                          
                          )
                        
                      
                      )
                    
                  
                  )
                
              
            
          
          -
          
            log
            ⁢
            
              
              
                det
                ⁡
                
                  (
                  W
                  )
                
              
              
            
          
          -
          
            H
            ⁡
            
              (
              X
              )
            
          
        
      
    
    
      
        (
        15
        )
      
    
  




Where  in the above expression is the mean expectation over frames and H is the entropy. The model described above addresses the permutation problem with the cost function that utilizes the multivariate PDF to model the relationship between frequency bins. Solving for the de-mixing matrix involves minimizing the cost function above, which will minimize mutual information to produce maximally independent estimated source signals.
Model Using Mixed Multivariate PDFs
Having modeled known approaches that utilize singular multivariate PDFs in frequency domain ICA, a model using mixed multivariate PDFs will be described.
A speech separation system can utilize independent component analysis involving mixed multivariate probability density functions that are mixtures of L component multivariate probability density functions having different parameters. It is noted that the separate source signals can be expected to have PDFs with the same general form (e.g. separate speech signals can be expected to have PDFs of super-Gaussian form), but the parameters from the different source signals can be expected to be different. Additionally, because the signal from a particular source will change over time, the parameters of the PDF for a signal from the same source can be expected to have different parameters at different time segments. Accordingly, mixed multivariate PDFs can be utilized that are mixtures of PDFs weighted for different sources and/or different time segments. Accordingly, embodiments of the present invention can utilize a mixed multivariate PDF that accounts for the different statistical properties of different source signals as well as the change of statistical properties of a signal over time.
As such, for a mixture of L different component multivariate PDFs, L can generally be understood to be the product of the number of time segments and the number of sources for which the mixed PDF is weighted (e.g. L=number of sources×number of time segments).
Embodiments of the present invention can utilize pre-trained eigenvectors to estimate of the de-mixing matrix. Where V(t) represents pre-trained eigenvectors and E(t) represents the eigenvalues, de-mixing can be represented by,

Y(t)=V(t)E(t)=W(t)X(t)  (21)

V(t) can be pre-trained eigenvectors of clean signals, e.g., speech, music, and known sounds in the case of input audio signals. In other words, V(t) can be pre-trained for the types of original sources to be separated. Optimization can be performed to find both E(t) and W(t). When it is chosen that V(t)≡I then estimated sources equal the eigenvalues such that Y(t)=E(t).

Optimization according to embodiments of the present invention can involve utilizing an expectation maximization algorithm (EM algorithm) to estimate the parameters of the mixed multivariate PDF for the ICA calculation.
According to embodiments of the present invention, the probability density function PYm,l(Ym,l(t)) is assumed to be a mixed multivariate PDF that is a mixture of multivariate component PDFs. Where the mixing system that uses singular multivariate PDFs is represented by X(f,t)=A(f)S(f,t), the mixing system for mixed multivariate PDFs becomes,




  
    
      
        
          X
          ⁡
          
            (
            
              f
              ,
              t
            
            )
          
        
        =
        
          
            ∑
            
              l
              =
              0
            
            L
          
          ⁢
          
            
              A
              ⁡
              
                (
                
                  f
                  ,
                  l
                
                )
              
            
            ⁢
            
              S
              ⁡
              
                (
                
                  f
                  ,
                  
                    t
                    -
                    l
                  
                
                )
              
            
          
        
      
    
    
      
        (
        22
        )
      
    
  




Likewise, where the de-mixing system for singular multivariate PDFs is represented by Y(f,t)=W(f)X(f,t) the de-mixing system for mixed multivariate PDFs becomes,

Y(f,t)=Σl=0LW(f,l)X(f,t−l)=Σl=0LYm,l(f,t)  (23)

Where A(f,l) is a time dependent mixing condition and can also represent a long reverberant mixing condition. Where spherical distribution is chosen for the PDF, the mixed multivariate PDF becomes,

PYm(Ym,l(t))ΣlLbl(t)PYm,l(Ym(t)),t∝[t1,t2]  (24)

PYm(Ym(t))=Σlbl(t)hlfl(∥Ym(t)∥2),t∝[t1,t2]  (25)

Where multivariate generalized Gaussian is chosen for the PDF, the mixed multivariate PDF becomes,

PYm,l(Ym,l(t))ΣlLbl(t)hlΣcρ(cl(m,t))ΠfNc(Ym(f,t)|0,vYm(f,t)f),t∝[t1,t2]  (26)

Where ρ(c) is the weight between different c-th component multivariate generalized Gaussian and bl(t) is the weight between different time segments. Nc(Ym(f,t)|0,vYm(f,t)f) can be pre-trained with offline data, and further trained with run-time data.
Note that a model for underdetermined cases (i.e. where the number of sources is greater than the number of microphones) can be derived from expressions (22) through (26) above and are within the scope of the present invention.
The ICA model used in embodiments of the present invention can utilize the cepstrum of each mixed signal, where Xm(f,t) can be the cepstrum of xm(t) plus the log value (or normal value) of pitch, as follows,

Xm(f,t)=STFT(log(∥xm(t)∥2)),f=1,2, . . . ,F−1  (27)

Xm(F,t) log(f0(t))  (28)

Xm(t)=[Xm(1,t) . . . XF-1(F−1,t)XF(F,t)]  (29)

It is noted that a cepstrum of a time domain speech signal may be defined as the Fourier transform of the log (with unwrapped phase) of the Fourier transform of the time domain signal. The cepstrum of a time domain signal S(t) may be represented mathematically as FT(log(FT(S(t)))+j2πq), where q is the integer required to properly unwrap the angle or imaginary part of the complex log function. Algorithmically, the cepstrum may be generated by performing a Fourier transform on a signal, taking a logarithm of the resulting transform, unwrapping the phase of the transform, and taking a Fourier transform of the transform. This sequence of operations may be expressed as: signal→FT→log→phase unwrapping→FT→cepstrum.
In order to produce estimated source signals in the time domain, after finding the solution for Y(t), pitch+cepstrum simply needs to be converted to a spectrum, and from a spectrum to the time domain in order to produce the estimated source signals in the time domain. The rest of the optimization remains the same as discussed above.
Different forms of PDFs can be chosen depending on various application specific requirements for the models used in source separation according to embodiments of the present invention. By way of example, the form of PDF chosen can be spherical. More specifically, the form can be super-Gaussian, Laplacian, or Gaussian, depending on various application specific requirements. It is noted that, where a mixed multivariate PDF is chosen, each mixed multivariate PDF is a mixture of component PDFs, and each component PDF in the mixture can have the same form but different parameters.
A mixed multivariate PDF may result in a probability density function having a plurality of modes corresponding to each component PDF as shown in FIGS. 3A-3B. In the singular PDF 302 in FIG. 3A, the probability density as a function of a given variable is uni-modal, i.e., a graph of the PDF 302 with respect to a given variable has only one peak. In the mixed PDF 304 the probability density as a function of a given variable is multi-modal, i.e., the graph of the mixed PDF 304 with respect to a given variable has more than one peak. It is noted that FIG. 3 is provided as a demonstration of the difference between a singular PDF 302 and a mixed PDF 304. Note, however, that the PDFs depicted in FIG. 3A are univariate PDFs and are merely provided to demonstrate the difference between a singular PDF and a mixed PDF. In mixed multivariate PDFs there would be more than one variable and the PDF would be multi-modal with respect to one or more of those variables. In other words, there would be more than one peak in a graph of the PDF with respect to at least one of the variables.
Referring to FIG. 3B, a spectrogram is depicted to demonstrating the difference between a singular multivariate PDF and a mixed multivariate PDF, and how a mixed multivariate PDF can be weighted for different time segments. Singular multivariate PDF corresponding to time segment 306 as shown by dotted line can correspond to PYm(Ym(t)) as described above. By contrast, mixed multivariate PDF corresponding to time frame 308 can cover a time frame that spans multiple different time segments, as shown by the dotted rectangle in FIG. 3B. A mixed multivariate PDF can correspond to PYm,l(Ym,l(t) as described above.
Model with Direction Constraint
Having described ICA techniques that use multivariate probability density functions to preserve the alignment of frequency bins in the estimated source signals, models that utilize prior direction information regarding a source by incorporating a direction constraint with the underlying ICA will now be described according to embodiments of the present invention. Performing independent component analysis with a direction constraint according to embodiments of the present invention can generally be understood to rely two assumptions regarding the direction of a desired source. First, prior information about the direction of a desired source signal is assumed, and this assumption provides phase information about the source signal as detected by different sensors in an array. Second, it is assumed that there is only a phase difference among the mixing filters that model the mixing process at each sensor for a source in a known direction. It is noted that although the following example deals with a case where the number of source signals and microphones is the same, embodiments of the present invention may be used for overdetermined cases (i.e., where there are more microphones than sources) or underdetermined cases (i.e., where there are more sources than microphones) as well. The assumption that the number of sources and microphones is equal simplifies the explanation. Embodiments of the invention work effectively for the given assumptions.
First, the problem will be set up assuming the same number of sources as microphones, such that the number of source signals S, microphone signals X, and estimated signals Y that correspond to original source signals all equal M.

S(f,t)=[S1(f,t) . . . SM(f,t)]T  (30)

X(f,t)=[X1(f,t) . . . XM(f,t)]T  (31)

Y(f,t)=[Y1(f,t)]T  (32)

Accordingly, the mixing filters can be represented by the following matrix,




  
    
      
        
          W
          ⁡
          
            (
            f
            )
          
        
        =
        
          [
          
            
              
                
                  
                    W
                    11
                  
                  ⁡
                  
                    (
                    f
                    )
                  
                
              
              
                ...
              
              
                
                  
                    W
                    
                      1
                      ⁢
                      
                        
                      
                      ⁢
                      M
                    
                  
                  ⁡
                  
                    (
                    f
                    )
                  
                
              
            
            
              
                ⋮
              
              
                ⋱
              
              
                ⋮
              
            
            
              
                
                  
                    W
                    
                      M
                      ⁢
                      
                        
                      
                      ⁢
                      1
                    
                  
                  ⁡
                  
                    (
                    f
                    )
                  
                
              
              
                ...
              
              
                
                  
                    W
                    MM
                  
                  ⁡
                  
                    (
                    f
                    )
                  
                
              
            
          
          ]
        
      
    
    
      
        (
        33
        )
      
    
  




And the de-mixing filters by the matrix,




  
    
      
        
          A
          ⁡
          
            (
            f
            )
          
        
        =
        
          [
          
            
              
                
                  
                    A
                    11
                  
                  ⁡
                  
                    (
                    f
                    )
                  
                
              
              
                ...
              
              
                
                  
                    A
                    
                      1
                      ⁢
                      
                        
                      
                      ⁢
                      M
                    
                  
                  ⁡
                  
                    (
                    f
                    )
                  
                
              
            
            
              
                ⋮
              
              
                ⋱
              
              
                ⋮
              
            
            
              
                
                  
                    A
                    
                      M
                      ⁢
                      
                        
                      
                      ⁢
                      1
                    
                  
                  ⁡
                  
                    (
                    f
                    )
                  
                
              
              
                ...
              
              
                
                  
                    A
                    MM
                  
                  ⁡
                  
                    (
                    f
                    )
                  
                
              
            
          
          ]
        
      
    
    
      
        (
        34
        )
      
    
  




Such that the mixing model is represented by,




  
    
      
        
          
            
              
                X
                ⁡
                
                  (
                  
                    f
                    ,
                    t
                  
                  )
                
              
              =
              
              ⁢
              
                
                  
                    A
                    ⁡
                    
                      (
                      f
                      )
                    
                  
                  ⁢
                  
                    S
                    ⁡
                    
                      (
                      
                        f
                        ,
                        t
                      
                      )
                    
                  
                
                ←
                
                  →
                  
                    [
                    
                      
                        
                          
                            
                              X
                              1
                            
                            ⁡
                            
                              (
                              
                                f
                                ,
                                t
                              
                              )
                            
                          
                        
                      
                      
                        
                          ⋮
                        
                      
                      
                        
                          
                            
                              X
                              M
                            
                            ⁡
                            
                              (
                              
                                f
                                ,
                                t
                              
                              )
                            
                          
                        
                      
                    
                    ]
                  
                
              
            
          
        
        
          
            
              =
              
              ⁢
              
                
                  [
                  
                    
                      
                        
                          
                            A
                            11
                          
                          ⁡
                          
                            (
                            f
                            )
                          
                        
                      
                      
                        ...
                      
                      
                        
                          
                            A
                            
                              1
                              ⁢
                              
                                
                              
                              ⁢
                              M
                            
                          
                          ⁡
                          
                            (
                            f
                            )
                          
                        
                      
                    
                    
                      
                        ⋮
                      
                      
                        ⋱
                      
                      
                        ⋮
                      
                    
                    
                      
                        
                          
                            A
                            
                              M
                              ⁢
                              
                                
                              
                              ⁢
                              1
                            
                          
                          ⁡
                          
                            (
                            f
                            )
                          
                        
                      
                      
                        ...
                      
                      
                        
                          
                            A
                            MM
                          
                          ⁡
                          
                            (
                            f
                            )
                          
                        
                      
                    
                  
                  ]
                
                ⁡
                
                  [
                  
                    
                      
                        
                          
                            S
                            1
                          
                          ⁡
                          
                            (
                            
                              f
                              ,
                              t
                            
                            )
                          
                        
                      
                    
                    
                      
                        ⋮
                      
                    
                    
                      
                        
                          
                            S
                            M
                          
                          ⁡
                          
                            (
                            
                              f
                              ,
                              t
                            
                            )
                          
                        
                      
                    
                  
                  ]
                
              
            
          
        
      
    
    
      
        (
        35
        )
      
    
  




As such, each mixed signal X, is modeled as a linear mixture of the source signals S as follows,

Xi(f,t)=Σj=1MAij(f)Sj(f,t)  (36)

Likewise, the de-mixing model can be represented as,




  
    
      
        
          
            
              
                Y
                ⁡
                
                  (
                  
                    f
                    ,
                    t
                  
                  )
                
              
              =
              
              ⁢
              
                
                  
                    W
                    ⁡
                    
                      (
                      f
                      )
                    
                  
                  ⁢
                  
                    X
                    ⁡
                    
                      (
                      
                        f
                        ,
                        t
                      
                      )
                    
                  
                
                ←
                
                  →
                  
                    [
                    
                      
                        
                          
                            
                              Y
                              1
                            
                            ⁡
                            
                              (
                              
                                f
                                ,
                                t
                              
                              )
                            
                          
                        
                      
                      
                        
                          ⋮
                        
                      
                      
                        
                          
                            
                              Y
                              M
                            
                            ⁡
                            
                              (
                              
                                f
                                ,
                                t
                              
                              )
                            
                          
                        
                      
                    
                    ]
                  
                
              
            
          
        
        
          
            
              =
              
              ⁢
              
                
                  [
                  
                    
                      
                        
                          
                            W
                            11
                          
                          ⁡
                          
                            (
                            f
                            )
                          
                        
                      
                      
                        ...
                      
                      
                        
                          
                            W
                            
                              1
                              ⁢
                              
                                
                              
                              ⁢
                              M
                            
                          
                          ⁡
                          
                            (
                            f
                            )
                          
                        
                      
                    
                    
                      
                        ⋮
                      
                      
                        ⋱
                      
                      
                        ⋮
                      
                    
                    
                      
                        
                          
                            W
                            
                              M
                              ⁢
                              
                                
                              
                              ⁢
                              1
                            
                          
                          ⁡
                          
                            (
                            f
                            )
                          
                        
                      
                      
                        ...
                      
                      
                        
                          
                            W
                            MM
                          
                          ⁡
                          
                            (
                            f
                            )
                          
                        
                      
                    
                  
                  ]
                
                ⁡
                
                  [
                  
                    
                      
                        
                          
                            X
                            1
                          
                          ⁡
                          
                            (
                            
                              f
                              ,
                              t
                            
                            )
                          
                        
                      
                    
                    
                      
                        ⋮
                      
                    
                    
                      
                        
                          
                            X
                            M
                          
                          ⁡
                          
                            (
                            
                              f
                              ,
                              t
                            
                            )
                          
                        
                      
                    
                  
                  ]
                
              
            
          
        
      
    
    
      
        (
        37
        )
      
    
  




Accordingly, the output signals Y that are estimates of the original source signal S can be modeled by the matrix operation applying mixing and de-mixing to the source signals as follows,

Y(f,t)=W(f)A(f)S(f,t)  (38)

Finally, the desired output corresponding to the desired source signal at a known direction can be set up using expression (36) as follows,




  
    
      
        
          
            Y
            d
          
          ⁡
          
            (
            
              f
              ,
              t
            
            )
          
        
        =
        
          
            
              ∑
              
                j
                =
                1
              
              M
            
            ⁢
            
              
                
                  W
                  dj
                
                ⁡
                
                  (
                  f
                  )
                
              
              ⁢
              
                
                  X
                  j
                
                ⁡
                
                  (
                  
                    f
                    ,
                    j
                  
                  )
                
              
            
          
          +
          
            
              ∑
              
                k
                ≠
                d
              
            
            ⁢
            
              
                ∑
                
                  k
                  =
                  1
                
                M
              
              ⁢
              
                
                  
                    W
                    ik
                  
                  ⁡
                  
                    (
                    f
                    )
                  
                
                ⁢
                
                  
                    X
                    k
                  
                  ⁡
                  
                    (
                    
                      f
                      ,
                      t
                    
                    )
                  
                
              
            
          
        
      
    
    
      
        (
        39
        )
      
    
  




Given the assumption of source direction information, phase information τjd at each sensor j can be described by the following equation,




  
    
      
        
          τ
          jd
        
        =
        
          
            
              (
              
                
                  dist
                  jd
                
                -
                
                  dist
                  
                    1
                    ⁢
                    
                      
                    
                    ⁢
                    d
                  
                
              
              )
            
            c
          
          ⁢
          Fs
        
      
    
    
      
        (
        40
        )
      
    
  




Where d is the index of the desired source, dist1d is the distance from desired source to the 1st sensor, c is the signal speed from source to sensor (e.g., the speed of sound in the case of microphones) and Fs is the sampling frequency. Assuming there is only a phase difference between the mixing filters gives,

Ajd(f)=exp(−j2πτjd)A1d(f)  (41)

For the source located at a known direction, the index of the corresponding output is denoted as d. Accordingly, using expression (39) above, the estimated signal corresponding to the source signal of d can incorporation the source direction information as follows,




  
    
      
        
          
            
              
                
                  Y
                  d
                
                ⁡
                
                  (
                  
                    f
                    ,
                    t
                  
                  )
                
              
              =
              
              ⁢
              
                
                  
                    (
                    
                      
                        ∑
                        
                          j
                          =
                          1
                        
                        M
                      
                      ⁢
                      
                        
                          
                            W
                            dj
                          
                          ⁡
                          
                            (
                            f
                            )
                          
                        
                        ⁢
                        
                          
                            A
                            jd
                          
                          ⁡
                          
                            (
                            f
                            )
                          
                        
                      
                    
                    )
                  
                  ⁢
                  
                    
                      S
                      d
                    
                    ⁡
                    
                      (
                      
                        f
                        ,
                        t
                      
                      )
                    
                  
                
                +
              
            
          
        
        
          
            
              
              ⁢
              
                
                  ∑
                  
                    k
                    ≠
                    d
                  
                
                ⁢
                
                  
                    (
                    
                      
                        ∑
                        
                          j
                          =
                          1
                        
                        M
                      
                      ⁢
                      
                        
                          
                            W
                            kj
                          
                          ⁡
                          
                            (
                            f
                            )
                          
                        
                        ⁢
                        
                          
                            A
                            jk
                          
                          ⁡
                          
                            (
                            f
                            )
                          
                        
                      
                    
                    )
                  
                  ⁢
                  
                    
                      S
                      k
                    
                    ⁡
                    
                      (
                      
                        f
                        ,
                        t
                      
                      )
                    
                  
                
              
            
          
        
        
          
            
              =
              
              ⁢
              
                
                  
                    (
                    
                      
                        ∑
                        
                          j
                          =
                          1
                        
                        M
                      
                      ⁢
                      
                        
                          
                            W
                            dj
                          
                          ⁡
                          
                            (
                            f
                            )
                          
                        
                        ⁢
                        
                          exp
                          ⁡
                          
                            (
                            
                              
                                -
                                j
                              
                              ⁢
                              
                                
                              
                              ⁢
                              2
                              ⁢
                              
                                
                              
                              ⁢
                              π
                              ⁢
                              
                                
                              
                              ⁢
                              
                                τ
                                jd
                              
                            
                            )
                          
                        
                      
                    
                    )
                  
                  ⁢
                  
                    
                      A
                      
                        1
                        ⁢
                        
                          
                        
                        ⁢
                        d
                      
                    
                    ⁡
                    
                      (
                      f
                      )
                    
                  
                  ⁢
                  
                    
                      S
                      d
                    
                    ⁡
                    
                      (
                      
                        f
                        ,
                        t
                      
                      )
                    
                  
                
                +
              
            
          
        
        
          
            
              
              ⁢
              
                
                  ∑
                  
                    k
                    ≠
                    d
                  
                
                ⁢
                
                  
                    (
                    
                      
                        ∑
                        
                          j
                          =
                          1
                        
                        M
                      
                      ⁢
                      
                        
                          
                            W
                            kj
                          
                          ⁡
                          
                            (
                            f
                            )
                          
                        
                        ⁢
                        
                          
                            A
                            jk
                          
                          ⁡
                          
                            (
                            f
                            )
                          
                        
                      
                    
                    )
                  
                  ⁢
                  
                    
                      S
                      k
                    
                    ⁡
                    
                      (
                      
                        f
                        ,
                        t
                      
                      )
                    
                  
                
              
            
          
        
      
    
    
      
        (
        42
        )
      
    
  




The cost function for the direction constraint becomes,

JD(Wd)=(Σj=1MWdj(f)exp(−j2πτjd))A1d(f)Σj=1MWdj(f)exp(−j2πτjd)  (43)

Note that A1d(f) is not related with W and therefore becomes zero for the derivative with respect to W. The final cost function Jnew(W) is a combination of an ICA cost function as described earlier, and a cost function for the direction constraint, such that,

Jnew(W)=KLD(Y)+λJD(Wd)  (44)

Where λ is a constant and KLD(Y) can correspond to the previously described cost functions that use multivariate PDFs to define the relationship between frequency bins. The multivariate PDFs used in the cost function can be singular multivariate PDFs or mixed multivariate PDFs as described above.
The detail solution by combining mixing and demixing may be explained as follows.
By combining equation (35) and (37), we will have the following equation




  
    
      
        
          [
          
            
              
                
                  
                    Y
                    1
                  
                  ⁡
                  
                    (
                    
                      f
                      ,
                      t
                    
                    )
                  
                
              
            
            
              
                ⋮
              
            
            
              
                
                  
                    Y
                    M
                  
                  ⁡
                  
                    (
                    
                      f
                      ,
                      t
                    
                    )
                  
                
              
            
          
          ]
        
        =
        
           
          
            
              
                [
                
                  
                    
                      
                        
                          W
                          11
                        
                        ⁡
                        
                          (
                          f
                          )
                        
                      
                    
                    
                      ...
                    
                    
                      
                        
                          W
                          
                            1
                            ⁢
                            
                              
                            
                            ⁢
                            M
                          
                        
                        ⁡
                        
                          (
                          f
                          )
                        
                      
                    
                  
                  
                    
                      ⋮
                    
                    
                      ⋱
                    
                    
                      ⋮
                    
                  
                  
                    
                      
                        
                          W
                          
                            M
                            ⁢
                            
                              
                            
                            ⁢
                            1
                          
                        
                        ⁡
                        
                          (
                          f
                          )
                        
                      
                    
                    
                      ...
                    
                    
                      
                        
                          W
                          MM
                        
                        ⁡
                        
                          (
                          f
                          )
                        
                      
                    
                  
                
                ]
              
              ⁡
              
                [
                
                  
                    
                      
                        
                          A
                          11
                        
                        ⁡
                        
                          (
                          f
                          )
                        
                      
                    
                    
                      ...
                    
                    
                      
                        
                          A
                          
                            1
                            ⁢
                            
                              
                            
                            ⁢
                            M
                          
                        
                        ⁡
                        
                          (
                          f
                          )
                        
                      
                    
                  
                  
                    
                      ⋮
                    
                    
                      ⋱
                    
                    
                      ⋮
                    
                  
                  
                    
                      
                        
                          A
                          
                            M
                            ⁢
                            
                              
                            
                            ⁢
                            1
                          
                        
                        ⁡
                        
                          (
                          f
                          )
                        
                      
                    
                    
                      ...
                    
                    
                      
                        
                          A
                          MM
                        
                        ⁡
                        
                          (
                          f
                          )
                        
                      
                    
                  
                
                ]
              
            
            ⁡
            
              [
              
                
                  
                    
                      
                        S
                        1
                      
                      ⁡
                      
                        (
                        
                          f
                          ,
                          t
                        
                        )
                      
                    
                  
                
                
                  
                    ⋮
                  
                
                
                  
                    
                      
                        S
                        M
                      
                      ⁡
                      
                        (
                        
                          f
                          ,
                          t
                        
                        )
                      
                    
                  
                
              
              ]
            
          
        
      
    
    
      
        (
        45
        )
      
    
  




After reformulating the above expression into a quadratic equation, one obtains the following equations, which can separate Yd(f,t) into expressions for the desired source and other sources.




  
    
      
        
          
            Y
            d
          
          ⁡
          
            (
            
              f
              ,
              t
            
            )
          
        
        =
        
          
            
              (
              
                
                  ∑
                  
                    j
                    =
                    1
                  
                  M
                
                ⁢
                
                  
                    
                      W
                      dj
                    
                    ⁡
                    
                      (
                      f
                      )
                    
                  
                  ⁢
                  
                    
                      A
                      jd
                    
                    ⁡
                    
                      (
                      f
                      )
                    
                  
                
              
              )
            
            ⁢
            
              
                S
                d
              
              ⁡
              
                (
                
                  f
                  ,
                  t
                
                )
              
            
          
          +
          
            
              ∑
              
                k
                ≠
                d
              
            
            ⁢
            
              
                (
                
                  
                    ∑
                    
                      j
                      =
                      1
                    
                    M
                  
                  ⁢
                  
                    
                      
                        W
                        kj
                      
                      ⁡
                      
                        (
                        f
                        )
                      
                    
                    ⁢
                    
                      
                        A
                        jk
                      
                      ⁡
                      
                        (
                        f
                        )
                      
                    
                  
                
                )
              
              ⁢
              
                
                  S
                  k
                
                ⁡
                
                  (
                  
                    f
                    ,
                    t
                  
                  )
                
              
            
          
        
      
    
    
      
        (
        46
        )
      
    
  




Ideally, if the following condition is matched,




  
    
      ∑
      
        k
        ≠
        d
      
    
    ⁢
    
      (
      
        
          ∑
          
            j
            =
            1
          
          M
        
        ⁢
        
          
            
              W
              kj
            
            ⁡
            
              (
              f
              )
            
          
          ⁢
          
            
              A
              jk
            
            ⁡
            
              (
              f
              )
            
          
        
      
      )
    
  
  =
  0




one can obtain the desired source Yd(f,t)=C(f)Sd(f,t), where

C(f)=(Σj=1MWdj(f)Ajd(f))  (47)

In the viewpoint of ideal solution of ICA, ICA finds the solution that makes the output of different source become zero. In other words, ICA finds the solution up to the reverberant signal that is represented by the components, C (f) in each frequency bin.
In C(f), both Wdj(f) and Ajd(f) make the reverberant components
The detailed solution using the direction constraint may be explained as follows

    a) Using the assumption used for equation (40), we can get the following equations for the desired output.

Yd(f,t)=(Σj=1MWdj(f)exp(−j2πτjd))A1d(f)Sd(f,t)+Σk≠d(Σj=1MWkj(f)Ajk(f))Sk(f,t)

C(f)=(Σj=1MWdj(f)Ajd(f))=(Σj=1MWdj(f)exp(−j2πτjd))A1d(f)  (48)



Even though one can't obtain at output, Yd (f,t)=Sd(f,t), one can find the solution, Yd(f,t)=A1d(f)Sd(f,t) without (Σj=1MWdj(f)exp(−j2πτjd)) in C(f) if we minimize the effect of (Σj=1MWdj(f)exp(−j2πτjd)).

    b) Cost function


To minimize the effect of (Σj=1MWdj(f)exp(−j2πτjd)) depending on different frequency bins, one can exploit the spectral flatness of Wdj(f).
At first, we define the new variable Wd(f) as follows,

Wd(f)Σj=1MWdj(f)exp(−j2πτjd)  (49)

The cost function for the directional constraint JD(Wd(f)) is chosen to make the demixing filters have a flat spectral response using given direction information, which may be expressed as follows,

JD(Wd(f))=SF(|Wd(f)|)  (50)

In equation (50), the operation |.| is the absolute value operation for a complex variable. The operation SF(.) can be any function for measuring the spectral flatness. By way of example, and not by way of limitation, one can use the logarithm of the variance function as the operation SF(.), e.g., as shown in equation (51) below.




  
    
      
        
          
            
              
                
                  J
                  D
                
                ⁡
                
                  (
                  
                    
                      W
                      d
                    
                    ⁡
                    
                      (
                      f
                      )
                    
                  
                  )
                
              
              =
              
              ⁢
              
                SF
                ⁡
                
                  (
                  
                    
                    
                      
                        W
                        d
                      
                      ⁡
                      
                        (
                        f
                        )
                      
                    
                    
                  
                  )
                
              
            
          
        
        
          
            
              =
              
              ⁢
              
                log
                ⁡
                
                  (
                  
                    var
                    ⁡
                    
                      (
                      
                        
                        
                          
                            W
                            d
                          
                          ⁡
                          
                            (
                            f
                            )
                          
                        
                        
                      
                      )
                    
                  
                  )
                
              
            
          
        
        
          
            
              =
              
              ⁢
              
                log
                (
                
                  
                    1
                    F
                  
                  ⁢
                  
                    
                      ∑
                      
                        f
                        =
                        1
                      
                      F
                    
                    ⁢
                    
                      
                        
                        
                          
                            W
                            d
                          
                          ⁡
                          
                            (
                            f
                            )
                          
                        
                        
                      
                      2
                    
                  
                
                )
              
            
          
        
      
    
    
      
        (
        51
        )
      
    
  




The detail solution of the final learning rule may be implemented as follows.
By using the cost function defined in equation (44), one may calculate the gradient of the cost function as follows:




  
    
      
        
          
            ∂
            
              
                J
                D
              
              ⁡
              
                (
                
                  
                    W
                    d
                  
                  ⁡
                  
                    (
                    f
                    )
                  
                
                )
              
            
          
          
            ∂
            
              
                W
                dj
              
              ⁡
              
                (
                f
                )
              
            
          
        
        =
        
          
            (
            
              
                1
                
                  var
                  ⁡
                  
                    (
                    
                      
                      
                        
                          W
                          d
                        
                        ⁡
                        
                          (
                          f
                          )
                        
                      
                      
                    
                    )
                  
                
              
              ⁢
              
                (
                
                  
                    
                      1
                      F
                    
                    ⁢
                    
                      
                        W
                        d
                      
                      ⁡
                      
                        (
                        f
                        )
                      
                    
                  
                  -
                  
                    
                      1
                      F
                    
                    ⁢
                    
                      
                        
                          W
                          d
                        
                        ⁡
                        
                          (
                          f
                          )
                        
                      
                      
                        
                        
                          
                            W
                            d
                          
                          ⁡
                          
                            (
                            f
                            )
                          
                        
                        
                      
                    
                    ⁢
                    
                      
                        ∑
                        
                          f
                          =
                          1
                        
                        F
                      
                      ⁢
                      
                        
                        
                          
                            W
                            d
                          
                          ⁡
                          
                            (
                            f
                            )
                          
                        
                        
                      
                    
                  
                
                )
              
            
            )
          
          ⁢
          
            exp
            (
            
              
                -
                j
              
              ⁢
              
                
              
              ⁢
              2
              ⁢
              
                
              
              ⁢
              π
              ⁢
              
                
              
              ⁢
              
                τ
                jd
              
            
            )
          
        
      
    
    
      
        (
        52
        )
      
    
  




The final gradient based learning rule will be the following,




  
    
      
        
          
            
              For
              ⁢
              
                
              
              ⁢
              i
            
            ≠
            d
          
          ,
          
            

          
          ⁢
          
            
              
                W
                ij
              
              ⁡
              
                (
                f
                )
              
            
            =
            
              
                
                  W
                  ij
                
                ⁡
                
                  (
                  f
                  )
                
              
              +
              
                η
                ⁡
                
                  (
                  
                    
                      ∂
                      
                        KLD
                        ⁡
                        
                          (
                          Y
                          )
                        
                      
                    
                    
                      ∂
                      
                        
                          W
                          ij
                        
                        ⁡
                        
                          (
                          f
                          )
                        
                      
                    
                  
                  )
                
              
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            
              For
              ⁢
              
                
              
              ⁢
              i
            
            =
            d
          
          ,
          
            

          
          ⁢
          
            
              
                W
                dj
              
              ⁡
              
                (
                f
                )
              
            
            =
            
              
                
                  W
                  dj
                
                ⁡
                
                  (
                  f
                  )
                
              
              +
              
                η
                ⁡
                
                  (
                  
                    
                      
                        ∂
                        
                          KLD
                          ⁡
                          
                            (
                            Y
                            )
                          
                        
                      
                      
                        ∂
                        
                          
                            W
                            dj
                          
                          ⁡
                          
                            (
                            f
                            )
                          
                        
                      
                    
                    +
                    
                      λ
                      ⁢
                      
                        
                          ∂
                          
                            
                              J
                              D
                            
                            ⁡
                            
                              (
                              
                                
                                  W
                                  d
                                
                                ⁡
                                
                                  (
                                  f
                                  )
                                
                              
                              )
                            
                          
                        
                        
                          ∂
                          
                            
                              W
                              dj
                            
                            ⁡
                            
                              (
                              f
                              )
                            
                          
                        
                      
                    
                  
                  )
                
              
            
          
        
      
    
    
      
        (
        53
        )
      
    
  




where η is the learning rate.

After finishing source separation, source selection may be implemented to select a desired source from among M outputs. The direction constraint can be used to select the desired source having the largest cost function for the directional constraint JD(Wd(f)):

JD(Wd(f))=SF(|Wd(f)|)  (54)

A closed form solution of W with pre-trained Eigen-vectors may be implemented as follows.

    
    
        Y(t)=V(t)E(t)=W(t)X(t), where V(t) can be pre-trained eigen-vectors of clean speech, music, and noises. E(t) is the eigen-values.→
    
    






  
    
      
        {
        
          
            
              
                
                  
                    
                      
                        V
                        ⁡
                        
                          (
                          t
                          )
                        
                      
                      ⁢
                      
                        É
                        ⁡
                        
                          (
                          t
                          )
                        
                      
                    
                    =
                    
                      
                        Y
                        ⁡
                        
                          (
                          t
                          )
                        
                      
                      =
                      
                        
                          
                            W
                            ′
                          
                          ⁡
                          
                            (
                            t
                            )
                          
                        
                        ⁢
                        
                          X
                          ⁡
                          
                            (
                            t
                            )
                          
                        
                      
                    
                  
                  ,
                  
                    t
                    =
                    
                      
                        [
                        
                          
                            t
                            1
                          
                          ,
                          
                            t
                            2
                          
                        
                        ]
                      
                      ->
                      
                        data
                        ⁢
                        
                          
                        
                        ⁢
                        set
                        ⁢
                        
                          
                        
                        ⁢
                        1
                      
                    
                  
                
              
            
            
              
                
                  
                    
                      
                        V
                        ⁡
                        
                          (
                          t
                          )
                        
                      
                      ⁢
                      
                        E
                        ⁡
                        
                          (
                          t
                          )
                        
                      
                    
                    =
                    
                      
                        Y
                        ⁡
                        
                          (
                          t
                          )
                        
                      
                      =
                      
                        
                          W
                          ⁡
                          
                            (
                            t
                            )
                          
                        
                        ⁢
                        
                          X
                          ⁡
                          
                            (
                            t
                            )
                          
                        
                      
                    
                  
                  ,
                  
                    t
                    =
                    
                      
                        [
                        
                          
                            t
                            1
                          
                          ,
                          
                            t
                            2
                          
                        
                        ]
                      
                      ->
                      
                        data
                        ⁢
                        
                          
                        
                        ⁢
                        set
                        ⁢
                        
                          
                        
                        ⁢
                        2
                      
                    
                  
                
              
            
          
          ⁢
          
            

          
          ⁢
          
            V
            ⁡
            
              (
              t
              )
            
          
          ⁢
          
            
          
          ⁢
          is
          ⁢
          
            
          
          ⁢
          pre
          ⁢
          
            -
          
          ⁢
          trained
        
      
    
    
      
        (
        55
        )
      
    
  




The dimension of can be E(t) or É(t) is smaller than X(t).
The optimization is to find {V(t),E(t),W(t)}. Data set 1 is of training data or calibration data. Data set 2 is of testing data or real time data. When one choose s (t)≡I, then Y(t)=E(t), the formula falls back into normal case of single equation. When data set 1 is of mono-channel clean training data, Y(t) is known, {acute over (W)}(t)=I, X(t)=Y(t). The optimal solution V(t) is the Eigen vectors of Y(t).
For equation (55), the task is to find the best {E(t),W(t)} for a given set of mixed input data X(t), and known Eigen vectors V(t). That is to solve the following equation:

V(t)E(t)=W(t)X(t)

If V(t) is a square matrix,

E(t)=V(t)−1W(t)X(t)

If V(t) is not a square matrix,

E(t)=(V(t)TV(t))−1V(t)TW(t)X(t)

or

E(t)=V(t)T(V(t)TV(t))−1W(t)X(t)  (56)

PEm,l (Em,l(t)) is assumed to be a mixture of multivariate PDF for microphone ‘m’ and PDF mix mixture component ‘l’. The new demixing system becomes:

E(f,t)=V−1(f,t)W(f)X(f,t)

E(f,t)=Σl=0L(f,t)W(f,l)X(f,t−1)=Σl=0LEm,l(f,t)  (57)

Rescaling Process (FIG. 2, 216)

The rescaling process indicated at 216 of FIG. 2 adjusts the scaling matrix D, which is described in equation (3), among the frequency bins of the spectrograms. Furthermore, rescaling process 216 cancels the effect of the pre-processing.
By way of example, and not by way of limitation, the rescaling process indicated at 216 in may be implemented using any of the techniques described in U.S. Pat. No. 7,797,153 (which is incorporated herein by reference) at col. 18, line 31 to col. 19, line 67, which are briefly discussed below.
According to a first technique each of the estimated source signals Yk(f,t) may be re-scaled by producing a signal having the single Input Multiple Output from the estimated source signals Yk(f,t) (whose scales are not uniform). This type of re-scaling may be accomplished by operating on the estimated source signals with an inverse of a product of the de-mixing matrix W(f) and a pre-processing matrix Q(f) to produce scaled outputs Xyk(f,t) given by:




  
    
      
        
          
            X
            yk
          
          ⁡
          
            (
            
              f
              ,
              t
            
            )
          
        
        =
        
          
            
              (
              
                
                  W
                  ⁡
                  
                    (
                    f
                    )
                  
                
                ⁢
                
                  Q
                  ⁡
                  
                    (
                    f
                    )
                  
                
              
              )
            
            
              -
              1
            
          
          ⁡
          
            [
            
              
                
                  0
                
              
              
                
                  ⋮
                
              
              
                
                  
                    
                      Y
                      k
                    
                    ⁡
                    
                      (
                      
                        f
                        ,
                        t
                      
                      )
                    
                  
                
              
              
                
                  ⋮
                
              
              
                
                  0
                
              
            
            ]
          
        
      
    
    
      
        (
        58
        )
      
    
  




where Xyk(f,t) represents a signal at yth output from the kth source. Q(f) represents the pre-processing matrix, which may be implemented as part of the pre-processing indicated at 205 of FIG. 2. The pre-processing matrix Q(f) may be configured to make mixed input signals X(f,t) have zero mean and unit variance at each frequency bin.

Q(f) can be any function to give the decorrelated output. By way of example, and not by way of limitation, one can use a process, e.g., as shown in equations below.
One can calculate the pre-processing matrix Q(f) as follows

R(f)=E(X(f,t)X(f,t)H)  (59)

R(f)qn(f)=λn(f)qn(f)  (60)

where qn(f) are the eigen vectors and λn(f) are the eigen values.

Q′(f)=[q1(f) . . . qN(f)]  (61)

Q(f)=diag(λ1(f)−1/2, . . . ,λN(f)−1/2)Q′(f)H  (62)

In a second re-scaling technique, based on the minimum distortion principle, the de-mixing matrix W(f) may be recalculated according to:

W(f)←diag(W(f)Q(f)−1)W(f)Q(f)  (63)

In equation (63), Q(f) again represents the pre-processing matrix used to pre-process the input signals X(f,t) at 205 of FIG. 2 such that they have zero mean and unit variance at each frequency bin. Q(f)−1 represents the inverse of the pre-processing matrix Q(f). The recalculated de-mixing matrix W(f) may then be applied to the original input signals X(f,t) to produce re-scaled estimated source signals Yk(f,t).
A third technique utilizes independency of an estimated source signal Yk(f,t) and a residual signal. A re-scaled estimated source signal may be obtained by multiplying the source signal Yk(f,t) by a suitable scaling coefficient αk(f) for the kth source and fth frequency bin. The residual signal is the difference between the original mixed signal Xk(ft) and the re-scaled source signal. If αk(f) has the correct value, the factor Yk(f,t) disappears completely from the residual and the product αk(f)·Yk(f,t) represents the original observed signal. The scaling coefficient may be obtained by solving the following equation:

E[f(Xk(f,t)−αk(f)Yk(f,t) g(Yk(f,t))]−E[f(Xk(f,t)−αk(f)Yk(f,t)]E[ g(Yk(f,t))]  (64)

In equation (64), the functions f(.) and g(.) are arbitrary scalar functions. The overlying line represents a conjugate complex operation and E[ ] represents computation of the expectation value of the expression inside the square brackets.
Signal Processing Device Description
In order to perform source separation according to embodiments of the present invention as described above, a signal processing device may be configured to perform the arithmetic operations required to implement embodiments of the present invention. The signal processing device can be any of a wide variety of communications devices. For example, a signal processing device according to embodiments of the present invention can be a computer, personal computer, laptop, handheld electronic device, cell phone, videogame console, etc.
Referring to FIG. 4, an example of a signal processing device 400 capable of performing source separation according to embodiments of the present invention is depicted. The apparatus 400 may include a processor 401 and a memory 402 (e.g., RAM, DRAM, ROM, and the like). In addition, the signal processing apparatus 400 may have multiple processors 401 if parallel processing is to be implemented. Furthermore, signal processing apparatus 400 may utilize a multi-core processor, for example a dual-core processor, quad-core processor, or other multi-core processor. The memory 402 includes data and code configured to perform source separation as described above. Specifically, the memory 402 may include signal data 406 which may include a digital representation of the input signals x (after analog to digital conversion as shown in FIG. 2 above), and code for implementing source separation using mixed multivariate PDFs as described above to estimate source signals contained in the digital representations of mixed signals x.
The apparatus 400 may also include well-known support functions 410, such as input/output (I/O) elements 411, power supplies (P/S) 412, a clock (CLK) 413 and cache 414. The apparatus 400 may include a mass storage device 415 such as a disk drive, CD-ROM drive, tape drive, or the like to store programs and/or data. The apparatus 400 may also include a display unit 416 and user interface unit 418 to facilitate interaction between the apparatus 400 and a user. The display unit 416 may be in the form of a cathode ray tube (CRT) or flat panel screen that displays text, numerals, graphical symbols or images. The user interface 418 may include a keyboard, mouse, joystick, light pen or other device. In addition, the user interface 418 may include a microphone, video camera or other signal transducing device to provide for direct capture of a signal to be analyzed. The processor 401, memory 402 and other components of the system 400 may exchange signals (e.g., code instructions and data) with each other via a system bus 420 as shown in FIG. 4.
A microphone array 422 may be coupled to the apparatus 400 through the I/O functions 411. The microphone array may include 2 or more microphones. The microphone array may preferably include at least as many microphones as there are original sources to be separated; however, microphone array may include fewer or more microphones than the number of sources for underdetermined and overdetermined cases as noted above. Each microphone the microphone array 422 may include an acoustic transducer that converts acoustic signals into electrical signals. The apparatus 400 may be configured to convert analog electrical signals from the microphones into the digital signal data 406.
The apparatus 400 may include a network interface 424 to facilitate communication via an electronic communications network 426. The network interface 424 may be configured to implement wired or wireless communication over local area networks and wide area networks such as the Internet. The apparatus 400 may send and receive data and/or requests for files via one or more message packets 427 over the network 426. The microphone array 422 may also be connected to a peripheral such as a game controller instead of being directly coupled via the I/O elements 411. The peripherals may send the array data by wired or wired less method to the processor 401. The array processing can also be done in the peripherals and send the processed clean speech or speech feature to the processor 401.
It is further noted that in some implementations, one or more sound sources 419 may be coupled to the apparatus 400, e.g., via the I/O elements or a peripheral, such as a game controller. In addition, one or more image capture devices 420 may be coupled to the apparatus 400, e.g., via the I/O elements or a peripheral such as a game controller.
As used herein, the term I/O generally refers to any program, operation or device that transfers data to or from the system 400 and to or from a peripheral device. Every data transfer may be regarded as an output from one device and an input into another. Peripheral devices include input-only devices, such as keyboards and mouses, output-only devices, such as printers as well as devices such as a writable CD-ROM that can act as both an input and an output device. The term “peripheral device” includes external devices, such as a mouse, keyboard, printer, monitor, microphone, game controller, camera, external Zip drive or scanner as well as internal devices, such as a CD-ROM drive, CD-R drive or internal modem or other peripheral such as a flash memory reader/writer, hard drive. By way of example, and not by way of limitation, some of the initial parameters of the microphone array 422, calibration data, and the partial parameters of the multivariate PDF and mixing and de-mixing data can be saved on the mass storage device 415, on CD-ROM, or downloaded from a remove server over the network 426.
The processor 401 may perform digital signal processing on signal data 406 as described above in response to the data 406 and program code instructions of a program 404 stored and retrieved by the memory 402 and executed by the processor module 401. Code portions of the program 404 may conform to any one of a number of different programming languages such as Assembly, C++, JAVA or a number of other languages. The processor module 401 forms a general-purpose computer that becomes a specific purpose computer when executing programs such as the program code 404. Although the program code 404 is described herein as being implemented in software and executed upon a general purpose computer, those skilled in the art may realize that the method of task management could alternatively be implemented using hardware such as an application specific integrated circuit (ASIC) or other hardware circuitry. As such, embodiments of the invention may be implemented, in whole or in part, in software, hardware or some combination of both.
An embodiment of the present invention may include program code 404 having a set of processor readable instructions that implement source separation methods as described above. The program code 404 may generally include instructions that direct the processor to perform source separation on a plurality of time domain mixed signals, where the mixed signals include mixtures of original source signals to be extracted by the source separation methods described herein. The instructions may direct the signal processing device 400 to perform a Fourier-related transform (e.g. STFT) on a plurality of time domain mixed signals to generate time-frequency domain mixed signals corresponding to the time domain mixed signals and thereby load frequency bins. The instructions may direct the signal processing device to perform independent component analysis as described above on the time-frequency domain mixed signals to generate estimated source signals corresponding to the original source signals. The independent component analysis may utilize singular probability density functions, or mixed multivariate probability density functions that are weighted mixtures of component probability density functions of frequency bins corresponding to different source signals and/or different time segments. The independent component analysis will be performed with a direction constraint based on prior information regarding the direction of a desired source signal with respect to a sensor array.
It is noted that the methods of source separation described herein generally apply to estimating multiple source signals from mixed signals that are received by a signal processing device. It may be, however, that in a particular application the only source signal of interest is a single source signal, such as a single speech signal mixed with other source signals that are noises. By way of example, a source signal estimated by audio signal processing embodiments of the present invention may be a speech signal, a music signal, or noise. As such, embodiments of the present invention can utilize ICA as described above in order to estimate at least one source signal from a mixture of a plurality of original source signals.
Embodiments of the present invention are particularly advantageous in that by incorporating prior information about the source direction into frequency domain ICA a desired source can be selected after finishing source separation, reverberation effects at separated sources may be reduced, and convergence speed may be increased. Although the detailed description herein contains many specific details for the purposes of illustration, anyone of ordinary skill in the art will appreciate that many variations and alterations to the details described herein are within the scope of the invention. Accordingly, the exemplary embodiments of the invention described herein are set forth without any loss of generality to, and without imposing limitations upon, the claimed invention.
While the above is a complete description of the preferred embodiments of the present invention, it is possible to use various alternatives, modifications and equivalents. Therefore, the scope of the present invention should be determined not with reference to the above description but should, instead, be determined with reference to the appended claims, along with their full scope of equivalents. Any feature described herein, whether preferred or not, may be combined with any other feature described herein, whether preferred or not. In the claims that follow, the indefinite article “a”, or “an” when used in claims containing an open-ended transitional phrase, such as “comprising,” refers to a quantity of one or more of the item following the article, except where expressly stated otherwise. Furthermore, the later use of the word “said” or “the” to refer back to the same claim term does not change this meaning, but simply re-invokes that non-singular meaning. The appended claims are not to be interpreted as including means-plus-function limitations or step-plus-function limitations, unless such a limitation is explicitly recited in a given claim using the phrase “means for” or “step for.”

## Claims

1. A method of processing signals with a signal processing device, comprising:
receiving a plurality of time domain mixed signals in a signal processing device, each time domain mixed signal including a mixture of original source signals;
performing a Fourier-related transform on each time domain mixed signal with the signal processing device to generate time-frequency domain mixed signals corresponding to the time domain mixed signals; and
performing independent component analysis on the time-frequency domain mixed signals to generate at least one estimated source signal corresponding to at least one of the original source signals,
wherein the independent component analysis is performed in conjunction with a direction constraint based on a known direction of an original source signal with respect to a sensor array that detected the time domain mixed signals,
wherein performing the independent component analysis includes use of a cost function that includes both a function corresponding to unconstrained independent component analysis and a function corresponding to the direction constraint, wherein the direction constraint is chosen to make demixing filters of a demixing matrix have a flat spectral response, and
wherein the independent component analysis uses a multivariate probability density function to preserve the alignment of frequency bins in the at least one estimated source signal.

2. The method of claim 1, wherein the mixed signals are audio signals.

3. The method of claim 1, wherein the mixed signals include at least one speech source signal, and the at least one estimated source signal corresponds to said at least one speech signal.

4. The method of claim 1, wherein the multivariate probability density function is a mixed multivariate probability density function that is a weighted mixture of component multivariate probability density functions of frequency bins corresponding to different source signals and/or different time segments.

5. The method of claim 1, wherein the multivariate probability density function is a mixed multivariate probability density function that is a weighted mixture of component multivariate probability density functions of frequency bins corresponding to different source signals and/or different time segments, wherein said performing independent component analysis comprises utilizing an expectation maximization algorithm to estimate the parameters of the component multivariate probability density functions.

6. The method of claim 1, wherein the direction constraint is based on a phase difference among mixing filters, each mixing filter modeling a mixing process of the original source signals at each sensor in the sensor array.

7. The method of claim 1, wherein said performing a Fourier-related transform comprises performing a short time Fourier transform (STFT) over a plurality of discrete time segments.

8. The method of claim 1, wherein said performing independent component analysis includes utilizing pre-trained eigenvectors of clean signals in an estimation of the parameters of the component probability density function.

9. The method of claim 1, wherein said performing independent component analysis further comprises utilizing pre-trained eigenvectors of music and noise.

10. The method of claim 1, wherein said performing independent component analysis further comprises training eigenvectors with run-time data.

11. The method of claim 1, further comprising converting the mixed signals into digital form with an analog to digital converter before said performing a Fourier-related transform.

12. The method of claim 1, further comprising performing an inverse STFT on the at least one estimated time-frequency domain source signal to produce at least one estimated time domain source signal corresponding to an original time domain source signal.

13. The method of claim 1, wherein the multivariate probability density function includes a spherical distribution.

14. The method of claim 1, wherein the multivariate probability density function includes a Laplacian distribution.

15. The method of claim 1, wherein the multivariate probability density function includes a super-Gaussian distribution.

16. The method of claim 1, wherein the multivariate probability density function includes a multivariate generalized Gaussian distribution.

17. The method of claim 1, wherein the multivariate probability density function is a mixed multivariate probability density function, wherein said mixed multivariate probability density function is a weighted mixture of component probability density functions of frequency bins corresponding to different sources.

18. The method of claim 1, wherein the multivariate probability density function is a mixed multivariate probability density function, wherein said mixed multivariate probability density function is a weighted mixture of component probability density functions of frequency bins corresponding to different time segments.

19. The method of claim 1, wherein the sensor array is a microphone array, and the method further comprises observing the time domain mixed signals with the microphone array before receiving the time domain mixed signals in a signal processing device.

20. A signal processing device comprising:
a processor;
a memory; and
computer coded instructions embodied in the memory and executable by the processor, wherein the instructions are configured to implement a method of signal processing comprising:
receiving a plurality of time domain mixed signals, each time domain mixed signal including a mixture of original source signals;
performing a Fourier-related transform on each time domain mixed signal to generate time-frequency domain mixed signals corresponding to the time domain mixed signals; and
performing independent component analysis on the time-frequency domain mixed signals to generate at least one estimated source signal corresponding to at least one of the original source signals,
wherein the independent component analysis is performed in conjunction with a direction constraint based on a known direction, with respect to a sensor array that detected the time domain mixed, of an original source signal signals,
wherein performing the independent component analysis includes use of a cost function that includes both a function corresponding to unconstrained independent component analysis and a function corresponding to the direction constraint, wherein the direction constraint is chosen to make demixing filters of a demixing matrix have a flat spectral response, and
wherein the independent component analysis uses a multivariate probability density function to preserve the alignment of frequency bins in the at least one estimated source signal.

21. The device of claim 20, further comprising the sensor array.

22. The device of claim 20, wherein the sensor array is a microphone array.

23. The device of claim 20, wherein the mixed signals include at least one speech source signal, and the at least one estimated source signal corresponds to said at least one speech signal.

24. The device of claim 20, wherein the multivariate probability density function is a mixed multivariate probability density function that is a weighted mixture of component multivariate probability density functions of frequency bins corresponding to different source signals and/or different time segments.

25. The device of claim 20, wherein the direction constraint is based on a phase difference among mixing filters, each mixing filter modeling a mixing process of the original source signals at each sensor in the sensor array.

26. The device of claim 20, wherein said performing a Fourier-related transform comprises performing a short time Fourier transform (STFT) over a plurality of discrete time segments.

27. The device of claim 20, wherein the multivariate probability density function is a mixed multivariate probability density function that is a weighted mixture of component multivariate probability density functions of frequency bins corresponding to different source signals and/or different time segments, wherein said performing independent component analysis comprises utilizing an expectation maximization algorithm to estimate the parameters of the component multivariate probability density functions.

28. The device of claim 20, wherein the multivariate probability density function is a mixed multivariate probability density function that is a weighted mixture of component multivariate probability density functions of frequency bins corresponding to different source signals and/or different time segments, wherein said performing independent component analysis comprises utilizing pre-trained eigenvectors of a clean signal in an estimation of the parameters of the component probability density functions.

29. The device of claim 28, wherein said performing independent component analysis further comprises utilizing pre-trained eigenvectors of music and noise.

30. The device of claim 28, wherein said performing independent component analysis further comprises training eigenvectors with run-time data.

31. The device of claim 20, further comprising an analog to digital converter, wherein said method of signal processing further comprises converting the mixed signals into digital form with the analog to digital converter before said performing a Fourier-related transform.

32. The device of claim 20, the method further comprising performing an inverse STFT on the estimated time-frequency domain source signals to produce estimated time domain source signals corresponding to original time domain source signals.

33. The device of claim 20, wherein the multivariate probability density function includes a spherical distribution.

34. The device of claim 33, wherein the multivariate probability density function includes a Laplacian distribution.

35. The device of claim 33, wherein the multivariate probability density function includes a super-Gaussian distribution.

36. The device of claim 20, wherein the multivariate probability density function includes a multivariate generalized Gaussian distribution.

37. The device of claim 20, wherein said mixed multivariate probability density function is a weighted mixture of component probability density functions of frequency bins corresponding to different sources.

38. The device of claim 20, wherein said mixed multivariate probability density function is a weighted mixture of component probability density functions of frequency bins corresponding to different time segments.

39. A computer program product comprising a non-transitory computer-readable medium having computer-readable program code embodied in the medium, the program code operable to perform signal processing operations comprising:
receiving a plurality of time domain mixed signals, each time domain mixed signal including a mixture of original source signals;
performing a Fourier-related transform on each time domain mixed signal to generate time-frequency domain mixed signals corresponding to the time domain mixed signals; and performing independent component analysis on the time-frequency domain mixed signals to generate at least one estimated source signal corresponding to at least one of the original source signals,
wherein the independent component analysis is performed in conjunction with a direction constraint based on a known direction, with respect to a sensor array that detected the time domain mixed signals, of an original source signal,
wherein performing the independent component analysis includes use of a cost function that includes both a function corresponding to unconstrained independent component analysis and a function corresponding to the direction constraint, wherein the direction constraint is chosen to make demixing filters of a demixing matrix have a flat spectral response, and
wherein the independent component analysis uses a multivariate probability density function to preserve the alignment of frequency bins in the at least one estimated source signal.