Androidは「音声の遅延」が長く課題だった、最新のAnrdoid 11の動向は?

Androidは「音声の遅延」が長く課題だった、最新のAnrdoid 11の動向は?

  • ASCII.jp
  • 更新日:2020/06/16

Android 11はストリーミング時代を見据え「低遅延」に取り組む

米国時間6月10日にグーグルは、Android OSの最新版「Android 11」のベータ版をリリースした。Android 11では、オーディオ関連の大きな機能追加はないようだが、コントロール機能に動画や音楽の再生/出力先を変更する「メディアコントロール」が加わった。

No image

Android 11のデベロッパー プレビュー

もう少し内部に目を向けると、メディアコーデック(圧縮・伸長)を管理する「Media.Codec API」に機能追加があった。メモリー管理の効率を上げられる「バッファの割り当て」機能が追加されるとともに、「低レイテンシーコーデックのデコード」をサポートした。これは使用するコーデックに対して、低レイテンシー再生かどうかを問い合わせて、対応していれば、それに合ったデコードをするというものだ。

ただしこれについては電力消費が高くなる場合があるので、必要な場合だけにしたほうがいいという注釈が付いている。このようにAndroidでは低レイテンシー化への取り組みが継続的に行われている。

■関連サイト

機能とAPIの概要(開発者向けサイト)

音声処理の遅延、レイテンシーとは何か

スマートフォン向けOSの歴史を少し振り返ると、AndroidはiOSに比べてオーディオ分野では様々な点で後塵を拝してきた。これは、iOSが母体としているmacOS(OS X、Mac OS X)がもともとマルチメディアに強い性格を持っていたのに対して、Androidではそれをイチから構築していかねばならなかったからだ。

そのあらわれが「レイテンシー」(遅延、処理の待ち時間)の問題である。初期はAndroidのレイテンシーがだいたい500~700ms(msは1/1000秒)あったのに対して、iOSは90ms(さらにMac OS Xでは48ms)という大きな差がついていたのだ。

レイテンシーは汎用的な言葉だが、ここではオーディオ処理における遅延という意味で使っている。動画再生時のリップシンクや通話・ウェブ会議など、求められるシーンが増えているが、音楽再生においても音質にも影響を与えると言われ、そのためPCオーディオでは軽量化OSがよく使われる。またタブレットをDTMに活用する際にも重要なポイントだ。

Androidにおける「レイテンシー向上」の歴史と現状

●Android 4.1(2012年)

No image

Androidのオーディオ強化の過程を振り返る。ひとつめの転機はAndroid 4.1であった。2012年の「Android 4.1」(Jelly Bean)では、USBデジタル出力への対応が発表されているが、同時に低レイテンシー化についてのアナウンスがあった。

Android 4.1では、Android 4.0までは100ms台とあまり良くなかったレイテンシーを向上させる改良に着手した。10ms台を目標にし、さらに低いところを狙っていたが、これは4.1では終了せず、次のバージョン以降も継続していくことが表明された。

●Android 6.0(2015年)

No image

ふたつめの転機は、Android 6.0である。2015年の「Android 6.0」(Marshmallow)において、オーディオ周りの機能が変更されることはなかったが、レイテンシーの大きな向上があった。前バージョンであるAndroid 5.1では32msだったレイテンシーが、Android 6.0で大きく改良され、Android 4.1がターゲットにしていた10ms台に削減したのだ。

そして、Android 6.0の「Android互換性ガイド」(CDD:Compatibility Difinition Document)ではプロフェッショナル・オーディオの項目が追加されて、そのために満たすべきレイテンシーが定義された。

下記リンク先にある「Android 6.0 CDD」の5.10項にその記述がある。

ここでは一般的なレイテンシーの目標値は100ms以下と定義されているが、プロフェッショナル・オーディオの項ではさらに20ms以下が必須で、可能であれば10ms以下と定めている。つまりこのタイミングで、AndroidはiOSに近づくような改良がなされ、DTM分野などもターゲットに据えたわけだ。

■関連サイト

Android Compatibility Definition Document(開発者向けサイト)

●現在

そして現在はどうかというと、ほぼiOSに匹敵するレベルにまで、Androidのレイテンシーは改善されている。下記のAndroid公式・ソースページにあるオーディオレイテンシー計測結果表で各世代のレイテンシーの測定値を見ることができる。

No image

入力(マイク)が、出力(スピーカー)されるまでのタイムラグを計測している。

■関連サイト

オーディオ レイテンシの測定(開発者向けサイト)

表をみるとAndroid 6搭載の「Nexus 5X」以降では18msという数値で、レイテンシーの改善はないように見える。これにはいくつか理由が考えられる。まず、18msという値は上記のプロフェッショナル・オーディオの条件を満たすものであること。そして、Android 8当時(2017年ごろ)の対抗するiOSのレイテンシーも20ms程度でほぼ互角になったためである。

No image

Nexus 5X

また、この表ではグーグルの純正モデル(Nexus、Pixelシリーズ)のみが記載されているが、サムスン端末もレイテンシーは優秀である。これはハードウェアの差もさることながら、ソフトウェアの違いも関係する。例えば、前回書いたミキサー部分(AudioFlinger)の効率も、大きくレイテンシーの短縮に関係するので、(同じく前回書いた)サムスン提供のプロフェッショナルSDKの効果もあると思われる。

こうしてAndroidのレイテンシーは大きく向上したが、対するアップル(iPad OS)側も、最新のApple Pencil対応版では、9msに向上している。また、音楽・動画ともにストリーミングの市場要求が高まっているため、さらにこの分野での改良は続いていくことになるだろう。

■関連サイト

Android 11 デベロッパー プレビュー

佐々木喜洋 編集●ASCII

この記事をお届けした
グノシーの最新ニュース情報を、

でも最新ニュース情報をお届けしています。

外部リンク

  • このエントリーをはてなブックマークに追加