7月19日:パブリックベータが公開されているiOS16に関して追記・修正。
3月17日(米国時間)に、GoogleがAndroidの時期バージョンとなるAndroid 13の開発者向けプレビュー第2弾を公開した。
アプリが通知を利用するために権限を要求することが必要になるなど、デベロッパにとっては対応が悩ましい改善もあるが、日本語折り返し処理の改善や漢字用のテキスト変換APIの追加など日本語圏ユーザーにとって嬉しい変更もある。
ただ、一番の目玉はやはりBluetooth LE Audioの組み込みサポートだろう。LE AudioではこれまでのBluetooth2.1+EDRというかなりレガシーな仕様で実現していたクラシックBluetooth オーディオに取って代わる将来の新標準となるBluetooth オーディオだ。
Bluetooth 5.2での追加
LE AudioはBluetooth バージョン4.0以降の規格であるBluetooth LE(LowEnergy)の名前を冠しているものの、実際には2020年1月6日に発表されたBluetooth 5.2の仕様に準拠するものだ。
Bluetooth 5.2の主な追加は以下となる。
Enhanced Attribut Protocol(EATT):複数の並列アクセスが可能に(以前のATTは1アクセスごとにしかできなかった)
LE Power Control:動的に送信出力を制御することが可能に。より必要最低限の消費電力で通信することができるように。
LE Isochronous Channels:よりリアルタイムのデータ転送をするためのチャネルが追加されました。
このうち、LE Audioを実装するための実際のベースとなっているのはLE Isochronous Channels(アイソクロナス転送)だ。アイソクロナス転送とは、一定時間における最低データ転送量を保証する、つまり転送速度が多少落ちたとしてもより確実に途切れないことを優先したデータ転送方式だ。
従来のクラシックBluetooth オーディオでは親機と子機での1対1の関係しか定義されていませんでした。そのため、完全ワイヤレスイヤホンにおける左右の関係は実際にはそれぞれのチップベンダーが独自の仕様で定義し、初期はQualcommのリレー方式から始まり、AppleやMediaTek、Bestechnicなどが左右同時伝送を先じて実装することに成功し人気を集めました。
LE Audioにおけるマルチストリームオーディオは、1台の送信機と1台以上の受信機で構成され、複数の独立するオーディオストリームを同期しながら送信することができます。
つまり複数のBluetooth イヤホンやヘッドホンを同時に、より低遅延に使用することができるということです。子機側におけるマルチポイント接続の実装などもより簡単になります。
LE Audioにおいては複数のオーディオストリームを利用して3Dオーディオのようなことをしたり、ステレオのオーディオストリームを左右に分離してこれまでよりも大きなビットレート=高音質で伝送するようなこともより簡易に出来るはずです。
また、LE Audioでは複数の受信機と同期を取りながら再生が出来るので、通信圏内の誰でも自由に聞けるようにオープンにすることも、設定したパスコードを持つ子機でなければ再生できないようクローズにすることも可能となります。将来的にはお互いにイヤホンやヘッドホンを装着したままでも友人と好きな音楽をシェアして楽しんだり、これまでよりも柔軟なユースケースに対応することが出来るようになるはずです。
Bluetooth 5.3での追加
さて、Bluetooth 5.2で追加された仕様を利用するLE Audioですが、現在のBluetoothの最新バージョンはBluetooth 5.3です。Bluetooth 5.3においてもLE Audioに関するものを含むいくつかの仕様の追加が行われました。
Periodic Advertisingの変更(LEのみ):5.2までは定期的なアドバタイジング・パケットを無線部が受信すると、すべてPCやスマホのプロセッサなどに送っていました。そのたびに毎回、プロセッサがアイドルから起き上がって処理に走るので、電力の消費が発生してしまっていました。Bluetooth 5.3では重複するパケットを判別できるようになり、重複したパケットは破棄することで電力消費を低減することが出来るようになります。
Connection Subrating(LE):LE Audioなどで音楽を再生していない時に、Connection Eventの間隔を広くし、消費電力を減らすことが出来るようになりました。これまでの規格では、数秒かかるConnection Update Procedureによって、これらを制御する必要があったので無駄な電力消費が発生し、音声の再生しはじめに遅れがありました
Channel Classification(LE):これまでは親機にしか通信チャネルマップの更新はできませんでした。しかし、親機と子機が離れた状態では親機側では空いているチャネルも子機側では混んでいるという現象が発生します。マウスやキーボードのようなデスクに座って利用する機器ならばともかく、装着した状態で動き回り、間に別のBluetooth送信機(スマホやPC、Android TVなど)が回り込むことの多いオーディオ機器ではとくに深刻な問題でした。
そこで、Bluetooth 5.3からは子機からチャネルマップ情報を親機に通知して親機がチャネルマップの生成時に利用することが出来るようになりました。
つまり、相互にBluetooth 5.3に対応するペアにおいては、
- Bluetooth デバイス利用時の親機側消費電力が削減される
- Bluetooth LE Audio利用時に、待機時消費電力が低減され音声再生はじめの遅延が低減される
- 親機と子機に距離がある状態でのBluetooth 接続の安定性が向上する
といった改善が見込まれます。たとえば、待機時消費電力が低減されることで、アクティブノイズキャンセリング対応イヤホンを耳栓代わりに使用するなどのユースケースで電池の持ち時間の改善が期待できるでしょうか。
実際にBluetooth LE Audioを利用するには
いいとこだらけのLE Audioですが、利用するためには現状では高めのハードルがあります。まず、LE Isochronous Channelsを利用するために親機がBluetooth 5.2以降の最新のBluetooth バージョンに対応している必要があります。
(AndroidやiOSにはデバイス内からBluetoothのバージョンを確認する方法がありません!)
そして、Android 13でLE Audioのサポートが行われるように、利用する親機のシステムソフトウェアやドライバーがLE Audioをサポートしている必要があります。iOSはAndroid同様に今年後半のソフトウェアアップデートで対応してくると思われますが、WindowsはWindows 11でようやくAACコーデックに対応したくらいなので、現状ではいつごろ対応してくるのか不明です。
(追記)iOS16のデベロッパー向けパブリックベータが公開されましたがとくにLE Audioについてのアナウンスがありませんので、対応は来年以降になる可能性が高いです。Appleが公開しているデータシートでは既存のiPhoneはBluetooth バージョン5.0に留まるため、LE Audio対応デバイスが欲しいなら新しい製品の登場を待つ必要がありそうです。(追記ここまで)
WindowsにおいてはBluetooth 5.2でLE Audioに対応したために既にLE Audioが使用できるような書き方をしているサイトなどを見かけることがありますが、これは間違っています。Windowsは既にBluetooth 5.2までのコア仕様をサポートしているものの、LE Audioには対応していません。LE AudioはBluetooth 5.2で策定されたのであって、実装されたわけではありません。
システムソフトウェア側での実装になぜ時間がかかっているのかというと、LE Audioには新しい標準コーデック「LC3」も必須とされていますが、このコーデックをどのようなビットレートで実装するかというような具体的な挙動の策定をシステムソフトウェアの開発者に委ねているためです。
なぜそうしているかというと、消費電力のシビアなモバイルOSではビットレートを制限し、音質よりも消費電力をとる、デスクトップOSならば大きなビットレートを流しよりよい音を追求する、といった選択肢があるからです。
それから、LE Audioに対応するだけの能力があるネットワークアダプターも必要となります。オーディオコーデックの処理が重いため、現状のBluetooth Low Energyのプロセッサでは処理できず、コーデック処理のための外付けICが必要になるためです。
ただ、これはBluetooth 5.2以降に対応するスマートフォン向けSoCや完全ワイヤレスイヤホン向けSoCでは既に対応しているはずなので問題になることはあまりないと思われます。
最後に、実際にイヤホンやヘッドホンのメーカーがLE Audioをサポートし、実装する必要があります。現状で販売されている機器にはLE Audioは実装されていないはずですから、SoCが対応しているものはイヤホンやヘッドホンのファームウェアをアップデートして対応しなければなりません。
コンパニオンアプリなどを経由してファームウェアアップデートを配信している製品ならば今後のアップデートで対応する可能性がありますが、そうでない場合はBluetooth 5.2対応のイヤホンやヘッドホンであっても実装されない・実装されていない…ということが起こりえます。
つまり、われわれエンドユーザーがLE Audioを楽しめるようになるには、
- スマートフォン・PCのプロセッサ・ネットワークアダプター
- スマートフォン・PCのOS
- イヤホン・ヘッドホンのプロセッサ
- イヤホン・ヘッドホンのファームウェア
という要素のすべてが対応している必要があるわけです。新標準のLE Audioが本当の「標準」になるまではまだまだ長い時間がかかりそうです。
余談・ありがちな誤解
ふつう、ソフトウェアのバージョンって一番左側に来る数字がメジャーアップデート、影響の大規模なアップデートで、"てん"で区切った数字は小規模な細かな機能の追加ですよね。
ただ、Bluetoothのバージョンではそうでもないです。クラシックBluetoothで実際に使われるのは2.1で3.0はぜんぜん・まったく使われなかったですし、Bluetooth 4.0も重要な機能がぜんぜん実装されてないので、4.2の対応が重要です。
Bluetooth5.0や5.1でも5.2で策定されたLE Audioは利用することは出来ないので注意が必要です。
参考・関連リンク
LE Audio Specifications | Bluetooth® Technology Website
Android Developers Blog: Android 13 Developer Preview 2
PC に搭載されている Bluetooth のバージョンを確認する (support.microsoft.com)