頭部追蹤 LE 音訊

藍牙 (BT) 低功耗 (LE) 音訊引進非同步連線導向邏輯 (LE-ACL) 和等時 (LE-ISO) 邏輯傳輸機制,用於頭部追蹤 (HT) 資料。

Android 15 支援 HT 的延遲模式調整,這取決於是否使用 LE-ACL 或 LE-ISO 傳輸機制。

本頁說明音訊架構、音訊 HAL 和藍牙堆疊如何互動,以探索及選取主機和耳機支援的 LE-ACL 或 LE-ISO 傳輸機制。

支援 LE-ACL 和 LE-ISO

Android 15 透過供應商定義的系統屬性、音訊 HAL 延遲模式空間器連線模式,支援 LE-ACL 和 LE ISO 傳輸機制。

系統屬性

電話供應商實作項目會在 bluetooth.core.le.dsa_transport_preference 系統屬性中列出支援的傳輸機制。這個值是逗號分隔的字串清單,列出支援的傳輸方式,並依偏好順序排列:

  • le-acl:當慣性測量單元 (IMU) 資料透過感應器堆疊回報時,使用 LE-ACL 傳輸。
  • iso-hw:ISO 傳輸功能,可將 HT 資料直接從藍牙控制器傳送至音訊 DSP 中的空間化器。
  • iso-sw:當 IMU 資料透過感應器堆疊回報時,沒有隧道功能的 ISO 傳輸。

延遲模式

在 BT LE 音訊的情況下,BT 堆疊向音訊 HAL 和音訊架構指出支援的延遲模式的機制,與為 BT Classic (A2DP) 定義的機制相同。音訊 HAL 會根據目前選取的音訊裝置,回報支援的延遲模式。

A2DP 實作僅支援 FREELOW_LATENCY 模式。

相反地,針對 BT LE 音訊,音訊 HAL 中定義了下列延遲模式,以支援新增 LE-ACL 和 LE-ISO 傳輸機制:

  • FREE:這個值表示延遲時間沒有特定限制。當系統不支援低延遲 (由 HAL 指出),或 HT 未啟用 (由架構指出) 時,就會使用這個模式。

  • LOW:這個值表示延遲時間相對較短 (例如低於 100 毫秒),且與 HT 作業相容。如果系統支援低延遲,且會透過 ACL 通訊協定 (以 HAL 表示) 傳輸 HID,或 HT 為有效狀態且沒有其他可用的低延遲模式時 (以架構表示),就可以使用這個模式。

  • DYNAMIC_SPATIAL_AUDIO_SOFTWARE:符合下列其中一項條件時,即使用此模式:

    • 當系統支援低延遲時,HID 會透過 ISO 通訊協定傳送,且無法將 HID 中繼至空間化效果引擎 (由 HAL 指出)。
    • 當 HT 處於啟用狀態,且音訊架構在提供 HID 資料給空間化效果引擎時使用 ISO 通訊協定 (由架構指出)。

    在這個模式中,架構中的 HT 運算程式庫會對 IMU 資料執行所有預先處理作業,並與手機感應器指示的手機動作進行調和。

  • DYNAMIC_SPATIAL_AUDIO_HARDWARE:在符合下列任一條件時,系統會使用這個模式:

    • 支援低延遲時,HID 會透過 ISO 通訊協定傳送,且 HID 可傳送至空間化效果引擎 (由 HAL 指出)。
    • 當 HT 處於活動狀態,且在將 HID 資料傳送至空間化效果引擎時使用 ISO 通訊協定 (由架構指出)。

    在這個模式中,空間化效果引擎會直接從 BT 堆疊或 BT 控制器接收未經處理的 IMU 資料。空間化效果實作會對 IMU 資料執行所有預先處理作業,並與手機感應器所指示的手機動作進行調和。

延遲模式列舉會對應至 Spatializer.cpp 中的 bluetooth.core.le.dsa_transport_preference 系統屬性。

支援空間化器

音訊政策服務中的 spatializer 控制器會控管 LE 音訊的 HT 傳輸協定選項。空間化效果引擎實作項目表示支援使用 HeadTracking.ConnectionMode 功能的 HT 資料通道。

支援的 HT 連線模式如下:

  • FRAMEWORK_PROCESSED:音訊架構會以頭對頭向量格式,將經過預處理的 IMU 資料提供給 HAL。這個預設模式與 BT 傳統模式的目前模式相對應。
  • DIRECT_TO_SENSOR_SW:空間化效果引擎會透過感應器軟體堆疊直接連結至感應器。音訊架構只會控制感應器的啟用狀態。不使用 AOSP libheadtracking IMU 資料預先處理或 DSP 卸載空間化器的軟體實作項目,可以使用 DIRECT_TO_SENSOR_SW 模式。
  • DIRECT_TO_SENSOR_TUNNEL:空間化效果引擎會透過硬體通道直接連線至感應器。音訊架構只會控制感應器的啟用狀態。DSP 卸載的空間化器實作可使用 DIRECT_TO_SENSOR_TUNNEL 模式。

延遲時間模式選項

該架構會從 HAL 回報的支援延遲模式清單中選取延遲模式。系統會根據目前的 HT 啟用狀態、目前的 spatializer 支援,以及供應商指定的系統屬性 (用於在傳輸機制之間建立優先順序),設定延遲模式

架構會在 selectHeadtrackingConnectionMode_l 中使用下列程序選取延遲模式:

  1. 架構會從 bluetooth.core.le.dsa_transport_preference 系統屬性載入傳輸偏好設定。
  2. 系統會根據步驟 1 中載入的清單篩選及排序音訊 HAL 回報支援的延遲時間模式。
  3. 如果最高優先順序的低延遲模式為 iso-hw,且空間化器實作支援直接感應器連線 (也就是 DIRECT_TO_SENSOR_SWDIRECT_TO_SENSOR_TUNNEL 在空間化器中設定),延遲模式就會設為 DYNAMIC_SPATIAL_AUDIO_HARDWARE
  4. 如果最高優先順序的低延遲模式為 iso-hw,且空間化器實作不支援直接感應器連線 (DIRECT_TO_SENSOR_SWDIRECT_TO_SENSOR_TUNNEL 未在空間化器中設定),則下一個偏好模式 (iso-swle-acl) 會決定延遲模式 (DYNAMIC_SPATIAL_AUDIO_SOFTWARELOW)。

    如未指定下一個偏好模式,系統會回報產品設定錯誤。