オーディオ レイテンシの測定

レイテンシは重要なシステム パフォーマンス指標です。オーディオ レイテンシの指標にはさまざまな種類がありますが、理解しやすい指標の一つがラウンドトリップ レイテンシです。これは、オーディオ信号がモバイル デバイスの入力に達し、アプリケーション プロセッサで実行されるアプリによって処理され、出力を終了するまでにかかる時間と定義されます。

デバイスでのラウンドトリップ オーディオ レイテンシ

図 1:デバイスでのラウンドトリップ オーディオ レイテンシ: T出力 - T入力

一部の Nexus/Pixel デバイスと Android プラットフォーム バージョンのラウンドトリップ オーディオ レイテンシの測定値をこのページに記載しています。

レイテンシを測定する理由

実際のデバイスで発生するレイテンシについて、Android アプリのデベロッパーが十分な情報に基づき意思決定を下せるよう、Google はレイテンシを測定し、報告しています。一部の Nexus デバイスと Pixel デバイスのレイテンシ値を共有している目的は、Android コミュニティ全体におけるレイテンシの測定、公開、短縮を促進するためです。オーディオ レイテンシを削減する取り組みにぜひご協力ください。

レイテンシに対するアプリケーションの影響

シグナル処理では、次のようなタイプの遅延がレイテンシに付加されます。

  • アルゴリズム的遅延。この遅延は内在するもので、CPU によって差が出るものではありません。例として、有限インパルス応答(FIR)フィルタにより付加される遅延があります。
  • 計算的遅延。この遅延は、必要な CPU サイクルの数に関連するものです。たとえば、通常は CPU に応じてサイクル数が変化する乗算演算によって信号の減衰が発生します。

測定方法

このページに記載された測定は、Dr. Rick O'Rang オーディオ ループバック ドングルおよび音声フィードバック(ラーセン効果)テストを用いて実施しています。測定時にはアプリケーションの信号処理によるアルゴリズム的な遅延が発生せず、計算的な遅延がほぼゼロであると仮定しています。

次のような理由により、ヘッドセット コネクタ経由のラウンドトリップ レイテンシを測定しています。

ヘッドセット コネクタ経由のラウンドトリップ レイテンシ

図 2.ヘッドセット コネクタ経由のラウンドトリップ レイテンシ: T出力 - T入力

  • 入出力のタイミングが重要な音楽アプリケーション(ギターや音声処理など)は、ヘッドセット コネクタを使用します。
  • オープンエア型のフィードバック ループが、制御されていない振動の影響を受けないようにするのは難しいため、デバイス上のマイクとスピーカーで発生するラウンドトリップ レイテンシの測定は容易ではありません。
  • デバイス上のトランスデューサは、小型化のために周波数応答を犠牲にしています。補正のためにデジタル信号処理が適用されますが、デバイス上の経路のアルゴリズム的遅延は増加します。

デバイス上のマイクとスピーカーのレイテンシが重要になる場合もありますが、通常は往復ではなく単方向のものです。単方向のレイテンシを測定する方法については、出力レイテンシを測定するおよび入力レイテンシを測定するを参照してください。

測定例

次の各測定値はビルド番号に固有の値です。それぞれのデバイスは、おおよその初期リリース順でプラットフォーム バージョンごとにリストされています。なお、レイテンシをチャートで確認することもできます。テスト アプリケーションは、OpenSL ES をベースとした Android ネイティブ オーディオ API を使用しています。

モデル プラットフォーム
バージョン
ビルド
番号
サンプルレート
(Hz)
バッファサイズ
(フレーム)
バッファサイズ
(ミリ秒)
ラウンドトリップ
レイテンシ(ミリ秒)
± 1 のバッファ
Nexus One 2.3.6 GRK39F 44100 768 17.4 345
Nexus S 2.3.6 GRK39F 44100 1024 23.2 260
Nexus S 4.0.4 IMM76D 44100 1024 23.2 260
Nexus S 4.1.2 JZO54K 44100 880 20 210
Galaxy Nexus 4.0.1 ITL41D 44100 976 22.1 270
Galaxy Nexus 4.3 JWR66Y 44100 144 3.3 130
Nexus 4 4.2.2 JDQ39E 48000 240 5 195
Nexus 4 5.1 LMY47O 48000 240 5 58
Nexus 10 5.0.2 LRX22G 44100 256 5.8 36
Nexus 10 5.1 LMY47D 44100 256 5.8 35
Nexus 7
(2013)
4.3 JSR78D 48000 240 5 149
Nexus 7
(2013)
4.4 KRT16S 48000 240 5 85
Nexus 7
(2013)
5.0.2 LRX22G 48000 240 5 64
Nexus 7
(2013)
5.1 LMY47O 48000 240 5 55
Nexus 7
(2013)
6.0 MRA58K 48000 240 5 55
Nexus 5 4.4.4 KTU84P 48000 240 5 95
Nexus 5 5.0.0 LRX21O 48000 240 5 47
Nexus 5 5.1 LMY47I 48000 240 5 42
Nexus 5 6.0 MRA58K 48000 192 4 38
Nexus 9 5.0.0 LRX21L 48000 256 5.3 35
Nexus 9 5.0.1 LRX22C 48000 256 5.3 38
Nexus 9 5.1.1 LMY47X 48000 256 5.3 32
Nexus 9 6.0 MRA58K 48000 128 2.6 15
Nexus 6 5.0.1 LRX22C 48000 240 5 65
Nexus 6 5.1 LMY47I 48000 240 5 42
Nexus 6 6.0 MRA58K 48000 192 4 33
Nexus 5X 6.0 MDA89E 48000 192 4 18
Nexus 5X 8.0.0 OPR4.170623.020 48000 192 4 18
Nexus 5X 8.1.0 OPM2.171019.029.C1 48000 192 4 18
Nexus 6P 6.0 MDA89D 48000 192 4 18
Nexus 6P 8.0.0 OPR5.170623.014 48000 192 4 18
Nexus 6P 8.1.0 OPM5.171019.019 48000 192 4 18
Pixel 7.1.2 NHG47L 48000 192 4 18
Pixel 8.0.0 OPR3.170623.013 48000 192 4 18
Pixel 8.1.0 OPM1.171019.021 48000 192 4 18
Pixel XL 7.1.2 NHG47L 48000 192 4 18
Pixel XL 8.0.0 OPR3.170623.013 48000 192 4 18

図 3. ラウンドトリップ レイテンシ