The present invention contains subject matter related to Japanese Patent Application JP 2005-164463 filed in the Japanese Patent Office on Jun. 3, 2005,the entire contents of which being incorporated herein by reference.
1. Field of the Invention
The present invention relates to an audio signal separation device and a method thereof, which separate plural signals mixed in an audio signal, from one another, by independent component analysis (ICA).
2. Description of the Related Art
In the field of signal processing, attention has been paid to a method of independent component analysis in which original signals are separated and restored when plural original signals are linearly mixed up by an unknown coefficient. If this independent component analysis is applied to audio signals, for example, voices simultaneously spoken by plural speakers can be observed by plural microphones, and the observed voices can then be separated for respective speakers or into noise and voices.
Referring to
Suppose that there are n original signals s1 to sn which are generated by n sound sources and are independent from one another and that a vector with these signals as elements thereof. Observation signals observed by microphones each are a mixture of the plural original signals. Suppose that x1 to xn are signals observed by n microphones and x is a vector with these observation signals as elements thereof.
According to the independent component analysis in a time-frequency domain as described above, signal separation processing is performed for each frequency bin. No consideration is taken into the relationship between the frequencies bin one another. Therefore, separation destinations are often inconsistent although the separation is complete successfully. The inconsistent separation destinations appear, for example, as a phenomenon that a signal caused by s1 appears as Y1 where ω=1 while a signal caused by s2 appears as Y1 where ω=2. This phenomenon is also called permutation.
The problem of this permutation is solved by postprocessing of exchanging signals with one another for each frequency bin, to rearrange consistently the separation destinations.
To solve the problem of permutation as described above, exchange is carried out in postprocessing. In the postprocessing, a spectrogram as shown in
However, as for the item (a) described above, difference between envelopes is unclear depending on the frequency bin, in some cases. Such cases may cause wrong exchange of signals. Once wrong exchange takes place, separation destinations are mistaken for each subsequent frequency bin. As for the item (b), there is a problem of accuracy in estimating directions, and besides, information concerning positions and directions of microphones and intervals therebetween are necessary. As for the item (c) combining both of the items (a) and (b), position information concerning microphones are necessary like the foregoing item (b) although exchange accuracy improves. The item (d) has to construct a neutral network in advance and some knowledge about original signals is necessary.
Thus, in the past, no method can solve the problem of permutation with good accuracy without utilizing knowledge about original signals or utilizing information concerning positions of microphones and the like.
The present invention has been made in view of the situation as described above. It is desirable to provide an audio separation device and a method thereof which are capable of solving the problem of permutation with high accuracy without utilizing knowledge about original signals or information concerning positions of microphones and the like, when each one of plural signals mixed in an audio signal is separated by use of independent component analysis.
According to an embodiment of the present invention, there is provided an audio signal separation device which generates separate signals by separating each one of plural signals mixed up in a plural channels of observation signals in time domain from the observation signals by use of independent component analysis, the audio signal separation device including: a transformation means for transforming the observation signals in time domain into time-frequency domain, to generate a spectrogram of the observation signals; a separation means for generating spectrograms of the separate signals from the spectrogram of the observation signals; and a permutation problem solution means for solving a permutation problem in the spectrograms of the separate signals, wherein the permutation problem solution means calculates a scale corresponding to a degree of permutation, from substantial whole of the spectrograms of the separate signals, and exchanges signals at each of frequencies bin of the spectrograms of the separate signals between channels according to the calculated scale, to solve the permutation problem.
Also according to an embodiment of the present invention, there is provided an audio signal separation method for generating separate signals by separating each one of plural signals mixed up in plural channels of observation signals in time domain from the observation signals by use of independent component analysis, the audio signal separation method including: a transformation step of transforming the observation signals in time domain into time-frequency domain, to generate a spectrogram of the observation signals; a separation step of generating spectrograms of the separate signals from the spectrograms of the observation signals; and a permutation problem solution step of solving a permutation problem in the spectrograms of the separate signals, wherein in the permutation problem solution step, a scale corresponding to a degree of permutation is calculated from substantial whole of the spectrograms of the separate signals, and signals at each of frequencies bin of the spectrograms of the separate signals are exchanged between channels according to the calculated scale, to solve the permutation problem.
According to the audio signal separation device and the method thereof, the problem of permutation can be solved with high accuracy without utilizing knowledge about original signals or information concerning positions of microphones and the like when each one of plural signals mixed in an audio signal is separated by use of independent component analysis.
An embodiment to which the present invention is applied will now be described specifically with reference to the drawings. In this embodiment, the present invention is applied to an audio signal separation device which separates each signal of plural signals mixed in an audio signal from the audio signal by use of independent component analysis. Particularly in the audio signal separation device according to the present embodiment, as a scale to measure the degree of permutation, a Kullback-Leiblar information amount (hereinafter referred to as a “KL information amount”) calculated by use of a multidimensional probability density function is calculated or multidimensional kurtosis is calculated from the all spectrograms (or substantially all spectrogram). For each frequency bin, signals are exchanged so as to minimize the degree of permutation.
In the following, the point to be described first will be that the KL information amount calculated by use of a multidimensional probability density function and the multidimensional kurtosis can be utilized as scales to measure the degree of permutation. Specific configuration of the audio signal separation device according to the present embodiment will be described next.
(KL Information Amount Calculated by use of a Multidimensional Probability Density Function)
The KL information amount is a scale expressing independence between plural signals and is defined by the expression (5) below. In the expression (5), H(Yk) is entropy calculated from a spectrogram Yk of a channel k and H(Y) is simultaneous entropy calculated from spectrograms Y of all channels. Where the number of channels=2,the relationship between H(Yk) and H(Y) will be shown in
Since the KL information amount defined by the expression (5) is calculated from the all spectrograms, the value of the KL information amount varies depending on whether permutation takes place in spectrograms. This will be described in more details below.
Suppose that a spectrogram in which permutation takes place immediately after separation is Y′ and another spectrogram after permutation of the problem is solved is Y. A matrix expressing an operation of solving the permutation of the problem (i.e., an operation of exchanging signals between channels of the same frequency bin) is expressed as P. Y=PY′ is derived herefrom. Hence, the expression (5) described above can be solved into the expression (6). The first term of the expression (6) is based on an equation defining entropy. The second and third terms thereof are based on the relationship of H(Y)=Log|det(P)|+H(Y′) derived from Y=PY′. Since the matrix P is simply a replacement of rows in a unit matrix, det(P)=±1 is given. H(Y′) can be regarded as a constant when solving the problem of permutation. Therefore, the expression (6) described above can be solved into the expression (7). The size of the KL information amount is determined by the total sum of entropies H(Yk) of all channels and does not depend on the simultaneous entropy H(Y) of all channels.
To obtain the entropy H(Yk) of a channel k, a vector Yk(t) obtained by cutting a part designated at a frame number t from a spectrogram Yk is substituted into PYk( ) as a probability density function (PDF) of Yk, to obtain event probability of the vector. H(Yk) is calculated by averaging a minus logarithm of the event probability by the total time. Et[ ] expresses an average in the time direction.
When Yk(t) is substituted into PYk( ) to obtain the event probability, all elements of Yk(t) do not have to be used. For example, a power D(ω) per frequency bin (per ω) may be calculated by the following expression (8), and only those elements that correspond to L frequencies bin having higher powers may be used.
There is a certain relationship between the size of the KL information amount and the degree of permutation. Depending on setting of the probability density function PYk( ), a case of no permutation taking place can be set as a maximum or minimum value of the KL information amount.
An example of the probability density function of the spectrogram Yk will be defined by the expression (9) below. That is, an L-N norm of Yk(t) substituted into an arbitrary nonnegative function f( ) taking a scalar value as an argument is used as the probability density function. Note that the L-N norm is obtained by summing up n-th powers of absolutes of vector elements and by finally calculating an n-th root thereof, as expressed by the expression (10) below. In the expression (9), h is a constant by which each argument of PYk(Yk(t)) integrated within a range of −∞ to +∞ is adjusted to 1,or in other words, the total sum of the event probabilities is adjusted to 1. However, in order to solve the problem of permutation, only the size of the KL information amount is important, and therefore, h can be any value as long as the value is positive. In the following, h=1 is given.
The function f( ) in the above expression (9) can take various functions. An example of f( ) and logPYk(Yk(t)) thereof will be expressed by the following expressions (11) to (20). PYk(Yk(t)) using f(x)=1/|x|m in the expression (15) does not match the characteristics of the probability density function because integration value thereof diverges. However, PYk(Yk(t)) using f(x)=1/|x|m is cited as an example of the probability density function because entropy thereof can be calculated.
Hereinafter, an experiment which has proved that the KL information amount is maximized or minimized only when no permutation takes place. In this experiment, permutation was artificially caused in two spectrograms which had not involved permutation. The relationship between the degree of permutation and the KL information amount was plotted to confirm that the KL information amount is maximized or minimized only when no permutation takes place.
Described first will be a case where the number of channels=2 is given.
In this experiment, at first, 40,000 samples were sampled from files “s1.wav” and “s2.wav” (sampling frequency 16 kHz) provided on a web site (“http://www.kecl.ntt.co.jp/icl/signal/mukai/demo/hscma2005/). Short-time Fourier transformation (window length=512 and shift width=128) was performed on the signal in this time domain. Two spectrograms (frequency bin number=257 and frame number=497) in which no permutation occurred were thus generated. From these two spectrograms, one frequency bin was selected according to certain references, and signals at the frequency bin were exchanged to cause artificially permutation. As the references for selecting the frequency bin, four ways were attempted: (a) the frequency bin had large power; (b) the frequency bin was selected from ω=1; and (c and d) the frequency bin was selected at random. In any of these ways, those frequencies bin that had once been selected were excluded from selections.
The KL information amount was calculated every time when signals at a frequency bin were exchanged. The relationship between the number of frequencies subjected to exchange (horizontal axis) and the KL information amount (vertical axis) was plotted. Plotted results are shown in
Results concerning functions not shown in
If a convex function is used, the problem of permutation can be solved by exchanging signals at the frequency bin such that the KL information amount decreases. Otherwise, if a concave function is used, the problem of permutation can be solved by exchanging signals at the frequency bin such that the KL information amount increases.
Whether the characteristic curve of the KL information amount is convex or concave depends on whether f( ) has a super-gaussian distribution or a sub-gaussian distribution where f( ) is regarded as a primary probability density function. The term of “super-gaussian” represents a kind of distribution which is sharper in the vicinity of an average value and is smoother (having wider skirts) in the periphery than a regular (gaussian) distribution. On the other side, the “sub-gaussian” represents another kind of distribution which is smoother in the vicinity of an average value and has narrower skirts in the periphery.
A next description will be made of a case where the number of channels=3 is given.
In this experiment as well, at first, 40,000 samples were sampled from files “s1.wav”, “s2.wav” and “s3.wav” (sampling frequency 16 kHz) provided on a web site (“http://www.kecl.ntt.co.jp/icl/signal/mukai/demo/hscma2005/). Short-time Fourier transformation (window length=512 and shift width=128) was performed on the signal in this time domain. Three spectrograms (frequency bin number=257 and frame number=497) in which no permutation occurred were thus generated. From these three spectrograms, one frequency bin was selected according to references (a) to (d) described previously. Signals at the frequency bin were exchanged to cause artificially permutation.
The KL information amount was calculated every time when signals at a frequency bin were exchanged. The relationship between the number of frequencies subjected to exchange (horizontal axis) and the KL information amount (vertical axis) was plotted. Plotted results are shown in
In the above, descriptions have been made in case of using a multidimensional probability density function based on an L-N norm, for example. However, another multidimensional probability density function can be used.
For example, in the above expression (9), the value substituted into f( ) may be changed from the L-N norm to a Mahalanobis distance (square root of Yk(t)HΣk−1Yk(t)). Then, the following expression (21) is obtained. The probability density function given by the expression (21) is called elliptical distribution. In the present embodiment, a probability density function based on this elliptical distribution can be used. In the expression (21), Yk(t)H is a Hermitian transposition of Yk(t) (elements are replaced with complex conjugate numbers and vectors or matrices are transposed). Further, Σk is a variance-covariance matrix of Yk(t) and is calculated by the expression (22) below.
If the number of channels=2 and f(x)=exp(−|x|) are given, the relationship between the number of frequencies bin at which signals are exchanged (horizontal axis) and the KL information amount (vertical axis) is shown in
It takes time if a variance-covariance matrix is calculated every time when signals at a frequency bin are exchanged. Hence, only diagonal elements of a variance-covariance matrix may be used. In this case, characteristic curves having substantially the same characteristics as shown in
In the present embodiment, a probability density function based on a Copula model can be used as a further another multidimensional probability density function. The multidimensional probability density function based on a Copula model is described in the description and drawings included in Japanese Patent Application No. 2005-18822 which the present applicant proposed previously.
(Multidimensional Kurtosis)
Kurtosis is also called a fourth order cumulant and is used as a scale to measure how far signal distribution differs from regular distribution.
Kurtosis of a multidimensional amount (the number of dimensions is M since spectrograms of the frequency bin number=M are used) is defined by the expression (23) below. The kurtosis is 0 when the distribution of a vector Yk(t) is regular distribution (multivariate normal distribution); a positive value when the distribution of the vector Yk(t) is super-gaussian distribution; or a negative value when the distribution of the vector Yk(t) is sub-gaussian distribution.
Suppose now that a spectrogram in which no permutation takes place is other distribution than regular distribution. In general, a discontinuous sound (like a voice) tends to have super-gaussian distribution easily. A continuous sound (like a music wave) tends to have sub-gaussian distribution easily. On the other side, when permutation takes place, plural signals are mixed up so that the distribution thereof approximates to regular distribution. That is, when kurtosis of each channel is calculated, the kurtosis becomes closer to zero as the degree of permutation increases greater. Therefore, the total sum of absolute values of kurtoses of respective channels (which will be hereinafter called “total kurtosis”) as expressed by the following expression (24) can be used as a scale to measure the degree of permutation. Note that the total kurtosis increases as the degree of permutation decreases.
One frequency bin was selected according to the references (a) to (d) described previously, with respect to two spectrograms obtained from the files “s1.wav” and “s2.wav” also described previously. Every time when signals at the selected frequency bin were exchanged, the total kurtosis was calculated. At this time, the relationship between the number of frequencies bin at which signals were exchanged (horizontal axis) and the total kurtosis (vertical axis) was plotted. Plotted results are shown in
In case of using kurtosis, only diagonal elements of the variance-covariance matrix may be used in place of calculating all elements of the variance-covariance matrix, like in case of using elliptical distribution.
Further, all elements of Yk(t) do not necessarily have to be used. For example, the power D(ω) for each frequency bin (for each ω) may be calculated according to the expression (8) described previously, and only those elements that correspond to L frequencies bin having higher powers may be used.
(Specific Configuration of the Audio Signal Separation Device)
The above descriptions have been made to a point that the KL information amount calculated by use of a multidimensional probability density function and the multidimensional kurtosis can be used as scales to measure the degree of permutation. Hereinafter, specific configuration of an audio signal separation device according to the present embodiment will be described.
A rescaling section 14 performs processing of aligning the scale with each frequency bin of the spectrograms of the separate signals. If normalization processing (averaging or divergence adjustment) has been effected on the observation signals before the separation processing, the resealing section 14 performs restoring processing. With respect to spectrograms of separate signals in which permutation takes place, a permutation problem solution section 15 exchanges signals for each frequency bin, based on the KL information amount calculated by use of a multidimensional probability density function or multidimensional kurtosis, thereby to solve the problem of permutation. An inverse Fourier transformation section 16 performs inverse Fourier transformation on the spectrograms of the separate signals of which the problem of permutation has been solved, thereby to generate separate signals in time domain. A D/A conversion section 17 performs D/A conversion on the separate signals in time domain, and n loudspeakers 181 to 18n respectively reproduce independent sounds.
The audio signal separation device 1 is configured to reproduce sounds through the n loudspeakers 181 to 18n. However, separate signals may be outputted and subjected to voice recognition. In this case, the inverse Fourier transformation may appropriately be omitted.
Outline of processing executed by the audio signal separation device will now be described with reference to the flowchart shown in
Permutation has taken place in the separate signals obtained in step S3, and the scales of respective frequencies bin are different from one another. Hence, in step S4, resealing processing is carried out to align the scales between the frequencies bin. In this step, processing for restoring an original average and an original standard deviation which have been changed through normalization processing is performed. In subsequent step S5, with respect to spectrograms of separate signals in which permutation has taken place, signals are exchanged for each frequency bin, based on the KL information amount calculated by use of a multidimensional probability density function or based on multidimensional kurtosis, to solve the problem of permutation. Details of this step S5 will be described later. In subsequent step S6, inverse Fourier transformation is performed on spectrograms of separate signals of which the problem of permutation has been solved, thereby to generate separate signals in time domain. In step S7, the separate signals are reproduced through the loudspeakers.
Details of permutation problem solution processing in step S5 described above will now be described with reference to
At first in step S11, a permutation including numbers of frequencies bin is generated. In other words, where the number of frequencies bin is M, such a permutation in which numbers of 1 to M each appear one time is generated. In the subsequent processing, frequencies bin are selected along this permutation. Used as this permutation is one selected from (a) a permutation arranged in the order from ω=1 to ω=M, (b) a permutation arranged in the order from ω=M to ω=1,(c) a permutation arranged in the order from the frequency bin having the greatest power, and (d) a permutation arranged at random. The permutation (c) can be generated by obtaining the power for each frequency bin, according to the expression (8) described previously, and by sorting the obtained powers in the descending order. Hereinafter, the permutation generated in this way is expressed as [bin(1), . . . bin(M)].
Next in step S12, all permutations including channel numbers are generated. These permutations show combinations of channels between which signals are exchanged for each frequency bin. Where the channel number is n, there are n! combinations. If the generated permutation is expressed as [a1, . . . ak, . . . an], ak indicates that “the signal of the channel k after exchange is the same as that of the channel ak before exchange”. For example, if n=2 is given, there are two permutations of [1, 2] and [2, 1] which respectively mean “nothing replaced” and “channels 1 and 2 exchanged”. Where n=3 is given, there are six permutations of [1, 2, 3] up to [3, 2, 1]. For example, [2, 1, 3] of the six permutations indicates that “channels 1 and 2 are exchanged with the channel 3 kept intact”. In the following, these permutations are expressed by a parameter of p(1), p(2), . . . , p(n!). Note that p(1) indicates [1, 2, . . . , n], i.e., “no channel replaced”.
In subsequent step S13, Y is substituted with Y′. Y is a parameter to store spectrograms after exchanging signals at a frequency bin. Y′ indicates spectrograms in which permutation takes place immediately after separation.
Steps S14 to S24 constitute an outer loop which is repeated a number of times described later. The meaning of this outer loop will be also described later. Steps S15 to S23 constitute a loop concerning the frequency bin. In this loop, frequencies bin are selected according to the permutation ([bin(1), . . . , bin(M)]) generated in step S11. Signals at the selected frequencies bin are exchanged between channels. In subsequent steps, signals at the ω-th frequency bin are repeatedly used. Therefore, in step S16, the signals at the ω-th frequency bin are stored as a parameter Ytmp. Ytmp is a matrix having the same dimensions as Y(ω), i.e., a matrix including n row vectors Ytmp1 to Ytmpn. Steps S17 to S20 constitute a loop with respect to the permutation of channel numbers. This loop is let cycle with respect to the n! permutations (p(1), p(2), . . . , p(n!)) obtained in step S12, and signals at the frequency bin are exchanged between channels, according to each of the permutations.
Specifically, in step S18, Y(ω) is substituted with a resultant obtained by performing exchange on Ytmp, according to p(j). For example, where n=3 and p(j)=[2, 1, 3] are given, Y1(ω)=Ytmp2, Y2(ω)=Ytmp1, and Y3(ω)=Ytmp3 are obtained.
In subsequent step S19, the KL information amount of the entire Y or multidimensional kurtosis is calculated. At this time, not only Y(ω) but also the entire Y (or substantially entire Y) are used. Therefore, even if wrong exchange takes place at a particular frequency bin, there is no risk of causing wrong exchange in all of subsequent frequencies bin.
The processings of steps S18 and S19 are carried out with respect to all permutations of channel numbers, to calculate the KL information amount or multidimensional kurtosis. In step S21, indexes corresponding to maximum or minimum values thereof are obtained. If an obtained index is j′, the exchange combination p(j′) corresponding to j′ can be the exchange method which solves the problem of permutation of the ω-th frequency bin, with high possibility. Hence, in step S22, Y(ω) is substituted with a resultant obtained by performing exchange on Ytmp, according to p(j′). The processing from step S16 to step S22 is performed on all frequencies bin.
If the processing from step S15 to step S23 is performed not only one time but also two or three times, the problem of permutation can be solved to a higher degree. More specifically, a frequency bin of which the problem of permutation is not solved may remain after performing the processing one time. However, this problem of permutation may be solved after performing the processing two or more times. Therefore, the loop is let cycle outside steps S15 to S23. The number of repetitions of this outer loop may be fixed (e.g., three times) or the outer loop may cycle until the number of frequencies bin at which permutation has taken place in step S22, i.e., the number of frequencies bin which give j′≠1 becomes a constant number (e.g., 10) or smaller or becomes a constant rate (e.g., 5%) or lower.
In a stage after coming out of the outer loop, a spectrogram of which the problem of permutation had been solved has been stored as the parameter Y.
With reference to the flowchart described above, the permutations including numbers of the frequencies bin and generated in step S11 has been described as being kept used. However, this step S11 may be shifted into the outer loop. Accordingly, a different permutation may be used every time the outer loop is repeated. For example, in the first cycle, the permutation of frequencies bin “arranged in the order from the frequency bin having the greatest power” may be used. In the second cycle, the permutation of frequencies bin “arranged in the order from ω=1 to ω=M” may be used.
(Specific Examples of Results of Solving the Problem of Permutation)
Specific examples of results of solving the problem of permutation will now be described. In the following, the KL information amount was calculated where f(x)=1/|x|m and L=1 were given in the multidimensional probability density function based on the L-N norm, according to the expression (9) described previously. Based on this KL information amount, the problem of permutation was solved. The sampling frequency of a used observation signal was 16 kHz. In short-time Fourier transformation, a Hanning window having a window length of 512 (the number of frequencies bin is 257) was used with a shift width of 128. Further, the outer loop in the flowchart shown in
At first, 40,000 samples were sampled from the top of a file “X_rsm2.wav” (sampling frequency 16 kHz) provided on a web site (“http://www.ism.ac.jp/ shiro/research/blindsep.html). Separation processing was performed on these samples, according to an existing independent component analysis method, e.g., according to an extended infomax method with pre-whitening.
Permutation problem solution processing was performed on this spectrogram, according to the method of the present embodiment.
Described next will be results of carrying out permutation problem solution processing on permutation artificially created, according to the method of the present embodiment.
At first, two examples will be cited in case where the number of channels=2 is given.
Permutation which was caused to take place at frequencies bin of about 33% of the spectrograms shown in
Similarly, permutation which was caused to take place at frequencies bin of about 50% of two spectrograms is shown in
Next, two examples will be cited in case where the number of channels=3.
Permutation which was caused to take place at frequencies bin of about 33% of the spectrograms shown in
Similarly, permutation which was caused to take place at all frequencies bin of three spectrograms is shown in
Finally, a case of the number of channels=4 will be described.
To the spectrograms shown in
Similarly, permutation which was caused to take place at all frequencies bin of four spectrograms is shown in
As has been described above, according to the audio signal separation device 1 in the present embodiment, each one of plural signals mixed up in an audio signal can be separated from the audio signal by use of independent component analysis. In addition, the KL information amount calculated by use of a multidimensional probability density function or multidimensional kurtosis can be used as a scale to measure the degree of permutation. The problem of permutation between separate signals can be solved with high accuracy without using information concerning characteristics of original signals, positions of microphones, or the like.
(First Modification)
In the permutation problem solution processing of which algorithm is shown in
At first in step S31, a permutation [bin(1), . . . bin(M)] including numbers of frequencies bin is generated. In step S32, Y is substituted with Y′. Y is a parameter to store spectrograms after exchanging signals at a frequency bin. Y′ indicates a spectrogram in which permutation takes place immediately after separation.
Steps S33 to S47 constitute a first outer loop. This loop is repeated to increase the degree of solution of permutation problem. Steps S34 to S46 constitute a first channel loop. In steps S35 to S45, a method of exchanging signals at a frequency bin with respect to a spectrogram of the k-th channel is determined. If methods of exchanging signals at a frequency bin are determined with respect to n−1 channels, a method of exchanging signals with respect to the remaining one channel is automatically determined. Therefore, the loop has only to deal with channels 1 to (n−1).
Steps S35 to S45 constitute a second outer loop. This loop is also repeated to increase the degree of solution of permutation problem. In steps S36 to S44, a method of exchanging signals at a frequency bin with respect to a spectrogram of the k-th channel is determined. For this purpose, the parameter to store a processing result is set to Ytmp, and Yk is substituted as an initial value. Steps S37 to S44 constitute a loop with respect to the frequency bin. In this loop, a frequency bin is selected according to the permutation [bin(1), . . . bin(M)] (generated in step S31, and signals at the selected ω-th frequency bin are exchanged with signals of another channel j (j=k, k+1,. . . n), thereby to find out a method of exchanging signals, which maximizes or minimizes entropy H(Yk) of the channel k or maximizes kurtosis (hereinafter referred to as “optimizes entropy or kurtosis”). With respect to channels 1 to (K−1), the permutation problem has already been solved, and therefore, signals at the frequency bin do not have to be exchanged.
Steps S38 to S41 constitute a second channel loop. In this loop, the signal of the channel j at a frequency bin where the channel j is selected in the order from k to n is exchanged with the signal of the channel k at the frequency bin. Entropy or kurtosis after exchange is calculated. More specifically, in step S39, the signal Yj(ω) of the channel j at the ω-th frequency bin and the signal Ytmp(ω) of Ytmp at the ω-th frequency bin are exchanged with each other. In step S40, entropy or kurtosis of Ytmp is substituted into Score(j). Score(j) is obtained for each of channels k to n. Then, in step S42, an index corresponding to the maximum or minimum value of the obtained Score is obtained. Where the obtained index is j′, exchange corresponding to j′ can be, with high possibility, the exchange method which solves the permutation problem at the ω-th frequency bin. Hence, in step S43, the signal Yk(ω) of the channel k at the ω-th frequency bin and the signal Yj′(ω) of the channel j′ at the ω-th frequency bin are exchanged with each other, and the signal Yj′(ω) of the channel j′ at the ω-th frequency bin is substituted into the signal Ytmp(ω) of Ytmp at the ω-th frequency bin. If this processing of steps S38 to S43 is performed on all frequencies bin, the entropy or kurtosis of the channel k is optimized, and the permutation problem is solved. If this processing is further performed on all channels, the permutation problem is solved on all channels.
(Second Modification)
As has been described above, in the permutation problem solution processing of which algorithm is shown in
At first in step S51, an arbitrary number of chromosomes each including substitutive rows generated at random are generated as an initial population. The form of the chromosome is shown in
In next step S52, whether a termination condition is satisfied or not is determined. The termination condition may be a predetermined number of repetitions of the processing of steps S53 to S55 or convergence of the population, i.e., an optimum solution which stays intact. If the termination condition is not satisfied, the processing goes to step S53.
In subsequent step S53, crossing-over is applied to the population. The crossing-over is to select two or more chromosomes from the population and to exchange genes (substitutive rows) between the chromosomes. This crossing-over is repeated an arbitrary number of times. The crossing-over includes variations such as one-point crossing-over as shown in
In subsequent step S54, mutation or exchange inside a chromosome is applied to a new chromosome or previous chromosomes, based on a certain probability. The mutation is that one chromosome is extracted arbitrarily and a gene (substitutive row) at an arbitrary position is replaced with another chromosome, as shown in
In subsequent step S55, selection is made from chromosomes thus generated, to determine population for the next generation. Details of this selection processing will be described later. The processing returns to step S52 after completion of the selection processing. The processing of steps S53 to S55 is repeated until the termination condition is satisfied.
Details of the selection processing in step S55 described above will now be described with reference to the flowchart of
At first in step S61, a parameter S is taken as a set of individual elements (chromosomes) to remain in the next generation. An empty set is substituted as an initial value.
Steps S62 to S69 constitute a loop with respect to individual elements. In this loop, the processing of steps S63 to S68 is performed on each of new chromosomes (and previous chromosomes if necessary) generated by operation such as crossing-over, mutation, or exchange inside a chromosome.
In step S63, a spectrogram corresponding to a k-th chromosome is obtained. That is, an exchange method expressed by the k-th chromosome is applied to each of frequencies bin of a spectrogram Y′ after separation processing, to generate a new spectrogram. In step S64, a KL information amount and kurtosis are calculated with respect to the generated spectrogram.
In subsequent step S65, survival probability of the individual element is calculated in accordance with the value of the KL information amount or kurtosis. In case of using kurtosis, the degree of permutation decreases as the value of kurtosis increases. Therefore, the survival probability is calculated by use of a concave function as shown in
After calculating the survival probability, whether each of genes should remain or not is determined based on the value of the survival probability, in steps S66 to S68. More specifically, in step S66, a value between 0 and 1 is generated as a random number. In step S67, whether the value of the survival probability is greater than the value of the random number or not is determined. If the value of the survival probability is not greater than the value of the random number, the corresponding individual element is erased. Otherwise, if the value of the survival probability is greater than the value of the random number, the corresponding individual element is let remain in the next generation. Accordingly in step S68, the individual element is added to the set S.
The processing of steps S63 to S68 is performed on each individual element, to generate individual elements for the next generation. Thereafter in step S70, the number of individual elements is limited. That is, only upper L individual elements in the order from the greatest survival probability remain.
An embodiment of the present invention has been described above. However, the present invention is not limited to the above embodiment but may be variously modified without deviating from the scope of the subject matter of the present invention.
It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and alterations may occur depending on design requirements and other factors insofar as they are within the scope of the appended claims or the equivalents thereof.
Number | Date | Country | Kind |
---|---|---|---|
P2005-164463 | Jun 2005 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
7647209 | Sawada et al. | Jan 2010 | B2 |
20080208570 | Nam | Aug 2008 | A1 |
20090222262 | Kim et al. | Sep 2009 | A1 |
Number | Date | Country |
---|---|---|
2004-126198 | Apr 2004 | JP |
2004-145172 | May 2004 | JP |
Number | Date | Country | |
---|---|---|---|
20060277035 A1 | Dec 2006 | US |