画像 1: VQ Analyzer バージョン 4.2 概要
VQ Analyzer 便利機能ガイドシリーズ Part 3 「YUVDiff 機能」をご覧いただき、ありがとうございます。Part 1 「YUV ビューアー機能」 と Part 2 「フレーム・サイズ・ビュー」をまだご覧になられていない方は、ぜひ合わせてご一読ください。
VQ Analyzer は、HEVC/H.265、AV1、VP9、AVC/H.264、MPEG2 および VVC/H.266 をサポートする、ビデオコーデックの標準について理解するための最適なツールです。
VQ Analyzer を使用することで、デコードプロセスの各ステップを検査することができます。任意の構文要素をモニタリングし、コード化された画像の個々の構造を調べることができます。画像の詳細や統計を確認するための重要なツールです。これらのツールは商用目的としてデバッグやコーデック開発に使用できます。
概要
YUV モードは、追加のオーバーレイ・データなしで最終的にデコードされたサンプル値を検証するためのツールです。このモードには、YUVDiff 機能が備えられています。
ビットストリーム・ファイルを開く
VQ Analyzer に YUV ファイルをドラッグ・アンド・ドロップするか、画面上の [File] メニューから [Open Bitstream] を選択してファイルを開きます。
画像 2: VQ Analyzer バージョン 4.2 にてビットストリーム・ファイルを開く
デバッグ YUV により、デコードされた外部の YUV ファイルをデコードされたビットストリームと比較することができます。サポートされる形式は以下の通りです。
- HEVC: (ISO/IEC 23008–2 MPEG-H Part 2 or ITU-T H.265)、8/10-bit
- HEVC: RExt 拡張 (8/10/12 ビット – 4:0:0/4:2:0/4:2:2/4:4:4)
- HEVC: Screen Content Coding (SCC) 拡張 (参照コード HM + SCM 8.6 に準拠)
- HEVC スケーラブル拡張および多視点拡張 (MV-HEVC)
- AV1、SHA-1: バージョン 1.0.0 Errata.1: add4b15580e410c00c927ee366fa65545045a5d9
- VP9: プロファイル 0、1、2、3
- MPEG-2: ISO/IEC 13818-2 Part 2 (8 ビット- 4:2:0/4:2:2)
- AVC: H.264/AVC、ISO/IEC 14496-10、MPEG-4 Part 10 (SVC/MVC を除く)
ビットストリームを読み込んだ後、[YUVDiff] メニューから [Open Debug YUV (デバッグ YUV を開く)] を選択します。
画像 3: VQ Analyzer バージョン 4.2 にて YUV Diff メニューを開く
画像 4: VQ Analyzer バージョン 4.2 にて デバッグ YUV を開く
デバッグ YUV
YUV ファイルが読み込まれた後、下記の画像にある通り CU 内で参照 YUV とデバッグ YUV 間の不一致が赤い点で提示されます。このようにファイル間の不一致を理解することで、厄介なバグも自然と見つけることができるようになります。
画像 5: デバッグ YUV ファイルが読み込まれた際の VQ Analyzer バージョン 4.2 における YUV ビューアーのデフォルトモード
画面下部にあるメニューから [Diff YUV] をクリックし、オリジナルのフレームとデバッグフレーム間における差異を表示します。オリジナルのフレームとデバッグフレームが完全一致する画像は灰色で表示されます。デバッグ YUV の値が低い領域は暗い色で表示され、デバッグ YUV の値が高い領域は明るい色で表示されます。
画像 6: Diff YUV モードが選択された状態での VQ Analyzer バージョン 4.2 における YUV ビューアー
画面下部にあるメニューから [Rel] をクリックして参照ピクセルとデバッグピクセル間の相対的な YUV 差分平面を確認するか、[Abs] をクリックして絶対差分値を確認できます。この機能は、何かしらの差分を表示する特定のピクセルを見つけるのに役立ちます。
画像 7: VQ Analyzer バージョン 4.2 の YUV ビューアーにおける Rel (相対、画像左) と Abs (絶対、画像右) モード
YUVDiff 機能
画像 8: VQ Analyzer バージョン 4.2 にて YUVDiff メニューを開く
- Open: YUV ファイルを開くためのファイルオプションを開きます。VQ Analyzer は、YUV ストリームをエンコードされたビットストリームと同じフレームサイズおよび同じフレームあたりのビット深度とカラー形式を持つものとしてカウントします。
- Close: 現在開かれている YUV ファイルを閉じます。YUV 間の不一致に関する指標も非表示になります。
- Planar: 読み込まれた YUV ファイルを Planar (平面) として処理します。
- Interleaved: 読み込まれた YUV ファイルを、間隔の空いた U 値と V 値が後に続く Y 値として処理します。読み込まれた YUV ファイルの拡張子が “.nv12” である場合、デフォルトでこのオプションが自動的に選択されます。
- Display order: 現在の画像と比較可能な画像を抽出するために YUV ファイルをどの程度掘り下げるかを決定する際、画像の表示順序番号を使用します。
- Decode order: 現在の画像と比較可能な画像を抽出するために YUV ファイルをどの程度掘り下げるかを決定する際、画像のデコード順序番号を使用します。
- Use stream crop values: このオプションがチェックされている場合、YUV ファイルには、読み込まれたビットストリームによって定義されたクロップウィンドウ内にのみサンプルが含まれていると判断されます。 このウィンドウ外のサンプルは比較されず、読み込まれた YUV 画像を直接閲覧する場合は 0 と判断されます。
- Set picture offset here: 現在の画像番号に画像のオフセットを設定するための便利なショートカットです。
- Use 16 bit YUV: このオプションがチェックされている場合、輝度と色の両方が 16 ビットで記述された YUV ファイルを読み込むことができます (エンコード中に実際のビット深度から 16 ビットに正規化できます)。これは、ストリーム全体で変化するビット深度がある場合に役立ちます。現在のフレームにおける値を適切なビット深度に調整します。
- Picture offset: YUV ファイル内の最初の画像の番号を入力できるダイアログを表示します。例えば、100 枚の画像を含むビットストリームが読み込まれ、YUB ファイルには 画像番号 80 から 99 の画像しか含まれていない場合、[80] を入力してデコードしたビットストリームと YUV ファイルを正しく一致させます。
- Check for file changes: このオプションがチェックされている場合、YUV ファイルの最後の読み込み時からディスク上で変更があるかを定期的にチェックします。実際にファイルの何らかの要素が変更されている場合、ダイアログボックスが表示され、YUV ファイルを再読み込みすることができます。
デバッグ YUV で最初の差分を見つける
画像 9: VQ Analyzer バージョン 4.2 における最初の差分を検索するモード
この機能は、すべてのコーデック (VP9、HEVC、AVC、MPEG2、AV1) で利用できます。拡大鏡アイコンの付いたボタンを押下し、事前に読み込む必要がある再構築された YUV と参照 YUV の違いを [YUVDiff] メニューからデコード順に検索します。検索は、最初の差分が見つかるまで、もしくはストリームの最後まで実行されます。検索完了を待つことができない場合、ダイアログの [cancel] ボタンをからいつでも処理をキャンセルできます。また、検索は常にデコーダー順序における最初の画像から始まります。
まとめ
本シリーズの Part 3 である VQ Analyzer の 「YUVDiff 機能」の紹介は以上です。引き続き Part 4 も準備中ですので、公開をお楽しみに!
VQ Analyzer 製品に関する詳細は、弊社の概要ページをご確認ください。
無償評価版をご希望の方は、こちらのフォームからお申込みください。
この記事は、ViCue Soft 社の Technology Blog に公開されている「VQ Analyzer – Guided Tour. “YUV Diff” functionality.」の日本語参考訳です。