広告 iPhone、PC 関連

HandBrakeのRF値で画質と圧縮率はどう変わる?SSIMを使って最適なRF設定を検証してみた

HandBrakeは、iMovieなどで動画編集したファイルを圧縮する時に使用する定番アプリです。 圧縮する時に使用するプリセットは通常 Generalの Fast 1080p30 プリセットを使うのが無難ですが、その映像タブ中のRF(Rate Factor)は、デフォルトでは22に設定されています。 このRF値は、値を大きくして圧縮すると圧縮率は大きくなりますが動画の品質は逆に低下(劣化)するというトレードオフの関係にあります。 RF値はデフォルトのままで良いのか? 動きの多い動画と静かな動画でRF値を変えるべきか?など…迷いますね^^;

そこで、以下の記事で作成した、 動画比較・SSIM劣化度計測ツール  を活用して、動きの多い動画とゆっくりしたサンプル動画に対して、HandBrakeのRF値を変化させながら圧縮した際の、動画品質の指標であるSSIM(Structural Similarity Index)と圧縮率の関係を調べて、RF値の最適点を探ってみました。

参 照FFmpegのSSIMで動画を比較し劣化度を数値化する方法|macOSショートカットで自動化

HandBrakeアプリ等で動画のプリセットを変えて圧縮エンコードした時など、どの程度の劣化が生じるかチェックしたい時があると思います。 FFmpegのSSIMフィルターを使うことで、元動画と圧縮後の ...

 

 テストに使用した動画サンプル

比較的 ゆっくりした動画サンプル:A

  • ファイルサイズ:74.8MB
  •  コーデック:AVC(H.264)
  •  解像度:1920×1080
  •  フレームレート:24fps
  •  ビットレート:約10.8 Mb/s
  • 録画時間:54.8s
  • 動画の入手先:Pixabay
比較的 動きの多い動画サンプル:B

  • ファイルサイズ:47MB
  •  コーデック:AVC(H.264)
  •  解像度:1920×1080
  •  フレームレート:50fps
  •  ビットレート:約6,134 kb/s
  • 録画時間:60s
  • 動画の入手先:Pixabay

 

 HandBrakeのプリセット設定とテスト条件

  • Generalの Fast 1080p30 プリセットを選択して、映像タグの「フレームレート」を「ソースと同じ」に変更しています。(他のパラメータはデフォルトのまま)
  • 品質のスライドバーで変更することで、RF値を設定します。

 

 グラフで見るRF値を変化させた時のSSIM(劣化度)と削減率(圧縮率)の関係|テスト結果

グラフの説明

  • グラフ表示をわかり易くするため、「圧縮率」は、元動画サイズからの「削減率」として表示しています。
  • <SSIM値 画質の目安>
    0.99〜1.00 ほぼ完全一致(劣化ほぼなし)
    0.95〜0.99 軽微な劣化(ほぼ気づかない)
    0.90〜0.95 やや劣化(注意して見ると分かる)
    0.90未満 明確に劣化
    備考:「0.97以上なら十分高品質」とされることが多い

 

比較的 ゆっくりした動画サンプル:A

比較的 動きの多い動画サンプル:B

 

テスト結果のポイント

  1. [比較的 ゆっくりした動画サンプル:A]の方が、削減率(圧縮率)及び動画品質に対して優位に働く傾向があること
  2. RF値とSSMIの関係は、動画サンプルA、Bとも強い負の相関を示しており、RF値は、品質基準を決めるファクターと思われること(グラフ中の相関係数を参照)
  3. デフォルトのRF=22が、品質指標であるSSIMと削減率(圧縮率)に対して最もバランスが良いと思われること。

 

マトメ: HandBrakeでおすすめのRF値は?

今回のテスト結果から、デフォルトのRF=22のままで圧縮するのが無難な設定と思います。 但し、動画の動きの差によっては、動画品質と容量サイズの効率から、以下の範囲で微調整することをおすすめします。

動き多い ← RF → 動き静か
  24   22      20

 

以上、動きの多い動画・静かな動画を比較しながら、最適なRF設定をテストしてみました。 今回の記事がHandBrakeのRF設定のヒントになれば幸いです。

 

スポンサーリンク