Automated video looping with progressive dynamism
ACM Trans. Graphics (SIGGRAPH), 32(4), 2013.
Representation for seamlessly looping video with controllable level of dynamism.
Given a short video we create a representation that captures a spectrum of looping videos with varying
levels of dynamism, ranging from a static image to a highly animated loop. In such a progressively dynamic
video, scene liveliness can be adjusted interactively using a slider control. Applications include
background images and slideshows, where the desired level of activity may depend on personal taste or mood.
The representation also provides a segmentation of the scene into independently looping regions, enabling
interactive local adjustment over dynamism. For a landscape scene, this control might correspond to
selective animation and deanimation of grass motion, water ripples, and swaying trees. Converting
arbitrary video to looping content is a challenging research problem. Unlike prior work, we explore an
optimization in which each pixel automatically determines its own looping period. The resulting nested
segmentation of static and dynamic scene regions forms an extremely compact representation.
The time-mapping equation (1) has a simpler form:
) = sx
(One must be careful that the C/C++
” differs from the
for negative numbers.)
Thanks to Mark Finch
for preparing and optimizing the code in our demo tool release.
See also our more recent work on improving loop quality and speeding up its computation.
Errata: The formula for bj
in case (4) of page 4 has a typo; it should be
(Note that the expression for Ψ includes a second set of terms
(a'i - b'j)2 where
(To play these videos, first download using “right click -> Save Link As”,
then use Windows 8 Media Player on
and the VLC
Unfortunately, with both these viewers, there is a bit of stutter when the video restarts, which is why
we include two consecutive instances of the loop.)