IP Library Patent Application 12327824
Patent Application
App. No. 12/327,824

REMOVING NOISE FROM SPEECH

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 None
App. No.
12/327,824
Abstract

Method for removing noise from a digital speech waveform, including receiving the digital speech waveform having the noise contained therein, segmenting the digital speech waveform into one or more frames, each frame having a clean portion and a noisy portion, extracting a feature component from each frame, creating an nonlinear speech distortion model from the feature components, creating a statistical noise model by making a Piecewise Linear Approximation (PLA) of the nonlinear speech distortion model, determining the clean portion of each frame using the statistical noise model, a log power spectra of each frame, and a model of a digital speech waveform recorded in a noise controlled environment, and constructing a clean digital speech waveform from each clean portion of each frame.

Claims (902)

1 . A method for removing noise from a digital speech waveform, comprising:

receiving the digital speech waveform having the noise contained therein;

segmenting the digital speech waveform into one or more frames, each frame having a clean portion and a noisy portion;

extracting a feature component from each frame;

creating a nonlinear speech distortion model from the feature components;

creating a statistical noise model by making a Piecewise Linear Approximation (PLA) of the nonlinear speech distortion model;

determining the clean portion of each frame using the statistical noise model, a log power spectra of each frame, and a model of a digital speech waveform recorded in a noise controlled environment; and

constructing a clean digital speech waveform from each clean portion of each frame.

2 . The method of claim 1 , wherein the model is a Gaussian Mixture Model (GMM).

3 . The method of claim 1 , wherein the frames comprise 32 milliseconds of speech and are positioned such that two consecutive frames half over-laps each other.

4 . The method of claim 1 , wherein extracting the feature component comprises:

computing a Discrete Fourier Transform (DFT) of each frame y f (k) such that

y

f

(

k

)

=

l

=

0

L

-

1

y

t

(

l

)

h

(

l

)

-

j2π

kl

/

L

k

=

0

,

1

,

,

L

-

1

where k is a frequency bin index, h(l) denotes a window function, y t (l) denotes a l th speech sample in a current frame of the digital speech waveform in a time domain, the frame y f (k) denotes the digital speech spectra in a k th frequency bin, and L represents a frame length;

representing each frame y f (k) with a complex number comprising a magnitude component and a phase component; and

calculating a log power spectra of each frame y f (k) such that:

y 1 ( k )=log| y f ( k )| 2 k= 0, 1, . . . , K− 1

where

K

=

L

2

+

1

,

and |y f (k)| is the magnitude component.

5 . The method of claim 1 , wherein creating the nonlinear speech distortion model comprises:

modeling the digital speech waveform in a log power spectra domain such that:

exp( y 1 )=exp( x 1 )+exp( n 1 )

where y 1 , represents a log power spectra of the digitial speech waveform, x 1 represents a log power spectra of a clean portion of the digital speech waveform, and n 1 represents a log power spectra of a noisy portion of the digital speech waveform;

modeling the log power spectra of the noisy portion n 1 statistically as a Gaussian Probability Density Function (PDF) with a mean vector μ n and a diagonal covariance matrix ;

determining a sample mean μ n and a sample covariance from the feature components of a first ten frames; and

calculating the nonlinear speech distortion model using the sample mean μ n and the sample covariance

6 . The method of claim 5 , wherein creating the statistical noise model comprises:

determining a maximum likelihood (ML) estimation of the mean vector μ n and the diagonal covariance matrix using a Expectation-Maximization (EM) algorithm such that:

μ

_

n

=

t

=

0

T

-

1

m

=

1

M

P

(

m

|

y

t

l

)

E

n

[

(

n

t

l

|

y

t

l

,

m

)

]

t

=

0

T

-

1

m

=

1

M

P

(

m

|

y

t

l

)

=

t

=

0

T

-

1

m

=

1

M

P

(

m

|

y

t

l

)

E

n

[

(

n

t

l

(

n

t

l

)

T

|

y

t

l

,

m

)

]

t

=

0

T

-

1

m

=

1

M

P

(

m

|

y

t

l

)

-

μ

_

n

μ

_

n

T

where

P

(

m

|

y

t

l

)

=

ω

m

p

y

(

y

t

l

|

m

)

l

=

1

M

ω

l

p

y

(

y

t

l

|

l

)

where p y (y t l |m) represents a Probability Density Function (PDF) of the digital speech waveform's feature component y t l , for an m th component of a mixture of densities, where E n [(n t l |y t l ,m)] and E n [(n t l (n t l ) T |y t l ,m)] are relevant conditional expectations, and where t is a frame index; and

using the Piecewise Linear Approximation (PLA) of the nonlinear speech distortion model to calculate p y (y t l |m),

E n [(n t l |y t l ,m), and E n [(n t l (n t l ) T |y t l ,m).

7 . The method of claim 6 , wherein the clean portion of each frame is represented in the log power spectra domain.

8 . The method of claim 7 , wherein determining the clean portion of each frame comprises:

using a minimum mean-squared error (MMSE) estimation of the log power spectra of the clean portion of the digital speech waveform x l such that:

x

^

t

l

=

E

x

[

(

x

t

l

|

y

t

l

)

]

=

m

=

1

M

P

(

m

|

y

t

l

)

E

x

[

(

x

t

l

|

y

t

l

,

m

)

]

where E x [(x t l |y t l ,m)] is a conditional expectation of the log power spectra of the clean portion of the digital speech waveform x t l given the log power spectra of the digital speech waveform y t l for the m th component of the mixture of densities; and

using the Piecewise Linear Approximation (PLA) of the nonlinear speech distortion model to calculate E x [(x t l |y t l ,m)].

9 . The method of claim 7 , wherein constructing the clean digital speech waveform comprises:

using each log power spectra of the clean portion of the digital speech waveform and a phase component corresponding thereto as inputs in a wave reconstruction function such that:

{circumflex over (x)} f ( k )=exp{ {circumflex over (x)} t ( k )/2}exp{ j∠y f ( k )}

where ∠y f (k) is the phase component from the digital speech waveform to create a reconstructed spectra from each log power spectra;

converting each reconstructed spectra of the clean portion of the digital speech; waveform to a time domain using an Inverse Discrete Fourier Transform (IDFT) such that:

x

^

t

(

l

)

=

1

L

k

=

0

L

-

1

x

^

f

(

k

)

j2π

kl

/

L

;

and

synthesizing the digital speech waveform using a traditional overlap-add procedure.

10 . A computer-readable medium having stored thereon computer-executable instructions which, when executed by a computer, cause the computer to:

receive the digital speech waveform having the noise contained therein;

segment the digital speech waveform into one or more frames, each frame having a clean portion and a noisy portion represented in a log power spectra domain;

extract a feature component from each frame;

create a nonlinear speech distortion model from the feature components;

create a statistical noise model by making a Piecewise Linear Approximation (PLA) of the nonlinear speech distortion model to derive one or more terms in an Expectation-Maximization (EM) algorithm;

determine the clean portion of each frame using the statistical noise model, a log power spectra of each frame, and a Gaussian Mixture Model (GMM) model of a digital speech waveform recorded in a noise controlled environment; and

construct a clean digital speech waveform from each clean portion of each frame.

11 . The computer-readable medium of claim 10 , wherein the frames comprise 32 milliseconds of speech and are positioned such that two consecutive frames half over-laps each other.

12 . The computer-readable medium of claim 10 , wherein the computer-executable instructions to create the nonlinear speech distortion model are configured to:

model the digital speech waveform in the log power spectra domain such that:

exp( y 1 )=exp( x 1 )+exp( n 1 )

where y 1 , represents a log power spectra of the digitial speech waveform, x 1 represents a log power spectra of a clean portion of the digital speech waveform, and n 1 represents a log power spectra of a noisy portion of the digital speech waveform;

model the log power spectra of the noisy portion n 1 statistically as a Gaussian Probability Density Function (PDF) with a mean vector μ n and a diagonal covariance matrix

determine a sample mean μ n and a sample covariance from the feature components of a first ten frames; and

calculate the nonlinear speech distortion model using the sample mean μ n and the sample covariance

13 . The computer-readable medium of claim 12 , wherein the computer-executable instructions to create the statistical noise model are configured to:

determine a maximum likelihood (ML) estimation of the mean vector μ n and the diagonal covariance matrix using a Expectation-Maximization (EM) algorithm such that:

μ

_

n

=

t

=

0

T

-

1

m

=

1

M

P

(

m

|

y

t

l

)

E

n

[

(

n

t

l

|

y

t

l

,

m

)

]

t

=

0

T

-

1

m

=

1

M

P

(

m

|

y

t

l

)

=

t

=

0

T

-

1

m

=

1

M

P

(

m

|

y

t

l

)

E

n

[

(

n

t

l

(

n

t

l

)

T

|

y

t

l

,

m

)

]

t

=

0

T

-

1

m

=

1

M

P

(

m

|

y

t

l

)

-

μ

_

n

μ

_

n

T

where

P

(

m

|

y

t

l

)

=

ω

m

p

y

(

y

t

l

|

m

)

l

=

1

M

ω

l

p

y

(

y

t

l

|

l

)

where p y (y t l |m) represents a Probability Density Function (PDF) of the digital speech waveform's feature component y t l , for an m th component of a mixture of densities, where E n [(n t l |y t l ,m)] and E n [(n t l (n t l ) T |y t l ,m)] are relevant conditional expectations, and where t is a frame index; and

use the Piecewise Linear Approximation (PLA) of the nonlinear speech distortion model to derive one or more detailed formulas to calculate p y (y t l |m), E n [(n t l |y t l ,m), and E n [(n t l (n t l ) T |y t l ,m).

14 . The computer-readable medium of claim 12 , wherein the computer-executable instructions to construct the clean digital speech waveform are configured to:

use each log power spectra of the clean portion of the digital speech waveform and a phase component corresponding thereto as inputs in a wave reconstruction function such that:

{circumflex over (x)} f ( k )=exp{ {circumflex over (x)} l ( k )/2}exp{ j∠y f ( k )}

where ∠y f (k) is the phase component from the digital speech waveform to create a reconstructed spectra from each log power spectra;

convert each reconstructed spectra of the clean portion of the digital speech waveform to a time domain using an Inverse Discrete Fourier Transform (IDFT) such that:

x

^

t

(

k

)

=

1

L

k

=

0

L

-

1

x

^

f

(

k

)

j2π

kl

/

L

;

and

synthesizing the digital speech waveform using a traditional overlap-add procedure.

15 . A computer system, comprising:

a processor; and

a memory comprising program instructions executable by the processor to:

receive the digital speech waveform having the noise contained therein;

segment the digital speech waveform into one or more frames, each frame having 32 milliseconds of speech, being positioned such that two consecutive frames half over-laps each other, and each frame having a clean portion and a noisy portion and the frames;

extract a feature component from each frame;

create a nonlinear speech distortion model from the feature components;

create a statistical noise model by making a Piecewise Linear Approximation (PLA) of the nonlinear speech distortion model;

determine the clean portion of each frame using the statistical noise model, a log power spectra of each frame, and a model of a digital speech waveform recorded in a noise controlled environment; and

construct a clean digital speech waveform from each clean portion of each frame.

16 . The computer system of claim 15 , wherein the model is a Gaussian Mixture Model (GMM).

17 . The computer system of claim 15 , wherein the frames comprise 32 milliseconds of speech and are positioned such that two consecutive frames half over-laps each other.

18 . The computer system of claim 15 , wherein the program instructions executable the processor to extract the feature component comprise program instructions executable by the processor to:

compute a Discrete Fourier Transform (DFT) of each frame y f (k) such that

y

f

(

k

)

=

l

=

0

L

-

1

y

t

(

l

)

h

(

l

)

-

j2π

kl

/

L

k

=

0

,

1

,

,

L

-

1

where k is a frequency bin index, h(l) denotes a window function, y t (l) denotes a l th speech sample in a current frame of the digital speech waveform in a time domain, the frame y f (k) denotes the digital speech spectra in a k th frequency bin, and L represents a frame length;

represent each frame y f (k) with a complex number comprising a magnitude component and a phase component; and

calculate a log power spectra of each frame y f (k) such that:

y l ( k )=log| y f ( k )| 2 k= 0, 1 , . . . , K− 1

where

K

=

L

2

+

1

,

and |y f (k)| is the magnitude component.

19 . The computer system of claim 15 , wherein the program instructions executable the processor to create the nonlinear speech distortion model comprise program instructions executable by the processor to:

model the digital speech waveform in a log power spectra domain such that:

exp( y 1 )=exp( x 1 )+exp( n 1 )

where y 1 represents a log power spectra of the digitial speech waveform, x 1 represents a log power spectra of a clean portion of the digital speech waveform, and n 1 represents a log power spectra of a noisy portion of the digital speech waveform;

model the log power spectra of the noisy portion n 1 statistically as a Gaussian Probability Density Function (PDF) with a mean vector μ n and a diagonal covariance matrix

determine a sample mean μ n and a sample covariance from the feature components of a first ten frames; and

calculate the nonlinear speech distortion model using the sample mean μ n and the sample covariance

20 . The computer system of claim 19 , wherein the program instructions executable the processor to create the statistical noise model comprise program instructions executable by the processor to:

determine a maximum likelihood (ML) estimation of the mean vector μ n and the diagonal covariance matrix using a Expectation-Maximization (EM) algorithm such that:

μ

_

n

=

t

=

0

T

-

1

m

=

1

M

P

(

m

|

y

t

l

)

E

n

[

(

n

t

l

|

y

t

l

,

m

)

]

t

=

0

T

-

1

m

=

1

M

P

(

m

|

y

t

l

)

=

t

=

0

T

-

1

m

=

1

M

P

(

m

|

y

t

l

)

E

n

[

(

n

t

l

(

n

t

l

)

T

|

y

t

l

,

m

)

]

t

=

0

T

-

1

m

=

1

M

P

(

m

|

y

t

l

)

-

μ

_

n

μ

_

n

T

where

P

(

m

|

y

t

l

)

=

ω

m

p

y

(

y

t

l

|

m

)

l

=

1

M

ω

l

p

y

(

y

t

l

|

l

)

where p y (y t l |m) represents a Probability Density Function (PDF) of the digital speech waveform's feature component y t l , for an m th component of a mixture of densities, where E n [(n t l |y t l ,m)] and E n [(n t l (n t l ) T |y t l ,m)] are relevant conditional expectations, and where t is a frame index; and

use the Piecewise Linear Approximation (PLA) of the nonlinear speech distortion model to derive one or more detailed formulas to calculate p y (y t l |m), E n [(n t l |y t l ,m), and E n [(n t l (n t l ) T |y t l ,m).

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034766/0509 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2009
From: HUO, QIANG; DU, JUN
To: MICROSOFT CORPORATION
Reel/Frame 023294/0715 →