Bluetooth Low Energy オーディオ

Bluetooth Low Energy Audio(LEA)は、バッテリー駆動時間を犠牲にすることなく高忠実度のオーディオを受信できるようにし、さまざまなユースケースをシームレスに切り替えられるようにします。Android 13(API レベル 33)には、LEA の組み込みサポートが含まれています。

LEA ソースデバイスのマーケット シェアが拡大するまで、ほとんどの LEA ヘッドセットはデュアルモードになります。デュアルモード ヘッドセットで両方のトランスポートをペア設定して設定できる。

ユースケース

LEA は、次のようなユースケースで統合できます。

  • オーディオの共有: ユーザーは、複数のオーディオ ストリームを 1 つ以上のオーディオ シンクデバイスで同時に共有できます。ソースデバイスと接続されたデバイス間で音声が同期されます。

  • 音声ブロードキャスト: ユーザーは、友だちや家族に音声をブロードキャストできるほか、情報発信、エンターテイメント、ユーザー補助のための公開ブロードキャストに接続することもできます。

  • LC3 オーディオ コーデックのサポート: これはデフォルトのオーディオ コーデックで、A2DP(メディア)と HFP の mSBC(音声)で使用される SBC コーデックに代わるものです。LC3 は、より効率的で再構成可能で、品質も高くなります。

  • 音声サンプリングの改善: ヘッドセットでマイクの使用時に高い出力音質を維持できるようになりました。Bluetooth クラシックでは、Bluetooth マイクを使用すると音質が低下します。BLE Audio では、入力と出力のサンプリングは 32 kHz に達する場合があります。

  • ステレオ マイク: 空間オーディオを強化するために、ヒアラブル デバイスでステレオ マイクを使用して音声を録音できます。

  • Hearing Aid Profile(HAP)のサポート: HAP は、従来の ASHA プロトコルよりもユーザーの利便性と使い勝手を高めています。ユーザーは、電話や VoIP アプリで補聴器を使用できます。

  • 拡張属性プロトコル(EATT)のサポート: EATT を使用すると、デベロッパーはペア設定されたヘッドフォンに複数のコマンドを一度に送信できます。

重要なシナリオ

ユースケースには主に次の 4 つのカテゴリがあります。

  1. 会話型: 低レイテンシの通信ルーティングを必要とする電話アプリと VoIP アプリは、高品質な音声を提供し、バッテリーの使用量を削減します。

  2. ゲーム: マイクの同時使用と高忠実度再生により、ゲームで高品質の音声を聞き取れるデバイスにストリーミングできます。ゲームアプリは、ゲームが Bluetooth マイクを使用可能として起動すると、BLE 音声入力にアクセスできます。その後、プレーヤーがピア プレーヤーとのライブ会話を開始すると、ゲームアプリは遅延なくマイクデータを使用できます。

  3. メディア: メディア アプリで、オーディオ マネージャーの優先デバイスを設定できます。ユーザーは、システムの設定から優先デバイスを変更することで、この設定をオーバーライドできます。

  4. ユーザー補助: BLE Audio をサポートする補聴器でマイクが使用できるようになり、通話で補聴器を継続的に使用できるようになりました。

BLE オーディオ API とメソッド

BLE Audio ヒアラブル デバイスをサポートするには、次の API とメソッドが必要です。

AudioManager

  • setCommunicationDevice(): 音声通話やビデオ通話など、コミュニケーションのユースケースに使用する音声デバイスを選択します。このメソッドは、音声チャット アプリケーションやビデオ チャット アプリケーションで、プラットフォームでデフォルトで選択されている音声デバイスとは異なる音声デバイスを選択する場合に使用できます。この API は、非推奨の API である startBluetoothSco()stopBluetoothSco()setSpeakerphoneOn() に代わるものです。
  • clearCommunicationDevice() は、アプリが呼び出しまたはセッションを終了した後に呼び出され、ユーザーがさまざまなアプリを移動する際に優れたエクスペリエンスを提供できるようにします。

BluetoothProfile

  • BluetoothLeAudio は、プロキシ オブジェクトを介して Bluetooth サービスを制御します。

Telecom InCallService

通信 CallControl

オーディオ機器情報

  • AudioDeviceInfo.TYPE_BLE_HEADSET は、オーディオ デバイスタイプを LEA デバイスとして記述します。聴覚装置が LEA デバイスかどうかを識別するために使用されます。

音声レコーダー

  • setPreferredDevice(): 音声ルーティングに使用する優先デバイスを設定します。ユーザーはシステム設定でこの設定をオーバーライドできます。

Bluetooth アダプター

  • isLeAudioSupported() は、プラットフォームのハードウェアが LEA をサポートしているかどうかを返します。
  • isLeAudioBroadcastSourceSupported() は、プラットフォームのハードウェアが LEA をサポートしている場合に返されます。

ユースケースに基づくガイド

以下に、特定のユースケースに基づく LEA の実装に関するガイドラインを示します。

音声通信アプリケーション

音声通信アプリでは、ステータスを自己管理するか、音声ルーティングとステータス ロジックを実行する Telecom API を使用するかを選択できます。

この 2 つのソリューションにより、音声ルーティングをすばやく簡単に制御し、Bluetooth デバイスを切り替えることができます。詳細については、テレコム管理通話ガイドをご覧ください。

音声録音アプリケーション

  • メディア レコーダー: メディア レコーダーを使用して音声を録音する際、Bluetooth ヒアラブル デバイスが LEA に対応している場合はステレオで録音できるようになりました。音声録音ガイドをご覧ください。

LE Audio(LEA)ヘッドセットの推奨事項

多くの LEA ヘッドセットがリリースされるにつれて、ユーザー エクスペリエンスを低下させる問題が実際のテストで見つかりました。仕様では、これらの問題のすべてを網羅していません。次の表に、Android ユーザーのエンドツーエンドのエクスペリエンスを向上させるために LEA ヘッドセット メーカーが遵守すべき推奨事項を示します。

説明 コンテキスト
デュアルモード ヘッドセットのクロス トランスポート鍵導出(CTKD)をサポートします。
  • 従来型と LE のペア設定と LE と従来型のペア設定の両方で鍵の導出をサポートします。
LEA ソースデバイスの市場シェアが拡大するまでは、新しい LEA ヘッドセットのほとんどがデュアルモードになります。ユーザーがデュアルモード ヘッドセットをシームレスにペア設定し、両方のトランスポートを設定できるようにすることが重要です。これは Google ファストペアにも重要です。

LEA ヘッドセットをソースデバイスに確実に再接続するには、ターゲット通知(TA)をサポートします。

LE オーディオ イヤホンは、TA を使用して中央デバイスからの受信接続をリクエストする必要があります。

今後の BT SIG に追加されます。

スマートフォンまたはヘッドセットのいずれかから接続を開始できる BR/EDR のページング モデルとは異なり、LEA の接続はセントラル デバイスから開始する必要があります。現在、多くのヘッドセットは TA を使用していません。つまり、許可リストに追加しないと、中央デバイスがペリフェラルに再接続できない場合があります。ただし、許可リストの回避策により、ヘッドセットを別のセントラル デバイスに接続できなくなる場合があります。そのため、LEA ヘッドセットが TA を適切にサポートし、マルチポイント接続を切断する可能性のある回避策を行わずに、中央デバイスが確実に再接続できるようにすることが重要です。
デュアルモード イヤフォンの見つけやすさを最適化
  • プライマリ イヤホン - BR/EDR コンポーネントは、パブリック アドレスを使用してアドバタイズし、EIR で利用可能な名前でクエリとページスキャンを有効にし、デバイスのクラス(CoD)のメジャー サービスクラスで LE オーディオビット 14 を 1 に設定する必要があります。
  • プライマリ イヤホン - LE コンポーネント: プライマリ イヤホンは、BR/EDR コンポーネントと同じパブリック アドレスと BR/EDR コンポーネントと同じ完全ローカル名を使用して、接続可能で検出可能(限定または一般)のアドバタイズを実行する必要があります。また、Appearance カテゴリは、中央の端末がこの情報を使用して UI とオーディオ ルーティング ポリシーを調整することを想定して、リモート デバイスのタイプに一致する適切な Appearance カテゴリとして設定する必要があります。
  • セカンダリ イヤホン - LE のみ: セカンダリ イヤホンは、接続可能で検出不可の広告を実行し、外観カテゴリをリモート デバイスのタイプに一致する適切な外観カテゴリとして設定する必要があります。この情報は、中央デバイスが UI とオーディオ ルーティング ポリシーを調整するために使用されます。

    イヤホンは、CSIP グループからリーダーを動的に選択してプライマリ デバイスにする必要があります。イヤホンがデュアルモードの場合、ペア設定後に LE とクラシックの両方の機能が正しく動作するように、メインのデバイスもデュアルモードである必要があります。

これにより、デュアルモード LEA イヤホンが Bluetooth 設定で重複するエントリとして表示され、ユーザーが混乱したり、LEA のペア設定がうまくいかなかったりするのを防ぐことができます。

動的リーダー選出は、段階的にペア設定されるデュアルモード デバイスで特に重要です。たとえば、最初のペア設定で使用できるイヤホンが 1 つしかない場合は、デュアルモード デバイスとして表示されます。ユーザーが後で 2 つ目のイヤホンをペア設定する場合は、LE コンポーネントとペア設定するだけで、CSIP によって Android でグループ化されます。

BR/EDR コンポーネントはすでにデバイスの公開アドレスを近くのデバイスに公開しているため、ペア設定中は ID アドレスを使用することをおすすめします。

拡張属性プロトコル(EATT)をサポートします。 ペア設定と接続のレイテンシを短縮します。
堅牢な GATT キャッシュをサポート。 接続レイテンシを短縮します(TWS イヤホンの場合特に効果的)。
接続のサブレーティングをサポート。 より柔軟なパケット スケジューリングが可能になり、バッテリーの節約につながる可能性があります。
再生とキャプチャの両方の前処理と後処理で、信号処理パイプラインが 16、24、32、48 kHz で動作し、より高い周波数をサポートできるようにする LEA 通話または VoIP キャプチャ パスとメディア再生でサポートされている高サンプルレートを利用します。
LE Power Control をサポート 電力管理の改善

コンテキスト タイプのサポート

説明 コンテキスト
ヘッドセットが特定のコンテキスト タイプを明示的にサポートしていない場合を除き、割り当てられた番号 6.12.3 で指定されているすべてのコンテキスト タイプを使用します。 たとえば、コンテキスト タイプ「ゲーム」がサポートされていない場合、Android はゲーム音を送信します。特に、「未指定」のコンテキスト タイプは「任意のコンテキスト タイプ」を意味するものではなく、サポートされていないコンテキスト タイプは対象外です。

セントラル デバイスがペリフェラル デバイスの ASCS とやり取りする場合、ペリフェラルはセントラル デバイスの MCS と TBS に接続する必要があります。

セントラル デバイスは、A2DP または HFP を使用するようにフォールバックする可能性があるため、ストリーミング ルートとして LE オーディオを使用するとは限りません。ペリフェラル デバイスは、セントラル デバイスがストリーミングに LE オーディオを使用するかどうかを示すために ASCS インタラクションを使用できます。

ASCS のインタラクションの例としては、読み取り、書き込み、通知の登録などがあります。