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 Usage
Register FAQ Calendar Today's Posts Search

Closed Thread
 
Thread Tools Search this Thread Display Modes
Old 5th November 2010, 22:48   #81  |  Link
der_groschi
Registered User
 
Join Date: Sep 2007
Posts: 9
Hey Vit, thanks for your great work on this awesome script.
Quote:
@aegisofrime: Progressive input works, but has limited use - it is not a panacea. Maybe there are tweaks to be made, but any improvements will be tiny.
Well, recently "inputtype=2" did a great job for me on two problematic sources. The first one was a hard telecined DVD source which obviously came from an analog video source. It definitely wasn't fieldblended, but still something strange was going on with the original fields so the result of "TFM().TDecimate()" still had some combing and aliasing in it. QTGMC fixed it perfectly.
The second one was a heavily aliassed 30 FPS progressive DVD Source, which seemed to be the result of exactly the bad deinterlacing you say "inputtype=2" is designed for.
I haven't tested it yet, but i'd expect it to work just as good as a postprocessor for TDeint+NNEDI'ed and then srestore'd material.

Now, what do you suggest about that? Recently i've always feeded fieldblended material through good ol' TempGaussMC and then deblended it with srestore. The results were pretty satisfying, but it always seemed a bit unreasonable to me, first from a speed standpoint, beacuse TGMC had to process many frames (more then half) that get thrown away later anyway, and also because TGMC cannot develop all its power on such sources anyway because (if i understand this correctly) its motion compensated parts are pretty useless on non-pure interlaced sources.
What do you think about that? Is using QTGMC afterwards in progressive mode more reasonable or ar there still any benefits from the "oldschool"-aproach?

Last edited by der_groschi; 5th November 2010 at 22:52.
der_groschi is offline  
Old 6th November 2010, 20:43   #82  |  Link
-Vit-
Registered User
 
Join Date: Jul 2010
Posts: 448
I don't work with fieldblended material or problem sources generally so others may be able to make better comment from experience. Your idea is to deinterlace in such a way to retain more detail (but also with more shimmering/aliasing), then remove the fieldblending, then QTGMC away the shimmer. The idea being that this will involve less processing as well as avoid using motion-compensation when the field blending is still there.

Progressive QTGMC is certainly effective to remove deinterlacing residue from earlier processing so your workflow seems to be within spec for QTGMC. Whether it's the best approach for this kind of material I cannot say having not tried it. I play down progressive QTGMC effectiveness in the general case because it's only tailored for sources with thin horizontal shimmer.

Last edited by -Vit-; 6th November 2010 at 20:49.
-Vit- is offline  
Old 13th November 2010, 21:35   #83  |  Link
pokazene_maslo
Registered User
 
Join Date: Apr 2009
Location: Martin, Slovakia
Posts: 79
Hello. How to set up QTGMC for stronger denoising? I have an interlaced DVD with lots of noise. So far I'm using this command: "QTGMC( Preset="Very Slow", Edimode="EEDI2", Sigma=2.2 , NoiseBypass=0)". AFAIK sigma parameter is useless if NoiseBypass=0. Thanks.
pokazene_maslo is offline  
Old 14th November 2010, 00:28   #84  |  Link
henryho_hk
Registered User
 
Join Date: Mar 2004
Posts: 889
Try putting degrainmedian(mode=2, interlaced=true) or even degrainmedian(mode=1, interlaced=true) before QTGMC().
henryho_hk is offline  
Old 14th November 2010, 00:48   #85  |  Link
-Vit-
Registered User
 
Join Date: Jul 2010
Posts: 448
The NoiseBypass setting is designed to retain noise that TGMC would normally lose, but it can be used to reduce noise too. However, you're switching off all noise processing by setting NoiseBypass to 0 and you're just seeing the denoising that inevitably comes with any TGMC processing.

There are three related parameters, NoiseBypass, NoiseRemove and NoiseRestore.
You should use NoiseBypass=1: this will remove noise before processing with the intent of restoring it afterwards. However, in your case you're not going to restore any.
NoiseRemove is a value 0.0 to 1.0, to indicate how much noise (at the selected Sigma level) you wish to remove before TGMC processing. Clearly you want 1.0 or close to it.
NoiseRestore is a value 0.0 to 1.0 (or more) to indicate how much noise to restore after processing. You should use 0.0 or a small value.
You should ensure you specify all these settings, because otherwise you'll get the defaults for "Very Slow", which include some noise retention.

So a initial attempt might be:
Code:
QTGMC(Preset="Very Slow", EdiMode="EEDI2", NoiseBypass=1, NoiseRemove=1.0, NoiseRestore=0.0, Sigma=2.2 )
Obviously, tweak for preference. You could try setting tr2=3 to get more denoising out of TGMC too.

As henryho_hk has indicated, for your purposes you could just denoise separately instead.

Last edited by -Vit-; 14th November 2010 at 00:57.
-Vit- is offline  
Old 14th November 2010, 02:48   #86  |  Link
henryho_hk
Registered User
 
Join Date: Mar 2004
Posts: 889
When there is a large amount of grain, degrainmedian() helps mdegrain3() greatly, being more cost-effective than mdegrain4/5/6 mods in many cases.
henryho_hk is offline  
Old 14th November 2010, 03:33   #87  |  Link
pokazene_maslo
Registered User
 
Join Date: Apr 2009
Location: Martin, Slovakia
Posts: 79
Thanks for very explanatory answer -Vit-. Finally a filter that provides results I wanted! Also thanks to henryho_hk, but I don't like the idea to run two separate denoisers when one properly set up can do the job.
pokazene_maslo is offline  
Old 14th November 2010, 04:41   #88  |  Link
henryho_hk
Registered User
 
Join Date: Mar 2004
Posts: 889
By adding NoiseRemove=1.0, we are activating FFT3DFilter(), which is quite strong. If we don't apply NoiseRestore in combination, the output may look too smooth to be realistic.
henryho_hk is offline  
Old 14th November 2010, 19:03   #89  |  Link
-Vit-
Registered User
 
Join Date: Jul 2010
Posts: 448
henryho_hk makes a good point. Should consider the effect of using NoiseBypass on details:

QTGMC-NoiseBypass uses FFT3DFilter, which is a spatio-temporal denoiser. However, at the core of QTGMC is MDegrain, which is a motion-compensated temporal denoiser (used regardless of NoiseBypass). MDegrain has a better chance of removing noise without losing detail on moving images since it is motion compensated. So there's good reason to consider lowering NoiseRemove from 1.0 - allowing the MDegrain to do some denoising, and hopefully retaining some more detail. Similarly, you may also wish to increase NoiseRestore from 0, to get back the impression of any lost detail, without making the restored noise too prominent. Depends on how terminally noisy your source is though...

A related point - QTGMC resharpens quite strongly, which will enhance any remaining noise. You may wish to consider reducing sharpness. I actually think Sharpness=0.3 or so is closer to the source.

Although not relevant for noise removal, for completeness I should note the purpose of NoiseBypass=2. This mode measures the noise at the start and restores at the end using the same settings as mode 1. But it only measures the noise at the start - it doesn't actually remove any. This mode expects the TGMC process to do all the denoising, then adds some noise back at the end. As such it tends to give stronger grain retention, and even a sharpening effect unless applied lightly. Suggested NoiseRestore value is around 0.4 for this mode.
-Vit- is offline  
Old 14th November 2010, 20:16   #90  |  Link
Boulotaur2024
Registered User
 
Join Date: May 2010
Location: France
Posts: 26
Quote:
Originally Posted by -Vit- View Post
I actually think Sharpness=0.3 or so is closer to the source.
... How about making it the default value then :] ?
Boulotaur2024 is offline  
Old 14th November 2010, 21:36   #91  |  Link
-Vit-
Registered User
 
Join Date: Jul 2010
Posts: 448
Quote:
Originally Posted by Boulotaur2024 View Post
... How about making it the default value then :] ?
I wanted QTGMC to be a drop-in replacement for TempGaussMC_beta2. I wanted to encourage uptake. So I kept all the important defaults the same when I first released it.
Many people used the defaults for TGMC_b2 and are continuing to do so on QTGMC. They're used to the additional sharpness. Didn't want them to think that QTGMC was "blurry"!

However, QTGMC is well used now so I'll probably tweak the default in the next version (with a big warning notice!).
-Vit- is offline  
Old 14th November 2010, 21:57   #92  |  Link
pokazene_maslo
Registered User
 
Join Date: Apr 2009
Location: Martin, Slovakia
Posts: 79
Quote:
Originally Posted by -Vit- View Post
QTGMC-NoiseBypass uses FFT3DFilter, which is a spatio-temporal denoiser. However, at the core of QTGMC is MDegrain, which is a motion-compensated temporal denoiser (used regardless of NoiseBypass).
Hmm. What about adding motion compensation to FFT3DFilter?
pokazene_maslo is offline  
Old 14th November 2010, 22:16   #93  |  Link
Didée
Registered User
 
Join Date: Apr 2002
Location: Germany
Posts: 5,391
You're not forced to like the default values. But they have been chosen for a technical reason.

The decision factor for TGMC's sharpness defaults was: the case of perfectly-static sections. (Keep in mind that TGMC does not use the "no motion -> weave fields" method). In perfectly motionless areas, the temporal processing is reducing the signal amplitude significantly (in borderline cases: 50% reduction). The default sharpness values of TGMC have been chosen to restore most of this loss. You can use lower sharpness settings, but then static sections (subtitles, logos, static backgrounds) will come out more blurry.

Example (650 kB)

I agree the sharpening is a bit of a weak point - another aspect is areas of bad motion matching. there's danger that artifacts from bad matching may get additionally enhanced.

=> Full sharpening for static areas, somewhat less sharpening for motion areas, and no or only little sharpening for badly matched motion areas. (Sounds good? Sounds ... slow!)

Looking closer, there's quite a few more aspects that influence the required sharpening strength: the "Lmode" (spatial or temporal), which kind of interpolator is used, which kind of sharpening mode, thinning, a.s.o.

_____

Unrelated to sharpening:
A few days ago, on the German board we found a case where TGMC turned out to be pretty effective in removing rainbowing ... but only when the chroma repair section was disabled. The bands of chroma fringes often are too broad to get through the repair section. OTOH, completely switching off the repair often is not such a good idea.
Suggestion: separate switch whether the repair values (NonBobDiff) shall work on luma+chroma, or only on luma.
__________________
- We´re at the beginning of the end of mankind´s childhood -

My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!)
Didée is offline  
Old 18th November 2010, 12:54   #94  |  Link
William.Lemos.BR
Registered User
 
Join Date: Oct 2010
Posts: 18
Hi, everyone!

Since my last post I've been doing some tests and experiences with QTGMC. I say with gladness that I've achieved some REALLY IMPRESSIVE results. Thanks, Dideé, for your astonishing script and congratulations, Vit, for the improvements in QTGMC.

My goal is to use QTGMC for converting old VHS tapes into Blu-ray. Playing with the QTGMC's parameters and using MT I've managed to get a good balance between process speed / quality (in my old PentiumD 3.20GHz, running Win7 64). Now I can do 1 hour convertion in 24 hours with this code:

Quote:
MT(""" QTGMC( Preset="Placebo", EdiMode="NNEDI3", EdiQual=1, NoiseBypass=2, Lossless=1, LosslessTR=3, LosslessPreset="Placebo", SubPel=4)""", 4,4)
I've choosed SubPel=4 'cause noticed some improovement in edge details (specially after I upscale to 720p using VideoEnhancer). Then I use NeatVideo to do some filtering in HD (my tests shows that this sequence gives the best results).

Just one thing that may be helpfull: when I set "EdiQual=3" VirtualDub crashes. Actually I'm satisfied with current settings and probably won't change them (just tried it 'cause QTGMC's help text gives this possible parameter), but NNEDI seems to alow EdiQual to be 1 or 2 (the error message said so).

Anyway, I'm going to use QTGMC extensively from now on and expect to help you somehow in retribution. Thanks a LOT!

Last edited by William.Lemos.BR; 18th November 2010 at 12:58.
William.Lemos.BR is offline  
Old 18th November 2010, 14:10   #95  |  Link
Didée
Registered User
 
Join Date: Apr 2002
Location: Germany
Posts: 5,391
Quote:
VideoEnhancer
Quote:
NeatVideo
Herewith I declare that you are forbidden to use TGMC or QTGMC.

/endofjoke

Could you show examples where pel=4 gives a visible advantage over pel=2? From my past experiences it's like 98% wastoftime + 2% improvement ...

Also, probably I'd rather go for upscaling with NNEDI, instead of VideoEnhancer. (It has been discussed before - my opinion is that VideoEnhancer can not hold its claims when it receives smoothely sampled input: it is impossible for simple technical reasons.)
Ideally would by upsampling internally in TGMC (i.e. combining the temporal processing with the upscaling), rather than using it in a post-upsampling style. But that's not trivial - it won't integrate easily, because of the "repair" section of Q/TGMC. (The spatial radii won't fit anymore when the upscale is made inbetween. )
__________________
- We´re at the beginning of the end of mankind´s childhood -

My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!)

Last edited by Didée; 18th November 2010 at 14:52. Reason: just a typo
Didée is offline  
Old 18th November 2010, 14:27   #96  |  Link
Boulotaur2024
Registered User
 
Join Date: May 2010
Location: France
Posts: 26
Quote:
Originally Posted by Didée View Post
The decision factor for TGMC's sharpness defaults was: the case of perfectly-static sections.
Ah sorry I thought QTGMC defaults were higher than the original TGMC (pretty sure I had read that somewhere... oh well)... Thanks for the explanation anyway, they're always valuable coming from you :]

Quote:
Originally Posted by William.Lemos.BR View Post
Then I use NeatVideo to do some filtering in HD (my tests shows that this sequence gives the best results).
Sorry for not being ontopic, but "best results" compared to what ? (just out of curiosity)
Boulotaur2024 is offline  
Old 18th November 2010, 19:39   #97  |  Link
-Vit-
Registered User
 
Join Date: Jul 2010
Posts: 448
Quote:
Originally Posted by William.Lemos.BR View Post
When I set "EdiQual=3" VirtualDub crashes. Actually I'm satisfied with current settings and probably won't change them (just tried it 'cause QTGMC's help text gives this possible parameter), but NNEDI seems to alow EdiQual to be 1 or 2 (the error message said so).
You're correct, thanks. NNEDI3 only allows quality setting = 1 or 2, whereas NNEDI2 allows 1,2 or 3. I'll correct the code/comment in the next version.
-Vit- is offline  
Old 19th November 2010, 08:23   #98  |  Link
wohoo
Guest
 
Posts: n/a
Can some one kindly upload the AddGrainC 1.5, as the link for it on the first page doesn't work.
 
Old 19th November 2010, 12:22   #99  |  Link
-Vit-
Registered User
 
Join Date: Jul 2010
Posts: 448
I've updated the links for AddGrain in the OP. There was a slightly newer version that I had missed.
-Vit- is offline  
Old 19th November 2010, 16:25   #100  |  Link
William.Lemos.BR
Registered User
 
Join Date: Oct 2010
Posts: 18
Quote:
Originally Posted by Didée View Post
Herewith I declare that you are forbidden to use TGMC or QTGMC.
My god! I'm feeling as if I had fallen (with a parachute) into the middle of a gunfight, not knowing who is the bad or the good guys. But now, after 24 hours of researching and testing I can say with ABSOLUT certainty: VIDEO ENHANCER IS A LIEWARE!

It doesn't use super resolution, as it claims. The comparison shows the same results of using nnedi3, with a tiny sharpening. I think the only time I was as shoked as now was when I discovered that Santa Claus doesn't exists! Thanks, Dideé, for helping me to see that this world is cruel, and that I've spent 46 bucks for a GARBAGE like this.

Anyway, I'm a noobie, but I learn fast. This only confirmed to me that we may get better results with personal effort and research, instead of buying a comercial program from a software swindler.

Quote:
Originally Posted by Didée View Post
Could you show examples where pel=4 gives a visible advantage over pel=2? From my past experiences it's like 98% wastoftime + 2% improvement
I think you're right. What I noticed was a little improvement in the "pixelation" of the image, but now I'm feeling like that philosopher who said "I know that I know nothing", thanks to you that ruined all my illusions...

But I'm going to make some more tests after recovering from the shock...

Quote:
Originally Posted by Didée View Post
Ideally would by upsampling internally in TGMC
Totally agree with you, just don't have any idea of how to do it! The same about NeatVideo (probably I'm going to find a better tool within Avisynth). Need to study a lot... who knows in 20 years I become a Didée v.0.1?

But the idea behind super resolution is really interesting, do you agree? Going to give a try. In the end at least I'm going to learn usefull stuff.

Thanks Didée, for the enlightenment and pacience!

Last edited by William.Lemos.BR; 19th November 2010 at 18:44. Reason: Typing error
William.Lemos.BR is offline  
Closed Thread


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 02:54.


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