Audio coding algorithms with bitrate scalability allow an encoder to transmit or store compressed audio data at a high bitrate and decoders to successfully decode a lower-rate bitstream contained within the high-rate code. For example, an encoder might transmit at 128 kbit/s while a decoder would decode at 32, 64 or 128 kbit/s according to channel bandwidth, decoder complexity and quality requirements. Scalability has become an important aspect of low bitrate audio coding, particularly for multimedia applications where a range of coding bitrates may be required, or where channel bitrate fluctuates. Fine-grain scalability, where useful increases in coding quality can be achieved with small increments in bitrate, is particularly desirable.
The growth of the internet has created a demand for high-quality streamed audio content. Audio coding with fine-grain bitrate scalability allows real-time streaming with low buffer delay and uninterrupted service in the presence of channel congestion, and yields the most efficient use of available channel bandwidth.
Scalability is also useful in archiving, where a program item may be coded at the highest bitrate required and stored as a single file, rather than storing many coded versions across the range of required bitrates. The potential reduction in overall storage requirement achieved by using scalable audio formats can be significant when maintaining large song libraries. As well as the saving in storage, bitrate scalability avoids cumulative archiving degradation that can occur due to recoding.
Scalable audio coding has further potential applications in mobile multimedia communication, digital audio broadcasting, remote personal media storage and home network servers.
While fine-grain bitrate scalability can be useful, it is important that it is achieved without significant coding efficiency penalty relative to fixed-bitrate systems, and with low computational complexity. Achieving a degree of error resilience so that coded bitstreams are robust against transmission errors is also desirable, particularly for wireless streaming applications.
Scala's scalable coding algorithm, based on ordered bitplane coding, offers the following advantages over conventional coding approaches:
Fine-grain scalability - bitrate granularity ~ 0.7 kbit/s
High coding efficiency - better sound quality for the same bitrate compared to MP3, and close to the coding efficiency achieved by the best MPEG-2/4 AAC codecs
Low computational complexity - our coding scheme uses single-pass quantisation rather than an iterative bit allocation approach, and does not require Huffman or arithmetic coding, consequently the Scala encoder achieves significantly lower computational complexity than AAC Low Complexity Profile
Error resilience - Scala bitstreams are robust against transmission errors, so that corrupted bitstreams remain decodeable and will not cause decoder crashes, with graceful degradation of coding quality in the event of transmission errors.
Informal but carefully controlled listening tests have compared perceptual transparency bitrates achieved with the Scala codec against two fixed-bitrate and two scalable reference codecs*:
MPEG-1 Layer 3 (MP3) - FhG mp3 codec - fixed bitrate
MPEG-4 AAC Low Complexity Profile (AAC) - Apple Quicktime Pro 6.5 - fixed bitrate
MPEG-4 Bit Sliced Arithmetic Coding (BSAC) - scalable
Microsoft Embedded Audio Coder (EAC) - scalable
A measure of transparency was obtained for each codec by averaging transparency bitrates across four demanding 44.1 kHz-sampled test pieces. The tests were conducted using both single-channel and stereo material - test files can be obtained from the download section of this website.
Results for the Scala codec indicate average transparency bitrates of 80 kbit/s for mono signals, and 132 kbit/s for stereo material. This represents an improvement in coding efficiency compared to fixed-bitrate MP3, and is close to the best available AAC codec performance. The Scala codec outperforms the two scalable reference codecs, BSAC and EAC.
In general, the listening test results indicate the Scala codec achieves fine-grain bitrate scalability while remaining competitive in terms of coding efficiency with fixed-rate codec designs.
* Results for each of the 5 codecs were obtained using the standard (non error-resilient) versions of the codecs