MosquitoNR
From Avisynth wiki
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.
- Sets the strength of the blur.
- Range: 0 - 32
- strength int = 16
- 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.
- Sets the rate of restoring.
- Range: 0 - 128
- restore int = 128
- radius int = 2
- Range: 1 - 2
- Sets the radius of the blur.
- "1 is faster, but will have insufficient effect in some cases.
- Range: 1 - 2
- radius int = 2
- 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.
- Controls how many threads are used.
- Range: 0 - 32
- threads int = 0
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.
- flash3kyuu's web page (Japanese): http://www.geocities.jp/flash3kyuu/
- nilpo's web page (Japanese): http://nilposoft.info/aviutl-plugin/
- POP@4bit's web page (Japanese): http://pop.4-bit.jp/?p=3362
Links
- Doom9 Forum - MosquitoNR discussion.
Back to External Filters ←