MC_Spuds
MC_Spuds( clip clp, int "frames", int "strength", int "blocksize", int "overlap", int "thsad", int "dct", int "ml", bool "chro", bool "postprocess", bool "preprocess", bool "aggressive",int "debug", int "thSCD1", int "thSCD2", bool "edgeclean", bool "focus", bool "removeblocks", bool "starfield", bool "anime", float "ss_x", int "sharpp", float "ss_y", int "lsfstr", bool "addnoise", int "shadow_l", int "shadow_h", float "thStar", int "limit", int "pnew", int "edm_lo", int "edm_hi", bool "flow", int "search", bool "colorbleed", int "quant1", int "quant2", int "uv", int "pel")
概要 | |
---|---|
作者 | Spuds, Didée |
バージョン | v0.9c- 23.Mar.08 |
ダウンロード | 下記リンクを参照 |
カテゴリ | 2D + 時間軸ノイズ除去 |
動作に必要な条件 | YV12 |
ライセンス |
概要 †
動き補償されたシャープ化付きのノイズ除去。
説明 †
動き補償されたノイズ除去。非常に重いが、非常に効果的。このスクリプトは、動き補償されたメソッドとマスクを利用する多彩なノイズ除去関数を提供します。使い方を簡単にするために、名前付き引数の strength が多くのデフォルト値を設定するため、あなたは指定する必要はありません。もちろん、微調整していじりたいなら、すべてオーバーライド可能です。おもな関数とオプションには以下のものが含まれます:
- ノイズ除去(通常、flowed、アグレッシブ、時間軸)
- 動きのない/少ない領域のみをシャープ化(コントラシャープ*1, LimitedSharpenFaster、シャープなし)
- ブロックノイズ除去(Deblock_QED 使用)
- 基本的な色にじみの除去
- エッジのクリーニング(エッジのリンギング除去)
- 星域(starfield)の保持(夜空の星を保持することを試みる。アニメで最も効果的だが、すべてに対して機能する)
- アニメ/漫画で見られるエッジでうまく作用するアニメーションモード。
- addnoise はグレインをビデオの暗い領域に追加する。
必要なフィルタ †
このスクリプトを実行するのに必要なツールがたくさんあります。これらをすべて正しく、互いに連携して使用することは、このスクリプトがあなたのためにすることの一部です。これらの関数のすべてが毎回使用されるわけではありませんし、いくつかはビデオに適用できるさまざまな特別なモードに特有なものです。スクリプトが提供するすべてを利用したいなら、これらのツールのすべてを入手すべきです。
- MaskTools2 -> マスクを参照
- Removegrain 1.x -> ノイズ除去(2D)を参照
- 注: repairsse3.dll は、chroma モードで人工のイズを残す可能性がある。repair.dll のみを使用してください。
- RemoveDirt -> ノイズ除去(時間軸)を参照
- MVTools -> その他のプラグインを参照
- LimitedSharpen
- Unfilter -> シャープ・ぼかしを参照
- Despot -> ノイズ除去(時間軸)を参照
- AddGrain -> ノイズ付加・ブロックノイズ除去)
- Deblock_QED
- FFT3DFilter -> ノイズ除去(2D+時間軸)を参照
- dfttest -> ノイズ除去(2D+時間軸)を参照
- Hqdn3d -> ノイズ除去(2D+時間軸)を参照
- aWarpSharp -> シャープ・ぼかしを参照
- Xsharpen -> シャープ・ぼかしを参照
パラメータ †
frames int = 2
(1-4) モーションベクトルを決定する際に検索する前後のフレーム数、および、ノイズ除去に使用されるルーチン。
Frames=1 Mvdegrain または Mvcompensate (flow=true) Frames=2 Mvdegrain2 または Mvcompensate (flow=true) Frames=3 Mvdegrain3 または Mvcompensate (flow=true) Frames=4 Mvcompensate のみ
strength int = 3
(0-6) 関数の呼び出しを非常に簡単にするプリセットのコレクション。この値が何を設定するかは下記参照。
pel int = 2
(0,2,4) 動き評価の正確さ。2=1/2 ピクセル。使用法については MVAnalyse を参照。
search int = 2
(0,1,2,3) モーションブロックを見つけるために使用する検索のタイプ。使用法については MVAnalyse を参照。
blocksize int = strength
(4,8,16) デフォルトは strength の値に基づく。blocksize=値を渡すことによって、このデフォルトをオーバーライドすることができる。大きいブロックはノイズ除去がより強力で高速だが、人工ノイズを残す。より大きな overlap か、より小さな block を使って補なってください。使用法については MVAnalyse を参照。
overlap int = strength
デフォルトは strength の値に基づく。overlap=値を渡すことによって、このデフォルトをオーバーライドすることができる。overlap が低いほど高速だが、人工ノイズを残す。使用法については MVAnalyse を参照。
thsad int = strength
(0-255) デフォルトは strength の値に基づく。thsad=値を渡すことによって、このデフォルトをオーバーライドすることができる。値が高いほどノイズ除去を増加させる傾向にあり、低いほど減少させる。高くしすぎると人工ノイズが生じる。使用法については MVAnalyse を参照。
pnew int = strength
(0-255) Default based on strength value, can override the default by passing the pnew=value. See MVAnalyse for usage.
dct int = 0
(1,2,3,4,5) Use and change with extreme caution. See MVAnalyse for usage.
thSCD1 int = strength
(0-255) Default based on strength value, can override the default by passing the thSCD1=value. Scene detection threshold. See MVTools for usage.
limit int = strength
(0-255) Default based on strength value, can override the default by passing the limit=value. Used for frames=1,2,3 to limit how much the denoised frame can change from the original frame. See MVDegrain for usage.
thSCD2 int = strength
(0-255) Default based on strength value, can override the default by passing the thSCD2=value. Scene detection threshold. See MVTools for usage.
ml int = strength
(0-255) Default based on strength value, can override the default by passing the ml=value. Higher values lower what is seen as motion, lower decrease what is seen as motion. See MVMask for usage.
chro boolean = false
(true/false) Perform denoising of the luma only (false) or luma and chroma plans (true). True will be MUCH slower.
starfield boolean = false
(true/false) Creates a mask of the frames spots and re inserts them into the denoised frame IF the luma value of the mask is above the thStar threshold. If real noise is getting through increase thStar or if stars are still being removed decrease thStar. Its very sensitive and can cause noise to remain since to a filter a spot is a spot.
thStar float = 0.925
(0-255) Luma threshold for keeping a star mask or discarding it as noise.
anime boolean = false
(true/false) Sets various processing parameters that are good for anime / toon sources ie keeping lines intact, scene change detection, etc. Also turns on a artifact prevention routine for larger blocksizes.
addnoise boolean = false
(true/false) Adds random grain to dark areas of the frame, this can help prevent blocking when the file is encoded. Grain is added to areas with luma below shadow_l and a linear transitions from adding grain to no grain between shadow_l and shadow_h. Above shadow_h no grain is added.
shadow_l int = 24
Low limit for add noise, luma below this value will get grain added.
shadow_w int = 42
High limit for add noise, luma above this value is untouched.
focus boolean = false
(true/false) May or may not help provide a crisp edge where a blurry one exists.
aggressive boolean = true
(true/false) Does a two pass denoising. The first pass is a lite first pass and the second a normal (as specified) noise removal. The style of denoising will be the same for both passes (ie mvdegrain or mvcompensate) Slow but aggressive.
sharpp int = 1
(0,1,2) 1 = Use contra sharpening 2 = Use limited sharpen faster, 0=No sharpening. Sharpening is only applied to the static (non moving) areas of the frame.
ss_x float = 1.25
Passed to limited sharpen faster, this value is a smode=4 value.
ss_y float = 1.25
Passed to limited sharpen faster, this value is a smode=4 value.
lsfsr int = 80
Limitedsharpenfaster strength
removeblocks boolean = false
(true/false) If true initiates a call to deblock_qed with quant1, quant2 and uv as defined below.
quant1 int = 0
Quant1 value for deblock_qed.
quant2 int = 45
Quant2 value for deblock_qed.
uv int = 1
UV value for deblock_qed.
colorbleed boolean = false
(true/false) Removes some level of color bleeding, use if color bleeding is present.
flow boolean = false
(true/false) Used to determine if it will use mvcompensated or mvdegrained noise removal. Each have their strengths and weakness so see what you like. Frames=4 is always flow=true. Flow will create a long temporal clip that it denoises and then it will pull out the cleaned key frame and discard the wing frames.
postprocess boolean = false
(true/false) Option to run a second cleaning operation on the clip. Can be useful if the clip is very noisy. The amount of change is limited to help prevent over smoothing of the image.
preprocess boolean = strength
(true/false) Default based on strength value, can override the default by passing the prepreocess=true/false. Preprocess cleans the input clip so that MVAnalyse can do a better job finding motion and not getting distracted by noise. If the clip is very clean you can set this to false, otherwise leave it true.
premax boolean = false
(true/false) Override strength setting and use full strength preprocessing to improve motion search
temporal boolean = false
(true/false) Turns on temporal processing which can help with videos that have 'dancing' or very heavy grain. Its a special limiting function that prevents mvtools from removing more from and area then what a very strong none motion compensated denoising would.
debug int = 0
Various and cool outputs so you can see what the script is doing, try them all to see what they do
edgeclean boolean = strength
(true/false) If true will build a conservative edge mask and apply de ringing to those edges. Useful for cleaning up ringing around edges that mvtools can find.
edm_lo int = 55
Low lut threshold for inclusion in the deringing mask, linear gradient between lo and hi.
edm_hi int = 255
High lut threshold for inclusion in the deringing mask, linear gradient between lo and hi.
strength プリセット †
strength | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|---|
blockSize | 8 | 8 | 8 | 16 | 16 | 16 | 16 |
overlap | 2 | 0 | 2 | 4 | 8 | 8 | 8 |
pnew | 32 | 32 | 32 | 32 | 32 | 32 | 32 |
thsad | 100 | 300 | 400 | 425 | 450 | 450 | 500 |
thscd | 140 | 400 | 500 | 600 | 600 | 600 | 600 |
thscd2(Reg/Anime) | 105/130 | 105/130 | 105/130 | 105/130 | 105/130 | 105/130 | 105/130 |
ml | 130 | 130 | 120 | 110 | 100 | 90 | 90 |
limit | 48 | 96 | 102 | 128 | 156 | 225 | 255 |
preprocess | false | false | true | true | true | true | true |
postprocess | false | false | false | false | false | false | true |
edgeclean | false | false | true | true | true | true | true |
dct(Reg/Anime) | 0/3 | 0/3 | 0/3 | 0/0 | 0/0 | 0/0 | 0/0 |
使用例 †
Avisource("Blah.avi") mc_spuds(frames=2,strength=4)
リンク †
- ダウンロード MC_Spuds.avsi : 現在のバージョン(推奨) (推奨)
- ダウンロード MC_Spuds.avs : v0.9c- 23.Mar.08
- Doom9's Forum 関連スレッド
註: このページのオリジナルは、MC Spuds - Avisynth wiki(14:11, 4 April 2008 更新)です。ライセンスは、オリジナルに準じます。詳しくは、AboutLicense を参照してください。
*1 原文では「contra-sharpening」。Need Suggestions for VERY GRAINY source - Page 4 - Doom9's Forum には、 contra-sharpening に関して次のような説明があります: 「sharpen the denoised clip, but don't add more than what was removed previously.」(試訳: ノイズ除去されたクリップをシャープ化するが、しかし前に取り除かれたもの以上のものは追加しない)。関連: TemporalDegrain.avs、Diskussion zu Dideé AviSynth Filter Collection - Seite 13 - Doom9 | Gleitz DVD-Forum