ちりとまとチャンネル

チリトマト好きがゲームや動画などについて取り扱っています

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

AviUtl使用フィルタ紹介(輪郭補正系)

この系統の役割は、
画像をシャープに(エッジを強調)したり、逆にギザギザ(ジャギー)を低減するなど。

・シャープフィルタ(AviUtl標準)
・エッジレベル調整MT
・アンシャープマスクMT
・モスキートノイズ低減フィルタ(低周波成分保護とスムージングフィルタの複合)





■シャープフィルタ(AviUtl標準)
標準フィルタの例に漏れず、処理は軽くエッジ強調フィルタとしての性能はそれなり。




■エッジレベル調整MT(配布場所
エッジレベル調整MT

同じ名前のものがありますがオススメするのはrigaya様の作成されたものです。
判定表示の機能が追加されており、どの部分に強調が働いているのか一目でわかるようになっています。
これを見ながら閾値を調整するとよりよい結果が得られます。
初期値の特性10は強すぎるかもしれない。無難なラインは3~5程度。
実写やリアルタイムCGにはあまり向かないと思います。




■アンシャープマスクMT(配布場所
unsharpmt_20121123165158.png

画像をぼかし、元の画像との差分を取り出して、それを元の画像に合成する…という仕組みらしい。
輪郭周りにハイライトみたいな効果が付与され、クッキリ見えるようになる。
エッジレベル強調と比べると、輪郭の形というよりは色に働きかけてシャープネスを作っている。そんな印象。

初期値はちょっと効果が強すぎると思います。
適応量10、範囲5程度からスタートして、大丈夫そうであれば徐々に増やしていくのがいいかも。
強いていうなら、エッジレベル調整に比べればこっちのほうがソースを選ばないかなって気がする。

本来は輪郭補正フィルタなのですが、最近の私はもっぱらノイズ確認のために使ってたりします。
やり方は、適応量を最大、それ以外は最小に。
こうすると、映像上のノイズが強調されて見えるようになる。
ブロックノイズの境目や輪郭周りのモスキートも一発でわかるようになります。
あとはこれを見ながら、ノイズが消えるようにフィルタを調節していくだけ。
完全に消すのではなく、多少残すくらいの気持ちでいくと画質のバランスがとれるでしょう。

ノイズ表示という名前のフィルタがありますが、
輝度ノイズに関してはアンシャープのほうがわかりやすく、
フィルタ自体も安定してるのでオススメです。




■モスキートノイズ低減フィルタ(配布場所
ノイズ除去系じゃないの?と名前を見て思われるかもしれません。
もちろんモスキートノイズの除去にも使えますが、このフィルタの実態は
「低周波成分保護を備えたスムージングフィルタ」であり、
エッジをなめらかにする元々の用途にも有効です。

従来のスムージングフィルタは、
画像内の全ての画素に同じ効果がかかる、副作用でとがった部分まで丸めてしまう、
といった副作用がありましたが、低周波成分保護とあわせることでそれを軽減しています。

[ブラーの範囲拡大]はチェックON推奨。
初期値だと安定してますが、やはり上げすぎは注意。
readmeでは[復元]はいじらないほうがいいとのことですが、
なめらかさだけを重視するなら、多少は下げてもいいかもしれません。
強度を30前後とか極端に上げるくらいなら、復元も少しずつ下げてみて確認したほうがいいです。

エッジのギザギザ対策はスムージングフィルタの系統が一つあれば大丈夫だと思います。




■その他

・warpsharp系
アニメ専用。3Dゲームや実写などもってのほか。
ジャギ消しつつシャープ化できるが、油絵っぽさとのトレードオフになるのでオススメしかねる。
上級者向け。こちらの記事が詳しいです。
スポンサーサイト

AviUtl使用フィルタ紹介(ノイズ除去:NL-Means系)

■NL-Means系
現時点で最強とも言われるノイズ除去フィルタです。
2000年代初頭に考案されたアルゴリズム「Non Local Means」(非局所平均)を使用します。
ボケやすいですが、標準フィルタとは段違いの除去能力があります。
また調整して弱めにかける分には、輪郭を残しつつ綺麗に安定してノイズを取ることができます。
ただし環境によっては非常に重いフィルタなので要注意。一般的にはアニメ向きとされている。

以下nodchip氏版の付属テキストから引用。

NL-Meansは対象画像中の設定された範囲の中で類似した箇所を探し出し、
それらの中心の画素の画素値を平均化することによってノイズの除去を行います。
このため色の変化が少ない部分では範囲全体が平均化されきれいなグラデーションとなり、
エッジ付近ではエッジ部分の画素のみが平均化され、エッジが十分に残ることになります。
エッジが特に重要となるアニメ画像等において、NL-Meansフィルタは大きな効果を上げるものと思われます。
(実際の計算では画像同士の類似度を用いた重み付けにより平均化されます)





■種類

・本家(配布場所
要GPU、激重。現在はおすすめできない。

・Light for GPU(配布場所
本家から色差成分の時間軸方向の処理などを省けるようにしたもの。
グラボのついてるPCには個人的に一番おすすめ。

・Light(配布場所
GPU不要、さらに軽くしたもの。オンボードグラフィックな人はこちらを。
輝度成分のみを扱い、時間軸方向の処理などが省かれている。

その他…for DX11(DirectX11対応GPU用)、for AMD GPU(AMD製GPU用)
※興味があればどうぞ



■NL-Means Light for GPU
この系統のプラグインの中では最も新しく安定しているのでまず入れるならコレ。

nlmlgpu.png
空間…計算するピクセルの範囲。増やすほどノイズを消せるが計算量が増える
時間…前後のフレームを参照する時間軸方向の範囲(0で時間軸処理を行わない)
分散…大きいほど平均ぼかしに近くなる(ノイズが消える代わりにボケる)
保護…低周波成分保護機能の効き目を調整する。0で機能OFF

(推奨値※あくまで参考に)
空間 : 2以上
時間 : 1が無難。場合によってはそれ以上
分散 : 初期値でボケが気になるなら20程度がおすすめ
保護 : 元の映像が綺麗なら100で問題ない。ノイズを消したければ50~60程度(輝度分散の調整が必要)



■NL-Means Light
グラフィックボードを利用しないバージョン。
オンボードグラフィック環境や、何世代も前の化石パーツを積んでいるのであればこちら。

nlml.png
同じフレーム内での輝度成分の処理しか行わない。
色差や時間軸方向の処理には別のフィルタと併用する必要がある。




■備考
他のものを試す場合は、効き具合に違いがあるため分散の値を調整する必要あり。
いずれにせよ、CPUとグラフィックの両方にしっかりしたパーツを使っているのであれば、
そこまで処理時間に大差は出なくなってきている…ような気がする。

【AviUtl】NL-Means系フィルタの速度?

条件

win7HP SP1 64bit
i7-3770
Radeon HD7850 Catalyst12.8

ULY2 1280x720 4442フレーム(2分27秒)→mp4 シングルパス 音声なし
設定は高画質重視の重めなやつ。

以下、特に書いてなければ輝度、色差それぞれ空間2、時間1
分散は輝度が20、色差が30(普段はこの値にしてる)




■NL-Means light for GPU TypeC

保護あり、updatesurfaceオン
13.12 fps 総エンコード時間 : 5分37.4秒

保護あり、updatesurfaceオフ
12.19 fps 総エンコード時間 : 6分 2.9秒

保護なし、updatesurfaceオン
14.14 fps 総エンコード時間 : 5分13.0秒

保護なし、updatesurfaceオフ
14.43 fps 総エンコード時間 : 5分6.7秒

GPU使用率はだいたい5~15%
保護を切ると速い。updatesurfaceは保護のありなしで結果が逆になった。



■NL-Means for DX11
14.26 fps 総エンコード時間 : 5分10.5秒

使用率はだいたい20~30%
速いが、保護機能を切ったlight for GPUとそんなに変わらないか。



■NL-Means for AMD GPU
12.02 fps 総エンコード時間 : 6分 8.2秒

使用率は5~10% ほとんど働いてくれない
厳しい結果となった。今のグラボだと性能出し切れないんだろうか。
空間や時間を増やせば増やすほど(要するに重い設定にすればするほど)、
速度面では他より有利になる。とのことだが…。



以下参考までに。


■NL-Means 計算モード3(本家)
13.88 fps 総エンコード時間 : 5分18.9秒

他の計算モードはふざけた速度しか出なかったので測定放棄。
平常時は20~30%だが振れ幅が大きい。一番GPU使ってる感じ。
なんか保護機能ありのlight for GPUより速いんですけど…どういうこと。
しかしまぁ使うかと言われれば微妙です。
フォルダに入れるだけで明らかにAviUtlが重くなり、
パラメータ弄ってると2012年現在のミドルPCですら止まりそうになることがあります。



■標準時間軸ノイズ除去(範囲3)+NL-Means light+色差ノイズ除去
13.85 fps 総エンコード時間 : 5分19.6秒

内臓GPUな人向けのCPUしか使わないノイズ除去フルコース。
普通に速いやん…。



なんか色々とやり方悪い気がする。けどどうすればいいかよくわからい。
もっと性能落としたほうがはっきりと差が出るだろうか。
いずれHD7000世代とかではNL-Meansがほとんど負荷になってないので。

…まぁ正直light for GPUひとつあればいいよねぇ。
速度はそこまで気にするほどの差は出ないし、
低周波成分保護といううれしいおまけもついてくるし。

それと、パラメータは極力揃えてみたのですが、
ノイズ除去のかかり具合は同じNL-Meansでもかなり違うようです。


上とほとんど同じエンコードオプションで、品質基準15で出力した時のサイズが以下の通り。


フィルタなし 350,086,717byte

for AMD GPU 344,508,109byte

light for GPU(保護60)216,940,081byte

本家 194,196,469byte

light for GPU (保護0)175,534,837byte

for DX11 158,103,623byte

GPUなし三点セット 151,225,665byte


for AMD GPUではほとんどサイズが縮んでません。
オリジナルとは係数やパラメータが異なるらしいので、
もっと分散とか増やさないといけないっぽい。

逆にかかり具合が強かったのがDX11版。ぼけてるのが一発でわかりました。
他のフィルタと同じ設定値を使うと危険かもしれません。

一番サイズが縮んだのは…CPUだけ使うフルコース。
時間軸ノイズ除去の範囲3、閾値16。ほんのわずかにぼけてる気がした。
ちょっと高すぎたかな。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。