Video Stabilization
First Claim
1. A computer-implemented method, comprising:
- receiving, by a computing system, a series of frames of a video captured by a recording device using an optical image stabilization (OIS) system;
receiving, by the computing system, (i) OIS position data indicating positions of the OIS system during capture of the series of frames and (ii) device position data indicating positions of the recording device during capture of the series of frames;
determining, by the computing system, a first transformation for a particular frame in the series of frames, the first transformation being determined based on the OIS position data for the particular frame and the device position data for the particular frame;
determining, by the computing system, a set of camera positions occurring over a set of multiple frames based on the OIS position data and the device position data, the set of multiple frames including one or more frames before the particular frame and one or more frames after the particular frame;
applying, by the computing system, a filter to the set of camera positions;
determining, by the computing system, a second transformation for the particular frame based on the first transformation and positions of the recording device determined, based on the device position data, for one or more frames in the series of frames that are captured after the particular frame, wherein the second transformation is determined based on a camera position determined based on applying the filter to the set of camera positions; and
generating, by the computing system, a stabilized version of the particular frame using the second transformation.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, systems, and apparatus, including computer programs stored on a computer-readable storage medium, for video stabilization. In some implementations, a computer system obtains frames of a video captured by a recording device using an optical image stabilization (OIS) system. The computing system receives (i) OIS position data indicating positions of the OIS system during capture of the frames, and (ii) device position data indicating positions of the recording device during capture of the frames. The computing system determines a first transformation for a particular frame based on the OIS position data for the particular frame and device position data for the particular frame. The computing system determines a second transformation for the particular frame based on the first transformation and positions of the recording device occurring after capture of the particular frame. The computing system generates a stabilized version of the particular frame using the second transformation.
-
Citations
22 Claims
-
1. A computer-implemented method, comprising:
-
receiving, by a computing system, a series of frames of a video captured by a recording device using an optical image stabilization (OIS) system; receiving, by the computing system, (i) OIS position data indicating positions of the OIS system during capture of the series of frames and (ii) device position data indicating positions of the recording device during capture of the series of frames; determining, by the computing system, a first transformation for a particular frame in the series of frames, the first transformation being determined based on the OIS position data for the particular frame and the device position data for the particular frame; determining, by the computing system, a set of camera positions occurring over a set of multiple frames based on the OIS position data and the device position data, the set of multiple frames including one or more frames before the particular frame and one or more frames after the particular frame; applying, by the computing system, a filter to the set of camera positions; determining, by the computing system, a second transformation for the particular frame based on the first transformation and positions of the recording device determined, based on the device position data, for one or more frames in the series of frames that are captured after the particular frame, wherein the second transformation is determined based on a camera position determined based on applying the filter to the set of camera positions; and generating, by the computing system, a stabilized version of the particular frame using the second transformation. - View Dependent Claims (2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
6. (canceled)
-
19. A recording device, comprising:
-
one or more processors; and one or more non-transitory computer-readable devices, including instructions that when executed by the one or more processors, cause performance of operations that include; receiving, by the one or more processors of the recording device, a series of frames of a video captured by a recording device using an optical image stabilization (OIS) system; receiving, by the one or more processors of the recording device, (i) OIS position data indicating positions of the OIS system during capture of the series of frames, and (ii) device position data indicating positions of the recording device during capture of the series of frames; determining, by the one or more processors of the recording device, a first transformation for a particular frame in the series of frames, the first transformation being determined based on the OIS position data for the particular frame and the device position data for the particular frame; determining, by the one or more processors of the recording device, a set of camera positions occurring over a set of multiple frames based on the OIS position data and the device position data, the set of multiple frames including one or more frames before the particular frame and one or more frames after the particular frame; applying, by the one or more processors of the recording device, a filter to the set of camera positions; determining, by the one or more processors of the recording device, a second transformation for the particular frame based on the first transformation and positions of the recording device determined, based on the device position data, for one or more frames in the series of frames that are captured after the particular frame, wherein the second transformation is determined based on a camera position determined based on applying the filter to the set of camera positions; and generating, by the one or more processors of the recording device, a stabilized version of the particular frame using the second transformation.
-
-
20. (canceled)
-
21. A computer-implemented method, comprising:
-
receiving a series of frames of a video captured by a recording device using an optical image stabilization (OIS) system; receiving (i) OIS position data indicating positions of the OIS system during capture of the series of frames and (ii) device position data indicating positions of the recording device during capture of the series of frames; determining a first transformation for a particular frame in the series of frames, the first transformation being determined based on the OIS position data for the particular frame and the device position data for the particular frame, wherein the first transformation involves a first projection matrix for projecting image data for the particular frame to an intermediate space; determining a second transformation for the particular frame based on the first transformation and positions of the recording device determined, based on the device position data, for one or more frames in the series of frames that are captured after the particular frame, wherein the second transformation involves a second projection matrix for projecting the image data in the intermediate space to a stabilized version of the particular frame; and generating a stabilized version of the particular frame using the second transformation.
-
-
22. A computer-implemented method, comprising:
-
receiving a series of frames of a video captured by a recording device using an optical image stabilization (OIS) system; receiving (i) OIS position data indicating positions of the OIS system during capture of the series of frames and (ii) device position data indicating positions of the recording device during capture of the series of frames; determining a first transformation for a particular frame in the series of frames, the first transformation being determined based on the OIS position data for the particular frame and the device position data for the particular frame; determining a camera position representing a position occurring during consistent movement of the recording device over a set of multiple frames; determining a second transformation for the particular frame based on the first transformation and positions of the recording device determined, based on the device position data, for one or more frames in the series of frames that are captured after the particular frame, wherein the second transformation is determined based on the camera position representing a position occurring during consistent movement of the camera; and generating a stabilized version of the particular frame using the second transformation.
-
Specification