SBC (codec) - SBC (codec)
SBC , o codec di sottobanda a bassa complessità, è un codec di sottobanda audio specificato dal Bluetooth Special Interest Group (SIG) per Advanced Audio Distribution Profile (A2DP). SBC è un codificatore e decodificatore audio digitale utilizzato per trasferire dati a dispositivi di uscita audio Bluetooth come cuffie o altoparlanti. Può essere utilizzato anche su Internet. È stato progettato tenendo conto delle limitazioni della larghezza di banda Bluetooth e della potenza di elaborazione per ottenere una qualità audio ragionevolmente buona a bit rate medi con bassa complessità computazionale. A partire dalla versione 1.3 di A2DP, la codifica della sottobanda a bassa complessità rimane il codec predefinito e la sua implementazione è obbligatoria per i dispositivi che supportano quel profilo, ma i fornitori sono liberi di aggiungere i propri codec per soddisfare le proprie esigenze.
Al CES 2020 Bluetooth SIG ha annunciato LC3 come successore di SBC. LC3 è utilizzato nel protocollo LE Audio basato sulla specifica Bluetooth 5.2 Core.
Design
SBC supporta flussi mono e stereo e determinate frequenze di campionamento fino a 48 kHz. Il bitrate massimo richiesto per essere supportato dai decoder è 320 kbit/s per i flussi mono e 512 kbit/s per i flussi stereo. Utilizza 4 o 8 sottobande, un algoritmo di allocazione dei bit adattivo in combinazione con un quantizzatore PCM a blocchi adattivo. Frans de Bont ha basato il codec audio SBC sul suo lavoro precedente e, in parte, sullo standard MPEG-1 Audio Layer II . Inoltre, l'SBC si basa sugli algoritmi descritti in EP-0400755B1. I proprietari del brevetto hanno scritto che consentono l'uso gratuito di SBC nelle applicazioni Bluetooth con l'obiettivo di aumentare l'uso di questa tecnologia.
varianti
Panoramica
corrente principale | flusso di ritorno | (per riferimento) | |||||
---|---|---|---|---|---|---|---|
varie | Lanciare | – | maggio 2003 | marzo 2008 | – | ||
Brevetti correlati | EP 0400755B1 (scaduto) | – | US 9398620B1 (scaduto) | – | |||
Implementazioni gratuite | BlueZ libsbc | PulseAudio , PipeWire | PipeWire , patch per PulseAudio | – | |||
Implementazioni proprietarie | – | implementazioni hardware multiple | implementazione hardware nei chip Qualcomm | – | |||
Codifica audio |
Canali | Mono (1) Stereo congiunto (2) |
Stereo comune (2) |
Stereo comune (2) |
Mono (1) |
Stereo (2) |
|
Frequenza di campionamento | 16 kHz 32 kHz 44,1 kHz 48 kHz |
44,1kHz 48kHz |
44,1kHz 48kHz |
16kHz |
44,1kHz |
||
Velocità in bit | fino a 510 kbit/s (@ 44,1 kHz) fino a 507 kbit/s (@ 48 kHz) |
229 kbit/s (@ 44,1 kHz) 237 kbit/s (@ 48 kHz) |
328 kbit/s (@ 44,1 kHz) 345 kbit/s (@ 48 kHz) |
212 kbit/s (@ 48kHz) | 72 kbit/s (@ 16kHz) | 1411 kbit/s (@ 44,1kHz) | |
sottobande | 4 o 8 | 8 | ? | ||||
Bitpool | 2 - 86 (@ 44,1 kHz) 2 - 78 (@ 48 kHz) |
35 (@ 44,1 kHz) 33 (@ 48 kHz) |
53 (@ 44,1 kHz) 51 (@ 48 kHz) |
29 | 32 | ? |
Media e alta qualità
A2DP consiglia agli encoder di supportare i preset di qualità media e alta come specificato nella tabella sopra. Di conseguenza, la maggior parte dei sistemi operativi utilizza il profilo di alta qualità come predefinito o addirittura l'unico profilo di codifica supportato.
Varianti di qualità superiore
Tuttavia, A2DP richiede che i decoder supportino flussi di qualità superiore, fino a 512 kbit/s, e ci sono alcuni encoder sperimentali che utilizzano questa funzione: ad esempio, SBC XQ, utilizzato da Lineage OS . Con un bit rate più elevato, la qualità audio è paragonabile a aptX HD (529 kbit/s).
FastStream
Mentre A2DP supporta ufficialmente solo flussi audio unidirezionali, CSR ha trovato un modo per inviare un flusso di ritorno vocale opposto al flusso stereo principale, rendendo possibile l'utilizzo di A2DP in cuffie con microfono. È stato implementato nel codec FastStream, che è il codec SBC con i parametri impostati e il flusso di ritorno vocale aggiunto.
implementazioni
La specifica di test A2DP (V1.0) contiene un'implementazione di riferimento dell'encoder e del decoder per il codec SBC. Un'implementazione Linux è disponibile su BlueZ - Lo stack Bluetooth Linux.