vmaf スコアの調べ方。新しい映像の品質評価 libvmaf
インターレース解除フィルタの vmaf スコア
インターレース解除フィルタでの vmaf スコアを調べる。比較したデインターレースフィルタは左から、yadif, bwdif, fieldmatch, pp=linipoldeint, pp=cubicipoldeint, pp=mediandeint, pp=ffmpegdeint
の初期設定。エンコーダは QSV で余裕を持って 10000k 固定ビットレート出力している。
結論はfieldmatch
フィルタが実写、アニメ映像にかかわらず vmaf スコアが高くなり、映像を補間するフィルタは vmaf スコアが下がる傾向になった。fieldmatch
フィルタのスコアが高くなるのは縞が出ないところは何もせずに縞があるところだけフィールドをずらしてプログレッシブにするので元映像と比較すると変化が少ないことが最大の理由と考えられる。
コマンド例
ffmpeg -analyzeduration 300M -probesize 300M -i input -vf fieldmatch -movflags +faststart -max_muxing_queue_size 1024 -vcodec h264_qsv -look_ahead 0 -b:v 10000k -maxrate 10000k fieldmatch.mp4
ffmpeg -analyzeduration 300M -probesize 300M -i fieldmatch.mp4 -i input.ts -filter_complex libvmaf=model_path=../share/model/vmaf_v0.6.1.pkl -f null - > fieldmatch.txt 2>&1
A から D までは実写映像に以下のデインターレースフィルタを当ててる。
frames | size | yadif | bwdif | field | linip | cubic | media | ffmpe | |
A | 8997 | 1440x1080p | 96.785 | 95.625 | 99.238 | 91.749 | 94.953 | 98.163 | 96.167 |
B | 8988 | 1920x1080p | 89.917 | 87.787 | 93.729 | 82.646 | 84.576 | 91.282 | 87.930 |
C | 17986 | 1920x1080p | 88.843 | 87.803 | 92.067 | 86.976 | 87.754 | 91.945 | 90.035 |
D | 22252 | 1920x1080p | 93.855 | 91.552 | 96.667 | 85.598 | 88.303 | 94.124 | 91.684 |
E から J まではアニメ映像に上と同じようにデインターレースフィルタを当ててる。
frames | size | yadif | bwdif | field | linip | cubic | media | ffmpe | |
E | 16168 | 1440x1080p | 92.274 | 91.240 | 92.985 | 88.623 | 90.264 | 92.621 | 92.025 |
F | 9592 | 1440x1080p | 93.206 | 92.458 | 94.124 | 89.208 | 90.707 | 94.103 | 92.900 |
G | 8997 | 1920x1080p | 91.867 | 90.237 | 92.726 | 86.584 | 87.939 | 92.474 | 90.728 |
H | 9592 | 1920x1080p | 91.494 | 89.860 | 92.433 | 86.321 | 87.780 | 92.314 | 90.508 |
I | 3780 | 1920x1080p | 92.819 | 92.864 | 98.097 | 87.472 | 88.016 | 94.449 | 91.097 |
J | 7197 | 1920x1080p | 89.458 | 88.352 | 92.029 | 84.990 | 85.952 | 91.483 | 89.291 |
デノイズフィルタの vmaf スコア
デノイズフィルタでの vmaf スコアを調べる。比較したデノイズフィルタは初期設定である。through はデノイズフィルタを当てていない。エンコーダは QSV での 3000k 固定ビットレート出力している。
結論はsab
フィルタが実写、アニメ映像にかかわらず概ね vmaf スコアが高くなる結果になった。fftdnoiz
フィルタも高い vmaf スコアになっているが結構負荷が高い。調べ終えて気づいたが input をfieldmatch
したほうがよかった気がしないでもない。
コマンド例
ffmpeg -analyzeduration 300M -probesize 300M -i input -vf fieldmatch,sab,fifo -movflags +faststart -max_muxing_queue_size 1024 -vcodec h264_qsv -look_ahead 0 -b:v 3000k -maxrate 3000k sab.mp4
ffmpeg -analyzeduration 300M -probesize 300M -i sab.mp4 -i input -filter_complex libvmaf=model_path=../share/model/vmaf_v0.6.1.pkl -f null - > sab.txt 2>&1
A から D までは実写映像
hqdn3d | pp=de | pp=dr | sab | nlmeans | through | deblock | fftdnoiz | |
A | 66.425 | 66.128 | 66.324 | 67.175 | 67.122 | 67.155 | 66.840 | 67.184 |
B | 76.115 | 75.360 | 75.404 | 76.586 | 76.389 | 76.424 | 76.369 | 76.453 |
C | 69.159 | 68.347 | 68.617 | 70.119 | 70.064 | 69.684 | 69.433 | 69.854 |
D | 85.630 | 85.235 | 85.283 | 86.355 | 86.102 | 86.187 | 86.106 | 86.208 |
E から J まではアニメ映像
hqdn3d | pp=de | pp=dr | sab | nlmeans | through | deblock | fftdnoiz | |
E | 88.821 | 89.699 | 89.772 | 91.130 | 90.887 | 91.082 | 90.547 | 91.095 |
F | 88.464 | 89.537 | 89.519 | 90.799 | 90.516 | 90.730 | 90.287 | 90.730 |
G | 78.809 | 79.263 | 79.221 | 80.204 | 80.057 | 80.193 | 79.792 | 80.211 |
H | 86.294 | 87.396 | 87.351 | 88.617 | 88.475 | 88.533 | 88.061 | 88.597 |
I | 71.020 | 71.254 | 71.413 | 72.185 | 72.114 | 72.290 | 71.907 | 72.290 |
J | 68.278 | 68.079 | 68.354 | 69.448 | 69.276 | 69.302 | 69.044 | 69.323 |
ビットレートを変えたデノイズフィルタの vmaf スコア
3000k でも足りている映像と足りてない映像があったが今度はさらにビットレートを 1500k, 1000k に下げてビットレートが足りていない状態でデノイズフィルタを当てたときの vmaf スコアを調べた。映像はプログレッシブの異なる2つのアニメ映像を使った。スコアの右に順位も記載した。
結論は必要なビットレートが足りなくなると何もデノイズフィルタを当てないよりもsab
フィルタの方が vmaf スコアが高くなった。しかし上の例ではスコアが 90 を超えているのにsab
フィルタの方が高くなることもあるので一概に低ビットレートではsab
フィルタを使えばスコアが高くなるとも言い切れない。
一つ目は、7194フレーム、1920x1080p の映像。コマンドは上と同じだが、ビットレートが異なる。
3000k | 1500k | 1000k | ||||
hqdn3d | 90.998 | 8 | 86.779 | 8 | 82.592 | 8 |
pp=de | 93.128 | 7 | 88.481 | 7 | 84.026 | 6 |
pp=dr | 93.300 | 6 | 88.607 | 6 | 84.015 | 7 |
sab | 94.057 | 2 | 89.271 | 2 | 84.845 | 1 |
nlmeans | 93.878 | 4 | 89.243 | 4 | 84.743 | 4 |
through | 94.185 | 1 | 89.369 | 1 | 84.802 | 2 |
deblock | 93.579 | 5 | 88.768 | 5 | 84.386 | 5 |
fftdnoiz | 93.985 | 3 | 89.251 | 3 | 84.789 | 3 |
二つ目は、5399フレーム、1920x1080p の映像。
3000k | 1500k | 1000k | ||||
hqdn3d | 80.787 | 8 | 75.280 | 8 | 69.435 | 8 |
pp=de | 82.362 | 7 | 76.482 | 7 | 70.239 | 7 |
pp=dr | 82.457 | 6 | 76.599 | 6 | 70.331 | 6 |
sab | 83.157 | 2 | 77.347 | 1 | 71.045 | 1 |
nlmeans | 82.796 | 4 | 77.115 | 4 | 70.756 | 4 |
through | 83.204 | 1 | 77.298 | 3 | 70.984 | 2 |
deblock | 82.720 | 5 | 76.840 | 5 | 70.546 | 5 |
fftdnoiz | 83.102 | 3 | 77.330 | 2 | 70.913 | 3 |
ブログで解説した記事