MosquitoNR

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
m
m (Abstract)
Line 1: Line 1:
 
{{FilterCat|External_filters|Restoration_filters|Deringing & Mosquito Noise}}
 
{{FilterCat|External_filters|Restoration_filters|Deringing & Mosquito Noise}}
{{Filter
+
{{Filter2
 
|{{Author/b_inary}}
 
|{{Author/b_inary}}
 
|v0.10
 
|v0.10
 
|[http://web.archive.org/web/20131028144351/http://www.geocities.jp/w_bean17/files/mosquito_nr_avisynth.zip MosquitoNR]
 
|[http://web.archive.org/web/20131028144351/http://www.geocities.jp/w_bean17/files/mosquito_nr_avisynth.zip MosquitoNR]
 
|Deringing & Mosquito Noise
 
|Deringing & Mosquito Noise
|
 
* AviSynth 2.5.8 or later
 
* CPU with SSE2 support
 
* Supported color formats:
 
:[[YUY2]], [[YV12]], [[YV16]],
 
:[[YV24]], [[YV411]], [[Y8]]
 
* Progressive input only
 
 
|[http://www.gnu.org/licenses/gpl-2.0.txt GPLv2]
 
|[http://www.gnu.org/licenses/gpl-2.0.txt GPLv2]
 
|}}
 
|}}
Line 24: Line 17:
 
:MosquitoNR processes luma only, to correctly process chroma take a look at the [[MosquitoNR#Examples|example]] below.
 
:MosquitoNR processes luma only, to correctly process chroma take a look at the [[MosquitoNR#Examples|example]] below.
 
<br>
 
<br>
===== Requirements: =====
+
== Requirements ==
 
:- AviSynth 2.5.8 or later
 
:- AviSynth 2.5.8 or later
:- CPU with SSE2 support
+
:- [[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: [[YUY2]], [[YV12]], [[YV16]], [[YV24]], [[YV411]], [[Y8]]
 
:- Supported color formats: [[YUY2]], [[YV12]], [[YV16]], [[YV24]], [[YV411]], [[Y8]]
:- Progressive input only
+
 
 +
:- CPU with [[SSE2]] support
 
<br>
 
<br>
  
 
== Syntax and Parameters ==
 
== Syntax and Parameters ==
:{{Template:FuncDef|MosquitoNR(clip, int "strength", int "restore", int "radius", int "threads")}}
+
:{{Template:FuncDef|MosquitoNR (''clip'', ''int'' "strength", ''int'' "restore", ''int'' "radius", ''int'' "threads")}}
 
<br>
 
<br>
 
::{{Par|strength|int|16}}
 
::{{Par|strength|int|16}}
Line 57: Line 51:
 
<br>
 
<br>
 
== Examples ==
 
== Examples ==
 +
MosquitoNR with default settings.
 
  [[AviSource]]("Blah.avi")
 
  [[AviSource]]("Blah.avi")
  MosquitoNR()
+
  MosquitoNR(strength=16, restore=128, radius=2, threads=0)
 
<br>
 
<br>
 
MosquitoNR processes only luma.
 
MosquitoNR processes only luma.
If you want to process chroma too, you can write script like the following, but there might be no noticeable change.
+
If you want to process chroma too, you can write a script like the following, but there might be no noticeable change.
 
  [[AviSource]]("Blah.avi")
 
  [[AviSource]]("Blah.avi")
 
  MosquitoNR()
 
  MosquitoNR()
Line 69: Line 64:
 
<br>
 
<br>
 
== Changelog ==
 
== Changelog ==
   ver 0.10 (2013-03-14)
+
   ver 0.10 2013-03-14
 
       - fixed a crash with AviSynth MT
 
       - fixed a crash with AviSynth MT
 
       - added support for YV16, YV24, Y411, Y8
 
       - added support for YV16, YV24, Y411, Y8
 
       - some speed optimizations
 
       - some speed optimizations
 
       - added English documentation<br>
 
       - added English documentation<br>
   ver.120210 (2012-02-10)
+
   ver.120210 2012-02-10
 
       - initial release
 
       - initial release
 
<br>
 
<br>
 
== Acknowledgments ==
 
== Acknowledgments ==
:This filter is a combination of flash3kyuu's AviUtl plugin "smoothing filter" and nilpo's AviUtl plugin "low frequency components protection filter".
+
This filter is a combination of flash3kyuu's AviUtl plugin "smoothing filter" and nilpo's AviUtl plugin "low frequency components protection filter".<br>
:This combination was proposed by POP@4bit. I thank all of them very much.
+
This combination was proposed by POP@4bit. I thank all of them very much.
  
::*flash3kyuu's web page (Japanese):  http://www.geocities.jp/flash3kyuu/
+
:*flash3kyuu's web page (Japanese):  http://www.geocities.jp/flash3kyuu/
::*nilpo's web page (Japanese):      http://nilposoft.info/aviutl-plugin/
+
:*nilpo's web page (Japanese):      http://nilposoft.info/aviutl-plugin/
::*POP@4bit's web page (Japanese):    http://pop.4-bit.jp/?p=3362
+
:*POP@4bit's web page (Japanese):    http://pop.4-bit.jp/?p=3362
  
  
 
== Links ==
 
== Links ==
- [http://forum.doom9.org/showthread.php?t=167582 Doom9 Forum] - MosquitoNR discussion.
+
*[http://forum.doom9.org/showthread.php?t=167582 Doom9 Forum] - MosquitoNR discussion.
 +
<br>
 +
<br>
 +
<br>
 +
-----------------------------------------------
 +
'''Back to [[External_filters#Deringing_.26_Mosquito_Noise|External Filters]] &larr;'''

Revision as of 20:47, 1 January 2014

Abstract
Author b_inary
Version v0.10
Download MosquitoNR
Category Deringing & Mosquito Noise
License GPLv2

Contents

Description

MosquitoNR is a noise reduction filter designed for mosquito noise, which is often caused by lossy compression such as MPEG.
This filter works as follows:
1. Compute low frequency components of the image.
2. Apply direction-aware blur (smoothing). This blur effectively reduces compression artifacts, but also breaks detail.
3. Restore the low frequency components to the blurred image.
MosquitoNR processes luma only, to correctly process chroma take a look at the example below.


Requirements

- AviSynth 2.5.8 or later
- Progressive input only
- Supported color formats: YUY2, YV12, YV16, YV24, YV411, Y8
- CPU with SSE2 support


Syntax and Parameters

MosquitoNR (clip, int "strength", int "restore", int "radius", int "threads")


strength int = 16
Range: 0 - 32
Sets the strength of the blur.
Setting this value higher brings stronger noise reduction effect, but side effect will also become stronger.


restore int = 128
Range: 0 - 128
Sets the rate of restoring.
If set to 0, no restoring is performed.
If set to 128, low frequency components of the blurred image is completely replaced with those of the original image, and runs slightly faster.


radius int = 2
Range: 1 - 2
Sets the radius of the blur.
"1 is faster, but will have insufficient effect in some cases.


threads int = 0
Range: 0 - 32
Controls how many threads are used.
By default, threads is set equal to automatically detected number of processors.
Since this filter needs a lot of memory access, thread efficiency is not very good. Setting this value lower might improve overall processing speed.


Examples

MosquitoNR with default settings.

AviSource("Blah.avi")
MosquitoNR(strength=16, restore=128, radius=2, threads=0)


MosquitoNR processes only luma. If you want to process chroma too, you can write a script like the following, but there might be no noticeable change.

AviSource("Blah.avi")
MosquitoNR()
u = UtoY().MosquitoNR()  # In AviSynth 2.6, UtoY8() may be faster
v = VtoY().MosquitoNR()
YtoUV(u, v, last)


Changelog

 ver 0.10 2013-03-14
     - fixed a crash with AviSynth MT
     - added support for YV16, YV24, Y411, Y8
     - some speed optimizations
     - added English documentation
ver.120210 2012-02-10 - initial release


Acknowledgments

This filter is a combination of flash3kyuu's AviUtl plugin "smoothing filter" and nilpo's AviUtl plugin "low frequency components protection filter".
This combination was proposed by POP@4bit. I thank all of them very much.


Links





Back to External Filters

Personal tools