概要 製品一覧 サポート Blog

モスクワ州立大学による HEVC コーデックの比較。 結果を改善する方法

image

 

Olga Krovyakova著 - 2023 年 10 月 6 日に修正、2019 年 4 月 3 日に作成。

ZOND 265を無料で試す

2015 年 10 月、モスクワ州立大学コンピューター サイエンス学部のグラフィックス & メディア ラボ ビデオ グループ (CS MSU グラフィックス & メディア ラボ) は、別のコーデック比較レビューを発行しました。今回は、いくつかの HEVC 形式のコーデックが含まれています。

この研究の出発点は、AVC テストと HEVC テストのプリセットの違いに気づいたことでした。 AVC の場合は、単一の GOP を含む未変更の高速プロファイルが使用されましたが、HEVC テストには、複数の GOP を含む変更されたプロファイルが使用されました。さらに、公開レポートに記載されている唯一のファイルである「Apple Tree」については、エンコード速度に関係なく、SSIM/ビットレート相関図の高速トランスコーディングにおいて、x264 コーダーは x265 よりも優れた結果を示しました。すぐに疑問が生じました。これらまたはその他の明白なオプションで状況が変わるとしたらどうなるでしょうか?

このレポートではプリセットを比較していますが、関連する改善を推奨するものではありません。この記事では、同様のレビューを実施し、x265 エンコーダーのプリセットを変更するための推奨事項を作成しました。レポートの無料版で分析されたビデオ シーケンスと同一のビデオ シーケンスの場合、エンコード パラメーターの提案された変更は、圧縮効率を向上させ、レポート ダイアグラムの構築で x265 コーダーを修復するのに役立ちます。

複数のビデオ シーケンスでのテストはこの調査の範囲外であるため、変更されたプリセットには普遍性はありません。ただし、x265 エンコード効率を向上させる機会を探す出発点として推奨できます。

プロジェクトについて

マルチメディア処理プロセスにおけるビデオ エンコードのタスクは、送信、カット、編集、保存など、アプリケーション/サービスの開発および運用中の構成に遍在します。利用可能な一般的なビデオ コーデックが大量にあり、多くの場合同じタイプであるため、最適なものを選択して適切な設定を適用することは簡単ではありません。これらの考慮事項が、2000 年に CMC MSU のコンピューター グラフィックスおよびマルチメディア研究所によって開始および運営されている進行中のビデオ比較プロジェクトを促進した可能性が最も高いです。2015 年 10 月に、彼らは、いくつかの HEVC 形式のコーデックとその他のコーデックを登録したコーデック比較レポートを発行しました。活発な開発中です。彼らのレポートでは、モデル コンプレッサーとして x264 が選択されました。その中で言及されている他の興味深いコンプレッサーの 1 つは x265 でした。この形式が私たちの研究の主要な主題を構成します。

分析用ツールは、HEVC/H.265 および AVC/H.264 アナライザーである SolveigMM Zond 265 です。

image

コーデックの比較とパラメータ選択の方法論


その方法論を説明しましょう。比較は、ビットレート – 品質 (SSIM、PSNR) – パフォーマンスの基準に基づいて行われます。ビットレート/メトリック品質の相関関係を比較する方法 (ポイント C4 を参照) は次のとおりです。
いくつかのビットレート値 (たとえば、1、2、4、6、8、10、12 Mbps の 7 つの値) を選択し、コーデックごとに必要なすべての品質メトリックを計算します。

品質メトリクス (横軸) – ビットレート (縦軸) という出力値を図上に配置します。

  1. 線形補間を行います。
  2. すべての図が定義される最大範囲を選択し、その中のすべての図の下の領域を検出します。
  3. として 品質の尺度 特定のコーデック (またはプリセット) のエリアとモデル コーデックのエリアの関係を取得します。受信した値が小さいほど、コーデックはより効果的になります。

モデルとして、レポートで選択されたプリセットを持つ x265 を選択します (表 1)。このレポートでは、x265 1.5+460-ac85c775620f にある以前のバージョンのコンプレッサーが使用されています。ただし、最新バージョンには根本的な変更はありません。
使用されるコンプレッサーのプリセットを表 1 に示します (デスクトップ プラットフォームの場合)。

表 1. MSU HEVC ビデオ コーデック比較レポートの x265 コンプレッサーの設定。
リッピングx265 -p Veryslow --bitrate %BITRATE_KBPS% %SOURCE_FILE% -o %TARGET_FILE% --input-res %WIDTH%x%HEIGHT% --fps %FPS%
ユニバーサルエンコーディングx265 -p 中 --ビットレート %BITRATE_KBPS% %SOURCE_FILE% -o %TARGET_FILE% --input-res %WIDTH%x%HEIGHT% --fps %FPS%
高速トランスコーディングx265 -p 超高速 --ref 3 --ビットレート %BITRATE_KBPS% %SOURCE_FILE% -o %TARGET_FILE% --input-res %WIDTH%x%HEIGHT% --fps %FPS%

プリセット変更の推奨事項を提案するために、すべてのプリセット形成設定のテストを実施し、品質とパフォーマンスに対する個々の影響を評価します。行動計画は次のとおりです。

  1. コーディング時間を節約しながら、高速トランスコーディングからユニバーサルへ、ユニバーサルからリッピングまで、すべてのプリセットパラメータを変更してファイルをコーディングします。
  2. 品質尺度 (上記の領域と同じ方法) と参照コーディング時間を計算します。   (選択されたすべてのビットレート値に対するファイル「プリセット変更パラメータ」の FPS コーディングの最小値)。
  3. 変更可能なパラメータ、品質測定値、最小 FPS で構成されるテーブルから、プリセットを改善するために使用できるパラメータを選択します。


ユニバーサル エンコードとリッピング用のプリセット (表 2) に限定し、パラメーター「-p Medium」と「-p Ultrafast」のロックを解除します。また、レポートでは省略されていた 2 つ「--keyint -1 --tune ssim」も追加します。高速トランスコーディングとユニバーサル トランスコーディングのために、それぞれ前述のパラメータをプリセットに追加します。

表 2. パラメータ – MSU HEVC ビデオ コーデック比較レポートのプリセットの変更候補。

ユニバーサルエンコーディング--rc-lookahead 20 --scenecut 40 --ctu 64 --min-cu-size 8 --bframes 4 --b-adapt 2 --subme 1 --me hex --early-skip --sao --サインハイド --weightp --rd 3 --aq-strength 1.0 --aq-mode 1 --cutree --no-fast-intra
「リッピング」 --weightb --amp --rect --rc-lookahead 40 --bframes 8 --tu-inter- Depth 3 --tu-intra- Depth 3 --rd 6 --rdoq 2 --psy-rdoq 1.0 - -subme 4 --max-merge 4 --me star --ref 5 --b-intra --lookhead-slices 0

 

テスト


レポートの無料版で使用されているテスト シーケンス「Apple Tree」(写真 1) に利用できるダウンロード リンクはありません。主な特徴であるクローズアップ、大量の細かいディテールを使用して、同様のものを選択します。たとえば、「 big_buck_bunny_1080p_h264.mov 」、2 番目の 24 から 338 フレームの間隔:

ffmpeg -i big_buck_bunny_1080p_h264.mov -ss 00:00:24 -frames:v 338 -c:v rawvideo -pix_fmt yuv420p サンプル.yuv

image

写真。 1. シーケンス「リンゴの木」の特徴"

上記の計画の 3 つのステップを実現し、Zond 265 インターフェイスから必要な図をコピーする時間を節約するには、コマンド ライン操作機能 (表 3) を使用すると便利です。


zond265_x64 %COMPRESSED_FILE% -iref %REFERENCE_420P_FILE% -nowait -report t=quality,statstream qm=SSIM o=%TARGET_CSV_FILE%


すべてのパラメータのリストとその詳細な説明は、 Zond 265 ページで参照できます。

表 3. スクリプトのコンパイルに必要な Zond 265 コマンド ラインのパラメータ。

パラメータ説明
-iref参照YUVファイルの設定
-報告コマンドラインでの Zond 265 動作モードの指定
t=品質、統計ストリーム選択された 2 つのレポートの生成: 品質およびビデオ ストリーム統計。
qm=SSIM計算用の品質指標
ああCSV形式のレポートファイルへのパス
-待ってください一時停止なし。 Zond 265 は、遅延なくファイル間を自動的に移動します。
 

ここに Python 2.7 用の 2 つのスクリプトがあります。1 つは 266 ファイルをエンコードするためのもの (最初のプリセットは 20 の設定、2 番目のプリセットは 18 の設定、7 つのビットレート値: 1、2、4、6、8、10、12 Mbps)、もう 1 つは 266 ファイルをエンコードするためのものです。 CSV 形式でレポートをコンパイルします(ファイル – FPS エンコーディングとモデル構成の関係 – SSIM メトリックとモデル構成の関係)。

ファイル フラグメント「 big_buck_bunny_1080p_h264.mov」のレポート表 (表 5 および 6) でわかるように、たとえば、表 4 に示されているように構成を変更できます。 より良い結果を得るには、 「品質測定」を使用してください。 " 値は 1 より小さく、「相対コーディング時間」値は 1 より大きい必要があります。

テストは次のハードウェア構成を使用して実行されました: Intel Core i7-2600@3.4 GHz、16 GB RAM。高速エンコーディングを構成する場合の最大の品質向上は、「--min-cu-size 8」パラメータによって実現されます。ユニバーサル エンコーディングの場合は、「--rdoq-level 2」パラメータです(ただし、エンコード速度が最も遅くなります)。 。

表 4. 同じエンコード速度でエンコード効率を向上させるための MSU HEVC ビデオ コーデック比較レポートのプリセットの変更。

高速トランスコーディングx265 -p 超高速 --ref 3   --rc-lookhead 20 --min-cu-size 8 --bframes 4 --early-skip --cutree --tune ssim   --ビットレート %BITRATE_KBPS% %SOURCE_FILE% -o %TARGET_FILE% --input-res %WIDTH%x%HEIGHT% --fps %FPS%
ユニバーサルエンコーディングx265 -p 中  --weightb --bframes 8 --tu-intra- Depth 3 --psy-rdoq 1.0 --b-intra --lookhead-slices 0 --tune ssim   --ビットレート %BITRATE_KBPS% %SOURCE_FILE% -o %TARGET_FILE% --input-res %WIDTH%x%HEIGHT% --fps %FPS%
表 5. 高速トランスコーディングのプリセット変更に関するレポート
image

表 6. ユニバーサル エンコーディングのプリセットの変更に関するレポート。

image
を起動すると、オプションが正しく選択されているかどうかを簡単に確認できます。  変更されたプリセットを使用したエンコード スクリプト  (表7)。
表 7. MSU HEVC ビデオ コーデック比較レポートのプリセットに関連する、修正されたプリセットを使用したエンコード効率。
構成品質尺度相対エンコード時間
高速トランスコーディング (モデル) 1 1
高速トランスコーディング (修正) 0.69 0.97
ユニバーサルトランスコーディング(モデル) 1 1
ユニバーサルトランスコーディング(修正済み) 0.85 0.94

オプション変更の影響を評価してみましょう – Zond 265  変更したプリセットでエンコードされたファイルを、ビットレート 8 Mbps の高速トランスコーディング モードで開き、次と比較します。  未変更のプリセットでエンコードされたファイル。最大のエンコード単位のサイズは変更されず、32x32 と等しくなります (フィールド「--ctu 32」)。ただし、最小単位のサイズは 16 から 8 に減少します (フィールド「--min-cu-size 8」)。最大の品質向上を実現したのはこのパラメータです。 B フレームの数は 3 から 4 に増加しました (フィールド "--bframes") が、参照フレームの最大数 (フィールド "--ref 4") も同様に増加しました。 「SSIM」フィールドは、明るさ (Luma) と 2 つの色成分 (Cb、Cr) の 3 つの成分に対する図 SSIM/PSNR の 2 つの最大値をマークします。それらの値は 0.9623 ~ 0.9966 から 0.9771 ~ 0.9991 に増加しました。残りの追加パラメーター (--rc-lookhead 20 --early-skip --cuttree) は、エンコード アルゴリズムに影響しますが、出力ビデオのタイプには影響しません。これは主にコーディング速度に反映されます (表 5 を参照)。デコードされたフレームの画像が視覚的に変化し、エンコード アーティファクトが表示されなくなったことは言及する価値があります。

image

写真。 2. 変更された高速エンコード構成を使用してエンコードされた Zond 265 ファイルのスクリーンショット

変更済みまたは未変更のユニバーサル エンコード プリセットを使用して、エンコードされたファイルのパラメータを同様に確認できます(図 3)。最小 TU パーティションのサイズは変更されておらず、4x4 (フィールド「--tu-intra- Depth 3」) のままです。B フレームの数も変更されておらず、3 と等しくなります (フィールド「--bframes 3」) )。 SSIMは0.9789~0.9994から0.9811~0.9992に上昇した。クイック トランスコーディング設定と比較して、最大ユニットのサイズが増加し、64x64 (フィールド "--ctu 64") になり、SAO フィルターが追加されました (フィールド "--sao")。

image

写真。 3. 変更されたユニバーサル エンコーディング構成を使用してエンコードされた Zond 265 ファイルのスクリーンショット

実行されたテストの結果として、高速でユニバーサルなエンコーディング構成のエンコーディング効率を向上させるためのオプションのリスト (同じビットレートとコーディング速度での SSIM メトリック値の向上) を提案します。大量の細かい詳細を含むファイルに提案された変更を使用すると、MSU HEVC ビデオ コーデック比較レポートの統合「品質基準」の値は、高速トランスコーディングで 31%、ユニバーサル トランスコーディングで 15% 向上しました。エンコード速度の変更。テストはオプションごとに個別に行われたため、実際には、提案されたリスト全体ではなく、いくつかの便利なオプションを選択することのみが意味があります。

参考文献

  1. HEVCビデオコーデックの比較
  2. ブレンダーファンデーション | www.blender.org
  3. Zond 265 ホームページ

ZOND 265を無料で試す

著者について

image Olga Krovyakova は、2010 年から Solveig Multimedia のテクニカル サポート マネージャーを務めています。

彼女は、ビデオ スプリッター、HyperCam、WMP トリマー プラグイン、AVI Trimmer+、TriMP4 などの会社製品に関する多くのテキストおよびビデオ ガイドラインの著者です。

彼女は毎日プログラムを使って作業しているため、プログラムがどのように機能するかをよく知っています。 ご質問がある場合は、 support@solveigmm.com経由で Olga までお問い合わせください。彼女は喜んでお手伝いします!