Implementazione di audio spaziale di alta qualità e tracciamento della testa

Android 13 introduce il supporto per l'audio spaziale fornendo API che consentono agli sviluppatori di app di scoprire se l'attuale combinazione di implementazione, cuffie connesse e impostazioni utente consentono la riproduzione contenuti audio multicanale in modo immersivo.

Gli OEM possono fornire un effetto audio spaziale con supporto del tracciamento della testa con il livello di prestazioni e latenza richiesti, utilizzando la nuova pipeline audio dell'architettura e della struttura dei sensori. La Il protocollo HID specifica come collega un dispositivo di tracciamento della testa tramite Bluetooth e rendilo disponibile come HID tramite il framework dei sensori Android. Consulta la sezione Audio spaziale e tracciamento della testa per ulteriori requisiti e per la convalida.

Le linee guida in questa pagina si applicano a una soluzione per l'audio spaziale che adotta la nuove API per l'audio spaziale e una nuova architettura audio con uno smartphone Android in esecuzione Android 13 e versioni successive e cuffie compatibili con sensore di tracciamento della testa.

Linee guida per l'implementazione delle modalità audio spaziale dinamiche e statiche

L'audio spaziale statico non richiede il tracciamento della testa, perciò sono non è richiesta la funzionalità. Tutte le cuffie con cavo e wireless supportano audio spaziale statico.

Implementazione dell'API

Gli OEM DEVONO implementare lo standard Spatializer. introdotta in Android 12. L'implementazione deve superare i test CTS. per la classe Spatializer.

Una solida implementazione dell'API assicura che gli sviluppatori di app, in particolare i contenuti multimediali servizi di streaming, possono affidarsi a un comportamento coerente nell'intero ecosistema scegli i contenuti migliori in base alle funzionalità del dispositivo, al rendering attuale contesto e scelte dell'utente.

Interfaccia utente

Dopo aver implementato Spatializer verifica che l'interfaccia utente abbia il seguente comportamento:

  • Quando le cuffie compatibili con l'audio spaziale sono accoppiate, il dispositivo Bluetooth per le cuffie è dotato di un pulsante di attivazione/disattivazione Audio spaziale:

    UI-audio-spaziale

    Figura 1. Impostazione dell'audio spaziale.

  • Le impostazioni sono disponibili quando le cuffie sono disconnesse.

  • Lo stato predefinito per l'audio spaziale dopo l'accoppiamento iniziale delle cuffie è impostata su attivata.

  • Lo stato selezionato dall'utente, attivato o disattivato, mantiene lo smartphone riavviare o annullare l'associazione e l'accoppiamento delle cuffie.

Comportamento funzionale

Formati audio

I seguenti formati audio DEVONO essere visualizzati con l'effetto spazializzatore quando l'audio spaziale è attivato e il dispositivo di rendering è con cavo o Bluetooth cuffie:

  • AAC, 5.1 canali
  • PCM non elaborato, 5.1 canali

Per una migliore esperienza utente, consigliamo vivamente di supportare quanto segue formati/configurazioni del canale:

  • Dolby Digital Plus
  • Canali 5.1.2, 7.1, 7.1.2, 7.1.4

Riproduzione di contenuti stereo

Il rendering dei contenuti stereo non deve essere eseguito tramite il motore degli effetti spazializzatore, nemmeno se l'audio spaziale è abilitato. Se un'implementazione consente contenuti stereo la spazializzazione, deve presentare una UI personalizzata che consenta all'utente di attivare questa funzionalità on o off facilmente. Quando l'audio spaziale è attivato, deve essere possibile: la transizione tra la riproduzione di contenuti multicanale contenuti stereo non spazializzati senza richiedere alcuna modifica alle impostazioni utente o la riconnessione o la riconfigurazione delle cuffie. La transizione tra l'audio spaziale i contenuti e i contenuti stereo devono verificarsi con interruzioni minime dell'audio.

Transizioni dei casi d'uso e contemporaneità

Gestisci i casi d'uso speciali come segue:

  • Le notifiche devono essere combinate con i contenuti audio spaziali nello stesso rispetto ai contenuti audio non spaziali.
  • Le suonerie devono essere consentite insieme a contenuti audio spaziali. Tuttavia, per impostazione predefinita, il meccanismo di messa a fuoco audio mette in pausa i contenuti audio spaziali quando c'è una suoneria.
  • Quando rispondi o effettui una telefonata o una videoconferenza, il la riproduzione audio deve essere messa in pausa. La riproduzione dell'audio spaziale deve riprendere con lo stesso le impostazioni dell'audio spaziale al termine della chiamata. Riconfigurazione di un percorso audio il passaggio dalla modalità audio spaziale alla modalità conversazionale deve avvenire rapidamente e senza intoppi, in modo da non influire sull'esperienza di chiamata.

Rendering sugli speaker

Il supporto per la spazializzazione dell'audio su altoparlanti o per la modalità transaurale non è obbligatorio.

Linee guida per l'implementazione del tracciamento della testa

Questa sezione riguarda l'audio spaziale dinamico, con cuffie specifiche i tuoi requisiti.

Interfaccia utente

Dopo l'implementazione e l'accoppiamento delle cuffie compatibili con l'audio spaziale, convalida che la UI ha il seguente comportamento:

  • Nelle impostazioni del dispositivo Bluetooth, quando l'impostazione Audio spaziale per la cuffie attive, un'impostazione Rilevamento dei movimenti della testa viene visualizzata sotto Audio spaziale:

    ht-ui

    Figura 2. Impostazione audio spaziale e tracciamento della testa.

  • L'impostazione di tracciamento della testa NON è visibile quando l'audio spaziale è disattivato.

  • Lo stato predefinito per l'inseguimento della testa dopo l'accoppiamento iniziale delle cuffie è impostata su attivata.

  • Lo stato selezionato dall'utente, attivato o disattivato, deve rimanere invariato riavvio dello smartphone o disaccoppiamento e accoppiamento delle cuffie.

Comportamento funzionale

Report sulla posa della testa

  • Informazioni sulla posa della testa, espresse in coordinate x, y e z, inviate dal visore a il dispositivo Android, devono rispecchiare rapidamente i movimenti della testa dell'utente; in modo accurato.
  • La segnalazione delle posizioni della testa tramite il link Bluetooth deve seguire il protocollo definito su HID.
  • Le cuffie devono inviare le informazioni di tracciamento della testa allo smartphone Android solo quando l'utente attiva l'opzione Rilevamento dei movimenti della testa nell'impostazione del dispositivo Bluetooth nell'interfaccia utente.

Prestazioni

Latenza

La latenza del tracciamento dei movimenti della testa è definita come il tempo impiegato dal movimento della testa rilevate dall'unità di misura inerziale (IMU) ai trasduttori delle cuffie il rilevamento del cambiamento del suono causato da questo movimento. Latenza del tracciamento della testa non deve superare i 150 ms.

Percentuale di report sulla posa della testa

Quando il tracciamento della testa è attivo, il visore deve segnalare la posa della testa su un di circa 20 ms. Per evitare di attivare i dati inattivi logica di rilevamento dell'input sul telefono durante un tremolio della trasmissione Bluetooth, il tempo massimo tra due aggiornamenti non deve superare i 40 ms.

Ottimizzazione energetica

Per ottimizzare l'efficacia, consigliamo di utilizzare l'implementazione Cambio di codec Bluetooth e i meccanismi di selezione della modalità di latenza forniti HAL audio e HAL audio Bluetooth interfacce.

Le implementazioni AOSP del framework audio e dello stack Bluetooth supportano i segnali per controllare il cambio di codec. Se l'implementazione dell'OEM utilizza l'HAL audio principale per l'audio Bluetooth, nota come modalità offload codec, L'OEM deve assicurarsi che l'HAL audio trasmetta questi segnali tra l'HAL audio e lo stack Bluetooth.

Cambio di codec

Quando l'audio spaziale dinamico e il tracciamento della testa sono attivi, usa un codec a bassa latenza, ad esempio Opus. Quando giochi in contenuti non spaziali contenuti audio, usare un codec a basso consumo, come Advanced Audio Coding (AAC).

Segui queste regole durante il passaggio dei codec:

  • Monitora solo l'attività sui seguenti stream di output audio dell'HAL:
    • Output spazializzato dedicato
    • Stream specifici per i contenuti multimediali, come deep buffer o offload compresso riproduzione
di Gemini Advanced.
  • Quando tutti gli stream pertinenti sono inattivi e viene avviato lo stream spazializzatore, lo stream Bluetooth con isLowLatency impostato su true per specificare un codec a bassa latenza.

  • Quando tutti gli stream pertinenti sono inattivi e viene avviato uno stream multimediale, avvia Stream Bluetooth con l'opzione isLowLatency impostata su false per specificare un codec a bassa potenza.

  • Se uno stream multimediale è attivo e viene avviato lo stream spazializzatore, riavvia Stream Bluetooth con l'opzione isLowLatency impostata su true.

Sul lato delle cuffie, queste devono supportare sia a bassa latenza che a bassa potenza decodificatori e implementare il protocollo di selezione codec standard.

Aggiustamento della modalità Latenza

L'aggiustamento della modalità Latenza avviene quando è selezionato il codec a bassa latenza.

A seconda che il tracciamento della testa sia attivato o disattivato, la regolazione della modalità di latenza utilizza i meccanismi disponibili per ridurre o aumentare la latenza in modo da raggiungere compromesso tra latenza, potenza e qualità audio. Quando l'audio spaziale è e il tracciamento della testa è attivato, viene scelta la modalità a bassa latenza. Quando l'audio spaziale è attivato e il tracciamento della testa è disattivato, la modalità a latenza libera è selezionata. La regolazione della latenza consente un significativo risparmio energetico e un aumento robustezza del link audio Bluetooth quando viene usato solo audio spaziale statico richiesto. Il meccanismo più comune di aggiustamento della latenza è la riduzione o estensione della dimensione del buffer jitter nelle cuffie Bluetooth.