Bit reservoir

From Hydrogenaudio Knowledgebase
Revision as of 13:56, 20 December 2010 by Sebastian Mares (Talk | contribs)

Jump to: navigation, search

The term bit reservoir is used exclusively in the MP3 specification.

CBR (and also to some degree ABR) uses a constant defined bitrate. Because that bitrate is taken into consideration at every frame, there will be certain moments of such complexity that they can't be properly encoded within the limitations of the chosen bitrate; they need a higher bitrate than the defined one. Therefore, the MP3 spec defines a bit reservoir.

Example: a certain moment in a song needs 130 kbit to be accurately encoded (as defined by the psymodel and the settings of the encoder) the CBR bitrate is set to 160 kbps. 30 bits are not used (160 - 130 = 30). those bits can be saved for following frames. To limit the streams complexity, the maximum reservoir size is 511 bytes (4088 bits) however this also limits the ability to cope with sustained complex passages of sound.

With VBR, the encoder can choose the needed framesize for each moment, again as defined by the psymodel and the quality settings. So VBR (e.g. in LAME) doesn't use bit reservoir nearly as much, but still may do to collect bits that would otherwise be wasted to fill an available framesize (eg 160 - 130 = 30 spare bits).