Zond 265 を使用して HEVC ストリームを検証する方法
Olga Krovyakova著 - 2023 年 10 月 9 日に修正、2019 年 4 月 2 日に作成。
何を確認するか
高効率ビデオ コーディング (HEVC) コーデック コンポーネントを開発、調整、テストする場合、研究者はビデオ ストリームの検証というタスクに直面します。ファイルまたはストリームをどのプレーヤーでも正しく再生するには、特別な参照ツールで正しくデコードされているかどうかを確認するだけでは十分ではありません。さらに、テストされたビデオ ストリームが HEVC 仕様 [ 1 ] に準拠しているかどうかを判断する必要があります。
HEVC については、ビデオ ストリームとデコーダをチェックする方法を説明した特別な ISO ドキュメントがあります。
情報技術 - 異種環境での高効率コーディングとメディア配信 - パート 5: HEVC 適合性テストおよびリファレンス ソフトウェア[ 2 ]。
検証プロセスはいくつかの段階に分割できます。いずれかの条件のテスト結果が否定的である場合、エラーが発生します。条件タイプは、次の 3 つのグループに分類できます。
- HEVC仕様に記載されている制限事項
- HEVC テスト モデル (HM)プロジェクト [ 3 ] のユーティリティによってストリームをデコードし、すべての警告を書き出す
- ビデオの許容性と変更の基本パラメータ: フレーム解像度とフレーム レート
HEVC 仕様に記載されている制限事項は次のとおりです。
– Network Abstraction Layer (NAL) ユニットパラメータの最大値と最小値
– 各パラメータと他のパラメータの互換性
– NALユニットの順序の妥当性、ストリームの構造の妥当性
– 指定されたレベルとプロファイルの制限
– ビデオ シーケンスのデコード パラメータの利用可能性 - ビデオ パラメータ セット (VPS)、シーケンス パラメータ セット (SPS)、ピクチャ パラメータ セット (PPS)、および再構築に必要なフレーム
– リアルタイムでのストリームの再生に影響する仮想リファレンス デコーダー (HRD) のパラメーター
Zond 265での確認方法
たとえば、ファイル«tractor_1920x1080p_25fps.yuv» [ 5 ]はHMコンプレッサーによってエンコードされ、圧縮ファイル内でNALユニットのいくつかのパラメータがHEXエディタで調整され、ハイライト機能を利用して潜在的なエラーの一部をカバーします。次に、結果が検証されます。すべての制限に違反するようにファイルのパラメータを変更することはできません。したがって、いくつかの制限のみが選択されます。
見つかったエラーを詳細に分析するには、[ビットストリーム] タブのコンテンツを使用することをお勧めします。ファイルを開くと、すべてのパラメーターを持つすべての NAL ユニットが [ビットストリーム] タブにリストされます。デコード時はZond 265
1) 仕様に記載されている制約を検証します。
2) デコード ユーティリティ HM で発生したすべての警告を収集します。
何か問題が発生した場合は、対応する NAL ユニットの近くに通知が表示されます。通知には、NAL ユニット名、ストリーム内のそのオフセット、エラーが見つかったパラメータのビット オフセット、および詳細を確認できる仕様ページ (新しいブラウザ ウィンドウで開かれます) へのリンクが含まれます。
感嘆符の付いた赤いアイコンをクリックすると、スライス B (フレーム 0)、SPS、スライス B (フレーム 4) のエラーのリストを次々に展開できます。
図 1 は、SPS で見つかったすべてのエラーのリストを示しています。
図 1.タブのエラー リストが表示されたウィンドウ
次に、SPS リストを展開してパラメータ値とエラーを調査できます (図 2)。
図 2. SPS の単一パラメータのエラー メッセージ
SPS パラメータのチェック結果を以下に示します。
メッセージ | 説明 |
---|---|
sps_max_sub_layers_minus1 の値は、0 ~ 6 の範囲内でなければなりません。 7に等しい | 仕様上の制限です。型は最大値をチェックしています |
vps_temporal_id_nesting_flag が 1 に等しい場合、sps_temporal_id_nesting_flag は 1 に等しくなります。 | 仕様上の制限です。型は各パラメータと他のパラメータの互換性をチェックしています |
pic_width_in_luma_samples の値は、general_level_idc に指定された Sqrt( MaxLumaPs * 8 ) 以下でなければなりません。仕様によると、レベル 2.1 では pic_width_in_luma_samples の値は 1402 を超えてはなりません。 | 仕様上の制限です。タイプは、指定されたプロファイルとレベルに指定された制限をチェックしています |
次に、最初のフレームのスライスを拡大します (図 3)。
図 3. フレーム 0 のスライスのエラー リスト
デコードパラメータにアクセスできないエラーは、最初のフレームのエラーリストに表示されます。
メッセージ | 説明 |
---|---|
利用可能なアクティブな VPS がありません 利用可能なアクティブな SPS がありません | 仕様上の制限です。タイプはデコードパラメータのアクセシビリティをチェックしています |
フレーム 4 のエラー リストを展開します (図 4)。
図 5. コンテキスト メニューを含むファイルのすべてのエラーのリスト
フレーム 4 の検証結果を以下に示します。
メッセージ | 説明 |
---|---|
POC = 2 の短期参照ピクチャが失われたか、正しくデコードされませんでした | 仕様上の制限です。タイプは再構築に必要なフレームの可用性をチェックしています |
CTU#46 をデコードします: 例外 CTU#49 をデコードします: 例外 CTU#50 のデコード: 例外 | デコーダから取得したメッセージです。ブロックの再構築は合格していません。最終的な画像では正しく表示されません |
ファイル内のすべてのエラーを検索し、タイプ別に並べ替える必要がある場合は、「エラー」タブのコンテンツを使用することをお勧めします。エラー メッセージは、現在のフレームとストリーム全体の両方についてタブ上のリストに蓄積されます (図 5)。
図 6. SEI メッセージで入手可能な HRD データに基づいて描かれた CPB 充足度グラフ
図 7. 手動で設定したデータに基づいて描画された CPB 充足度グラフ
仮説参照デコーダ (HRD) で利用可能なコード化ピクチャ バッファ (CPB) の占有率のグラフは、帯域幅が狭いネットワーク上でビデオ ストリームを再生するときに問題 (遅延など) を特定するために必要です。情報源として、補足拡張情報 (SEI) メッセージに記録されたデータ (初期遅延、ビット レートなど) を使用することも、これらのデータを手動で設定することもできます。オーバーフロー領域またはアンダーフロー領域 (赤で強調表示) は、間隔内に問題があることを示します (図 6、図 7)。グラフの描画時に問題が発生した場合、対応するエラー メッセージが [ビットストリーム] タブと [エラー] タブに表示されます。
図 8. Google スプレッドシートにインポートされたエラー レポート
コマンド ライン インターフェイスを介してレポートを生成すると、ビデオ ストリームを自動的に検証する必要がある場合に便利です。レポートを生成するには、以下のパラメータを使用して Zond 265 を起動する必要があります。
パラメータ | 説明 |
---|---|
-報告 | Zond 265 はレポート生成モードで動作する必要があると述べています |
t=エラー | レポートタイプを設定します |
o= | 出力するCSVファイルのパスを設定します。デフォルトでは「out.csv」となります。 |
たとえば、ファイル «tractor.265» のエラーを分析し、それらをファイル «tractor-errors.csv» に保存するには、次のコマンドを実行する必要があります。
zond265.exe tractor.265 -report t=errors o=”tractor-errors.csv”
その結果、テーブル プロセッサ ソフトウェアにインポートできる CSV ファイルが得られます。図 8 は、Google スプレッドシートにインポートされたファイル「tractor-errors.csv」を示しています。
参考文献
1. HEVC 仕様 – http://www.itu.int/rec/T-REC-H.265
2. «情報技術 - 異種混合環境における高効率コーディングとメディア配信 - パート 5: HEVC 適合性テストおよびリファレンス ソフトウェア» – http://mpeg.chiariglione.org/standards/mpeg-h/hevc-conformance-testing/working -ドラフト-hevc-適合
3. HM プロジェクトのホームページ – https://hevc.hhi.fraunhofer.de/
4. Zond 265 ホーム プロジェクト – https://www.solveigmm.com/en/products/zond/
5. テストシーケンスの URL – https://media.xiph.org/ldv/pub/test_sequences/1080p/tractor.yuv
- https://www.solveigmm.com/en/howto/netflix-vmaf-how-to-measure-video-quality-with-vmaf-in-zond-265/
- https://www.solveigmm.com/en/howto/zond-265-tutorial/
Olga Krovyakova は、2010 年から Solveig Multimedia のテクニカル サポート マネージャーを務めています。
彼女は、ビデオ スプリッター、HyperCam、WMP トリマー プラグイン、AVI Trimmer+、TriMP4 などの会社製品に関する多くのテキストおよびビデオ ガイドラインの著者です。
彼女は毎日プログラムを使って作業しているため、プログラムがどのように機能するかをよく知っています。 ご質問がある場合は、 support@solveigmm.com経由で Olga までお問い合わせください。彼女は喜んでお手伝いします!