Bitrate peeling
Bitrate Peeling is a technique used in Ogg Vorbis audio encoded streams, wherein a stream can be encoded at one bitrate but can be served at that or any lower bitrate. Bitrate Peeling is similar in overall effect to RealNetworks' technology called "SureStream", which basically creates a single media clip that contains multiple bitrates. The purpose is to provide access to the clip for people with slower Internet connections, and yet still allow people with faster connection to enjoy the higher quality content. The server automatically chooses which stream to deliver to the user, depending on user's connection speed.
As of 2005, Ogg Vorbis bitrate peeling exists only as a concept as there is not yet an encoder capable of producing peelable datastreams .
An experimental implementation of bitrate peeling can be found here. However, re-encoding files at a lower bitrate will preserve more quality than this experimental bitrate peeler.
Difference from other technologies
The difference between SureStream and Bitrate Peeling is that SureStream is limited to only a handful of pre-defined bitrates, with significant difference between them, and SureStream encoded files are big because they contain all of the bitrates used, while Bitrate Peeling uses much smaller steps to change the available bitrate and quality, and only the highest bitrate is used to encode the file/stream, which results in smaller files on servers.
A related technique to the SureStream approach is hierarchical modulation, used in broadcast, where severally different streams at different qualities (and bitrates) are all broadcast, with the higher quality stream used if possible, with the lower quality streams fallen back on if not.
Lossy + Correction
A similar technology is to feature a combination of a lossy format and a lossless correction; this allows stripping the correction to easily obtain a lossy file. Such formats include MPEG-4 SLS (Scalable to Lossless), WavPack, DTS-HD Master Audio and OptimFROG DualStream.
SureStream example
A SureStream encoded file is encoded at bitrates of 16 kbit/s, 32 kbit/s and 96 kbit/s. The file will be about the same in size as three separate files encoded at those bitrates and put together, or one file encoded at the sum of those bitrates, which is about 144 kbit/s (16+32+96). When a dial-up user has only about 28 kbit/s of bandwidth available, the Real server will serve the 16 kbit/s stream. If the dial-up connection is of higher quality, and maybe about 42 kbit/s is available, the server will automatically switch to the 32 kbit/s stream. A DSL or Cable Internet user will be served the 96 kbit/s stream. This looks good, but even though the user with 28 kbit/s can use a higher bitrate / higher quality stream (maybe 22 to 24 kbit/s), such thing can't be done with SureStream, unless the encoded file contains such a bitrate. This is where Bitrate Peeling comes into play.
Bitrate Peeling example
Contrary to SureStream, Bitrate Peeling requires only the highest bitrate to be used when encoding a file/stream, which is 96 kbit/s in this case. The obvious benefit is much smaller space on a server required by such a file. An additional feature of Bitrate Peeling is a much finer tuning of available bitrate/quality.
If a dial-up user with 28 kbit/s available bandwidth connects to an Ogg Vorbis file/stream, the server will "peel" the original 96 kbit/s file/stream down to just below available bandwidth (in this case it would be around 20-24 kbit/s). This "peeling" process is different from transcoding because transcoding uncompresses the file and recompresses it (a computing-intensive process), whereas the peeling process "cuts the fat" by removing excess bits from the stream without using much processor time.
Aside from the obvious space-saving advantage Bitrate Peeling allows for smaller steps in the delivery bitrate (the end user will see the file in the highest quality possible for their bandwidth).
These benefits are only theoretical, as the only Vorbis peeler available is still in experimental state and produces file qualities inferior to what transcoding the higher bitrate file to a lower bitrate would.
Comparison with other progressive encodings
Bitrate peeling is theoretically possible, and is implemented in some other formats, notably JPEG 2000, JPEG progressive encoding, and Scalable Video Coding.
The reason that it is not available in Ogg Vorbis is that current encoders do not organize the code-stream to have progressive accuracy, thus peelers cannot tell which data is more or less important.
See also the Adam7 algorithm used in PNG interlacing.
See also
- Ogg bitstream format
- Vorbis, a free audio compression codec
- Streaming media
- audio file format
- audio signal processing
- audio storage
- codec
- data compression
External links
- Xiph.org Foundation
- Xiph.org Bitrate Peeling Bounty
- Ogg Vorbis site
- Ogg Vorbis Bitrate Peeling Description
- An experimental Ogg vorbis Bitrate Peeler
- Bitrate peeling thread on Hydrogenaudio forums
- The obvious quick-and-dirty solution to making a peelable encoder?