Deen

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
m (Syntax and Parameters)
m (update)
Line 1: Line 1:
 
{{FilterCat|External_filters|Denoisers|Spatial-Temporal Denoisers}}
 
{{FilterCat|External_filters|Denoisers|Spatial-Temporal Denoisers}}
{{Filter
+
{{Filter3
 
| {{Author/Marc FD}}
 
| {{Author/Marc FD}}
| Beta 2
+
| v1.0 beta 1
| [http://ziquash.chez-alice.fr/Deen%20beta%202.zip Deen beta 2]
+
| [http://www.aquilinestudios.org/scripts/deen_25_dll_20030813.zip deen_25_dll_20030813.zip]
 
| Spatial-Temporal Denoisers
 
| Spatial-Temporal Denoisers
|
 
* [[YV12]]
 
 
| Closed source
 
| Closed source
 
|}}
 
|}}
Line 12: Line 10:
 
== Description ==
 
== Description ==
 
:Deen is a set of assembly-optimised denoisers, like various 3d and 2d convolutions.<br>
 
:Deen is a set of assembly-optimised denoisers, like various 3d and 2d convolutions.<br>
::[[Deen beta 1]] documentation
 
<br>
 
===== Requirements =====
 
:* [[YV12]]
 
:* ISSE capable CPU
 
 
<br>
 
<br>
 +
== Requirements: ==
 +
:- AviSynth 2.5.8 or later
 +
:- [[FAQ_different_types_content#How_do_I_recognize_progressive.2C_interlaced.2C_telecined.2C_hybrid_and_blended_content.3F|Progressive]] input only
 +
:- Supported color formats: [[YV12]]
  
== Syntax and Parameters ==
+
:- [[ISSE]] compatible CPU.
:{{Template:FuncDef| deen(string "meth", int "mode", int "thrY", int "thrUV", float "ti")}}
+
 
<br>
 
<br>
::{{Par|meth|string|"c3d"}}
+
== [[Script variables|Syntax and Parameters]] ==
:::Choose a denoising method:
+
:{{Template:FuncDef| Deen (''clip'', ''string'' "mode", ''int'' "rad", ''int'' "thrY", ''int'' "thrUV", ''int'' "tthY", ''int'' "tthUV", ''float'' "min", ''float'' "scd", ''string'' "fcf", ''bool'' "borderfix")}}
::::* "c3d" : Mode 0 - 1  (default)
+
::::* "a3d" : Mode 0 - 4
+
::::* "a2d" : Mode 0 - 7
+
::::* "m2d" : Mode 0 - 20
+
 
<br>
 
<br>
::{{Par|mode|int|0}}
+
::{{Par2|mode|string|"c3d"}}
:::With "c3d", it's the weight matrix.
+
:::Choose denoising method:
::::* 0 <121> matrix (default)
+
 
::::* 1 <111> matrix (softer)
+
::::* "a2d"
:::With all other methods, it's the spatial radius.
+
::::* "a3d"
::::* 0 : default
+
::::* "c2d"
::::* 1 : 3x3
+
::::* "c3d" - (default)
::::* 2 : 5x5
+
::::* "w2d"
::::*  3 : 7x7
+
::::* "w3d"
::::*  4 : 9x9
+
 
::::*  5 : 11x11
+
:::::Each of the three modes (a, c, w) will take into account pixels around in order to compute the new value. They will
::::*  6 : 13x13
+
:::::only take pixels that are under the threshold (meaning that they are not too different from the original pixel). Now,
::::*  7 : 15x15
+
:::::with the 'c' mode, you only make an average of the surrounding pixels ( under the threshold ) in order to calculate
::::*  8 : 17x17
+
:::::the new pixel. With the 'a' mode, you do the same, but the threshold is reduced with the distance. Which means
::::*  9 : 19x19
+
:::::that pixels farther will have to be closer to the pixel considered in order to be taken into account. Finally, the mode
::::* 10 : 21x21
+
:::::'w' changes the weight of a pixel according to its distance from the original pixel. Meaning, instead of averaging
::::* 11 : 23x23
+
:::::all the surrounding pixels under the threshold, it will use the weight instead. Pixels close to the center will have
::::* 12 : 25x25
+
:::::a weight of 3 (for example, I don't know exactly the formula), pixels a bit farther a weight of 2, and the farthest
::::* 13 : 27x27
+
:::::pixels, a weight of 1 (they will count three times less than the closest pixels).
::::* 14 : 29x29
+
<br>
::::* 15 : 31x31
+
::{{Par2|rad|int|1}}
::::* 16 : 33x33
+
:::Radius.
::::* 17 : 35x35
+
::::Range: 1-4 in 3d, 1-7 in 2d
::::* 18 : 37x37
+
:::::* 1 : 3x3 - (default)
::::* 19 : 39x39
+
:::::* 2 : 5x5
::::* 20 : 41x41
+
:::::* 3 : 7x7
 +
:::::* 4 : 9x9
 +
:::::* 5 : 11x11
 +
:::::* 6 : 13x13
 +
:::::* 7 : 15x15
 
<br>
 
<br>
::{{Par|thrY|int|10}}
+
::{{Par2|thrY|int|7}}
 
:::Luma (Y) threshold.
 
:::Luma (Y) threshold.
 
::::Range: 0 - 255
 
::::Range: 0 - 255
 
:::::Higher values blend more.
 
:::::Higher values blend more.
 
<br>
 
<br>
::{{Par|thrUV|int|12}}
+
::{{Par2|thrUV|int|9}}
 
:::Chroma (UV) threshold.
 
:::Chroma (UV) threshold.
 
::::Range: 0 - 255
 
::::Range: 0 - 255
 
:::::Higher values blend more.
 
:::::Higher values blend more.
 
<br>
 
<br>
::{{Par|ti|float|3.0}}
+
::{{Par2|tthY|int|4}}
:::Temporal influence.
+
:::Temporal Luma (Y) threshold. 3d only.
::::Maximal mean local temporal difference allowed to enable 3D filtering.
+
::::Range: 0 - 255
::::If ti is less than or equal to 0, 3d is disabled, use a 2d mode instead.  
+
<br>
 +
::{{Par2|tthUV|int|6}}
 +
:::Temporal Chroma (UV) threshold. 3d only.
 +
::::Range: 0 - 255
 +
<br>
 +
::{{Par2|min|float|0.5}}
 +
:::Range: 0.0 - 1.0
 +
::::1.0 = no reduction .. 0.0 = maximum reduction
 +
:::::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.
 +
<br>
 +
::{{Par2|scd|float|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 .
 +
<br>
 +
::{{Par2|fcf|string|""}}
 +
:::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.
 +
<br>
 +
::{{Par2|borderfix|bool|false}}
 +
:::Undocumented parameter.
 
<br>
 
<br>
  
 
== Examples ==
 
== Examples ==
 +
Deen with all default values.
 
  [[AviSource]]("Blah.avi")
 
  [[AviSource]]("Blah.avi")
  deen()
+
  Deen(mode="c3d", rad=1, thrY=7, thrUV=9, tthY=4, tthUV=6, min=0.5, scd=9.0, fcf="", borderfix=false)
 
<br>
 
<br>
 
== Changelog ==
 
== Changelog ==
  2003-01-19 [http://ziquash.chez-alice.fr/Deen%20beta%202.zip beta 2:]
+
2003-08-13 v1.0 beta 1:
   - "w3d" not [http://forum.doom9.org/showthread.php?t=128733 implemented]<br>
+
  - this is the latest version and includes additional features<br>
2003-08-13 [http://www.aquilinestudios.org/scripts/deen_25_dll_20030813.zip beta 1:]
+
  2003-01-19 beta 2:
  - Initial release
+
  - public release
 +
   - "w3d" not [http://forum.doom9.org/showthread.php?t=128733 implemented]
 
<br>
 
<br>
== Links ==
+
== Archived Downloads ==
- [http://forum.doom9.org/showthread.php?p=407922#post407922 Doom9 Forum] - Documentation  for beta 1. Translated by Manao.<br>
+
{| class="wikitable" border="1"; width="700px"
 +
|-
 +
!!width="150px"| Version
 +
!!width="175px"| Download
 +
!!width="175px"| Mirror
 +
!!width="175px"| Mirror 2
 +
|-
 +
!1.0 beta 1
 +
|[http://www.aquilinestudios.org/scripts/deen_25_dll_20030813.zip deen_25_dll_20030813.zip]*
 +
|[http://web.archive.org/web/20100713163352/http://www.aquilinestudios.org/scripts/deen_25_dll_20030813.zip deen_25_dll_20030813.zip]*
 +
|[http://forum.doom9.org/attachment.php?attachmentid=5722&d=1145491575 deen10-beta1.zip]  
 +
|-
 +
![[Deen_beta_2|beta 2]]
 +
|[http://ziquash.chez-alice.fr/Deen%20beta%202.zip Deen beta 2.zip]
 +
|[http://web.archive.org/web/20070105185525/http://ziquash.chez-alice.fr/Deen%20beta%202.zip Deen beta 2.zip]
 +
|[http://www.avisynth.nl/users/warpenterprises/files/deen_5F25_dll_20050705.zip deen_dll_20050705.zip]*
 +
|-
 +
! colspan="4"| *1.0 beta 1 is the latest version not beta 2. Something must of gone wrong with the naming schemes.
 +
|}
 +
<br>
 +
== External Links ==
 
- [http://avisynth.nl/users/fizick/docs/english/externalfilters/deen.htm avisynth.nl] - Documentation for beta 1.<br>
 
- [http://avisynth.nl/users/fizick/docs/english/externalfilters/deen.htm avisynth.nl] - Documentation for beta 1.<br>
- [http://www.aquilinestudios.org/avsfilters/spatial.html#deen Scintilla's Guide] - Extensive documentation for beta 1.<br>
+
- [http://forum.doom9.org/showthread.php?t=69052 Doom9 Forum] - Discussion about deen beta 1.<br>
- [http://forum.videohelp.com/threads/355309-Deen%28%29-causing-double-imaging-or-ghosting-in-AVISynth VideoHelp Forum] - Discussion about deen.<br>
+
- [http://forum.doom9.org/showthread.php?p=1143007#post1143007 Doom9 Forum] - Discussion about naming schemes between beta 1 and 2.<br>
- [http://forum.doom9.org/showthread.php?p=1143007#post1143007 Doom9 Forum] Discussion about naming schemes between beta 1 and 2.<br>
+
- [http://forum.doom9.org/showthread.php?p=407922#post407922 Doom9 Forum] - Documentation  for beta 1. Translated by Manao.<br>
 
- [http://forum.doom9.org/showthread.php?t=41643 Doom9 Forum] - Original discussion about deen beta 1.<br>
 
- [http://forum.doom9.org/showthread.php?t=41643 Doom9 Forum] - Original discussion about deen beta 1.<br>
- [http://forum.doom9.org/showthread.php?t=69052 Doom9 Forum] - Discussion about deen beta 1.
+
- [http://www.aquilinestudios.org/avsfilters/spatial.html#deen Scintilla's Guide] - Extensive documentation for beta 1.<br>
 +
- [http://forum.videohelp.com/threads/355309-Deen%28%29-causing-double-imaging-or-ghosting-in-AVISynth VideoHelp Forum] - Discussion about deen.

Revision as of 17:47, 18 May 2014

Abstract
Author Marc FD
Version v1.0 beta 1
Download deen_25_dll_20030813.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.


Requirements:

- AviSynth 2.5.8 or later
- Progressive input only
- Supported color formats: YV12
- ISSE compatible CPU.


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")


string  mode = "c3d"
Choose denoising method:
  • "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).


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  thrY = 7
Luma (Y) threshold.
Range: 0 - 255
Higher values blend more.


int  thrUV = 9
Chroma (UV) threshold.
Range: 0 - 255
Higher values blend more.


int  tthY = 4
Temporal Luma (Y) threshold. 3d only.
Range: 0 - 255


int  tthUV = 6
Temporal Chroma (UV) threshold. 3d only.
Range: 0 - 255


float  min = 0.5
Range: 0.0 - 1.0
1.0 = no reduction .. 0.0 = maximum reduction
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  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 .


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.


bool  borderfix = false
Undocumented parameter.


Examples

Deen with all default values.

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

Personal tools