View Full Version : Jumpy Lines Challenge
BoNz1
26th January 2004, 08:12
Ok, I have this really annoying problem with some of encodes in certain scenes such as this one I get very ugly artifacts which are already present in the source. The lines jump back and forth and sometimes even more than the sample I am posting. I can get rid of some of it but it is still very far from unnoticeable and I have tried practically everything I can think of to throw at it. I have tried masktools too but I don't understand enough of what everything is doing for it to be of much use to me. Also this jumpy behavour makes my bitrate skyrocket :(. Anyway, here is a fairly good sample of this problem http://www.geocities.com/bonzi5252/nastyness.avi I would be very grateful if someone could give me a hand at making this look better. :) PS: if the link doesn't work then paste it into your browser.
scharfis_brain
26th January 2004, 09:52
which kind of source is this clip from?
it is not jumpy at all, but it has some weird unnessesary deinterlaced frames in it.
please up an non-reencoded VOB to your page.
There can't be fixed anything on the current clip available to download....
BoNz1
26th January 2004, 17:25
Ok, the source is from one of my season 1 NTSC Simpson episodes DVDs. I have uploaded the clip demuxed and splitted from the vob. http://www.geocities.com/bonzi5252/nastyness.zip
mf
26th January 2004, 18:52
Looks like the perfect job for ReDeint(). Pity I never made that filter :(.
mf
26th January 2004, 19:09
ReDeint prototype:
MPEG2Source("nastyness.d2v")
FieldDeinterlace(blend=false)
LanczosResize(last.width, last.height/2)
Interleave(last, last).AssumeFieldBased.Weave()
SangNom()
You'd want to use something like this on the jumpy frames only, like with ApplyRange. Doing this on a lot of eps however is a lot of work, so I thought of using conditional filtering for it. Don't really feel like implementing that now, but go check out how this looks first.
BoNz1
27th January 2004, 03:37
mf, it is a little better, thanks :). It doesn't jump as it did before but now instead the lines sort of fade and disappear where they used to jump. This is far less distracting than before, however it still isn't perfect but it may be the best we can do. Also, there are some strange small dots that now have appeared, http://www.geocities.com/bonzi5252/dots.png you can see them between the F and the A.
AS
27th January 2004, 11:37
Can't view the pic but I think what you are seeing is the artifacts from sangnom's antialiasing.
mf
27th January 2004, 13:10
Originally posted by AS
Can't view the pic but I think what you are seeing is the artifacts from sangnom's antialiasing.
Yep, that's it.
scharfis_brain
27th January 2004, 14:05
as I can see, this staistepping only occurs on combed frames (execpt those frames without motion).
why not use something like this
x=mpegsource("trallalaa")
y=x.trim(1,0)
conditionalfilter(x,x,y,"iscombed","<","14")
I cannot test this now...
you'll maybe have to replace < with > and adjust 14 up or down.
but note, that this only works with motion-frames, all other frames are left untouched.
Bogalvator
27th January 2004, 15:28
Not able to test for myself at the moment but maybe DG's 'Dup' filter might help?..........
Bogalvator
27th January 2004, 18:15
Try:
telecide(order=1,guide=1,post=4,blend=false)
decimate()
dup(threshold=7)
Improves it slightly, but probably many better solutions.......
The above would probably work better on longer samples.
mf
27th January 2004, 18:27
Don't forget max dupes to 1.
BoNz1
27th January 2004, 22:06
In fact using dup() was one of the things have done before and have had the most success with this kind of material. I probably should have mentioned this. But the only way you can really eliminate a lot of these jumpy frames is by using a low max number of copies approx. 3 and a really high threshold like about 20. Unfortunately, it still misses some frames since as you might imagine if the lines jump a lot the difference between frames can be quite large even if they should be the same. It is these which you want to eliminate the most so it improves some but not a much as you might think. I guess it is possible to just use applyrange() and use very high threshold on those bad frames. This would be very tedious.
BoNz1
29th January 2004, 08:28
scharfis_brain, your conditionalfilter idea works very very well. That scene that I posted is like completely static now. I am still using dup() like I did before. Thanks so much. Now I'm just playing with different settings trying to get it just right.
vBulletin® v3.8.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.