Bitrate constrained variable bitrate audio encoding
First Claim
1. A method for encoding audio, the method comprising:
- receiving a series of blocks of audio data to encode;
encoding a particular block of audio data in the series at a first bitrate;
prior to encoding any block that follows the particular block in the series, determining whether the first bitrate is within a range, determining a target bitrate based on a bitrate at which a previous block of audio data in the series was encoded, in response to determining that the first bitrate is not within the range, determining a second bitrate within the range based on the target bitrate, and encoding the particular block of audio data at the second bitrate that is within the range;
wherein the method is performed by one or more computing devices.
0 Assignments
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.
7 Citations
27 Claims
-
1. A method for encoding audio, the method comprising:
-
receiving a series of blocks of audio data to encode; encoding a particular block of audio data in the series at a first bitrate; prior to encoding any block that follows the particular block in the series, determining whether the first bitrate is within a range, determining a target bitrate based on a bitrate at which a previous block of audio data in the series was encoded, in response to determining that the first bitrate is not within the range, determining a second bitrate within the range based on the target bitrate, and encoding the particular block of audio data at the second bitrate that is within the range; wherein the method is performed by one or more computing devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A non-transitory computer-readable medium having processor-executable instructions recorded thereon for encoding audio, the instructions, when executed by one or more processors, cause performance of a method comprising:
-
receiving a series of blocks of audio data to encode; encoding a particular block of audio data in the series at a first bitrate; prior to encoding any block that follows the particular block in the series, determining whether the first bitrate is within a range, determining a target bitrate based on a bitrate at which a previous block of audio data in the series was encoded, in response to determining that the first bitrate is not within the range, determining a second bitrate within the range based on the target bitrate, and encoding the particular block of audio data at the second bitrate that is within the range. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computing device comprising an audio encoder, the audio encoder comprising logic for:
-
receiving a series of blocks of audio data to encode; encoding a particular block of audio data in the series at a first bitrate; prior to encoding any block that follows the particular block in the series, determining whether the first bitrate is within a range, determining a target bitrate based on a bitrate at which a previous block of audio data in the series was encoded, in response to determining that the first bitrate is not within the range, determining a second bitrate within the range based on the target bitrate, and encoding the particular block of audio data at the second bitrate that is within the range. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27)
-
Specification