Log in

View Full Version : The Finer Points of IVTC'ing ...


oo_void
20th October 2004, 18:17
With all the talk of IVTC’ing and deinterlacing going on lately, I figured I add my question into the mix. I’m working on trying to restore a telecined LD capture (live source)… Decomb (Telecide/Decimate) seem to do quite a good job at first glance, but once I start really examining the output, I’m finding quite a few anomalies that are driving me crazy. Most of the problems I’m having surround flashes or explosions in the source, where the whole frame goes a solid or a nearly solid color. Because Telecide can’t “see” the combing at that point, it seems to lose track of the cycle, thus usually resulting in letting combed material pass through for a frame or two when the image regains its detail. I’ve tried adding an additionally layer of Telecide post-processing using TDeint() …
orig = last
Telecide(order = 0, guide = 1, post = 1, vthresh = 40, back = 2, hints = true)
TDeint(order = 0, type = 2, hints = true, clip2 = orig)
Decimate(cycle = 5, mode = 0, quality = 3)
This seems to do the trick in most cases, but there remain a few instances were even this combo results in blending (and even some strange artifacts caused by TDeint()). So, the question is whether or not the above filter chain is sound practice, and whether or not params such as my use of “back = 2” (it seems to help scene changes) might be stepping on other processes TDeint is doing.

------
oo_void

scharfis_brain
20th October 2004, 19:32
what about:

matchbob()
selecteven()
decimate()

?

for sure, you have to tweak the settings.

you'll find matchbob() here: http://forum.gleitz.info/showthread.php?t=12725&highlight=restore24

just download the attached file..

oo_void
20th October 2004, 20:19
Looks pretty cool and quite elaborate, I'll give it a try... Question, though you entire package looks more geared towards PAL sources, the matchbob() function itself appears to be format agnostic (correct?). I'm on the NTSC side of the globe ...

------
oo_void

scharfis_brain
20th October 2004, 20:36
matchbob() is just a bob-deinterlacer (fullframerate deinterlacer)
which is able to do fieldmatching and fieldmatched deinterlacing.
basically it combines telecide with tdeint.
meaning totally progressive output with telecined video and HQ-deinterlaced video with pure interlaced sections.
also, it is able to catch orphaned fields correctly.

oo_void
20th October 2004, 21:22
Well, I gave matchbob() a try ... The results are actually a bit worse than the Telecide/TDeint the method I was using, much more blending. I tried playing with the 'cth' param a bit, but I don't think that will affect the output quality regardless.

Digging a little deeper, it seems that both methods are roughly the same at the core. Your function uses isCombed() to make the determination as to whether to return the Telecide frame or a TDeint frame. With the chain I posted Telecide tries a fieldmatch, if it fails, it says "I give up" the passes the frames along to TDeint() for processing.

That said... I would expect the results to be similar, if not the same from both methods. The only thing I could think of affecting the output quality with matchbob() is posslby the field order isn't getting passed in correctly.

Anyways, it was worth a try ... Thanks for the suggestion.

------
oo_void

scharfis_brain
20th October 2004, 21:35
matchbob() NEVER will create any blends!

they must be already in your source!

please provide a short VOB-sample.

oo_void
20th October 2004, 22:58
You can grab 50 frames of the unprocessed source here (http://www.badassgeek.com/blend_sample.avi). It's in huffyuv format so it's big (10mb). Look at frame ~18 of the decimated source, especially the diagonal crossbars on the lights at the back of the hall and you'll see what I mean. The lines look doubled with matchbob() but seem to come through fine with Telecide/TDeint.

------
oo_void