Variable bitrate

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Wbm1058 (talk | contribs) at 13:31, 29 March 2012 (per WP:OVERLINK, unlink hardware—it isn't helpful in this context—if a link is needed, link to the specific type of hardware which decodes variable bitrate files). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Variable bitrate (VBR) is a term used in telecommunications and computing that relates to the bitrate used in sound or video encoding. As opposed to constant bitrate (CBR), VBR files vary the amount of output data per time segment. VBR allows a higher bitrate (and therefore more storage space) to be allocated to the more complex segments of media files while less space is allocated to less complex segments. The average of these rates can be calculated to produce an average bitrate for the file.

MP3, WMA, Vorbis, and AAC audio files can optionally be encoded in VBR.[1][2][3] Variable bit rate encoding is also commonly used on MPEG-2 video, MPEG-4 Part 2 video (Xvid, DivX, etc.), MPEG-4 Part 10/H.264 video, Theora, Dirac and other video compression formats. Additionally, variable rate encoding is inherent in lossless compression schemes such as FLAC and Apple Lossless.

Advantages and disadvantages of VBR

The advantages of VBR are that it produces a better quality-to-space ratio compared to a CBR file of the same data. The bits available are used more flexibly to encode the sound or video data more accurately, with fewer bits used in less demanding passages and more bits used in difficult-to-encode passages.[2][4]

The disadvantages are that it may take more time to encode, as the process is more complex, and that some hardware might not be compatible with VBR files.[2] VBR may also pose problems during streaming when the instantaneous bitrate exceeds the data rate of the communications path. These problems can be avoided by limiting the instantaneous bitrate during encoding or (at the cost of increased latency) by enlarging the playout buffer.

Also, encryption of VBR-encoded speech (or other signals including video) gives only limited privacy, as the patterns of variation of the bit rate may reveal what language is being spoken.[5]

In the past, many hardware and software players could not decode variable bitrate files properly, partly because the various VBR encoders used were not well developed.[citation needed] This resulted in common use of CBR over VBR for the sake of compatibility. As of December 2006, devices that support only CBR encoded files are largely obsolete, as the vast majority of modern portable music devices and software support VBR encoded files.[citation needed]

Support for VBR in AAC and MP3 files is found in most modern digital audio players, including those released by Microsoft, Apple Inc., Creative Technology, and SanDisk. Early VBR algorithms occasionally introduced audible artifacts when encoding monotone or minimal tones (for example audiobooks and acoustic music). These artifacts often mimicked a "digital chirp" during the quiet portions of the song or when there was only speaking. As VBR encoding algorithms have improved, these problems have been resolved in subsequent generations of the VBR standard.[citation needed]

Methods of VBR encoding

Note that the choice of a variable bitrate (VBR) method only affects the encoding process. Decoding a VBR stream is performed identically in all cases, regardless of how the encoder chooses to allocate bits.

Multi-pass encoding and single-pass encoding

VBR is created using the so-called single-pass encoding or multi-pass encoding. Single-pass encoding analyzes and encodes the data "on the fly" and it is also used in the constant bitrate encoding. Single-pass encoding is used when the encoding speed is most important - e.g. for real-time encoding. Single-pass VBR encoding is usually controlled by the fixed quality setting or by the bitrate range (minimum and maximum allowed bitrate) or by the average bitrate setting. Multi-pass encoding is used when the encoding quality is most important. Multi-pass encoding cannot be used in real-time encoding, live broadcast or live streaming. Multi-pass encoding takes much longer than single-pass encoding, because every pass means one pass through the input data (usually through the whole input file). Multi-pass encoding is used only for VBR encoding, because CBR encoding doesn't offer any flexibility to change the bitrate. The most common multi-pass encoding is two-pass encoding. In the first pass of two-pass encoding, the input data are being analyzed and the result is stored in a log file. In the second pass, the collected data from the first pass are used to achieve the best encoding quality. In a video encoding, two-pass encoding is usually controlled by the average bitrate setting or by the bitrate range setting (minimal and maximal allowed bitrate) or by the target video file size setting.[6][7][8][9][10][11][12][13][14]

Fixed quality

One means of VBR encoding is fixed quantizer or fixed quality encoding. It is usually single-pass encoding. The user specifies a given subjective quality value, and the encoder allocates bits as needed to achieve the given level of quality. This ensures the output stream will have consistent quality throughout. A quality level usually has an associated bitrate range. The disadvantage of this encoding method is that the average bitrate (and hence file size) will not be known ahead of time, and achieving a certain average bitrate requires trial and error. This is typically more of a concern for video than for audio, since file sizes are much larger and encoding can take much longer.

Bitrate range

This VBR encoding method allows the user to specify a bitrate range - a minimum and/or maximum allowed bitrate.[15] Some encoders extend this method with an average bitrate. The minimum and maximum allowed bitrate set bounds in which the bitrate may vary. The disadvantage of this method is that the average bitrate (and hence file size) will not be known ahead of time. The bitrate range is also used in some fixed quality encoding methods, but usually without permission to change a particular bitrate.[16]

File size

VBR encoding using the file size setting is usually multi-pass encoding. It allows the user to specify a specific target file size. In the first pass, the encoder analyzes the input file and automatically calculates possible bitrate range and/or average bitrate. In the last pass, the encoder distributes the available bits among the entire video to achieve uniform quality.[9]

See also

References

  1. ^ Variable Bitrate, Hydrogenaudio Knowledgebase, 2007, retrieved 2009-09-30
  2. ^ a b c AfterDawn Ltd., Glossary - VBR, AfterDawn Ltd., retrieved 2009-09-30
  3. ^ Audacity Wiki, Variable bit rate, Audacity Wiki, retrieved 2009-09-30
  4. ^ LAME - VBR (variable bitrate) settings, Hydrogenaudio Knowledgebase, 2009, retrieved 2009-09-30
  5. ^ http://www.cs.jhu.edu/~fabian/papers/oakland08.pdf Spot me if you can: Uncovering Spoken Phrases in Encrypted VoIP Conversations (C.V. Wright, L. Ballard, S.E. Coull, F. Monrose, and G.M. Masson)
  6. ^ AfterDawn Ltd., Glossary - Multi-pass encoding, AfterDawn Ltd., retrieved 2009-09-30
  7. ^ Digital Digest (2007), Multi-pass Encoding, Digital Digest, retrieved 2009-09-30
  8. ^ Doom9.org (2004-04-20), Ripping Glossary by Doom9 - Multipass encoding, Doom9.org, retrieved 2009-09-30{{citation}}: CS1 maint: numeric names: authors list (link)
  9. ^ a b Avidemux Wiki - H.264/AVC options explained - Rate Control - Encoding Mode, Avidemux wiki-documentation site, 2009, retrieved 2009-09-30
  10. ^ MPlayer team, Encoding with MEncoder - Encoding with the x264 codec, MPlayer team, retrieved 2009-10-01
  11. ^ DVDGuy (2006-06-21), Xvid Setup Guide, Digital Digest, retrieved 2009-10-01
  12. ^ Digital Digest (2001-08-27), DivX 4.x Codec Setup Guide, Digital Digest, retrieved 2009-10-04
  13. ^ TMPGEnc Explained V2.0.1, Videohelp.com, 2001-08-27, retrieved 2009-10-04
  14. ^ Average Bitrate, Hydrogenaudio Knowledgebase, 2007, retrieved 2009-10-01
  15. ^ Variable Bitrate, Hydrogenaudio Knowledgebase, 2007, retrieved 2009-10-04
  16. ^ LAME - VBR, Hydrogenaudio Knowledgebase, 2007, retrieved 2009-10-04