LE Audio üzerinden baş takibi

Bluetooth (BT) Düşük Enerji (LE) Audio, kafa hareketi izleme (HT) verileri için Asenkron Bağlantıya Yönelik Mantıksal (LE-ACL) ve Senkron (LE-ISO) mantıksal aktarım mekanizmalarını sunar.

Android 15, LE-ACL veya LE-ISO aktarım mekanizmasının kullanılıp kullanılmadığına bağlı olarak HT için gecikme modu ayarlamalarına destek sağlar.

Bu sayfada, ses çerçevesi, ses HAL'i ve Bluetooth yığınının, ana makine ve kulaklık tarafından desteklenen LE-ACL veya LE-ISO aktarım mekanizmalarını keşfetmek ve seçmek için nasıl etkileşimde bulunduğu açıklanmaktadır.

LE-ACL ve LE-ISO desteği

Android 15, tedarikçi firma tarafından tanımlanan bir sistem özelliği, ses HAL gecikme modları ve uzamsallaştırıcı bağlantı modları kullanarak LE-ACL ve LE-ISO aktarım mekanizmaları için destek içerir.

Sistem mülkü

Telefon tedarikçisi uygulaması, desteklenen aktarım mekanizmalarını bluetooth.core.le.dsa_transport_preference sistem mülkünde listeler. Değer, desteklenen aktarımları tercih sırasına göre listeleyen, virgülle ayrılmış bir dize listesidir:

  • le-acl: Atalet ölçüm birimi (IMU) verileri sensör yığını üzerinden raporlandığında LE-ACL aktarımı.
  • iso-hw: HT verilerini doğrudan Bluetooth denetleyicisinden ses DSP'sindeki uzamsallaştırıcıya aktarma özelliğine sahip ISO aktarımı.
  • iso-sw: IMU verileri sensör yığınıyla raporlandığında tünel oluşturma özelliği olmayan ISO aktarımı.

Gecikme modları

BT LE ses söz konusu olduğunda, BT yığınının desteklenen gecikme modlarını ses HAL'ine ve ses çerçevesine belirtme mekanizması, BT Klasik (A2DP) için tanımlanan mekanizmayla aynıdır. Ses HAL'i, desteklenen gecikme modlarını şu anda seçili olan ses cihazına göre bildirir.

A2DP uygulamaları yalnızca FREE ve LOW_LATENCY modlarını destekler.

Buna karşılık, BT LE ses için LE-ACL ve LE-ISO aktarım mekanizmalarının eklenmesini desteklemek amacıyla ses HAL'inde aşağıdaki gecikme modları tanımlanır:

  • FREE: Bu değer, gecikmede belirli bir kısıtlama olmadığını gösterir. Bu mod, düşük gecikme desteklenmediği (HAL ile gösterilir) veya HT etkin olmadığı (çerçeve ile gösterilir) durumlarda kullanılır.

  • LOW: Bu değer, HT işlemiyle uyumlu olan nispeten düşük bir gecikmeyi (ör. 100 ms'den az) belirtir. Bu mod, düşük gecikmenin desteklendiği ve HID'in ACL protokolü üzerinden aktarıldığı (HAL ile gösterilir) ya da HT etkin olduğu ve başka düşük gecikmeli mod olmadığında (çerçeve ile gösterilir) kullanılır.

  • DYNAMIC_SPATIAL_AUDIO_SOFTWARE: Bu mod, aşağıdaki koşullardan biri karşılandığında kullanılır:

    • Düşük gecikme desteklendiğinde HID, ISO protokolü üzerinden iletilir ve HID, mekansallaştırıcı efekt motoruna (HAL ile gösterilir) tünellenemez.
    • HT etkinken ve ses çerçevesi, HID verilerini uzamsallaştırıcı efekt motoruna (çerçeveyle gösterilir) sağlarken ISO protokolü kullanılır.

    Bu modda, çerçevedeki HT bilgi işlem kitaplığı, IMU verilerindeki tüm ön işleme işlemlerini ve telefon sensörleri tarafından belirtilen telefon hareketleriyle uyumlulaştırma işlemlerini yapar.

  • DYNAMIC_SPATIAL_AUDIO_HARDWARE: Bu mod, aşağıdaki koşullardan biri karşılandığında kullanılır:

    • Düşük gecikme desteklendiğinde HID, ISO protokolü üzerinden iletilir ve HID, uzamsallaştırıcı efekt motoruna (HAL ile gösterilir) tünellenebilir.
    • HT etkinken ve HID verileri, mekansallaştırıcı efekt motoruna (çerçeveyle gösterilir) tünellenirken ISO protokolü kullanılır.

    Bu modda, uzamsallaştırıcı efekt motoru işlenmemiş IMU verilerini doğrudan BT yığınından veya BT denetleyicisinden alır. Mekansallaştırıcı efekt uygulaması, IMU verilerindeki tüm ön işleme işlemlerini ve telefon sensörleri tarafından belirtilen telefon hareketleriyle uyumlulaştırma işlemini gerçekleştirir.

Gecikme modu enum'ları, Spatializer.cpp içindeki bluetooth.core.le.dsa_transport_preference sistem mülküne eşlenir.

Mekansallaştırıcı desteği

Ses politikası hizmetindeki uzamsallaştırıcı denetleyici, LE ses üzerinden HT aktarım protokolünün seçimini kontrol eder. Mekansallaştırıcı efekt motoru uygulaması, HeadTracking.ConnectionMode özelliğiyle HT veri tünelleme desteğini gösterir.

Desteklenen HT bağlantı modları şunlardır:

  • FRAMEWORK_PROCESSED: Ses çerçevesi, HAL'e baştan sona vektör biçiminde önceden işlenmiş IMU verileri sağlar. Bu varsayılan mod, BT classic'teki mevcut moda karşılık gelir.
  • DIRECT_TO_SENSOR_SW: Mekansallaştırıcı efekt motoru, sensör yazılımı paketi aracılığıyla doğrudan sensöre bağlanır. Ses çerçevesi yalnızca sensörün etkin durumunu kontrol eder. AOSP libheadtracking IMU veri ön işleme veya DSP'den aktarılan uzamsallaştırıcı uygulamalarını kullanmayan yazılım uygulamaları DIRECT_TO_SENSOR_SW modunu kullanabilir.
  • DIRECT_TO_SENSOR_TUNNEL: Mekansallaştırıcı efekt motoru, donanım tünelleme aracılığıyla doğrudan sensöre bağlanır. Ses çerçevesi yalnızca sensörün etkin durumunu kontrol eder. DSP'den aktarılan uzamsallaştırıcı uygulamaları DIRECT_TO_SENSOR_TUNNEL modunu kullanabilir.

Gecikme modu seçimi

Çerçeve, HAL tarafından bildirilen desteklenen gecikme modları listesinden bir gecikme modu seçer. Gecikme modu, geçerli HT etkinleştirme durumuna, geçerli uzamsallaştırıcı desteğine ve tedarikçi firma tarafından belirtilen sistem özelliğine göre ayarlanır. Bu özellik, aktarım mekanizmaları arasında öncelik sırası belirler.

Çerçeve, gecikme modunu seçmek için selectHeadtrackingConnectionMode_l bölümünde aşağıdaki süreci kullanır:

  1. Çerçeve, aktarım tercihini bluetooth.core.le.dsa_transport_preference sistem mülkünden yükler.
  2. Ses HAL'i tarafından bildirilen desteklenen gecikme modları, 1. adımda yüklenen listeye göre filtrelenir ve sıralanır.
  3. En yüksek öncelikli düşük gecikme modu iso-hw ise ve uzamsallaştırıcı uygulaması doğrudan sensör bağlantısını destekliyorsa (yani uzamsallaştırıcıda DIRECT_TO_SENSOR_SW veya DIRECT_TO_SENSOR_TUNNEL ayarlanmışsa) gecikme modu DYNAMIC_SPATIAL_AUDIO_HARDWARE olarak ayarlanır.
  4. En yüksek öncelikli düşük gecikme modu iso-hw ise ve uzamsallaştırıcı uygulaması doğrudan sensör bağlantısını desteklemiyorsa (DIRECT_TO_SENSOR_SW veya DIRECT_TO_SENSOR_TUNNEL uzamsallaştırıcıda ayarlanmamışsa) gecikme modunu (DYNAMIC_SPATIAL_AUDIO_SOFTWARE veya LOW) tercih edilen bir sonraki mod (iso-sw veya le-acl) belirler.

    Tercih edilen sonraki mod belirtilmezse sistem bir ürün yapılandırma hatası bildirir.