MVtools公式サイトの解説文をちょっち部分的に翻訳してみた。
勝手に翻訳した、ってヤツです。
ページタイトルに「その1」したのは、「スーパークリップ(MSuper)」の項目しか翻訳しなかったから。いずれ「その2」として残りの部分も翻訳し、MVtoolsを極めたいけど、それが何時になるかは全くの未定。
まえがき
この項目は読み飛ばしてOKな、このページを書く事になったキッカケ。
1年くらい前から時々ですが、 MVtoolsを利用して60fps化したりモーションブラーをかけたりして楽しんでいます。が、パラメータの詳細については理解しようと思った事が今まで無かったので・・・
細かい調整をしようと思うとなかなか思い通りの結果が出ません。。。
ニコ動には沢山のチュートリアル的な動画がアップされているけれど、情報が探し難い上にパラメータ調整関連の情報が非常に観にくい・・・自分で翻訳した方がよさそうだ(^_^;
MVtoolsダウンロード先
例)ブラーをかける場合
AVISource("c:\test.avi") # or MPEG2Source, DirectShowSource, some previous filter, etc
super = MSuper()
backward_vectors = MAnalyse(super, isb = true)
forward_vectors = MAnalyse(super, isb = false)
MFlowBlur(super, backward_vectors, forward_vectors, blur=15)
super = MSuper()
backward_vectors = MAnalyse(super, isb = true)
forward_vectors = MAnalyse(super, isb = false)
MFlowBlur(super, backward_vectors, forward_vectors, blur=15)
なにはともあれ「MSuper」を理解する
MVtoolsには色々な機能があり、色々な利用方法があるが、
MVtoolsを利用する際、もっとも重要になるのがこの「MVtools」(スーパークリップ)。
MVtoolsが内部で利用するクリップ情報の基本となるのだ。
スポンサー リンク
MSuperそれぞれの解説
motion estimation ・・・・「モーション判定」と訳すことにした。
interpolation function ・・・・「内部補正、内部補完 補正式」などと訳すことに
重要
スーパークリップ・・・・MVtoolsが内部で利用するクリップ情報
- MSuper
MSuper (clip,
int "hpad", int "vpad",
int "pel",
int "levels",
bool "chroma",
int "sharp",
int "rfilter",
clip "pelclip",
bool "isse",
bool "planar")
各種パラメーターでスーパークリップの内容を指定する。
- hpad ,vpad
初期値:8
小さい値にすると、フレームの上下左右のふち部分のモーション判定がより正確になる。
V2.0以前は内部的に処理していたが、今は厳しくない(安定したので数値指定できるようになった?)
- 個人的メモ
値0でも大丈夫だった。
- 個人的メモ
- pel
利用できる値は、1,2,4 のみ。
モーション判定の正確さを指定する。
1 は単ピクセル
2 はハーフ(1/2)ピクセル
4 はクオーター(1/4)ピクセル補間
※大きなスケールステップが発生する為、精度が高いほど良い結果が出るとは限らない。
- 個人的メモ
pel = 2 が一番良い結果が出るような・・・
複雑な絵にモーションをつける場合はpel = 4の方がよいかも。
- 個人的メモ
- levels
初期値:0
「スーパークリップフレーム」で生成される階層数を指定する。
MAnalyse を利用する場合は、全ての階層が必要になる。
しかし他のクライアント関数は、最も良い結果が出た一つの階層があれば十分。
初期値:0 は、可能性のある全ての階層が生成される。
- 個人的メモ
MAnalyse を利用する場合、Level=0 以外の数値を入れるとエラーが出る。
- 個人的メモ
- chroma (彩度)
初期値:true
true にセットすると、クロマプレーン(色彩情報)もスーパークリップに渡される
false にセットすると、ルミプレーン(明度情報)のみが 渡される。
- 個人的メモ
falseにした場合、MAnalyseなででも [chroma=false]を指定する必要がある
- 個人的メモ
- sharp (シャープ)
初期値: 2
pel=2または4を指定した際の、サブピクセルの展開方法を指定
0: soft interpolation ( bilinear )
1: bicubic interpolation ( 4 tap Catmull - Rom )
2: sharper Wiener interpolation ( 6 tap , similar to Lanczos ) - rfilter
初期値: 2
階層レベルを滑らかにする、数を減らす(半分にする)フィルタ
0: 単純な4ピクセル平均化。SimpleResize的な作動。
1: ReduceBy2 のような三角形 平均化
2: BilinearResize のような三角形フィルタ
3: 正方形フィルタ
4: 正方形フィルタ。BicubicResize ( b=1,c=0 )のような作動
数値が大きいものほどスムーズな結果になる。
- コメント部分(訳わからん)
You may also try to apply some external filter to super clip or its coarse bottom part ( by appropriate crop and overlay ) .
いくつかの外部フィルタをスーパークリップに適用することも可能。画像の荒い下の部分をクリップする事も有効 - 個人的メモ
数値が大きいほど美しい仕上がりになる。
数値が小さいほど処理ヌケが無い。
- コメント部分(訳わからん)
- pelclip
※訳が非常に難しい。多分間違っている。
Default: 未定義
内部サブピクセル補間(pel=1の替わりに、ソースクリップをアップサンプリングするオプション。
複数の行と列にあるピクセル(0,2,4,... for pel=2) (without padding)は、オリジナル画像と同じ位置にあるべきであり、その他のピクセルは補間するべきである。
例えば「pel=2」にした場合、
LanczosResize(width*2,height*2,src_left=0.25, src_top=0.25)
- 最近のメモ:
lumaでは正しく作動する。しかしchroma pixelsはMVTools内部補間は正確ではない。
にもかかわらず、向き(vectors)補間、動き(motion)補間は、「クロマが同じになる一般的なクリップ」と類似している。
EEDI2の「edge -directed resampler」が外部サンプルとして参考に出来る、との事。
- 最近のメモ:
- hpad ,vpad