今回はmode13からmode16までです。
これまでのmode1~mode12はRemoveGrainの名にふさわしくいずれもdenoiserでしたが、13~16はdenoiserではなくなんとdeinterlacerです。
インタレ解除においては失われてしまったフィールド情報をいかにして補間するかが重要になるわけですが、補間方法にも線型補間とか三次補間とか色々あります。
上図において失われたフィールド上の点Xを補間する場合、線型(linear)補間なら(F0 + F1) / 2、三次(cubic)補間なら(F0 + F1*3 + F2*3 + F3) / 8を行いますが、他に有名どころではELA(Edge Line Average)法というものがあります。
ELA法は補間自体は線型補間と同様の計算をしますが、参照する2点の組み合わせを上図の場合だと(Fu0,Fl4)、(Fu1,Fl3)、(Fu2,Fl2)、(Fu3,Fl1)、(Fu4,Fl0)の5つのどれか一つから選びます。
これは三次補間のような垂直方向のみのデータの組み合わせでは、エッジ部においてジャギるからです。
もしエッジが斜め方向に走っている場合は参照する点も斜め方向からとらないといけないってわけですね。
RemoveGrainが書かれた当時(2005年頃?もっと前?)、avisynthにはすでにELAを使ったdeinterlacerとしTomsmocompが存在しており、なかなかに高い評価を受けていました。
しかしTomsmocompには「アーティファクトが発生しやすい」という弱点もありました。
で、Kassandro氏はELAにおける参照点として(Fu0,Fl4)か(Fu4,Fl0)が選ばれてしまった場合アーティファクトが特に発生しやすいことから、組み合わせを(Fu1,Fl3)、(Fu2,Fl2)、(Fu3,Fl1)の3つに減らし、さらにTemporalRepairフィルタを併用することで、よりアーティファクトの少ない(しかも高速な)deinterlacerとしてmode13~mode16を実装したのです!
と、ここまで書きましたが現在これを使う人はまずいません。
なぜならアーティファクト低減機能付きELA deinterlacerとして2007年にYadifというフィルタが登場したからです。
Yadifで満足できないならこれを使っても満足できるということはまずありませんので、これでmode13~mode16の解説は終了とします。
目次:
RemoveGrain解説 導入
RemoveGrainの基本事項
RemoveGrain mode1~mode4
RemoveGrain mode5~mode12
RemoveGrain mode13~mode16
RemoveGrain mode17~mode22
RmoveGrain mode23/mode24 及び総評
Repair
Clense
Clense 応用
0 件のコメント:
コメントを投稿