Deen
From Avisynth wiki
Abstract | |
---|---|
Author | Marc FD |
Version | beta 2 |
Download | Deen beta 2.zip |
Category | Spatial-Temporal Denoisers |
License | Closed source |
Discussion |
Contents |
Description
Deen is a set of assembly-optimised denoisers, like various 3d and 2d convolutions.
Note:
- Deen beta 2 is the older version, unfortunately is also the most known and used version (most of the scripts that use Deen use syntax that's specific to beta 2).
- Deen v1.0 beta 1 is the updated version and it includes these changes:
- Original meth parameter renamed to mode
- Original mode parameter renamed to rad
- New modes "c2d", "w2d", "w3d" ("m2d" is no longer supported)
- ti (temporal influence) is now controlled independently by tthY and tthUV (luma/chroma), input value is now an integer (use to be float).
- New parameters: min, scd, fcf, borderfix
- Be aware that using the updated version as a drop-in replacement without adjusting the parameters to match the original can result in different behavior.
Requirements
- AviSynth 2.5.8 or later
- Progressive input only
- Supported color formats: YV12
- ISSE compatible CPU.
Syntax and Parameters
- deen (clip, string "meth", int "mode", int "thrY", int "thrUV", float "ti")
- clip =
- Input clip.
- clip =
- string meth = "c3d"
- Choose a denoising method:
- "c3d" : Mode 0 - 1 (default)
- "a3d" : Mode 0 - 4
- "a2d" : Mode 0 - 7
- "m2d" : Mode 0 - 20
- Choose a denoising method:
- string meth = "c3d"
- int mode = 0
- With "c3d", it's the weight matrix.
- 0 <121> matrix (default)
- 1 <111> matrix (softer)
- With all other methods, it's the spatial radius.
- 0 : default
- 1 : 3x3
- 2 : 5x5
- 3 : 7x7
- 4 : 9x9
- 5 : 11x11
- 6 : 13x13
- 7 : 15x15
- 8 : 17x17
- 9 : 19x19
- 10 : 21x21
- 11 : 23x23
- 12 : 25x25
- 13 : 27x27
- 14 : 29x29
- 15 : 31x31
- 16 : 33x33
- 17 : 35x35
- 18 : 37x37
- 19 : 39x39
- 20 : 41x41
- With "c3d", it's the weight matrix.
- int mode = 0
- int thrY = 10
- Luma (Y) threshold; higher values blend more.
- Range: 0 - 255
- int thrY = 10
- int thrUV = 12
- Chroma (UV) threshold; higher values blend more.
- Range: 0 - 255
- int thrUV = 12
- float ti = 3.0
- Temporal influence.
- Maximal mean local temporal difference allowed to enable 3D filtering.
- If ti is less than or equal to 0, 3d is disabled, use a 2d mode instead.
- float ti = 3.0
Deen v1.0 beta 1
Abstract | |
---|---|
Author | Marc FD |
Version | v1.0 beta 1 |
Download | deen_25_dll_20030813.zip |
Category | Spatial-Temporal Denoisers |
License | Closed source |
Discussion |
Deen is a set of assembly-optimised denoisers, like various 3d and 2d convolutions.
Syntax and Parameters
- Deen (clip, string "mode", int "rad", int "thrY", int "thrUV", int "tthY", int "tthUV", float "min", float "scd", string "fcf", bool "borderfix")
- clip =
- Input clip.
- clip =
- string mode = "c3d"
- Choose a denoising method:
- string mode = "c3d"
- "a2d"
- "a3d"
- "c2d"
- "c3d" - (default)
- "w2d"
- "w3d"
- Each of the three modes (a, c, w) will take into account pixels around in order to compute the new value. They will only take pixels that are under the threshold (meaning that they are not too different from the original pixel).
- Now, with the 'c' mode, you only make an average of the surrounding pixels (under the threshold) in order to calculate the new pixel.
- With the 'a' mode, you do the same, but the threshold is reduced with the distance. Which means that pixels farther will have to be closer to the pixel considered in order to be taken into account.
- Finally, the mode 'w' changes the weight of a pixel according to its distance from the original pixel. Meaning, instead of averaging all the surrounding pixels under the threshold, it will use the weight instead.
Pixels close to the center will have a weight of 3 (for example, I don't know exactly the formula), pixels a bit farther a weight of 2, and the farthest pixels, a weight of 1 (they will count three times less than the closest pixels).
- Each of the three modes (a, c, w) will take into account pixels around in order to compute the new value. They will only take pixels that are under the threshold (meaning that they are not too different from the original pixel).
- int rad = 1
- Radius.
- Range: 1-4 in 3d, 1-7 in 2d
- 1 : 3x3 - (default)
- 2 : 5x5
- 3 : 7x7
- 4 : 9x9
- 5 : 11x11
- 6 : 13x13
- 7 : 15x15
- int rad = 1
- int thrY = 7
- Luma (Y) threshold; higher values blend more.
- Range: 0 - 255
- int thrY = 7
- int thrUV = 9
- Chroma (UV) threshold; higher values blend more.
- Range: 0 - 255
- int thrUV = 9
- int tthY = 4
- Temporal Luma (Y) threshold. 3d only.
- Range: 0 - 255
- int tthY = 4
- int tthUV = 6
- Temporal Chroma (UV) threshold. 3d only.
- Range: 0 - 255
- int tthUV = 6
- float min = 0.5
- When using 'a' mode, it's how the threshold is reduced with the raising of the distance
- When using 'c', it should do nothing (theoretically - not tested).
- When using 'w' mode, it's how the weight of the pixel is reduced when its distance is raising.
- float min = 0.5
- 1.0 = no reduction ... 0.0 = maximum reduction (range: 0.0 - 1.0)
- float scd = 9.0
- Scene change detection; threshold over which a 2d mode is used, in order not to have a temporal ghosting with high motion.
- Higher values means potentially more ghosting.
- float scd = 9.0
- string fcf = ""
- Full control file; default is "", which means no fcf. It allows an overriding of the parameters for ranges of frames.
- Check demo.fcf.txt in the zip file.
- string fcf = ""
- bool borderfix = false
- Undocumented parameter.
- bool borderfix = false
Examples
- Deen beta 2 with default settings:
AviSource("Blah.avi") deen(meth="c3d", mode=0, thrY=10, thrUV=12, ti=3.0)
- Deen v1.0 beta 1 with all default settings:
AviSource("Blah.avi") Deen(mode="c3d", rad=1, thrY=7, thrUV=9, tthY=4, tthUV=6, min=0.5, scd=9.0, fcf="", borderfix=false)
Changelog
2003-08-13 v1.0 beta 1: - this is the latest version and includes additional features
2003-01-19 beta 2: - public release - "w3d" not implemented
Archived Downloads
Version | Download | Mirror | Mirror 2 |
---|---|---|---|
1.0 beta 1 | deen_25_dll_20030813.zip* | deen_25_dll_20030813.zip* | deen10-beta1.zip |
Deen beta 2 | Deen beta 2.zip | Deen beta 2.zip | deen_dll_20050705.zip* |
*1.0 beta 1 is the latest version not beta 2. Something must of gone wrong with the naming schemes. |
External Links
- avisynth.nl - Documentation for beta 1.
- Doom9 Forum - Discussion about deen beta 1.
- Doom9 Forum - Discussion about naming schemes between beta 1 and 2.
- Doom9 Forum - Documentation for beta 1. Translated by Manao.
- Doom9 Forum - Original discussion about deen beta 1.
- Scintilla's Guide - Extensive documentation for beta 1.
- VideoHelp Forum - Discussion about deen.
Back to External Filters ←