このページでは、優れたユーザー エクスペリエンスを実現するための Google Meet Media API クライアント動画コーデックの基本要件について説明します。
機能要件
このセクションでは、コーデックのタイプと機能の要件を指定します。
機能 | 要件 | ||
---|---|---|---|
プロフィール | AV1 | VP9 | VP8 |
Main |
Profile 0 |
なし | |
スケーラビリティ | 特定のコーデック タイプとプロファイルのコーディング仕様で要求される場合、デコーダは時間スケーラビリティ、空間スケーラビリティ、またはその両方をサポートしなければなりません。 | ||
Raw 動画形式 |
コーデックは、奇数の解像度(フレームの幅または高さが 2 の倍数でない場合など。例: 133 × 141)を処理できる必要があります。サブサンプリングされたクロマ形式の場合、クロマ サンプル数は、ルマ サンプル数から導出されるときに、次元ごとに切り上げられなければなりません。 切り抜き、パディング、スケーリングは許可されていません。出力フレームの解像度は、入力フレームの解像度と一致している必要があります。 |
運用上の要件
このセクションでは、動画コーデックが動作することが想定されるさまざまな条件の要件を規定します。これらの要件に違反すると、コーデックの使用が一部のシナリオに制限される可能性がありますが、必ずしも使用が禁止されるわけではありません。たとえば、コーデック インスタンスの最大数が要件を満たしていない場合でも、コーデックは他のタイプや実装のコーデックと併用できます。
パラメータ | 要件 | |||
---|---|---|---|---|
最小解像度(ピクセル) | ≤ 128 × 128 | |||
最大解像度(ピクセル) | ≥ 2,880 × 1,800 | |||
最小フレームレート、FPS | ≤ 1 | |||
最大フレームレート、FPS | ≥ 30 | |||
最小ビットレート(kbps) | ≤ 30 | |||
最大ビットレート(kbps) | 5,000 以上 | |||
デコーダ インスタンスの最大数 | ≥ 3 | |||
最大合計デコード スループット(ピクセル/秒) | ≥ 3 × 2880 × 1880 × 30 |
パフォーマンス要件
このセクションでは、コーデックのパフォーマンスに関する要件を指定します。これらの要件に違反すると、ユーザー エクスペリエンスに大きな影響が及ぶ可能性があり、コーデックの使用がほぼ確実にブロックされます。
パラメータ | 要件 |
---|---|
フレーム間処理の最大時間(秒) | ≤ 1 / max(30, encode_target_frame_rate_fps) |
最大キーフレーム処理時間(秒) | ≤ 2 / max(30, encode_target_frame_rate_fps) |
フレーム処理時間は、コーデックがフレームを配信するイベントとコーデックがフレームを受信するイベントの 2 つのイベント間の時間差です。平均フレーム処理時間は、少なくとも 10 フレームを保持する 10 秒間以上のスライディング ウィンドウで計算されます。最大フレーム処理時間は、個々のフレーム処理時間の値の中で最も高い値です。
スループットは、処理されたフレーム数(ドロップされたフレームを含む)を、2 つのイベント(1)コーデックが最後のフレームを配信する、(2)コーデックが最初のフレームを配信する、の間の時間差で割って計算されます。
テストケース
使用できるテストケースは次のとおりです。
テスト | |
---|---|
デコード スループット | 最大 3 つの 2,880 × 1,880 × 30 ストリームを同時にデコードし、デコーダがパフォーマンス要件に違反していないことを確認します。 |
デコーダの適合性 |
事前エンコードされたビットストリームのセットをデコードします。テスト デコーダの出力は、参照デコーダの出力(VP8 と VP9 の場合は libvpx 、AV1 の場合は libaom )と一致する必要があります。 |
時間的スケーラビリティ | 複数の時間レイヤ(2 と 3)で動画をデコードします。テスト デコーダの出力は、リファレンス デコーダの出力と一致する必要があります。 |
空間のスケーラビリティ | 複数の空間レイヤ(2 と 3)で動画をデコードします。テスト デコーダの出力は、リファレンス デコーダの出力と一致する必要があります。 |