LimitedSharpen のバックアップソース(No.1)

#contents

* LimitedShapen とは? [#k448c5d3]

-シャープ関数。
-ハローをコントロールし、人工ノイズを最小化することによって、エッジや細かなディテールに強いシャープ化を適用する("Applies a strong sharpening to edges and fine details by controlling halos and minimising artifacts." ([[LimitedSharpen - Avisynth:http://avisynth.org/mediawiki/LimitedSharpen]] より))
-YV12 のみサポート。
-Didée 氏作。
-詳しくは、[[LimitedSharpen - Avisynth:http://avisynth.org/mediawiki/LimitedSharpen]] を参照してください。

* さまざまな LimitedShapen [#q3026ec1]

LimitedSharpen には、オリジナル版のほかに、いくつかの改造版があります。ここでは、そのうちのいくつかを紹介します。

** LimitedSharpen [#bb2ae753]

-オリジナル版。
-現在((2008-11-17 現在。))は、下記の LimitedShapenFaster に取って代わられている模様。

** LimitedSharpenFaster [#j6ec8cb2]

-LimitedSharpen の高速化版。
-一部の処理でプラグイン(mt_masktools(MaskTools v2)((以前は LimtedSupport プラグインが使われていた。詳しくは、このページの「LimitedSupport について」を参照。)))を利用することにより高速化を実現。
-AviSynth オフィシャルサイト内の LimitedSharpen のページ(下記の「関連リンク」を参照)に掲載されているのもこちらのバージョンであるため、現在((2008-11-17 現在。))はこちらが主流であると考えられる。

** LSFmod [#pd699d92]

-LimitedSharpen の改造版。
-[[MCTemporalDenoise]] 内で利用することを目的として作られたもの。
-LaTo 氏作。

* 入手先 [#j322840c]

-[[LimitedSharpen - Avisynth:http://avisynth.org/mediawiki/LimitedSharpen]]

下記「関連リンク」も参照。

* 動作に必要なプラグイン [#f1af6156]

LimitedShapen のバージョンによって、必要なプラグインやそのプラグインのバージョンが異なる可能性があります。

-mt_masktools (MaskTools v2) 2a21 以降、または MaskTools 1.5x((どちらを使用すべきかは、LimitedShapen のバージョンや種類によって異なる。))
--参考: [[マスク]]
-RemoveGrain 1.0-pre ((AviSynth オフィシャルサイト内の LimitedSharpen のページ(下記の「関連リンク」を参照)には、SSE3 版は使用しないように書かれている。))
--参考: [[ノイズ除去(2D)]]
-WarpSharp (UnsharpMask フィルタ)
--参考: [[warpsharpパッケージ]]

* LimitedSupport について [#wcd2acfb]

-LimitedSupport は、LimitedSharpen 関数の高速化を目的として作られたプラグイン。
-[[mg262's plugins with source - Doom9's Forum:http://forum.doom9.org/showthread.php?t=118430]] から入手可能。
-ただし、LimitedSupport に収録されていた関数は mt_masktools (MaskTools v2)に取り込まれたため、現在では LimitedSupport は不要となっている。
--mt_masktools (MaskTools v2) Alpha 18 以降。mt_masktools での関数名は、mt_makediff、mt_adddiff、mt_average、mt_clamp。
--[[Masktools2/Changelog - Avisynth:http://avisynth.org/mediawiki/Masktools2/Changelog]] より。
-元々は、次の 2 つの関数のプラグイン版として作られた([[Here is LimitedSharpen() - Page 15 - Doom9's Forum:http://forum.doom9.org/showthread.php?p=743734#post743734]] より)。
#code{{
function scriptclamp(clip main, clip bright_limit, clip dark_limit, int overshoot, int undershoot)
# clamp main to lie between bright_limit + overshoot and dark_limit - overshoot
{
OS = string(overshoot)
US = string(undershoot)
yv12lutxy( bright_limit, main,  yexpr="y x "+OS+" + < y x "+OS+" + ?")
yv12lutxy( dark_limit,   last,   yexpr="y x "+US+" - > y x "+US+" - ?")
return last
}

function scriptsimpleaverage(clip first, clip second)
{
yv12lutxy( first, second,  	yexpr="x y + 2 /")
return last
}
}}
--「LimitedSupport, 3 December 05 (revised) 」では、MakeDiff と AddDiff も追加されたが、現在は入手不可能なため確認できず。
#code{{
MakeDiff = SubtractDiff = "x y - 128 +" = "x y 128 - -"
AddDiff = "x y 128 - +"
}}

* 関連リンク [#b9f4955b]

-[[LimitedSharpen - Avisynth:http://avisynth.org/mediawiki/LimitedSharpen]]
-[[Index of /dhanselmann/_stuff:http://home.arcor.de/dhanselmann/_stuff/]]
--Did&#x00e9;e 氏のページ。
-[[LSFmod [v1.1 - Update 2008/11/14] - Doom9's Forum:http://forum.doom9.org/showthread.php?t=142706]]