IP Library Granted Patent US 8,712,766
Granted Patent B2
US 8,712,766 · App. 11/383,509 · Granted Apr 29, 2014

Method and system for coding an information signal using closed loop adaptive bit allocation

Inventors: James P. Ashley (Naperville, IL); Udar Mittal (Hoffman Estates, IL)
Assignee: Motorola Mobility LLC
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,712,766
App. No.
11/383,509
Granted
Apr 29, 2014
Kind
B2
Abstract

A method and system for analysis-by-synthesis encoding of an information signal is provide. The encoder ( 400 ) can include the steps of generating a first synthetic signal based on a first pitch-related codebook ( 402 ), generating a second synthetic signal based on a second pitch-related codebook ( 404 ), selecting a codebook configuration parameter based on the reference signal and the first and second synthetic signals, and conveying the codebook configuration for use in reconstructing an estimate of the input signal. The encoder can include an error expression having an error bias ( 506 ) and a prediction gain having a prediction gain bias ( 508 ) for determining the codebook configuration. The encoder can employ variable length coding and combinatorial subframe coding ( 600 ) for efficiently compressing the codebook configuration parameter and codebook related parameters for one or more subframes.

Claims (59)

1. A method for analysis-by-synthesis encoding of an information signal comprising steps of:

generating a reference signal based on the information signal;

generating a first synthetic signal based on at least a first pitch related codebook;

generating a second synthetic signal based on at least a second pitch related codebook;

identifying a fixed codebook from a plurality of fixed codebooks based on the first synthetic signal and the second synthetic signal;

selecting, via a processor, a codebook configuration parameter based on the first synthetic signal and the second synthetic signal and the fixed codebook, wherein the codebook configuration parameter identifies the fixed codebook;

outputting the one or more codebook configuration parameters for use in reconstructing an estimate of the input signal;

wherein a set of codevectors within the first pitch related codebook differs from a set of codevectors in the second pitch related codebook by a number of bits assigned to the codevectors in each codebook.

2. The method of claim 1 , further comprising

encoding the one or more codebook configuration parameters in a variable length codeword.

3. The method of claim 1 , wherein a codebook configuration parameter identifies a bit allocation for a pitch related codebook and a fixed codebook, wherein the bit allocation is an allocation of bits to the pitch related codebook and an allocation of bits to the fixed codebook such that the pitch related codebook has a first distribution of bits and the fixed codebook has a second distribution of bits.

4. The method of claim 1 , further comprising evaluating at least one performance metric between the reference signal and first and second synthetic signals comprised of the first error metric and the first prediction gain and the second error metric and the second prediction gain correspondingly for selecting a codebook configuration parameter.

5. The method of claim 4 , wherein a first performance metric is a squared error metric and a second performance metric is a prediction gain metric.

6. The method of claim 3 , further comprising dynamically allocating bits to the pitch related codebook and the fixed codebook based on a codebook configuration parameter.

7. The method of claim 1 , wherein the pitch related codebook comprises at least one from the set of adaptive codebooks, virtual codebooks, and long-term predictors.

8. The method of claim 4 , wherein evaluating a performance metric comprises:

calculating a mean square error between the reference signal and one of the synthetic signals; and

determining a codevector in a codebook that minimizes the mean square error.

9. The method of claim 1 , wherein the first comparison includes an error bias, such that a codebook configuration corresponding to the second error metric is selected when the second error metric exceeds the first error metric by the error bias.

10. The method of claim 1 , wherein second comparison includes a prediction gain bias, such that a codebook configuration corresponding to the second prediction gain is selected when the second prediction gain exceeds the first prediction gain by the gain bias.

11. The method of claim 6 , further comprising:

allocating bits from the fixed codebook to the pitch related codebook,

wherein the bits from the fixed codebook are distributed to the pitch related codebook and a variable length codeword.

12. The method of claim 1 wherein the codebook configuration parameter additionally identifies either the first or the second pitch related codebook.

13. The method of claim 1 wherein the plurality of fixed codebooks differ from each other by a number of bits assigned to the codevectors in each codebook.

14. A method for decoding parameters for use in reconstructing an estimate of an encoder input signal comprising steps of:

receiving a variable length codeword representing at least one codebook configuration parameter, wherein the codebook configuration parameter identifies a fixed codebook;

determining one of a plurality of fixed related codebooks to utilize based on the codebook configuration parameter;

receiving a first code related to a pitch related codebook; wherein the pitch related codebook is one of a plurality of pitch related codebooks, and wherein a set of codevectors the pitch related codebooks differs from one another by a number of bits assigned to the codevectors in each codebook;

receiving a second code related to the fixed codebook;

decoding, via a processor, the codes related to the pitch related codebook and the fixed codebook based on the codebook configuration parameter; and

generating an estimate of the encoder input signal from the pitch related codebook and fixed codebook.

15. The method of claim 14 , wherein the decoding of the codes identifies a first distribution of bits for the adaptive codebook and a second distribution of bits for the fixed codebook.

16. The method of claim 14 , wherein the variable length codeword is a Huffman code.

17. The method of claim 14 wherein the codebook configuration parameter additionally identifies either the pitch related codebook.

18. The method of claim 14 wherein the plurality of fixed codebooks differ from each other by a number of bits assigned to the codevectors in each codebook.

19. An analysis-by-synthesis codebook selector apparatus comprising:

a processor operable to perform the functions of:

a weighting filter for generating a weighted speech signal from a speech signal;

a first combiner for subtracting a zero input response from the weighted speech signal for producing a weighted reference signal;

a first filter for generating a first synthetic signal based on at least a first pitch related codebook;

a second combiner for generating a first performance metric between the weighted reference signal and the first synthetic signal;

a second filter for generating a second synthetic signal based on at least a second pitch related codebook, wherein the first pitch related codebook differs from the second pitch related codebook by a number of bits assigned to the codevectors in each codebook;

a third combiner for generating a second performance metric between the weighted reference signal and the second synthetic signal;

an adaptive bit allocation unit for selecting a codebook configuration parameter based on the first and second performance metrics, wherein the codebook configuration parameter identifies fixed codebook from a plurality of fixed codebooks.

20. The analysis-by-synthesis codebook selector of claim 19 , wherein the codebook configuration parameter identifies a bit allocation for the adaptive codebook and a fixed codebook.

21. The analysis-by-synthesis codebook selector of claim 19 , further comprising:

a variable length coder for encoding multiple codebook configuration parameters to produce a variable length code.

22. The analysis-by-synthesis codebook selector of claim 21 , wherein bits from a fixed codebook are distributed to the adaptive codebook and the variable length codeword to achieve a performance metric.

23. The selector of claim 19 wherein the codebook configuration parameter additionally identifies either the first or the second pitch related codebook.

24. The selector of claim 19 wherein the plurality of fixed codebooks differ from each other by a number of bits assigned to the codevectors in each codebook.

25. A method for analysis-by-synthesis subframe encoding of an information signal comprising steps of:

generating a reference signal based on the information signal;

generating multiple synthetic signals using multiple pitch related codebooks wherein a first pitch related codebook differs from a second pitch related codebook by a number of bits assigned to the codevectors in each codebook;

determining a performance metric based on the reference signal and the multiple synthetic signals;

selecting, via a processor, at least one codebook configuration parameter based on performance metric, wherein the codebook configuration parameter identifies a fixed codebook from a plurality of fixed codebooks;

encoding the at least one codebook configuration parameter in a variable length codeword; and

conveying the variable length codeword for use in reconstructing an estimate of the input signal.

26. The method of claim 25 , wherein the performance metric is at least one of least one of a multiple mean square error performance metric and a prediction gain metric.

Assignments (5)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE INCORRECT PATENT NO. 8577046 AND REPLACE WITH CORRECT PATENT NO. 8577045 PREVIOUSLY RECORDED ON REEL 034286 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Dec 3, 2014
From: MOTOROLA MOBILITY LLC
To: GOOGLE TECHNOLOGY HOLDINGS LLC
Reel/Frame 034538/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2014
From: MOTOROLA MOBILITY LLC
To: GOOGLE TECHNOLOGY HOLDINGS LLC
Reel/Frame 034286/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2012
From: MOTOROLA MOBILITY, INC.
To: MOTOROLA MOBILITY LLC
Reel/Frame 028829/0856 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2010
From: MOTOROLA, INC
To: MOTOROLA MOBILITY, INC
Reel/Frame 025673/0558 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2006
From: ASHLEY, JAMES P.; MITTAL, UDAR
To: MOTOROLA, INC.
Reel/Frame 017621/0023 →
Continuity (1)
Related Publication 20070271094A1 · Nov 22, 2007