Temporal Degrain
| Abstract | |
|---|---|
| Author | Didée, Sagekilla | 
| Version | 1.23 | 
| Download | TemporalDegrain.avs | 
| Category | Denoisers | 
| License | |
| Discussion | |
| Contents | 
Description
Temporal Degrain is a very slow, multi-stage temporal denoiser originally created for killing the dancing grain present in 300. It works by generating (or having the user specify) a calm search clip with almost no noise to ruin motion vector search. Then, two stages of denoising are done using MDegrain which is limited by our denoised clip. Then, the end result has contra-sharpening applied to sharpen the image to no more than what was present before.
Temporal Degrain works as a simple temporal degraining function that will remove MOST grain from video sources, including dancing grain, like the grain found on 300. Is currently capable of utilizing MVDegrain 1, 2, or 3. Also note, the parameters don't need to be tweaked much as the default settings provide very good denoising. Use of TD is only recommended where highest quality filtering (least grain/noise, and highest detail retained) is needed. Otherwise, FastDegrain can filter just as well.
Requirements
- AviSynth 2.5.8 or greater
- Progressive input only
- Supported color formats: YV12
Required Plugins
Latest versions of the following filters are recommended unless stated otherwise.
- FFT3DFilter or FFT3DGPU
- hqdn3d
- MaskTools2
- MVTools
- RemoveGrain and Repair - part of the RemoveGrain v1.0b package.
- RgTools - recommended drop-in replacement for RemoveGrain & Repair!
Syntax and Parameters
- TemporalDegrain (clip input, clip "denoise", bool "GPU", int "sigma", int "bw", int "bh", int "pel", int "blksize", int "ov", int "degrain", int "limit" int "SAD1", int "SAD2", int "HQ" )
- clip  input =   
 - Input clip.
 
 
- clip  input =   
- clip  denoise = null 
 - Denoised clip for detecting motion vectors. Defining this automatically disables FFT3DFilter.
 
 
- clip  denoise = null 
- bool  GPU = false 
 - True enables GPU based prefiltering.
 
 
- bool  GPU = false 
- int  sigma = 16 
 - FFT3D filtering strength; default works fine in most cases.
 
 
- int  sigma = 16 
- int  bw = 16 
 - FFT3D block width.
 
 
- int  bw = 16 
- int  bh = 16 
 - FFT3D block height.
 
 
- int  bh = 16 
- int  blksize = 8 
 - MAnalyse block size.
 
 
- int  blksize = 8 
- int  pel = 2 
 - MAnalyse subpixel accuracy.
 
 
- int  pel = 2 
- int  ov = blksize/2 
 - MAnalyse block overlap.
 
 
- int  ov = blksize/2 
- int  degrain = 2 
 - MDegrain with 1, 2, or 3 vectors.
 
 
- int  degrain = 2 
- int  SAD1 = 400 
 - MDegrain stage 1 thSAD.
 
 
- int  SAD1 = 400 
- int  SAD2 = 300 
 - MVDegrain stage 2 thSAD.
 
 
- int  SAD2 = 300 
- int  HQ = 1 
 - Adjusts filtering level.
- 0 : disables any prefiltering (not recommended)
- 1 : adds extra prefiltering
- 2 : adds a post processing step to denoising
 
 
- Adjusts filtering level.
 
- int  HQ = 1 
Examples
# Useful for denoising HD material at decent speeds
AviSource("blah.avi")
TemporalDegrain(degrain=3, ov=4, blksize=16)
# Faster processing than defaults with a manageable decrease in quality.
AviSource("blah.avi"
TemporalDegrain(degrain=1, ov=2, hq=1)
External Links
- Download TemporalDegrain.avs Current stable version. (Recommended). 
 
- Download TemporalDegrain_beta.avs New beta version featuring a gentle MDegrain limiter. 
 
- Download FastDegrain.avs Quick alias for MDegrain(1|2|3) with optional sharpening 
 
- Download TemporalDegrain_MT.avsi Alias for MT()'ing TemporalDegrain but using *single-threaded* prefilter clip. Useful when SetMTMode() cannot be used.Thread on doom9 forum 
 
- Download TemporalDegrain_ChromaMod.avsi Allows all chroma processing to be disabled for big speed bonus with greyscale sources. Thread on doom9 forum
- Doom9 Forum - Need Suggestions for a very grainy source.
- Doom9 Forum - Suggestion for "TemporalDegrain" for HD contents.
