Method and apparatus for maintaining a target bit rate in a speech coder
First Claim
1. In a speech coder configured to encode a plurality of frames at varying encoding rates, a method of maintaining a target average bit rate for the speech coder, comprising the steps of:
- encoding a frame at a preselected encoding rate;
computing a running average bit rate for a predefined number of encoded frames;
subtracting the running average bit rate from a predefined target average bit rate to obtain a difference value;
dividing the difference value by the preselected encoding rate to obtain a quotient value;
if the quotient value is less than zero, accumulating a first predefined number of possible occurrence counts of speech coder performance threshold values that are less than a current performance threshold value to produce a first accumulated value, the predefined number of occurrence counts of speech coder performance threshold values being chosen such that the first accumulated value is greater than the absolute value of the quotient value;
if the quotient value is less than zero, subtracting the product of a decrement-per-speech-coder-performance-threshold-occurrence-count-value and the first predefined number of occurrence counts of speech coder performance threshold values from the current performance threshold value to obtain a new performance threshold value;
if the quotient value is greater than or equal to zero, accumulating a second predefined number of possible occurrence counts of speech coder performance threshold values that are greater than the current performance threshold value to produce a second accumulated value, the predefined number of occurrence counts of speech coder performance threshold values being chosen such that the second accumulated value is greater than the quotient value; and
if the quotient value is greater than or equal to zero, adding the product of an increment-per-speech-coder-performance-threshold-occurrence-count-value and the second predefined number of occurrences of speech coder performance threshold values to the current performance threshold value to obtain a new performance threshold value.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for maintaining a target bit rate in a speech coder includes a speech coder for encoding a frame at a preselected encoding rate, computing a running average bit rate for a predefined number of encoded frames, subtracting the running average bit rate from a predefined target average bit rate, and dividing the difference by the preselected encoding rate. If the quotient value is negative, a predefined number of possible occurrence counts of speech coder performance threshold values that are less than a current performance threshold value is accumulated, the accumulated number being greater than the absolute value of the quotient. The product of a decrement-per-occurrence-count-value and the predefined number of occurrence counts is subtracted from the current performance threshold value to obtain a new performance threshold value. If the quotient value is positive, a predefined number of possible occurrence counts of speech coder performance threshold values that are greater than the current performance threshold value is accumulated, the accumulated number being greater than the quotient. The product of an increment-per-occurrence-count-value and the predefined number of occurrence counts is added to the current performance threshold value to obtain a new performance.
-
Citations
36 Claims
-
1. In a speech coder configured to encode a plurality of frames at varying encoding rates, a method of maintaining a target average bit rate for the speech coder, comprising the steps of:
-
encoding a frame at a preselected encoding rate;
computing a running average bit rate for a predefined number of encoded frames;
subtracting the running average bit rate from a predefined target average bit rate to obtain a difference value;
dividing the difference value by the preselected encoding rate to obtain a quotient value;
if the quotient value is less than zero, accumulating a first predefined number of possible occurrence counts of speech coder performance threshold values that are less than a current performance threshold value to produce a first accumulated value, the predefined number of occurrence counts of speech coder performance threshold values being chosen such that the first accumulated value is greater than the absolute value of the quotient value;
if the quotient value is less than zero, subtracting the product of a decrement-per-speech-coder-performance-threshold-occurrence-count-value and the first predefined number of occurrence counts of speech coder performance threshold values from the current performance threshold value to obtain a new performance threshold value;
if the quotient value is greater than or equal to zero, accumulating a second predefined number of possible occurrence counts of speech coder performance threshold values that are greater than the current performance threshold value to produce a second accumulated value, the predefined number of occurrence counts of speech coder performance threshold values being chosen such that the second accumulated value is greater than the quotient value; and
if the quotient value is greater than or equal to zero, adding the product of an increment-per-speech-coder-performance-threshold-occurrence-count-value and the second predefined number of occurrences of speech coder performance threshold values to the current performance threshold value to obtain a new performance threshold value. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
for each occurrence count of a speech coder performance threshold value that is less than the current performance threshold value, subtracting the product of the decrement-per-speech-coder-performance-threshold-occurrence-count-value and one plus the number of occurrence counts of speech coder performance threshold values between the occurrence count of a speech coder performance threshold value and the current performance threshold value from the current performance threshold value, and setting the occurrence count of a speech coder performance threshold value equal to the result of the subtraction;
for each occurrence count of a speech coder performance threshold value that is greater than the current performance threshold value, adding the product of the increment-per-speech-coder-performance-threshold-occurrence-count-value and one plus the number of occurrence counts of speech coder performance threshold values between the occurrence count of a speech coder performance threshold value and the current performance threshold value to the current performance threshold value, and setting the occurrence count of a speech coder performance threshold value equal to the result of the addition; and
incrementing by one the occurrence count of a speech coder performance threshold value that corresponds to the current speech coder performance.
-
-
5. The method of claim 1, further comprising the step of obtaining the preselected encoding rate from an open-loop classification of the frame.
-
6. The method of claim 1, further comprising the step of constraining the current performance threshold to a maximum value.
-
7. The method of claim 1, further comprising the step of constraining the current performance threshold to a minimum value.
-
8. The method of claim 1, further comprising the step of assigning initial values to the decrement-per-speech-coder-performance-threshold-occurrence-count-value and the increment-per-speech-coder-performance-threshold-occurrence-count-value.
-
9. The method of claim 1, further comprising the step of resetting all occurrence counts of speech coder performance threshold values to zero after performing either the adding step or the subtracting step.
-
10. The method of claim 1, wherein the frame is a speech frame.
-
11. The method of claim 1, wherein the frame is a linear predictive residue frame.
-
12. The method of claim 1, wherein the speech coder resides in a subscriber unit of a wireless communication system.
-
13. A speech coder, comprising:
-
means for encoding a frame at a preselected encoding rate;
means for computing a running average bit rate for a predefined number of encoded frames;
means for subtracting the running average bit rate from a predefined target average bit rate to obtain a difference value;
means for dividing the difference value by the preselected encoding rate to obtain a quotient value;
means for accumulating a first predefined number of possible occurrence counts of speech coder performance threshold values that are less than a current performance threshold value to produce a first accumulated value, the predefined number of occurrence counts of speech coder performance threshold values being chosen such that the first accumulated value is greater than the absolute value of the quotient value;
means for subtracting the product of a decrement-per-speech-coder-performance-threshold-occurrence-count-value and the first predefined number of occurrence counts of speech coder performance threshold values from the current performance threshold value, if the quotient value is less than zero, to obtain a new performance threshold value;
means for accumulating a second predefined number of possible occurrence counts of speech coder performance threshold values that are greater than the current performance threshold value to produce a second accumulated value, the predefined number of occurrence counts of speech coder performance threshold values being chosen such that the second accumulated value is greater than the quotient value; and
means for adding the product of an increment-per-speech-coder-performance-threshold-occurrence-count-value and the second predefined number of occurrence counts of speech coder performance threshold values to the current performance threshold value, if the quotient value is less than zero, to obtain a new performance threshold value. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
means for subtracting, during encoding of the frame, for each occurrence count of a speech coder performance threshold value that is less than the current performance threshold value, the product of the decrement-per-speech-coder-performance-threshold-occurrence-count-value and one plus the number of occurrence counts of speech coder performance threshold values between the occurrence count of a speech coder performance threshold value and the current performance threshold value from the current performance threshold value, and setting the occurrence count of a speech coder performance threshold value equal to the result of the subtraction;
means for adding, during encoding of the frame, for each occurrence count of a speech coder performance threshold value that is greater than the current performance threshold value, the product of the increment-per-speech-coder-performance-threshold-occurrence-count-value and one plus the number of occurrence counts of speech coder performance threshold values between the occurrence count of a speech coder performance threshold value and the current performance threshold value to the current performance threshold value, and setting the occurrence count of a speech coder performance threshold value equal to the result of the addition; and
means for incrementing by one, during encoding of the frame, the occurrence count of a speech coder performance threshold value that corresponds to the current speech coder performance.
-
-
17. The speech coder of claim 13, further comprising means for obtaining the preselected encoding rate from an open-loop classification of the frame.
-
18. The speech coder of claim 13, further comprising means for constraining the current performance threshold to a maximum value.
-
19. The speech coder of claim 13, further comprising means for constraining the current performance threshold to a minimum value.
-
20. The speech coder of claim 13, further comprising means for assigning initial values to the decrement-per-speech-coder-performance-threshold-occurrence-count-value and the increment-per-speech-coder-performance-threshold-occurrence-count-value.
-
21. The speech coder of claim 13, further comprising means for resetting all occurrence counts of speech coder performance threshold values to zero after the current performance threshold value has been adjusted.
-
22. The speech coder of claim 13, wherein the frame is a speech frame.
-
23. The speech coder of claim 13, wherein the frame is a linear predictive residue frame.
-
24. The speech coder of claim 13, wherein the speech coder resides in a subscriber unit of a wireless communication system.
-
25. A speech coder, comprising:
-
an analysis module configured to analyze a plurality of frames; and
a quantization module coupled to the analysis module and configured to encode frame parameters generated by the analysis module, wherein the quantization module is further configured to;
encode a frame at a preselected encoding rate;
compute a running average bit rate for a predefined number of encoded frames;
subtract the running average bit rate from a predefined target average bit rate to obtain a difference value;
divide the difference value by the preselected encoding rate to obtain a quotient value;
accumulate a first predefined number of possible occurrence counts of speech coder performance threshold values that are less than a current performance threshold value to produce a first accumulated value, the predefined number of occurrence counts of speech coder performance threshold values being chosen such that the first accumulated value is greater than the absolute value of the quotient value;
subtract the product of a decrement-per-speech-coder-performance-threshold-occurrence-count-value and the first predefined number of occurrence counts of speech coder performance threshold values from the current performance threshold value, if the quotient value is less than zero, to obtain a new performance threshold value;
accumulate a second predefined number of possible occurrence counts of speech coder performance threshold values that are greater than the current performance threshold value to produce a second accumulated value, the predefined number of occurrence counts of speech coder performance threshold values being chosen such that the second accumulated value is greater than the quotient value; and
add the product of an increment-per-speech-coder-performance-threshold-occurrence-count-value and the second predefined number of occurrence counts of speech coder performance threshold values to the current performance threshold value, if the quotient value is less than zero, to obtain a new performance threshold value. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
subtract, during encoding of the frame, for each occurrence count of a speech coder performance threshold value that is less than the current performance threshold value, the product of the decrement-per-speech-coder-performance-threshold-occurrence-count-value and one plus the number of occurrence counts of speech coder performance threshold values between the occurrence count of a speech coder performance threshold value and the current performance threshold value from the current performance threshold value, and set the occurrence count of a speech coder performance threshold value equal to the result of the subtraction;
add, during encoding of the frame, for each occurrence count of a speech coder performance threshold value that is greater than the current performance threshold value, the product of the increment-per-speech-coder-performance-threshold-occurrence-count-value and one plus the number of occurrence count of speech coder performance threshold values between the occurrence count of a speech coder performance threshold value and the current performance threshold value to the current performance threshold value, and set the occurrence count of a speech coder performance threshold value equal to the result of the addition; and
increment by one, during encoding of the frame, the occurrence count of a speech coder performance threshold value that corresponds to the current speech coder performance.
-
-
29. The speech coder of claim 25, wherein the quantization module is further configured to obtain the preselected encoding rate from an open-loop classification of the frame.
-
30. The speech coder of claim 25, wherein the quantization module is further configured to further constrain the current performance threshold to a maximum value.
-
31. The speech coder of claim 25, wherein the quantization module is further configured to constrain the current performance threshold to a minimum value.
-
32. The speech coder of claim 25, wherein the quantization module is further configured to assign initial values to the decrement-per-speech-coder-performance-threshold-occurrence-count-value and the increment-per-speech-coder-performance-threshold-occurrence-count-value.
-
33. The speech coder of claim 25, wherein the quantization module is further configured to for reset all occurrence counts of speech coder performance threshold values to zero after the current performance threshold value has been adjusted.
-
34. The speech coder of claim 25, wherein the frame is a speech frame.
-
35. The speech coder of claim 25, wherein the frame is a linear predictive residue frame.
-
36. The speech coder of claim 25, wherein the speech coder resides in a subscriber unit of a wireless communication system.
Specification