Methods and systems for improved signal decomposition

Information

  • Patent Grant
  • 11581005
  • Patent Number
    11,581,005
  • Date Filed
    Friday, January 28, 2022
    2 years ago
  • Date Issued
    Tuesday, February 14, 2023
    a year ago
Abstract
A method for improving decomposition of digital signals using training sequences is presented. A method for improving decomposition of digital signals using initialization is also provided. A method for sorting digital signals using frames based upon energy content in the frame is further presented. A method for utilizing user input for combining parts of a decomposed signal is also presented.
Description
TECHNICAL FIELD

Various embodiments of the present application relate to decomposing digital signals in parts and combining some or all of said parts to perform any type of processing, such as source separation, signal restoration, signal enhancement, noise removal, un-mixing, up-mixing, re-mixing, etc. Aspects of the invention relate to all fields of signal processing including but not limited to speech, audio and image processing, radar processing, biomedical signal processing, medical imaging, communications, multimedia processing, forensics, machine learning, data mining, etc.


BACKGROUND

In signal processing applications, it is commonplace to decompose a signal into parts or components and use all or a subset of these components in order to perform one or more operations on the original signal. In other words, decomposition techniques extract components from signals or signal mixtures. Then, some or all of the components can be combined in order to produce desired output signals. Factorization can be considered as a subset of the general decomposition framework and generally refers to the decomposition of a first signal into a product of other signals, which when multiplied together represent the first signal or an approximation of the first signal.


Signal decomposition is often required for signal processing tasks including but not limited to source separation, signal restoration, signal enhancement, noise removal, un-mixing, up-mixing, re-mixing, etc. As a result, successful signal decomposition may dramatically improve the performance of several processing applications. Therefore, there is a great need for new and improved signal decomposition methods and systems.


Since signal decomposition is often used to perform processing tasks by combining decomposed signal parts, there are many methods for automatic or user-assisted selection, categorization and/or sorting of said parts. By exploiting such selection, categorization and/or sorting procedures, an algorithm or a user can produce useful output signals. Therefore there is a need for new and improved selection, categorization and/or sorting techniques of decomposed signal parts. In addition there is a great need for methods that provide a human user with means of combining such decomposed signal parts.


Source separation is an exemplary technique that is mostly based on signal decomposition and requires the extraction of desired signals from a mixture of sources. Since the sources and the mixing processes are usually unknown, source separation is a major signal processing challenge and has received significant attention from the research community over the last decades. Due to the inherent complexity of the source separation task, a global solution to the source separation problem cannot be found and therefore there is a great need for new and improved source separation methods and systems.


A relatively recent development in source separation is the use of non-negative matrix factorization (NMF). The performance of NMF methods depends on the application field and also on the specific details of the problem under examination. In principle, NMF is a signal decomposition approach and it attempts to approximate a non-negative matrix V as a product of two non-negative matrices W (the basis matrix) and H (the weight matrix). To achieve said approximation, a distance or error function between V and WH is constructed and minimized. In some cases, the matrices W and H are randomly initialized. In other cases, to improve performance and ensure convergence to a meaningful and useful factorization, a training step can be employed (see for example Schmidt, M., & Olsson, R. (2006). “Single-Channel Speech Separation using Sparse Non-Negative Matrix Factorization”, Proceedings of Interspeech, pp. 2614-2617 and Wilson, K. W., Raj, B., Smaragdis, P. & Divakaran, A. (2008), “Speech denoising using nonnegative matrix factorization with priors,” IEEE International Conference on Acoustics, Speech and Signal Processing, pp. 4029-4032). Methods that include a training step are referred to as supervised or semi-supervised NMF. Such training methods typically search for an appropriate initialization of the matrix W, in the frequency domain. There is also, however, an opportunity to train in the time domain. In addition, conventional NMF methods typically initialize the matrix H with random signal values (see for example Frederic, J, “Examination of Initialization Techniques for Nonnegative Matrix Factorization” (2008). Mathematics Theses. Georgia State University). There is also an opportunity for initialization of H using multichannel information or energy ratios. Therefore, there is overall a great need for new and improved NMF training methods for decomposition tasks and an opportunity to improve initialization techniques using time domain and/or multichannel information and energy ratios.


Source separation techniques are particularly important for speech and music applications. In modern live sound reinforcement and recording, multiple sound sources are simultaneously active and their sound is captured by a number of microphones. Ideally each microphone should capture the sound of just one sound source. However, sound sources interfere with each other and it is not possible to capture just one sound source. Therefore, there is a great need for new and improved source separation techniques for speech and music applications.


SUMMARY

Aspects of the invention relate to training methods that employ training sequences for decomposition.


Aspects of the invention also relate to a training method that performs initialization of a weight matrix, taking into account multichannel information.


Aspects of the invention also relate to an automatic way of sorting decomposed signals.


Aspects of the invention also relate to a method of combining decomposed signals, taking into account input from a human user.





BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of the invention, reference is made to the following description and accompanying drawings, in which:



FIG. 1 illustrates an exemplary schematic representation of a processing method based on decomposition;



FIG. 2 illustrates an exemplary schematic representation of the creation of an extended spectrogram using a training sequence, in accordance with embodiments of the present invention;



FIG. 3 illustrates an example of a source signal along with a function that is derived from an energy ratio, in accordance with embodiments of the present invention;



FIG. 4 illustrates an exemplary schematic representation of a set of source signals and a resulting initialization matrix in accordance with embodiments of the present invention;



FIG. 5 illustrates an exemplary schematic representation of a block diagram showing a NMF decomposition method, in accordance with embodiments of the present invention; and



FIG. 6 illustrates an exemplary schematic representation of a user interface in accordance with embodiments of the present invention.





DETAILED DESCRIPTION

Hereinafter, embodiments of the present invention will be described in detail in accordance with the references to the accompanying drawings. It is understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the present application.


The exemplary systems and methods of this invention will sometimes be described in relation to audio systems. However, to avoid unnecessarily obscuring the present invention, the following description omits well-known structures and devices that may be shown in block diagram form or otherwise summarized.


For purposes of explanation, numerous details are set forth in order to provide a thorough understanding of the present invention. It should be appreciated however that the present invention may be practiced in a variety of ways beyond the specific details set forth herein. The terms determine, calculate and compute, and variations thereof, as used herein are used interchangeably and include any type of methodology, process, mathematical operation or technique.



FIG. 1 illustrates an exemplary case of how a decomposition method can be used to apply any type of processing. A source signal 101 is decomposed in signal parts or components 102, 103 and 104. Said components are sorted 105, either automatically or manually from a human user. Therefore the original components are rearranged 106, 107, 108 according to the sorting process. Then a combination of some or all of these components forms any desired output 109. When for example said combination of components forms a single source coming from an original mixture of multiple sources, said procedure refers to a source separation technique. When for example residual components represent a form of noise, said procedure refers to a denoise technique. All embodiments of the present application may refer to a general decomposition procedure, including but not limited to non-negative matrix factorization, independent component analysis, principal component analysis, singular value decomposition, dependent component analysis, low-complexity coding and decoding, stationary subspace analysis, common spatial pattern, empirical mode decomposition, tensor decomposition, canonical polyadic decomposition, higher-order singular value decomposition, tucker decomposition, etc.


In an exemplary embodiment, a non-negative matrix factorization algorithm can be used to perform decomposition, such as the one described in FIG. 1. Consider a source signal xm(k), which can be any input signal and k is the sample index. In a particular embodiment, a source signal can be a mixture signal that consists of N simultaneously active signals sn(k). In particular embodiments, a source signal may always be considered a mixture of signals, either consisting of the intrinsic parts of the source signal or the source signal itself and random noise signals or any other combination thereof. In general, a source signal is considered herein as an instance of the source signal itself or one or more of the intrinsic parts of the source signal or a mixture of signals.


In an exemplary embodiment, the intrinsic parts of an image signal representing a human face could be the images of the eyes, the nose, the mouth, the ears, the hair etc. In another exemplary embodiment, the intrinsic parts of a drum snare sound signal could be the onset, the steady state and the tail of the sound. In another embodiment, the intrinsic parts of a drum snare sound signal could be the sound coming from each one of the drum parts, i.e. the hoop/rim, the drum head, the snare strainer, the shell etc. In general, intrinsic parts of a signal are not uniquely defined and depend on the specific application and can be used to represent any signal part.


Given the source signal xm(k), any available transform can be used in order to produce the non-negative matrix Vm. from the source signal. When for example the source signal is non-negative and two-dimensional, Vm can be the source signal itself. When for example the source signal is in the time domain, the non-negative matrix Vm can be derived through transformation in the time-frequency domain using any relevant technique including but not limited to a short-time Fourier transform (STFT), a wavelet transform, a polyphase filterbank, a multi rate filterbank, a quadrature mirror filterbank, a warped filterbank, an auditory-inspired filterbank, etc.


A non-negative matrix factorization algorithm typically consists of a set of update rules derived by minimizing a distance measure between Vm and WmHm, which is sometimes formulated utilizing some underlying assumptions or modeling of the source signal. Such an algorithm may produce upon convergence a matrix product that approximates the original matrix Vm as in equation (1).










V
m





V
^

m

-


W
m



H
m







(
1
)







The matrix Wm has size F×K and the matrix Hm has size K×T, where K is the rank of the approximation (or the number of components) and typically K<<FT. Each component may correspond to any kind of signal including but not limited to a source signal, a combination of source signals, a part of a source signal, a residual signal. After estimating the matrices Wm and Hm, each F×1 column wj,m of the matrix Wm, can be combined with a corresponding 1×T row hj,mT of matrix Hm and thus a component mask Aj,m can be obtained










A

j
,
m


=


w

j
,
m




h

j
,
m

T






(
2
)







When applied to the original matrix Vm, this mask may produce a component signal zj,m(k) that corresponds to parts or combinations of signals present in the source signal. There are many ways of applying the mask Aj,m and they are all in the scope of the present invention. In a particular embodiment, the real-valued mask Aj,m could be directly applied to the complex-valued matrix Xm, that may contain the time-frequency transformation of xm(k) as in (3).










Z

j
,
m


=


A

j
,

τ

n





X
m






(
3
)








where ∘ is the Hadamart product. In this embodiment, applying an inverse time-frequency transform on Zj,m produces the component signals zj,m(k).


In many applications, multiple source signals are present (i.e. multiple signals xm(k) with m=1, 2, . . . M) and therefore multichannel information is available. In order to exploit such multichannel information, non-negative tensor factorization (NTF) methods can be also applied (see Section 1.5 in A. Cichocki, R. Zdunek, A. H. Phan, S.-I. Amari, “Nonnegative Matrix and Tensor Factorization: Applications to Exploratory Multi-way Data Analysis and Blind Source Separation”, John Wiley & Sons, 2009). Alternatively, appropriate tensor unfolding methods (see Section 1.4.3 in A. Cichocki, R. Zdunek, A. H. Phan, S.-I. Amari, “Nonnegative Matrix and Tensor Factorization: Applications to Exploratory Multi-way Data Analysis and Blind Source Separation”, John Wiley & Sons, 2009) will transform the multichannel tensors to a matrix and enable the use of NMF methods. All of the above decomposition methods are in the scope of the present invention. In order to ensure the convergence of NMF to a meaningful factorization that can provide useful component signals, a number of training techniques have been proposed. In the context of NMF, training typically consists of estimating the values of matrix Wm, and it is sometimes referred to as supervised or semi-supervised NMF.


In an exemplary embodiment of the present application, a training scheme is applied based on the concept of training sequences. A training sequence ŝm(k) is herein defined as a signal that is related to one or more of the source signals (including their intrinsic parts). For example, a training sequence can consist of a sequence of model signals s′i,m(k). A model signal may be any signal and a training sequence may consist of one or more model signals. In some embodiments, a model signal can be an instance of one or more of the source signals (such signals may be captured in isolation), a signal that is similar to an instance of one or more of source signals, any combination of signals similar to an instance of one or more of the source signals, etc. In the preceding, a source signal is considered the source signal itself or one or more of the intrinsic parts of the source signal. In specific embodiments, a training sequence contains model signals that approximate in some way the signal that we wish to extract from the source signal under processing. In particular embodiments, a model signal may be convolved with shaping filters gi(k) which may be designed to change and control the overall amplitude, amplitude envelope and spectral shape of the model signal or any combination of mathematical or physical properties of the model signal. The model signals may have a length of Lt samples and there may be R model signals in a training sequence, making the length of the total training sequence equal to LtR. In particular embodiments, the training sequence can be described as in equation (4):












s
^

m

(
k
)

=




r
=
0


R
-
1




[



g
1

(
k
)

*


s

1
,
m



(
k
)


]



B

(


k
;

iL
t


,


iL
t

+

L
t

-
1


)








(
4
)








where B(x; a, b) is the boxcar function given by:










B

(


x
;

a
1


,
b

)

-

{



0




if


x

<

a


and


x

>
b





1




if


a


x

b










(
5
)







In an exemplary embodiment, a new non-negative matrix Ŝm is created from the signal ŝm(k) by applying the same time-frequency transformation as for xm(k) and is appended to Vm as











V
_

m

=

[



S
^

m





"\[LeftBracketingBar]"


V
m



"\[RightBracketingBar]"





S
^

m


]





(
6
)







In specific embodiments, a matrix Ŝm can be appended only on the left side or only on the right side or on both sides of the original matrix Vm, as shown in equation 6. This illustrates that the training sequence is combined with the source signal. In other embodiments, the matrix Vm can be split in any number of sub-matrices and these sub-matrices can be combined with any number of matrices Ŝm, forming an extended matrix Vm. After this training step, any decomposition method of choice can be applied to the extended matrix Vm. If multiple source signals are processed simultaneously in a NTF or tensor unfolded NMF scheme, the training sequences for each source signal may or may not overlap in time. In other embodiments, when for some signals a training sequence is not formulated, the matrix Vm may be appended with zeros or a low amplitude noise signal with a predefined constant or any random signal or any other signal. Note that embodiments of the present application are relevant for any number of source signals and any number of desired output signals.


An example illustration of a training sequence is presented in FIG. 2. In this example, a training sequence ŝm(k) 201 is created and transformed to the time-frequency domain through a short-time Fourier transform to create a spectrogram Ŝm 202. Then, the spectrogram of the training sequence Ŝm is appended to the beginning of an original spectrogram Vm 203, in order to create an extended spectrogram Vm 204. The extended spectrogram 204 can be used in order to perform decomposition (for example NMF), instead of the original spectrogram 203.


Another aspect that is typically overlooked in decomposition methods is the initialization of the weight matrix Hm. Typically this matrix can be initialized to random, non-negative values. However, by taking into account that in many applications, NMF methods operate in a multichannel environment, useful information can be extracted in order to initialize Hm in a more meaningful way. In a particular embodiment, an energy ratio between a source signal and other source signals is defined and used for initialization of Hm.


When analyzing a source signal into frames of length Lf with hop size Lh and an analysis window w(k) we can express the κ-th frame as a vector
















x
m

(
k
)

=

[



x
m



kL
h




)



w

(
0
)




x
m

(


kL
h

+
1

)



w

(
1
)







x
m

(


kL
h

+

L
f

-
1

)



w

(


L
f

-
1

)


]

T






(
7
)








and the energy of the κ-th frame of the m-th source signal is given as
















x
m

(
κ
)




-


1

L
f








x
m

(
κ
)



2






(
8
)







The energy ratio for the m-th source signal is given by











ER
m

(
κ
)

-



[


x
m

(
κ
)

]






i
=
1


i

m


M




[


x
m

(
κ
)

]







(
9
)








The values of the energy ratio ERm(κ) can be arranged as a 1×T row vector and the M vectors can be arranged into an M×T matrix Ĥm. If K=M then this matrix can be used as the initialization value of Hm. If K>M, this matrix can be appended with a (K−M)×T randomly initialized matrix or with any other relevant matrix. If K<M, only some of rows of Ĥm can be used.


In general, the energy ratio can be calculated from the original source signals as described earlier or from any modified version of the source signals. In another embodiment, the energy ratios can be calculated from filtered versions of the original signals. In this case bandpass filters may be used and they may be sharp and centered around a characteristic frequency of the main signal found in each source signal. This is especially useful in cases where such frequencies differ significantly for various source signals. One way to estimate a characteristic frequency of a source signal is to find a frequency bin with the maximum magnitude from an averaged spectrogram of the sources as in:










ω
m
c

-


argmax
ω

[


1
T






n
=
1

T




"\[LeftBracketingBar]"



X
m

(

κ
,
ω

)



"\[RightBracketingBar]"




]





(
10
)








where ω is the frequency index. A bandpass filter can be designed and centered around ωmc. The filter can be IIR, FIR, or any other type of filter and it can be designed using any digital filter design method. Each source signal can be filtered with the corresponding band pass filter and then the energy ratios can be calculated.


In other embodiments, the energy ratio can be calculated in any domain including but not limited to the time-domain for each frame κ, the frequency domain, the time-frequency domain, etc. In this case ERm(κ) can be given by











ER
ω

(
κ
)

-

f

(


ER
m

(

κ
,
ω

)

)





(
11
)








where f(·) is a suitable function that calculates a single value of the energy ratio for the κ-th frame by an appropriate combination of the values ERm(κ, ω). In specific embodiments, said function could choose the value of ERm(κ, ωmc) or the maximum value for all ω, or the mean value for all ω, etc. In other embodiments, the power ratio or other relevant metrics can be used instead of the energy ratio.



FIG. 3 presents an example where a source signal 301 and an energy ratio are each plotted as functions (amplitude vs. time) 302. The energy ratio has been calculated and is shown for a multichannel environment. The energy ratio often tracks the envelope of the source signal. In specific signal parts (for example signal position 303), however, the energy ratio has correctly identified an unwanted signal part and does not follow the envelope of the signal.



FIG. 4 shows an exemplary embodiment of the present application where the energy ratio is calculated from M source signals x1(k) to xM(k) that can be analyzed in T frames and used to initialize a weight matrix Ĥm of K rows. In this specific embodiment there are 8 source signals 401, 402, 403, 404, 405, 406, 407 and 408. Using the 8 source signals the energy ratios are calculated 419 and used to initialize 8 rows of the matrix Ĥm 411, 412, 413, 414, 415, 416, 417 and 418. In this example, since the rows of matrix Ĥm are 10 (more than the source signals), the rows 409 and 410 are initialized with random signals.


Using the initialization and training steps described above, a meaningful convergence of the decomposition can be achieved. After convergence, the component masks are extracted and applied to the original matrix in order to produce a set of K component signals zj,m(k) for each source signal xm(k). In a particular embodiment, said component signals are automatically sorted according to their similarity to a reference signal rm(k). First, an appropriate reference signal rm(k) must be chosen which can be different according to the processing application and can be any signal including but not limited to the source signal itself (which also includes one or many of its inherent parts), a filtered version of the source signal, an estimate of the source signal, etc. Then the reference signal is analyzed in frames and we define the set










Ω
m

=

{


κ
:



[


r
m

(
κ
)

]


>

E
r


}





(
12
)








which indicates the frames of the reference signal that have significant energy, that is their energy is above a threshold ET. We calculate the cosine similarity measure












c

j
,
m


(
κ
)

-




r
m

(
κ
)

·


z

j
,
m


(
κ
)







r
m

(
κ
)








z

j
,
m


(
κ
)






,

κ




Ω
m



and


j

-
1


,


,
K




(
13
)








and then calculate










c

j
,
m



-

f

(


c

j
,
m


(
κ
)

)





(
14
)







In particular embodiments, f(·) can be any suitable function such as max, mean, median, etc. The component signals zj,m(k) that are produced by the decomposition process can now be sorted according to a similarity measure, i.e. a function that measures the similarity between a subset of frames of rm(k) and zj,m(k). A specific similarity measure is shown in equation (13), however any function or relationship that compares the component signals to the reference signals can be used. An ordering or function applied to the similarity measure cj,m(k) then results in ćj,m. A high value indicates significant similarity between rm(k) and zj,m(k) while a low value indicates the opposite. In particular embodiments, clustering techniques can be used instead of using a similarity measure, in order to group relevant components together, in such a way that components in the same group (called cluster) are more similar (in some sense or another) to each other than to those in other groups (clusters). In particular embodiment, any clustering technique can be applied to a subset of component frames (for example those that are bigger than a threshold ET), including but not limited to connectivity based clustering (hierarchical clustering), centroid-based clustering, distribution-based clustering, density-based clustering, etc.



FIG. 5 presents a block diagram where exemplary embodiments of the present application are shown. A time domain source signal 501 is transformed in the frequency 502 domain using any appropriate transform, in order to produce the non-negative matrix Vm 503. Then a training sequence is created 504 and after any appropriate transform it is appended to the original non-negative matrix 505. In addition, the source signals are used to derive the energy ratios and initialize the weight matrix 506. Using the above initialized matrices, NMF is performed on Vm 507. After NMF, the signal components are extracted 508 and after calculating the energy of the frames, a subset of the frames with the biggest energy is derived 509 and used for the sorting procedure 510.


In particular embodiments, human input can be used in order to produce desired output signals. After automatic or manual sorting and/or categorization, signal components are typically in a meaningful order. Therefore, a human user can select which components from a predefined hierarchy will form the desired output. In a particular embodiment, K components are sorted using any sorting and/or categorization technique. A human user can define a gain μ for each one of the components. The user can define the gain explicitly or intuitively. The gain can take the value 0, therefore some components may not be selected. Any desired output ym(k) can be extracted as any combination of components zj,m(k):











y
m

(
k
)

=




i
=
1

K




μ
j

(
k
)




z

j
,
m


(
k
)







(
15
)







In FIG. 6 two exemplary user interfaces are illustrated, in accordance with embodiments of the present application, in the forms of a knob 601 and a slider 602. Such elements can be implemented either in hardware or in software.


In one particular example, the total number of components is 4. When the knob/slider is in position 0, the output will be zeroed, when it is in position 1 only the first component will be selected and when it is in position 4 all four components will be selected. When the user has set the value of the knob and/or slider at 2.5 and assuming that a simple linear addition is performed, the output will be given by:











y
m



(
k
)


=



z

1
,
m




(
k
)


+


z

2
,
m




(
k
)


+


0
.
5




z

3
,
m




(
k
)








(
16
)







In another embodiment, a logarithmic addition can be performed or any other gain for each component can be derived from the user input.


Using similar interface elements, different mapping strategies regarding the component selection and mixture can be also followed. In another embodiment, in knob/slider position 0 of FIG. 6, the output will be the sum of all components, in position 1 components the output will be the sum of components 1, 2 and 3 and in position 4 the output will be zeroed. Therefore, assuming a linear addition scheme for this example, putting the knob/slider at position 2.5 will produce an output given by:











y
m



(
k
)


=



z

1
,
m




(
k
)


+


0
.
5




z

2
,
m




(
k
)








(
17
)







Again, the strategy and the gain for each component can be defined through any equation from the user-defined value of the slider/knob.


In another embodiment, source signals of the present invention can be microphone signals in audio applications. Consider N simultaneously active signals sn(k) (i.e. sound sources) and M microphones set to capture those signals, producing the source signals xm(k). In particular embodiments, each sound source signal may correspond to the sound of any type of musical instrument such as a multichannel drums recording or human voice. Each source signal can be described as











z
m



(
k
)


-




m
=
1

N




[



ρ
s



(

k
,

θ
mm


)


*


z
m



(
k
)



]

*

[



p
x



(

k
,

θ
mn


)


*


k
mm



(
k
)



]







(
18
)








for m=1, . . . , M. ρs(k, θmn) is a filter that takes into account the source directivity, ρc(k, θmn) is a filter that describes the microphone directivity, hmn(k) is the impulse response of the acoustic environment between the n-th sound source and m-th microphone and * denotes convolution.


In most audio applications each sound source is ideally captured by one corresponding microphone. However, in practice each microphone picks up the sound of the source of interest but also the sound of all other sources and hence equation (18) can be written as











x
m



(
k
)


-


[



ρ
k



(

k
,

θ
mm


)


*


s
m



(
k
)



]

*

[



ρ
c



(

k
,

θ
mm


)


*


h
mm



(
k
)



]


+





n
=
1

N


n

m





[



ρ
s



(

k
,

θ

m





m



)


*


s
m



(
k
)



]

*

[



ρ
c



(

k
,

θ

m





m



)


*


h

m





m




(
k
)



]







(
19
)







To simplify equation (19) we define the direct source signal as












s
^

m



(
k
)


-


[



ρ
s



(

k
,

θ

m





m



)


*


s
m



(
k
)



]

*

[



ρ
c



(

k
,

θ

m





m



)


*


h

m





m




(
k
)



]






(
20
)







Note that here m=n and the source signal is the one that should ideally be captured by the corresponding microphone. We also define the leakage source signal as












s
_

nm



(
k
)


-


[



ρ
s



(

k
,

θ

m





m



)


*


s
m



(
k
)



]

*

[



ρ
c



(

k
,

θ

m





m



)


*


h

m





m




(
k
)



]






(
21
)







In this case m≠n and the source signal is the result of a source that does not correspond to this microphone and ideally should not be captured. Using equations (20) and (21), equation (19) can be written as











x
m



(
k
)


-



s
~

m



(
k
)


+





n
=
1

N


n

m






s
_


n
,
m




(
k
)







(
22
)







There are a number of audio applications that would greatly benefit from a signal processing method that would extract the direct source signal {tilde over (s)}m(k) the source signal xm(k) and remove the interfering leakage sources sn,m(k).


One way to achieve this is to perform NMF on an appropriate representation of xm(k) according to embodiments of the present application. When the original mixture is captured in the time domain, the non-negative matrix Vm can be derived through any signal transformation. For example, the signal can be transformed in the time-frequency domain using any relevant technique such as a short-time Fourier transform (STFT), a wavelet transform, a polyphase filterbank, a multi rate filterbank, a quadrature mirror filterbank, a warped filterbank, an auditory-inspired filterbank, etc. Each one of the above transforms will result in a specific time-frequency resolution that will change the processing accordingly. All embodiments of the present application can use any available time-frequency transform or any other transform that ensures a non-negative matrix Vm.


By appropriately transforming xm(k), the signal Xm(κ, ω) can be obtained where κ=0, . . . , T−1 is the frame index and ω=0, . . . , F−1 is the discrete frequency bin index. From the complex-valued signal Xm(κ, ω) we can obtain the magnitude Vm(κ, ω). The values of Vm(κ, ω) form the magnitude spectrogram of the time-domain signal xm(k). This spectrogram can be arranged as a matrix Vm of size F×T. Note that where the term spectrogram is used, it does not only refer to the magnitude spectrogram but any version of the spectrogram that can be derived from











V
m



(

κ
,
ω

)


-

f


(





X
m



(

κ
,
ω

)




2

)






(
23
)








where f(·) can be any suitable function (for example the logarithm function). As seen from the previous analysis, all embodiments of the present application are relevant to sound processing in single or multichannel scenarios.


While the above-described flowcharts have been discussed in relation to a particular sequence of events, it should be appreciated that changes to this sequence can occur without materially effecting the operation of the invention. Additionally, the exemplary techniques illustrated herein are not limited to the specifically illustrated embodiments but can also be utilized and combined with the other exemplary embodiments and each described feature is individually and separately claimable.


Additionally, the systems, methods and protocols of this invention can be implemented on a special purpose computer, a programmed micro-processor or microcontroller and peripheral integrated circuit element(s), an ASIC or other integrated circuit, a digital signal processor, a hard-wired electronic or logic circuit such as discrete element circuit, a programmable logic device such as PLD, PLA, FPGA, PAL, a modem, a transmitter/receiver, any comparable means, or the like. In general, any device capable of implementing a state machine that is in turn capable of implementing the methodology illustrated herein can be used to implement the various communication methods, protocols and techniques according to this invention.


Furthermore, the disclosed methods may be readily implemented in software using object or object-oriented software development environments that provide portable source code that can be used on a variety of computer or workstation platforms. Alternatively the disclosed methods may be readily implemented in software on an embedded processor, a micro-processor or a digital signal processor. The implementation may utilize either fixed-point or floating point operations or both. In the case of fixed point operations, approximations may be used for certain mathematical operations such as logarithms, exponentials, etc. Alternatively, the disclosed system may be implemented partially or fully in hardware using standard logic circuits or VLSI design. Whether software or hardware is used to implement the systems in accordance with this invention is dependent on the speed and/or efficiency requirements of the system, the particular function, and the particular software or hardware systems or microprocessor or microcomputer systems being utilized. The systems and methods illustrated herein can be readily implemented in hardware and/or software using any known or later developed systems or structures, devices and/or software by those of ordinary skill in the applicable art from the functional description provided herein and with a general basic knowledge of the audio processing arts.


Moreover, the disclosed methods may be readily implemented in software that can be stored on a storage medium, executed on programmed general-purpose computer with the cooperation of a controller and memory, a special purpose computer, a microprocessor, or the like. In these instances, the systems and methods of this invention can be implemented as program embedded on personal computer such as an applet, JAVA®. or CGI script, as a resource residing on a server or computer workstation, as a routine embedded in a dedicated system or system component, or the like. The system can also be implemented by physically incorporating the system and/or method into a software and/or hardware system, such as the hardware and software systems of an electronic device.


It is therefore apparent that there has been provided, in accordance with the present invention, systems and methods for improved signal decomposition in electronic devices. While this invention has been described in conjunction with a number of embodiments, it is evident that many alternatives, modifications and variations would be or are apparent to those of ordinary skill in the applicable arts. Accordingly, it is intended to embrace all such alternatives, modifications, equivalents and variations that are within the spirit and scope of this invention.

Claims
  • 1. An apparatus capable of creating an initial set of values in a row of a weight matrix in non-negative matrix factorization to decompose digital signals, the apparatus capable of: generating the initial set of values of the row of the weight matrix from a ratio of a first function of a first signal of a plurality of digital audio signals divided by a second function of at least two other signals of the plurality of the digital audio signals, wherein the row in the weight matrix determines a decomposition of the plurality of digital audio signals into signal components; andaudibly outputting a portion of one or more of the components of the decomposed plurality of digital audio signals at least based on input from an interface element.
  • 2. The apparatus of claim 1, wherein the digital audio signals are one or more of binaural or multichannel audio signals.
  • 3. The apparatus of claim 1, wherein the first and second functions are calculated from one or more filtered versions of said digital audio signals.
  • 4. The apparatus of claim 1, wherein the first and second functions are calculated in one or more of the time domain, the frequency domain, theme-frequency domain.
  • 5. The apparatus of claim 1, wherein the first and second functions are calculated using one or more of energy, power, root mean square, geometric mean, arithmetic mean, euclidean norm, taxicab norm, or Lp norm.
  • 6. The apparatus of claim 1, wherein the digital audio signals are one or more of binaural or multichannel audio signals and the output portion of the one or more of the components are used for one or more of: source separation, signal restoration, signal enhancement, noise removal, un-mixing, up-mixing and re-mixing.
  • 7. The apparatus of claim 1, wherein the output portion of the one or more of the components are used for one or more of: source separation, signal restoration, signal enhancement, noise removal, un-mixing, up-mixing and re-mixing.
  • 8. The apparatus of claim 1, wherein the plurality of digital signals are a single source coming from an original mixture of multiple sources.
  • 9. The apparatus of claim 1, further comprising automatically sorting one or more of the components.
  • 10. A non-transitory computer readable information storage media having stored therein instructions, that when executed by one or more processors, cause to be performed a method of creating an initial set of values in a row of a weight matrix in non-negative matrix factorization to decompose digital signals, the method comprising:generating the initial set of values of the row of the weight matrix from a ratio of a first function of a first signal of a plurality of digital audio signals divided by a second function of at least two other signals of the plurality of the digital audio signals, wherein the row in the weight matrix determines a decomposition of the plurality of digital audio signals into signal components; andaudibly outputting a portion of one or more of the components of the decomposed plurality of digital audio signals at least based on input from an interface element.
  • 11. The media of claim 10, wherein the digital audio signals are one or more of binaural or multichannel audio signals.
  • 12. The media of claim 10, wherein the first and second functions are calculated from one or more filtered versions of said digital audio signals.
  • 13. The media of claim 10, wherein the first and second functions are calculated in one or more of the time domain, the frequency domain, theme-frequency domain.
  • 14. The media of claim 10, wherein the first and second functions are calculated using one or more of energy, power, root mean square, geometric mean, arithmetic mean, euclidean norm, taxicab norm, or Lp norm.
  • 15. The media of claim 10, wherein the digital audio signals are one or more of binaural or multichannel audio signals and the output portion of the one or more of the components are used for one or more of: source separation, signal restoration, signal enhancement, noise removal, un-mixing, up-mixing and re-mixing.
  • 16. The media of claim 10, wherein the output portion of the one or more of the components are used for one or more of: source separation, signal restoration, signal enhancement, noise removal, un-mixing, up-mixing and re-mixing.
  • 17. The media of claim 10, wherein the plurality of digital signals are a single source coming from an original mixture of multiple sources.
  • 18. The media of claim 10, further comprising automatically sorting one or more of the components.
  • 19. An apparatus capable of creating an initial set of values in a row of a weight matrix in non-negative matrix factorization to decompose digital signals, the apparatus comprising: means for generating the initial set of values of the row of the weight matrix from a ratio of a first function of a first signal of a plurality of digital audio signals divided by a second function of at least two other signals of the plurality of the digital audio signals, wherein the row in the weight matrix determines a decomposition of the plurality of digital audio signals into signal components; andmeans for audibly outputting a portion of one or more of the components of the decomposed plurality of digital audio signals at least based on input from an interface element.
CROSS REFERENCE TO RELATED APPLICATIONS

This application is a Continuation of U.S. patent application Ser. No. 16/521,844, filed Jul. 25, 2019, now U.S. Pat. No. 11,238,881, which is a Continuation of U.S. patent application Ser. No. 15/804,675, filed Nov. 6, 2017, now U.S. Pat. No. 10,366,705, which is a Continuation of U.S. patent application Ser. No. 14/011,981, filed Aug. 28, 2013, now U.S. Pat. No. 9,812,150, each of which are incorporated herein by reference in their entirety.

US Referenced Citations (101)
Number Name Date Kind
5490516 Hutson Feb 1996 A
6263312 Kolesnik et al. Jul 2001 B1
6301365 Yamada et al. Oct 2001 B1
6393198 LaMacchia May 2002 B1
6542869 Foote Apr 2003 B1
6606600 Murgia et al. Aug 2003 B1
8103005 Goodwin et al. Jan 2012 B2
8130864 Lee et al. Mar 2012 B1
8380331 Smaragdis et al. Feb 2013 B1
9230558 Disch et al. Jun 2016 B2
9363598 Yang Jun 2016 B1
9584940 Tsilfidis et al. Feb 2017 B2
9812150 Kokkinis et al. Nov 2017 B2
9918174 Tsilfidis et al. Mar 2018 B2
10262680 Mysore Apr 2019 B2
10366705 Kokkinis et al. Jul 2019 B2
10468036 Tsilfidis et al. Nov 2019 B2
11238881 Kokkinis et al. Feb 2022 B2
20030078024 Magee et al. Apr 2003 A1
20030191638 Droppo et al. Oct 2003 A1
20040213419 Varma et al. Oct 2004 A1
20040220800 Kong et al. Nov 2004 A1
20050069162 Haykin et al. Mar 2005 A1
20050143997 Huang et al. Jun 2005 A1
20050232445 Vaudrey et al. Oct 2005 A1
20060056647 Ramakrishnan et al. Mar 2006 A1
20060109988 Metcalf May 2006 A1
20060112811 Padhi et al. Jun 2006 A1
20070165871 Roovers et al. Jul 2007 A1
20070195975 Cotton et al. Aug 2007 A1
20070225932 Halford Sep 2007 A1
20080021703 Kawamura et al. Jan 2008 A1
20080019548 Avendano Jun 2008 A1
20080130924 Vaudrey et al. Jun 2008 A1
20080152235 Bashyam et al. Jun 2008 A1
20080167868 Kanevsky et al. Jul 2008 A1
20080232603 Soulodre Sep 2008 A1
20080288566 Umeno et al. Nov 2008 A1
20090003615 Roovers et al. Jan 2009 A1
20090006038 Jojic et al. Jan 2009 A1
20090080632 Zhang et al. Mar 2009 A1
20090086998 Jeong et al. Apr 2009 A1
20090094375 Lection Apr 2009 A1
20090128571 Smith et al. May 2009 A1
20090132245 Wilson et al. May 2009 A1
20090150146 Cho et al. Jun 2009 A1
20090231276 Ullrich et al. Sep 2009 A1
20090238377 Ramakrishnan et al. Sep 2009 A1
20100094643 Avendano et al. Apr 2010 A1
20100111313 Namba et al. May 2010 A1
20100138010 Aziz Sbai et al. Jun 2010 A1
20100174389 Blouet et al. Jul 2010 A1
20100180756 Fliegler et al. Jul 2010 A1
20100185439 Crockett Jul 2010 A1
20100202700 Rezazadeh et al. Aug 2010 A1
20100332222 Bai et al. Dec 2010 A1
20110058685 Sagayama et al. Mar 2011 A1
20110064242 Parikh Mar 2011 A1
20110078224 Wilson et al. Mar 2011 A1
20110194709 Ozerov et al. Aug 2011 A1
20110206223 Ojala Aug 2011 A1
20110255725 Faltys et al. Oct 2011 A1
20110261977 Hiroe Oct 2011 A1
20110264456 Koppens et al. Oct 2011 A1
20120101401 Faul et al. Apr 2012 A1
20120101826 Visser et al. Apr 2012 A1
20120128165 Visser et al. May 2012 A1
20120130716 Kim May 2012 A1
20120143604 Singh Jun 2012 A1
20120163513 Park et al. Jun 2012 A1
20120189140 Hughes Jul 2012 A1
20120207313 Ojanpera Aug 2012 A1
20120213376 Hellmuth et al. Aug 2012 A1
20120308015 Ramteke Dec 2012 A1
20130021431 Lemmey et al. Jan 2013 A1
20130070928 Ellis et al. Mar 2013 A1
20130132082 Smaragdis May 2013 A1
20130194431 O'Connor et al. Aug 2013 A1
20130230121 Molko et al. Sep 2013 A1
20130297296 Yoo et al. Nov 2013 A1
20130297298 Yoo et al. Nov 2013 A1
20140037110 Girin et al. Feb 2014 A1
20140201630 Bryan Jul 2014 A1
20140218536 Anderson, Jr. et al. Aug 2014 A1
20140328487 Hiroe Nov 2014 A1
20140358534 Sun et al. Dec 2014 A1
20150077509 Ben Natan et al. Mar 2015 A1
20150181359 Kim et al. Jun 2015 A1
20150211079 Datta et al. Jul 2015 A1
20150221334 King et al. Aug 2015 A1
20150222951 Ramaswamy Aug 2015 A1
20150235555 Claudel Aug 2015 A1
20150235637 Casado et al. Aug 2015 A1
20150248891 Adami et al. Sep 2015 A1
20150264505 Tsilfidis et al. Sep 2015 A1
20150317983 Tsilfidis et al. Nov 2015 A1
20160064006 Disch et al. Mar 2016 A1
20160065898 Lee Mar 2016 A1
20170171681 Tsilfidis et al. Jun 2017 A1
20180176705 Tsilfidis et al. Jun 2018 A1
20200075030 Tsilfidis et al. Mar 2020 A1
Foreign Referenced Citations (1)
Number Date Country
WO 2013030134 Mar 2013 WO
Non-Patent Literature Citations (42)
Entry
Cichocki, Andrzej et al. “Nonnegative Matrix and Tensor Factorizations: Applications to Exploratory Multi-Way Data Analysis and Blind Source Separation” Chapter, 1, Sections 1.4.3 and 1.5; John Wiley & Sons, 2009.
Frederic, John “Examination of Initialization of Techniques for Nonnegative Matrix Factorization” Georgia State University Digital Archive @ GSU; Department of Mathematics and Statistics, Mathematics Theses; Nov. 21, 2008.
Guy-Bart, Stan et al. “Comparison of Different Impulse Response Measurement Techniques” Sound and Image Department, University of Liege, Institute Montefiore B28, Sart Tilman, B-4000 Liege 1 Belgium, Dec. 2002.
Huang, Y.A., et al. “Acoustic MIMO Signal Processing; Chapters—Blind Identification of Acoustic MIMO systems” Springer US, 2006, pp. 109-167.
Pedersen, Michael Syskind et al. “Two-Microphone Separation of Speech Mixtures” IEEE Transactions on Neural Networks, vol. 10, No. 3, Mar. 2008.
Schmidt, Mikkel et al. “Single-Channel Speech Separation Using Sparse Non-Negative Matrix Factorization” Informatics and Mathematical Modelling, Technical University of Denmark, Proceedings of Interspeech, pp. 2614-2617 (2006).
Vincent, Emmanuel et al. “Adaptive Harmonic Spectral Decomposition for Multiple Pitch Estimation” IEEE Transactions on Audio, Speech, and Language Processing, vol. 18. No. 3, Mar. 2010.
Wilson, Kevin et al. “Speech Denoising Using Nonnegative Matrix Factorization with Priors” Mitsubishi Electric Research Laboratories; IEEE International Conference on Acoustics, Speech and Signal Processing, pp. 4029-4032; Aug. 2008.
European Search Report for European Patent Application No. 15001261.5, dated Sep. 8, 2015.
Office Action for U.S. Appl. No. 14/011,981, dated May 5, 2015.
Office Action for U.S. Appl. No. 14/011,981, dated Jan. 7, 2016.
Office Action for U.S. Appl. No. 14/011,981, dated Jul. 28, 2016.
Office Action for U.S. Appl. No. 14/011,981, dated Feb. 24, 2017.
Advisory Action for U.S. Appl. No. 14/011,981, dated Aug. 10, 2017.
Notice of Allowance for U.S. Appl. No. 14/011,981, dated Sep. 12, 2017.
Notice of Allowance for U.S. Appl. No. 15/804,675, dated Mar. 20, 2019.
Office Action for U.S. Appl. No. 16/521,844, dated Jan. 28, 2021.
Office Action for U.S. Appl. No. 16/521,844, dated Jun. 4, 2021.
Notice of Allowance for U.S. Appl. No. 16/521,844, dated Sep. 27, 2021.
Office Action for U.S. Appl. No. 14/645,713 dated Apr. 21, 2016.
Notice of Allowance for U.S. Appl. No. 15/218,884 dated Dec. 22, 2016.
Office Action for U.S. Appl. No. 15/443,441 dated Apr. 6, 2017.
Notice of Allowance for U.S. Appl. No. 15/443,441 dated Oct. 26, 2017.
Office Action for U.S. Appl. No. 15/899,030 dated Mar. 27, 2018.
Office Action for U.S. Appl. No. 15/899,030 dated Jan. 25, 2019.
Office Action for U.S. Appl. No. 14/265,560 dated Nov. 3, 2015.
Office Action for U.S. Appl. No. 14/265,560 dated May 9, 2016.
Office Action for U.S. Appl. No. 14/265,560 dated May 17, 2017.
Office Action for U.S. Appl. No. 14/265,560 dated Nov. 30, 2017.
Advisory Action for U.S. Appl. No. 14/265,560 dated May 17, 2018.
Non-Final Office Action for U.S. Appl. No. 14/265,560 dated Nov. 2, 2018.
Notice of Allowance for U.S. Appl. No. 14/265,560 dated Jun. 13, 2019.
Non-Final Office Action for U.S. Appl. No. 16/674,135 dated Aug. 27, 2021.
U.S. Appl. No. 14/011,981, filed Aug. 28, 2013 U.S. Pat. No. 9,812,150.
U.S. Appl. No. 15/804,675, filed Nov. 6, 2017 U.S. Pat. No. 10,366,705.
U.S. Appl. No. 16/521,844, filed Jul. 25, 2019 U.S. Pat. No. 11,238,881.
U.S. Appl. No. 14/645,713, filed May 12, 2015.
U.S. Appl. No. 15/218,884, filed Jul. 25, 2016 U.S. Pat. No. 9,584,940.
U.S. Appl. No. 15/443,441, filed Feb. 27, 2017 U.S. Pat. No. 9,918,174.
U.S. Appl. No. 15/899,030, filed Feb. 19, 2018.
U.S. Appl. No. 14/265,560, filed Apr. 30, 2014 U.S. Pat. No. 10,468,036.
U.S. Appl. No. 16/674,135, filed Nov. 5, 2019.
Related Publications (1)
Number Date Country
20220148612 A1 May 2022 US
Continuations (3)
Number Date Country
Parent 16521844 Jul 2019 US
Child 17587598 US
Parent 15804675 Nov 2017 US
Child 16521844 US
Parent 14011981 Aug 2013 US
Child 15804675 US