저전력 블루투스 오디오

저전력 블루투스 오디오 (LEA)를 사용하면 사용자가 배터리 수명을 단축하지 않으면서 Hi-Fi 오디오를 수신하고 여러 사용 사례 간에 매끄럽게 전환할 수 있습니다. Android 13 (API 수준 33)에는 LEA 지원이 내장되어 있습니다.

LEA 소스 기기 시장 점유율이 증가할 때까지 대부분의 LEA 헤드셋은 이중 모드입니다. 사용자는 듀얼 모드 헤드셋에서 두 전송을 모두 페어링하고 설정할 수 있어야 합니다.

사용 사례

다음 사용 사례에 LEA를 통합하는 것이 좋습니다.

  • 오디오 공유: 사용자는 하나 이상의 오디오 싱크 기기에 여러 오디오 스트림을 동시에 공유할 수 있습니다. 소스 기기와 연결된 기기 간에 오디오가 동기화됩니다.

  • 오디오 브로드캐스트: 사용자는 친구 및 가족에게 오디오를 브로드캐스트하는 동시에 정보, 엔터테인먼트 또는 접근성을 위해 공개 방송에 연결할 수 있습니다.

  • LC3 오디오 코덱 지원: 기본 오디오 코덱이며 A2DP (미디어)에 사용되는 SBC 코덱과 HFP (음성)의 mSBC를 대체합니다. LC3는 더 효율적이고 재구성 가능하며 품질이 더 높습니다.

  • 오디오 샘플링 개선: 헤드셋에서 마이크를 사용할 때 높은 출력 음질을 유지할 수 있습니다. 블루투스 클래식은 블루투스 마이크를 사용할 때 음질을 낮춥니다. BLE 오디오를 사용하면 입력 및 출력 샘플링이 32kHz에 도달할 수 있습니다.

  • 스테레오 마이크: 히어러블은 공간 음향 개선을 위해 스테레오 마이크로 오디오를 녹음할 수 있습니다.

  • 보청기 프로필 (HAP) 지원: HAP는 이전 ASHA 프로토콜보다 사용자에게 더 나은 접근성과 사용성을 제공합니다. 사용자는 전화 통화 및 VoIP 애플리케이션에 보청기를 사용할 수 있습니다.

  • 향상된 속성 프로토콜 (EATT) 지원: EATT를 사용하면 개발자가 페어링된 히어러블에 여러 명령어를 한 번에 전송할 수 있습니다.

주요 시나리오

사용 사례에는 네 가지 주요 카테고리가 있습니다.

  1. 대화형: 지연 시간이 짧은 통신 라우팅이 필요한 다이얼러 및 VoIP 애플리케이션은 고품질 오디오와 적은 배터리 사용량을 제공합니다.

  2. 게임: 동시 마이크 및 고음질 재생을 통해 게임에서 고품질 오디오를 청각 기기에 스트리밍할 수 있습니다. 게임 앱은 게임에서 블루투스 마이크를 사용할 준비가 된 상태로 설정하면 BLE 오디오 입력에 액세스할 수 있습니다. 그러면 플레이어가 동료 플레이어와 실시간 대화를 시작할 때 게임 앱이 지연 없이 마이크 데이터를 사용할 수 있습니다.

  3. 미디어: 미디어 애플리케이션은 오디오 관리자의 기본 기기를 설정할 수 있습니다. 사용자는 시스템 설정에서 기본 기기를 변경하여 이를 재정의할 수 있습니다.

  4. 접근성: 이제 BLE 오디오를 지원하는 보청기에서 마이크를 사용할 수 있으므로 사용자가 통화 시 보청기를 계속 사용할 수 있습니다.

BLE 오디오 API 및 메서드

BLE 오디오 히어러블을 지원하려면 다음 API와 메서드가 필요합니다.

AudioManager

  • setCommunicationDevice()은 음성 또는 영상 통화와 같은 커뮤니케이션 사용 사례에 사용해야 하는 오디오 기기를 선택합니다. 이 메서드는 음성 또는 영상 채팅 애플리케이션이 플랫폼에서 기본적으로 선택한 오디오 기기 이외의 다른 오디오 기기를 선택하는 데 사용할 수 있습니다. 이 API는 지원 중단된 startBluetoothSco(), stopBluetoothSco(), setSpeakerphoneOn() API를 대체합니다.
  • clearCommunicationDevice()는 앱이 통화나 세션을 종료한 후에 호출되어 사용자가 여러 애플리케이션 간에 이동할 때 우수한 환경을 제공할 수 있도록 지원합니다.

BluetoothProfile

  • BluetoothLeAudio는 프록시 객체를 통해 블루투스 서비스를 제어합니다.

Telecom InCallService

Telecom CallControl

오디오 기기 정보

  • AudioDeviceInfo.TYPE_BLE_HEADSET은 오디오 기기 유형을 LEA 기기로 설명합니다. 청각 보조 기기가 LEA 기기인지 식별하는 데 사용됩니다.

오디오 레코더

  • setPreferredDevice(): 사용할 오디오 라우팅의 기본 기기를 설정합니다. 사용자는 시스템 설정에서 이를 재정의할 수 있습니다.

블루투스 어댑터

사용 사례 기반 가이드

아래는 특정 사용 사례에 따라 LEA를 구현하기 위한 가이드라인입니다.

음성 통신 애플리케이션

음성 통신 애플리케이션은 상태를 자체 관리하거나 오디오 라우팅 및 상태 로직을 실행하는 Telecom API를 사용하여 오디오 라우팅 및 기기 상태를 관리할 수 있습니다.

이 두 솔루션을 사용하면 오디오 라우팅을 빠르고 쉽게 제어하고 Bluetooth 기기 간에 전환할 수 있습니다. 자세한 내용은 통신 사업자 관리 통화 가이드를 참고하세요.

오디오 녹음 애플리케이션

  • 미디어 녹음기: 이제 미디어 녹음기를 사용하여 오디오를 녹음할 때 블루투스 청각 보조 기기가 LEA를 지원하는 경우 스테레오로 녹음할 수 있습니다. 오디오 녹음 가이드를 확인하세요.

헤드셋 권장사항

LEA 헤드셋이 더 많이 출시됨에 따라 실제 테스트에서 사용자 환경을 저하시키는 문제가 발견되었습니다. 사양에서는 이러한 문제를 모두 다루지 않습니다. 다음 표에는 Android 사용자의 엔드 투 엔드 환경을 개선하기 위해 LEA 헤드셋 제조업체가 따라야 하는 권장사항 목록이 나와 있습니다.

설명 컨텍스트
듀얼 모드 헤드셋의 교차 전송 키 파생 (CTKD) 지원:
  • 클래식-LE 페어링과 LE-클래식 페어링 모두의 키 파생 지원
LEA 소스 기기 시장 점유율이 증가할 때까지 대부분의 새 LEA 헤드셋은 이중 모드입니다. 사용자가 듀얼 모드 헤드셋을 원활하게 페어링하고 두 전송을 모두 설정할 수 있어야 합니다. 이는 Google 빠른 페어링에도 중요합니다.

LEA 헤드셋이 소스 기기에 안정적으로 다시 연결되도록 하려면 타겟팅된 알림 (TA)을 지원합니다.

LE 오디오 이어폰은 TA를 사용하여 중앙 기기에서 수신 연결을 요청해야 합니다.

향후 BT SIG에 추가될 예정입니다.

전화나 헤드셋에서 연결을 시작할 수 있는 BR/EDR의 페이징 모델과 달리 LEA의 연결은 중앙 기기에서 시작해야 합니다. 현재 많은 헤드셋이 TA를 사용하지 않으므로 중앙 기기가 허용 목록에 추가하지 않고는 주변기기에 다시 연결하지 못할 수 있습니다. 하지만 허용 목록 해결 방법으로 인해 헤드셋이 다른 중앙 기기에 연결되지 않을 수 있습니다. 따라서 중앙 기기가 멀티포인트 연결을 중단할 수 있는 해결 방법 없이 안정적으로 다시 연결될 수 있도록 LEA 헤드셋이 TA를 적절히 지원하는 것이 중요합니다.
듀얼 모드 이어폰의 검색 가능성 최적화
  • 기본 이어폰 - BR/EDR 구성요소는 공개 주소를 사용하여 광고하고 EIR을 통해 이름을 사용할 수 있는 문의 및 페이지 검색을 사용 설정하고 기기 클래스 (CoD)의 주요 서비스 클래스에서 LE 오디오 비트 14를 1로 설정해야 합니다.
  • 기본 이어폰 - LE 구성요소: 기본 이어폰은 BR/EDR 구성요소와 동일한 공개 주소와 BR/EDR 구성요소와 동일한 완전한 로컬 이름을 사용하여 연결 가능 및 검색 가능 (제한 또는 일반) 광고를 실행해야 하며, 중앙 기기가 이 정보를 사용하여 UI와 오디오 라우팅 정책을 조정할 수 있도록 외관 카테고리가 원격 기기 유형과 일치하는 적절한 외관 카테고리로 설정되어야 합니다.
  • 보조 이어폰 - LE만 해당: 보조 이어폰은 연결 가능하고 검색 불가능한 광고를 실행해야 하며(SHOULD) 모양 카테고리는 중앙 기기가 이 정보를 사용하여 UI와 오디오 라우팅 정책을 조정할 것으로 예상되는 원격 기기 유형과 일치하는 적절한 모양 카테고리로 설정해야 합니다(SHOULD).

    이어폰은 CSIP 그룹에서 리더를 동적으로 선택하여 기본 기기로 지정해야 합니다. 이어폰이 이중 모드인 경우 페어링 후 LE와 클래식 기능이 모두 올바르게 작동하도록 기본 기기가 이중 모드여야 합니다.

이렇게 하면 이중 모드 LEA 이어폰이 블루투스 설정에 중복 항목으로 표시되지 않으므로 사용자가 혼동하고 LEA 페어링 환경이 저하될 수 있습니다.

동적 리더 선택은 점진적으로 페어링되는 이중 모드 기기에 특히 중요합니다. 예를 들어 초기 페어링 시 이어폰이 하나만 사용 가능한 경우 듀얼 모드 기기로 표시되어야 합니다. 나중에 사용자가 두 번째 이어폰과 페어링하면 LE 구성요소와만 페어링하면 되고 CSIP는 Android에서 함께 그룹화되도록 합니다.

BR/EDR 구성요소가 이미 기기의 공개 주소를 근처 기기에 노출하므로 페어링 중에 ID 주소를 사용하는 것이 좋습니다.

향상된 속성 프로토콜 (EATT)을 지원해야 합니다. 페어링 및 연결 지연 시간을 줄입니다.
강력한 GATT 캐싱 지원 특히 TWS 이어폰의 연결 지연 시간을 줄입니다.
연결 하위 등급 지원 더 유연한 패킷 예약과 잠재적인 배터리 절약이 가능합니다.
재생과 캡처 모두의 전처리 및 후처리 중에 신호 처리 파이프라인이 16, 24, 32, 48kHz에서 작동하고 더 높은 주파수를 지원할 수 있어야 합니다. LEA 통화 또는 VoIP 캡처 경로 및 미디어 재생에 지원되는 더 높은 샘플링 레이트를 활용합니다.
LE 전원 제어 지원 전원 관리 개선

컨텍스트 유형 지원

설명 컨텍스트
헤드셋이 특정 컨텍스트 유형을 명시적으로 지원하지 않는 경우를 제외하고 할당된 번호 6.12.3에 지정된 모든 컨텍스트 유형을 사용합니다. 예를 들어 컨텍스트 유형 '게임'이 지원되지 않으면 Android는 게임 소리를 전송합니다. 특히 'Unspecified' 컨텍스트 유형은 '모든 컨텍스트 유형'을 의미하지 않으며 지원되지 않는 컨텍스트 유형을 포함하지 않습니다.

중앙 기기가 주변기기의 ASCS와 상호작용하는 경우 주변기기는 중앙 기기의 MCS 및 TBS에 연결해야 합니다.

중앙 기기는 A2DP 또는 HFP 사용으로 대체될 수 있으므로 스트리밍 경로로 항상 LE 오디오를 사용하지 않을 수 있습니다. 주변기기는 중앙 기기가 스트리밍에 LE 오디오를 사용할지 여부를 나타내는 것으로 ASCS 상호작용을 사용할 수 있습니다.

ASCS 상호작용의 몇 가지 예는 읽기, 쓰기, 알림 등록입니다.

Auracast 트랜스미터 권장사항

이 섹션에서는 Auracast 트랜스미터를 구성하기 위한 권장사항을 제공합니다.

간헐적 방송

대중교통 터미널과 같은 공공장소의 오디오 알림은 간헐적이며 긴 침묵으로 구분되는 경우가 많습니다. 공지사항 사이에 무음 또는 배경 오디오를 지속적으로 스트리밍하면 수신기 전력이 낭비되고 사용자가 로컬 미디어나 다른 활성 Auracast 스트림과 같은 기본 오디오 스트림을 청취할 수 없습니다.

사용자 환경을 개선하기 위해 Android에서는 Auracast 트랜스미터가 간헐적인 브로드캐스트 처리에 관한 다음 가이드라인을 준수할 것을 권장합니다.

정의

  • 관심 오디오: 게이트 또는 기차 안내와 같이 사용자를 위한 핵심 정보 콘텐츠입니다.
  • 배경 오디오: 관심 오디오 기간 사이에 전송되는 배경 무음, 정적 또는 주변 음악입니다.
  • 간헐적 방송: 관심 오디오 기간과 배경 오디오 기간 또는 오디오가 전혀 없는 기간이 번갈아 나타나는 방송입니다.

간헐적 방송 식별

방송을 간헐적 방송으로 지정하려면 방송사가 다음 두 위치에 Audio_Active_State 메타데이터 LTV (길이-유형-값) 구조[1] 를 포함해야 합니다.

  1. 기본 구조 레벨 2 메타데이터 (주기적 광고) [2]
  2. 공개 방송 공지사항 메타데이터 (확장 광고) [3]

수신자가 간헐적 브로드캐스트를 식별하고 스트림을 재생할지 결정할 수 있도록 브로드캐스터는 Streaming_Audio_Context 메타데이터 LTV 구조 [1]도 정확하게 설정해야 합니다.

관심 대상 오디오 식별

간헐적 브로드캐스트에 특정 시점에 관심 오디오가 포함되어 있는지 동적으로 신호로 알리기 위해 트랜스미터는 Audio_Active_State 메타데이터 LTV 구조를 사용합니다.

  • BASE 구조 레벨 2 메타데이터: 값 0x01은 하위 그룹의 BIS에 현재 관심 오디오가 포함되어 있음을 나타냅니다.
  • 공개 방송 알림 메타데이터: 값 0x01은 BIG 내 BIS 중 하나 이상에 관심 오디오가 포함되어 있음을 나타냅니다.

Audio_Active_State 메타데이터 LTV 값은 관심 오디오를 전송하기 직전에 0x01로 설정되어 스캔 기기가 공개 브로드캐스트 소스와 동기화될 수 있어야 합니다. 반대로 전송이 종료된 직후에는 0x00으로 설정해야 합니다.

스트리밍 오디오 컨텍스트 활용

명시적 컨텍스트를 제공하면 Android 프레임워크와 수신 기기에서 수신 스트림의 우선순위를 지정할 수 있습니다. 예를 들어 공공 주소 (PA) 시스템은 스트리밍_오디오_컨텍스트 유형을 교육용으로 설정하여 공지사항이 수신기의 로컬 미디어 재생을 깔끔하게 중단하고 나중에 원활하게 다시 시작할 수 있도록 합니다.

참조

[1] Bluetooth Assigned Numbers, https://www.bluetooth.com/specifications/assigned-numbers/
[2] Basic Audio Profile, https://www.bluetooth.com/specifications/specs/basic-audio-profile-1-0-3/
[3] Public Broadcast Profile, https://www.bluetooth.com/specifications/specs/public-broadcast-profile-1-0-2/