Instagram
released a new app this week called Hyperlapse, an app that makes it
simple for users to create seamless time-lapse videos on an iPhone or
iPad.
Now, Instagram is offering a look at how the app was built from a technical perspective on the Instagram Engineering Blog.
One
of Hyperlapse's lead engineers, Alex Karpenko, describes how the team
could successfully create time-lapses with a smartphone without needing a
steadicam mount.
It
requires a good deal of video stabilization. Karpenko developed an
image stabilization technology called Cinema, which uses the phone's
built-in gyroscope to measure camera movement. An algorithm can then be
applied to those measurements to reduce shake and create fluidity.
The
algorithm works by sending samples from the gyroscope and frames
captured into a stabilizer, which then outputs a new set of "correct"
camera orientations. Those orientations are then sent to a stabilization
filter, which puts out the steady frame.
That final result removes the jittery movements and bumps of a traditional unstable recording.
This is a smart idea — and something that Karpenko developed as part of his thesis at Stanford University.
This
video lets you see how the algorithm crops and zooms footage to create a
buffer around the visible area; it also shows very clearly which part
of the video is being "captured" as part of the Hyperlapse. This process
is known as adaptive zooming, letting Instagram crop and zoom
information in a specific region based on how much shake exists in the
video.
One
of Hyperlapse's coolest features is that you can use a slider to set
the time-lapse level for a video. A 6x level means that every sixth
frame is plucked out of the video and played back at 30 fps. Thus, your
video is now 6 times faster than the original.
To do that, however, requires some complicated work on the back end.
Karpenko
describes the various steps the app must take in real time every time a
user scrubs the slider. The kicker? It has to happen without
interrupting video playback or crashing the UI.
Without
knowing the technical details behind the app, Hyperlapse was
impressive. But that's kicked up a notch after seeing how much work went
into creating and refining the algorithms, and the real-time processing
necessary to create the speed of the hyper lapse clips.
It
also makes Instagram's decision to launch the app with iOS support —
with hopes for Android support once the APIs are available — make a lot
more sense. Instagram did some serious heavy lifting under the hood, and
a great deal of that engineering benefits from a vertically integrated
ecosystem of device and operating system APIs.
Posted by : Gizmeon
No comments:
Post a Comment