Bluetooth (BT) Düşük Enerji (LE) ses özelliği, baş takibi (HT) verileri için Eşzamansız Bağlantı Odaklı Mantıksal (LE-ACL) ve Isochronous (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, satıcı tarafından tanımlanan sistem özelliğini, ses HAL gecikme modlarını ve uzamsallaştırıcı bağlantı modlarını kullanarak LE-ACL ve LE-ISO ulaşım mekanizmalarını destekler.
Sistem özelliği
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 Audio'da, BT yığınının ses HAL ve ses çerçevesine desteklenen gecikme modlarını belirten mekanizması, BT Classic (A2DP) için tanımlananla aynıdır. Ses HAL'i, desteklenen gecikme modlarını geçerli olarak seçili 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, gecikmeyle ilgili belirli bir kısıtlama olmadığını gösterir. Bu mod, düşük gecikme desteklenmediğinde (HAL tarafından gösterilir) veya HT etkin olmadığında (çerçeve tarafından belirtilir) kullanılır.LOW
: Bu değer, HT işlemiyle uyumlu olan nispeten düşük bir gecikmeyi (ör. 100 ms'den az) gösterir. 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ığı (çerçeve ile gösterilir) durumlarda 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 aktarılır ve HID, mekansalleştirici efekt motoruna (HAL ile belirtilir) tünelle geçirilebilir.
- 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 sıralamaları, Spatializer.cpp
bölgesindeki bluetooth.core.le.dsa_transport_preference
sistem özelliğiyle eşlenir.
Mekansallaştırıcı desteği
Ses politikası hizmetindeki uzayıcı denetleyicisi, LE Audio ü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ırma efekti 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. AOSPlibheadtracking
IMU veri ön işlemesini veya DSP dışarıda yüklenen mekansalleştirici uygulamalarını kullanmayan yazılım uygulamaları daDIRECT_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
içinde aşağıdaki işlemi kullanır:
- Çerçeve, aktarım tercihini
bluetooth.core.le.dsa_transport_preference
sistem mülkünden yükler. - Ses HAL'i tarafından bildirilen desteklenen gecikme modları, 1. adımda yüklenen listeye göre filtrelenir ve sıralanır.
- 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ıdaDIRECT_TO_SENSOR_SW
veyaDIRECT_TO_SENSOR_TUNNEL
ayarlanmışsa) gecikme moduDYNAMIC_SPATIAL_AUDIO_HARDWARE
olarak ayarlanır. En yüksek öncelikli düşük gecikme modu
iso-hw
ise ve konumlandırıcı uygulaması doğrudan sensör bağlantısını desteklemiyorsa (DIRECT_TO_SENSOR_SW
veyaDIRECT_TO_SENSOR_TUNNEL
konum belirleyicide ayarlanmadıysa) bir sonraki tercih edilen mod (iso-sw
veyale-acl
) gecikme modunu belirler (DYNAMIC_SPATIAL_AUDIO_SOFTWARE
veyaLOW
).Tercih edilen bir sonraki mod belirtilmezse sistem bir ürün yapılandırma hatası bildirir.