Abstract:
In environments (such as acoustic and bioelectrical environments) characterized by multiple simultaneous sources, effective blind source separation from sensor response mixtures becomes difficult as the number of sources increases—especially when the true number of sources is both unknown and changing over time. However, in some environments, non-sensor information can provide useful hypotheses for some sources. Embodiments of the present invention provide an adaptive filtering architecture for validating such source hypotheses, extracting an estimated representation of source signals corresponding to valid hypotheses, and improving the separation of the remaining “hidden” source signals from the sensor response mixtures.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application claims priority from U.S. Provisional Patent Application Ser. No. 61/666,696, filed on Jun. 29, 2012, entitled, “Signal Source Separation,” which is hereby incorporated by reference herein. 
     
    
     STATEMENT AS TO FEDERALLY SPONSORED RESEARCH 
       [0002]    This invention was made with Government support under NIH Grants R43DC006379, R43DC011668, and R43DC011475. The Government may have certain rights in the invention. 
     
    
     BACKGROUND 
       [0003]    In many signal processing scenarios, multiple signal sources are simultaneously present, and any sensor placed in the vicinity of these sources will respond to a mixture of the active sources, rather than any single individual source. In such scenarios, the signal processing environment is the space, whether physical or virtual, in which the sources and sensors are placed, and through which signals propagate. Thus for instance, in the case of acoustic sources, the environment might be a room, and the sensors might be microphones placed in the room. The sources might be speakers (either humans or loudspeakers), telephones, etc. 
         [0004]    For example, referring to  FIG. 3A , an example is shown of a system  300  that includes a plurality of sources  302   a - c  and a plurality of sensors  306   a - c.  Although the system  300  is shown as including four sources  302   a - c  and three sensors  306   a - c,  the particular numbers of sources and sensors shown in  FIG. 3A  is merely an example and does not constitute a limitation of the present invention, which may be used in connection with any number of sources and any number of sensors, and any number of mixture components. The number of sources need not, in general, be equal to the number of sensors. 
         [0005]    The sources  302   a - c  emit corresponding signals  304   a - c.  More specifically, source  302   a  emits signal  304   a,  source  302   b  emits signal  304   b,  and source  302   c  emits signal  304   c.  Although in  FIG. 3A  each of the sources  302   a - c  is shown as emitting exactly one signal, this is merely an example and does not constitute a limitation of the present invention, which may be used in connection with sources that that emit any number of signals. 
         [0006]    In  FIG. 3A , each of the sensors  306   a - c  receives a mixture of two or more of the signals  304   a - c.  In practice, any particular sensor may receive zero, one, two, or more signals. In the particular example of  FIG. 3A , sensor  306   a  receives a mixture of signals  304   a  and  304   b;  sensor  306   b  receives a mixture of signals  304   b  and  304   c;  and sensor  306   c  receives solely signal  304   b.    
         [0007]    A signal source that contributes a mixture component with a statistically significant amount of energy to at least one sensor is called a contributing source. A source may be non-contributing either because it is inactive (not emitting a signal with any significant amount of energy) or because its location in the environment, the signal propagation properties of the environment, and/or the location of the sensors in the environment combine to shield all sensors from its contribution. Additional factors that typically determine whether a particular source is contributing or not include the spectral content of the source signal, the transfer function of the environment, and the frequency response of the sensors. 
         [0008]    The sensors  306   a - c  produce corresponding outputs  308   a  representing their input mixtures. These outputs are also called “responses” or “response signals.” For example, sensor  306   a  produces output  308   a  representing the mixture of signals  304   a  and  304   b  received by sensor  306   a;  sensor  306   b  produces output  308   b  representing the mixture of signals  304   b  and  304   c  received by sensor  306   b;  and sensor  306   c  produces output  308   c  representing the signal  304   b  received by sensor  306   c.    
         [0009]    Although not specifically illustrated in  FIG. 3A , the contribution that a particular signal makes to the mixture received by the sources  306   a - c  may vary from source to source. For example, although in  FIG. 3A  both sensors  306   a  and  306   b  are shown as receiving signal  304   b,  properties of the signal  304   b  may in practice differ at sensor  306   a  and  306   b,  such as due to distances in distance traveled or other factors that dampen or otherwise modify the signal  304   b  on its way to sensors  306   a  and  306   b.  In many systems, there is a linear relationship between a source signal and the corresponding mixture component in the response of a particular sensor. This linear relationship can be described using a so-called “transfer function” that describes the propagation characteristics between the source and the sensor. 
         [0010]    In many cases it would be advantageous to determine, or estimate, what each of the individual source signals  304   a - c  is. Techniques of processing sensor signals (which are mixtures) to separate sources from each other, are referred to as “Blind Source Separation” (BSS) algorithms. Here, the word “Blind” means that the only information available to the source separation system about the sources are the sensor responses—all of which are, in general, linear weighted mixtures of multiple sources. In other words, no “hidden” information about the sources themselves is available to the source separation system. The field of BSS processing is an active field of research—see, for instance, Aichner, et al (R. Aichner, H. Buchner, F. Yan, and W. Kellerman, “A real-time blind source separation scheme and its application to reverberant and noisy acoustic environments”, Signal Processing, vol. 86, pp. 1260-1277, 2007.) for a detailed description of a BSS algorithm. 
         [0011]    As applied to  FIG. 3A , for example, BSS may be used in an attempt to process the outputs  308   a - c  of sensors  306   a - c,  respectively, to identify the source signals  304   a - c.  For example, the system  300  of  FIG. 3A  includes a blind source separation module  310  which receives the signals  308   a - c  output by the sensors  306   a - c  and generates, based solely on those sensor outputs  308   a - c,  source identification outputs  312   a - c  which are intended to identify the source signals  304   a - c  that caused the sensors  306   a - c  to produce the outputs  308   a - c.  For example, the blind source separation module  310  may be used to process outputs  308   a,    308   b,  and  308   c  (e.g., simultaneously) to produce outputs  312   a - c,  where output  312   a  is intended to estimate source signal  304   a;  output  312   b  is intended to estimate source signal  304   b;  and output  312   c  is intended to estimate source signal  304   c.    
       SUMMARY 
       [0012]    In environments (such as acoustic and bioelectrical environments) characterized by multiple simultaneous sources, effective blind source separation from sensor response mixtures becomes difficult as the number of sources increases—especially when the true number of sources is both unknown and changing over time. However, in some environments, non-sensor information can provide useful hypotheses for some sources. Embodiments of the present invention provide an adaptive filtering architecture for validating such source hypotheses, extracting an estimated representation of source signals corresponding to valid hypotheses, and improving the separation of the remaining “hidden” source signals from the sensor response mixtures. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0013]      FIG. 1  shows an adaptive filtering representation of removing a source from a mixture of sources according to one embodiment of the present invention; 
           [0014]      FIG. 2  is a diagram illustrating a process involving performing a SCRUB operation twice and then performing a BSS operation, and then repeating the process indefinitely according to one embodiment of the present invention; 
           [0015]      FIG. 3A  is a diagram illustrating a prior art Blind Source Separation (BSS) system; and 
           [0016]      FIG. 3B  is a diagram illustrating a Blind Source Separation (BSS) system according to one embodiment of the present invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0017]    Embodiments of the present invention involve a modification to Blind Source Separation that is referred to herein as Only Mostly Blind Source Separation (OMBSS). For example, referring to  FIG. 3B , an OMBSS system  350  implemented according to one embodiment of the present invention is shown. The OMBSS system  350  includes the sources  302   a - c  and signals  304   a - c,  but also includes an additional source  302   d,  which emits signal  304   d.  As in the system  300  of  FIG. 3A , in the system  350  of  FIG. 3B  the sensor  306   a  receives a mixture of signals  304   a  and  304   b.  In the system  350  of  FIG. 3B , the sensor  306   b  receives a mixture of signals  304   b,    304   c,  and  304   d;  and sensor  306   c  receives a mixture of signals  304   b  and  304   d.  The OMBSS system  350  of  FIG. 3B , like the BSS system  300  of  FIG. 3A , includes sensors  306   a - c.  As the example in  FIG. 3B  illustrates, the number of sources  302   a - d  may be greater than the number of sensors  306   a - c  in embodiments of the present invention. 
         [0018]    The OMBSS system  350  explicitly models the environmental transfer functions as filters  380   a - g,  each of which receives one of the source signals  304   a - d  as an input and produces a filtered source signal as an output. (Although the BSS system  300  of  FIG. 3A  also explicitly models the environmental transfer functions as filters, such filters are omitted from  FIG. 3A  for ease of illustration.) In particular, for each source A that contributes a source signal received by a sensor B, a corresponding transfer function filter h A,B  filters the signal from source A to produce the potentially delayed and filtered signal that is received by sensor B. Any two or more such filters may differ from each other (i.e., they may apply different filtering functions to their inputs). In particular, in the example of  FIG. 3B :
       Filter  380   a  filters source signal  304   a  to produce filtered source signal  324   a,  which is received as an input by sensor  306   a.      Filter  380   b  filters source signal  304   b  to produce filtered source signal  324   b,  which is received as an input by sensor  306   a.      Filter  380   c  filters source signal  304   b  to produce filtered source signal  324   c,  which is received as an input by sensor  306   b.      Filter  380   d  filters source signal  304   b  to produce filtered source signal  324   d,  which is received as an input by sensor  306   c.      Filter  380   e  filters source signal  304   c  to produce filtered source signal  324   e,  which is received as an input by sensor  306   b.      Filter  380   f  filters source signal  304   d  to produce filtered source signal  324   f,  which is received as an input by sensor  306   b.      Filter  380   g  filters source signal  304   d  to produce filtered source signal  324   g,  which is received as an input by sensor  306   c.          
 
         [0026]    Therefore, any reference herein to one of the sensors  306   a - c  receiving one of the signals  304   a - d  should be understood to refer to that sensor receiving a filtered version of the specified signal. For example, any reference herein to sensor  306   a  receiving signal  304   a  should be understood to refer to sensor  306   a  receiving filtered signal  324   a,  which is a filtered signal resulting from using filter  380   a  to filter signal  304   a.  As the example of  FIG. 3B  illustrates, any two sensors which receive the “same” one of the signals  304   a - d  in fact receive different filtered versions of that signal. For example, although it may be said that both sensors  306   a  and  306   b  receive signal  304   b,  in fact sensor  306   a  receives filtered signal  380   b  and sensor  306   b  receives filtered signal  380   c,  both of which are filtered versions of the same signal  304   b.  Similarly, any reference herein to a “mixture of signals” received from two or more sources should be understood to refer to a mixture of filtered signals received from such sources. For example, any reference herein to sensor  306   a  receiving a mixture of signals  304   a  and  304   b  should be understood to refer to sensor  306   a  receiving a mixture of filtered source signals  324   a  and  324   b.    
         [0027]    The OMBSS system  350  includes an OMBSS module  360  that performs the functions performed by the BSS module  310  of  FIG. 3A , along with additional functions described below. In general, OMBSS leverages the fact that sometimes there is in fact additional information available to a source separation system (such as system  350 ) about the sources (such as sources  302   a - c ). For example, one or more signals might be available to the OMBSS module  360 , each of which is similar to a single one of the sources  302   a - c.  We call such a signal a source hypothesis signal. In general, a source hypothesis signal is hypothesized to be coherent with one of the sources  302   a - c.  In particular, each source hypothesis signal is hypothesized to have unit coherence with exactly one of the sources  302   a - c,  and zero coherence with all other sources. 
         [0028]    The value of the coherence function between two signals ranges between 1.0 and 0.0, inclusive. de Sa, A. M. F. L. M., “A note on the sampling distribution of coherence estimate for the detection of periodic signals,”  Signal Processing Letters, IEEE,  vol. 11, no. 3, pp. 323,325, March 2004. In theory, two signals that are mutually incoherent will have a coherence function value of zero, while two signals that are perfectly coherent will have a coherence function value of one. In practice, because of the presence of noise (in the system instruments, electronics, computers, etc.) the actual coherence values may vary somewhat. Appropriate statistical tests can be used to determine whether a calculated coherence value differs significantly from zero or one, and whether two calculated coherence values differ significantly from each other. We will use the term “incoherent” to describe two signals whose coherence value does not differ significantly from zero, and may also describe such signals as having “zero coherence.” We will use the phrases “perfectly coherent” or “having unit coherence” to describe two signals whose coherence value does not differ significantly from one. Except where indicated otherwise, the term “coherent” applied to two signals means that those signals have a coherence function value significantly greater than zero. Except where clearly indicated otherwise, the term “significant” means “statistically significant.” 
         [0029]    A source hypothesis is said to be “associated with” the source with which it is hypothesized to be coherent. For example, in  FIG. 3B , a source hypothesis signal  362   a,  which is associated with source  302   a,  is available as an input to the OMBSS module  360 . Similarly, a source hypothesis signal  362   b,  which associated with source  302   b,  is available as an input to the OMBSS module  360 . Furthermore, a source hypothesis signal  362   c,  which is not associated with any of the sources  302   a - c  in the system  350 , is available to the OMBSS module  360 . Solely for purposes of example, no source hypothesis signal associated with source  302   c  or  302   d  is available to the OMBSS module  360 . The particular set of source hypotheses available to the OMBSS module  360  in  FIG. 3B  is merely an example and does not constitute a limitation of the present invention. 
         [0030]    Alternatively, the available additional information about a source might be descriptive information other than a signal that is coherent with the source signal itself. For example, if the source signal were a pure tone, the descriptive information associated with that source might be the frequency of the pure tone. Or, if the source signal were a musical composition, the associated descriptive information might be the name of the composition, or the musical score for the composition. We call such information about a source a source hypothesis description. 
         [0031]    In the OMBSS model, a source hypothesis signal can be generated from a source hypothesis description via an appropriate source hypothesis generator. For example, the OMBSS system  350  of  FIG. 3B  may include a source hypothesis generator  354 , which may receive a source hypothesis description  352  as an input, and generate, based on the source hypothesis description  352 , the source hypothesis signals  362   a - c.  There are many different types of source hypothesis generators, which are, in general, matched with the characteristics of the source hypothesis descriptions they can process to generate a source hypothesis signal. For example, a tone generator is a source hypothesis generator that accepts a frequency value as an input source hypothesis description, and outputs a pure tone with the specified frequency as a source hypothesis signal. A speech synthesizer is a source hypothesis generator that accepts as input a source hypothesis description comprising an orthographic or phonetic description of speech, and which generates as output a source hypothesis signal that takes the form of a corresponding speech signal. 
         [0032]    The source hypothesis generator  354 , however, is not a required component of the system  350 . The source hypothesis generator  354  may, for example, be omitted from the system  350 , in which case the source hypothesis signals  362   a - c  may be available for use despite not having been generated from any identifiable source hypothesis generator from an explicit source hypothesis description. As a result, the OMBSS module  360  may receive one or more of the source hypothesis signals  362   a - c  from some source other than the source hypothesis generator  354 . For example, the source hypothesis generator  354  may be included in the system  350 , but need not be the source of all source hypothesis signals received by the OMBSS module  360 . For example, the OMBSS module  360  may receive as inputs a plurality of source hypothesis signals, some of which were generated by the source hypothesis generator  354 , and some of which were not generated by any source hypothesis generator. In general, all, some, or none of the source hypothesis signals received as inputs by the OMBSS module  360  may be generated by the source hypothesis generator  354 . Similarly, all, some, or none of the source hypothesis signals received by the OMBSS module  360  may not be generated by any source hypothesis generator. 
         [0033]    A source hypothesis description may itself comprise a signal. For instance, if a source is hypothesized to be a poor quality loudspeaker playing music broadcast by an FM classical music station, an associated source hypothesis description might comprise a high-quality version of the FM broadcast signal, accompanied by a linear filter model of the loudspeaker. In this case, an appropriate source hypothesis generator would be a linear filter (perhaps implemented in software) that could model the loudspeaker and be used to filter the FM broadcast signal to generate an appropriately low-fidelity output signal. This output signal would be the source hypothesis signal for the loudspeaker. 
         [0034]    Furthermore, although only a single source hypothesis signal  362   a  is shown for source  302   a,  this is merely an example and does not constitute a limitation of the present invention. From time to time, multiple source hypotheses may be available to the OMBSS module  360  for any particular source, and source hypotheses may be available for a signal source, multiple sources, all sources, or none of the sources. Furthermore, a single source hypothesis description may generate more than one source hypothesis signal, which may be alternative hypotheses for a single source, or simultaneous hypotheses for multiple sources. 
         [0035]    A single source hypothesis signal may usefully be compared with a sensor response signal: unlike a sensor response signal, a source hypothesis signal is “pure,” in that it is, by hypothesis, coherent with only one source. A source hypothesis signal never represents a mixture of source signals. For example, the OMBSS module  360  may compare the source hypothesis signal  362   a  to one or more of the sensor outputs  308   a,    308   b,  and  308   c  individually. Similarly, the OMBSS module  360  may compare the source hypothesis signal  362   b  to one or more of the sensor outputs  308   a,    308   b,  and  308   c  individually. 
         [0036]    Unlike a sensor response signal, a source hypothesis signal is not necessarily valid. The source with which it is associated may not actually be active in the environment, or might not be a contributing source. As a result, the source with which the source hypothesis signal is associated may not actually be contributing to any sensor response in the system  350 . For example, in the system  350  of  FIG. 3B , source hypothesis signal  362   c  is associated with a hypothetical source that does not, in fact, contribute any energy to any of the sensor responses in the system  350 . As a result, the source with which source hypothesis signal  362   c  is associated does not produce a signal that is received by any of the sensors  306   a - c  in the system, and therefore does not contribute to any of the sensor outputs  308   a - c.    
         [0037]    A valid source hypothesis signal is a source hypothesis signal that is in fact significantly coherent with at least one of the sensor responses in the system  350 . An invalid source hypothesis signal is a source hypothesis signal whose coherence with all of the sensor responses in the system  350  is insignificantly different from zero. By extension, source hypotheses and source hypothesis descriptions are valid (invalid) when their corresponding source hypothesis signals are valid (invalid). 
         [0038]    In summary, source hypotheses (e.g., source hypotheses  362   a - c ) are pure, but possibly invalid, and even when they are valid, in practice source hypotheses are only significantly coherent with their associated source—they are, in general, not equal either to the source signal itself, or the source&#39;s mixture component in any sensor response. Sensor responses (e.g., sensor responses  308   a - c ), on the other hand, are always valid, but are generally impure—they are mixtures of components contributed by multiple incoherent sources. 
         [0039]    Embodiments of the present invention use source hypotheses (e.g., source hypotheses  362   a - c ) to improve source separation. As a result, in practice embodiments of the present invention may produce better results (i.e., better estimated sources  372   a - b ) than BSS. Put another way, in cases where information associated with source signals are available, that information can be used in conjunction with BSS processing to generate a better estimate of the hidden sources than is available from sensor mixtures alone. Here, “better” generally means source estimations that are of higher fidelity and are more completely separated from other sources. 
         [0040]    Another advantage of OMBSS processing is that it may reduce the number of components in one or more response mixtures, which typically improves the quality of the final result and/or reduces the amount of input data and processing time required to converge on a final estimate. Yet another advantage of OMBSS processing is that it may eliminate one or more hidden sources completely—that is, convert them from “hidden” to “known”. Often, if the number of hidden sources in a particular signal scenario can be reduced, the amount of input data and processing time required for the BSS algorithm to converge on an estimate of the remaining sources is reduced, and the quality of the resulting estimates improved. Indeed, although there exist BSS algorithms that can separate more underlying sources than there are sensor response signals to process, many attractive BSS algorithms assume that the number of underlying hidden source signals is equal to, or at least no greater than, the number of sensor response signals. In practice, using OMBSS processing to “scrub” excess source components from a set of sensor response signals may represent the difference between effective separation of the remaining hidden sources, and the inability to effectively separate the mixtures, due to violation of the BSS algorithm&#39;s underlying assumptions and requirements. 
         [0041]    A related advantage of OMBSS processing is that in some circumstances, all of the components in one or more sensor outputs may be associated with source hypothesis signals, so that those sensor outputs do not have to be submitted for BSS processing at all, thereby reducing the complexity of the required BSS processing, reducing convergence time, and/or improving the quality of the final BSS estimates. A set of sensor outputs whose number has been reduced by eliminating one or more outputs, all of whose mixture components have been identified as traceable, is referred to as a reduced, or deflated, response set. 
         [0042]    A traceable source is any source associated with a valid source hypothesis. In the example of  FIG. 3B , OMBSS module  360  outputs estimated traceable source signals  364   a  and  364   b,  which are associated with valid ones of the source hypothesis signals  362   a - c.  Once a source has been determined to be traceable, it is no longer completely blind—hence the sobriquet “Only Mostly Blind Source Separation”. Each valid hypothesis is significantly coherent with a response component of at least one response signal. We call such a component a traceable response component, or simply a traceable component. Each traceable component is associated with exactly one valid source hypothesis signal. An invalid source hypothesis has no traceable components associated with it. 
         [0043]    Since each traceable component associated with a given valid hypothesis is coherent with the corresponding hypothesis signal, that set of traceable components may be used to estimate the underlying traceable source. Such an estimate is called a traceable source estimate. 
         [0044]    A number of alternative techniques are available for estimating the traceable source signal from the source hypothesis signal and the traceable components. Possibilities include, but are not limited to, the following:
       A. Using the source hypothesis signal as the traceable source estimate.   B. Selecting one of the traceable source components as the traceable source estimate. Possible selection criteria include selecting the component with the most power, selecting the component with the widest range of frequencies, and selecting the component that is most coherent with the source hypothesis signal.   C. Forming the traceable source signal as a complex weighted sum of all of the traceable components of the given source hypothesis, where by “complex weighted sum” is meant forming a mixture of the traceable components, each convolved with a complex “kernel” vector calculated to maximize or minimize an application-appropriate metric, such as the mutual correlation of the weighted terms.   D. Forming the traceable source signal using any of the techniques above, and further delaying or advancing the signal in a useful way. For example, adjusting the delay of the estimated traceable source signal so that the relative delay of one of the traceable source components is set to a desired value, for example zero. This corresponds to modeling the position in space of the traceable source to be identical to the position of the sensor whose traceable component has a zero delay.       
 
         [0049]    It should be noted that two source hypothesis signals may be mutually coherent. For instance, this situation may arise when a particular source hypothesis description is ambiguous, and the associated source hypothesis generator generates two or more alternative, partially coherent, hypothesis signals from a single description. Alternatively, two source hypothesis signals, arising independently either from two source hypothesis generators or from other origins, may happen to be coherent. In the alternative, it may be possible to determine from the details of the origins of source hypothesis signals that all simultaneous source hypotheses are mutually incoherent. 
         [0050]    The possibility of mutually coherent source hypothesis signals gives rise to the possibility of generating mutually coherent traceable source estimates. In such cases, the user of the traceable source estimates may need to decide, based on application-specific criteria, which source hypothesis is superior. 
         [0051]    The other issue that arises when mutually coherent source hypotheses may be present is the way in which valid hypothesis signals are to be scrubbed from each sensor response signal. As discussed below, in general such scrubbing may be performed either sequentially or jointly. In the presence of potentially coherent source hypotheses, the use of a sequential scrubbing architecture suffers from the disadvantage that the order of scrubbing will, in general, affect the coherence of the identified traceable components. Joint scrubbing architectures, or parallel scrubbing architectures, do not suffer from this disadvantage, because they do not impose any sequence on the order in which hypothesis signals are scrubbed. 
         [0052]    As shown in  FIG. 3B , OMBSS module element  360  has three types of outputs. First, the module  360  generates source hypothesis validity codes  3606   a - c,  one for each of its input source hypothesis signals  362   a - c.  At any given time, each validity code output assumes one of the following three possible values: 
         [0053]    Hypothesis validity unknown: the validity of the corresponding source hypothesis is currently unknown; 
         [0054]    Hypothesis valid: the corresponding source hypothesis has been determined to be currently valid; 
         [0055]    Hypothesis invalid: the corresponding source hypothesis has been determined to be currently invalid. 
         [0056]    Second, the OMBSS module generates a traceable source signal estimate corresponding to each detected traceable source signal. Finally, the OMBSS module generates a hidden source signal estimate for each detected hidden source. The number of validity code outputs equals the number of source hypothesis signal inputs. The number of traceable signal outputs equals the number of detected traceable source signals, and the number of hidden signal outputs equals the number of detected hidden sources. 
         [0057]    One particular context in which embodiments of the present invention are often useful is the processing of acoustic signals. In the acoustic case, the “hidden” sources are acoustic sources (e.g., noise sources, talkers, loudspeakers, etc.), the sensors are microphones, and an important class of source hypotheses is the class of “pre-acoustic” signals, such as the audio signals that feed loudspeakers. For example, in an airport gate area, there are many simultaneously-active acoustic sources. A microphone anywhere in the gate area will pick up a mixture of many sources. One of those sources might frequently be a CNN broadcast, with the audio coming from loudspeakers mounted in the ceiling. The acoustic radiation from one such speaker is an acoustic source. A relevant source hypothesis description or signal is the audio channel of the CNN broadcast. The electronically broadcast audio signal is not precisely the acoustic output of the speaker itself (it doesn&#39;t, for instance, reflect the loudspeaker&#39;s frequency characteristics), but it is strongly coherent with the loudspeaker&#39;s acoustic output. 
         [0058]    We now present in greater technical detail one basic method of employing source hypothesis signals to improve BSS, and then a multi-stage enhancement to the basic method. In this exposition we treat OMBSS as an enhancement to the blind source separation problem that employs a priori known source signals (the source hypotheses). Although the principles proposed here apply to the broader settings of general estimation within nonlinear and post-nonlinear mixing scenarios, we use adaptive filtering within a linear (convolutive) mixing network as an example. Given a set of L-length source vectors S={s q (t)} q=   Q  at time t where the q th  source vector is s q (t)=[s q (t),s q (t−1), . . . , s q (t−L+1)] T  and s q (t) is an individual source sample, the set of convolutive mixtures, {x p (t)} p=1   P  is given by, 
         [0000]    
       
         
           
             
               
                 
                   x 
                   p 
                 
                  
                 
                   ( 
                   t 
                   ) 
                 
               
               = 
               
                 
                   ∑ 
                   
                     q 
                     = 
                     1 
                   
                   Q 
                 
                  
                 
                   
                     
                       h 
                       qp 
                       T 
                     
                      
                     
                       ( 
                       t 
                       ) 
                     
                   
                    
                   
                     
                       s 
                       q 
                     
                      
                     
                       ( 
                       t 
                       ) 
                     
                   
                 
               
             
             , 
             
               p 
               = 
               1 
             
             , 
             … 
              
             
                 
             
             , 
             P 
           
         
       
     
         [0059]    where h qp   T (t) is an L-length vector of filter coefficients. Although h qp   T (t) is possibly time-varying, we now drop the time-dependence for clarity of presentation and assume that the individual filters, h qp  for q=1, . . . , Q and p=1, . . . , P, are static. The goal of the source separation problem is to recover S up to some arbitrary constant filtering and permutation (if S is considered as an ordered set). 
         [0060]    Now consider the case where R sources are known a priori, such that the source set can be divided into two complementary subsets S α (t)={s q (t)} q=1   R  and S h (t)={s q (t)} q=R+1   Q . We are making the assumption that all sources in S are actually present in the mixtures, and we do not address the problem of detecting the known source set, S α (t), in the mixtures. For each of the R known sources we wish to estimate the forward mixing filters h qp  for q=1, . . . , R and p=1, . . . , P, and then use those estimates to remove, or SCRUB, the filtered estimates of S α (t) from the mixtures.  FIG. 1  shows an adaptive filtering representation of removing the q th  source from the p th  mixture. 
         [0061]    Thus, speaking informally about the process shown in  FIG. 1 , we say that the adaptive filter shown in  FIG. 1  “scrubs” the q th  source hypothesis signal from the p th  sensor response mixture. 
         [0062]    For the p th  mixture, the source removal can be performed by jointly estimating {ĥ qp } q=1   R  or estimating the individual ĥ qp  for q=1, . . . , R sequentially in a deflationary manner. In either case, the filter estimation will take place in the presence of multiple interfering sources, resulting in a filter mismatch {tilde over (h)} qp =h qp −ĥ qp ≠0 which leaves a residual of the set S α (t) remaining in the mixture. However, since the power of the individual sources in S α (t) have been reduced in the mixture leaving the hidden sources S h (t) as the predominant source power, performing the source removal a second time to estimate the known sources&#39;, S α (t)&#39;s, residuals will be more effective since the estimation will take place, effectively, in the presence of Q−R interferers as opposed to the original Q−1 interferers. Denoting h′ qp  as the residual filter of the q th  source the p th  mixture, then there will be a filter mismatch {tilde over (h)}′ qp =h′ qp −ĥ′ qp ≠0 thus leaving a residual. 
         [0063]    Denoting the p th  deflated mixture of this “double SCRUB” method just outlined as, 
         [0000]    
       
         
           
             
               
                 x 
                 p 
                 ′ 
               
                
               
                 ( 
                 t 
                 ) 
               
             
             = 
             
               
                 
                   x 
                   p 
                 
                  
                 
                   ( 
                   t 
                   ) 
                 
               
               - 
               
                 
                   ∑ 
                   
                     q 
                     = 
                     1 
                   
                   R 
                 
                  
                 
                   
                     
                       h 
                       ^ 
                     
                     pq 
                     T 
                   
                    
                   
                     
                       s 
                       q 
                     
                      
                     
                       ( 
                       t 
                       ) 
                     
                   
                 
               
               - 
               
                 
                   ∑ 
                   
                     q 
                     = 
                     1 
                   
                   R 
                 
                  
                 
                   
                     
                       h 
                       ^ 
                     
                     pq 
                     
                       ′ 
                        
                       
                           
                       
                        
                       T 
                     
                   
                    
                   
                     
                       s 
                       q 
                     
                      
                     
                       ( 
                       t 
                       ) 
                     
                   
                 
               
             
           
         
       
     
         [0064]    The set of deflated mixtures X′=Δx′ p (t)} p=1   P  can be input into a blind source separation (BSS) algorithm where x′ p (t)=[x′ p (t),x′ p (t), . . . , x′ p (t−M+1)] T  and M is some number of algorithm-dependent samples. Assuming that the BSS method is able to (at least, partially) separate the hidden sources such that the BSS outputs are estimates of the hidden sources, Ŝ h (t), then the double SCRUB method can be repeated on the BSS outputs, since the residual estimates will now be carried out under an even further reduced interference set. Indeed, the individual known source residuals will be estimated in the presence of one predominant interfering source and Q−2 (presumably low-power) residuals. The output of the double SCRUB can then be fed into the BSS algorithm again, since the resulting reduction in residual power will allow a better source separation estimate. Denoting the vector of mixture observations at time t as x(t)=[x 1 (t),x 2 (t), . . . , x p (t)] T , this process of double SCRUB then BSS can then be performed indefinitely to enhance the BSS solution, as is shown in  FIG. 2 . 
         [0065]    In general, when a source hypothesis signal has been scrubbed from all of the sensor response signals, the associated traceable source has been removed as a possible hidden source that makes any contribution to the scrubbed response signals. That is, the scrubbed responses signals are all incoherent with the given source hypothesis signal. 
         [0066]    Similarly, whenever the power in a scrubbed sensor response signal is zero, or not significantly greater than zero, and it has any traceable components, then that sensor response mixture can be considered to consist solely of traceable components, all of which have been scrubbed, and none of which correspond to hidden sources. In this case, the response signal does not need to be processed by the BSS algorithm, and eliminating it as an input (i.e., reducing the response set) may have computational and performance advantages. 
         [0067]    It is to be understood that although the invention has been described above in terms of particular embodiments, the foregoing embodiments are provided as illustrative only, and do not limit or define the scope of the invention. Various other embodiments, including but not limited to the following, are also within the scope of the claims. For example, elements and components described herein may be further divided into additional components or joined together to form fewer components for performing the same functions. 
         [0068]    For example, although the acoustic situation is an important one, embodiments of the present invention are not limited to use in conjunction with acoustic signals, but rather may be used additionally or alternatively with other kinds of signals. For example, embodiments of the present invention may be used in conjunction with bioelectrical signals (e.g., bioelectrical signals in the human body), in which case the sensors may be electrodes and the sources may be neural signals. 
         [0069]    Any of the functions disclosed herein may be implemented using means for performing those functions. Such means include, but are not limited to, any of the components disclosed herein, such as the computer-related components described below. 
         [0070]    The techniques described above may be implemented, for example, in hardware, one or more computer programs tangibly stored on one or more computer-readable media, firmware, or any combination thereof. The techniques described above may be implemented in one or more computer programs executing on (or executable by) a programmable computer including any combination of any number of the following: a processor, a storage medium readable and/or writable by the processor (including, for example, volatile and non-volatile memory and/or storage elements), an input device, and an output device. Program code may be applied to input entered using the input device to perform the functions described and to generate output using the output device. 
         [0071]    Each computer program within the scope of the claims below may be implemented in any programming language, such as assembly language, machine language, a high-level procedural programming language, or an object-oriented programming language. The programming language may, for example, be a compiled or interpreted programming language. 
         [0072]    Each such computer program may be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a computer processor. Method steps of the invention may be performed by one or more computer processors executing a program tangibly embodied on a computer-readable medium to perform functions of the invention by operating on input and generating output. Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, the processor receives (reads) instructions and data from a memory (such as a read-only memory and/or a random access memory) and writes (stores) instructions and data to the memory. Storage devices suitable for tangibly embodying computer program instructions and data include, for example, all forms of non-volatile memory, such as semiconductor memory devices, including EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROMs. Any of the foregoing may be supplemented by, or incorporated in, specially-designed ASICs (application-specific integrated circuits) or FPGAs (Field-Programmable Gate Arrays). A computer can generally also receive (read) programs and data from, and write (store) programs and data to, a non-transitory computer-readable storage medium such as an internal disk (not shown) or a removable disk. These elements will also be found in a conventional desktop or workstation computer as well as other computers suitable for executing computer programs implementing the methods described herein, which may be used in conjunction with any digital print engine or marking engine, display monitor, or other raster output device capable of producing color or gray scale pixels on paper, film, display screen, or other output medium. 
         [0073]    Any data disclosed herein may be implemented, for example, in one or more data structures tangibly stored on a non-transitory computer-readable medium. Embodiments of the invention may store such data in such data structure(s) and read such data from such data structure(s).