View Full Version : Calming flickering lines from old anime?
Comatose
20th September 2008, 17:15
Never had to deal with anything like this before, and it looks like this throughout the entire movie.
GIF sample (http://img1.hugeup.com/f/09202008/c1ed38.gif)
M2V sample (http://www.mediafire.com/?l4kymymb6ey)
Thanks in advance ><
Sagekilla
20th September 2008, 17:32
This doesn't look like an actual "problem" that you'd think it would be. It seems like squigglevision (http://en.wikipedia.org/wiki/Squigglevision) almost.
Comatose
20th September 2008, 17:50
If that's what I think it is, then yes, but they're usually more perfect... also, the size of objects changes while the lines "squiggle" with squigglevision, but that's not the case here.
I'm almost sure this is a side effect of the old film transfer. I've read about it causing flickering (it even said it was a natural artifact of this kind of transfer), and there are other things that point to an old film transfer, like the first 1 or 2 frames of a scene moving slightly up/left.
http://www.youtube.com/watch?v=wq5ti4gKicg
Also, I've only ever seen squigglevision used in Western animation, never in Japanese anime... this drawing/animation style is used in lots of anime (judging from the look) and none of them have these flickering lines, so...
I want to somehow temporally stabilize the lines, but I'm not sure what to do. If I could temporally stabilize the entire frame and then use mt_masktools to apply it to the lines only, that would be great, but I've never had to do any kind of temporal stabilization so I don't know which filters I should be trying.
Sagekilla
20th September 2008, 18:55
Good luck with that, I don't much in the way of temporal stabilization. I had some funky idea in my head that aWarpSharp() + repair could fix this but I honestly have no idea how I could get that to work.
Comatose
20th September 2008, 19:21
Thanks anyway :)
martino
20th September 2008, 19:40
Brutal TemporalSoften could help;
a=TemporalSoften(10,30,30,30)
b=TemporalCleaner(1,2)
Repair(a,b,16)
But you'll have to section it since it makes pans look rather nice. :P
Comatose
20th September 2008, 20:25
This is going to hurt... D:
thetoof
21st September 2008, 02:10
Anti-aliasing + mvdegraining helps quite a bit:
mpeg2source("sample.demuxed.d2v")
a=animeivtc(mode=1,aa=2)
#Tweak to your needs... more refframes = slower & (usually) more stable. Of course, other settings can be used. Don't touch the idx since it's there to improve speed.
v=mvanalysemulti(refframes=8,overlap=4,idx=1)
a.mvdegrainmulti(v,idx=1)
Sagekilla
21st September 2008, 05:25
You should be careful when using large numbers of refframes though --- Frames further out usually have less correlation with the current frame than those closer. I suppose it won't hurt as bad on anime, but it's still something you should keep in mind!
LaTo
21st September 2008, 10:30
In order of efficiency/quality:
strength = 3
mt_merge(last,
\ last.MVDegrainMulti(last.FFT3Dgpu(sigma=strength*2,plane=4,bw=32,bh=32,ow=8,oh=8,bt=3).MVanalyseMulti(refframes=strength,blksize=16,overlap=4,idx=1),refframes=strength,thSAD=strength*200,idx=1),
\ last.mt_edge("min/max").removegrain(19),
\ U=3,V=3)
OR
strength = 3
mt_merge(last,
\ last.MVDegrainMulti(last.MVanalyseMulti(refframes=strength,blksize=16,overlap=4,idx=1),refframes=strength,thSAD=strength*200,idx=1),
\ last.mt_edge("min/max").removegrain(19),
\ U=3,V=3)
OR
strength = 3
mt_merge(last,
\ last.FFT3Dgpu(sigma=strength*2,plane=4,bw=32,bh=32,ow=8,oh=8,bt=3),
\ last.mt_edge("min/max").removegrain(19),
\ U=3,V=3)
These solve the problem (adjust strength to your taste, but no needs refframes=8, 2/3/4 works very good :) )
The first one is the better but the slower...
Comatose
21st September 2008, 19:13
Thanks for your suggestions, I'll try them ASAP :)
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.