Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
28th June 2010, 16:12 | #21 | Link |
Registered User
Join Date: Jan 2005
Location: cz
Posts: 704
|
nice summary
i understand its a big problem, im not speaking about totally removing, but at least minimizing. if camera is moving there and back..., there must exist a place where it stops. such frames could be used for compensation. (assume that the filming object are not warping, only translating, maybee zooming) |
28th June 2010, 18:09 | #22 | Link | ||
Registered User
Join Date: Nov 2008
Location: Sydney, Australia
Posts: 26
|
Thank you.
Quote:
Quote:
*or accelerating*. I get the feeling that you are a school student Terka (you ask many questions), if I am right then what you need will be covered in year 11 science class. If I am wrong, or for those who did not have science or physics at school: If the camera is changing direction, it is accelerating, it is not "stopped" at any time ("stopped" here meaning that it is neither moving nor accelerating). Incidentally at 30fps and for an 86% roll, the camera would have to be still for at least 29ms (given perfect luck, 58ms to get "at least" one frame). That's actually not that short a time by video standards. If you had a reference scene appearance though, I could see that it could be possible to warp each frame locally to approximate the correct appearance of the frames (removing any global offset, removing bad-match blocks due to moving objects and perspective transforms, allowing that columns are caught simultaneously but rows are offset in time). That is not a bad idea, but it would be difficult to accomplish. It would only work for panning, since appearance changes in other motions and you couldn't make such a map. You would also need a reference bigger than any one frame, which may be difficult if you are panning a camera, so it could only help in specific situations. If you only want to try to keep the appearance constant between frames - well that's what the script does more-or-less. My challenge to you Terka is to find such a scenario, and try such a solution, it would be interesting to everyone :-) Actually, zooming is one of the worst problems for image matching or optical flow, even rotation is not as bad as zooming. The change in scale makes matching difficult! I would recommend keeping away from zooming if you can, it isn't impossible to deal with, but it makes results difficult. Last edited by PitifulInsect; 28th June 2010 at 18:11. |
||
28th June 2010, 21:15 | #23 | Link |
brontosaurusrex
Join Date: Oct 2001
Posts: 2,392
|
anybody had to actually deal with this with canon 7D? how bad is it with this specific camera? is there any difference with changing the shutter speed? (with about 600 clips taken so far i could find exactly one shot that looks problematic and it was a tilt (squash effect).)
i'am thinking of getting this specific DSLR. |
29th June 2010, 10:34 | #25 | Link |
Registered User
Join Date: Dec 2002
Location: UK
Posts: 1,673
|
I don't know about the 7D, but generally this isn't the case at all. The rolling shutter is due to the sequential readout of the sensor - it has nothing to do with shutter speed. A faster shutter speed means each pixel on the sensor is exposed for a shorter time, but the delay between the top pixel being exposed and the bottom pixel exposed remains the same, irrespective of shutter speed.
Shorter shutter speed = less blur = rolling shutter artefacts might be slightly more obvious, but that's a secondary effect. Cheers, David. |
30th June 2010, 20:11 | #29 | Link | |
Bored...
Join Date: Apr 2003
Location: Unknown
Posts: 2,812
|
Quote:
If you don't move the camera "spasticity-style", you will hardly get visible rolling-shutter! |
|
1st July 2010, 11:09 | #30 | Link | |
Registered User
Join Date: Dec 2002
Location: UK
Posts: 1,673
|
Quote:
btw, rolling shutter can be measured - there's no need to guess or give subjective impressions. e.g. see the suggested method in the deshaker guide... http://www.guthspot.se/video/deshaker.htm (search for rolling shutter) Then you must know that a shorter shutter speed doesn't help at all? (where's the "confused" smiley? ) Cheers, David. |
|
1st July 2010, 16:33 | #32 | Link |
Registered User
Join Date: Feb 2004
Posts: 1,348
|
Theoretically, if you use a shutter speed of 1/framerate you don't lose any temporal information (it just gets mixed in with spatial info in a non-separable fashion). It will probably be a lot easier to reduce rolling shutter artifacts if you stay close to this limit. Although this will make high motion stuff difficult to deal with as well, the degradation introduced should look more normal.
|
1st July 2010, 16:49 | #33 | Link | ||
Registered User
Join Date: Dec 2002
Location: UK
Posts: 1,673
|
Quote:
Quote:
On less obvious examples, the blur might help to hide the effects, but it's marginal really. Cheers, David. |
||
1st July 2010, 18:46 | #34 | Link | ||
Registered User
Join Date: Feb 2004
Posts: 1,348
|
Quote:
Quote:
|
||
2nd July 2010, 20:51 | #35 | Link |
Registered User
Join Date: Feb 2002
Location: California
Posts: 2,691
|
Many thanks cretindesalpes for the modified MVTools2 and the script. What you were able to do is exactly what I suggested here:
MVTools2 discussion of Rolling Shutter when this idea was first brought up. I expect that it will probably help fix the problems associated with left/right camera panning. I'm not sure what happens with vertical camera movement or with camera rotation. |
2nd July 2010, 21:03 | #36 | Link | |
Bored...
Join Date: Apr 2003
Location: Unknown
Posts: 2,812
|
Quote:
Last edited by Soulhunter; 2nd July 2010 at 21:05. |
|
2nd August 2010, 08:40 | #37 | Link |
brontosaurusrex
Join Date: Oct 2001
Posts: 2,392
|
shot some stuff with 50mm 1.4 primes (handheld), everything set to manual, including ISO (100) and i got gazillion problems with rolling shutter.
Could there be any direct connection between ISO and the defect? (that would mean using some slower lens or some sort of ND would be nice for outside stuff, with an ISO setting of... =?) |
18th October 2010, 00:56 | #39 | Link |
Registered User
Join Date: Oct 2007
Posts: 713
|
Hi everyone, sorry for bringing something that hasnt been talked for awhile, but once again Rolling Shutter has become an issue with me, one of the reasons was that I intend to buy a new Lumix GH2 that was rumoured to be 'Global Shutter' in their LiveMOS image sensoprs, unfortunately that development was haulted and focus was shifted to developing the 3D lens, however the image scanning is faster this time but the rolling sbutter artifacts will still remain, nevertheless the DSLR is fantastic and still will get it.
Because of this, i have came back here and I believe it can be fixed but we users would have to know our own equipment at the same time. I dont know exactly how this current script deals with the Rolling Shutter artifact, but I would like to add if somehow we were able to Temporally analyze the previous and future frames bearing in mind that vertical edges (that was straight is straight no-more due to the lag) will be straight again, this will be incredibly useful for those who are doing point & shoot and run n' gun filming. Probably a preprocessing mask to detect vertical edges could be something of use. Also how does the RollAway script perform? I hear its slow as hell and would crash on HD footage, has there been any development or optimizations afterwards or recently? Also does it bear its own artifacts like the Foundry plugin by any chance? |
22nd June 2012, 06:27 | #40 | Link |
Registered User
Join Date: May 2007
Posts: 220
|
Hey all, it's been a while. Recently I updated RollAway to use SVP. Here it is:
Code:
function RollAwaySVP_alpha1(clip c, float amount, int segh, int "pel", int "blk", int "ovr") { Assert(c.height%segh == 0, "'segh' must be a dividend of clip height") ctime = amount/2.0 segs = c.height/segh den = segs-1 num = den mult = segs/(ctime/50) rad = segs/2 test = Default(test, false) flip = Default(flip, false) pel = Default(pel, 1) blk = Default(blk, 16) ovr = Default(ovr, 2) thSAD = Default(thSAD, 100) super = c.SVSuper("{pel:"+String(pel)+"}") vec = SVAnalyse(super, "{block:{w:"+String(blk)+",h:"+String(blk)+",overlap:"+String(ovr)+"}}") long = SVSmoothFps(c, super, vec, "{rate:{num:"+String(mult)+",den:1},algo:2}", "www.svp-team.com", 1.0, GetMTMode(true)) stack = BlankClip(long) GScript(""" for(r=-rad,rad-1,1) { nseg = long.SelectEvery(1, -r).Crop(0, (r+rad)*segh, -0, segh) stack = StackVertical(stack, nseg) } """) return stack.SelectEvery(int(mult), 0).Crop(0, long.height, -0, -0) } |
Thread Tools | Search this Thread |
Display Modes | |
|
|