IP Library Granted Patent US 8,280,729
Granted Patent B2
US 8,280,729 · App. 12/692,245 · Granted Oct 2, 2012

System and method for encoding and decoding pulse indices

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,280,729
App. No.
12/692,245
Granted
Oct 2, 2012
Kind
B2
Abstract

Methods, and corresponding codec-containing devices are provided that have source coding schemes for encoding a component of an excitation. In some cases, the source coding scheme is an enumerative source coding scheme, while in other cases the source coding scheme is an arithmetic source coding scheme. In some cases, the source coding schemes are applied to encode a fixed codebook component of the excitation for a codec employing codebook excited linear prediction, for example an AMR-WB (Adaptive Multi-Rate-Wideband) speech codec.

Claims (42)

1. A method comprising:

obtaining sampled voice;

processing the sampled voice to determine a filter for the purpose of modeling the sampled voice and to determine an excitation to the filter, a component of the excitation comprising J pulse positions, where J≧2, to be selected from m (for example m=16) possible positions, the component of the excitation represented by a binary sequence x 1 , x 2 , . . . , xm, where xi=1 indicates a pulse position and xi=0 indicates otherwise;

encoding the component of the excitation by:

Step 1: Setting i=1;

Step 2: Encoding xi by using BAC (Binary Arithmetic Coding) with p 1 =J (probability of one);

Step 3: p 1 =p 1 −xi;

Step 4: i=i+1; repeating Steps 2, 3 and 4 until i≧m at which point the whole sequence x 1 , x 2 , . . . , xm has been encoded.

2. The method of claim 1 wherein obtaining sampled voice comprises:

receiving a voice input signal; and

sampling the voice input signal to produce the sampled voice.

3. The method of claim 1 wherein the component of the excitation comprises four tracks with J=6 pulses each having a pulse position that is one of 16 possible positions per track, the method comprising:

performing said encoding J pulse positions for each of the four tracks with J=6, wherein the position information for each track is encoded with 13 bits and the signs are encoded with 6 bits for a total of 19 bits per track.

4. The method of claim 1 wherein the component of the excitation comprises two tracks with J=6 pulses each having a pulse position that is one of 16 possible positions per track, and two tracks with J=5 pulses each having a pulse position that is one of 16 possible positions per track, the method comprising:

performing said encoding J pulse positions for each of two tracks with J=6, wherein the position information for each track with J=6 is encoded with 13 bits and the signs are encoded with 6 bits for a total of 19 bits per track;

performing said encoding J pulse positions for each of two tracks with J=5, wherein the position information for each track with J=5 is encoded with 13 bits and the signs are encoded with 5 bits for a total of 18 bits per track.

5. The method of claim 1 wherein the component of the excitation comprises two tracks with J=5 pulses each having a pulse position that is one of 16 possible positions per track, and two tracks with J=4 pulses each having a pulse position that is one of 16 possible positions per track, the method comprising:

performing said encoding J pulse positions for each of two tracks with J=5, wherein the position information for each track with J=5 is encoded with 13 bits and the signs are encoded with 5 bits for a total of 18 bits per track;

performing said encoding J pulse positions for each of two tracks with J=4, wherein the position information for each track with J=4 is encoded with 11 bits and the signs are encoded with 4 bits for a total of 15 bits per track.

6. The method of claim 1 wherein the component of the excitation comprises four tracks with J=4 pulses each having a pulse position that is one of 16 possible positions per track, the method comprising:

performing said encoding J pulse positions for each of four tracks with J=4, wherein the position information for each track with J=4 is encoded with 11 bits and the signs are encoded with 4 bits for a total of 15 bits per track.

7. The method of claim 1 wherein the component of the excitation comprises a fixed codebook portion for an algebraic code.

8. A method comprising:

obtaining an index x representative of the position of J pulses;

Step 1: Setting i=1, p 1 =J (probability of one);

Step 2: Decoding xi with p 1 by using a corresponding BAC decoder;

Step 3: p 1 =p 1 −xi;

Step 4: i=i+1; repeating Steps 2, 3 and 4 until i>m at which point the whole sequence x 1 , x 2 , . . . , x 16 has been decoded; and

determining a component of an excitation based on the J pulse positions.

9. The method of claim 8 further comprising:

combining the pulse positions thus determined with sign information to produce the component of the excitation;

receiving a set of filter coefficients associated with the index x;

driving a filter having the set of filter coefficients associated with the index x with the excitation to produce voice samples.

10. The method of claim 8 further comprising:

re-encoding the pulse positions using a different method to produce a re-encoded index y;

at least one of:

a) transmitting the re-encoded index y;

b) storing the re-encoded index y.

11. The method of claim 8 further comprising:

combining the pulse positions with sign information to produce the component of the excitation, and then driving a filter with the excitation to produce voice samples.

12. The method of claim 8 wherein the excitation comprises four tracks with J=6 pulses each having a pulse position that is one of 16 possible positions per track, the method comprising:

performing said determining J pulse positions for each of the four tracks with J=6, wherein the position information for each track is encoded with 13 bits and the signs are encoded with 6 bits for a total of 19 bits per track.

Assignments (6)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064270/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
CHANGE OF NAME Recorded Nov 6, 2014
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 034179/0923 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2010
From: YU, XIANG; HE, DAKE
To: SLIPSTREAM DATA INC.
Reel/Frame 025373/0472 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2010
From: YANG, EN-HUI
To: RESEARCH IN MOTION LIMITED
Reel/Frame 025373/0552 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2010
From: SLIPSTREAM DATA INC.
To: RESEARCH IN MOTION LIMITED
Reel/Frame 025373/0670 →