Bitrate constrained variable bitrate audio encoding
First Claim
1. A method for encoding audio, the method comprising:
- computing a first bitrate based on a sound quality target for a block of audio data;
determining whether the first bitrate is within a specified range;
if the first bitrate is not within the specified range, thencomputing a target bitrate;
based on said target bitrate, computing a final bitrate at which the block of audio data is to be encoded;
wherein the final bitrate is within the specified range; and
encoding the block of audio data using the final bitrate; and
if the first bitrate is within the specified range, then encoding the block of audio data using the first bitrate;
wherein the method is performed by one or more computing devices.
1 Assignment
0 Petitions
Accused Products
Abstract
A hybrid audio encoding technique incorporates both ABR, or CBR, and VBR encoding modes. For each audio coding block, after a VBR quantization loop meets the NMR target, a second quantization loop might be called to adaptively control the final bitrate. That is, if the NMR-based quantization loop results in a bitrate that is not within a specified range, then a bitrate-based CBR or ABR quantization loop determines a final bitrate that is within the range and is adaptively determined based on the encoding difficulty of the audio data. Excessive bitrates from use of conventional VBR mode are eliminated, while still providing much more constant perceptual sound quality than use of conventional CBR mode can achieve.
-
Citations
33 Claims
-
1. A method for encoding audio, the method comprising:
-
computing a first bitrate based on a sound quality target for a block of audio data; determining whether the first bitrate is within a specified range; if the first bitrate is not within the specified range, then computing a target bitrate; based on said target bitrate, computing a final bitrate at which the block of audio data is to be encoded; wherein the final bitrate is within the specified range; and encoding the block of audio data using the final bitrate; and if the first bitrate is within the specified range, then encoding the block of audio data using the first bitrate; wherein the method is performed by one or more computing devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory computer-readable medium storing instructions which, when executed by one or more computing devices, cause the one or more computing devices to perform:
-
computing a first bitrate based on a sound quality target for a block of audio data; determining whether the first bitrate is within a specified range; if the first bitrate is not within the specified range, then computing a target bitrate; based on said target bitrate, computing a final bitrate at which the block of audio data is to be encoded; wherein the final bitrate is within the specified range; and encoding the block of audio data using the final bitrate; and if the first bitrate is within the specified range, then encoding the block of audio data using the first bitrate. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A computer system comprising:
an audio encoder, the audio encoder comprising logic for; computing a first bitrate based on a sound quality target for a block of audio data; determining whether the first bitrate is within a specified range; if the first bitrate is not within the specified range, then computing a target bitrate; based on said target bitrate, computing a final bitrate at which the block of audio data is to be encoded; wherein the final bitrate is within the specified range; and encoding the block of audio data using the final bitrate; and if the first bitrate is within the specified range, then encoding the block of audio data using the first bitrate. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
31. A method for encoding audio, the method comprising:
-
executing a first quantization loop to determine a first number of bits for use in encoding a block of audio data, wherein the first number of bits satisfies a sound quality target for the block; determining whether the first number of bits is within a first specified range of bits, wherein the specified range is based at least in part on a number of bits available for encoding the block; if the first number of bits is not within the first specified range, then computing a target number of bits for use in encoding the block; executing a second quantization loop, based on the target number of bits, to determine a final number of bits for use in encoding the block; and encoding the block of audio data using the final number of bits; and if the first bitrate is within the specified range, then encoding the block of audio data using said first number of bits; wherein the method is performed by one or more computing devices.
-
-
32. A non-transitory computer-readable medium storing instructions which, when executed by one or more computing devices, cause the one or more computing devices to perform:
-
executing a first quantization loop to determine a first number of bits for use in encoding a block of audio data, wherein the first number of bits satisfies a sound quality target for the block; determining whether the first number of bits is within a first specified range of bits, wherein the specified range is based at least in part on a number of bits available for encoding the block; if the first number of bits is not within the first specified range, then computing a target number of bits for use in encoding the block; executing a second quantization loop, based on the target number of bits, to determine a final number of bits for use in encoding the block; and encoding the block of audio data using the final number of bits; and if the first bitrate is within the specified range, then encoding the block of audio data using said first number of bits.
-
-
33. A computer system comprising:
an audio encoder, the audio encoder comprising logic for; executing a first quantization loop to determine a first number of bits for use in encoding a block of audio data, wherein the first number of bits satisfies a sound quality target for the block; determining whether the first number of bits is within a first specified range of bits, wherein the specified range is based at least in part on a number of bits available for encoding the block; if the first number of bits is not within the first specified range, then computing a target number of bits for use in encoding the block; executing a second quantization loop, based on the target number of bits, to determine a final number of bits for use in encoding the block; and encoding the block of audio data using the final number of bits; and if the first bitrate is within the specified range, then encoding the block of audio data using said first number of bits.
Specification