IP Library Granted Patent US 8,670,981
Granted Patent B2
US 8,670,981 · App. 12/455,752 · Granted Mar 11, 2014

Speech encoding and decoding utilizing line spectral frequency interpolation

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 8,670,981
App. No.
12/455,752
Granted
Mar 11, 2014
Kind
B2
Abstract

A method, system and program for encoding and decoding speech according to a source-filter model whereby speech is modelled to comprise a source signal filtered by a time-varying filter. The method comprises: receiving a speech signal comprising successive frames, for each of a plurality of frames of the speech signal, deriving a first line spectral frequency vector for a first portion of the frame, and a second line spectral frequency vector for a second portion of the frame, and determining a transmit line spectral frequency vector and an interpolation factor based on the first and second line spectral frequency vectors, and on the transmit line spectral frequency vector for a preceding one of the frames.

Claims (65)

1. A method of determining line spectral frequency vectors representing filter coefficients for a time-varying filter for encoding speech according to a source-filter model, whereby speech is modeled to comprise a source signal filtered by the time-varying filter, the method comprising:

receiving a speech signal comprising successive frames;

for each of a plurality of frames of the speech signal, deriving a first line spectral frequency vector for a first portion of the frame, and a second line spectral frequency vector for a second portion of the frame; and

calculating a transmit line spectral frequency vector and an interpolation factor based on the first and second line spectral frequency vectors, and on the transmit line spectral frequency vector for a preceding one of the frames,

wherein calculating the transmit line spectral frequency vector and the interpolation factor is based on minimizing a difference between the second line spectral frequency vector and the transmit line spectral frequency vector and between the first line spectral frequency vector and an interpolated line spectral frequency vector based on the interpolation factor and the transmit line spectral frequency vector, the minimizing a difference based, at least in part, upon minimizing a residual energy for the frame.

2. The method according to claim 1 , wherein the first and second line spectral frequency vectors comprise optimal line spectral frequency vectors for the first and second portions of the frame.

3. The method according to claim 1 , wherein the first portion of the frame comprises a first half of the frame, and the second portion of the frame comprises a second half of the frame.

4. The method according to claim 1 , wherein said calculating comprises alternately calculating the transmit line spectral frequency vector for a constant interpolation factor and then the interpolation factor for the calculated transmit line spectral frequency vector for a plurality of iterations.

5. The method of claim 4 comprising alternately calculating the transmit line spectral frequency vector for a constant interpolation factor and then the interpolation factor for the calculated transmit line spectral frequency vector until the calculation converges on optimum values for the interpolation factor and the line spectral frequency vector.

6. The method of claim 5 wherein said plurality of iterations comprises a pre-defined number of iterations.

7. The method of claim 1 further comprising arithmetically encoding the interpolation factor and the transmit line spectral frequency vector.

8. The method of claim 7 further comprising multiplexing the encoded interpolation factor and transmit line spectral frequency vector into a bit stream for transmission.

9. An encoder for encoding speech according to a source-filter model whereby speech is modeled to comprise a source signal filtered by a time-varying filter, the encoder comprising:

an input arranged to receive a speech signal comprising successive frames;

a first signal-processing module configured to derive, for each of a plurality of frames of the speech signal, a first line spectral frequency vector for a first portion of the frame, and a second line spectral frequency vector for a second portion of the frame; and

a second signal-processing module configured to calculate a transmit line spectral frequency vector and an interpolation factor based on the first and second line spectral frequency vectors, and on the transmit line spectral frequency vector for a preceding one of the frames,

wherein the second signal-processing module is further configured to calculate the transmit line spectral frequency vector and the interpolation factor based, at least in part, on minimizing a difference between the second line spectral frequency vector and the transmit line spectral frequency vector and between the first line spectral frequency vector and an interpolated line spectral frequency vector based on the interpolation factor and the transmit line spectral frequency vector, the minimizing a difference is based, at least in part, upon minimizing a residual energy for the frame.

10. A computer program product stored on one or more memory devices for determining line spectral frequency vectors representing filter coefficients for a time-varying filter for encoding speech according to a source-filter model, whereby the speech is modeled to comprise a source signal filtered by a time-varying filter, the computer program product comprising one or more computer-readable instructions configured, so as when executed on a processor, to:

receive a speech signal comprising successive frames;

for each of a plurality of frames of the speech signal, derive a first line spectral frequency vector for a first portion of the frame, and a second line spectral frequency vector for a second portion of the frame; and

calculate a transmit line spectral frequency vector and an interpolation factor based on the first and second line spectral frequency vectors, and on the transmit line spectral frequency vector for a preceding one of the frames,

wherein to calculate the transmit line spectral frequency vector and the interpolation factor based, at least in part, on minimizing a difference between the second line spectral frequency vector and the transmit line spectral frequency vector and between the first line spectral frequency vector and an interpolated line spectral frequency vector based on the interpolation factor and the transmit line spectral frequency vector, the minimizing a difference is based, at least in part, upon minimizing a residual energy for the frame.

11. The encoder of claim 9 , wherein the second signal-processing module is configured to alternately calculate the transmit line spectral frequency vector for a constant interpolation factor and then calculate the interpolation factor for the calculated transmit line spectral frequency vector until the calculation converges on optimum values for the interpolation factor and the line spectral frequency vector.

12. The encoder of claim 9 further comprising an arithmetic encoder configured to arithmetically encode the interpolation factor and the transmit line spectral frequency vector.

13. The encoder of claim 12 further comprising a multiplexer configured to multiplex said encoded interpolation factor and transmit line spectral frequency vector into a bit stream for transmission.

14. The computer program product of claim 10 , wherein the computer-readable instructions are further configured to convert optimal line spectral frequency vectors for the first and second portions of the frame from linear prediction coefficients.

15. The computer program product of claim 10 , wherein the computer-readable instructions are further configured to alternately calculate the transmit line spectral frequency vector for a constant interpolation factor and then the interpolation factor for the calculated transmit line spectral frequency vector for a plurality of iterations.

16. The computer program product of claim 10 , wherein the plurality of iterations comprises a pre-defined number of iterations.

17. A method of determining line spectral frequency vectors representing filter coefficients for a time-varying filter for encoding speech according to a source-filter model, whereby speech is modeled to comprise a source signal filtered by the time-varying filter, the method comprising:

receiving a speech signal comprising successive frames;

for each of a plurality of frames of the speech signal, deriving a first line spectral frequency vector for a first portion of the frame, and a second line spectral frequency vector for a second portion of the frame; and

calculating a transmit line spectral frequency vector and an interpolation factor based on the first and second line spectral frequency vectors, and on the transmit line spectral frequency vector for a preceding one of the frames,

wherein calculating the transmit line spectral frequency vector and the interpolation factor is based, at least in part, on minimizing a residual energy for the frame.

18. An encoder for encoding speech according to a source-filter model whereby speech is modeled to comprise a source signal filtered by a time-varying filter, the encoder comprising:

an input arranged to receive a speech signal comprising successive frames;

a first signal-processing module configured to derive, for each of a plurality of frames of the speech signal, a first line spectral frequency vector for a first portion of the frame, and a second line spectral frequency vector for a second portion of the frame; and

a second signal-processing module configured to calculate a transmit line spectral frequency vector and an interpolation factor based on the first and second line spectral frequency vectors, and on the transmit line spectral frequency vector for a preceding one of the frames,

wherein the second signal-processing module is further configured to alternately calculate the transmit line spectral frequency vector for a constant interpolation factor and then calculate the interpolation factor for the calculated transmit line spectral frequency vector until the calculation converges on optimum values for the interpolation factor and the line spectral frequency vector.

19. An encoder for encoding speech according to a source-filter model whereby speech is modeled to comprise a source signal filtered by a time-varying filter, the encoder comprising:

an input arranged to receive a speech signal comprising successive frames;

a first signal-processing module configured to derive, for each of a plurality of frames of the speech signal, a first line spectral frequency vector for a first portion of the frame, and a second line spectral frequency vector for a second portion of the frame; and

a second signal-processing module configured to calculate a transmit line spectral frequency vector and an interpolation factor based on the first and second line spectral frequency vectors, and on the transmit line spectral frequency vector for a preceding one of the frames,

wherein the second signal-processing module is further configured to alternately calculate the transmit line spectral frequency vector for a constant interpolation factor and then the interpolation factor for the calculated transmit line spectral frequency vector for a plurality of iterations.

20. A computer program product stored on one or more memory devices for determining line spectral frequency vectors representing filter coefficients for a time-varying filter for encoding speech according to a source-filter model, whereby the speech is modeled to comprise a source signal filtered by a time-varying filter, the computer program product comprising one or more computer-readable instructions configured, so as when executed on a processor, to:

receive a speech signal comprising successive frames;

for each of a plurality of frames of the speech signal, derive a first line spectral frequency vector for a first portion of the frame, and a second line spectral frequency vector for a second portion of the frame; and

calculate a transmit line spectral frequency vector and an interpolation factor based on the first and second line spectral frequency vectors, and on the transmit line spectral frequency vector for a preceding one of the frames,

wherein the instructions are further configured to alternately calculate the transmit line spectral frequency vector for a constant interpolation factor and then the interpolation factor for the calculated transmit line spectral frequency vector for a plurality of iterations.

21. A method of determining line spectral frequency vectors representing filter coefficients for a time-varying filter for encoding speech according to a source-filter model, whereby speech is modeled to comprise a source signal filtered by the time-varying filter, the method comprising:

receiving a speech signal comprising successive frames;

for each of a plurality of frames of the speech signal, deriving a first line spectral frequency vector for a first portion of the frame, and a second line spectral frequency vector for a second portion of the frame; and

calculating a transmit line spectral frequency vector and an interpolation factor based on the first and second line spectral frequency vectors, and on the transmit line spectral frequency vector for a preceding one of the frames,

wherein calculating a transmit line spectral frequency vector and an interpolation factor further comprises alternately calculating the transmit line spectral frequency vector for a constant interpolation factor and then calculating the interpolation factor for the calculated transmit line spectral frequency vector until the calculation converges on optimum values for the interpolation factor and the line spectral frequency vector.

22. Computer-readable storage memory device embodying computer-executable instructions to determine line spectral frequency vectors representing filter coefficients for a time-varying filter for encoding speech according to a source-filter model, whereby speech is modeled to comprise a source signal filtered by the time-varying filter, wherein, responsive to execution by at least one processor, the computer-executable instructions are configured to:

receive a speech signal comprising successive frames;

for each of a plurality of frames of the speech signal, derive a first line spectral frequency vector for a first portion of the frame, and a second line spectral frequency vector for a second portion of the frame; and

calculate a transmit line spectral frequency vector and an interpolation factor based on the first and second line spectral frequency vectors, and on the transmit line spectral frequency vector for a preceding one of the frames,

wherein calculating the transmit line spectral frequency vector and the interpolation factor is based, at least in part, on minimizing a residual energy for the frame.

23. A system comprising:

at least one processor; and

computer-readable storage memory embodying computer-executable instructions to determine line spectral frequency vectors representing filter coefficients for a time-varying filter for encoding speech according to a source-filter model, whereby speech is modeled to comprise a source signal filtered by the time-varying filter, wherein, responsive to execution by the at least one processor, the computer-executable instructions are configured to:

receive a speech signal comprising successive frames;

for each of a plurality of frames of the speech signal, derive a first line spectral frequency vector for a first portion of the frame, and a second line spectral frequency vector for a second portion of the frame; and

calculate a transmit line spectral frequency vector and an interpolation factor based on the first and second line spectral frequency vectors, and on the transmit line spectral frequency vector for a preceding one of the frames,

wherein calculating the transmit line spectral frequency vector and the interpolation factor is based, at least in part, on minimizing a residual energy for the frame.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2020
From: SKYPE
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 054559/0917 →
CHANGE OF NAME Recorded Jul 31, 2012
From: SKYPE LIMITED
To: SKYPE
Reel/Frame 028691/0596 →
SECURITY AGREEMENT Recorded Jan 27, 2010
From: SKYPE LIMITED
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 023854/0805 →