Hyper-lapse video through time-lapse and stabilization
First Claim
1. A computing system, comprising:
- at least one processor; and
memory that comprises computer-executable instructions that, when executed by the at least one processor, cause the at least one processor to perform acts including;
computing a smoothed camera path based upon an input video that captures a period of time during which a camera moves through a space;
selecting output camera poses from the smoothed camera path for output frames of an output hyper-lapse video, the output camera poses for the output frames of the output hyper-lapse video being selected to speed up the period of time during which the camera moves through the space in the output hyper-lapse video relative to the input video, the output camera poses comprise output camera positions and output camera orientations for the output frames of the output-hyper lapse video, the output camera positions being evenly spaced along the smoothed camera path in arc-length; and
for each of the output frames of the output hyper-lapse video;
choosing one or more selected input frames from the input video for an output frame, the selected input frames chosen based at least in part upon an output camera position and an output camera orientation for the output frame; and
combining the selected input frames to render the output frame.
2 Assignments
0 Petitions
Accused Products
Abstract
Various technologies described herein pertain to generation of an output hyper-lapse video from an input video. A smoothed camera path can be computed based upon the input video. Further, output camera poses can be selected from the smoothed camera path for output frames of the output hyper-lapse video. One or more selected input frames from the input video can be chosen for an output frame. The selected input frames can be chosen based at least in part upon an output camera pose for the output frame. Moreover, the selected input frames can be combined to render the output frame. Choosing selected input frames from the input video and combining the selected input frames can be performed for each of the output frames of the output hyper-lapse video.
17 Citations
34 Claims
-
1. A computing system, comprising:
-
at least one processor; and memory that comprises computer-executable instructions that, when executed by the at least one processor, cause the at least one processor to perform acts including; computing a smoothed camera path based upon an input video that captures a period of time during which a camera moves through a space; selecting output camera poses from the smoothed camera path for output frames of an output hyper-lapse video, the output camera poses for the output frames of the output hyper-lapse video being selected to speed up the period of time during which the camera moves through the space in the output hyper-lapse video relative to the input video, the output camera poses comprise output camera positions and output camera orientations for the output frames of the output-hyper lapse video, the output camera positions being evenly spaced along the smoothed camera path in arc-length; and for each of the output frames of the output hyper-lapse video; choosing one or more selected input frames from the input video for an output frame, the selected input frames chosen based at least in part upon an output camera position and an output camera orientation for the output frame; and combining the selected input frames to render the output frame. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method of generating an output hyper-lapse video from an input video, comprising:
-
constructing a model of a scene and input camera poses for input frames of the input video; computing a smoothed camera path based upon the model of the scene and the input camera poses for the input frames of the input video; selecting output camera poses from the smoothed camera path for output frames of the output hyper-lapse video, the output camera poses comprise output camera positions and output camera orientations for the output frames of the output hyper-lapse video, the output camera positions being evenly spaced along the smoothed camera path in arc-length; and for each of the output frames of the output hyper-lapse video; choosing selected input frames from the input video for an output frame, the selected input frames chosen based at least in part upon an output camera position and an output camera orientation for the output frame; and combining the selected input frames to render the output frame. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A computing system, comprising:
-
at least one processor; and memory that comprises computer-executable instructions that, when executed by the at least one processor, cause the at least one processor to perform acts including; computing a smoothed camera path based upon an input video that captures a period of time during which a camera moves through a space; selecting output camera poses from the smoothed camera path for output frames of an output hyper-lapse video, the output camera poses for the output frames of the output hyper-lapse video being selected to speed up the period of time during which the camera moves through the space in the output hyper-lapse video relative to the input video, the output camera poses comprise output camera positions and output camera orientations for the output frames of the output-hyper lapse video, the output camera positions being spaced based upon input camera velocities from the input video; and for each of the output frames of the output hyper-lapse video; choosing one or more selected input frames from the input video for an output frame, the selected input frames chosen based at least in part upon an output camera position and an output camera orientation for the output frame; and combining the selected input frames to render the output frame. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A method of generating an output hyper-lapse video from an input video, comprising:
-
constructing a model of a scene and input camera poses for input frames of the input video; computing a smoothed camera path based upon the model of the scene and the input camera poses for the input frames of the input video; selecting output camera poses from the smoothed camera path for output frames of the output hyper-lapse video, the output camera poses comprise output camera positions and output camera orientations for the output frames of the output hyper-lapse video, the output camera positions being spaced based upon input camera velocities from the input video; and for each of the output frames of the output hyper-lapse video; choosing selected input frames from the input video for an output frame, the selected input frames chosen based at least in part upon an output camera position and an output camera orientation for the output frame; and combining the selected input frames to render the output frame. - View Dependent Claims (31, 32, 33, 34)
-
Specification