| 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; ![]() ![]() ![]() ![]() ![]() (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=184832entry184843 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.. |
| Posted by: fccHandler Sep 28 2004, 11:31 PM | ||
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. 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
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 ( 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
here http://virtualdub.everwicked.com/index.php?act=ST&f=21&t=8120&hl=sometimes+walls+lookentry32599 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:
and
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? |