VagueDenoiser

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
m
m (Requirements)
Line 19: Line 19:
 
<br>
 
<br>
 
== Requirements ==
 
== Requirements ==
* [x86]: [[AviSynth+]] or [http://forum.doom9.org/showthread.php?t=168764 AviSynth 2.6]
+
* [x86]: [[AviSynth+]] or [https://sourceforge.net/projects/avisynth2/ AviSynth 2.6]
 
* [x64]: [[AviSynth+]]
 
* [x64]: [[AviSynth+]]
 
* Supported color formats: [[RGB24]], [[RGB32]], [[YUY2]], [[YV12]]
 
* Supported color formats: [[RGB24]], [[RGB32]], [[YUY2]], [[YV12]]
 
<br>
 
<br>
 +
 
== [[Script variables|Syntax and Parameters]] ==
 
== [[Script variables|Syntax and Parameters]] ==
 
:{{Template:FuncDef| VagueDenoiser (clip, int "threshold", int "method", int "nsteps", float "chromaT", bool "debug", bool "interlaced", int "wavelet", bool "Wiener", float "wratio", integer "percent", clip "auxclip")}}
 
:{{Template:FuncDef| VagueDenoiser (clip, int "threshold", int "method", int "nsteps", float "chromaT", bool "debug", bool "interlaced", int "wavelet", bool "Wiener", float "wratio", integer "percent", clip "auxclip")}}

Revision as of 03:35, 24 May 2020

Abstract
Author Lefungus, Kurosu, Fizick
Version v.0.35.1
Download [x86]
vaguedenoiser0351.zip

[x64]
VagueDenoiser_0351_64.7z

Category Spatial Denoisers
License GPLv2
Discussion Doom9 Forum


Contents

Description

Vague Denoiser is a wavelet based denoiser.

Basically, it transforms each frame from the video input into the wavelet domain, using various wavelet filters. Then it applies some filtering to the obtained coefficients. It does an inverse wavelet transform after. Due to wavelet properties, it should gives a nice smoothed result, and reduced noise, without blurring picture features. This wavelet transform could be done on each plane of the colorspace. This filter uses a wavelets from Brislawn tutorial.

See official documentation.

Requirements


Syntax and Parameters

VagueDenoiser (clip, int "threshold", int "method", int "nsteps", float "chromaT", bool "debug", bool "interlaced", int "wavelet", bool "Wiener", float "wratio", integer "percent", clip "auxclip")


clip   =
Input clip to process.


float  threshold = 0.0
Filtering strength. The higher, the more filtered the clip will be. Hard thresholding can use a higher threshold than Soft thresholding before the clip looks overfiltered.
  • If set < 0, then luminosity denoising will be disabled
  • If set = 0, then threshold is estimated automatically (adaptive)


int  method = 3
The filtering method the filter will use.
  • -1 : No thresholding (debug purpose)
  • 0 : Hard Thresholding. All values under the threshold will be zeroed.
  • 1 : Soft Thresholding. All values under the threshold will be zeroed. All values above will be reduced by the threshold.
  • 2 : Adaptive thresholding (NormalSrink method). Scale input threshold depending on local wavelet data (local = wavelet decomposition subband level).
  • 3 : Qian's (garrote) thresholding. Scales or nullifies coefficients - intermediary between (more) soft and (less) hard thresholding.
  • 4 : Uniformly smooth shrinking function.


int  nsteps = 4
Number of times, the wavelet will decompose the picture. High values can be slower but results will be better.
Suggested values are 3-6.
Picture can't be decomposed beyond a particular point (typically, 8 for a 640x480 frame - as 2^9 = 512 > 480)


float  chromaT = -1.0
Set threshold value for Chroma filtering. It is slower but give better results
  • If set < 0, then Chroma denoising will be disabled (default mode)
  • If set = 0, then threshold is estimated automatically (adaptive)


bool  debug = false
True or false; deactivates the inverse transform for direct display (but not normalize coefficients now). Also enables output for Debugview utility.


bool  interlaced = false
True or false; try to process separately fields clip.


int  wavelet = 1
Select wavelet type:
  • 1 : Cohen-Daubechies-Feauveau 9/7 - popular, probably the best
  • 2 : Brislawn 10/10 (sharp, used as only in all previous versions from 0.23 to 0.29)
  • 3 : Villasenor-Belzer-Liao 6/10


bool  Wiener = false
Activates WienerChop two-pass denoising mode for strong denoising with high threshold (slow).
First pass is noise estimation by transform with first wavelet (different from selected wavelet) with selected settings, the second pass is optimal Wiener denoising with second (selected) wavelet.
Second wavelet 1 is used with first (estimation) wavelet 3,
Second wavelet 2 is used with first (estimation) wavelet 1,
Second wavelet 3 is used with first (estimation) wavelet 1.


float  wratio = 0.5
Noise std deviation value for Wiener denoising as relative ratio to threshold value.


int  percent = 85
Partial of full denoising (limited coefficients shrinking).


clip  auxclip =
auxiliary clip for first pass of Wiener mode (default=none, source)
Prefiltered source clip, preferably with temporal or spatial-temporal filter (such as DeGrainMedian) for best denoising and artifacts suppression.


Examples

  • VagueDenoiser with default settings:
AviSource("Blah.avi")
VagueDenoiser()
  • See included documentation for more examples.


Changelog

Version      Date            Changes
v0.35.1 2005/09/26 - Lastest release by Fizick - Added YUY2 and RGB format for auxclip
  • See included documentation for full changelog


Archived Downloads

Version Download Mirror
v0.35.1 [x86] - vaguedenoiser0351.zip

[x64] - VagueDenoiser_0351_64.7z

vaguedenoiser0351.zip

VagueDenoiser_0351_64.7z


External Links




Back to External Filters

Personal tools