Технология Bluetooth (BT) Low Energy (LE) в аудиосистеме представляет собой механизм асинхронной логической передачи данных с установлением соединения (LE-ACL) и изохронной логической передачи данных (LE-ISO) для отслеживания положения головы (HT).
Android 15 поддерживает настройку режима задержки для Hyper-Threading в зависимости от того, используется ли транспортный механизм LE-ACL или LE-ISO.
На этой странице описывается, как аудиоплатформа, аудио HAL и стек Bluetooth взаимодействуют для обнаружения и выбора механизмов передачи данных LE-ACL или LE-ISO, поддерживаемых хостом и гарнитурой.
Поддержка LE-ACL и LE-ISO
Android 15 включает поддержку транспортных механизмов LE-ACL и LE-ISO с использованием определяемого поставщиком системного свойства , режимов задержки аудио HAL и режимов подключения пространственного модулятора .
Системное свойство
В реализации производителя телефона список поддерживаемых транспортных механизмов указан в системном свойстве bluetooth.core.le.dsa_transport_preference . Значение представляет собой список строк, разделенных запятыми, в котором перечислены поддерживаемые транспортные механизмы в порядке предпочтения:
-
le-acl: Транспортировка LE-ACL, при которой данные инерциального измерительного блока (IMU) передаются через стек датчиков. -
iso-hw: ISO-транспорт с возможностью туннелирования данных HT напрямую от контроллера Bluetooth к пространственному преобразователю в аудиопроцессоре. -
iso-sw: Передача ISO-данных без возможности туннелирования, когда данные IMU передаются через стек датчиков.
режимы задержки
В случае аудио Bluetooth LE механизм, с помощью которого стек Bluetooth сообщает аудио HAL и аудиофреймворку о поддерживаемых режимах задержки, аналогичен механизму, определенному для Bluetooth Classic (A2DP). Аудио HAL сообщает о поддерживаемых режимах задержки в зависимости от выбранного в данный момент аудиоустройства.
Реализации A2DP поддерживают только режимы FREE и LOW_LATENCY .
В отличие от этого, для аудио BT LE в аудио HAL определены следующие режимы задержки для поддержки добавления механизмов передачи LE-ACL и LE-ISO:
FREE: Это значение указывает на отсутствие каких-либо ограничений по задержке. Этот режим используется, когда низкая задержка не поддерживается (об этом указывает HAL) или когда технология Hyper-Threading не активна (об этом указывает фреймворк).LOW: Это значение указывает на относительно низкую задержку (например, менее 100 мс), совместимую с работой HT. Этот режим используется, когда поддерживается низкая задержка и HID передается по протоколу ACL (указывается HAL), или когда HT активен и другие режимы с низкой задержкой недоступны (указывается фреймворком).DYNAMIC_SPATIAL_AUDIO_SOFTWARE: Этот режим используется при выполнении одного из следующих условий:- При поддержке низкой задержки передача HID осуществляется по протоколу ISO, и HID не может быть туннелирован к механизму пространственного эффекта (об этом сообщает HAL).
- Когда функция HT активна и используется протокол ISO, когда аудиофреймворк предоставляет данные HID механизму эффекта пространственного позиционирования (это указывается фреймворком).
В этом режиме вычислительная библиотека HT, входящая в состав фреймворка, выполняет всю предварительную обработку данных IMU и их согласование с перемещениями телефона, регистрируемыми датчиками телефона.
DYNAMIC_SPATIAL_AUDIO_HARDWARE: Этот режим используется при выполнении одного из следующих условий:- При поддержке низкой задержки HID-сигнал передается по протоколу ISO, и HID-сигнал может передаваться туннельным способом к механизму пространственного эффекта (указывается HAL).
- Когда активен HT и используется протокол ISO, данные HID передаются в туннель механизму пространственного эффекта (указано в фреймворке).
В этом режиме механизм пространственного эффекта получает необработанные данные IMU непосредственно из стека Bluetooth или контроллера Bluetooth. Реализация пространственного эффекта выполняет всю предварительную обработку данных IMU и их согласование с движениями телефона, регистрируемыми датчиками телефона.
Перечисления режимов задержки сопоставляются с системным свойством bluetooth.core.le.dsa_transport_preference в Spatializer.cpp .
Поддержка пространственного анализа
Контроллер пространственного позиционирования в службе политики звука управляет выбором протокола передачи данных HT поверх аудио LE. Реализация механизма эффекта пространственного позиционирования указывает на поддержку туннелирования данных HT с возможностью HeadTracking.ConnectionMode .
Поддерживаются следующие режимы подключения HT:
-
FRAMEWORK_PROCESSED: Аудиофреймворк предоставляет HAL предварительно обработанные данные IMU в векторном формате «от головы до сцены». Этот режим по умолчанию соответствует текущему режиму с BT classic. -
DIRECT_TO_SENSOR_SW: Движок эффекта пространственного позиционирования напрямую подключается к датчику через программный стек датчика. Аудиофреймворк управляет только состоянием включения датчика. Программные реализации, которые не используют предварительную обработку данных IMU из библиотеки AOSPlibheadtrackingили реализации пространственного позиционирования с разгрузкой 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).Если следующий предпочтительный режим не указан, система сообщает об ошибке конфигурации продукта.