{{Short description|Audio codec}} {{about|the audio codec|the video compression technique|Smart Bitrate Control}}
'''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 (A2DP).<ref name=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</ref> 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.<ref>C. Hoene, F. de Bont, "RTP Payload Format for Bluetooth's SBC audio codec", IETF draft, work in progress, Dec. 2010, https://tools.ietf.org/html/draft-ietf-avt-rtp-sbc-01</ref> 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.<ref name=a2dp /><ref> {{cite web | author = Stephen Wray | title = Bluetooth: Sufficient fidelity even for average listeners? | publisher = EDN Network | date = 26 June 2008 | url = http://www.edn.com/design/consumer/4326740/Bluetooth-Sufficient-fidelity-even-for-average-listeners- | access-date = 4 January 2012 }}</ref> 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.<ref name=a2dp />
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.<ref>{{Cite web|date=2020-01-13|title=Bluetooth Audio Gets a Big Upgrade at CES 2020|url=https://www.bluetooth.com/blog/bluetooth-audio-gets-a-big-upgrade-at-ces-2020/|access-date=2022-01-17|website=Bluetooth Technology Website|language=en-US}}</ref><ref>{{Cite web|last=Frumusanu|first=Andrei|title=CES 2020: Bluetooth SIG Announces LE Audio Standard: New Baseline For Next Decade|url=https://www.anandtech.com/show/15349/bluetooth-sig-announces-le-audio-standard-new-baseline-for-next-decade|archive-url=https://web.archive.org/web/20200108033148/https://www.anandtech.com/show/15349/bluetooth-sig-announces-le-audio-standard-new-baseline-for-next-decade|url-status=dead|archive-date=January 8, 2020|access-date=2022-01-17|website=www.anandtech.com}}</ref><ref>{{Cite web|title=What is LE Audio and LC3, the latest in Bluetooth audio?|url=https://ticcorp.com/blogs/news/what-is-le-audio-and-lc3-the-latest-in-bluetooth-audio|access-date=2022-01-17|website=TIC|date=21 February 2020 |language=en}}</ref>
==Design== SBC supports mono and stereo streams, and certain sampling frequencies up to 48 kHz. The 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 and an adaptive bit allocation algorithm in combination with an adaptive block PCM quantizer.<ref name=a2dp /> The codec's author, Frans de Bont, based the SBC audio codec on his earlier work,<ref>F. de Bont, M. Groenewegen and W. Oomen, "A High Quality Audio-Coding System at 128 kb/s", 98th AES Convention, Febr. 25-28, 1995.</ref> and – in parts – on the MPEG-1 Audio Layer II standard. In addition, SBC is based on the algorithms described in the EP-0400755B1.<ref name=patent>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</ref> 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=== {|class="wikitable" style="text-align:center" ! rowspan="3" colspan="2" style="border-bottom:2px solid gray; background-color:#D8D9DD" | ! style="border-bottom:hidden; background-color:#D8D9DD; font-weight:lighter; border-bottom:2px solid gray" rowspan="3" | SBC<ref name=a2dp /><ref name=calc>{{cite web | author = ValdikSS | title = Bluetooth A2DP SBC Codec Bitrate Calculator | publisher = ValdikSS | url = https://btcodecs.valdikss.org.ru/sbc-bitrate-calculator/ | access-date = 6 April 2021 }}</ref> ! style="border-bottom:hidden; background-color:#D6F9D6" colspan="2" | SBC profiles<ref name=a2dp /> ! style="border-bottom:hidden; background-color:#D6F9D6" colspan="2" rowspan="2" | FastStream<ref name=valdik /> ! style="border-bottom:hidden; background-color:#D8D9DD" rowspan="2" | Audio CD |- ! style="border-bottom:hidden; background-color:#D6F9D6; font-weight:lighter" | Middle Quality ! style="border-bottom:hidden; background-color:#D6F9D6; font-weight:lighter" | High Quality |- ! style="background-color:#D6F9D6; border-bottom:2px solid gray; font-weight:lighter" | ! style="background-color:#D6F9D6; border-bottom:2px solid gray; font-weight:lighter" | ! style="background-color:#D6F9D6; border-bottom:2px solid gray; font-weight:lighter" | main stream ! style="background-color:#D6F9D6; border-bottom:2px solid gray; font-weight:lighter" | back stream ! style="background-color:#D8D9DD; border-bottom:2px solid gray" | <small>(for reference)</small> |- ! rowspan="4" | misc. ! style="text-align:left" | Launch | style="background-color:#F0F2F6" | – || colspan="2" | May 2003 || colspan="2" | March 2008<ref>{{cite web | author = CSR | title = CSR presents handset makers with revolutionary audio processing technology | publisher = CSR |url=http://www.csr.com/pr/pr328.htm |archive-url=https://web.archive.org/web/20080509054609/http://www.csr.com/pr/pr328.htm |archive-date=2008-05-09 | access-date = 9 May 2008 }}</ref> || style="background-color:#F0F2F6" | 1982 |- ! style="text-align:left" | Related patents | style="background-color:#F0F2F6" | {{patent|EP|0400755B1}}<ref name=patent /><br>(expired) || colspan="2" | – || colspan="2" | {{patent|US|9398620B1}}<ref name=US9398620B1 >J.J. Lazzeroni, M.K. Carevich, J.D. Vertz, P.E.H. Hauser, S.J. Kingston, "Simultaneous voice and audio traffic between two devices on a wireless personal-area network", Publication number: US9398620 (B1)</ref><br>(expired) || style="background-color:#F0F2F6" | – |- ! style="text-align:left" | Free<br>implementations | style="background-color:#F0F2F6" | FFmpeg, libsbc || colspan="2" | libsbc || colspan="2" | libsbc|| style="background-color:#F0F2F6" | – |- ! style="text-align:left" | Proprietary<br>implementations | style="background-color:#F0F2F6" | – || colspan="2" | multiple hardware<br>implementations || colspan="2" | hardware implementation<br>in Qualcomm chips || style="background-color:#F0F2F6" | – |- ! rowspan="5" | Audio<br>Encoding ! style="text-align:left" | Channels | style="background-color:#F0F2F6" | Mono (1)<br>Joint Stereo (2) || colspan="2" | <br>Joint Stereo (2) || <br>Joint Stereo (2) || Mono (1)<br> || style="background-color:#F0F2F6" | <br>Stereo (2) |- ! style="text-align:left" | Sampling rate | style="background-color:#F0F2F6" | 16 kHz<br>32 kHz<br>44.1 kHz<br>48 kHz || colspan="2" | <br><br>44.1 kHz<br>48 kHz || <br><br>44.1 kHz<br>48 kHz || 16 kHz<br><br><br> || style="background-color:#F0F2F6" | <br><br>44.1 kHz<br> |- ! style="text-align:left" | Bit rate | style="background-color:#F0F2F6" | up to '''510 kbit/s'''<br>(@ 44.1 kHz)<br>up to '''507 kbit/s'''<br>(@ 48 kHz) || '''229 kbit/s'''<br>(@ 44.1 kHz)<br>'''237 kbit/s'''<br>(@ 48 kHz) || '''328 kbit/s'''<br>(@ 44.1 kHz)<br>'''345 kbit/s'''<br>(@ 48 kHz) || '''212 kbit/s'''<br>(@ 48 kHz) || '''72 kbit/s'''<br>(@ 16 kHz) || style="background-color:#F0F2F6" | '''1411 kbit/s'''<br>(@ 44.1 kHz) |- ! style="text-align:left" | Subbands | style="background-color:#F0F2F6" | 4 or 8 || colspan="4" | 8 || style="background-color:#F0F2F6" | none |- ! style="text-align:left" | Bitpool | style="background-color:#F0F2F6" | 2...86 <small>(@ 44.1 kHz)</small><br>2...78 <small>(@ 48 kHz)</small> || 35 <small>(@ 44.1 kHz)</small><br>33 <small>(@ 48 kHz)</small> || 53 <small>(@ 44.1 kHz)</small><br>51 <small>(@ 48 kHz)</small> || 29 || 32 || style="background-color:#F0F2F6" | none |}
===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 use the High Quality profile by default.<ref name=valdik>{{cite web | author = ValdikSS | title = Audio over Bluetooth: most detailed information about profiles, codecs, and devices | publisher = Habr | date = 18 June 2019 | url = https://habr.com/en/post/456182/ | access-date = 6 April 2021 }}</ref>
===Higher quality variants=== A2DP requires decoders to support higher quality streams - up to 512 kbit/s. The SBC XQ codec used by Lineage OS<ref name=xq>{{cite web | author = ValdikSS | title = Bluetooth SBC Dual Channel HD audio mode | publisher = Lineage OS | date = 6 July 2019 | url = https://lineageos.org/engineering/Bluetooth-SBC-XQ/ | access-date = 6 April 2021 }}</ref> and Linux distributions,<ref>{{Cite web |title=README-SBC-XQ.md |url=https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/3413ca9617e395014272024d244fb60e7ed0384b/spa/plugins/bluez5/README-SBC-XQ.md |access-date=2025-11-09 |website=gitlab.freedesktop.org}}</ref><ref>{{Cite web |title=PulseAudio: add dual channel SBC XQ codec configurations |url=https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/476 |access-date=2025-11-09 |website=gitlab.freedesktop.org}}</ref> has a higher bit rate of up to 551 kbit/s - giving it a comparable audio quality to aptX HD (529 kbit/s).<ref>{{cite web | author = Serge Smirnoff | title = Audio quality of SBC XQ Bluetooth audio codec | publisher = SoundExpert | date = 29 June 2019 | url = http://soundexpert.org/articles/-/blogs/audio-quality-of-sbc-xq-bluetooth-audio-codec | access-date = 6 April 2021 }}</ref>
===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.<ref name=valdik /><ref name=faststream-patch>{{cite web | author = Pali Rohár | title = [PATCH v11 07/11] bluetooth: Add A2DP FastStream codec support | publisher = pulseaudio-discuss mailing list | date = 2 June 2019 | url = https://lists.freedesktop.org/archives/pulseaudio-discuss/2019-June/031175.html | access-date = 6 April 2021 }}</ref>
==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 in BlueZ - the Linux Bluetooth stack.
==See also== *Audio codec *aptX *Bluetooth profile *Adaptive differential pulse-code modulation * List of codecs
== References == {{reflist}}
Category:Audio codecs Category:Bluetooth