블루투스 (BT) 저전력 (LE) 오디오 는 헤드 트래킹 (HT) 데이터를 위한 비동기 연결 지향 논리(LE-ACL) 및 등시성 (LE-ISO) 논리 전송 메커니즘을 도입합니다.
Android 15는 LE-ACL 또는 LE-ISO 전송 메커니즘이 사용되는지에 따라 HT의 지연 시간 모드 조정을 지원합니다.
이 페이지에서는 오디오 프레임워크, 오디오 HAL, 블루투스 스택이 상호작용하여 호스트와 헤드셋에서 지원하는 LE-ACL 또는 LE-ISO 전송 메커니즘을 검색하고 선택하는 방법을 설명합니다.
LE-ACL 및 LE-ISO 지원
Android 15에는 공급업체 정의 시스템 속성, 오디오 HAL 지연 시간 모드, 및 스페이셜라이저 연결 모드를 사용하여 LE-ACL 및 LE-ISO 전송 메커니즘을 지원하는 기능이 포함되어 있습니다.
시스템 속성
휴대전화 공급업체 구현은
bluetooth.core.le.dsa_transport_preference 시스템 속성에 지원되는 전송 메커니즘을 나열합니다. 값은 쉼표로 구분된 문자열 목록으로,
지원되는 전송을 선호도 순서대로 나열합니다.
le-acl: 관성 측정 단위 (IMU) 데이터가 센서 스택을 통해 보고될 때 LE-ACL 전송입니다.iso-hw: 오디오 DSP의 스페이셜라이저로 블루투스 컨트롤러에서 직접 HT 데이터를 터널링할 수 있는 기능이 있는 ISO 전송입니다.iso-sw: IMU 데이터가 센서 스택을 통해 보고될 때 터널링 기능이 없는 ISO 전송입니다.
지연 시간 모드
BT LE 오디오의 경우 지원되는 지연 시간 모드를 오디오 HAL 및 오디오 프레임워크에 표시하는 BT 스택의 메커니즘은 BT Classic (A2DP)에 정의된 메커니즘과 동일합니다. 오디오 HAL은 현재 선택된 오디오 기기에 따라 지원되는 지연 시간 모드를 보고합니다.
A2DP 구현은 FREE 및 LOW_LATENCY 모드만 지원합니다.
반면 BT LE 오디오의 경우 LE-ACL 및 LE-ISO 전송 메커니즘의 추가를 지원하기 위해 오디오 HAL에 다음과 같은 지연 시간 모드 가 정의되어 있습니다.
FREE: 이 값은 지연 시간에 특정 제약조건이 없음을 나타냅니다. 이 모드는 지연 시간이 짧은 모드가 지원되지 않거나 (HAL에서 표시) HT가 활성 상태가 아닐 때 (프레임워크에서 표시) 사용됩니다.LOW: 이 값은 HT 작업과 호환되는 비교적 짧은 지연 시간 (예: 100ms 미만)을 나타냅니다. 이 모드는 지연 시간이 짧은 모드가 지원되고 HID가 ACL 프로토콜을 통해 전달되거나 (HAL에서 표시) HT가 활성 상태이고 다른 지연 시간이 짧은 모드가 없을 때(프레임워크에서 표시) 사용됩니다.DYNAMIC_SPATIAL_AUDIO_SOFTWARE: 이 모드는 다음 조건 중 하나가 충족될 때 사용됩니다.- 지연 시간이 짧은 모드가 지원되고 HID가 ISO 프로토콜을 통해 전달되며 HID를 스페이셜라이저 효과 엔진으로 터널링할 수 없는 경우 (HAL에서 표시)
- HT가 활성 상태이고 오디오 프레임워크가 스페이셜라이저 효과 엔진에 HID 데이터를 제공할 때 ISO 프로토콜이 사용되는 경우 (프레임워크에서 표시)
이 모드에서 프레임워크의 HT 컴퓨팅 라이브러리는 IMU 데이터에 대한 모든 사전 처리와 휴대전화 센서로 표시된 휴대전화 움직임과의 조정을 실행합니다.
DYNAMIC_SPATIAL_AUDIO_HARDWARE: 이 모드는 다음 조건 중 하나가 충족될 때 사용됩니다.- 지연 시간이 짧은 모드가 지원되고 HID가 ISO 프로토콜을 통해 전달되며 HID를 스페이셜라이저 효과 엔진으로 터널링할 수 있는 경우 (HAL에서 표시)
- HT가 활성 상태이고 HID 데이터가 스페이셜라이저 효과 엔진으로 터널링될 때 ISO 프로토콜이 사용되는 경우 (프레임워크에서 표시)
이 모드에서 스페이셜라이저 효과 엔진은 처리되지 않은 IMU 데이터를 BT 스택 또는 BT 컨트롤러에서 직접 수신합니다. 스페이셜라이저 효과 구현은 IMU 데이터에 대한 모든 사전 처리와 휴대전화 센서로 표시된 휴대전화 움직임과의 조정을 실행합니다.
지연 시간 모드 enum은 bluetooth.core.le.dsa_transport_preference
시스템 속성에 매핑됩니다.Spatializer.cpp
스페이셜라이저 지원
오디오 정책 서비스의 스페이셜라이저
컨트롤러는 LE 오디오를 통한 HT 전송
프로토콜의 선택을 제어합니다. 스페이셜라이저 효과 엔진 구현은
HeadTracking.ConnectionMode 기능을 사용하여 HT 데이터 터널링 지원을 나타냅니다.
지원되는 HT 연결 모드는 다음과 같습니다.
FRAMEWORK_PROCESSED: 오디오 프레임워크는 사전 처리된 IMU 데이터를 머리-무대 벡터 형식으로 HAL에 제공합니다. 이 기본 모드는 BT Classic의 현재 모드에 해당합니다.DIRECT_TO_SENSOR_SW: 스페이셜라이저 효과 엔진은 센서 소프트웨어 스택을 통해 센서에 직접 연결됩니다. 오디오 프레임워크는 센서의 사용 설정 상태만 제어합니다. AOSPlibheadtrackingIMU 데이터 사전 처리 또는 DSP 오프로드 스페이셜라이저 구현을 사용하지 않는 소프트웨어 구현은DIRECT_TO_SENSOR_SW모드를 사용할 수 있습니다.DIRECT_TO_SENSOR_TUNNEL: 스페이셜라이저 효과 엔진은 하드웨어 터널링을 통해 센서에 직접 연결됩니다. 오디오 프레임워크는 센서의 사용 설정 상태만 제어합니다. DSP 오프로드 스페이셜라이저 구현은DIRECT_TO_SENSOR_TUNNEL모드를 사용할 수 있습니다.
지연 시간 모드 선택
프레임워크는 HAL에서 보고하는 지원되는 지연 시간 모드 목록에서 지연 시간 모드를 선택합니다. 지연 시간 모드는 현재 HT 사용 설정 상태, 현재 스페이셜라이저 지원, 전송 메커니즘 간의 우선순위 순서를 설정하는 공급업체 지정 시스템 속성을(를) 기반으로 설정됩니다.
프레임워크는 selectHeadtrackingConnectionMode_l
에서 다음 프로세스를 사용하여 지연 시간 모드를 선택합니다.
- 프레임워크는 전송 환경설정을
bluetooth.core.le.dsa_transport_preference시스템 속성에서 로드합니다. - 오디오 HAL에서 보고하는 지원되는 지연 시간 모드는 1단계에서 로드된 목록에 대해 필터링되고 정렬됩니다.
- 우선순위가 가장 높은 지연 시간이 짧은 모드가
iso-hw이고 스페이셜라이저 구현이 직접 센서 연결을 지원하는 경우 (즉, 스페이셜라이저에DIRECT_TO_SENSOR_SW또는DIRECT_TO_SENSOR_TUNNEL이 설정됨) 지연 시간 모드는DYNAMIC_SPATIAL_AUDIO_HARDWARE로 설정됩니다. 우선순위가 가장 높은 지연 시간이 짧은 모드가
iso-hw이고 스페이셜라이저 구현이 직접 센서 연결을 지원하지 않는 경우 (스페이셜라이저에DIRECT_TO_SENSOR_SW또는DIRECT_TO_SENSOR_TUNNEL이 설정되지 않음) 다음으로 선호되는 모드 (iso-sw또는le-acl)에 따라 지연 시간 모드 (DYNAMIC_SPATIAL_AUDIO_SOFTWARE또는LOW)가 결정됩니다.다음으로 선호되는 모드가 지정되지 않으면 시스템에서 제품 구성 오류를 보고합니다.