Log in

View Full Version : MeGUI filter renewal


Zathor
15th September 2011, 20:20
The AviSynth filters in MeGUI used for denoising/deinterlacing have not changed in years. Therefore new filters may be available which improve the quality or the workflow. As I am clearly no expert in that area I would like to have your feedback what can be improved in MeGUI regarding AviSynth.

Currently these filters are used:

Denoise

Undot() # Minimal Noise
mergechroma(blur(1.3)) # Little Noise
FluxSmoothST(7,7) # Medium Noise
Convolution3D("movielq") # Heavy Noise


Deinterlace / IVTC

Yadif()
TDeint()
TomsMoComp()
FieldDeinterlace()
tfm(order=-1).tdecimate()
Telecide(guide=1).Decimate()
TDecimate(cycleR=0)
tfm(order=1).tdecimate(hybrid=1)
tfm(order=1).tdecimate(hybrid=3)
LeakKernelDeint(order=1,sharp=true)


The deinterlace/ivtc filters are selected based upon the detected source types. These types are detected by an script based on TIVTC.dll. The possible types are:

Progressive
Interlaced
Film
M-in-5 decimation required
Hybrid film/interlaced. Mostly film
Hybrid film/interlaced. Mostly interlaced
Partially interlaced
Partially film


At the moment I am thinking about adding MCTemporalDenoise() (with the options "very low" to "very high") and removing all other denoisers. With MCTemporalDenoise() is it only a short step to TempGaussMC(). But I am unsure if it can replace all deinterlacers, reduce the necessary source type list or which settings should be used by default. Any feedback is welcome!

flebber
16th September 2011, 07:37
For denoising especially for light noise removal. I like vagudenoiser, it is quick, effective and on light and medium settings I have not had side effects. I rarely encode animation so I cannot comment to much on its effect n them.

links
Avisnyth Vaguedenoiser http://avisynth.org.ru/vague/vaguedenoiser.html
Fiziks Avisynth http://avisynth.org.ru/fizick.html
A good brief guide here Scintilla's guide http://www.aquilinestudios.org/avsfilters/spatial.html#vague

flebber
16th September 2011, 07:47
Should have mentioned dfftest as well home page here http://bengal.missouri.edu/~kes25c/ and doom9 discussion thread http://forum.doom9.org/showthread.php?t=132194 It gives great results for me but on my computers it has a big impact on encoding speed, very slow for me.

Not sure if its in the scope of what you were thinking but "Sharpeners" LSFmod. Easy to set defaults and good results.
http://avisynth.org/mediawiki/LSFmod and doom9 discussion thread http://forum.doom9.org/showthread.php?t=142706

7ekno
16th September 2011, 12:17
MCTemporalDenoise() would be a great addition :)

You can replace Undot() with RemoveGrain(mode=1) since it runs faster and is the same algorithm ...

So minimal noise = RemoveGrain(mode=1), little noise would be MCTemporalDenoise(settings="low", +/- GPU=true), medium noise would be MCTemporalDenoise(settings="medium", +/- GPU=true) and heavy noise would be MCTemporalDenoise(settings="heavy", +/- GPU=true) ...

For the de-interlacers, you can't go past QTGMC and it's preset system (which effectively matches what you already have setup, just in a single script), it surpasses TGMC() in speed and quality and has a great selection of "speed vs quality" options already built in!

7ek

Gser
16th September 2011, 12:36
All of the above and Deblock_QED for deblocking.

flebber
16th September 2011, 13:20
Have to put a vote down for MCtemporal denoise as its a compilation of multiple filters not just denoising I think its misleading to new users especially, and for me 14 filters is overkill in most cases.

MCtemporal Denoise is:
MVTools (v2.5.10),
MaskTools (v2.0a43),
LSFmod (v1.9),
FFT3Dgpu (v0.8.2.7) or FFT3Dfilter (v2.1.1),
TTempsmooth (v0.9.4),
RemoveGrain + Repair (v1.0PR),
Deblock (v1.2),
Deblock_QED (25.may.2010),
DctFilter (v0.0.1.4),
EEDI2 (v0.9.2),
SangNom (v1.0beta),
GradFun2DBmod (v1.5),
GradFun2db (v1.0),
AddGrainC (v1.5).

If we are going with removegrain what about using modes 5 or 19?

aegisofrime
16th September 2011, 13:43
This thread sounds like a great opportunity to review the current state of Avisynth filters as well :D

markanini
16th September 2011, 14:05
Maybe QTGMC and the latest SMDegrain?

javlak
16th September 2011, 15:10
I agree to all posts above me, adding fft3dfilter and MC_Spuds.

jmac698
16th September 2011, 22:20
Updated wiki (I wish more people would do this)
http://avisynth.org/mediawiki/Denoisers

aegisofrime
17th September 2011, 04:54
Maybe QTGMC and the latest SMDegrain?

QTGMC should definitely be among the deinterlacers!

Wilbert
17th September 2011, 13:39
@All,

I don't like that wiki page: http://avisynth.org/mediawiki/Denoisers for several reasons: (1) Such comparisons are always subjective, (2) it depends very much on the type of source (life video, anime, analog caps, etc ...) you are denoising and (3) references (of the comparisons themselves) are completely lacking.

At most (in my view) you can list some/all denoising methodes and compare them in 'an objective as much' possible way with various sources. But until then we should probably remove that page. Thoughts?

saint-francis
17th September 2011, 15:23
I had been using MCTD for a long while with MeGUI and an AVS profile and dreamt of the day it would be incorporated into MeGUI. I have since stopped this practice because I've been finding that it blurs the image too much. This is no doubt due to my poor understanding of how to use it. It does offer great flexibility though and if it could be set up properly I think it would work quite well.

jmac698
17th September 2011, 19:10
@wil
I think someone made this comment to me before, if you don't like it improve it :) But sometimes I didn't like that answer, because I had to learn to code for some big open source project and didn't have the time or skills, so the concept fails. In this case, anyhow can make a few screenshots.

As for the page,
-People will search for comments/recommendations anyhow. Hiding the page isn't going to stop them. They want *something*.
-One persons recommendation represents an evaluation of many alternatives. If it's ok for them, there's a better chance it's something you might like. The general question is, what is the value of recommendation systems in general? Well let me answer - it works for Amazon, and they make money from it.. remember the famous contest about it.
-There are very valid comments like, plugin X does the same algorithm as plugin Y but it's faster
-Many recommendations is an indication that an underlying statistical preference is being met
-You *can* say what is best, subjectively, for most people, otherwise we'd never get progress in say codecs. You can read public codec tests for example.
-Some old objective metrics are shown not to be well related to subjective impressions
-Some errors everyone can agree on, though the value of how annoying it is varies. So a comment like, it never makes artefacts, could be a valid point.
-If you don't like the page, improve it - post some screenshots to the page
-For me, out of 50 plugins to try, at least narrowing the list of alternatives is worth it to me. I'm sure there's some kind of value in a tuned script like tempguassmc as compared to random settings on some old plugin...
-Some algorithms have such good performance that there's no denying they are better. TNLmeans blows away previous limits in denoising.
-I think the recommendations are filtering out the alternatives with obviously bad errors, leaving more preference-based errors behind. So you can say the recommendations have no obvious glithes, are about the same, but have a different "look"

johnmeyer
17th September 2011, 22:22
I don't like that wiki page: http://avisynth.org/mediawiki/Denoisers for several reasons: (1) Such comparisons are always subjective, (2) it depends very much on the type of source (life video, anime, analog caps, etc ...) you are denoising and (3) references (of the comparisons themselves) are completely lacking.

At most (in my view) you can list some/all denoising methodes and compare them in 'an objective as much' possible way with various sources. But until then we should probably remove that page. Thoughts?I am a junior member on this forum, so my thoughts probably don't count for much, but I have always felt that Forum Rule #12 was (and is) too strict. I understand at least some of the reasons why you want to restrict people from asking or posting what is "best." I assume the link to this Wiki is potentially in violation of that rule, but you are asking for opinions as to whether or not the rule has been broken.

Speaking for myself (OK, who else would I be speaking for?), I find the listing useful, and the author's ranking intersting. I actually don't agree with the ranking, but I find VERY useful the author's reasoning for why he chooses the ranking. It is for this reason that I don't like the restriction on posting about what is best or better. I realize that discussions about "best" have led, and might again lead, to flame posts and other problems. But, having acknowledged that problem, we have some amazingly smart people posting here in this forum, and I would value having more direct access to their thinking, opinions, and recommendations.

You asked for "thoughts." Those are mine, FWIW.

DeathAngelBR
18th September 2011, 01:13
I wish there was an improved version of tfm/tdeint. MT QTGMC ( Preset="Slower", noisepreset="slower", noiseprocess=1, grainrestore=0.0, noiserestore=0.0 ) + LSF is way too slow on my quadcore, too much time demanding for me. 12 hours for an awful 720x480 dvd source, what the hell.

jmac698
18th September 2011, 01:15
wow, very well put! I couldn't have expressed it better. I've also always felt the same about that rule. I think the only problem is trying to make it into one "best" instead of just saying "one of the better alternatives, and these are the tradeoffs".

Zathor
18th September 2011, 21:43
@all: Thank you very much for your feedback.

I do not want to start this "best" discussion. I am just searching for a good replacement for the old filters in MeGUI. I am therefore in search for filters which produce for most sources an (above) average result. I am dreaming of as less as possible filters which the user can select from e.g.
2-3 denoisers and the recommended main denoiser is fast and will not harm the result as the video beginner will very likely not change the selection and - also very likely - will complain about low speed :rolleyes:
As a result the RemoveGrain(mode=1) + MCTemporalDenoise() seems to be a good advice. I will check them out but feedback is of course still welcome!

Have to put a vote down for MCtemporal denoise as its a compilation of multiple filters not just denoising I think its misleading to new users especially, and for me 14 filters is overkill in most cases.
Why do you think it is overkill? MeGUI will download and update these filters if necessary and the user does not need to handle them. And also in most of the newer avsi files a lot of these filters are required, too. So if e.g. MeGUI will use QTGMC some/most are needed as well.

For the de-interlacers, you can't go past QTGMC and it's preset system (which effectively matches what you already have setup, just in a single script)
If I understand you correctly QTGMC can handle all of the deinterlace cases in my first posting? But I assume that IVTC is still required? At least a quick search shows that QTGMC seems to have no IVTC part.

flebber
18th September 2011, 22:21
Why do you think it is overkill? MeGUI will download and update these filters if necessary and the user does not need to handle them. And also in most of the newer avsi files a lot of these filters are required, too. So if e.g. MeGUI will use QTGMC some/most are needed as well.


The current range of megui denoisers all perform their function by themselves, that is they are one filter (undot, fluxsmooth etc). Therefore if there is a side effect as a result of the denoising process you would know exactly where the error came from.

Why is it Overkill? Yes I have done encodes with multiple filters but never met an encode where I required 14 of them. With McTemporal you are not only denoising but line sharpening and god knows what else.

A side effect in your encoded source from mctemporal denoise is hard to figure because which of the 14 filters did it or was it the result of more than one? Your going to struggle to find out.

Its just total overkill on light to medium sources to me.

jmac698
18th September 2011, 22:53
Ok, it's possible to trace what exactly is happening, but not all 14 plugins are being used! Here is what you get with denoise and setting "very low"
fft3d(sigma=1), MVDegrain, MVTools(idx=40)
From http://avisynth.org/mediawiki/MCTemporalDenoise

So it looks like 3 filters are being used. I can't say for sure without going through the whole script myself. In fact in all the settings except high, those are the only 3 filters (high uses ttempsmooth). It's simple to test, call the denoising only and see what error messages you get, keep adding plugins until it works.

flebber
19th September 2011, 14:34
Ok, it's possible to trace what exactly is happening, but not all 14 plugins are being used! Here is what you get with denoise and setting "very low"
fft3d(sigma=1), MVDegrain, MVTools(idx=40)
From http://avisynth.org/mediawiki/MCTemporalDenoise

So it looks like 3 filters are being used. I can't say for sure without going through the whole script myself. In fact in all the settings except high, those are the only 3 filters (high uses ttempsmooth). It's simple to test, call the denoising only and see what error messages you get, keep adding plugins until it works.

Thats exactly why I don't use Mctemporaldenoise, if I want a filter I will add it, each filter has its use and place. There are scripts that I have used multiple filters on indeed, but I choose the filters and their settings individually for the job at hand.

You used as an example the "very low" setting set to denoise only using 3 filters. Wouldn't very low denoise be a high quality source, a source not really requiring 3 filters?

Currently the megui low setting is undot and that has worked well for years. The proposed change would then have for low:undot = ft3d(sigma=1), MVDegrain, MVTools(idx=40)

7ekno above suggestedundot = RemoveGrain(mode=1) I agree with 7ekno. Personally I would use: undot = VagueDenoiser(threshold=0, method=3, nsteps=5, chromaT=0)

Overdrive80
21st September 2011, 19:52
SharpAAMCmod of AnimeIVTC would be good for megui. MSmooth for anime with this config (mask=false, threshold=5, strength=3, chroma=false) must be useful or asharp too.

Betsy25
29th March 2012, 00:21
@Zathor,

any idea about having the time to change the ones you perfectly know are better without too many restrictions & performance impact ?

I'm asking because i encoded a Black&White movie with lots of grain, so i re-encoded the one using MeGUI's default heavy noise filter :
Convolution3D("movielq") # Heavy Noise

... and to be honest, the result was almost all noise still there, and a far more blurry movie than the original encode without this denoiser.

So, perhaps if people having knowledge about these denoisers, simple tips for Zathor like "Replacing the default Light Denoiser with *x* is a safe bet and a better result".

flebber
29th March 2012, 06:50
@betsy have you tried dfftest it does a great job but can be a little slow. Also try fft3dfilter you can enable adaptive sigmas to get a better result .

Betsy25
29th March 2012, 13:01
@betsy have you tried dfftest it does a great job but can be a little slow. Also try fft3dfilter you can enable adaptive sigmas to get a better result .

Thanks for the suggestion flebber,
It's a little hard at actually *finding* these filters or the actual creator's website.

flebber
30th March 2012, 02:19
http://avisynth.org.ru/fft3dfilter/fft3dfilter.html fft3dfilter download at bottom.

http://web.missouri.edu/~kes25c/ dfftest and the doom9 thread http://forum.doom9.org/showthread.php?t=132194

Betsy25
30th March 2012, 12:44
http://avisynth.org.ru/fft3dfilter/fft3dfilter.html fft3dfilter download at bottom.

http://web.missouri.edu/~kes25c/ dfftest and the doom9 thread http://forum.doom9.org/showthread.php?t=132194

Thanks a lot flebber,
I have already tested MCTemporalDenoise (high setting) and the results were quite good, although really slow encoding (4 fps - Core i5 2500k)

flebber
30th March 2012, 13:54
Thanks a lot flebber,
I have already tested MCTemporalDenoise (high setting) and the results were quite good, although really slow encoding (4 fps - Core i5 2500k)

Thats good glad you got your video done. Never liked it(MCTemporalDenoise) personally as its like throwing the kitchen sink at your clip and hoping for the best which on a few of my videos caused side effects.

I go by the less is more motto now. ft3dfilter and mvdegrain are doing most of the denoising work in that filter you may want o try them separately and you may get a result at better speed, that's if your the curious type :)

the other denoise filter in there is removegrain, best mode(19)

Betsy25
1st April 2012, 17:45
Thats good glad you got your video done. Never liked it(MCTemporalDenoise) personally as its like throwing the kitchen sink at your clip and hoping for the best which on a few of my videos caused side effects.

I go by the less is more motto now. ft3dfilter and mvdegrain are doing most of the denoising work in that filter you may want o try them separately and you may get a result at better speed, that's if your the curious type :)

the other denoise filter in there is removegrain, best mode(19)
I'm encoding it with fft3dfilter & dfftest tonight.
Will check how it compares, thanks a lot !