TemporalDegrain2
Abstract | |
---|---|
Author | Didée, Sagekilla, Vit, real.finder, ErazorTT |
Version | 2.6.1 |
Download | TemporalDegrain-v2.6.1.avsi |
Category | Denoisers |
License | Public Domain |
Discussion | Doom9 Thread |
Contents |
Description
This script builds on Temporal Degrain but it is able to clean the noise even further while impoving the sharpness in cases where orignal version had severe drops in visual quality.
Comparing to the original version there are improvements in the motion estimation by using the exceptional approach of QTGMC and an optional final step of FFT and dithering to further smooth the output. The performance will be especially better in regions of low contrast and diverging movement where the very mushy intermediate stream was losing motion vectors thus smearing the output considerably.
The result can be completely noiseless, perfectly sharp, much better compressable, without introducing any banding while still yielding a very natural look.
Requirements
- [x86]: AviSynth+ or AviSynth 2.6
- [x64]: AviSynth+
- Progressive input only
- Supported color formats: YUV 420,422,444 8-16 bits
Required Plugins
Latest versions of the following filters are recommended unless stated otherwise.
Optional Plugins
Changelog
May 15, 2018: v2.0
- use the exceptional motion estimation from QTGMC
- use MDegrainN for unbound temporal radius
- automatic tuning of default parameters based on input size
- add optional motion compensated post processing FFT filtering
Oct 19, 2018: v2.0.1
- rename function to TemporalDegrain2
- expose TrueMotion parameter through meTM, and let it default to false
Oct 22, 2018: v2.0.2
- use power of 2 blocksizes for MAnalyse which have much better performance
- check that Undot exists before calling it
Oct 23, 2018: v2.0.3
- use RemoveGrain(1) instead of Undot
Oct 26, 2018: v2.1
- tune motion estimation
Oct 27, 2018: v2.1.1
- allow for a controlled over-sharpen through extraSharp
- correct parameter types
Oct 30, 2018: v2.1.2
- correct usage of KNLMeansCL
- update comments
Nov 03, 2018: v2.1.3
- another try to fix KNLMeansCL
- expose KNLMeansCL device id through knlDevId
Nov 19, 2018: v2.1.4
- minor updates to code comments
Dec 26, 2018: v2.1.5
- convert TV range to PC range in search clip, improving motion estimation
Dec 27, 2018: v2.1.6
- tweaked parameters for higher noise removal
Dec 27, 2018: v2.1.7
- settings depening on input noise level, flag must be set manually
- add post processing behaviour of TemporalDegrain v1.23 to postFFT=-1
- change defaults and rewrite recommendations
Jan 02, 2019: v2.2
- high bit support, native "double width" format not "stacked" format
- currently just postFFT=0, 1 and 4 are supported for high bit
Feb 24, 2019: v2.2.1
- swap deprecated use of ConvertToXbit by ConvertBits
- relaxed settings for scene change detection, was too aggressive
Apr 12, 2019: v2.2.2
- refine input size categorization
Feb 02, 2021: v2.2.3
- rescale SAD/SCD thresholds when DCT is switched from SAD to SATD
- allow change of motion estimation also based on chroma (meChroma)
Feb 02, 2021: v2.2.4
- use optional high bitdepth processing for FFT3DGPU
- added postMix setting do be able to degrease filter strength
Feb 02, 2021: v2.2.5
- use neo fft
- add optional high bitdepth processing for dfttest
Feb 05, 2021: v2.2.6
- correct scaling for DCT=5 and set it as default
Feb 07, 2021: v2.3.0
- use native high bit format also for KNLMeansCL
- scale sigma of FFT3DGPU
- grainLevel is now interger range 0-2
- make setup of grainLevel easier by using parameter grainLevelSetup=true
- provide user with the choice which stage of the pipeline to output (outputStage)
Feb 07, 2021: v2.3.1
- tune grainLevel 1 to fit more centrally between 0 and 2
- reorganize arguments by importance
Dec 16, 2021: v2.3.2
- go back to using SAD (DCT=0) instead of SATD, since SATD appears to make more harm then helping
- tweak usages of FFT3DGPU to match the FFT3DFilter usages (thanks goes to Tenkei)
- HQdn3D does now support high bitdepth
- KNLMeansCL correct sigma to match the other filters (factor 2 higher then before)
Dec 19, 2021: v2.3.3
- set thSADC to be half of thSAD, since changes in chroma are usually smaller than in luma
Dec 20, 2021: v2.3.4
- dithering is delayed to after contraSharpending which increases quality of dithering, decreasing banding and noise (postDither=2), old behaviour is regained with postDither=1
- postDither argument has been inverted! [new postDither = (-1) * old postDither]
Dec 21, 2021: v2.4.0 (This and later releases need AviSynth 3.7.1+)
- add BM3D_CPU & BM3D_CUDA (based on BM3D prefilter of Dogway's SMDegrain) and mods by kedautinh12 (Aug 12 - Dec 19)
Dec 21, 2021: v2.4.1
- small speed increase for BM3D (thanks to kedautinh12)
Jan 05, 2022: v2.4.2
- allow enabling or disabling of chroma and luma filtering for BM3D (thanks to kedautinh12)
- allow denoising on different planes at the two stages (degrainPlane vs postPlane)
Feb 15, 2022: v2.4.3
- add limit r to 3 when CUDA=true for BM3D (based on BM3D prefilter of Dogway's SMDegrain) and mods by kedautinh12
- add preset for BM3D (based on BM3D prefilter of Dogway's SMDegrain) and mods by kedautinh12
Apr 05, 2022: v2.5.0
- allow distinct postFFT and postSigma for luma and chroma
May 01, 2022: v2.6.0
- clean chroma more by also using the first degrain step
- tweak scene change detection factors
May 02, 2022: v2.6.1
- fix grainLevelSetup which was broken in previous release