Home > Technology > Dear Apple: Please Add Image Stabilization to iPhone Video

Dear Apple: Please Add Image Stabilization to iPhone Video

June 21st, 2010

There was a time long ago when home made videos where smooth and stable. The main reason for this was the size of the camera. Look at this bad boy…

vhs

While the quality of the video was horrible it was usually pretty stable and not bouncing all over the place. For starters it would literally rest on your shoulder which is a pretty solid platform. It is also physically large and therefore requires a lot more movement to cause a shaky recording. Over the years this has become more and more of a problem as cameras have become smaller and smaller.

In small dedicated camcorders manufactures have been able to add physical image stabilization and by physical I mean there are moving parts in the camera dedicated to stabilizing the image. In phones there is simply not enough room for this type of stabilization and the smaller the devices become the worse the the shakiness becomes. This is because every little movement has an even greater effect on the position of the lens which then induces camera shake. Take a look and the very scientific diagram below. It compares the amount of lens movement when you move each camera about “1 inch”. On the iPhone this causes the lens to move quite a lot where as this amount of movement on a larger camera hardly cause the lens to move at all.

iphonevhs

Take a look at this video supposedly shot with the new iPhone4. Image quality is great but in this simple panning movement there is some notable camera shake, especially if you view the HD version. It is not horrible but it would become quite annoying after anything longer than a minute.




So how do we solve this problem? One way is with post processing such as the image stabilization feature in iMovie. Let’s take a look at how this type of stabilization process works. We will use this animated image as an example of a shaky video. (Click image to view animation)

animate

What the software will do is inspect each frame of the movie and find the areas of the image that are a very similar match. The software will then move the frames around so the similar areas line up on top of each other. Then on playback instead of everything jumping around the images are aligned which causes the video to be stabilized. See the image below. Each frame has a different border color and you can see how the frames are shifted to stabilize the image.

overlay

This method has one major drawback. It decreases video quality. Once all the images are line up the stabilized area needs to be cropped and then stretched back out (or zoomed) to the original dimensions of the video.

compare

So how can this be fixed? Instead of recording at 720p the device would need to record at something around 780p and then apply the stabilization process in real time to the video. This way once everything is cropped the video is stabilized and saved at a native resolution of 720px.

overlayfix comparefix

There are no doubt some issues with the proposed idea with the main one being processing power. There is no way (maybe someday) this could be done in real time with software and tradition CPU cycles on a mobile device. Where this may have a chance of working is with a dedicated chip with this functionality built in to the hardware. Since Apple is now cooking their own silicon maybe this is a possibility. Even with dedicated hardware this still may be impossible at 720p but maybe it could work at lower resolutions.

Perhaps the new gyroscope in the iPhone 4 could assist with stabilization. Let me first say that, no, I don’t mean a spinning gyroscope in the camera will provide stabilization. The whole purpose of this gyroscope is for more accurate movement detection. I have no idea how accurate this thing is in detecting movement but perhaps the gyroscope could provide movement data back to the stabilization processor so it wasn’t as CPU intensive. For example, between frame 18 and frame 19 the camera moved “x” amount in direction x-y-z therefore it knows how to adjust frame 19 to 18 without massive amounts of processing.

This may be a crazy idea but something needs to be done about shaky videos especially as devices continue to shrink. I’m hoping Apple has the resources to come up with some ingenious solution.

Categories: Technology
  1. Mom
    June 23rd, 2010 at 12:32 | #1

    Jason, How on earth do you come up with these things???? Are you a genius hiding in the body of my son? I am not certain where you inherited your brain cells from. Too bad you can’t give me back some, I think you may have depleted any of my good cells while you were developing before birth! :) love…..The Mom

  2. June 28th, 2010 at 04:54 | #2

    Thanks for writing about this. I’ve been curious about iPhone 4′s image stabilization capabilities (or apparent lack of).

    Demonstrated on TWiT network’s coverage of iPhone 4′s release, the iPhone 4 does seem to have some kind of image stabilization built in, but only for FaceTime. It’s interesting that they didn’t take that extra step to put in into their 720p video capture, especially since the quality seems so nice otherwise.

  3. Vince
    July 18th, 2010 at 20:55 | #3

    I agree. I would be sweet if the iPhone 4 had some sort of image stabilization cuz the shakiness looks pretty bad for longer clips. I enjoyed this write up.

  4. Eric
    August 31st, 2010 at 06:35 | #4

    The gyroscope must be used, there couldn’t be a more appropriate tool on the iPhone to solve this problem.

  5. LeeFluff
    January 19th, 2011 at 17:04 | #5

    I still plead ignorance on the re-scaling part.
    Why can’t the videos just be saved at a lower pixel count – given that the re-upscaling is just a waste of information and quality. Let any scaling be done at the player end if you want “full screen”
    thinking about this, I seem to remember there is something in the Mpeg codec that gets a bit upset about strange screen ratios.

    I keep thinking this would be a simple thing for the stabilisation to do… I know that the sampling rate for the gyroscopes goes up to 100Hz on the iphone 4g, so keeping up with 30 fps shouldn’t be too difficult

    in the mean time, I have difficulties finding a good, free image stabilizing software for my PC… any ideas?

  6. Luther
    January 28th, 2011 at 08:42 | #6

    Great Explaination! Here is a mechanical iPhone stabilizer i use to eliminate the shakes. http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=320648481575&ssPageName=STRK:MESELX:IT