SBC (kodek) - SBC (codec)
SBC lub niskiej złożoności podpasmo kodek, jest audio podpasmo kodek określony przez Bluetooth Special Interest Group (SIG) dla Distribution Profile Advanced Audio (A2DP). SBC to cyfrowy koder i dekoder audio używany do przesyłania danych do urządzeń wyjściowych audio Bluetooth, takich jak słuchawki lub głośniki. Może być również używany w Internecie. Został zaprojektowany z myślą o ograniczeniach przepustowości Bluetooth i mocy obliczeniowej, aby uzyskać dość dobrą jakość dźwięku przy średnich przepływnościach i niskiej złożoności obliczeniowej. Od wersji 1.3 A2DP kodowanie podpasmowe o niskiej złożoności pozostaje domyślnym kodekiem, a jego implementacja jest obowiązkowa dla urządzeń obsługujących ten profil, ale dostawcy mogą dodawać własne kodeki, aby dopasować je do swoich potrzeb.
Na targach CES 2020 Bluetooth SIG ogłosił LC3 jako następcę SBC. LC3 jest używany w protokole LE Audio opartym na specyfikacji Bluetooth 5.2 Core.
Projekt
SBC obsługuje strumienie mono i stereo oraz niektóre częstotliwości próbkowania do 48 kHz. Maksymalna szybkość transmisji wymagana do obsługi przez dekodery to 320 kbit/s dla strumieni mono i 512 kbit/s dla strumieni stereo. Wykorzystuje 4 lub 8 podpasm, algorytm adaptacyjnego przydzielania bitów w połączeniu z adaptacyjnym kwantyzatorem blokowym PCM. Frans de Bont oparł kodek audio SBC na swoich wcześniejszych pracach i – częściowo – na standardzie MPEG-1 Audio Layer II . Ponadto SBC opiera się na algorytmach opisanych w EP-0400755B1. Właściciele patentu napisali, że pozwalają na bezpłatne korzystanie z SBC w aplikacjach Bluetooth w celu zwiększenia wykorzystania tej technologii.
Warianty
Przegląd
główny strumień | z powrotem strumień | (na przykład) | |||||
---|---|---|---|---|---|---|---|
różne | Początek | – | maj 2003 | Marzec 2008 | – | ||
Powiązane patenty | EP 0400755B1 (wygasł) | – | US 9398620B1 (wygasły) | – | |||
Bezpłatne wdrożenia | Biblioteka BlueZ | PulseAudio , PipeWire | PipeWire , łatki dla PulseAudio | – | |||
Autorskie wdrożenia | – | wiele implementacji sprzętowych | implementacja sprzętowa w układach Qualcomm | – | |||
Kodowanie dźwięku |
Kanały | Mono (1) Wspólne stereo (2) |
Wspólne stereo (2) |
Wspólne stereo (2) |
Mono (1) |
Stereo (2) |
|
Częstotliwość próbkowania | 16 kHz 32 kHz 44,1 kHz 48 kHz |
44,1 kHz 48 kHz |
44,1 kHz 48 kHz |
16 kHz |
44,1 kHz |
||
Szybkość transmisji | do 510 kbit/s (@ 44,1 kHz) do 507 kbit/s (@ 48 kHz) |
229 kb/s (@ 44,1 kHz) 237 kb/s (@ 48 kHz) |
328 kb/s (@ 44,1 kHz) 345 kb/s (@ 48 kHz) |
212 kbit/s (@48kHz) | 72 kb/s (@ 16 kHz) | 1411 kb/s (przy 44,1 kHz) | |
Podpasma | 4 lub 8 | 8 | ? | ||||
Bitpool | 2–86 (przy 44,1 kHz) 2–78 (przy 48 kHz) |
35 (przy 44,1 kHz) 33 (przy 48 kHz) |
53 (przy 44,1 kHz) 51 (przy 48 kHz) |
29 | 32 | ? |
Średnia i wysoka jakość
A2DP zaleca koderom obsługę ustawień wstępnych średniej i wysokiej jakości, jak określono w powyższej tabeli. W rezultacie większość systemów operacyjnych używa profilu wysokiej jakości jako domyślnego lub nawet jedynego obsługiwanego profilu kodowania.
Warianty wyższej jakości
Jednak A2DP wymaga, aby dekodery obsługiwały strumienie o wyższej jakości, do 512 kb/s, a niektóre eksperymentalne kodery korzystają z tej funkcji: na przykład SBC XQ, używany przez Lineage OS . Dzięki wyższej przepływności jakość dźwięku jest porównywalna z aptX HD (529 kbit/s).
Szybki strumień
Podczas gdy A2DP oficjalnie obsługuje tylko jednokierunkowe strumienie audio, firma CSR znalazła sposób na wysłanie strumienia zwrotnego głosu przeciwnego do głównego strumienia stereofonicznego, umożliwiając korzystanie z A2DP w zestawach słuchawkowych z mikrofonami. Zostało to zaimplementowane w kodeku FastStream, który jest kodekiem SBC z ustawionymi parametrami i dodanym strumieniem głosu zwrotnego.
Realizacje
Specyfikacja testu A2DP (V1.0) zawiera referencyjną implementację kodera i dekodera dla kodeka SBC. Implementacja Linuksa jest dostępna w BlueZ - Stos Bluetooth Linuksa.