Printable Version of Topic
Click here to view this topic in its original format
Unofficial VirtualDub Support Forums > Codec Discussion > Mv Analysis On "dido" Sequence


Posted by: i4004 Sep 28 2004, 09:01 PM
i wanted to do this long time ago... (this needed to be done first time i saw xvid's way of dealing with noise)

consider the following images;

user posted image

user posted image

user posted image

user posted image

user posted image

(ffdshow's mv representation [find it under "Visualizations" in ffdshow], divx3 left, xvid right)

now read this
http://forum.doom9.org/showthread.php?postid=411000&highlight=more+sophisticated+creation+of+motion+vectors#post411000
(highlighted part is important)

also notice the following post by temporance; where he says
"the fix is probably through motion estimation, but my only idea is to add a bias which favors MV (0, 0)."

the ffvfw and divx3 (and ms-mpeg4 codecs in general) codecs "favour MV(0, 0)" when they "see" noise.
(btw. i wish i could say the same for wmv9, but my recent tests show that wmv9 will act more like xvid, ie make a mess if source is noisy...i have also spotted something that reminded me of divx3's "shit"..it appeared on subtitles...but blocks were smaller (probably 4x4)...i'll post wmv samples (soon) to illustrate this)


mugfunky also took a simillar guess when he said
"ffvfw appears to not consider noise in motion estimation"
http://www.hydrogenaudio.org/forums/index.php?showtopic=16297&st=25&p=184832&#entry184843

so the problem with xvid and noise is this;
xvid is mistaking noise for a movement, so it's trying to use mv's to describe the noise, and that's a nonsense, which results in "erroneous motion" aka "swimming(floating) walls" and "tearing motion"
(i was reffering to it as "ME(motionestimation) bug", "jelly-waving", "evaporating effect" and narler called it "heat haze"...many names for same problem;
next time you watch xvid encoding of a source with some noise, or you just see wall moving, you'll know what it was.)

as mug suggested, solution to this problem lays in applying an option of (for example) "ffvfw ME" in xvid encoder, or indeed "divx3 ME" (divx3 is even better than ffvfw as ffvfw is fooled by noise sometimes; divx3 is not)

that way, xvid would become true universal mpeg4 codec which would blow anything else out there.(the stuff like qpel and other advanced tools would beat divx3 with ease...same as they beat it now on clean sources)

today, only way to "solve" this, is to turn off xvid's ME alltogether (by setting the "motion search precision" to "0"), but..heh...although there won't be any swimming (all mv's are (0,0) that way), you won't like the image quality.
mpeg's do need motionestimation/compensation, you know.


/ivo

edited(21 Feb 2007); missing pics...uploaded again...and again;
http://img72.imageshack.us/my.php?image=frame541bd2.jpg
http://img72.imageshack.us/my.php?image=frame551ap1.jpg
http://img376.imageshack.us/my.php?image=frame561rl6.jpg
http://img225.imageshack.us/my.php?image=frame571ac7.jpg
http://img225.imageshack.us/my.php?image=frame581fx1.jpg
let's see who fails first, imageshack, or arachnotron.. biggrin.gif

Posted by: fccHandler Sep 28 2004, 11:31 PM
QUOTE (i4004 @ Sep 28 2004, 05:01 PM)
i have also spotted something that reminded me of divx3's "shit"..it appeared on subtitles...but blocks were smaller (probably 4x4)...i'll post wmv samples (soon) to illustrate this)

I've seen that too. But first check your WMEncoder settings under "Tools / Options / Performance," and make sure the bottom slider is all the way right (better quality). The default is one tick lower. I've not seen any "shit" since I raised that slider, unfortunately encoding is now about twice as slow as before. sad.gif

It seems we have a choice; slow performance and high quality, or faster performance and "shit."

Posted by: i4004 Oct 10 2004, 10:06 PM
as i promised, here's wmv9 with "shit"(on subtitles) and wall-swimming (see the background dancing around)

http://s92912755.onlinehome.us/wmv9/3.wmv

the "swimming" motion estimation approach (of divx4/5, xvid and wmv9) probably assumes such artefacts are less distracting than blocking, and you save bitrate if you use more mv's.

so all the problems of xvid(see the doom9 thread i linked) will also be visible in wmv9 too.
thread on avs forum conforms this, even if we talk about hdtv content.
http://www.avsforum.com/avs-vb/showthread.php?s=&threadid=421878&highlight=wmv9

notice the
http://www.avsforum.com/avs-vb/showthread.php?postid=4045236#post4045236
this is what didee called
"shifting back'n'forth"
to quote him
QUOTE
2.
But I've come across a scenario where the result most times is really bad, bad, bad: rooms that are lightend by flaring fire. When the light & shadows are flaring on the walls and ceilings, XviD produces very annoying "shifting back'n'forth". (LOTR FOTR has a lot of these). Even quant 2 is not enough to hide these motion artefacts!


so in new codecs, new motion estimation/compensation methods resulted not in complete artefacts removal, but in introduction of other kind of aretfacts.
(the blocks are swapped for swimming etc.)

this shows that video compression techniques bumped against the wall.
one which will be hard to cross.

yes, fcc, i tried moving the slider to the right in both wmencoder9 and wmv9-vcm, and i got some really amazing results on my "hand" test sequence on 350kbit/s, but i didn't tested it on subtitles etc.
wmv9 is really too slow for me to use more than for a short test.
nandub is 6x(!) faster (wmv or vcm never exceed 5fps, while nandub is compressing same avs script at cca. 30fps! at 5fps we should expect a move that fits 64kb ( wink.gif ) )
and divx3 doesn't have inloop filter, so at 770kbit/s(384x288@25) it actually looks sharper than wmv9 on same bitrate. and divx3 doesn't swim.ever.
kinda like you and mpeg2, you know.
it is higher bitrate, but it looks better too.
i wish i could turn off wmv9's inloop filter, though.
(like i can with x264)


Posted by: i4004 Oct 24 2004, 05:17 PM
and as i said
QUOTE
also sometimes walls look like they're gif..pretty nasty

here
http://virtualdub.everwicked.com/index.php?act=ST&f=21&t=8120&hl=sometimes+walls+look&#entry32599

today i was also looking for a definition of "banding" (by a pure coincidence)
http://www.google.com/search?num=100&hl=en&lr=&oi=defmore&q=define:Banding

and also found this in same google-search:
QUOTE
WMV9: There's a visible banding effect on the walls.

and
QUOTE
It is interesting to see that this scene shows different effects than in earlier comparisons. Instead of having static or dancing blocks on the walls, modern codecs mostly seem to exhibit a banding effect, which isn't quite as disturbing as blocks, but the less of it the better.

from
http://www.doom9.org/index.html?/codecs-103-2.htm

although for me this banding/swimming is more disturbing than blocking.
because it looks mighty unnatural.
walls moving and i'm not drunk?
wtf?
wink.gif

Powered by Invision Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)