DePulse
From Avisynth wiki
(Difference between revisions)
m (→Description) |
(update documentation with translation by StainlessS from the discussion thread) |
||
Line 3: | Line 3: | ||
| | | | ||
| 2005/04/11 | | 2005/04/11 | ||
− | | [http://www5e.biglobe.ne.jp/~hoe/dv-and-movie/tipsxxx/depulse.zip depulse.zip] | + | | [http://www5e.biglobe.ne.jp/~hoe/dv-and-movie/tipsxxx/depulse.zip depulse.zip] |
+ | -------- | ||
+ | [http://www5e.biglobe.ne.jp/~hoe/dv-and-movie/tipsxxx/DePulseC05061403.zip DePulseC05061403.zip] | ||
| VHS Restoration | | VHS Restoration | ||
| Open source | | Open source | ||
− | |6=}} | + | |6=[https://forum.doom9.org/showthread.php?t=151426 Doom9 Forum]}} |
<br> | <br> | ||
== Description == | == Description == | ||
− | [[DePulse]] | + | [[DePulse]] is dropout remover, removes white/black noise horizontal streaking in analogue captures. Spatio-Temporal. |
− | '''[[DePulse#DePulseC|DePulseC]]''' is sister product of [[DePulse]]. Just applying the same algorithm to the color difference. Reduces color pulse noise. Integrate with DePulse. | + | '''[[DePulse#DePulseC|DePulseC]]''' is sister product of '''[[DePulse#DePulse|DePulse]]'''. Just applying the same algorithm to the color difference. Reduces color pulse noise. Integrate with DePulse. |
− | + | Dropouts mainly present themselves as a horizontal line sometimes teardrop shaped, usually bright that pops on screen for one or two frames that can be staggered in intensity. | |
− | + | ||
− | + | ||
<br> | <br> | ||
Line 22: | Line 22: | ||
* [x86]: [[AviSynth+]] or [https://sourceforge.net/projects/avisynth2/ AviSynth 2.5.8 or greater] | * [x86]: [[AviSynth+]] or [https://sourceforge.net/projects/avisynth2/ AviSynth 2.5.8 or greater] | ||
*Supported color formats: [[YUY2]] | *Supported color formats: [[YUY2]] | ||
− | |||
<br> | <br> | ||
Line 31: | Line 30: | ||
<br> | <br> | ||
::{{Par2| |clip| }} | ::{{Par2| |clip| }} | ||
− | :::Input clip. | + | :::Input clip must be YUY2. Assumes TFF (top field first) field order interlacing. |
<br> | <br> | ||
::{{Par2|h|int|180}} | ::{{Par2|h|int|180}} | ||
− | ::: | + | :::Pixel brightness values greater than <code>h</code> (high) are targeted as white noise. |
+ | :::If a pixel (t) is target'ed as white noise then surrounding pixels (above, below, before and after [temporal], Not left and right) are tested and if ALL of them are less than (t - d) the target pixel t is depulsed. | ||
:::Range: 0-255 | :::Range: 0-255 | ||
<br> | <br> | ||
::{{Par2|l|int|60}} | ::{{Par2|l|int|60}} | ||
− | ::: | + | :::Pixel brightness values less than <code>l</code> (low) are targeted as black noise. |
+ | :::If a pixel (t) is target'ed as black noise then surrounding pixels (above, below, before and after [temporal], Not left and right) are tested and if ALL of them are greater than (t + d) the target pixel t is depulsed. | ||
:::Range: 0-255 | :::Range: 0-255 | ||
<br> | <br> | ||
Line 46: | Line 47: | ||
<br> | <br> | ||
::{{Par2|debug|bool|false}} | ::{{Par2|debug|bool|false}} | ||
− | ::: | + | :::If <code>debug=true</code>, pixels judged to be black or white noise are coloured pink or green. |
<br> | <br> | ||
===DePulseC=== | ===DePulseC=== | ||
Line 52: | Line 53: | ||
<br> | <br> | ||
::{{Par2| |clip| }} | ::{{Par2| |clip| }} | ||
− | :::Input clip. | + | :::Input clip must be YUY2. Assumes TFF (top field first) field order interlacing. |
<br> | <br> | ||
::{{Par2|h|int|180}} | ::{{Par2|h|int|180}} | ||
− | :::Color | + | :::Color difference values greater than <code>h</code> (high) are targeted as color noise. |
− | :::Range: 0-255 | + | :::If a pixel (t) is target'ed as white noise then surrounding pixels (above, below, before and after [temporal], Not left and right) are tested and if ALL of them are less than (t - d) the target pixel t is depulsed. |
+ | :::Range: 0-255 (does not concern itself with the 128 chroma offset, so args 'h' and 'l' are range 0-255 (16-240)) | ||
<br> | <br> | ||
::{{Par2|l|int|60}} | ::{{Par2|l|int|60}} | ||
− | :::Color | + | :::Color difference values less than <code>l</code> (low) are targeted as color noise. |
− | :::Range: 0-255 | + | :::If a pixel (t) is target'ed as black noise then surrounding pixels (above, below, before and after [temporal], Not left and right) are tested and if ALL of them are greater than (t + d) the target pixel t is depulsed. |
+ | :::Range: 0-255 (does not concern itself with the 128 chroma offset, so args 'h' and 'l' are range 0-255 (16-240)) | ||
<br> | <br> | ||
::{{Par2|d|int|30}} | ::{{Par2|d|int|30}} | ||
− | :::If the color difference between the pixels in the front and back (upper and lower) fields is more than <code>d</code>, it is determined as noise | + | :::If the color difference between the pixels in the front and back (upper and lower) fields is more than <code>d</code>, it is determined as noise. |
:::Range: 0-255 | :::Range: 0-255 | ||
<br> | <br> | ||
::{{Par2|debug|bool|false}} | ::{{Par2|debug|bool|false}} | ||
− | ::: | + | :::If <code>debug=true</code>, pixels judged to be color noise are coloured white or black. |
<br> | <br> | ||
Revision as of 06:23, 1 June 2020
Abstract | |
---|---|
Author | |
Version | 2005/04/11 |
Download | depulse.zip
|
Category | VHS Restoration |
License | Open source |
Discussion | Doom9 Forum |
Contents |
Description
DePulse is dropout remover, removes white/black noise horizontal streaking in analogue captures. Spatio-Temporal.
DePulseC is sister product of DePulse. Just applying the same algorithm to the color difference. Reduces color pulse noise. Integrate with DePulse.
Dropouts mainly present themselves as a horizontal line sometimes teardrop shaped, usually bright that pops on screen for one or two frames that can be staggered in intensity.
Requirements
- [x86]: AviSynth+ or AviSynth 2.5.8 or greater
- Supported color formats: YUY2
Syntax and Parameters
DePulse
- DePulse (clip, int "h", int "l", int "d", bool "debug")
- clip =
- Input clip must be YUY2. Assumes TFF (top field first) field order interlacing.
- clip =
- int h = 180
- Pixel brightness values greater than
h
(high) are targeted as white noise. - If a pixel (t) is target'ed as white noise then surrounding pixels (above, below, before and after [temporal], Not left and right) are tested and if ALL of them are less than (t - d) the target pixel t is depulsed.
- Range: 0-255
- Pixel brightness values greater than
- int h = 180
- int l = 60
- Pixel brightness values less than
l
(low) are targeted as black noise. - If a pixel (t) is target'ed as black noise then surrounding pixels (above, below, before and after [temporal], Not left and right) are tested and if ALL of them are greater than (t + d) the target pixel t is depulsed.
- Range: 0-255
- Pixel brightness values less than
- int l = 60
- int d = 30
- If the brightness is different from the pixels in the front and back (upper and lower) fields for
d
or more, it is determined as noise. (Common for white and black noise). - Range: 0-255
- If the brightness is different from the pixels in the front and back (upper and lower) fields for
- int d = 30
- bool debug = false
- If
debug=true
, pixels judged to be black or white noise are coloured pink or green.
- If
- bool debug = false
DePulseC
- DePulseC (clip, int "h", int "l", int "d", bool "debug")
- clip =
- Input clip must be YUY2. Assumes TFF (top field first) field order interlacing.
- clip =
- int h = 180
- Color difference values greater than
h
(high) are targeted as color noise. - If a pixel (t) is target'ed as white noise then surrounding pixels (above, below, before and after [temporal], Not left and right) are tested and if ALL of them are less than (t - d) the target pixel t is depulsed.
- Range: 0-255 (does not concern itself with the 128 chroma offset, so args 'h' and 'l' are range 0-255 (16-240))
- Color difference values greater than
- int h = 180
- int l = 60
- Color difference values less than
l
(low) are targeted as color noise. - If a pixel (t) is target'ed as black noise then surrounding pixels (above, below, before and after [temporal], Not left and right) are tested and if ALL of them are greater than (t + d) the target pixel t is depulsed.
- Range: 0-255 (does not concern itself with the 128 chroma offset, so args 'h' and 'l' are range 0-255 (16-240))
- Color difference values less than
- int l = 60
- int d = 30
- If the color difference between the pixels in the front and back (upper and lower) fields is more than
d
, it is determined as noise. - Range: 0-255
- If the color difference between the pixels in the front and back (upper and lower) fields is more than
- int d = 30
- bool debug = false
- If
debug=true
, pixels judged to be color noise are coloured white or black.
- If
- bool debug = false
Examples
DePulse with default settings:
AviSource("Blah.avi") DePulse (h=180, l=60, d=30, debug=false)
DePulseC with default settings:
AviSource("Blah.avi") DePulseC (h=180, l=60, d=30, debug=false)
- DePulseC Hint: First, adjust
h
to aroundh=50
,l=200
and adjustd
(about 20 to 50?).
You may have some side effects. After that, gradually increaseh
and lowerl
to reduce side effects.
Archived Downloads
Version | Download | Mirror |
---|---|---|
2005/04/11 | depulse.zip
|
depulse.zip
|
External Links
Back to External Filters ←