IP Library Granted Patent US 7,856,353
Granted Patent B2
US 7,856,353 · App. 11/834,964 · Granted Dec 21, 2010

Method for processing speech signal data with reverberation filtering

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,856,353
App. No.
11/834,964
Granted
Dec 21, 2010
Kind
B2
Abstract

Method for processing speech signal data. A speech signal is divided into frames. Each frame is characterized by a frame number T representing a unique interval of time. Each speech signal is characterized by a power spectrum with respect to frame T and frequency band ω. A speech segment and a reverberation segment of the speech signal is determined. L filter coefficients W(k) (k=1, 2, . . . , L) respectively corresponding to L frames immediately preceding frame T are computed such that the L filter coefficients minimize a function Φ that is a linear combination of sum of squares of a residual speech power in the reverberation segment and a sum of squares of a subtracted speech power in the speech segment. The computed L filter coefficients are stored within storage media of the computing apparatus.

Claims (1351)

1. A method for processing speech signal data of at least one speech signal through use of a computing apparatus, the time domain of each speech signal divided into a plurality of frames, each frame characterized by a frame number T representing a unique interval of time, each speech signal characterized by a power spectrum with respect to frame T and frequency band ω of a plurality of frequency bands into which a frequency range of each speech signal has been divided, said method comprising:

computing a speech segment of a first speech signal, said speech segment consisting of a first set of frames of the plurality of frames of the first signal;

determining a reverberation segment of the first speech signal, said reverberation segment consisting of a second set of frames of the plurality of frames of the first signal;

computing with the computing apparatus L filter coefficients W(k) (k=1, 2, . . . , L) respectively corresponding to L frames immediately preceding frame T such that the L filter coefficients minimize a function Φ in accordance with a set of equations for Φ consisting of:

Φ

=

G

Tail

·

ϕ

Tail

+

G

Speech

·

ϕ

Speech

ϕ

Tail

=

T

Tail

ω

{

X

ω

(

T

)

-

k

=

1

L

W

(

k

)

·

X

ω

(

T

-

k

)

}

2

ϕ

Speech

=

T

Speech

ω

{

l

=

1

L

W

(

l

)

·

X

ω

(

T

-

l

)

}

2

wherein X ω (T) denotes a power spectrum of the first speech signal, wherein G Tail and G Speech are weighting coefficients, wherein the frames T in the summation over T ε Speech encompass the first set of frames in the speech segment, wherein the frames T in the summation over T ε Tail encompass the second set of frames in the reverberation segment, and wherein the frequency bands in the summation over ω encompass the plurality of frequency bands; and

storing the computed L filter coefficients within storage media of the computing apparatus.

2. The method of claim 1 , wherein said computing the reverberation segment comprises:

computing speech tracks S(T) and P(T); and

assigning to the reverberation segment those frames of the plurality of frames of the first speech signal that satisfy P(T)−S(T)>γ, wherein γ denotes a specified threshold value, and wherein said computing speech tracks S(T) and P(T) are performed in accordance with the equations of:

energy

(

T

)

=

10.0

*

log

10

(

1

N

i

=

1

N

x

[

i

]

2

)

P

(

T

)

=

10

C

1

*

energy

(

T

)

Q

(

T

)

=

(

1

-

α

l

)

*

Q

(

T

-

1

)

+

α

l

*

P

(

T

)

α

l

=

C

2

*

C

3

*

Q

(

T

-

1

)

2

P

(

T

)

2

S

(

T

)

=

(

1

-

α

h

)

*

S

(

T

-

1

)

+

α

h

*

P

(

T

)

α

h

=

C

3

*

P

(

T

)

2

Q

(

T

-

1

)

2

wherein x[i] is a measure of the amplitude of an observed speech signal pulse coded modulation (PCM) data value i in frame T, wherein N is a total number of PCM data values in the frame T, and wherein C1, C2, and C3 are specified constants.

3. The method of claim 1 , wherein the method further comprises computing G Tail and G Speech according to the equations of:

G

Tail

=

{

1

N

Tail

T

Tail

ω

{

X

ω

(

T

)

}

}

-

2

G

Speech

=

{

1

N

Speech

T

Speech

ω

{

X

ω

(

T

)

}

}

-

2

wherein N Tail is the total number of frames in the trailing reverberation segment (T ε Tail), and wherein N Speech is the total number of frames in the speech segment (T ε Speech).

4. The method of claim 1 , wherein said computing the L filter coefficients comprises:

computing a matrix A;

computing a vector C; and

computing a vector C according to B=A −1 ·C,

wherein

C

=

A

·

B

A

=

[

G

Tail

or

Speech

·

T

Tail

or

Speech

ω

X

ω

(

T

-

1

)

·

X

ω

(

T

-

1

)

G

Tail

or

Speech

·

T

Tail

or

Speech

ω

X

ω

(

T

-

L

)

·

X

ω

(

T

-

1

)

G

Tail

or

Speech

·

T

Tail

or

Speech

ω

X

ω

(

T

-

1

)

·

X

ω

(

T

-

L

)

G

Tail

or

Speech

·

T

Tail

or

Speech

ω

X

ω

(

T

-

L

)

·

X

ω

(

T

-

L

)

]

B

=

[

W

(

1

)

W

(

L

)

]

C

=

[

G

Tail

·

T

Tail

ω

X

ω

(

T

)

·

X

ω

(

T

-

1

)

G

Tail

·

T

Tail

ω

X

ω

(

T

)

·

X

ω

(

T

-

L

)

]

5. The method of claim 1 , wherein the method further comprises:

computing a dereverberated power spectrum D′ ω (T) according to:

D

ω

(

T

)

=

X

ω

(

T

)

-

k

=

1

L

W

(

k

)

·

X

ω

(

T

-

k

)

wherein X′ ω (T) is a power spectrum of a second speech signal for frame number T of frequency band ω, wherein if the computed W(k) is nonnegative for k=1, 2, . . . , L then W′(k)=W(k), and wherein if the computed W(k) is negative for at least one k of k=1, 2, . . . L then setting W′(k)=0 for the values of k at which the computed W(k) is negative and calculating W′(k) via a repetitive relaxation procedure for the values of k at which the computed W(k) is nonnegative; and

storing the computed D′ ω (T) within the storage media of the computing apparatus.

6. The method of claim 5 , wherein the computed W(k) is nonnegative for k=1, 2, . . . , L.

7. The method of claim 5 , wherein the computed W(k) is negative for at least one k of k=1, 2, . . . L.

8. The method of claim 5 , wherein the method further comprises:

determining a noise segment consisting of N Noise frames of the plurality of frames of the first signal, wherein the N Noise frames are not comprised by either the speech segment or the reverberation segment;

computing a noise spectrum U ω of the first speech signal via

U

ω

=

1

N

Noise

T

Noise

X

ω

(

T

)

wherein the frames T in the summation over T ε Noise encompass the N Noise frames in the noise segment;

if D′ ω (T)≧βU ω such that β is a specified constant, then setting a dereverberated power spectrum Z ω (T)=D′ ω (T) otherwise setting Z ω (T)=βU ω ; and

storing Z ω (T) within the storage media of the computing apparatus.

9. The method of claim 5 , wherein the second speech signal consists of the first speech.

10. The method of claim 5 , wherein the second speech signal occurs after the first speech signal has ended.

11. The method of claim 5 , wherein the second speech signal consists of the first speech signal and X′ ω (T) consists of X ω (T), and wherein the method further comprises after said computing D′ ω (T):

receiving a plurality of additional sets of speech signal frames;

cumulatively adding each additional set of speech signal frames to the frames of the first speech signal to generate a corresponding power spectrum X″ ω (T) for each additional set of speech signal frames; and

after generating the power spectrum X″ ω (T) for each additional set of speech signal frames: computing updated L filter coefficients W″(k) (k=1, 2, . . . , L) corresponding to power spectrum X″ ω (T) in accordance with the set of equations for Φ in which X″ ω (T) replaces X ω (T) and W″(k) replaces W(k); and computing an updated dereverberated power spectrum D″ ω (T) according to:

D

ω

(

T

)

=

X

ω

(

T

)

-

k

=

1

L

W

(

k

)

·

X

ω

(

T

-

k

)

.

12. The method of claim 11 , wherein each additional set of speech signal frames consists of one additional speech signal frame.

13. A method for processing speech signal data of at least one speech signal through use of a computing apparatus, the time domain of each speech signal divided into a plurality of frames, each frame characterized by a frame number T representing a unique interval of time, each speech signal characterized by a power spectrum with respect to frame T and frequency band ω of a plurality of frequency bands into which a frequency range of each speech signal has been divided, said method comprising:

determining a speech segment of a first speech signal, said speech segment consisting of a first set of frames of the plurality of frames of the first signal;

computing a reverberation segment of the first speech signal, said reverberation segment consisting of a second set of frames of the plurality of frames of the first signal;

computing with the computing apparatus L filter coefficients W(k) (k=1, 2, . . . , L) respectively corresponding to L frames immediately preceding frame T such that the L filter coefficients minimize a function Φ in accordance with a set of equations for Φ consisting of:

Φ

=

G

Tail

·

ϕ

Tail

+

G

Speech

·

ϕ

Speech

ϕ

Tail

=

T

Tail

ω

{

X

ω

(

T

)

-

k

=

1

L

W

(

k

)

·

X

ω

(

T

-

k

)

}

2

ϕ

Speech

=

T

Speech

ω

{

l

=

1

L

W

(

l

)

·

X

ω

(

T

-

l

)

}

2

wherein X ω (T) denotes a power spectrum of the first speech signal, wherein G Tail and G Speech are weighting coefficients, wherein the frames T in the summation over TεSpeech encompass the first set of frames in the speech segment, wherein the frames T in the summation over TεTail encompass the second set of frames in the reverberation segment, and wherein the frequency bands in the summation over ω encompass the plurality of frequency bands; and

storing the computed L filter coefficients within storage media of the computing apparatus.

wherein said computing the reverberation segment comprises:

computing speech tracks S(T) and P(T); and

assigning to the reverberation segment those frames of the plurality of frames of the first speech signal that satisfy P(T)−S(T)>γ, wherein γ denotes a specified threshold value, and wherein said computing speech tracks S(T) and P(T) are performed in accordance with the equations of:

energy

(

T

)

=

10.0

*

log

10

(

1

N

i

=

1

N

x

[

i

]

2

)

P

(

T

)

=

10

C

1

*

energy

(

T

)

Q

(

T

)

=

(

1

-

α

l

)

*

Q

(

T

-

1

)

+

α

l

*

P

(

T

)

α

l

=

C

2

*

C

3

*

Q

(

T

-

1

)

2

P

(

T

)

2

S

(

T

)

=

(

1

-

α

h

)

*

S

(

T

-

1

)

+

α

h

*

P

(

T

)

α

h

=

C

3

*

P

(

T

)

2

Q

(

T

-

1

)

2

wherein x[i] is a measure of the amplitude of an observed speech signal pulse coded modulation (PCM) data value i in frame T, wherein N is a total number of PCM data values in the frame T, and wherein C1, C2, and C3 are specified constants;

wherein the method further comprises computing G Tail and G Speech according to the equations of:

G

Tail

=

{

1

N

Tail

T

Tail

ω

{

X

ω

(

T

)

}

}

-

2

G

Speech

=

{

1

N

Speech

T

Speech

ω

{

X

ω

(

T

)

}

}

-

2

wherein N Tail is the total number of frames in the trailing reverberation segment (TεTail), and wherein N Speech is the total number of frames in the speech segment (TεSpeech);

wherein said computing the L filter coefficients comprises:

computing a matrix A;

computing a vector C; and

computing a vector C according to B=A −1 ·C,

wherein

C

=

A

·

B

A

=

[

G

Tail

or

Speech

·

T

Tail

or

Speech

ω

X

ω

(

T

-

1

)

·

X

ω

(

T

-

1

)

G

Tail

or

Speech

·

T

Tail

or

Speech

ω

X

ω

(

T

-

L

)

·

X

ω

(

T

-

1

)

G

Tail

or

Speech

·

T

Tail

or

Speach

ω

X

ω

(

T

-

1

)

·

X

ω

(

T

-

L

)

G

Tail

or

Speech

·

T

Tail

or

Speech

ω

X

ω

(

T

-

L

)

·

X

ω

(

T

-

L

)

]

B

=

[

W

(

1

)

W

(

L

)

]

C

=

[

G

Tail

·

T

Tail

ω

X

ω

(

T

)

·

X

ω

(

T

-

1

)

G

Tail

·

T

Tail

ω

X

ω

(

T

)

·

X

ω

(

T

-

L

)

]

wherein the method further comprises:

computing a dereverberated power spectrum D′ ω (T) according to:

D

ω

(

T

)

=

X

ω

(

T

)

-

k

=

1

L

W

(

k

)

·

X

ω

(

T

-

k

)

wherein X′ ω (T) is a power spectrum of a second speech signal for frame number T of frequency band ω, wherein if the computed W(k) is nonnegative for k=1, 2, . . . , L then W′(k)=W(k), and wherein if the computed W(k) is negative for at least one k of k=1, 2, . . . L then setting W′(k)=0 for the values of k at which the computed W(k) is negative and calculating W′(k) via a repetitive relaxation procedure for the values of k at which the computed W(k) is nonnegative; and

storing the computed D′ ω (T) within the storage media of the computing apparatus;

wherein the computed W(k) is nonnegative for k=1, 2, . . . , L;

wherein the method further comprises:

determining a noise segment consisting of N Noise frames of the plurality of frames of the first signal, wherein the N Noise frames are not comprised by either the speech segment or the reverberation segment;

computing a noise spectrum U ω of the first speech signal via

U

ω

=

1

N

Noise

T

Noise

X

ω

(

T

)

wherein the frames T in the summation over TεNoise encompass the N Noise frames in the noise segment;

if D′ ω (T)≧βU ω such that β is a specified constant, then setting a dereverberated power spectrum Z ω (T)=D′ ω (T) otherwise setting Z ω (T)=βU ω ; and

storing Z ω (T) within the storage media of the computing apparatus;

wherein the second speech signal consists of the first speech signal and X′ ω (T) consists of X ω (T), and wherein the method further comprises after said computing D′ ω (T):

receiving a plurality of additional sets of speech signal frames;

cumulatatively adding each additional set of speech signal frames to the frames of the first speech signal to generate a corresponding power spectrum X″ ω (T) for each additional set of speech signal frames; and

after generating the power spectrum X″ ω (T) for each additional set of speech signal frames: computing updated L filter coefficients W″(k) (k=1, 2, . . . , L) corresponding to power spectrum X″ ω (T) in accordance with the set of equations for Φ in which X″ ω (T) replaces X ω (T) and W″ (k) replaces W(k); and computing an updated dereverberated power spectrum D″ ω (T) according to:

D

ω

(

T

)

=

X

ω

(

T

)

-

k

=

1

L

W

(

k

)

·

X

ω

(

T

-

k

)

.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2009
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: NUANCE COMMUNICATIONS, INC.
Reel/Frame 022689/0317 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 7, 2007
From: FUKUDA, TAKASHI; ICHIKAWA, OSAMU; NISHIMURA, MASAFUMI
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 019796/0202 →