As you can see above, Instagram’s new Hyperlapse app that debuted yesterday is one of the most simple apps on the surface. It does two things: shoots video in either portrait or landscape and changes speed from 1x to 12x for a time-lapse effect. There’s not very much other user interface aside from the record button and speed slider (and the share screen after you save a video), but under the hood there’s a lot of really smart stuff going on with Hyperlapse.
For those interested in all the under-the-hood work that went in to Hyperlapse’s video stabilization and time-lapse features, Instagram’s engineers behind the app have published a blog post detailing the technology that makes it all work.
The blog post goes into Hyperlapse’s approach to video stabilization, time-lapse stabilization, and adaptive zoom to detail how it all works under the surface. Below is a snippet including a chart describing one of the algorithms used by the app.
Video stabilization is instrumental in capturing beautiful fluid videos. In the movie industry, this is achieved by having the camera operator wear a harness that separates the motion of the camera from the motion of the operator’s body. Since we can’t expect Instagrammers to wear a body harness to capture the world’s moments, we instead developed Cinema, which uses the phone’s built-in gyroscope to measure and remove unwanted hand shake.
The diagram below shows the pipeline of the Cinema stabilization algorithm. We feed gyroscope samples and frames into the stabilizer and obtain a new set of camera orientations as output. These camera orientations correspond to a smooth “synthetic” camera motion with all the unwanted kinks and bumps removed.