----------------------------------------------------------------------- ■フィルタ AniNR ■リリース v0.1 ■公開日 2009/08/16 ■作者 のらねこ ■HP http://sky.geocities.jp/apechironnup/ ----------------------------------------------------------------------- ■ はじめに  エッヂを保存しながら平滑化とエッヂのクリーニングを行うフィルタです。 PMD と似通った処理結果になるので、fPMD を使うほうが多分良いです。せっか く書いたのに勿体無いから、ソース晒しておくというのが主目的なので、今後の メンテナンス、処理改良などは期待しないでください。  YV12 専用で、輝度のみ処理です。周囲2ピクセルは処理していません。 ■処理の概要  ラプラシアンオペレータによりエッヂ検出を行い、エッヂとみなされた場合、 Robinson オペレータを使い濃度勾配を検出します。エッヂとみなされなかった 場合、単純平滑を行います。エッヂとみなされた場合、濃度勾配と直行する方向 のピクセルを対象に、濃度差による重みを勘案した平滑化を行います。単純平滑、 エッヂ平滑ともにノイズ除去強度に従って濃度を混合します。  ラプラシアンオペレータ、Robinson オペレータともに 3x3 マトリクスを使っ ています。エッヂ平滑の場合、勾配直行方向の4ピクセルを対象に処理を行って います。エッヂ方向平滑に使っている濃度差による重み付け関数は1次線形で、 閾値未満なら完全混合、閾値の2倍未満なら1次関数重み付け、閾値の2倍以上 なら混合を行わないようにしています。  混合対象ピクセルとの濃度差が、閾値未満なら混合対象ピクセルそのものにな り、濃度差が閾値の 1.5 倍なら混合対象ピクセルと現在のピクセルの平均値に なり、濃度差が閾値の2倍を超えるなら、混合対象ピクセルを勘案しません。こ の処理を混合対象ピクセル全てに行い、その平均が処理結果のピクセル値になり ます。  また、ラプラシアンオペレータでエッヂとみなされても、Robinson オペレータ で上手く方向が検出出来ない場合、「ごま塩状ノイズ」である可能性が高く、エッ ヂとして処理してもうまくノイズが除去されないため、濃度勾配とラプラシアン の強度を比較して、濃度勾配が上手く検出できなければ、エッヂとみなさないよ うになっています。 ■雑感  PMD と大きく違うのは、前処理でぼかしを入れていないこと、エッヂなら勾配 と直行する方向のみ平滑化することです。前処理でぼかしていない分、ごま塩ノ イズの処理を入れる必要がありました。エッヂは濃度勾配と直行する方向だけを 処理するので、2〜3ピクセルのノイズには PMD よりも弱いです。  エッヂを保存しながら、強い平滑化を行えることを期待したのですが、思って いたほど良い結果は得られませんでした。PMD の隣り合うピクセル同士の濃度差 重み付け混合でエッヂ保存は十分良い結果が得られているということだと思いま す。それでも、ブラインドやフェンスのような1ピクセルの薄い線の保存は PMD よりも良い結果になったと思いますし、すごく重いというわけでも無いので、使 い物にならないということも無いと思います。  古典的な手法の組み合わせで処理結果も、処理速度も使えないほどではない。 ただ、特性が同じフィルタなら優秀に思えるほうだけ残せばよいと思うので、こ のフィルタは没。  誰かがコードの一部でも流用してくれれば、それは光栄なことだし、無駄な再 生産をする必要も無いだろうから、晒しておくことにします。コードだけ晒して も動くものが無いと見る気もしないだろうから、ロードモジュールも入れておき ます。 ■ インストール  一般の avisynth フィルタと同じ要領で扱ってください。 ■ 呼び出し例  AniNR(strength=16,threshold1=40,threshold2=10) ■ パラメータ strength :ノイズ除去強度(整数:0〜20, default 20) threshold1:エッヂ検出閾値(整数:0〜255, default 40) ラプラシアンによるエッヂ強度がこの閾値以下なら単純平滑を行い ます。閾値を超えていれば、エッヂ平滑を行います。この値を小さ くするとエッヂ方向の計算が多くなり、遅くなります。 threshold2:エッヂ平滑閾値(整数:0〜255, default 10) エッヂ平滑時にこの閾値を使って重み付け平滑を行います。 ■ 使用上の注意およびライセンス  このソフトウェア(バイナリ、ソースコード、アーカイブ)を利用、配布、改 変しても、作者は何の要求も行いませんし、作者それらの行為を制限しません。 ソースコードの改変、一部利用を行っても、改変部分の公開などを行う必要はあ りませんし、営利目的の利用も制限しません。また、流用を行った場合、流用部 分について著作者の表記を行う必要もありませんし、流用したことをどこかに記 す必要もありません。ただし、改変、流用、再配布を行う場合、作者(のらねこ) がそれを直接行っているかのような誤解を与えないようにしてください(誤解の 無いように配慮してくれればそれでよいです)。利用、配布、改変は全てこのソ フトウェアを入手した人の責任で行ってください。  このプログラムの使用によって何らかの障害が発生した場合でも作者は一切の 責任を負わないものとします。  このソフトウェアの権利一切は作者にあります。上記の通り、権利の主張を行 うつもりは一切ありませんので、無用な問い合わせをしないでください。 ■ 連絡先  email: apechironnup_for-fpmd@yahoo.co.jp ■ 配布元 URL  http://sky.geocities.jp/apechironnup/fpmd.html ■ 更新履歴 日付 Release 説明 2009/08/16 v0.1 初版 $Rev: 5 $ $Date:: 2009-08-16 18:17:18 +0900#$