インターレース解除:60i→30p/60p(Yadifmod2)

更新履歴

2020/9/6 DL先変更

AviSynthのインターレース解除(60i→30p/60p)でよく使われるプラグイン/ユーザー定義関数は

  • Yadifmod2
  • TDeint
  • QTGMC

この3つだと思います。軽いYadifmod2、重いけれど品質がよいQTGMC、とうようにそれぞれ特徴があるので、何を求めるかで使い分けると良いでしょう。このページではYadifmod2の使い方を簡単に確認していきます

Yadifmod2

yadifとyadifmodの両方の機能を持っています。edeintパラメーターを指定しないとyadif、指定するとyadifmodとして動作します。なので、yadifmod2があればyadif、yadifmodを導入する必要はありません

導入

https://github.com/Asd-g/yadifmod2/releases

yadifmod2.dllをAviSynthのplugins+フォルダに、x64フォルダの中にあるyadifmod2.dllはplugins64+にそれぞれ入れてください

基本的な使い方

YadifでTFFソースのものを60iから30pに変換

YadifでTFFソースのものを60iから60pに変換

Yadifmod+nnedi3でTFFソースのものを60iから30pに変換

Yadifmod+nnedi3でTFFソースのものを60iから60pに変換

オプション

mode (int / default:0 [0-3])

0、1は空間的なチェック?を行う。2、3は行わない。微妙に映像に違いが出る

0、2は60iから30pにする。1、3は60iから60pにする

order (int / default:-1 [-1,0,1])

フィールドの順序の設定。TFFなら1、BFFなら0。-1でAviSynthに設定されている通りにする。例えば、AssumeTFF()の後なら1と同じ動作、AssumeBFF()の後なら0と同じ動作をするようになる

field (int / default:-1 [-1,0,1])

保持するフィールドの指定。modeで1か3を選んだ場合はこのパラメータに意味はなくなる。1でトップフィールド保持、0でボトムフィールド保持、-1でorderの値と同じにする

edeint (clip / default:none)

空間予測を取る…らしいが何が言いたいのかニワカな私にはわかりません。簡単に言うと、設定すると微妙に映像が変化します

指定がない場合はYadifと同様に生成される。指定する場合はnnedi3かeedi3を適応したクリップを指定するのが一般的なようです

edeintに指定するクリップは同じ高さ、幅、色空間でなければなりません。また、mode=0、2の場合はフレームレートが倍になっていないといけません。上記の例を参考に指定してください

他のプラグインの入手先

nnedi3やeedi3を使うパターンの紹介もしたので、これらの入手先ものせておきます

nnedi3

こちら で入手できるものを使うと良いでしょう。解凍すると最適なCPU、OS別に分かれています。W7は7(Vista?)以降、XPとついてるものはXP向けです。AVX2となっているものはAVX2に対応しているCPU向け(Haswell以降のCPU)、AVX512となっているものはAVX512に対応しているCPU向け(Skylake-XeonE5↑?)、SSE4.2となっているものはCore2以降向け…だと思います

x64フォルダの中のものはplugins64+フォルダに、x86フォルダの中のものはplugins+フォルダに入れてください

eedi3

こちら で入手できるものを使うと良いでしょう。x64フォルダの中のものはplugins64+フォルダに、x86フォルダの中のものはplugins+フォルダに入れてください