2012年3月4日日曜日

番外 輪廻のラグランジェの色収差フィルタ効果の軽減を考える

ここでは何か変えるというより、問題を改善することを意図した補正の話が多いけれど、今回は演出的に意図した効果なのでオリジナルの質感を壊すという点で特異な補正のお話。個性的な質感の絵になっているものの、静止画で見ると単なる事故画質にも見えてしまう、ちょっとやりすぎ感のある効果という感じもするし、すばらしい斬新な効果と思う人もほとんどいないかも?という感じでまじめに逆の処理で軽減できないか考えてみたけれどあまりよい結果にならない感じなので、開き直って今回も強引なアプローチ。

function cblur_lagrin(clip c, bool "debug")
{
debug=default(debug, false)
ac = c.MergeChroma(
\ c.BilinearResize(640, 360)
\ .BilinearResize(c.Width, c.Height))
return (debug) ? interleave(c, ac.SubTitle("cblur_lagrin")) : ac
}

リサイズを使っているけれど、その強力なぼかし効果を利用しているだけで、やってることは色だけのぼかし処理。

単純に
cblur_lagrin()
とするだけ。
cblur_lagrin(true)
と指定すると、補正前後のフレームを交互に表示します。



ラグランジェの効果を正確に再現したものではないけれど、実験画像での比較。

上が色収差再現画像で、下が補正後。完全に綺麗になるわけでもないけれど、実際の映像でも気にならない程度には軽減できる・・・かも?

線で区切られない色の境界が酷く劣化するなどいくつか顕著な副作用もあり、期待して試すほどのものでもありませんので念のため。