20

x264のパラメータをガチで調べてみた。


恐らくSSIMに大きく関わっていく部分「フレーム」を地道に検証していく。
ソースは640x480、格闘ゲームのプレイ動画を10800フレーム(3分)に切った。

fpsはCPUが遊んだりするためあまり参考にならないだろうけど、SSIMはあまり変化がないから信用していい数値だと思う。

me

me SSIM fps
DS 0.7664984 102.44
HS 0.7682769 75.02
UMH 0.7743812 57.89
ES 0.7741471 36.54
HE 0.7738186 31.34


恐らく高くすればするほど効果は高い。
が、このソースだとUMH以降時間対効果を見込めなくなっているので、高くてもUMHぐらいが良さげな気がする。
動きが激しい動画に限ってはESにしても良さそう。
※画像がUMXになってるのはミスです。

subme

subme SSIM fps
0 0.7471964 155.36
1 0.7474077 131.72
2 0.7544082 98.20
3 0.7557401 91.55
4 0.7567368 83.37
5 0.7595655 80.02
6 0.7520546 73.96
7 0.7682769 63.50
8 0.7635101 60.14
9 0.7647065 50.23
10 0.7647065 49.41
11 0.7647065 50.53


このソースだとsubme 7ぐらいが(たまたま)高い効果を得られる結果になった。
サブピクセルの精度が上がるらしいので、基本的に上げるだけ上げて損はないと思う。

このソースだと、subme9からSSIMが変化していないので、subme9ぐらいにしたほうが良さげ。
subme10以降はtrellisが2に設定されるらしいので。。。(それにしてはfpsの変化がないけど)

merange

merange SSIM fps
0 0.7667059 97.45
4 0.7667059 68.76
8 0.7679027 79.45
12 0.7681813 67.83
16 0.7682769 70.82
20 0.7682769 78.26
24 0.7682769 70.34
28 0.7682769 67.25
32 0.7682769 77.37
36 0.7682769 68.61
40 0.7682769 68.34
44 0.7682769 67.21
48 0.7682769 63.71
52 0.7682769 67.48
56 0.7682769 68.86
60 0.7682769 68.18
64 0.7682769 66.84
EX 0.7681505 99.79


どれぐらい設定すれば効果があるかわからないから、とりあえず4刻みで設定してみた。
けれど、16から全くSSIMが動かない結果に。。。あまり高くしても効果はなさそうです。

理由は分からないけれどmerange-8から12刻みでfpsが上がっているので、32辺りに設定するのが無難かも。
別の人の検証結果ではmerange-48までは圧縮率も上がるみたいなので。(ただしHDソース)

EXはmerange-64かつchroma-meを切った結果です。SSIM減少が約0.0001なのに対し、fpsがかなり上がっているので切るのもアリかもしれない。

ref

ref SSIM fps
0 0.7623158 107.30
1 0.7623158 86.24
2 0.7658487 71.42
3 0.7682769 67.04
4 0.7685136 68.46
5 0.7706139 64.02
6 0.7726545 58.28
7 0.7737657 54.84
8 0.7743881 49.20
9 0.7752243 47.44
10 0.7759795 43.46
11 0.7764360 42.04
12 0.7773242 39.90
13 0.7778076 38.11
14 0.7782226 33.79
15 0.7785406 31.05
16 0.7788488 30.95
EX 0.7768580 44.76


設定すればするぶんだけSSIMが伸びる結果に。探索範囲増えるから当然っちゃあ当然だけど。。。
時間と相談で上げれるだけ上げて損はないはず。最低でも2~3、できれば12~16まで上げたいところ。

EXはref-16かつmixed-refを切った結果。fpsは少し上がるがSSIMの落ち方が激しいので切らないほうがいいと思う。。。
一応数値だけで見ればref-10~11には勝っているけど…

Bframes

Bframes SSIM fps
0 0.7518905 113.61
1 0.7622059 87.26
2 0.7669510 72.15
3 0.7682769 67.50
4 0.7678517 65.42
5 0.7681419 64.10
6 0.7682378 56.30
7 0.7682217 52.00
8 0.7682276 46.98
9 0.7682437 45.64
10 0.7681723 40.42
11 0.7685148 38.72
12 0.7683563 35.06
13 0.7685392 33.44
14 0.7684268 30.87
15 0.7683992 29.99
16 0.7684706 27.74

※B-adapt-2

Bframes-3までは欲しいところ。それ以降は増やさないほうがいいかも。



一応ここまで作ってみました。
次はレート、QP設定辺りを検証してみたい。面倒だったらveryslow辺りの設定パクって終わる。