최근 수정 시각 : 2024-10-09 13:03:57

SBC(오디오 코덱)

🎵 오디오 코덱
{{{#!wiki style="margin: 0 -10px -5px; min-height: 26px"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin: -6px -1.5px -13px"
<colbgcolor=#555>손실
압축
<colbgcolor=#555><colcolor=#fff>일반MP1 · MP2 · MP3 · mp3PRO · AAC · Musepack · WMA · Vorbis · Opus · USAC
음성 특화AMR-NB · AMR-WB · AMR-WB+ · WMA Voice · Speex · Opus · Codec 2 · EVS · Lyra
다중채널 특화AC-3 · SDDS · DTS · AC-4
블루투스SBC · aptX · AAC · LDAC · SSC(Samsung Seamless Codec · Samsung Scalable Codec) · LC3
무손실 압축FLAC · ALAC · APE · TAK · WMA Lossless · TTA · WavPack
무손실 무압축PCM (WAV · AIFF)
관련 문서: MIDI · DSD
관련 틀: 그래픽 · 오디오 · 비디오
}}}}}}}}} ||
<colbgcolor=#0082fc><colcolor=#e5e5e5> 블루투스 오디오 코덱
{{{#!wiki style="margin:0 -10px -5px; min-height:calc(1.5em + 5px)"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin:-5px -1px -11px"
코덱 개발사 적용 회사
SBC 프라운호퍼 IIS, 에릭슨 표준
LC3
LC3 plus
AAC 프라운호퍼 IIS, 돌비, 노키아 표준
aptX CSR 퀄컴, Microsoft Windows
aptX adaptive 퀄컴
LDAC 소니 Android, 소니
SSC 삼성 삼성
SSC Hi-Fi
ALAC 애플 애플 일부 제품
LHDC 사비테크 화웨이, 샤오미, 오디오테크니카}}}}}}}}}

1. 개요2. 압축 방식3. 전송 지연4. 비트레이트5. 기타6. 사양

1. 개요

SBC(Sub-Band Codec)는 블루투스 오디오 기기에 사용되는 A2DP(Advanced Audio Distribution Profile) 프로필의 기본 표준 압축에 사용되는 코덱이다.

2. 압축 방식

압축 방식은 MP2, Musepack, MP3와 비슷하게 오디오 신호를 주파수 대역별로 여러 밴드로 나눠 코딩하는데, 알고리즘을 간소화해서 그만큼 계산량이 적어서 전력 소모가 적은 대신 압축률은 MP2보다도 낮다.

3. 전송 지연

파일:bluetooh_latency.png
압축률이 낮아 전송 지연이 다소 길다고 알려져 있다. 그러나 전송 지연은 상단의 표와 같이 aptX LL과 같이 레이턴시 특화 코덱이 아니라면 코덱 그 자체(Algorithmic delay)[1]보다 리시버 하드웨어에 더 큰 영향을 받는다. 즉, 잘 만든 블루투스 리시버는 SBC 코덱이라 하더라도 aptx와 레이턴시에 큰 차이가 없다. SBC와 aptX를 동시에 지원하는 경우 양자 간에 20ms 정도의 속도 차이를 보였으며, 이 정도 차이는 사람이 인식하기 힘들다. 또한 SBC 코덱임에도 타 제품의 aptX 코덱과 비슷하거나 더 나은 레이턴시를 보이는 제품이 상당수 존재하여, 이를 통해 SBC와 aptX의 전송 지연의 경우 코덱의 지원 여부보다 하드웨어에 더 큰 영향을 받는 것이 확인된다. 다만 aptX LL을 지원하는 경우 30ms의 레이턴시를 보이며 전송 지연 감소 특화 코덱 다운 모습을 보여주었다. 참조

4. 비트레이트

비트전송률(비트레이트)은 고정되어 있지 않지만 일반적으로는 최고 328/345kbps[2]까지 지원하므로 음질은 MP3 224kbps와 비슷하다. 기기에 따라서는 혼선을 방지하기 위해 MP3 112kbps 정도의 음질인 229/237kbps[3]로 제한을 걸 수 있다. 또한 TWS나 저가형 칩셋을 사용하는 블루투스 리시버의 경우 위의 표준값과는 상관없는 임의의 제한을 가질 수 있다.

여담으로, 안드로이드는 블루투스 스택을 수정하여 SBC의 비트레이트 제한을 상향 조정할 수 있다. 이렇게 비트레이트가 상향된 SBC는 SBC XQ 혹은 SBC Dual Channel로 불리는데 인코딩 결과물 분석을 바탕으로 살펴보면 aptX를 압도하는 것은 물론이고 특히 16-bit/44.1kHz/551.3kbps 혹은 16-bit/48kHz/600kbps 에서 aptX HD를 상회하는 음질을 확인할 수 있다.

아래 표는 실험을 거친 설정과 비트레이트 값들 중 의미 있는 값들을 정리한 것이다.
  • 같은 비트풀이라도 32kHz, 44.1kHz, 48kHz의 비트레이트는 다름에 주의. 이는 샘플레이트 증가로 인한 대역폭 상승이 반영된 것이다.
  • TWS는 48kHz에서는 정상적으로 작동하지 않는 것이 보통이므로 주의해야 한다. 그나마 CSR[4]과 QCC[5]를 비롯한 퀄컴 계열 칩셋은 문제가 덜한 편이며 BES는 2300부터[6] 정상 작동하는 모델이 나타나기 시작한다. 칩셋이 동일해도 제각각인 것을 보면 펌웨어를 어떻게 구성했느냐와도 연관이 있는 듯.
  • 꼭 고급, 최신 칩셋을 사용한 트랜시버라 해서 좋은 설정이 가능하리라는 보장이 없으며 의외로 저가형, 구형 칩셋이 월등한 경우가 있다.
  • 표에 명시되지 않은 설정값은 이곳에서 계산할 수 있다.
    모드샘플레이트비트풀EDR 최적화비트레이트비고

    Joint Stereo32/44.1kHz243Mbps122.0/168.1kbpsMP3 48~64kbps 급

    302Mbps146.0/201.2kbpsMP3 80~96kbps 급

    44.1/48kHz35/33[7]X228.8/237.0kbpsMP3 112kbps 급

    44/42X278.4/291.0kbpsMP3 160kbps 급

    53/51[8]X328.0/345.0kbpsMP3 224kbps 급
    aptX

    Dual Channel29X352.8/384.0kbps

    302Mbps363.8/396.0kbpsaptX 상회

    382Mbps452.0/492.0kbpsaptX HD 근접

    473Mbps551.3/600.0kbpsaptX HD 급

    522Mbps606.4/660.0kbpsLDAC 스탠다드 급

안드로이드 11 이하의 루팅된 기기는 대부분 디스어셈블러와 헥스에디터를 사용해 패치하는 방법[9]으로 비트레이트 값을 설정할 수 있다. 다만, 현재 제대로 정리된 패치 메뉴얼을 찾을 수 있는 것은 블루드로이드 스택을 사용하는 롤리팝 이상 누가 이하까지다. 그외에는 칩셋, 제조사, 안드로이드 버전마다 패치 방법이 크게 달라진다[10].

일단 발신 측에 패치를 성공하면 수신 측에서는 별다른 지원이나 조작이 필요하지 않으며 설령 수신 측이 임의의 비트레이트 제한을 가진 경우라도 채널 모드가 변경되기 때문에[11] 그것을 자연스럽게 우회한다. 다만 초저가형 리시버 중 듀얼 채널 모드 자체를 지원하지 않거나 고비트레이트에서 문제를 일으키는 것들이 드물게 있으므로 주의해야 한다. 심한 노이즈/왜곡이 발생하거나 소리가 아예 안 난다.

SBC XQ 452kbps와 551.3kbps 설정은 Lineage OS를 비롯한 몇몇 커스텀 롬에 기본으로 들어간다.

윈도우의 경우에는 Alternative A2DP Driver(유료)를 이용하여 조절이 가능하다.

5. 기타

  • 요즘 블루투스 오디오 기기들은 기본적인 SBC 코덱 외에 압축률과 음질이 다소 개선된 aptX, AAC, LDAC 코덱 등도 지원한다. 이들은 블루투스 표준 규격이 기본적으로 코덱은 아닌 확장 규격이므로 스마트폰 등 오디오 소스와 스피커/이어폰 등 오디오 출력장치 양쪽이 aptX든 AAC든 동일한 코덱을 공통적으로 지원해야 해당 코덱을 통한 고음질 소스를 지원할 수 있다.
  • 요즘 기준으로 그리 좋은 코덱이라 볼 수는 없지만 전송률이 높아 음질은 블라인드 테스트로 큰 차이가 없고, 전송 지연도 하드웨어 성능이 좋을 경우 aptX LL과 비교가 아니라면 타 코덱과 극적인 차이가 없다. 사용하기에 나쁜 코덱은 아니라는 뜻이다. 다만 전파 간섭이나 전술한 비트풀 제한에 걸리는 등의 이유로 실제 품질은 이론상 품질보다 나빠질 수 있다.

6. 사양

  • 샘플레이트: 16, 32, 44.1, 48 kHz
  • 비트레이트: 10~1500 kbps
  • 채널: 1(모노), 2(스테레오, 조인트 스테레오, 듀얼 채널)
  • 운영체제별 지원 범위 #
    운영체제 샘플레이트 최대 비트풀 최대 비트레이트 일반 비트레이트 동적 비트풀 지원

    윈도우 10 44.1 kHz 53 512 kbps 328 kbps O

    리눅스 16, 32, 44.1, 48 kHz 64(수신접속)
    53(발신접속)
    무제한 328 kbps O

    맥OS 하이 시에라 44.1 kHz 64(기본값 53) ? 328 kbps X

    안드로이드 44.1, 48 kHz 53 328 kbps(4.4 이상)
    229 kbps(4.3.1 이하)
    X

    블랙베리 10 48 kHz 53 무제한 328 kbps X


[1] SBC의 경우 1.13~12.88ms인데, 일반적인 환경(44.1/48kHz, 16 Blocks in frame, 8 Subbands)에서는 4.67/4.29ms 밖에 안 된다.[2] 44.1kHz에서 328kbps(bitpool 53), 48kHz에서 345kbps(bitpool 51).[3] 44.1kHz에서 229kbps(bitpool 35), 48kHz에서 237kbps(bitpool 33).[4] CSR8670을 사용한 젠하이저 모멘텀 트루 와이어리스가 660kbps를 아무 문제 없이 버틴다.[5] 3020, 3040, 3046, 5121을 사용한 모델들 중 정상 작동함과 동시에 660kbps 실사용에 문제가 없는 모델이 최소한 하나 이상씩 확인되었다.[6] TaoTronics SoundLiberty 79가 660kbps에서 실사용이 가능하다.[7] A2DP Middle Quality Profile[8] A2DP High Quality Profile[9] 패치한 바이너리를 Magisk 모듈로 만드는 것도 가능하다.[10] AOSP의 블루즈(젤리빈4.1 이하)/블루드로이드(젤리빈4.2 이상)/플루오라이드(오레오 이상) 기반 스택, 젤리빈4.1 이하의 삼성/LG/팬텍 기기에서 종종 발견되는 레거시 브로드컴 스택, 마쉬멜로우 미만 미디어텍 기기 전용인 블루엔젤 스택 정도가 특기할 만하다.[11] SBC를 사용하는 블루투스 리시버는 비트레이트가 아닌 비트풀을 제한하는 방식으로 비트레이트 제한을 구현한다. 채널 모드가 조인트 스테레오에서 듀얼 채널로 변경되면 비트풀에 따른 비트레이트 값이 두 배 가까이 상승하기 때문에 비트레이트 제한도 두 배 가까이 오른다.

파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 문서의 r134에서 가져왔습니다. 이전 역사 보러 가기
파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 다른 문서에서 가져왔습니다.
[ 펼치기 · 접기 ]
문서의 r134 (이전 역사)
문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

분류