LE Audio を介したヘッド トラッキング

Bluetooth(BT)Low Energy(LE)Audio には、ヘッド トラッキング(HT)データ用の非同期接続指向論理(LE-ACL)およびアイソクロナス(LE-ISO)論理の転送メカニズムが導入されています。

Android 15 では、LE-ACL または LE-ISO 転送メカニズムが使用されているかどうかに基づいて、HT のレイテンシ モードの調整がサポートされます。

このページでは、オーディオ フレームワーク、オーディオ HAL、Bluetooth スタックがどのように相互作用して、ホストとヘッドセットでサポートされている 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: HT データを Bluetooth コントローラから直接オーディオ DSP のスペイシャライザーにトンネリングする機能を備えた ISO 転送。
  • iso-sw: IMU データがセンサー スタックを通じて報告される場合の、トンネリング機能のない ISO 転送。

レイテンシ モード

BT LE Audio の場合、BT スタックがオーディオ HAL とオーディオ フレームワークにサポートされているレイテンシ モードを示すメカニズムは、BT Classic(A2DP)に対して定義されているものと同じです。オーディオ HAL は、現在選択されているオーディオ デバイスに応じて、サポートされているレイテンシ モードを報告します。

A2DP 実装では、FREE および LOW_LATENCY モードのみがサポートされています。

一方、BT LE Audio の場合、LE-ACL および LE-ISO 転送メカニズムの追加をサポートするために、次のレイテンシ モードがオーディオ HAL で定義されています。

  • FREE: この値は、レイテンシに特定の制約がないことを示します。このモードは、低レイテンシがサポートされていない場合(HAL によって示される)、または HT がアクティブでない場合(フレームワークによって示される)に使用されます。

  • LOW: この値は、HT 操作と互換性のある比較的低いレイテンシ(100 ミリ秒未満など)を示します。このモードは、低レイテンシがサポートされ、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 がアクティブで、HID データがスペイシャライザー エフェクト エンジンにトンネリングされるときに ISO プロトコルが使用される場合(フレームワークによって示される)。

    このモードでは、スペイシャライザー エフェクト エンジンは、未処理の IMU データを BT スタックまたは BT コントローラから直接受信します。スペイシャライザー エフェクトの実装が、IMU データのすべての前処理を行い、スマートフォンのセンサーによって示されたスマートフォンの動きと照合します。

レイテンシ モードの列挙型は、Spatializer.cppbluetooth.core.le.dsa_transport_preference システム プロパティにマッピングされます。

スペイシャライザーのサポート

オーディオ ポリシー サービス内のスペイシャライザー コントローラは、LE Audio を介して HT トランスポート プロトコルの選択を管理します。スペイシャライザー エフェクト エンジンの実装は、HeadTracking.ConnectionMode 機能を通じて、HT データ トンネリングをサポートしていることを示します。

サポートされている HT 接続モードは次のとおりです。

  • FRAMEWORK_PROCESSED: オーディオ フレームワークは、前処理された IMU データをヘッドからステージまでのベクター形式で HAL に提供します。このデフォルトのモードは、現在の BT Classic モードに対応しています。
  • 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. オーディオ HAL によって報告されたサポートされているレイテンシ モードは、手順 1 で読み込まれたリストと比較してフィルタされ、順序付けられます。
  3. 最も優先度の高い低レイテンシ モードが iso-hw であり、スペイシャライザーの実装が直接センサー接続をサポートしている(つまり、スペイシャライザーで DIRECT_TO_SENSOR_SW または DIRECT_TO_SENSOR_TUNNEL が設定されている)場合、レイテンシ モードは DYNAMIC_SPATIAL_AUDIO_HARDWARE に設定されます。
  4. 最も優先度の高い低レイテンシ モードが iso-hw であり、スペイシャライザーの実装が直接センサー接続をサポートしていない(スペイシャライザーで DIRECT_TO_SENSOR_SW または DIRECT_TO_SENSOR_TUNNEL が設定されていない)場合、次の優先モード(iso-sw または le-acl)によってレイテンシ モード(DYNAMIC_SPATIAL_AUDIO_SOFTWARE または LOW)が決まります。

    次の優先モードが指定されていない場合、システムは製品の構成エラーを報告します。