[MPlayer-dev-eng] design for motion-adaptive deinterlacer

D Richard Felker III dalias at aerifal.cx
Sun Apr 25 02:25:47 CEST 2004


On Sun, Apr 25, 2004 at 12:37:31AM +0200, Arpi wrote:
> Hi,
> 
> > I've been thinking about writing a good motion-adaptive deinterlacer,
> > since they all seem to suck. So I'm sending a few ideas to the list
> 
> hmm, my favourite topic :)

:)

> btw, it should be a combined temporal denoise & deinterlace filter.

Hmm, you mean apply strong temporal denoise to areas with no motion,
and none to other areas to avoid ghost artifacts? IMO it's a pretty
good idea, but temporal denoise can still cause strange fixed textures
to appear in animation (where you have large regions of almost solid
color) that don't move when the object moves... :( Any idea how to
work around that? IMO it requires identifying the whole "object" as
moving rather than just the parts that change at the edges (this
happens naturally in live action but not so well in animation).

> > 1. Identify areas of motion.
> > 
> > Using a simple difference threshold pixel-by-pixel is no good. If the
> > threshold is too low you'll get tons of motion from temporal noise,
> > while if it's too high, you'll miss slow changes in the low frequency
> > components which cause very ugly noticable combing (think of gradual
> > change in light level).
> 
> I've made some weighted group of pixels, in my g2 filter "madei"
> (see video/vf_madei.c).

Yeah, I remember that, but for some reason I never actually tried it.
I'll take a look.

> it works quite well, but i think your idea with freq-space weighening
> is better.

Agree. :) Actually I thought first about some sort of weight (size of
region * difference) but it's hard to define a region until you have a
good notion of which pixels are really "changing".

> > 7. Apply motion compensation to bring the fields in line.
> > 
> > Deform the older field so that it mostly matches with the newer field,
> > using the motion vectors/transformations from step 6.
> 
> hmm, this is the most difficult part.
> if you can't do it right, strange effects will happen.
> when i wanted to buy a new TV, and tested a few models, i've found a
> samsung one (dont remember the model no, it was a quite big, 16:9 100hz one)
> which did motion compensation, but sometimes it was buggy, and small
> patches of the image moved to wrong direction. it was quite funny :)

Yes, some very strange effects happened when I tried to do it... :(

Rich




More information about the MPlayer-dev-eng mailing list