Method, apparatus, and system for efficient rate control in audio encoding
First Claim
Patent Images
1. A method comprising:
- receiving audio samples representing an input audio signal;
transforming the input audio samples into a vector of spectral values in a frequency domain; and
determining a value of a quantizing parameter that satisfies one or more criteria based, at least in part, on a modified Newtonian search process, the determined value of the quantizing parameter being used to quantize the respective vector of spectral values to generate a vector of quantized values, the value of the quantizing parameter being determined according to the following formula;
wherein global gain corresponds to the value of the quantizing parameter, A corresponds to a first constant, xr(i) corresponds to an original spectral value for frequency line i, B corresponds to a second constant representing a maximum quantized spectral value, C corresponds to a third constant, and D corresponds to a fourth constant.
1 Assignment
0 Petitions
Accused Products
Abstract
According to one aspect of the invention, a method is provided in which audio samples representing an input audio signal are received. The input audio samples are transformed into a vector of spectral values in a frequency domain. A value of a quantizing parameter is determined that satisfies one or more criteria based, at least in part, on a modified Newtonian search process, the determined value of the quantizing parameter being used to quantize the respective vector of spectral values to generate a vector of quantized values.
-
Citations
25 Claims
-
1. A method comprising:
-
receiving audio samples representing an input audio signal;
transforming the input audio samples into a vector of spectral values in a frequency domain; and
determining a value of a quantizing parameter that satisfies one or more criteria based, at least in part, on a modified Newtonian search process, the determined value of the quantizing parameter being used to quantize the respective vector of spectral values to generate a vector of quantized values, the value of the quantizing parameter being determined according to the following formula;
wherein global gain corresponds to the value of the quantizing parameter, A corresponds to a first constant, xr(i) corresponds to an original spectral value for frequency line i, B corresponds to a second constant representing a maximum quantized spectral value, C corresponds to a third constant, and D corresponds to a fourth constant. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
determining the value of the quantizing parameter such that a maximum quantized value does not exceed a maximum index of one or more corresponding codebooks.
-
-
3. The method of claim 2 wherein the one or more codebooks are used to requantize the quantized values.
-
4. The method of claim 3 wherein the one or more codebooks are Huffman code tables.
-
5. The method of claim 1 wherein determining the value of the quantizing parameter includes:
determining the value of the quantizing parameter based on the modified Newtonian search process such that a total number of bits used for encoding the vector of quantized values does not exceed a maximum number of bits available for encoding the vector of the quantized values.
-
6. The method of claim 5 including:
-
computing a first estimate and a second estimate for the quantizing parameter; and
performing a set of operations iteratively until a predetermined number of iterations is reached, including;
deriving a new estimate for the quantizing parameter based on the previous estimates for the quantizing parameter.
-
-
7. The method of claim 6 wherein deriving the new estimate includes:
-
calculating a line tangent to a function representing the total number of bits used based on the previous estimates; and
calculating the new estimate based on an intercept between the line tangent calculated and a line representing the maximum number of bits available.
-
-
8. The method of claim 6 wherein performing the set of operations further including:
-
determining whether the total number of bits based upon the new estimate exceeds the maximum number of bits available;
if the total number of bits based upon the new estimate exceeds the maximum number of bits available, increasing the new estimate by a first factor; and
if the total number of bits based upon the new estimate does not exceed the maximum number of bits available, decreasing the new estimate by a second factor.
-
-
9. The method of claim 8 wherein the first factor and second factor are integer values.
-
10. The method of claim 6 wherein the value of the quantizing parameter determined with respect to one block of spectral values is stored in memory and used as an initial estimate for a next block of spectral values.
-
11. An apparatus comprising:
-
logic to receive input audio samples representing corresponding input audio signals;
logic to transform the input audio samples into a vector of spectral values in a frequency domain; and
logic to determine a value of a quantizing parameter that satisfies one or more criteria based, at least in part, on a modified Newtonian search process, the determined value of the quantizing parameter being used to quantize the respective vector of spectral values to generate a vector of quantized values;
logic to compute the value of the quantizing parameter such that a maximum quantized value does not exceed a maximum index of one or more corresponding codebooks, based upon the following formula;
wherein global gain corresponds to the value of the quantizing parameter, A corresponds to a first constant, xr(i) corresponds to an original spectral value for frequency line i, B corresponds to a second constant representing a maximum quantized spectral value, C corresponds to a third constant, and D corresponds to a fourth constant. - View Dependent Claims (12, 13, 14, 15)
logic to determine the value of the quantizing parameter based on the modified Newtonian search process such that a total number of bits used for encoding the vector of quantized values does not exceed a maximum number of bits available for encoding the vector of the quantized values.
-
-
13. The apparatus of claim 12 including:
-
logic to compute a first estimate and a second estimate for the quantizing parameter; and
logic to perform a set of operations iteratively until a predetermined number of iterations is reached, including;
logic to derive a new estimate for the quantizing parameter based on the previous estimates for the quantizing parameter.
-
-
14. The apparatus of claim 13 wherein logic to derive the new estimate including:
-
logic to calculate a line tangent to a function representing the total number of bits used based on the previous estimates; and
logic to calculate the new estimate based on an intercept between the line tangent calculated and a line representing the maximum number of bits available.
-
-
15. The apparatus of claim 14 wherein logic to perform the set of operations further including:
-
logic to determine whether the total number of bits based upon the new estimate exceeds the maximum number of bits available;
logic to increase the new estimate by a first integer if the total number of bits based upon the new estimate exceeds the maximum number of bits available; and
logic to decrease the new estimate by a second integer if the total number of bits based upon the new estimate does not exceed the maximum number of bits available.
-
-
16. A system comprising:
-
a transformation unit to transform input audio samples representing corresponding audio signals into a vector of spectral values in a frequency domain;
a psychoacoustic modeling unit to analyze the input audio samples and generate a frequency mask; and
a bit allocator and quantizer unit coupled to the transformation unit and the psychoacoustic unit, the bit allocator and quantizer unit including;
logic to determine a value of a quantizing parameter that satisfies one or more criteria based, at least in part, on a modified Newtonian search process, the determined value of the quantizing parameter being used to quantize the respective vector of spectral values to generate a vector of quantized values;
logic to compute the value of the quantizing parameter such that a maximum quantized value does not exceed a maximum index of one or more corresponding codebooks, based upon the following formula;
wherein global gain corresponds to the value of the quantizing parameter, A corresponds to a first constant, xr(i) corresponds to an original spectral value for frequency line i, B corresponds to a second constant representing a maximum quantized spectral value, C corresponds to a third constant, and D corresponds to a fourth constant. - View Dependent Claims (17, 18, 19, 20)
logic to determine the value of the quantizing parameter based on the modified Newtonian search process such that a total number of bits used for encoding the vector of quantized values does not exceed a maximum number of bits available for encoding the vector of the quantized values.
-
-
18. The system of claim 17 including:
-
logic to compute a first estimate and a second estimate for the quantizing parameter; and
logic to perform a set of operations iteratively until a predetermined number of iterations is reached, including;
logic to derive a new estimate for the quantizing parameter based on the previous estimates for the quantizing parameter.
-
-
19. The system of claim 18 wherein logic to derive the new estimate including:
-
logic to calculate a line tangent to a function representing the total number of bits used based on the previous estimates; and
logic to calculate the new estimate based on an intercept between the line tangent calculated and a line representing the maximum number of bits available.
-
-
20. The system of claim 19 wherein logic to perform the set of operations further including:
-
logic to determine whether the total number of bits based upon the new estimate exceeds the maximum number of bits available;
logic to increase the new estimate by a first integer if the total number of bits based upon the new estimate exceeds the maximum number of bits available; and
logic to decrease the new estimate by a second integer if the total number of bits based upon the new estimate does not exceed the maximum number of bits available.
-
-
21. A machine-readable medium comprising instructions which, when executed by a machine, cause the machine to perform operations including:
-
receiving audio samples representing an input audio signal;
transforming the input audio samples into a vector of spectral values in a frequency domain; and
determining a value of a quantizing parameter that satisfies one or more criteria based, at least in part, on a modified Newtonian search process, the determined value of the quantizing parameter being used to quantize the respective vector of spectral values to generate a vector of quantized value, the value of the quantizing parameter being determined such that a maximum quantized value does not exceed a maximum index of one or more corresponding codebooks according to the following formula;
wherein global gain corresponds to the value of the quantizing parameter, A corresponds to a first constant, xr(i) corresponds to an original spectral value for frequency line i, B corresponds to a second constant representing a maximum quantized spectral value, C corresponds to a third constant, and D corresponds to a fourth constant. - View Dependent Claims (22, 23, 24, 25)
determining the value of the quantizing parameter based on the modified Newtonian search process such that a total number of bits used for encoding the vector of quantized values does not exceed a maximum number of bits available for encoding the vector of the quantized values.
-
-
23. The machine-readable medium of claim 22 including:
-
computing a first estimate and a second estimate for the quantizing parameter; and
performing a set of operations iteratively until a predetermined number of iterations is reached, including;
deriving a new estimate for the quantizing parameter based on the previous estimates for the quantizing parameter.
-
-
24. The machine-readable medium of claim 23 wherein deriving the new estimate includes:
-
calculating a line tangent to a function representing the total number of bits used based on the previous estimates; and
calculating the new estimate based on an intercept between the line tangent calculated and a line representing the maximum number of bits available.
-
-
25. The machine-readable medium of claim 24 wherein performing the set of operations further including:
-
determining whether the total number of bits based upon the new estimate exceeds the maximum number of bits available;
if the total number of bits based upon the new estimate exceeds the maximum number of bits available, increasing the new estimate by a first factor; and
if the total number of bits based upon the new estimate does not exceed the maximum number of bits available, decreasing the new estimate by a second factor.
-
Specification