HOME

TheInfoList



OR:

SBC, or low-complexity subband codec, is an audio subband codec specified by the Bluetooth Special Interest Group (SIG) for the
Advanced Audio Distribution Profile In order to use Bluetooth, a device must be compatible with the subset of Bluetooth ''profiles'' (often called services or functions) necessary to use the desired services. A Bluetooth profile is a specification regarding an aspect of Bluetooth-b ...
(A2DP).Bluetooth SIG, Specification of the Bluetooth System, Profiles, Advanced Audio Distribution Profile version 1.3. https://www.bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=260859&vId=290074 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 with Bluetooth bandwidth limitations and processing power in mind to obtain a reasonably good audio quality at medium bit rates with low computational complexity. 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, but vendors are free to add their own codecs to match their needs. At CES 2020 the Bluetooth SIG announced LC3 as the successor of SBC. LC3 is used in the LE Audio protocol based on the Bluetooth 5.2 Core Specification.


Design

SBC supports mono and stereo streams, and certain
sampling frequencies In signal processing, sampling is the reduction of a continuous-time signal to a discrete-time signal. A common example is the conversion of a sound wave to a sequence of "samples". A sample is a value of the signal at a point in time and/or s ...
up to 48 kHz. Maximum bitrate required to be supported by decoders is 320 kbit/s for mono and 512 kbit/s for stereo streams. It uses 4 or 8 subbands, an adaptive bit allocation algorithm in combination with an adaptive block PCM quantizer. Frans de Bont has based the SBC audio codec on his earlier work, and – in parts – on the
MPEG-1 Audio Layer II MPEG-1 Audio Layer II or MPEG-2 Audio Layer II (MP2, sometimes incorrectly called Musicam or MUSICAM) is a lossy audio compression format defined by ISO/IEC 11172-3 alongside MPEG-1 Audio Layer I and MPEG-1 Audio Layer III (MP3). While MP3 is m ...
standard. In addition, the SBC is based on the algorithms described in the EP-0400755B1.J.B. Rault, Y.F. Dehery, J.Y. Roudaut, A.A.M. Bruekers, R.N.J. Veldhuis, "Digital transmission system using subband coding of a digital signal", Publication number: EP0400755 (B1), Priority number(s): EP19900201369 19900530; EP19890201408 19890602 The patent owners wrote that they allow the free usage of SBC in Bluetooth applications with a goal of boosting the use of this technology.


Variants


Overview


Middle and High Quality

A2DP recommends encoders to support Middle Quality and High Quality presets as specified in the above table. As a result, most operating systems are using the High Quality profile as the default or even the only one supported encoding profile.


Higher quality variants

However, A2DP requires decoders to support higher quality streams, up to 512 kbit/s, and there are some experimental encoders that use this feature: for example, SBC XQ, used by Lineage OS and
PipeWire PipeWire is a server for handling audio, video streams, and hardware on Linux. It was created by Wim Taymans at Red Hat. It handles multimedia routing and pipeline processing. History In 2015, Taymans started work on PipeWire. It was based on ...
. With higher bit rate, audio quality is comparable to aptX HD (529 kbit/s).


FastStream

While A2DP officially supports only one-way audio streams, CSR has found a way to send a voice-back stream opposite to the main stereo stream, making it possible to use A2DP in headsets with microphones. It was implemented in the FastStream codec, which is the SBC codec with set parameters and the voice-back stream added.


Implementations

The A2DP test specification (V1.0) contains a
reference implementation In the software development process, a reference implementation (or, less frequently, sample implementation or model implementation) is a program that implements all requirements from a corresponding specification. The reference implementation o ...
of the encoder and decoder for the SBC codec. A Linux implementation is available at
BlueZ A Bluetooth stack is software that is an implementation of the Bluetooth protocol stack. Bluetooth stacks can be roughly divided into two distinct categories: # ''General-purpose'' implementations that are written with emphasis on feature-richn ...
- The Linux Bluetooth stack.


See also

*
Audio codec An audio codec is a device or computer program capable of encoding or decoding a digital data stream (a codec) that encodes or decodes audio. In software, an audio codec is a computer program implementing an algorithm that compresses and decompres ...
*
aptX aptX (''apt'' stands for ''audio processing technology'') is a family of proprietary audio codec compression algorithms owned by Qualcomm, with a heavy emphasis on wireless audio applications. History The original aptX algorithm was developed ...
*
Bluetooth profile In order to use Bluetooth, a device must be compatible with the subset of Bluetooth ''profiles'' (often called services or functions) necessary to use the desired services. A Bluetooth profile is a specification regarding an aspect of Bluetooth-b ...
*
Adaptive differential pulse-code modulation Adaptive differential pulse-code modulation (ADPCM) is a variant of differential pulse-code modulation (DPCM) that varies the size of the quantization step, to allow further reduction of the required data bandwidth for a given signal-to-noise rati ...
* List of codecs


References

{{reflist Audio codecs Bluetooth