透過 LE 音訊進行頭部追蹤

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

Android 15 支援根據使用的 LE-ACL 或 LE-ISO 傳輸機制,調整 HT 的延遲模式。

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

支援 LE-ACL 和 LE-ISO

Android 15 支援 LE-ACL 和 LE-ISO 傳輸機制,方法是使用供應商定義的系統屬性、音訊 HAL 延遲模式空間音訊連接模式

系統屬性

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

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

延遲模式

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

A2DP 實作項目僅支援 FREELOW_LATENCY 模式。

相較之下,對於 BT LE Audio,音訊 HAL 中定義了下列延遲模式,可支援新增 LE-ACL 和 LE-ISO 傳輸機制:

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

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

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

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

    在這個模式下,架構中的 HT 計算程式庫會對 IMU 資料執行所有前置處理作業,並根據手機感應器顯示的手機動作進行協調。

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

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

    在此模式下,空間音效引擎會直接從 BT 堆疊或 BT 控制器接收未經處理的 IMU 資料。空間化效果實作會對 IMU 資料執行所有前置處理作業,並根據手機感應器顯示的手機移動情況進行協調。

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

支援空間音效

音訊政策服務中的空間化器控制器,可透過 LE 音訊控制 HT 傳輸通訊協定的選取項目。空間化效果引擎實作項目表示支援 HT 資料通道,並具備 HeadTracking.ConnectionMode 功能。

支援的 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 啟用狀態、目前的空間音訊支援,以及供應商指定的系統屬性設定,該屬性會在傳輸機制之間建立優先順序。

架構會在 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)。

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