Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Development

Reply
 
Thread Tools Search this Thread Display Modes
Old 19th April 2020, 09:47   #1  |  Link
MeteorRain
結城有紀
 
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 889
[Neo] Vague-Denoiser

Neo filters family is not to be confused with AviSynth-Neo. Neo filters family is not affiliated in any way with AviSynth-Neo.

[Neo] Vague DenoiserGitHub

Vague Denoiser is a wavelet based denoiser.

Basically, it transforms each frame from the video input into the wavelet domain, using Cohen-Daubechies-Feauveau 9/7. Then it applies some filtering to the obtained coefficients. It does an inverse wavelet transform after. Due to wavelet properties, it should give a nice smoothed result, and reduced noise, without blurring picture features.

It was originally written by Lefungus, and later modified by Kurosu and Fizick for further improvement. VapourSynth-VagueDenoiser was ported to VapourSynth interface and refactored by HolyWu. Kudos to them for creating and improving this fantastic tool.

Difference compared to VapourSynth-VagueDenoiser
  • Dual interface, supporting AviSynth+ and VapourSynth
  • Added SSE and AVX routine

Result bit-identicalness
  • Neo-Vague-Denoiser C - VapourSynth-VagueDenoiser C: identical
    ===== ===== ===== =====
  • Neo-Vague-Denoiser SSE - C: non-identical due to order of floating point addition and multiplication
  • Neo-Vague-Denoiser AVX - C: non-identical due to order of floating point addition and multiplication
    PSNR on default parameters:
    8-bit ~93dB; 16-bit ~115dB
  • Neo-Vague-Denoiser SSE - AVX: identical
__________________
Projects
x265 - Yuuki-Asuna-mod Download / GitHub
TS - ADTS AAC Splitter | LATM AAC Splitter | BS4K-ASS
Neo AviSynth+ filters - F3KDB | FFT3D | DFTTest | MiniDeen | Temporal Median

Last edited by MeteorRain; 3rd May 2020 at 03:11.
MeteorRain is offline   Reply With Quote
Old 19th April 2020, 10:06   #2  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 9,113
Right from the beginning, my favourtite spatial denoiser, thanks very much.

EDIT: To below. yip, will do, again thanx
__________________
I sometimes post sober.
StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace

"Some infinities are bigger than other infinities", but how many of them are infinitely bigger ???

Last edited by StainlessS; 19th April 2020 at 10:08.
StainlessS is online now   Reply With Quote
Old 19th April 2020, 10:07   #3  |  Link
MeteorRain
結城有紀
 
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 889
You are very welcome. Definitely let me know if you see something wrong with it.
__________________
Projects
x265 - Yuuki-Asuna-mod Download / GitHub
TS - ADTS AAC Splitter | LATM AAC Splitter | BS4K-ASS
Neo AviSynth+ filters - F3KDB | FFT3D | DFTTest | MiniDeen | Temporal Median
MeteorRain is offline   Reply With Quote
Old 19th April 2020, 10:36   #4  |  Link
ChaosKing
Registered User
 
Join Date: Dec 2005
Location: Germany
Posts: 1,468
32 float input crashes vsedit.
Smaller resolutions have a green border
Code:
clip = core.std.BlankClip(format=vs.YUV420P8, width=480, height=480, length=500)
clip = core.neo_vd.VagueDenoiser(clip)
Tested clang version x64 on win10 ryzen 2600

EDIT green border is only with opt=4 or 5 visible => AVX stuff.
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth
VapourSynth Portable FATPACK || VapourSynth Database || https://github.com/avisynth-repository

Last edited by ChaosKing; 19th April 2020 at 10:40.
ChaosKing is offline   Reply With Quote
Old 19th April 2020, 11:04   #5  |  Link
MeteorRain
結城有紀
 
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 889
Please try r1v2.
__________________
Projects
x265 - Yuuki-Asuna-mod Download / GitHub
TS - ADTS AAC Splitter | LATM AAC Splitter | BS4K-ASS
Neo AviSynth+ filters - F3KDB | FFT3D | DFTTest | MiniDeen | Temporal Median
MeteorRain is offline   Reply With Quote
Old 19th April 2020, 13:42   #6  |  Link
Atak_Snajpera
RipBot264 author
 
Atak_Snajpera's Avatar
 
Join Date: May 2006
Location: Poland
Posts: 7,550
Quote:
Originally Posted by StainlessS View Post
Right from the beginning, my favourtite spatial denoiser, thanks very much.

EDIT: To below. yip, will do, again thanx
Too bad that it introduces reduction of resolution.

Original


neo_vd(threshold=10.0, nsteps=6, y=3, u=3, v=3)


KNLMeansCL(d=1, a=2, s=4, h=6, device_type="GPU", device_id=0)



One thing this filter does best is simulation of compression artefacts

threshold=25.0

Last edited by Atak_Snajpera; 19th April 2020 at 13:45.
Atak_Snajpera is offline   Reply With Quote
Old 19th April 2020, 14:07   #7  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 9,113
Dear me, never tried a threshold anywhere near as high as 25.0 or even 10.0.

My reminder thingy
Code:
# VagueDenoiser:- YUY2, YV12
# threshold:- filtering strength. 1-1.5 light : 2-3 strong)
#   -ve NO LUMA SMOOTHING
#   0 = Automatic estmimation (DEFAULT)
# ChromaT = Chroma thresholding
#   -ve NO Chroma SMOOTHING
#   0 = Automatic estmimation (DEFAULT)
# interlaced:- Process interlaced fields seperately. YV12 Only else ignored.
#VagueDenoiser(threshold=0.8,method=1,nsteps=6,chromaT=0,interlaced=false)  # EDIT: These are what I would use as starting values.
I dont have a machine that is fast enough for that KNLMeansCL() whotsit. [I dont care how long it takes, but I do have my limits ]

EDIT: I also have little interest in cartoons.
__________________
I sometimes post sober.
StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace

"Some infinities are bigger than other infinities", but how many of them are infinitely bigger ???

Last edited by StainlessS; 19th April 2020 at 14:11.
StainlessS is online now   Reply With Quote
Old 19th April 2020, 14:17   #8  |  Link
ChaosKing
Registered User
 
Join Date: Dec 2005
Location: Germany
Posts: 1,468
Quote:
Originally Posted by MeteorRain View Post
Please try r1v2.
All good now
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth
VapourSynth Portable FATPACK || VapourSynth Database || https://github.com/avisynth-repository
ChaosKing is offline   Reply With Quote
Old 19th April 2020, 14:48   #9  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,158
Finally, thanks

Atak_Snajpera
this filter also good for remove the bad ugly dither https://i.postimg.cc/tTBKJLbL/title0...-eng002928.png

with convertbits(16).neo_vd().convertbits(8) https://i.postimg.cc/sDT48smF/title0...eng002928v.png
__________________
See My Avisynth Stuff
real.finder is offline   Reply With Quote
Old 19th April 2020, 15:26   #10  |  Link
tormento
Acid fr0g
 
tormento's Avatar
 
Join Date: May 2002
Location: Italy
Posts: 1,703
Quote:
Originally Posted by MeteorRain View Post
[Neo] Vague Denoiser
Are you the same Neo who did Neo AviSynth or your "Neo" is just a prefix to the filters?

If you were the same person, I'd be begging you to port all this to CUDA or OpenCL.
__________________
@turment on Telegram
tormento is offline   Reply With Quote
Old 19th April 2020, 16:32   #11  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,158
Quote:
Originally Posted by tormento View Post
Are you the same Neo who did Neo AviSynth or your "Neo" is just a prefix to the filters?

If you were the same person, I'd be begging you to port all this to CUDA or OpenCL.
no, the one who made avs neo is nekopanda (I think he don't even has doom9 id)

you should say OpenCL or CUDA cuz OpenCL work even with cpu only (not all cpus though)
__________________
See My Avisynth Stuff
real.finder is offline   Reply With Quote
Old 19th April 2020, 17:01   #12  |  Link
tormento
Acid fr0g
 
tormento's Avatar
 
Join Date: May 2002
Location: Italy
Posts: 1,703
Quote:
Originally Posted by real.finder View Post
no, the one who made avs neo is nekopanda
We need to do some recruiting for OpenCL and CUDA programming. Some filters definitely needs performance boost.
__________________
@turment on Telegram
tormento is offline   Reply With Quote
Old 20th April 2020, 16:46   #13  |  Link
FranceBB
Broadcast Encoder
 
FranceBB's Avatar
 
Join Date: Nov 2013
Location: Metropolitan City of Milan, Italy
Posts: 1,398
Works fine on Windows XP.
Thanks!

Quote:
Originally Posted by MeteorRain View Post
it transforms each frame from the video input into the wavelet domain, using Cohen-Daubechies-Feauveau 9/7.
It does indeed.

Quote:
Originally Posted by MeteorRain View Post
Then it applies some filtering to the obtained coefficients. It does an inverse wavelet transform after. Due to wavelet properties, it should give a nice smoothed result, and reduced noise, without blurring picture features.
The Wavelet transform is one of the transform I like, although it's not my favorite.
It sure has a different approach when it comes to processing 'cause instead of dividing the image in blocks and macroblocks of arbitrary sizes (as long as they're square) like other transform, it processes the whole picture as a whole single block thus avoiding classic edge artifacts. Whether it's useful on denoise as well other than encoding I don't know, but the thing is that the last time I used this denoiser was a very long time ago and I didn't really plan to use the old Vague Denoiser in any modern footage, but since you updated it, I downloaded it, tested it and kept it in my sacred plugins folder 'cause, you know, it's just nice to have.

Quote:
Originally Posted by StainlessS View Post
I also have little interest in cartoons.
Well, perhaps until your grandchildren will ask you to watch them with them; in that case you'll either like them or hate them for the rest of your life xD (just joking, just joking)
As a matter of fact, I began learning about AVS in 2006 only because of anime (i.e cartoons for adults), but I've encoded less and less of them as I grew up, mostly because of my job concerning only real life stuff and... also because I kinda grew up; still from time to time, although rarely, I still help the fansub I started with years ago. :')
If someone asks me something like "Hey, let's watch Your Name", I'm still keen to watch it and I enjoy it.
Of course, I would NEVER watch stuff like cartoons for children that air on Cartoon Network or stuff like that.
Fun story: there was a time in 2016 when I had to QC all of them after encoding (it was my job T_T) and unfortunately I had to watch this kind of crap for children that I hated from the bottom of my hearth. But it was my job... I couldn't do anything about it...

Last edited by FranceBB; 20th April 2020 at 16:55.
FranceBB is offline   Reply With Quote
Old 20th April 2020, 17:56   #14  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: Providence, RI
Posts: 2,538
don't you guys differentiate cartoon (comics in the US) and anime (comics in Japan)?
__________________
If I got new ideas, will post here: https://github.com/IFeelBloated
feisty2 is offline   Reply With Quote
Old 20th April 2020, 18:04   #15  |  Link
FranceBB
Broadcast Encoder
 
FranceBB's Avatar
 
Join Date: Nov 2013
Location: Metropolitan City of Milan, Italy
Posts: 1,398
Quote:
Originally Posted by feisty2 View Post
don't you guys differentiate cartoon (comics in the US) and anime (comics in Japan)?
We do, but anime nowadays are way different.
We can think about them as cartoons but for adults: they are very well developed and they have very good scripts, capable of describing in detail how characters grow up, thus sharing important messages about life, about friendship and so on...
Back when StainlessS was young, however, japanese anime were mainly about giant robots fighting against each other, which many people didn't find very appealing for obvious reasons...
He's from a completely different generation

Last edited by FranceBB; 20th April 2020 at 18:06.
FranceBB is offline   Reply With Quote
Old 20th April 2020, 19:11   #16  |  Link
tormento
Acid fr0g
 
tormento's Avatar
 
Join Date: May 2002
Location: Italy
Posts: 1,703
This thread has definitely gone to hell.
__________________
@turment on Telegram
tormento is offline   Reply With Quote
Old 26th April 2020, 17:46   #17  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,158
Quote:
Originally Posted by tormento View Post
This thread has definitely gone to hell.
why?

Quote:
Originally Posted by FranceBB View Post
We do, but anime nowadays are way different.
We can think about them as cartoons but for adults: they are very well developed and they have very good scripts, capable of describing in detail how characters grow up, thus sharing important messages about life, about friendship and so on...
Back when StainlessS was young, however, japanese anime were mainly about giant robots fighting against each other, which many people didn't find very appealing for obvious reasons...
He's from a completely different generation
not all USA cartoons for children, there are many for adults like South Park

but most cartoons don't has attractive drawing as most Japanese Animes


@MeteorRain

I note 16bit output not same as 8bit, is it normal or there are some bug?
__________________
See My Avisynth Stuff
real.finder is offline   Reply With Quote
Old 26th April 2020, 17:57   #18  |  Link
tormento
Acid fr0g
 
tormento's Avatar
 
Join Date: May 2002
Location: Italy
Posts: 1,703
Quote:
Originally Posted by real.finder View Post
why?
I was laughing on my own about misconceptions about anime/cartoons.

Some of the most quoted "anime" aired now are written, produced and drawn in other countries than Japan. Not because it costs less but because they are trendy and other country studios are interested to produce their own.

On the 1st best 10 anime aired now, 2/3 are chinese and chinese spoken.

Personally I trained my ear to japanese during these years and it's really hard to listen to them in mandarin.

Please keep also in mind that the so called "anime" or "manga" are the same as "cartoon" or "stripe", just with a different style.

Italian stripes, for examples, have worldwide recognized artists like Milo Manara or Hugo Pratt, with their unique style, completely different from american ones, with deep introspection of characters and stellar graphics. More modern artists, such as Zerocalcare, has chosen to go to a more "manga" style stripe, because it's what people want now, and he uses that style to spot life dilemmas, always in a bittersweet mood.

So, IMHO there is no difference between anime or cartoons, there are differences in the style and the cultural influence of every single nation.
__________________
@turment on Telegram

Last edited by tormento; 26th April 2020 at 18:00.
tormento is offline   Reply With Quote
Old 3rd May 2020, 03:35   #19  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,158
Quote:
Originally Posted by real.finder View Post
@MeteorRain

I note 16bit output not same as 8bit, is it normal or there are some bug?
It is very clear with luma_histogram
__________________
See My Avisynth Stuff

Last edited by real.finder; 3rd May 2020 at 03:38.
real.finder is offline   Reply With Quote
Old 3rd May 2020, 06:20   #20  |  Link
MeteorRain
結城有紀
 
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 889
A minimal script please.

I tried the below and they look the same.

convertbits(16).rel_neo_vd().convertbits(8).luma_histogram()
rel_neo_vd().luma_histogram()
__________________
Projects
x265 - Yuuki-Asuna-mod Download / GitHub
TS - ADTS AAC Splitter | LATM AAC Splitter | BS4K-ASS
Neo AviSynth+ filters - F3KDB | FFT3D | DFTTest | MiniDeen | Temporal Median
MeteorRain is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 21:41.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, vBulletin Solutions Inc.