2016年3月17日木曜日

RemoveGrain mode17~mode22

今回はmode17からmode22まで。


・mode17/mode18
mode17とmode18はmode5~mode9までと同じように、Cをclampする際の組み合わせをCを通る直線上の2点の組み合わせを元に選びます。
mode5~mode9同様、細い線を保護しつつ処理するのが主目的なようですね。

mode9までが実装、公開された後にDoom9あたりでディスカッションが起こり、それらを元に追加実装されたもののようですが、当時の自分はDoom9どころかエンコ自体知らなかったんで、そこら辺は憶測にすぎません。

傾向としては、mode17はmode1と同じかそれ以上に速くノイズの取れ具合もmode4なみですが、細い線以外への影響が大きい。
mode18はスピードも効き具合もmode5とmode6の中間ぐらいです。

・mode19/mode20
mode19とmode20はmode11/mode12のような3x3のconvolutionによるぼかしフィルタです。

mode19のカーネルは[1, 1, 1, 1, 0, 1, 1, 1, 1]で、mode20は[1, 1, 1, 1, 1, 1, 1, 1, 1]となっています。
どちらもmode11/mode12よりも強いblurがかかりますが、特にmode19は処理対象となる中央のサンプルCを含まないため、効きが一番強くなります。

・mode21/mode22
mode21とmode22は処理時の端数処理の違いはありますがどちらも同じフィルタです。
mode5等のようにCを通る直線状の2点の組み合わせ4組を使いますが、このmodeではそれらの組み合わせの平均値をまず求め、4つの平均値のうちの最小値と最大値でclampします。
コードっぽく書くなら
m1 = (N1 + N8) / 2;
m2 = (N2 + N7) / 2;
m3 = (N3 + N6) / 2;
m4 = (N4 + N5) / 2;
minimum = min(m1, m2, m3, m4);
maximum = max(m1, m2, m3, m4);
output = clamp(C, minimum, maximum);
といった感じです。
特にmode22はこれまでのどの処理よりも軽く、全24mode中最速となっています。

フィルタの傾向としてはmode1~mode10、mode17、mode18と違ってエッジ保護をしませんが、細い線は保護します。
というか細い線の保護以外は投げやっているような感じです。

目次:
RemoveGrain解説 導入
RemoveGrainの基本事項
RemoveGrain mode1~mode4
RemoveGrain mode5~mode12
RemoveGrain mode13~mode16
RemoveGrain mode17~mode22
RmoveGrain mode23/mode24 及び総評
Repair
Clense
Clense 応用

0 件のコメント:

コメントを投稿