Instagram Reveals The Tech Behind Hyperlapse, Its New Video Editing App
A few days ago, Instagram released a new video editing app, called Hyperlapse, which allows users to create high-quality time-lapse videos. Now, Instagram is offering an explaination of the technology behind this app, in a blog post.
Hyperlapse is a special form of time lapse — a photography technique used to capture frames and play back them at a much faster rate, resulting in a video-like clip that plays frames in a matter of seconds, which could actually be captured in hours. In hyperlapsing, the camera used to capture frame is also moving.
To capture hyperlapses, sophisticated set up, for instance body harness, is needed to mount the camera on a moving device to avoid uneven movement of hands and human body. Such movements result in bad-quality capture of frames and ruin the hyperlapse. Additional video-editing techniques are also required to post-process the captured frames. However, smartphone users do not like to use the set up and video-editing tools, to create hyperlapses smoothly.
The goal of Instagram’s engineering team was to simplify this process for smartphone users. Their efforts resulted in Hyperlapse app that has a single record button and few options to select the playback rate. This simple interface makes it possible for smartphone users to capture hyperlapses easily without using any additional infrastructure.
The team developed few technologies that were then used together to achieve the goal. They used:
- Cinema Stabilization
- Hyperlapse Stabilization (It uses Cinema after modifying it)
- Adaptive Zoom
The first tech was about video stabilization and they call it “Cinema”. Cinema uses smartphone’s built-in gyroscope to measure uneven handshake that disrupts the frames. The algorithm takes frames and gyroscope samples as input and sends it to the stabilizer to obtain a new set of camera orientations as output.
These orientations are those that have least impact of handshakes, that is they are select steady frames out of all the frames captured.
The other tech is hyperlapse stabilization. It is used in Hyperlapse to show a slider to the user that can be used to select the time lapse level. For example, if the user selects 6x level, the app will pick up every sixth frame in the video and it will play those frames at 30 fps. This will create a video that is 6x faster but is still smooth.
The most interesting tech is Adaptive Zoom. It zooms in on the frames according to the level of shakiness, hence the word “Adaptive”. For example, if there is a lot of unevenness in the video, it will zoom in to cancel out the effect of shaking camera. However, if at some point later in that video, the unevenness reduces, the app will zoom out, increasing the quality of video.
There is a tradeoff between resolution and stability in this process. Where we need more stability, the app will intelligently reduce the quality of the video by zooming in and showing a stable video while where the video is stable, the app will increase the quality.
Hyperlapse seemed too good to be true but after the explanation about tech behind it, we believe Instagram has pulled off a great app that has a high level of breakthrough in image processing technologies.
Hyperlapse is currently available only on iOS, and Android users have to wait till the APIs are made available.
Source: Instagram Engineering Blog