나무모에 미러 (일반/어두운 화면)
최근 수정 시각 : 2024-04-05 17:22:33

SBC(오디오 코덱)


오디오 코덱
{{{#!wiki style="margin:0 -10px -5px; min-width:300px; min-height:calc(1.5em + 5px); word-break:keep-all"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin:-6px -1px -11px"
<colbgcolor=#a0e6df,#286f68>손실
압축
<colbgcolor=#cbedea,#2b4f4c>일반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를 상회하는 음질을 확인할 수 있다.

아래 표는 실험을 거친 설정과 비트레이트 값들 중 의미 있는 값들을 정리한 것이다.

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

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

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

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

5. 기타

6. 사양



[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
, 3.1번 문단
에서 가져왔습니다. 이전 역사 보러 가기
파일: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 (이전 역사)

분류