x264の設定を見直す その2

前回はプリセットによる変化を試してみたが、今度は個々の設定の影響を調べてみる。
基準とするのはプリセットslowの2pass-1.35Mbpsの値。
6/3追記:
バックグラウンドで動いているソフトを止める為、クリーンブートでAVIUtlのみ立ち上げて再評価。
色々試していてわかったのだが、どうもx264gui.auoの自動マルチパスだとターボのチェックを外しても--slow-firstpassにはならない模様。
なので、エンコ時間は2pass目のみを比較。
(多分これは不具合。でも、掲示板が機能してないから報告しようがなかったりzzz)

merange

merange ssim kbps fps(1pass+2pass) 綺麗さ エンコ時間
4 0.9654822 1347.34 8.15+3.15 0.968 0.841
8 0.9660768 1344.03 8.13+2.97 0.988 0.892
16 0.9663921 1339.74 8.13+2.65 1 1
24 0.9664978 1338.43 8.12+2.46 1.004 1.077
32 0.9666689 1337.31 8.11+2.24 1.01 1.183
48 0.966674 1336.83 8.13+1.86 1.011 1.425
64 0.9667148 1337.68 8.12+1.55 1.011 1.71

デフォルトの16から8に下げると、1%強の画質劣化で10%も速度を稼げる。
ROのドット絵&画面の移動が穏やかなのが好影響しているのかもしれない。
逆に数値を上げれば画質は向上するけれど、上げ過ぎは時間の無駄。
merange=32以上でほんの僅か(0.1%程度)画質改善されているけど、増える時間を考えると割に合わなさすぎる。
(そこまでするならビットレートを切り詰めて調整したほうがマシかと・・・)
数値を増やしても思ったよりエンコ時間に与える影響が少ない印象。
検索範囲は距離の2乗で広がるはずだが、検索自体は負荷が低いのか?

ref

エンコ時間に大きな影響を与えると思われるrefの数値を変更してみる。

ref ssim kbps fps(1pass+2pass) 綺麗さ エンコ時間
1 0.9646794 1341.47 8.13+4.15 0.95 0.648
2 0.9655246 1341.46 8.12+3.40 0.974 0.791
3 0.9659823 1340.5 8.13+3.10 0.987 0.868
4 0.966084 1339.95 8.13+3.06 0.991 0.879
5 0.9663921 1339.74 8.10+2.69 1 1
6 0.9666059 1339.51 8.17+2.38 1.007 1.13
7 0.966899 1339.64 8.14+2.14 1.015 1.257
8 0.9669691 1339.96 8.16+1.93 1.017 1.394
12 0.967574 1342.57 8.15+1.40 1.034 1.921
16 0.9678601 1342.26 8.14+1.10 1.044 2.445

増やしただけ画質は上がるけど、増やし過ぎるとエンコにかかる時間が跳ね上がる。
探す場所がコレの数だけ増えるんだから当然ではあるけれど・・・
3〜4に設定しても画質への影響は1〜2%。merange同様、エンコ時間を減らすには調整すべき項目か。

b-frame

ssimのみで評価するなら数値を上げれば結果が良くなるはずの項目。

bframe ssim kbps fps(1pass+2pass) 綺麗さ エンコ時間
0 0.9623017 1331.48 10.77+2.57 0.897 0.971
1 0.9649596 1334.25 10.33+2.47 0.963 1.011
2 0.9662931 1339.32 8.72+2.46 0.997 1.05
3 0.9663921 1339.74 8.12+2.68 1 1
4 0.9663943 1337.59 7.05+2.69 1.002 1.035
5 0.9664211 1337.25 6.61+2.72 1.003 1.046
6 0.9665245 1338.55 5.85+2.70 1.005 1.091

この項目はターボのチェックの影響を受けないので、エンコ時間は1passも考慮。
・・・というか、1pass目のIPBフレーム判定に大きな影響を与えるのだから、1pass目のfpsこそ評価すべきなのか?
(2pass目のfpsが伸びるのはサイズの小さなBフレームの処理が増えるからだろうな)
refより小さな値にした方がいいのかな? BフレームからPフレームに手が届く方が良さそうな気がする。


っと、ここまで。
追記:
上のエンコは作業用PCによるものなので、結果が微妙に異なりそう。
同じソースをエンコ用PCでエンコしてみた。設定は上のb-frame=3と同じもの。

  • 1pass 28.70 fps
  • 2pass 17.84 fps
  • SSIM Mean Y:0.9665549
  • 1340.44 kb/s

うん、なんか比較にならんなzzz とりあえず同じソース・同じ設定でも結果が異なるのだけはわかる。
やはりスレッド数が変わる影響なんだろうな〜