メディア パフォーマンス クラスのテストを実行する

Android 互換性テストスイート(CTS)には、Android 11 以降を搭載したデバイス用のメディア パフォーマンス クラスのテストが含まれています。Android 13 を搭載したデバイスと Android 11 または Android 12 を搭載したデバイスではテストプロセスが異なるため、デバイスに搭載されている Android のバージョンに応じた手順を実施してください。

テストをダウンロードする

以下のテストをダウンロードします。

Android 14 以降のデバイスをテストする

パフォーマンス クラス 14(PC14)動画エンコード品質(VEQ)テストを実行する

Android 14 では、パフォーマンス クラス 14(PC14)デバイス向けの動画エンコード品質(VEQ)要件が導入されています。PC14-VEQ 要件は、基本的に PC14 デバイスの HW 動画エンコーダに対して、測定可能な方法でベースライン品質目標要件を定義します。

その目標は、パフォーマンス クラス 14 にクラスタ化された各 Android デバイスが、高品質の動画コンテンツを作成することにより、エンドユーザーにプレミアムなメディア エクスペリエンスを提供できるようにすることです。

PC14-VEQ 要件は、CtsVideoEncodingQualityHostTest という新しい CTS テストで検証されます。

この CTS テストでは、構成 JSON ファイルが定義する一連のエンコード テストケースを実行します。各テストケースでは、JSON ファイルのエンコーダ設定を使用してビットストリームをエンコードすることで、テスト対象のエンコーダのレート歪み(RD)曲線が生成されます。参照レート歪み(RD)曲線は、同じ JSON ファイルに含まれています。Video Multimethod Assessment Fusion(VMAF)vmaf_v0.6.1.json は、歪み(つまり品質低下)の計算に使用されます。

テストケースは、BDRATE-VMAF の結果が 0 以下の場合のみ合格です。

PC14-VEQ CTS テストは、以下を含むエンコード構成に対応しています。

  • AVC と HEVC HW エンコーダ
  • VBR レート コントロール モード
  • P フレーム / B フレーム エンコード
  • 1,920 x 1,080 p、30 fps(横向き)または 1,080 x 1,920 p、30 fps(縦向き)

Android 13 以降のデバイスをテストする

テストを開始する前に、テスト用のデバイスを準備します。

  1. _ro.odm.build.media_performance_class システム プロパティ値を 33 に設定して、メディア パフォーマンス クラス 13(PC13)をアドバタイズするようにデバイスをセットアップします。

  2. デバイスのシステム イメージが Android 13 以降であることを確認します。メディア CTS テストは Android 11 以降のシステム イメージでも実行できますが、カメラ CTS テストには PC13 用の Android 13 の機能が必要です。

カメラ ITS テストを実行する

カメラ ITS テストのみを実行するには、最初にデバイスとタブレットの両方のシリアル番号を config.yml に設定してから、次のコマンドを実行します。

python tools/run_all_tests.py camera=[PRIMARY_REAR_CAMERA_ID] scenes=2_c
python tools/run_all_tests.py camera=[PRIMARY_FRONT_CAMERA_ID] scenes=2_c

メディア パフォーマンス クラスのテストを実行する

cts-media-performance-class テストプランは、CDD 要件のうち、メディア パフォーマンス クラスの要件(CDD セクション 2.2.7.1)とカメラの要件(CDD セクション 2.2.7.2)を検証します。cts-media-performance-class テストプランを実行するには、次のコマンドを使用します。

cts-tradefed run cts-media-performance-class

カメラ CTS テストのみを実行するには、次のコマンドを使用します。

cts-tradefed run singleCommand cts --disable-reboot -m CtsCameraTestCases -t android.hardware.camera2.cts.ExtendedCameraCharacteristicsTest#testCameraPerfClassCharacteristics

メディア CTS テストのみを実行するには、次のコマンドを使用します。

cts-tradefed run singleCommand cts --disable-reboot -m CtsMediaPerformanceClassTestCases

MediaDrm CTS テストを実行する

MediaDrm CTS テストは、MediaDrm の要件(CDD セクション 2.2.7.1)を検証します。MediaDrm CTS テストを実行するには、次のコマンドを使用します。

cts-tradefed run singleCommand cts --disable-reboot -c android.mediapc.cts.PerformanceClassTest -m testSecureHwDecodeSupport
cts-tradefed run singleCommand cts --disable-reboot -c android.mediapc.cts.PerformanceClassTest -m testMediaDrmSecurityLevelHwSecureAll

ファイル システム CTS テストを実行する

ファイル システム CTS テストは、パフォーマンスの要件(CDD セクション 2.2.7.4)を検証します。

  • 順次読み取り / 書き込みの要件をテストするには、次のコマンドを使用します。

    cts-tradefed run singleCommand cts --disable-reboot -m CtsFileSystemTestCases -t android.filesystem.cts.SequentialRWTest
    
  • ランダム読み取り / 書き込みの要件をテストするには、次のコマンドを使用します。

    cts-tradefed run singleCommand cts --disable-reboot -m CtsFileSystemTestCases -t android.filesystem.cts.RandomRWTest
    

Android 11 または 12 のデバイスをテストする

Android 11 または 12 を搭載したデバイスをテストするには、最初にテストデバイスをセットアップしてから、CTS テストと CTS 検証ツールテストを実行します(セットアップの方法は Android バージョンに応じて、また userdebug デバイスか user デバイスかによって異なります)。

メディア パフォーマンス クラスをアドバタイズする

ro.odm.build.media_performance_class システム プロパティを使用して、正しいパフォーマンス クラスをアドバタイズするようにテストデバイスをセットアップする手順は次のとおりです。

  • パフォーマンス クラス 12(PC12)の場合は、プロパティの値を 31 に設定します。

  • パフォーマンス クラス 11(PC11)の場合は、プロパティの値を 30 に設定します。

userdebug デバイス

Android userdebug デバイスをセットアップするには、次のコマンドを実行します。

  • Android 12 の userdebug デバイス:

    adb root
    adb shell setprop ro.odm.build.media_performance_class 31   // use 30 for PC11
    adb shell stop && sleep 1 && adb shell start
    adb shell pkill -f camera
    
  • Android 11 の userdebug デバイス:

    adb root
    adb shell setenforce 0
    adb shell setprop ro.odm.build.media_performance_class 31   // use 30 for PC11
    adb shell appops set com.android.cts.verifier MANAGE_EXTERNAL_STORAGE 0
    

ro.odm.build.media_performance_class システム プロパティは、再起動ごとに一度だけ設定できます(ただし、初めて設定する前にデバイスを再起動する必要はありません)。

user デバイス

Android userdebug デバイスをセットアップするには、目的のパフォーマンス クラス値を指定した ro.odm.build.media_performance_class プロパティを product.prop ファイルに追加します。以下に例を示します。

ro.odm.build.media_performance_class=31   // use 30 for PC11

Android 11 を搭載した user デバイスの場合は、次の追加手順を実施します。

  1. [1627181] メディア パフォーマンス クラスのプロパティを sepolicy に追加するパッチをチェリーピックします。

  2. 次のコマンドを実行します。

    adb shell appops set com.android.cts.verifier MANAGE_EXTERNAL_STORAGE 0
    

CTS テストと ITS テストを実行する

ダウンロードしたパッチを適用して CTS と CTS 検証ツールをビルドし、テストデバイスに適したバージョンの Android を実行します(Android 11 デバイスの場合は Android 11 CTS、Android 12 デバイスの場合は Android 12 CTS)。

メディア

メディア CTS テストを実行するには、次のコマンドを使用します。

cts-tradefed run singleCommand cts --disable-reboot -m CtsMediaPerformanceClassTestCases

カメラ

カメラ CTS テストを実行するには、次のコマンドを使用します。

cts-tradefed run singleCommand cts --disable-reboot -m CtsCameraTestCases -t android.hardware.camera2.cts.ExtendedCameraCharacteristicsTest#testCameraPerfClassCharacteristics
python tools/run_all_tests.py device=DEVICE camera=PRIMARY_CAMERA_ID chart=CHART_ID scenes=2_c

Android 12 を搭載したデバイスの場合は、次のコマンドを実行します。

cts-tradefed run singleCommand cts --disable-reboot -m CtsCameraApi31TestCases

ハードウェア

ハードウェア CTS テストを実行するには、次のコマンドを使用します。

cts-tradefed run singleCommand cts --disable-reboot -m CtsFileSystemTestCases -t android.filesystem.cts.RandomRWTest
cts-tradefed run singleCommand cts --disable-reboot -m CtsFileSystemTestCases -t android.filesystem.cts.SequentialRWTest