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 > Hardware & Software > Software players
Register FAQ Calendar Today's Posts Search

Reply
 
Thread Tools Search this Thread Display Modes
Old 19th August 2006, 05:20   #1  |  Link
bkman
Registered User
 
Join Date: Jan 2006
Posts: 294
Recreating an interlaced diplay in software

Ok, this idea may be a bit out there, so don't be too harsh in shooting it down...

So, we all know that DVD's are interlaced in all sorts of funny ways, and yet the visual result is not usually distracting on the most basic of intended output devices: the 480i (or 576i) CRT TV. Now why is that? As far as I know this is due to the particular characteristic of CRT displays, and in particular to how scanlines fade gradually even while the next set is drawn, leading to a kind of interpolation effect for the viewer.

Now this obviously doesn't work on progressive displays, which leads to all the problems with deinterlacing, etc. The question I am posing however, is why not simulate this CRT fadeoff effect during realtime playback on progressive diplays by dimming odd and even field pixels in the time after they are first drawn? Like give each pixel a "life" expectation, and fade them off upto that point at a higher-than-original framerate. Would such a system not nullify the need for many and sundry deinterlacing methods?

Thoughts, please.
bkman is offline   Reply With Quote
Old 19th August 2006, 08:37   #2  |  Link
foxyshadis
Angel of Night
 
foxyshadis's Avatar
 
Join Date: Nov 2004
Location: Tangled in the silks
Posts: 9,559
Can't say it looks especially good on an LCD, but give it a try on some 60i and report back. (replace nextf by prevf for bff) Part of the reason for this is the way real scanlines work - the updating brightness bleeds into the fading line, partially covering it. A so-called 25% scanline (this is 50%) might simulate that.

Code:
function fakeinterlacing(clip c) {
c
SeparateFields()
o=SelectOdd()
o=interleave(o,mt_average(o,o.blankclip))
e=SelectEven()
e=interleave(e,mt_average(e,e.blankclip)).nextf
Interleave(e,o).Weave()
}


function nextf(clip c) {
return c.duplicateframe(c.framecount-1).deleteframe(0)
}

function prevf(clip c) {
return c.deleteframe(c.framecount-1).duplicateframe(0)
}
With a temporal fade instead of a scanline fade, looks better on LCDs:
Code:
function fakeinterlacing(clip c) {
c
SeparateFields()
o=SelectOdd()
o=interleave(o,mt_average(o,o.nextf))
e=SelectEven()
e=interleave(e,mt_average(e,e.nextf)).nextf
Interleave(e,o).Weave()
}
I leave the implementation of scanline bleed as an exercise to the reader. (Somehow merging a bob of the other field should help.) Of course at that point it'd just be faster to use one of the common deinterlacers - but not more interesting, see.
foxyshadis is offline   Reply With Quote
Old 19th August 2006, 09:02   #3  |  Link
kururu
Registered User
 
Join Date: Jul 2002
Posts: 29
Videolan hath a bob deinterlacer filter quite easily activated with some basic mouse navigation. although myselves never uses it.
kururu is offline   Reply With Quote
Reply


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 13:42.


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