Penerapan audio spasial dan pelacakan kepala berkualitas tinggi

Android 13 memperkenalkan dukungan untuk audio spasial dengan menyediakan API yang memungkinkan pengembang aplikasi mengetahui apakah kombinasi implementasi ponsel, headset yang terhubung, dan pengaturan pengguna saat ini memungkinkan pemutaran konten audio multisaluran secara imersif.

OEM dapat memberikan efek audio spasial dengan dukungan pelacakan kepala dengan tingkat kinerja dan latensi yang diperlukan, menggunakan arsitektur saluran audio baru dan integrasi kerangka sensor. Protokol HID menentukan cara memasang perangkat pelacak kepala melalui Bluetooth dan membuatnya tersedia sebagai perangkat HID melalui kerangka sensor Android. Lihat Audio Spasial dan Pelacakan Kepala untuk persyaratan dan validasi lebih lanjut.

Pedoman di halaman ini berlaku untuk solusi audio spasial yang mengadopsi API audio spasial baru dan arsitektur audio dengan ponsel Android yang menjalankan Android 13 dan lebih tinggi serta headset yang kompatibel dengan sensor pelacakan kepala.

Pedoman penerapan mode audio spasial dinamis dan statis

Audio spasial statis tidak memerlukan pelacakan kepala, sehingga fungsi khusus tidak diperlukan di headset. Semua headset berkabel dan nirkabel dapat mendukung audio spasial statis.

Implementasi API

OEM HARUS mengimplementasikan kelas Spatializer yang diperkenalkan di Android 12. Implementasinya harus lulus pengujian CTS yang diperkenalkan untuk kelas Spatializer .

Implementasi API yang kuat memastikan bahwa pengembang aplikasi, khususnya layanan streaming media, dapat mengandalkan perilaku yang konsisten di seluruh ekosistem dan memilih konten terbaik sesuai dengan kemampuan perangkat, konteks rendering saat ini, dan pilihan pengguna.

Antarmuka pengguna

Setelah mengimplementasikan kelas Spatializer , validasi bahwa UI Anda memiliki perilaku berikut:

  • Saat headset berkemampuan audio spasial dipasangkan, pengaturan perangkat Bluetooth untuk headset ini menampilkan tombol Audio Spasial :

    spatial-audio-ui

    Gambar 1. Pengaturan audio spasial.

  • Pengaturan tersedia bila headset dicabut.

  • Status default untuk audio spasial setelah pertama kali memasangkan headset diatur ke diaktifkan .

  • Status yang dipilih pengguna, apakah diaktifkan atau dinonaktifkan, tetap melakukan boot ulang ponsel atau memutuskan pemasangan dan memasangkan headset.

Perilaku fungsional

Format audio

Format audio berikut HARUS dirender oleh efek spasialisator ketika audio spasial diaktifkan dan perangkat rendering adalah headset berkabel atau Bluetooth:

  • AAC, 5.1 saluran
  • PCM mentah, 5.1 saluran

Untuk pengalaman pengguna yang lebih baik, kami sangat menyarankan untuk mendukung format/konfigurasi saluran berikut:

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

Pemutaran konten stereo

Konten stereo tidak boleh dirender melalui mesin efek spasial, meskipun audio spasial diaktifkan. Jika implementasi memungkinkan spasialisasi konten stereo, implementasi tersebut harus menyajikan UI khusus yang memungkinkan pengguna mengaktifkan atau menonaktifkan fitur ini dengan mudah. Saat audio spasial diaktifkan, transisi antara pemutaran konten multisaluran spasial ke konten stereo nonspatial harus dimungkinkan tanpa memerlukan perubahan apa pun dalam pengaturan pengguna atau penyambungan ulang atau konfigurasi ulang headset. Transisi antara konten audio spasial dan konten stereo harus terjadi dengan gangguan audio minimal.

Gunakan transisi kasus dan konkurensi

Tangani kasus penggunaan khusus sebagai berikut:

  • Notifikasi harus dicampur dengan konten audio spasial dengan cara yang sama seperti konten audio nonspasial.
  • Nada dering harus boleh dicampur dengan konten audio spasial. Namun, secara default, mekanisme fokus audio menjeda konten audio spasial saat ada nada dering.
  • Saat menjawab atau melakukan panggilan telepon atau konferensi video, pemutaran audio spasial harus dijeda. Pemutaran audio spasial harus dilanjutkan dengan pengaturan audio spasial yang sama saat panggilan berakhir. Konfigurasi ulang jalur audio untuk beralih dari mode audio spasial ke mode percakapan harus dilakukan dengan cepat dan lancar sehingga tidak memengaruhi pengalaman panggilan.

Render melalui speaker

Dukungan untuk spasialisasi audio melalui speaker, atau mode transaural , tidak diperlukan.

Pedoman pelaksanaan pelacakan kepala

Bagian ini berfokus pada audio spasial dinamis, yang memiliki persyaratan headset tertentu.

Antarmuka pengguna

Setelah menerapkan dan memasangkan headset berkemampuan audio spasial, validasi bahwa UI Anda memiliki perilaku berikut:

  • Dalam pengaturan perangkat Bluetooth, ketika pengaturan Audio Spasial untuk headset diaktifkan, pengaturan Pelacakan kepala muncul di bawah Audio Spasial :

    ht-ui

    Gambar 2. Pengaturan audio spasial dan pelacakan kepala.

  • Pengaturan pelacakan kepala TIDAK terlihat saat audio spasial dinonaktifkan.

  • Status default untuk pelacakan kepala setelah pertama kali memasangkan headset diatur ke diaktifkan .

  • Status yang dipilih pengguna, baik diaktifkan atau dinonaktifkan, harus tetap ada melalui reboot ponsel atau melepas pasangan dan memasangkan headset.

Perilaku fungsional

Pelaporan pose kepala

  • Informasi pose kepala dalam koordinat x, y, dan z yang dikirimkan dari headset ke perangkat Android harus mencerminkan pergerakan kepala pengguna dengan cepat dan akurat.
  • Pelaporan pose kepala melalui tautan Bluetooth harus mengikuti protokol yang ditentukan melalui HID .
  • Headset harus mengirimkan informasi pelacakan kepala ke ponsel Android hanya ketika pengguna mengaktifkan Pelacakan kepala di UI pengaturan perangkat Bluetooth.

Pertunjukan

Latensi

Latensi pelacakan kepala didefinisikan sebagai waktu yang diperlukan mulai dari gerakan kepala yang ditangkap oleh unit pengukuran inersia (IMU) hingga transduser headphone mendeteksi perubahan suara yang disebabkan oleh gerakan ini. Latensi pelacakan kepala tidak boleh melebihi 150 ms.

Tingkat pelaporan pose kepala

Saat pelacakan kepala aktif, headset harus melaporkan pose kepala secara berkala yang disarankan, yaitu sekitar 20 ms. Untuk menghindari terpicunya logika deteksi masukan yang basi pada ponsel selama jitter transmisi Bluetooth, waktu maksimum antara dua pembaruan tidak boleh melebihi 40 ms.

Optimasi daya

Untuk mengoptimalkan daya, kami merekomendasikan penerapannya menggunakan peralihan codec Bluetooth dan mekanisme pemilihan mode latensi yang disediakan oleh antarmuka audio HAL dan audio Bluetooth HAL .

Implementasi AOSP pada kerangka audio dan tumpukan Bluetooth sudah mendukung sinyal untuk mengontrol peralihan codec. Jika implementasi OEM menggunakan audio HAL utama untuk audio Bluetooth, yang dikenal sebagai mode codec offload , OEM harus memastikan bahwa audio HAL meneruskan sinyal tersebut antara audio HAL dan tumpukan Bluetooth.

Peralihan kodek

Saat audio spasial dinamis dan pelacakan kepala aktif, gunakan codec latensi rendah, seperti Opus . Saat memutar konten audio nonspasial, gunakan codec berdaya rendah, seperti Advanced Audio Coding (AAC) .

Ikuti aturan berikut selama peralihan codec:

  • Lacak hanya aktivitas pada aliran keluaran audio HAL berikut:
    • Keluaran pengatur spasial khusus
    • Aliran khusus media, seperti buffering dalam atau pemutaran offload terkompresi
  • Ketika semua aliran yang relevan tidak aktif dan aliran spasial dimulai, mulai aliran Bluetooth dengan isLowLatency diatur ke true untuk menentukan codec latensi rendah.

  • Ketika semua streaming yang relevan dalam keadaan idle dan streaming media dimulai, mulai streaming Bluetooth dengan isLowLatency disetel ke false untuk menentukan codec berdaya rendah.

  • Jika aliran media aktif dan aliran spasial dimulai, mulai ulang aliran Bluetooth dengan isLowLatency diatur ke true .

Di sisi headset, headset harus mendukung decoder latensi rendah dan daya rendah serta menerapkan protokol pemilihan codec standar.

Penyesuaian mode latensi

Penyesuaian mode latensi terjadi ketika codec latensi rendah dipilih.

Berdasarkan apakah pelacakan kepala aktif atau nonaktif, penyesuaian mode latensi menggunakan mekanisme yang tersedia untuk mengurangi atau meningkatkan latensi guna mencapai kompromi terbaik antara latensi, daya, dan kualitas audio. Saat audio spasial diaktifkan dan pelacakan kepala diaktifkan, mode latensi rendah dipilih. Saat audio spasial diaktifkan dan pelacakan kepala dinonaktifkan, mode latensi bebas dipilih. Penyesuaian latensi memberikan penghematan daya yang signifikan dan peningkatan ketahanan tautan audio Bluetooth ketika hanya audio spasial statis yang diminta. Mekanisme penyesuaian latensi yang paling umum adalah pengurangan atau perluasan ukuran buffer jitter di headset Bluetooth.