Log in

View Full Version : QTGMC for film based?


Pages : 1 2 [3]

manono
23rd February 2014, 00:54
Surprisingly QTGMC in progressive mode is not good at all.
It's not really meant to be used for that.

Have you tried TDeint(Full=False)? Plus, you can choose one of several different deinterlacing modes. You can even use any deinterlacer you like (one such as QTGMC().SelectEven()) to catch any leftover interlacing. Check the TDeint doc, the examples near the bottom.

Atlantis
23rd February 2014, 02:17
Tried TDeint(Full=False) but it has no effect. Picture attached. Only vinverse has an effect on it

manono
23rd February 2014, 05:19
Have you posted a video sample that shows the problem?

Sharc
23rd February 2014, 08:23
Did you try mode 2 with tdeint?
tdeint (mode=2)

Mounir
23rd February 2014, 11:29
Try this maybe:
assumetff()
QTGMC( "fast", TR0=1, TR1=1, TR2=1)
SelectEven()
TDecimate()

Atlantis
23rd February 2014, 17:03
Thanks for tdeint (mode=2). It looks better. I will do a long encoding to see what it does with edge enhancement.

Picture attached.
Top - unprocessed
Middle - vinverse
Bottom - tdeint (mode=2)

It looks blurrier than vinverse.

Atlantis
23rd February 2014, 17:13
Try this maybe:
assumetff()
QTGMC( "fast", TR0=1, TR1=1, TR2=1)
SelectEven()
TDecimate()

Yes it looks perfect if I use yours. Even a normal QTGMC with no options works. I'm not sure what your QTGMC options do but I guess it's still a complete deinterlacing. I wanted not to deinterlace film based material. To use tfm and detelecine and later use something that would take care of some bad frames left. I am going to test more to see how good TDeint mode 2 is.

Atlantis
23rd February 2014, 21:22
Interesting. Now I understand why tdeint() didn't work. tfm is sending out hints and tdeint is taking those hints without you knowing.

So tfm is reporting that all frames coming out are progressive, so tdeint considers them progressive and does nothing. One way is to disable hints in tdeint. tfm and tdeint are working closely hand in hand, I have to study them more.

manono
23rd February 2014, 21:57
One way is to disable hints in tdeint
If you do that everything gets deinterlaced and then you may as well go the QTGMC route since it's a better deinterlacer, and not field match at all.

Setting Full=False (as I suggested earlier) ignores the hints. If it doesn't pick up the light interlacing in your sample picture, then begin tweaking.

Atlantis
23rd February 2014, 23:14
No sorry manono, that's not true what you said. I just did an extensive test with debugging. Here are the correct information:

If you do that everything gets deinterlaced and then you may as well go the QTGMC route
This is not true. You can disable hints and set full=false and not every frame gets deinterlaced.

Setting Full=False (as I suggested earlier) ignores the hints.
This is also not true. I did that, setting full=false and it does not ignore hints. It still thinks everyframe is progressive as reported by tfm and does nothing. (visible in debugview: not deinterlacing Hints)

I tested all these with debugview.

This is the script that I use now:

DGDecode_mpeg2source(myvideo)

orig = last
deint = QTGMC().SelectEven()

tfm(d2v=myvideo, clip2=deint, debug=true)

tdeint(hints= false, full=false, clip2=orig, debug=true)

Too bad tdeint has no output option like tfm. If it had output, I could easily check the frames that are deinterlaced. Now I am using debugview which is a little more complicated.

manono
24th February 2014, 00:26
This is not true. You can disable hints and set full=false and not every frame gets deinterlaced.
You said nothing about setting full=false when speculating about disabling hints or anywhere else.
This is also not true. I did that, setting full=false and it does not ignore hints.
It does ignore hints. TDeint does its own check whether or not the frame is interlaced. It stands to reason that check might be similar to or even identical to the one TFM does. Which is why I said:
If it doesn't pick up the light interlacing in your sample picture, then begin tweaking.

From the TDeint doc:
If full=false, all frames are first checked to see if they are combed.
Which says nothing about TFM doing the check and passing hints to TDeint. In fact, there might be no TFM in the script when TDeint(Full=False) is used.

You can also use override files to deinterlace individual frames, especially when there's a tiny bit of interlacing, as in your text picture. I'm glad you solved your problem.

Terka
3rd March 2014, 12:33
For me it looks like wrong lines order.
try assumebff() assumetff() and simple bob clp.bob(0,0.5)

hello_hello
3rd April 2014, 20:55
Stereodude.....
Time goes so fast. I thought it'd be a couple of days before I played around with MCTD. It was more like two months. If you're still around......

I was referring to MCTemporalDenoise. When you say "two" are you referring to MCTemporalDenoise and QTGMC or MCTemporalDenoise and MCTemporalDenoiseMod?

I was referring to MCTemporalDenoise and MCTemporalDenoiseMod.
Which version do you use? Are there (theoretical) significant differences between them? I'm not sure I could actually see any.

FWIW, I wasn't referring to file size, but visual appearance.
If you're bored, start with the Blu-Ray of Moneyball and compare QTGMC to MCTemporalDenoise.

I don't have Moneyball but I found a fairly noisy 1080p video, resized it to 720p (to speed up the test encoding process) and then ran various filtering on it. It surprised me you find QTGMC too sharp because the result I saw was MCTemporalDenoise (default settings) produced a noticeably sharper picture. Sharper than the original. It looked a little too sharp to me. QTGMC definitely removed more noise when I ran it in progressive mode with my "typical" denoise setting.
QTGMC(InputType=1, Ezdenoise=2)

My typical setting is MCTemporalDenoise(settings="low", radius=3), if the video is really noisy like the aforementioned Moneyball I will use MCTemporalDenoise(settings="medium"). If I want something in between "low" and "medium" I use this:
MCTemporalDenoise(settings="low", radius=3, sigma=6, SHmode=3, useEEDI2=false, \
quant1=30, quant2=60, ECrad=4, ECmode="Removegrain(3,-1)", maxr=3, TTstr=2, \
GFthr=1.6, thSAD=400, thSAD2=400, thSCD1=400)

I gave MCTemporalDenoise(settings="low", radius=3) a spin, given that's your typical setting. It seemed to remove a bit more noise so I dropped QTGMC's denoising down to "1" and they started to look pretty similar in the noise removal department but the MCTemporalDenoise encode was still definitely sharper.

You can probably even get a reasonable idea as to the amount of noise removal/sharpness by comparing the resulting file sizes (these were just 1.5 minute encodes).

Re-encode, no filtering - 53.1MB

QTGMC(InputType=1, EzDenoise=2) - 31.9MB
QTGMC(InputType=1, EzDenoise=1) - 37.6MB

MCTemporalDenoise(default settings) - 41.0MB
MCTemporalDenoise(settings="low", radius=3) - 39.5MB

MCTMod(default settings) - 41.1MB
MCTMod(settings="low", radius=3) - 39.6MB

When I tried my old AVI, wobbly Xvid picture, lots and lots of noise, torture test encode, there was no comparison. QTGMC in progressive mode stabilised the picture far more and left MCTD for dead.

Anyway.... I'm not saying QTGMC is better (well at picture stabilisation I think it is), and I'm sure MCTD has enough settings to play with so I could fine tune it to taste, but to my eyes, MCTD definitely sharpened more. At least in progressive mode.
Each to their own, I guess..... :)

Stereodude
5th April 2014, 15:29
I was referring to MCTemporalDenoise and MCTemporalDenoiseMod.
Which version do you use? Are there (theoretical) significant differences between them? I'm not sure I could actually see any.I've been using MCTemporalDenoise.v1.4.20. I don't think I've tried MCTemporalDenoiseMod.
I don't have Moneyball but I found a fairly noisy 1080p video, resized it to 720p (to speed up the test encoding process) and then ran various filtering on it. It surprised me you find QTGMC too sharp because the result I saw was MCTemporalDenoise (default settings) produced a noticeably sharper picture. Sharper than the original. It looked a little too sharp to me. QTGMC definitely removed more noise when I ran it in progressive mode with my "typical" denoise setting.
QTGMC(InputType=1, Ezdenoise=2)Well, it's been a while so I want to go back and re-read my postings before commenting further. I have found that MCTD is able to remove graininess better without damaging the underlying image. For example, on very grainy sources, QTGMC puts a static noise pattern on top of the image. I've put together a few screenshots to try to illustrate this. If I can find a decent free picture host that supports .png files I'll post them.

hello_hello
6th April 2014, 08:10
I have found that MCTD is able to remove graininess better without damaging the underlying image. For example, on very grainy sources, QTGMC puts a static noise pattern on top of the image. I've put together a few screenshots to try to illustrate this. If I can find a decent free picture host that supports .png files I'll post them.

No need. I know exactly what you're referring to.
I think that's the downside of QTGMC's picture stabilisation. If it doesn't remove all the noise, it stabilises what's left, and you can end up with the static noise pattern you described. At least that's what I assume is happening. As a result, if I'm using QTGMC for noise removal I try to remove enough so there's no static noise pattern left behind.

I'm going to keep playing with MCTD. If I can tone down the sharpness a bit I'm sure I'll be happy with it, and there'll be plenty of times when the picture doesn't need stabilising as such, so chances are the result will be better if it doesn't leave the static noise pattern. Not too much better I hope, otherwise I'm already forming a list of video in my head which I'd have to consider re-encoding. Sigh..... :(

Have you used the TemporalDegrain script much? If you have, how do you think it compares to MCTD?

johnmeyer
7th April 2014, 01:25
In looking at the last few posts, I have two short comments.

First, I would do de-noising before doing any downsizing. Nothing good is going to happen when the scaling algorithms have to deal with noise when going from 1080p to 720p.

Second, the noise coherence you refer to is not the result of motion stabilization, but is a fairly standard artifact that can result from temporal denoising. You can often get much better results using scripts and plugins that directly expose more of the denoising parameters, and which were designed specifically for that purpose. Remember, QTGMC is, first and foremost, a deinterlacer, not a noise reduction script. This is not to say it cannot do denoising, but I'm quite certain you would get better results using a denoising script. I would suggest starting with one based on MDegrain2, but I'm sure other people can suggest other ideas.

hello_hello
7th April 2014, 04:10
There's probably no right or better in every case. I've been happy with the results so far when using QTGMC for denoising but I will play around with a couple of the denoising scripts some more. I still think though, if the picture needs both stabilising and noise removal, QTGMC tends to have the edge.

I dug out a "torture test" video a while back and re-encoded it while filtering with QTGMC, FastDegrain, TemporalDegrain and a couple of standalone filters, I hadn't discovered MCTemporalDenoise at that stage but I tried it, and it's default settings don't match QTGMC. The TemporalDegrain script did a pretty good job but QTGMC fixed a lot of the "bobbing" or "shimmering" (however you describe it) while TemporalDegrain didn't. Admittedly it's an extreme example, but I found it an interesting test.

If you look at the encodes, you'll see the one using QTGMC without it's noise removal enabled, resulted in what I assume is the "static noise pattern" Stereodude referred to. Well in this case the video was so noisy it'd be more accurate to refer to it as "semi static noise pattern". It's not pretty, but still better than the unfiltered video. With QTGMC's noise removal enabled I think it gave TemporalDegrain a run for it's money in the noise removal department and it definitely stabilised the picture more.

There's a zip file containing my torture test encodes here (http://forum.videohelp.com/threads/358043-A-comparison-of-AVIsynth-denoise-filters?p=2283228&viewfull=1#post2283228). Admittedly aside from adjusting QTGMC's denoising I used the default settings for each filter so maybe they results would be different if I tweaked filter settings. I'd be interested to know if anyone has any clever suggestions for the video in question.

creaothceann
7th April 2014, 21:25
I don't have Moneyball but I found a fairly noisy 1080p video, resized it to 720p (to speed up the test encoding process)

Did you mean cropped?

hello_hello
8th April 2014, 07:39
No, I meant resized. Yes I resized before the noise removal when running tests, but the world kept turning...... ;)

gugglu
26th November 2014, 03:59
Greetings boy's, maybe this could help you bit more

QTGMC( TR2=3, Preset="Slower", Sharpness=0.2, SMode=2, SLMode=2, SLRad=3, \
EdiMode="nnedi3", NNsize=3, NNeurons=4, Ediqual=1, EdiMaxD=8, Sbb=3, SrchClipP=3, \
Blocksize=16, Subpel=4, PelSearch=4, Overlap=8, ChromaMotion=True, Inputtype=2, \
ProgSadmask=10.00, Stabilizenoise=true, Edithreads=4 )