Звук Bluetooth (BT) с низким энергопотреблением (LE) представляет асинхронный логический механизм с ориентацией на соединение (LE-ACL) и изохронный (LE-ISO) логический транспортный механизм для данных отслеживания движения головы (HT).
Android 15 обеспечивает поддержку настройки режима задержки для HT в зависимости от того, используется ли транспортный механизм 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 к пространственному преобразователю в аудио DSP. -
iso-sw
: передача ISO без возможности туннелирования, когда данные IMU передаются через стек датчиков.
Режимы задержки
В случае звука BT LE механизм стека BT для указания поддерживаемых режимов задержки для аудио HAL и аудиоплатформы такой же, как и для BT Classic (A2DP). Аудио HAL сообщает о поддерживаемых режимах задержки в соответствии с выбранным в данный момент аудиоустройством.
Реализации A2DP поддерживают только режимы FREE
и LOW_LATENCY
.
Напротив, для звука BT LE в аудио HAL определены следующие режимы задержки для поддержки добавления транспортных механизмов LE-ACL и LE-ISO:
FREE
: это значение указывает на отсутствие каких-либо конкретных ограничений на задержку. Этот режим используется, когда низкая задержка не поддерживается (на что указывает HAL) или когда HT не активен (на что указывает платформа).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 непосредственно из стека BT или контроллера BT. Реализация эффекта пространственного оформления выполняет всю предварительную обработку данных IMU и сверку с движениями телефона, определяемыми датчиками телефона.
Перечисления режима задержки сопоставляются с системным свойством bluetooth.core.le.dsa_transport_preference
в Spatializer.cpp
.
Поддержка пространственного преобразователя
Контроллер пространственного оформления в службе политики аудио управляет выбором транспортного протокола HT для аудио LE. Реализация механизма эффекта пространственного преобразования указывает на поддержку туннелирования данных HT с возможностью HeadTracking.ConnectionMode
.
Поддерживаются следующие режимы подключения HT:
-
FRAMEWORK_PROCESSED
: звуковая платформа предоставляет предварительно обработанные данные IMU в векторном формате от головы до сцены в HAL. Этот режим по умолчанию соответствует текущему режиму 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
).Если следующий предпочтительный режим не указан, система сообщает об ошибке конфигурации продукта.