Отслеживание головы через звук LE

Технология 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 из библиотеки AOSP libheadtracking или реализации пространственного позиционирования с разгрузкой DSP, могут использовать режим DIRECT_TO_SENSOR_SW .
  • DIRECT_TO_SENSOR_TUNNEL : Движок эффекта пространственного позиционирования напрямую подключается к датчику через аппаратное туннелирование. Аудиофреймворк управляет только состоянием включения датчика. Реализации пространственного позиционирования с разгрузкой DSP могут использовать режим DIRECT_TO_SENSOR_TUNNEL .

выбор режима задержки

Платформа выбирает режим задержки из списка поддерживаемых режимов задержки , сообщаемых HAL. Режим задержки устанавливается на основе текущего состояния включения HT, текущей поддержки пространственного модулятора и указанного поставщиком системного свойства , определяющего порядок приоритетов между транспортными механизмами.

В selectHeadtrackingConnectionMode_l фреймворк использует следующий процесс для выбора режима задержки:

  1. Данная платформа загружает настройки транспорта из системного свойства bluetooth.core.le.dsa_transport_preference .
  2. Поддерживаемые режимы задержки, сообщаемые аудио HAL, фильтруются и упорядочиваются в соответствии со списком, загруженным на шаге 1.
  3. Если в режиме низкой задержки с наивысшим приоритетом установлен iso-hw , а реализация пространственного модуля поддерживает прямое подключение датчика (то есть в пространственном модуле заданы DIRECT_TO_SENSOR_SW или DIRECT_TO_SENSOR_TUNNEL ), то режим задержки устанавливается на DYNAMIC_SPATIAL_AUDIO_HARDWARE .
  4. Если режим с низкой задержкой и наивысшим приоритетом является iso-hw , а реализация пространственного модулятора не поддерживает прямое подключение датчика ( DIRECT_TO_SENSOR_SW или DIRECT_TO_SENSOR_TUNNEL не заданы в пространственном модуляторе), то режим задержки определяется следующим предпочтительным режимом (который может быть iso-sw или le-acl ) (который может быть либо DYNAMIC_SPATIAL_AUDIO_SOFTWARE , либо LOW ).

    Если следующий предпочтительный режим не указан, система сообщает об ошибке конфигурации продукта.