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. |
12th November 2010, 13:37 | #21 | Link | |
Registered User
Join Date: Dec 2002
Location: UK
Posts: 1,673
|
Quote:
Interlacing itself does not affect Kell factor, but because interlaced video must be low-pass filtered (i.e., blurred) in the vertical dimension to avoid spatio-temporal aliasing (i.e., flickering effects), the Kell factor of interlaced video is said to be about 70% that of progressive video with the same scan line resolution." You can filter as much or as little as you like - it's all subjective and there's no standard. I have a feeling that some 1080i video isn't filtered vertically (especially artificially generated stuff, e.g. captions). The assumption (especially in Europe) is that there are no HD CRTs, so any 1080i video is going to be deinterlaced before display. Therefore any bobbing and/or twitter in the image will never be seen, so can be left in. Hence you get full 1080 resolution in the source, which is presented in full on any display that deinterlaces it nicely. Cheers, David. |
|
12th November 2010, 16:37 | #22 | Link |
Registered User
Join Date: Jan 2002
Location: France
Posts: 2,856
|
And I still disagree. You seem to think deinterlacers are things of magic. They are not. In the end, they are still ruled by mathematics.
Bear with me and do the following :
If you're wondering why I downscaled to SD and didn't try to interlace/deinterlace in 720p, it is because that way I increase the likelyhood of having details near to nyquist frequency (that, and I am always weary when I don't know how a video has been captured. For all I know, the capture implies a lowpassing to a lower frequency than nyquist's for 720p content). Finally, if you add lanczosresize(720,384) between assumefps and lanczosresize, the twitter, at least with TGMC, is strongly reduce (still here, but not the first thing you'll notice anymore)
__________________
|
12th November 2010, 17:42 | #23 | Link |
Registered User
Join Date: Apr 2002
Location: Germany
Posts: 5,391
|
Well, sure, that's no surprise. In this case it's the "black hole problem" (my personal denomination). When vertical motion happens to have an odd pixel pitch (1px, 3px, 5px,...), then the data missing in this field is also missing in the next field, and the over-next field, a.s.o. Consequentially, there is nothing that could be reconstructed by temporal filtering.
Worse, when motion is ~somewhat close~ to such an odd pixel pitch, then there still is almost nothing that could be reconstructed temporally, and you're left back with the funky wavering as the signal slowly travels through the black hole. The slogan of interlacing is "full temporal resolution on motion, full spatial resolution in static areas". But when blind lowpassing is used, the spatial part is simply not true. IMO, it would be a worthwhile procedure to apply lowpassing only to areas that are moving. When the image moves, lowpassing makes sense by all means. But when nothing moves, lowpassing should not be necessary (a bob/deinterlacer should pick up nonmoving areas correctly), thereby not reducing resolution in static areas.
__________________
- 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!) |
12th November 2010, 21:01 | #24 | Link |
Registered User
Join Date: Apr 2002
Location: Germany
Posts: 5,391
|
Comparison: how bob/deinterlacers are dealing with or without lowpass before interlacing.
Code:
RawSource("J:\_IMPORT_\G__DATEN\Video\Samples\720p50_mobcal_ter.yuv",1280,720,"I420") assumefps(25) # intentionally half speed, for easier viewing of deinterlacing issues hard = lanczosresize(720,576).crop(40,16,-40,-20,true).assumetff().separatefields().selectevery(4,0,3).weave() lopass = lanczosresize(720,384).lanczosresize(720,576).crop(40,16,-40,-20,true).assumetff().separatefields().selectevery(4,0,3).weave() v1 = lopass.tempgaussmc_beta2(2,1,3,0,0,0,"nnedi3",slrad=2) .subtitle("lopass-interlace + TGMC",size=14) v2 = hard .tempgaussmc_beta2(2,1,3,0,0,0,"nnedi3",slrad=2) .subtitle("hard-interlace + TGMC",size=14) v3 = lopass.Yadif(mode=1) .subtitle("lopass-interlace + Yadif",size=14) v4 = hard .Yadif(mode=1) .subtitle("hard-interlace + Yadif",size=14) v5 = lopass.tdeint(mode=1) .subtitle("lopass-interlace + tdeint",size=14) v6 = hard .tdeint(mode=1) .subtitle("hard-interlace + tdeint",size=14) stackvertical( stackhorizontal(v6,v4,v2),\ stackhorizontal(v5,v3,v1) ) Not exactly a "fail" for TGMC. Sure, there are some spots that show issues ... necessarily, for the reasons mentioned in the previous posts. But it's not that bad either. The "simple" bobbers on the lowpassed clip don't look "better" than TGMC on the "hard" clip. Do they? If anything fails, then it is Yadif. Lots of artifacts, even on the lowpassed clip. The main question is, what kind of technique you're expecting to deal with the interlacing. When you're going to play "safe", by "optimizing" for the most simple and dumb deinterlacer only possible, then the choice is indeed simple: Blur, blurr, blurrrr ... blur the crap out of it. Pity for those with better equipment - spend lotsof money to no avail. OTOH, if you decide to not punish the folks with better equipment, then - pity for the masses. Who are you going to punish? You can't avoid to punish someone. "Oh, if only they had never invented the idea of interlacing."
__________________
- 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!) |
12th November 2010, 22:03 | #25 | Link | |
Registered User
Join Date: Jan 2002
Location: France
Posts: 2,856
|
Quote:
As a side note, your TMGC with your settings is visibly better than mine. Less artifacts. A bit blurrier though, but that might be due to the encoding (and to the fact that artifacts on still frames have the nasty habit to look like added details) Still, it fails. It's not its fault, but the source's, which gives another reason to hate interlacing : when somebody messed up, there's nothing you can do.
__________________
|
|
12th November 2010, 22:24 | #26 | Link |
Registered User
Join Date: Apr 2002
Location: Germany
Posts: 5,391
|
Perhaps I've been hurt too much by years of "enjoying" the results of TV station's processing. Over here, the typical (SD) TV frame looks like
Lanczosresize( 720/2, 576/2 ) Sharpen(1) Bicubicresize( 720, 576, 1,0 ) SeparateFields().SelectEvery(4,0,3).weave() It's really that bad. Ridiculously blurry with little details, yet lots of (over)sharpening halo's everywhere. Maybe that's why I get green in the face as soon as I hear "lowpassing" in the context of interlacing. Edit - quick dig, a random frame from TV: If that's not bad enough, I'll dig out the DVD "The 5th Element". Brilliant example for how to make it really, really bad.
__________________
- 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; 12th November 2010 at 22:39. |
15th November 2010, 15:35 | #27 | Link |
Registered User
Join Date: Dec 2002
Location: UK
Posts: 1,673
|
Not with me I hope. The paragraph you disagreed with wasn't talking about what I do. I've already said what I do - it's close to "blur the crap out of it"
The approach (not mine!) that I was talking about is something I've only seen applied to HD. You can't assume SD is going to be deinterlaced, so people always filter here AFAICT. It looks really shocking otherwise. Last time I saw that was 1980s computer graphics. Cheers, David. |
15th November 2010, 16:21 | #28 | Link | |
Registered User
Join Date: Dec 2002
Location: UK
Posts: 1,673
|
Quote:
It's a real challenge making them look OK on an interlaced CRT, never mind trying to deinterlace them. However, processing which makes this clip look better may make another clip look worse. You shouldn't decide what low pass filter to use based on one clip alone. But as for myself, I would never interlace without a vertical blur. The question is only "how much"? I don't think cutting out everything above 240 or 288 line-pairs is the way to go. I wonder what Didée's content adaptive filtering would look like? I suspect it's action would be quite visible, and hence objectionable - adding to the static/moving resolution difference on some displays (bad), and introducing a static/moving resolution difference on display which don't natively have one (even worse!). I know people commonly say that interlacing reduces vertical resolution when there's movement. IME, on a CRT without crappy processing, static resolution = movement resolution for horizontal pans. Vertical movement can create horrible problems of course. Cheers, David. |
|
Tags |
interlace |
Thread Tools | Search this Thread |
Display Modes | |
|
|