Implementación de audio espacial de alta calidad y seguimiento de la cabeza

Android 13 introduce compatibilidad con audio espacial proporcionando APIs que permiten a los desarrolladores de apps descubrir si la combinación actual de teléfonos implementación, los auriculares conectados y la configuración del usuario permiten la reproducción de contenido de audio multicanal de forma envolvente.

Los OEM pueden ofrecer un efecto de audio espacial que admita el seguimiento de la cabeza con el nivel de rendimiento y latencia requeridos, mediante la nueva canalización de audio arquitectura e integración del framework del sensor. El El protocolo HID especifica cómo conectar un dispositivo de seguimiento de cabeza a través de Bluetooth y hacer que esté disponible como HID a través del marco de trabajo del sensor de Android. Consulta Audio espacial y seguimiento de cabeza. para más requisitos y validaciones.

Los lineamientos que se indican en esta página se aplican a una solución de sonido espacial que adopta las nuevas APIs de audio espacial y arquitectura de audio con un teléfono Android en ejecución Android 13 y versiones posteriores, y auriculares compatibles con sensor de seguimiento de cabeza.

Lineamientos para la implementación de modos de audio espacial dinámico y estático

El audio espacial estático no requiere seguimiento de la cabeza, así que es específico no se requiere funcionalidad en los auriculares. Todos los auriculares inalámbricos y con cable son compatibles audio espacial estático.

Implementación de la API

Los OEMs DEBEN implementar la Spatializer. que se introdujo en Android 12. La implementación debe superar las pruebas del CTS. Se introdujo para la clase Spatializer.

Una implementación de API robusta garantiza que los desarrolladores de apps, en particular los servicios de transmisión, pueden basarse en un comportamiento coherente en todo el ecosistema y Elegir el mejor contenido según las capacidades del dispositivo, renderización actual el contexto y las elecciones del usuario.

Interfaz de usuario

Después de implementar Spatializer valida que tu IU tenga el siguiente comportamiento:

  • Cuando se vinculan los auriculares compatibles con el audio espacial, el dispositivo Bluetooth de estos auriculares muestra un botón de activación de Audio espacial:

    IU de audio espacial

    Figura 1: Parámetro de configuración de audio espacial.

  • La configuración está disponible cuando se desconectan los auriculares.

  • El estado predeterminado del audio espacial después de vincular por primera vez los auriculares es Configurada como habilitada.

  • El estado que seleccionó el usuario, ya sea habilitado o inhabilitado, persiste en un teléfono reiniciar o desincronizar y sincronizar los auriculares.

Comportamiento funcional

Formatos de audio

Los siguientes formatos de audio DEBEN renderizarse con el efecto espacializador cuando El audio espacial está habilitado y el dispositivo de renderización es un cable con cable o Bluetooth. auriculares:

  • AAC, 5.1 canales
  • PCM sin procesar, 5.1 canales

Para una mejor experiencia del usuario, te recomendamos encarecidamente que admitas lo siguiente formatos/configuraciones de canales:

  • Dolby Digital Plus
  • 5.1.2, 7.1, 7.1.2 y 7.1.4 canales

Reproducción de contenido estéreo

El contenido estéreo no debe procesarse a través del motor de efecto espacial, incluso si el audio espacial está habilitado. Si una implementación permite el contenido estéreo espacialización, debe presentar una IU personalizada que le permita al usuario activar esta función con facilidad. Cuando el audio espacial está habilitado, transición entre la reproducción de contenido multicanal espacial y contenido estéreo no espacializado sin necesidad de cambios en la configuración del usuario o la reconexión o reconfiguración de los auriculares. La transición entre el audio espacial el contenido y el estéreo deben ocurrir con una interrupción de audio mínima.

Transiciones de casos de uso y simultaneidad

Controla casos de uso especiales de la siguiente manera:

  • Las notificaciones se deben combinar con el contenido de sonido espacial de la misma tal como lo hacen con contenido de audio no espacial.
  • Los tonos deben poder mezclarse con contenido de sonido espacial. Sin embargo, de forma predeterminada, el mecanismo de foco de audio pausa el contenido de audio espacial cuando hay un tono.
  • Al responder o realizar una llamada o videoconferencia, el espacio la reproducción de audio debe pausarse. Se debe reanudar la reproducción de audio espacial con la misma la configuración del sonido espacial cuando finalice la llamada. Reconfiguración de una ruta de acceso de audio para cambiar del modo de audio espacial al modo de conversación debe suceder rápidamente y fluida para que no afecte la experiencia de la llamada.

Renderización en bocinas

La compatibilidad con la espacialización de audio a través de bocinas, o el modo transaurales, como en los productos necesarios.

Lineamientos para la implementación del seguimiento de cabeza

Esta sección se enfoca en el audio espacial dinámico, que tiene auriculares específicos. y los requisitos de cumplimiento.

Interfaz de usuario

Después de implementar y vincular los auriculares compatibles con audio espacial, valida que tu IU tenga el siguiente comportamiento:

  • En la configuración del dispositivo Bluetooth, si el parámetro de configuración Audio espacial del está habilitado el visor, aparece el parámetro de configuración Seguimiento de cabeza Audio espacial:

    ht-ui

    Figura 2: Parámetro de configuración de audio espacial y seguimiento de cabeza.

  • La configuración de seguimiento de cabeza NO se ve cuando el audio espacial está inhabilitado.

  • El estado predeterminado para el seguimiento de cabeza después de vincular inicialmente los auriculares es Configurada como habilitada.

  • El estado seleccionado por el usuario, ya sea habilitado o inhabilitado, debe persistir mediante un reiniciar el teléfono o desincronizar y vincular los auriculares.

Comportamiento funcional

Informe sobre postura de cabeza

  • Información sobre la pose de la cabeza, en coordenadas x, y, y z, enviada desde el visor a el dispositivo Android, debe reflejar los movimientos de la cabeza del usuario rápidamente y de manera más precisa.
  • La pose de la cabeza que informa sobre el vínculo de Bluetooth debe seguir el protocolo definido. por HID.
  • El visor debe enviar la información de seguimiento de cabeza al teléfono Android solo cuando el usuario habilita el Seguimiento de cabeza en la configuración del dispositivo Bluetooth de la IU de Google.

Rendimiento

Latencia

La latencia de seguimiento de cabeza se define como el tiempo que tarda en moverse la cabeza capturadas por la unidad de medición inercial (IMU) a los transductores detección del cambio en el sonido causado por este movimiento. Latencia del seguimiento de cabeza no debe superar los 150 ms.

Tasa de informes de postura de cabeza

Cuando el seguimiento de cabeza está activo, el visor debe informar la postura de la cabeza en un base periódica recomendada de aproximadamente 20 ms. Para evitar que se active la inactividad lógica de detección de entrada en el teléfono durante un jitter de transmisión del Bluetooth, el tiempo máximo entre dos actualizaciones no debe superar los 40 ms.

Optimización de energía

Para optimizar la potencia, recomendamos que la implementación utilice el Cambio de códecs Bluetooth y de selección del modo de latencia proporcionados por HAL de audio y HAL de audio Bluetooth interfaces.

Las implementaciones de AOSP del framework de audio y la pila Bluetooth ya admiten las señales para controlar el cambio de códecs. Si la implementación del OEM usa la HAL principal de audio Bluetooth, conocida como modo de descarga de códec, el El OEM debe asegurarse de que la HAL de audio retransmita esas señales entre la HAL de audio. y la pila Bluetooth.

Cambio de códecs

Cuando el audio espacial dinámico y el seguimiento de cabeza estén activados, usa un códec de baja latencia. como Opus. Cuando se reproduce un dispositivo no espacial contenido de audio, usa un códec de bajo consumo, como Codificación de audio avanzada (AAC)

Sigue estas reglas durante el cambio de códecs:

  • Hacer un seguimiento solo de la actividad en las siguientes transmisiones de salida de audio de la HAL:
    • Resultado del espacializador dedicado
    • Transmisiones específicas de medios, como búfer profundo o descarga comprimida reproducción
  • Cuando todas las transmisiones relevantes estén inactivas y se inicie la transmisión del espacializador, inicia la transmisión por Bluetooth con isLowLatency establecido en true para especificar un códec de latencia baja

  • Cuando todas las transmisiones relevantes estén inactivas y se inicie una transmisión multimedia, inicia la Transmisión por Bluetooth con isLowLatency establecido en false para especificar un códec de bajo consumo.

  • Si hay una transmisión multimedia activa y se inicia la del espacializador, reinicia el Transmisión por Bluetooth con isLowLatency establecido en true

Por el lado de los auriculares, estos deben admitir las funciones de latencia baja y de bajo consumo decodificadores e implementar el protocolo de selección de códecs estándar.

Ajuste del modo de latencia

El ajuste del modo de latencia se produce cuando se selecciona el códec de latencia baja.

Según si el seguimiento de cabeza está activado o desactivado, el ajuste del modo de latencia utiliza disponibles para reducir o aumentar la latencia y alcanzar la mejor un compromiso entre la latencia, la potencia y la calidad del audio. Cuando se activa el audio espacial y el seguimiento de cabeza está habilitado, se elige el modo de baja latencia. Cuándo el audio espacial está habilitado y el seguimiento de cabeza está inhabilitado, el modo de latencia libre . El ajuste de latencia permite un importante ahorro de energía y aumenta la solidez del vínculo de audio Bluetooth cuando solo se reproduce audio espacial estático solicitado. El mecanismo de ajuste de latencia más común es la reducción o extensión del tamaño del búfer Jitter en los auriculares Bluetooth.