SBC (codec) - SBC (codec)

SBC , ou codec de sub-banda de baixa complexidade, é um codec de sub-banda de áudio especificado pelo Bluetooth Special Interest Group (SIG) para o Advanced Audio Distribution Profile (A2DP). SBC é um codificador e decodificador de áudio digital usado para transferir dados para dispositivos de saída de áudio Bluetooth, como fones de ouvido ou alto-falantes. Também pode ser usado na Internet. Ele foi projetado com limitações de largura de banda Bluetooth e poder de processamento em mente para obter uma qualidade de áudio razoavelmente boa em taxas de bits médias com baixa complexidade computacional. A partir do A2DP versão 1.3, a codificação de sub-banda de baixa complexidade permanece o codec padrão e sua implementação é obrigatória para dispositivos que suportam esse perfil, mas os fornecedores são livres para adicionar seus próprios codecs para atender às suas necessidades.

No CES 2020, o Bluetooth SIG anunciou o LC3 como o sucessor do SBC. LC3 é usado no protocolo LE Audio com base na especificação Bluetooth 5.2 Core.

Projeto

O SBC oferece suporte a fluxos mono e estéreo e certas frequências de amostragem de até 48 kHz. A taxa de bits máxima necessária para ser compatível com os decodificadores é de 320 kbit / s para mono e 512 kbit / s para streams estéreo. Ele usa 4 ou 8 sub-bandas, um algoritmo de alocação de bits adaptável em combinação com um quantizador PCM de bloco adaptativo. Frans de Bont baseou o codec de áudio SBC em seu trabalho anterior e - em partes - no padrão MPEG-1 Audio Layer II . Além disso, o SBC é baseado nos algoritmos descritos no EP-0400755B1. Os proprietários das patentes escreveram que permitem o uso gratuito do SBC em aplicativos Bluetooth com o objetivo de impulsionar o uso dessa tecnologia.

Variantes

Visão geral

SBC Perfis SBC FastStream CD de áudio
Qualidade Média Alta qualidade
convencional fluxo de retorno (para referência)
misc. Lançar - Maio de 2003 Março de 2008 -
Patentes relacionadas EP 0400755B1  (expirado) - US 9398620B1  (expirado) -
Implementações gratuitas BlueZ libsbc PulseAudio , PipeWire PipeWire , patches para PulseAudio -
Implementações proprietárias - múltiplas implementações de hardware implementação de hardware em chips Qualcomm -

Codificação de Áudio
Canais Mono (1)
Joint Stereo (2)

Joint Stereo (2)

Joint Stereo (2)
Mono (1)
 

Estéreo (2)
Taxa de amostragem 16 kHz
32 kHz
44,1 kHz
48 kHz 


44,1 kHz
48 kHz 


44,1 kHz
48 kHz 
16 kHz


 


44,1 kHz
 
Taxa de bits até 510 kbit / s (@ 44,1 kHz)
até 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 (@ 48 kHz) 72 kbit / s (@ 16 kHz) 1411 kbit / s (@ 44,1 kHz)
Subbandas 4 ou 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 ?

Média e alta qualidade

A2DP recomenda codificadores para suportar predefinições de qualidade média e alta qualidade conforme especificado na tabela acima. Como resultado, a maioria dos sistemas operacionais está usando o perfil de alta qualidade como padrão ou mesmo o único perfil de codificação compatível.

Variantes de qualidade superior

No entanto, o A2DP requer decodificadores para suportar fluxos de qualidade superior, de até 512 kbit / s, e existem alguns codificadores experimentais que usam esse recurso: por exemplo, SBC XQ, usado pelo Lineage OS . Com uma taxa de bits mais alta, a qualidade do áudio é comparável ao aptX HD (529 kbit / s).

FastStream

Embora o A2DP oficialmente suporte apenas fluxos de áudio unilaterais, o CSR encontrou uma maneira de enviar um fluxo de retorno de voz oposto ao fluxo estéreo principal, tornando possível usar o A2DP em fones de ouvido com microfones. Ele foi implementado no codec FastStream, que é o codec SBC com parâmetros definidos e o fluxo de retorno de voz adicionado.

Implementações

A especificação de teste A2DP (V1.0) contém uma implementação de referência do codificador e do decodificador para o codec SBC. Uma implementação do Linux está disponível em BlueZ - The Linux Bluetooth stack.

Veja também

Referências