MC_Spuds のバックアップ差分(No.2)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
#code{{
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|
|ダウンロード|[[下記リンクを参照>#links]]|
|カテゴリ|2D + 時間軸ノイズ除去|
|動作に必要なもの|YV12|
|動作に必要な条件|YV12|
|ライセンス||

#contents

* 概要 [#z4e4e6be]

動き補償されたシャープ化付きのノイズ除去。

* 説明 [#i948eb29]

Motion compensated denoising. Extremely slow, but extremely effective. This script provides a wide array of denoising functions utilizing motion compensated methods and masks. To simplify usage a named parameter strength will set many defaults so you don't have to. Of course they are all override-able should you wish to fine tune and play. Major functions and options include:

-Denoising (regular, flowed, aggressive and temporal)
-Sharpening to zero or low motion areas only (Contra, LimitedSharpenFaster and none)
-Deblocking (with deblock qed)
-Basic Colorbleed removal
-Edge cleaning (dering edges)
-Starfield preservation (Attempts to retain night sky stars, most effective with anim but works for all)
-Animation mode to work better with edges found in animations / toons.
-Addnoise adds grain into the dark areas of the video 

* 必要なフィルタ [#lb47a5f4]

There are many tools needed to run the script, using them all correctly and in conjunction with one another is part of what the script does for you. Not all of these functions are used every time, some are unique to various special modes that you can apply to your video, so if you want to utilize everything the script offers then you should get all of these tools.

-MaskTools2 -> [[マスク]]を参照
-Removegrain 1.x -> [[ノイズ除去(2D)]]を参照
--注: repairsse3.dll は、chroma モードで人工のイズを残す可能性がある。repair.dll のみを使用してください。
-RemoveDirt -> [[ノイズ除去(時間軸)]]を参照
-MVTools -> [[その他のプラグイン]]を参照
-[[LimitedSharpen:http://avisynth.org/mediawiki/LimitedSharpen]]
-Unfilter -> [[シャープ・ぼかし]]を参照
-Despot -> [[ノイズ除去(時間軸)]]を参照
-AddGrain -> ノイズ付加・ブロックノイズ除去)
-[[Deblock_QED:http://avisynth.org/mediawiki/Deblock_QED]]
-FFT3DFilter -> [[ノイズ除去(2D+時間軸)]]を参照
-dfttest -> [[ノイズ除去(2D+時間軸)]]を参照
-Hqdn3d -> [[ノイズ除去(2D+時間軸)]]を参照
-aWarpSharp -> [[シャープ・ぼかし]]を参照
-Xsharpen -> [[シャープ・ぼかし]]を参照

* パラメータ [#cfb68356]

''frames'' '''int''' = 2~
(1-4) Number of forward and backward frames to search in determining motion vectors as well as what routine will be used to denoise.

 Frames=1  Mvdegrain or Mvcompensate (flow=true)
 Frames=2  Mvdegrain2 or Mvcompensate (flow=true)
 Frames=3  Mvdegrain3 or Mvcompensate (flow=true)
 Frames=4  Mvcompensate only

''strength'' '''int''' = 3~
(0-6) Collection of presets to make calling the function very easy. See below for what the value set .

''pel'' '''int''' = 2~
(0,2,4) Accuracy of the motion estimation, 2=1/2 pixel, See MVAnalyse for usage.

''search'' '''int''' = 2~
(0,1,2,3) Type of search to use for finding motion blocks, See MVAnalyse for usage.

''blocksize'' '''int''' = strength~
(4,8,16) Default based on strength value, can override the default by passing the blocksize=value. Large blocks are stronger noise removers and faster but can leave artifacts. Compensate with a larger overlap or smaller block. See MVAnalyse to usage. 

''overlap'' '''int''' = strength~
Default based on strength value, can override the default by passing the overlap=value. Lower overlap is faster but can leave artifacts. See MVAnalyse for usage.

''thsad'' '''int''' = strength~
(0-255) Default based on strength value, can override the default by passing the thsad=value. Higher values tend to increase noise removal lower decrease. To high and you will get artifacts. See MVAnalyse for usage. 

''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.

#hr

''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. 

#hr

''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.

#hr

''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. 

#hr

''focus'' '''boolean''' = false~
(true/false) May or may not help provide a crisp edge where a blurry one exists.

#hr

''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.

#hr

''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 

#hr

''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. 

#hr

''colorbleed'' '''boolean''' = false~
(true/false) Removes some level of color bleeding, use if color bleeding is present.

#hr

''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.

#hr

''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.

#hr

''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 

#hr

''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.

#hr

''debug'' '''int''' = 0~
Various and cool outputs so you can see what the script is doing, try them all to see what they do

#hr

''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 プリセット [#kd11944c]

|~strength|~0|~1|~2|~3|~4|~5|~6|h
|~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|

* 使用例 [#j0627323]

#code{{
Avisource("Blah.avi")
mc_spuds(frames=2,strength=4)
}}

* &aname(links);リンク [#v79ba0dd]

-ダウンロード [[MC_Spuds.avs:http://avisynth.org/mediawiki/upload/2/20/MC_Spuds.avs]] : 現在のバージョン(推奨)
-ダウンロード [[ミラー:http://www.rcboataholic.com/MC_Spuds.zip]]
-Doom9's Forum 関連スレッド
--[[MC noise removal script - Doom9's Forum:http://forum.doom9.org/showthread.php?t=131279]]

#hr

註: このページのオリジナルは、[[MC Spuds - Avisynth:http://avisynth.org/mediawiki/MC_Spuds]](14:11, 4 April 2008 更新)です。ライセンスは、オリジナルに準じます。詳しくは、[[AboutLicense]] を参照してください。