index

2007年 1月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
2007年 2月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28        
2007年 3月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

アレ

x264 パラメタ調整   ▽20070216a #コンピュータ #動画圧縮

x264 でパラメタをちょこちょこいじくってみて, 時間とファイルサイズと画質がどれくらい変わるかを調査してみるテスト.

ファイルサイズはまぁある程度は余裕なんだけどさ(HDD とか安いしね), 大まかなポイントとしては,画質を保ったままどのくらいエンコ時間を減らせるか. 逆に言うと,我慢できる時間上限の中でどの程度まで画質を向上させられるか. まぁ実時間の 2倍~4倍くらいかな…… F1 ひとつエンコするのに 10時間とかはさすがにちょっと.ええ.

サンプルには,ラリー・スウェーデンスペシャルステージの, ルイス・ペレス=コンパンクが発車するシーン. 静止→発車で 300フレーム,つまり 10秒ちょうどくらい. なんでそんなシーンなのかは謎.キニシナーイ.

変更するオプションは ,--subme --b-rdo --me --ref --mixed-refs の 5つ. これらのパラメタを変更したりスイッチオプションを付けたり付けなかったりしつつ, かかった時間とファイルサイズ,あとエンコ完了時の画質報告でまとめてみた.

ちなみに「画質」とここで言ってるのはあくまでこの x264 による自己申告の PSNR 値と SSIM 値. いやさ,そういう数値化された指標じゃないとね,かなーーりじっくり見ても, 一概に良い悪いとか言えないようなわけですよ.ビットレート 3Mbps とかの世界になると. だいたいあたしゃそんな精密なセンサ持ってないし. 単にこんぴーた様に数値で示してもらって納得したいだけです. ちなみにどちらも高いほど画質が良い.らしい.原理は知らねー(ぉ

というわけで,表にまとめてみた. No.1 がいちばんレスオプションなもので,これを基準として先頭に示し, No.2~No.40 は No.1 に対する変動量で記載. 尺が短いので時間とかは参考程度ってことになるけど, まぁ変動率としての尺度にはなるであろ.いちお2回やった平均値(←もっとやれよw). それと,増加した時間ごとにどれくらいの向上があるかを /s として右側に. かけた時間が有意義かどうかってことで.

No. subme b-rdo me ref mixed-refs 秒数 SSIM PSNR Avg. PSNR Global サイズ SSIM/s PSNR A/s PSNR G/s サイズ/s
1 6 × hex 1 × 29.44 0.9778440 41.929 41.693 4066450 0.0000000 0 0 0
2 2 × 0.14 0.0001238 0.019 0.019 2191 0.0008843 0.136 0.136 15650.0
3 6.42 0.0002658 0.037 0.037 67497 0.0000414 0.006 0.006 10521.7
4 3 × 2.12 0.0001106 0.019 0.019 11059 0.0000522 0.009 0.009 5216.5
5 11.01 0.0002017 0.029 0.028 83378 0.0000183 0.003 0.003 7572.9
6 umh 1 × 1.06 0.0000193 0.003 0.003 36325 0.0000182 0.003 0.003 34268.9
7 2 × 4.87 0.0001094 0.015 0.015 40432 0.0000225 0.003 0.003 8310.8
8 13.07 0.0002693 0.034 0.035 103392 0.0000206 0.003 0.003 7913.7
9 3 × 9.24 0.0001060 0.017 0.017 44969 0.0000115 0.002 0.002 4866.8
10 20.14 0.0002311 0.032 0.033 114311 0.0000115 0.002 0.002 5677.2
11 hex 1 × -0.72 0.0002070 0.056 0.071 8268 -0.0002875 -0.078 -0.099 -11483.3
12 2 × 0.70 0.0003386 0.071 0.085 14628 0.0004803 0.101 0.121 20748.9
13 7.82 0.0004555 0.091 0.105 77426 0.0000582 0.012 0.013 9901.0
14 3 × 2.57 0.0003009 0.075 0.089 20418 0.0001173 0.029 0.035 7960.2
15 10.42 0.0004246 0.087 0.102 93104 0.0000407 0.008 0.010 8935.1
16 umh 1 × 2.79 0.0002218 0.056 0.070 45609 0.0000796 0.020 0.025 16376.7
17 2 × 6.63 0.0003388 0.073 0.088 46393 0.0000511 0.011 0.013 6997.4
18 14.97 0.0004751 0.088 0.104 113305 0.0000317 0.006 0.007 7568.8
19 3 × 8.86 0.0003248 0.073 0.088 54414 0.0000367 0.008 0.010 6145.0
20 21.37 0.0004517 0.088 0.104 124769 0.0000211 0.004 0.005 5839.9
21 7 × hex 1 × 5.30 0.0000510 0.021 0.021 22993 0.0000096 0.004 0.004 4338.3
22 2 × 5.84 0.0001636 0.039 0.038 20477 0.0000280 0.007 0.007 3509.3
23 12.09 0.0002852 0.054 0.053 90323 0.0000236 0.004 0.004 7470.9
24 3 × 7.79 0.0001230 0.031 0.031 34373 0.0000158 0.004 0.004 4412.5
25 17.10 0.0002475 0.051 0.049 102849 0.0000145 0.003 0.003 6016.3
26 umh 1 × 6.99 0.0000475 0.020 0.020 56617 0.0000068 0.003 0.003 8105.5
27 2 × 10.97 0.0001860 0.040 0.039 58513 0.0000170 0.004 0.004 5333.9
28 21.17 0.0003086 0.056 0.056 122947 0.0000146 0.003 0.003 5809.0
29 3 × 13.22 0.0001326 0.033 0.033 66508 0.0000100 0.002 0.002 5030.9
30 26.03 0.0002599 0.048 0.049 135645 0.0000100 0.002 0.002 5211.1
31 hex 1 × 6.63 0.0002482 0.074 0.088 32554 0.0000375 0.011 0.013 4913.8
32 2 × 6.91 0.0003609 0.093 0.107 32035 0.0000522 0.013 0.015 4636.0
33 12.68 0.0005045 0.110 0.124 100647 0.0000398 0.009 0.010 7937.5
34 3 × 9.06 0.0003388 0.090 0.104 45603 0.0000374 0.010 0.011 5033.4
35 17.62 0.0004671 0.109 0.123 110434 0.0000265 0.006 0.007 6267.5
36 umh 1 × 8.23 0.0002531 0.073 0.088 65259 0.0000308 0.009 0.011 7929.4
37 2 × 11.54 0.0003971 0.095 0.111 66232 0.0000344 0.008 0.010 5741.8
38 21.49 0.0005254 0.111 0.127 133215 0.0000244 0.005 0.006 6198.9
39 3 × 14.62 0.0003615 0.090 0.106 75989 0.0000247 0.006 0.007 5197.6
40 27.37 0.0004748 0.106 0.121 145950 0.0000173 0.004 0.004 5332.5

モータスポーツは異様にビット使うので,10秒で 4MB とか普通にあるます.

全体的な傾向としては……

  • --subme 6 → 7 は,他のパラメタにあまり影響されずに全体的な底上げ(+時間コスト悪化)となる.
  • --b-rdo は時間コストが安いのに画質にもサイズにもガッツリ効く.
  • --ref の 2 と 3 は画質よりサイズに効くが時間コストがとにかく高い.
  • --me の hex と umh も,画質は大差なくサイズが縮む.時間コストはそれなりに高い. umh の ref = 2 以上は,ほとんど向上しないどころか劣化してる気がするよ!?
  • --mixed-ref.画質がかなり向上しながらサイズはガツっと低減.でも時間コストが半端なくヤバい.

てなとこかしら. とりあえず --b-rdo は無条件で OK でしょう. --ref の差は時間コストを明らかにペイできなさそーなので 3 は却下. フルオプションもさすがに時間がかかりすぎるのでボツで.

No. subme b-rdo me ref mixed-refs 秒数 SSIM PSNR Avg. PSNR Global サイズ SSIM/s PSNR A/s PSNR G/s サイズ/s
11 6 hex 1 × -0.72 0.0002070 0.056 0.071 8268 -0.0002875 -0.078 -0.099 -11483.3
12 2 × 0.70 0.0003386 0.071 0.085 14628 0.0004803 0.101 0.121 20748.9
13 7.82 0.0004555 0.091 0.105 77426 0.0000582 0.012 0.013 9901.0
16 umh 1 × 2.79 0.0002218 0.056 0.070 45609 0.0000796 0.020 0.025 16376.7
17 2 × 6.63 0.0003388 0.073 0.088 46393 0.0000511 0.011 0.013 6997.4
31 7 hex 1 × 6.63 0.0002482 0.074 0.088 32554 0.0000375 0.011 0.013 4913.8
32 2 × 6.91 0.0003609 0.093 0.107 32035 0.0000522 0.013 0.015 4636.0
33 12.68 0.0005045 0.110 0.124 100647 0.0000398 0.009 0.010 7937.5
36 umh 1 × 8.23 0.0002531 0.073 0.088 65259 0.0000308 0.009 0.011 7929.4
37 2 × 11.54 0.0003971 0.095 0.111 66232 0.0000344 0.008 0.010 5741.8

シンプルな表になりますた.てかマイナスが気になる. さてと……まぁ, 時間をさほどかけずにそこそこの効果を得られる No.13 か, 思い切って手間隙かけて効果も絶大な No.33 か.

後は実際にもっと長い尺でエンコしてみて,かな. とりあえず土曜日の F1 LEGENDS あたりで両方のパラメタでエンコしてみよう.

index