30000/1001fpsのインターレースの動画からアニメの24000/1001fpsのプログレッシブ動画にするためにインターレースを解除、逆テレシネする。フレームを間引くにはいくつかの方法があるので目的に合わせてフィルタを使う。
ポイントはフレームを間引く必要があるかどうかと、テロップなどの片フィールド補間がいるかどうか。フレーム間引きするにはdecimate
を併用し、pullup
、detelecine
には必要ない。
片フィールドを補間した 60pはw3fdif
だけ使うのが手軽だが、他にもyadif
とbwdif
、nnedi
、estdif
もBob化できる。yadif
、bwdif
、estdif
の第1引数を1にする必要があるのは片フィールド補間しBob化する場合である。
逆テレシネするならfieldmatch
フィルタを使って、逆テレシネ漏れにestdif
フィルタの併用がよさそう。毎フレームのフィールドが動く映像は逆テレシネはせずにbwdif
フィルタで片フィールド補間するか、30pにするのが無難にきれいになる。
片フィールドを補間しない場合にnnedi
は速度の割にはあまり品質はよくないかもしれない。
インターレース解除、または逆テレシネとリサイズを併用する場合は、インターレース解除、または逆テレシネした後にリサイズする。
yadif,scale=1280:-2
フレームを間引くのならインターレース解除した後に行うことでリサイズするフレーム数を減らせて処理がはやくなる。
yadif,decimate,scale=1280:-2
リサイズする scale
Zライブラリを使ったリサイズフィルタ zscale
24pの処理速度比較
8 < 7 < 6 < 5 << 4 << 3 < 2 << 1
- フィールドパターンを手動の逆テレシネして、間引きも手動指定
“separatefields,shuffleframes=0 1 4 3 6 5 8 9 -1 -1,setfield=tff,weave,setpts=(N*1001)/(24000*TB),setparams=field_mode=prog” -r 24000/1001 -fps_mode cfr - フィールドパターンを手動の逆テレシネして、間引きは自動
detelecine=start_frame=3 - 手動インターレース解除して、間引きも手動指定
fieldhint=hint.txt:pattern,select=mod(n-1\,5),fps=24000/1001 - 高速なプログレVFR(
-r
で固定フレームにできる)(速度を重視)
pullup -r 24000/1001 - 意外に速くて高品質で 24fps化(品質と速度を両立)
fieldmatch,decimate - 一般的な 24fps化(品質と速度を両立)
yadif=0:-1:1,decimate - yadif より高画質(常に高画質とは限らない)な 24fps化(速度より品質重視)
bwdif=0:-1:1,decimate - IVTCとyadifを併用して24fps化(速度より品質重視)
fieldmatch=mode=pc:cthresh=40,yadif=0:-1:1,decimate - 一般的なインターレース解除(品質と速度を両立)
yadif=0:-1:1 - yadif より高画質(常に高画質とは限らない)
bwdif=0:-1:1 - テロップなど60pのBob
yadif=1:-1:1 - テロップなど60pのBob
bwdif=1:-1:1 - テロップなど60pのBob
w3fdif=1:0 - テロップなど60pのBob(かなり遅いが一番高画質)
nnedi=deint=1:field=af