x264 –b-adapt 2 が中々の性能だけど時間が

NO IMAGE

久々にx264のオプションをいじってみた
テストに使ったのはx264OreAQ.937.release01のGUI版
ベースのオプションは
--crf 20 --aq-mode 2 --aq-strength 0.5:0.3 --aq-sensitivity 12 --aq-metric 0 --ref 6 --mixed-refs --bframes 16 --qcomp 1 --qpmin 16 --qpstep 10 --keyint 300 --b-adapt 1 --b-pyramid --b-rdo --bime --weightb --direct “auto” --subme 7 --trellis 2 --analyse “p8x8,b8x8,i4x4,i8x8” --8x8dct --me “tesa” --threads auto --thread-queue 3 --me-prepass --progress --psy-rd 0 --no-fast-pskip --no-dct-decimate
--qcompは未調整なのでとりあえず1
サンプルは秘密 The Revelation 第20話
using cpu capabilities: MMX2 SSE2Fast SSSE3 PHADD SSE4 Cache64
slice I:299 Avg QP:18.82 size: 24552 PSNR Mean Y:51.38 U:53.62 V:54.22 Avg:52.03 Global:51.89
slice P:9035 Avg QP:19.94 size: 11381 PSNR Mean Y:50.25 U:52.87 V:53.52 Avg:50.98 Global:50.66
slice B:24937 Avg QP:21.60 size: 1424 PSNR Mean Y:50.17 U:53.12 V:53.66 Avg:50.97 Global:50.74
consecutive B-frames: 5.8% 13.9% 5.5% 4.1% 4.9% 28.9% 36.0% 0.2% 0.1% 0.1% 0.0% 0.0% 0.1% 0.0% 0.0% 0.0% 0.5%
mb I I16..4: 46.8% 45.5% 7.7%
mb P I16..4: 10.7% 9.7% 0.8% P16..4: 30.1% 4.1% 3.6% 0.0% 0.0% skip:41.1%
mb B I16..4: 0.2% 0.2% 0.0% B16..8: 9.9% 0.3% 0.3% direct: 0.6% skip:88.6% L0:38.3% L1:57.0% BI: 4.7%
8×8 transform intra:45.6% inter:86.7%
direct mvs spatial:98.9% temporal:1.1%
ref P L0 72.2% 12.9% 7.9% 2.4% 2.4% 2.2%
ref B L0 82.6% 9.9% 4.1% 2.1% 1.3%
ref B L1 95.4% 4.6%
AQ Result Bright MB:15.60% QP Up:67.35% Down: 0.40%
AQ Result Middle MB:61.84% QP Up:21.29% Down:11.24%
AQ Result Dark MB:20.45% QP Up: 0.35% Down:18.43%
AQ Result M.Dark MB: 2.03% QP Up:93.13% Down: 0.00%
AQ change value 7:0.56% 6:0.08% 5:0.17% 4:0.90% 3:0.69% 2:3.83% 1:19.40% 0:63.51% -1:9.45% -2:1.31% -3:0.02%
SSIM Mean Y:0.9942424
PSNR Mean Y:50.202 U:53.058 V:53.631 Avg:50.984 Global:50.730 kb/s:1019.26
encoded 34271 frames, 6.50 fps, 851.18 kb/s
--bframes 8 --b-adapt 2に変えたところ
using cpu capabilities: MMX2 SSE2Fast SSSE3 PHADD SSE4 Cache64
slice I:300 Avg QP:18.28 size: 25793 PSNR Mean Y:51.62 U:53.83 V:54.41 Avg:52.26 Global:52.11
slice P:15085 Avg QP:19.86 size: 6394 PSNR Mean Y:50.38 U:53.21 V:53.78 Avg:51.16 Global:50.92
slice B:18886 Avg QP:21.56 size: 2157 PSNR Mean Y:50.12 U:53.00 V:53.59 Avg:50.91 Global:50.62
consecutive B-frames: 5.1% 56.6% 22.6% 9.1% 4.8% 0.6% 1.0% 0.2% 0.1%
mb I I16..4: 45.9% 45.5% 8.7%
mb P I16..4: 5.7% 5.0% 0.4% P16..4: 19.5% 2.4% 4.0% 0.0% 0.0% skip:63.0%
mb B I16..4: 0.4% 0.4% 0.1% B16..8: 12.5% 0.4% 0.3% direct: 1.0% skip:84.8% L0:40.7% L1:54.5% BI: 4.8%
8×8 transform intra:45.4% inter:86.2%
direct mvs spatial:99.4% temporal:0.6%
ref P L0 71.9% 13.2% 8.0% 2.5% 2.3% 2.1%
ref B L0 82.7% 9.9% 4.3% 2.0% 1.2%
ref B L1 95.0% 5.0%
AQ Result Bright MB:15.56% QP Up:67.02% Down: 0.40%
AQ Result Middle MB:61.88% QP Up:21.25% Down:11.51%
AQ Result Dark MB:20.49% QP Up: 0.35% Down:18.68%
AQ Result M.Dark MB: 2.04% QP Up:92.95% Down: 0.00%
AQ change value 7:0.56% 6:0.08% 5:0.15% 4:0.90% 3:0.70% 2:3.83% 1:19.34% 0:63.39% -1:9.63% -2:1.37% -3:0.02%
SSIM Mean Y:0.9942810
PSNR Mean Y:50.251 U:53.101 V:53.680 Avg:51.034 Global:50.761 kb/s:1013.90
encoded 34271 frames, 1.52 fps, 846.54 kb/s
SSIMもPSNRも向上していてさらにファイルサイズも縮んだ
ただし処理時間が4倍以上になっていまった
効果的だから是非使いたいけど時間がかかりすぎるのでちょっとオプションを調整してみた


サンプルは魔法遣いに大切なこと~夏のソラ~ 第07話
まずはベースのオプション
consecutive B-frames: 7.3% 6.3% 2.8% 3.8% 7.8% 37.4% 31.8% 0.2% 0.2% 0.1% 0.1% 0.1% 0.3% 0.2% 0.0% 0.0% 1.6%
SSIM Mean Y:0.9946388
PSNR Mean Y:49.949 U:52.444 V:53.176 Avg:50.663 Global:50.292 kb/s:635.26
encoded 36607 frames, 6.79 fps, 550.61 kb/s
--bframes 6 --b-adapt 2に変えたところ
consecutive B-frames: 5.0% 61.0% 17.6% 8.2% 3.8% 2.3% 2.1%
SSIM Mean Y:0.9947280
PSNR Mean Y:50.048 U:52.565 V:53.290 Avg:50.766 Global:50.384 kb/s:588.19
encoded 36607 frames, 2.58 fps, 509.67 kb/s
処理時間は2.6倍まで縮まったけど
SSIMもPSNRも向上していてさらにファイルサイズも縮んでいる
ただしまだ時間がかかりすぎる
サンプルを狂乱家族日記のOPに変えてテスト
ベースオプションでは
consecutive B-frames: 33.9% 28.7% 10.7% 10.5% 9.1% 6.2% 0.3% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.7% 0.0% 0.0% 0.0%
SSIM Mean Y:0.9932629
PSNR Mean Y:47.822 U:49.568 V:49.867 Avg:48.311 Global:47.803 kb/s:6915.91
encoded 2182 frames, 3.82 fps, 5597.55 kb/s
--me “umh”に変更
consecutive B-frames: 34.3% 28.9% 11.0% 11.6% 8.2% 5.1% 0.3% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.7% 0.0% 0.0% 0.0%
SSIM Mean Y:0.9932383
PSNR Mean Y:47.807 U:49.574 V:49.865 Avg:48.300 Global:47.792 kb/s:6957.46
encoded 2182 frames, 5.92 fps, 5631.20 kb/s
当然SSIMもPSNRも低下してファイルサイズ増
ただし時間が0.65倍ほど速くなった
--bframes 6 --b-adapt 2に変えたところ
consecutive B-frames: 13.8% 39.6% 32.6% 7.1% 4.4% 0.8% 1.6%
SSIM Mean Y:0.9931162
PSNR Mean Y:47.723 U:49.448 V:49.770 Avg:48.207 Global:47.678 kb/s:6607.07
encoded 2182 frames, 1.87 fps, 5347.59 kb/s
今回はSSIMもPSNRも低下してファイルサイズ減
当然時間が2倍に
万能ではない模様
で今回の目玉?
--bframes 6 --b-adapt 2 --me “umh”に変えたところ
consecutive B-frames: 12.4% 39.5% 33.0% 7.9% 4.7% 0.8% 1.6%
SSIM Mean Y:0.9930628
PSNR Mean Y:47.683 U:49.442 V:49.733 Avg:48.172 Global:47.642 kb/s:6604.14
encoded 2182 frames, 2.81 fps, 5345.23 kb/s
さらにSSIMもPSNRも低下したがファイルサイズもさらに減
時間は1.36倍でファイルサイズは4.5%程縮んだ
結果的にどっちが良いかは悩むところだ
やっぱり時間のペナルティがきつい