Speech enhancement method

A speech enhancement method, including the steps of: (a) segmenting an input speech signal into a plurality of frames and transforming each frame signal into a signal of the frequency domain; (b) computing the signal-to-noise ratio of a current frame, and computing signal-to-noise ratio of a frame immediately preceding the current frame; (c) computing the predicted signal-to-noise ratio of the current frame which is predicted based on the preceding frame and computing the speech absence probability using the signal-to-noise ratio and predicted signal-to-noise ratio of the current frame; (d) correcting the two signal-to-noise ratios obtained in the step (b) based on the speech absence probability computed in the step (c); (e) computing the gain of the current frame with the two corrected signal-to-noise ratios obtained in the step (d), and multiplying the speech spectrum of the current frame by the computed gain; (f) estimating the noise and speech power for the next frame to calculate the predicted signal-to-noise ratio for the next frame, and providing the predicted signal-to-noise ratio for the next frame as the predicted signal-to-noise ratio of the current frame for the step (c); and (g) transforming the result spectrum of the step (e) into a signal of the time domain. The noise spectrum is estimated in speech presence intervals based on the speech absence probability, as well as in speech absence intervals, and the predicted SNR and gain are updated on a per-channel basis of each frame according to the noise spectrum estimate, which in turn improves the speech spectrum in various noise environments.

BACKGROUND OF THE INVENTION

1 Field of the Invention

The present invention relates to speech enhancement, and more particularly, to a method for enhancing a speech spectrum by estimating a noise spectrum in speech presence intervals based on speech absence probability, as well as in speech absence intervals.

2. Description of the Related Art

A conventional approach to speech enhancement is to estimate a noise spectrum in noise intervals where speech signals are not present, and in turn to improve a speech spectrum in a predetermined speech interval based on the noise spectrum estimate. A voice activity detector (VAD) has been utilized for an algorithm required for speech presence/absence interval classification with respect to a predetermined input signal. However, the VAD operates in a different manner from a speech enhancement technique, and thus noise interval detection and noise spectrum estimation based on detected noise intervals have no relationship with models and assumptions for use in practical speech enhancement, which degrades the performance of the speech enhancement technique. In addition, in the case of using the VAD, the noise spectrum is estimated only in speech absence intervals. However, since the noise spectrum actually varies in speech presence intervals as well as the speech absence intervals, the accuracy of noise spectrum estimation using the VAD is limited.

SUMMARY OF THE INVENTION

To solve the above problems, it is an object of the present invention to provide a method for enhancing a speech spectrum in which a signal-to-noise ratio (SNR) and a gain of each frame of an input speech signal is updated based on a speech absence probability, without using a separate voice activity detector (VAD).

The above object is achieved by the method according to the present invention for enhancing the speech quality, comprising: (a) segmenting an input speech signal into a plurality of frames and transforming each frame signal into a signal of the frequency domain; (b) computing the signal-to-noise ratio of a current frame, and computing signal-to-noise ratio of a frame immediately preceding the current frame; (c) computing the predicted signal-to-noise ratio of the current frame which is predicted based on the preceding frame and computing the speech absence probability using the signal-to-noise ratio and predicted signal-to-noise ratio of the current frame, (d) correcting the two signal-to-noise ratios obtained in the step (b) based on the speech absence probability computed in the step (c); (e) computing the gain of the current frame with the two corrected signal-to-noise ratios obtained in the step (d), and multiplying the speech spectrum of the current frame by the computed gain; (f) estimating the noise and speech power for the next frame to calculate the predicted signal-to-noise ratio for the next frame, and providing the predicted signal-to-noise ratio for the next frame as the predicted signal-to-noise ratio of the current frame for the step (c); and (g) transforming the result spectrum of the step (e) into a signal of the time domain.

DETAILED DESCRIPTION OF THE INVENTION

Referring to FIG. 1 , speech enhancement based on unified processing (SEUP) according to the present invention involves a pre-processing step 100 , an SEUP step 102 and a post-processing step 104 . In the pre-processing step 100 , an input speech-plus-noise signal is pre-emphasized and subjected to an M-point Fast Fourier Transform (FFT). Assuming that an input speech signal is s(n) and the signal of an n-th frame, which is one of the frames obtained by segmentation of the signal s(n), is d(m,n), the signal d(m,n) and signal d(m,D n) which is pre-emphasized and overlaps with a rear portion of the preceding frame by pre-emphasis, are given by the equation (1)

where D is the overlap length with the preceding frame, L is the length of one frame and is the pre-emphasis parameter. Then, prior to the M-point FFT, the pre-emphasized input speech signal is subjected to trapezoidal windowing given by the equation (2) y ( n ) = { d ( m , n ) sin 2 ( ( n + 0.5 ) / 2 D ) , 0 n < D d ( m , n ) , D < n < L d ( m , n ) sin 2 ( ( n - L + D + 0.5 ) / 2 D ) , L n < D + L 0 , D + L n < M ( 2 )

The obtained signal y(n) is converted into a signal of the frequency domain by FFT given by the equation (3) Y m ( k ) = 2 M n = 0 M - 1 y ( n ) - j 2 nk / M , 0 k < M ( 3 )

As can be noticed from the equation (3), the frequency domain signal Y m (k) obtained by the FFT is a complex number which consists of a real part and a imaginary part.

In the SEUP step 102 , the speech absence probabilities, the signal-to-noise ratios, and the gains of frames are computed, and the result of the pre-processing step 100 , i.e., Y m (k) of the equation (3), is multiplied by the obtained gain to enhance the spectrum of the speech signal, which results in the enhanced speech signal {tilde over (Y)} m (k). During the SEUP step 102 , the gains and SNRs for a predetermined number of initial frames are initialized to collect background noise information. This SEUP step 102 will be described later in greater detail with reference to FIG. 2 .

In the post-processing step 104 , the spectrum enhanced signal {tilde over (Y)} m (k) is converted back into a signal of the time domain by an Inverse Fast Fourier Transform (IFFT) given by the equation (4), then de-emphasized. h ( m , n ) = 1 2 n = 0 M - 1 Y ~ m ( k ) j 2 nk / M ( 4 )

Prior to the de-emphasis, the signal h(m,n) obtained through the IFFT is subjected to an overlap-and-add operation using the equation (5) h ( n ) = { h ( m , n ) + h ( m - 1 , n + L ) , 0 n < D h ( m , n ) , D n < L ( 5 )

Then, the de-emphasis is performed to output the speech signal s (n) using the equation (6)

FIG. 2 is a flowchart illustrating in greater detail the SEUP step 102 in FIG. 1 . As shown in FIG. 2 , the SEUP step includes initializing parameters for a predetermined number of initial frames (step 200 ), incrementing the frame index and computing the SNR of the current frame (steps 202 and 204 ), computing the speech absence probability of the current frame (step 206 ), correcting SNRs of the preceding and current frames (step 207 ), computing the gain of the current frame (step 208 ), enhancing the speech spectrum of the current frame (step 210 ), and repeating the steps 212 through 216 for all the frames.

As previously mentioned, the speech signal applied to the SEUP step 202 is a speech-plus-noise signal which has undergone pre-emphasis and the FFT. Assuming that the original speech spectrum is X m (k) and the original noise spectrum is D m (k), the spectrum of the k-th frequency of the m-th frame of the speech signal, Y m (k), is modeled by the equation (7)

Y m ( k ) X m ( k ) D m ( k ) (7)

In the equation (7), X m (k) and D m (k) are statistically independent, and each has the zero-mean complex Gaussian probability distribution given by the equation (8) p ( X m ( k ) ) = 1 x , m ( k ) exp [ - X m ( k ) 2 x , m ( k ) ] p ( D m ( k ) ) = 1 d , m ( k ) exp [ - D m ( k ) 2 d , m ( k ) ] ( 8 )

where x,m (k) and d,m (k) are the variances of the speech and noise spectrum, respectively, which substantially means the power of speech and noise at the k-th frequency. However, the actual computations are performed on a per-channel basis, and thus the signal spectrum for the i-th channel of the m-th frame, G m (i), is given by the equation (9)

G m ( i ) S m ( i ) N m ( i ) (9)

where S m (i) and N m (i) are the means of the speech and noise spectrum, respectively, for the i-th channel of the m-th frame. The signal spectrum for the i-th channel of the m-th frame, G m (i), has probability distributions given by the equation (10) according to the presence or absence of the speech signal. p ( G m ( i ) | H 0 ) = 1 n , m ( i ) exp [ - G m ( i ) 2 n , m ( i ) ] p ( G m ( i ) | H 1 ) = 1 ( n , m ( i ) + s , m ( i ) ) exp [ - G m ( i ) 2 n , m ( i ) + s , m ( i ) ] ( 10 )

where s,m (i) and n,m (i) are the power of the speech and noise signals, respectively, for the i-th channel of the m-th frame.

where n and s are the initialization parameters, and SNR min and GAIN min are the minimum SNR and the minimum gain, respectively, obtained in the SEUP step 102 , which can be set by a user.

After the initialization of the first MF frames is complete, the frame index is incremented (step 202 ), and the signal of the corresponding frame (herein, the m-th frame) is processed. In the step 204 , a post (abbreviated for posteriori ) SNR post (m, i) is computed for the m-th frame. For the computation of the post SNR for each channel of the m-th frame, the power of the input signal E acc (m, i) is smoothed by the equation (12) in consideration of the interframe correlation of the speech signal

where acc is the smoothing parameter and N c is the number of channels.

Then, the post SNR for each channel is computed with the power of the m-th channel E acc (m,i) obtained using the equation (12), and the noise power estimate {circumflex over ( )} n,m (i) obtained using the equation (11), using the equation (13) post ( m , i ) = max [ E acc ( m , i ) ^ n , m ( i ) - 1 , SNR MIN ] ( 13 )

In the step 206 , the speech absence probability for the m-th frame is computed. The speech absence probability p(H 0 G m (i)) for each channel of the m-th frame is computed using the equation (14) p ( H 0 | G m ( i ) ) = p ( G m ( i ) | H 0 ) p ( H 0 ) p ( G m ( i ) | H 0 ) p ( H 0 ) + p ( G m ( i ) | H 1 ) p ( H 1 ) ( 14 )

As can be noticed from the equation (15), the speech absence probability is decided by m (i)(G m (i)), which is the likelihood ratio expressed by the equation (16). As shown in the equation (16), the likelihood ratio m (i)(G m (i)) can be rearranged by the substitution of the equation (10) and expressed by m (i) and m (i). m ( i ) ( G m ( i ) ) = p ( G m ( i ) | H 1 ) p ( G m ( i ) | H 0 ) = n , m ( i ) n , m ( i ) + s , m ( i ) exp [ - G m ( i ) 2 n , m ( i ) + n , m ( i ) + G m ( i ) 2 n , m ( i ) ] = 1 1 + m ( i ) exp [ ( m ( i ) + 1 ) m ( i ) 1 + m ( i ) ] where m ( i ) = G m ( i ) 2 n , m ( i ) - 1 m ( i ) = s , m ( i ) n , m ( i ) ( 16 )

In the equation (16), m (i) and m (i) are estimated based on known data, and are set by the equation (17) in the present invention

where post (m,i) is the post SNR for the m-th frame obtained using the equation (13), and pred (m,i) is the predicted SNR for the m-th frame which is calculated using the preceding frames obtained by the equation (11).

In the step 207 , the pri (abbreviation for priori ) SNR pri (m,i) and the post SNR post (m,i) are corrected based on the obtained speech absence probability. The pri SNR pri (m,i) is the SNR estimate for the (m 1)th frame, which is obtained based on the SNR of the current frame in a decision-directed method by the equation (18) spri ( m , i ) = S ^ m - 1 ( i ) 2 n , m - 1 ( i ) + ( 1 - ) post ( m , i ) = H ( m - 1 , i ) G m - 1 ( i ) 2 ^ n , m - 1 ( i ) + ( 1 - ) post ( m , i ) ( 18 )

where is the SNR correction parameter and m 1 (i) 2 is the speech power estimate of the (m 1)th frame.

pri (m,i) of the equation (18) and post (m,i) of the equation (13) are corrected using the equation (19) according to the speech absence probability calculated using the equation (15) pri ( m , i ) = max { p ( H 0 | G m ( i ) ) SNR MIN + p ( H 1 | G m ( i ) ) pri ( m , i ) , SNR MIN } post ( m , i ) = max { p ( H 0 | G m ( i ) ) SNR MIN + p ( H 1 | G m ( i ) ) post ( m , i ) , SNR MIN } ( 19 )

where p(H 1 G m (i)) is the speech-plus-noise presence probability.

and I 0 and I 1 are the 0th order and 1st order coefficients, respectively, of the Bessel function.

In the step 210 , the result of the pre-processing step (step 100 ) is multiplied by the gain H(m,i) to enhance the spectrum of the m-th frame. Assuming that the result of the FFT for the m-th frame of the input signal is Y m (k), the FFT coefficient for the spectrum enhanced signal, {tilde over (Y)} m (k), is given by the equation (21)

where f L (i) k <f H (i), 0 i<N c 1, and f L and f H are the minimum and maximum frequencies, respectively, for each channel.

In the step 212 , it is determined whether the previously mentioned steps have been performed on all the frames. If the result of the determination is affirmative, the SEUP step terminates. In either case, the previously mentioned steps are repeated until the spectrum enhancement is performed on all the frames.

In particular, unless the spectrum enhancement is performed on all the frames, the parameters, the noise power estimate and the predicted SNR, are updated for the next frame in the step 214 . Assuming that the noise power estimate of the current frame is {circumflex over ( )} n,m (i), the noise power estimate for the next frame {circumflex over ( )} n,m 1 (i) is obtained by the equation (22)

where n is the updating parameter and E N m (i) 2 G m (i) is the noise power expectation of a given channel spectrum G m (i) for the i-th channel of the m-th frame, which is obtained by the well-known global soft decision (GSD) method using the equation (23) E [ N m ( i ) 2 | G m ( i ) ] = E [ N m ( i ) 2 | G m ( i ) , H 0 ] p ( H 0 | G m ( i ) ) + E [ N m ( i ) 2 | G m ( i ) , H 1 ] p ( H 1 | G m ( i ) ) where E [ N m ( i ) 2 | G m ( i ) , H 0 ] = G m ( i ) 2 = E [ N m ( i ) 2 | G m ( i ) , H 1 ] ( pred ( m , i ) 1 + pred ( m , i ) ) ^ n , m ( i ) + ( 1 1 + pred ( m , i ) ) 2 G m ( i ) 2 ( 23 )

where E N m (i) 2 G m (i), H 0 is the noise power expectation in the absence of speech and E N m (i) 2 G m (i), H 1 is the noise power expectation in the presence of speech.

Next, to update the predicted SNR of the current frame, the speech power estimate of the current frame is initially updated and divided by the updated noise power estimate for the next frame, {circumflex over ( )} m,m (i), which is obtained by the equation (22), to give a new SNR for the (m 1)th frame which is expressed as pred (m 1,i)

where E S m (i) 2 G m (i), H 0 is the speech power expectation in the absence of speech and E S m (i) 2 G m (i), H 1 is the speech power expectation in the presence of speech.

Then, the speech power estimate for the next frame {circumflex over ( )} s,m 1 (i) is computed by substituting the speech power expectation E S m (i) 2 G m (i) into the equation (25)

where s is the updating parameter.

After the parameters are updated for the next frame, the frame index is incremented in the step 216 to perform the SEUP for all the frames.

An experiment has been carried out to verify the effect of the SEUP algorithm according to the present invention. In the experiment, a sampling frequency of a speech signal was 8 kHz and a frame interval was 10 msec. The pre-emphasis parameter , which is shown in the equation (1), was 0.8. The size of the FFT, M, was 128. After the FFT, each computation was performed with frequency points divided into N c channels, wherein N c was 16. The smoothing parameter, acc , which is shown in the equation (12), was 0.46, and the minimum SNR in the SEUP step, SNR MIN , was 0.085. Also, p(H 1 )/p(H 0 ) was set to 0.0625, which may be varied according to the advance information about the presence/absence of speech.

The SNR correction parameter, , was 0.99, the parameter, n , which is used in updating the noise power, was 0.99, and the parameter, s , which is used in updating the predicted SNR, was 0.98. Also, the number of initial frames whose parameters are initialized for background noise information, MF, was 10.

The speech quality was evaluated by a mean opinion score (MOS) test which is a common subjective test in use. In the MOS test, the quality of speech was evaluated a scale having five levels, excellent, good, fair, poor and bad, by listeners. These five levels were assigned the numbers 5, 4, 3, 2 and 1, respectively, and the mean of scores given by 10 listeners for each data sample was calculated. For speech data samples for test, five sentences pronounced by respective male and female speakers were prepared, and the SNR of each of the 10 sentences was varied using three types of noise, white, buccaneer (engine) and bubble noise on the basis of the NOISEX-92 database. IS-127 standard signals, speech signals processed by the SEUP according to the present invention, and original noisy signals were presented to the trained 10 listeners and the quality of each sample was evaluated on the scale of one to five. After scoring level-5 of speech quality, means values were calculated for each sample. As a result of the MOS test, 100 data were collected for each SNR level of each noise. The speech samples were presented to the 10 listeners without identification of each sample so as to prevent listeners from having perceived ideas relating to a particular sample, and a clean speech signal as a reference signal was presented just before providing each sample signal to be tested, for consistency in using the 5 scales. The result of the MOS test is shown in Table 1.

As described above, the noise spectrum is estimated in speech presence intervals based on the speech absence probability, as well as in speech absence intervals, and the predicted SNR and gain are updated on a per-channel basis of each frame according to the noise spectrum estimate, which in turn improves the speech spectrum in various noise environments.