Girish Mahajan (Editor)

SBC (codec)

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

The Low Complexity Subband Coding or (SBC), is an audio subband codec specified by the Bluetooth Special Interest Group (SIG) for the Advanced Audio Distribution Profile (A2DP). SBC is a digital audio encoder and decoder used to transfer data to Bluetooth audio output devices like headphones or loudspeakers. It can also be used on the Internet. It was designed to obtain a reasonably good audio quality at medium bit rates while keeping low computational complexity, having Bluetooth bandwidth limitations and processing power in mind. As of A2DP version 1.3, the Low Complexity Subband Coding remains the default codec and its implementation is mandatory for devices supporting that profile. Other codecs can be run on top of A2DP along with SBC though.

Contents

Design

SBC supports mono and stereo streams, certain sampling frequencies up to 48 kHz and maximum bit rates of 198 kbit/s for mono and 345 kbit/s for stereo streams. It uses 4 or 8 subbands, an adaptive bit allocation algorithm in combination with an adaptive block PCM quantizers. Frans de Bont has based the SBC audio codec on his earlier work, and – in parts – on the MPEG-1 Audio Layer II standard. In addition, the SBC is based on the algorithms described in the EP-0400755B1. The patent owners wrote that they allow the free usage of SBC in Bluetooth application, with the view to boost the use of this technology.

All applications outside Bluetooth were, however, not free. The patent expired June 2, 2010.

Implementations

The A2DP test specification (V1.0) contains a reference implementation of the encoder and decoder for the SBC codec. A Linux implementation is available at BlueZ - The Linux Bluetooth Stack.

References

SBC (codec) Wikipedia