Stabilization of panoramic video
First Claim
1. A method for stabilizing a 360°
- panoramic video, the method comprising;
receiving, from a panoramic camera, video data comprising a plurality of frames, wherein the panoramic camera was positioned in a three-dimensional camera space described by an x-axis, a y-axis, and a z-axis that are mutually orthogonal, wherein receiving the video data comprises receiving first frame data of the plurality of frames that represents a 360°
field-of-view of the panoramic camera, the first frame data including a plurality of pixel values and spatial arrangement data describing positions for the plurality of pixel values on a pixel plane comprising a plurality of pixel value positions, and wherein pixel values positioned at a first vertical edge of the pixel plane and at a second vertical edge of the pixel plane opposite the first vertical edge depict adjacent portions of the three-dimensional camera space;
receiving, from a gyro sensor, rotation data of the panoramic camera in the three-dimensional camera space;
high-pass filtering the rotation data of the panoramic camera to generate unintended rotation data describing unintended rotation of the panoramic camera in the three-dimensional camera space;
using the unintended rotation data, determining a planar component of the unintended rotation, wherein the planar component of the unintended rotation is about the z-axis and in an xy plane;
for the first frame data from the plurality of frames of the video data, converting the planar component of the unintended rotation to a first frame shift in a horizontal dimension of the pixel plane; and
writing the first frame shift to a user data location associated with the first frame data.
1 Assignment
0 Petitions
Accused Products
Abstract
Various examples described herein are directed to systems and methods for stabilizing a panoramic video. The panoramic video may comprise a first frame captured by a panoramic camera. The panoramic camera may be positioned in a three-dimensional camera space described by an x-axis, a y-axis, and a z-axis that are mutually orthogonal. The first frame may comprise a plurality of pixel values arranged in a pixel plane and may be continuous in a first dimension. An image processor may receive from a motion sensor data describing a rotation of the panoramic camera at a time when the panoramic camera captured the first frame. The image processor may determine a planar component of an unintended rotation of the panoramic camera about the z-axis and convert the planar component of the unintended rotation to a first frame shift in the first dimension.
36 Citations
20 Claims
-
1. A method for stabilizing a 360°
- panoramic video, the method comprising;
receiving, from a panoramic camera, video data comprising a plurality of frames, wherein the panoramic camera was positioned in a three-dimensional camera space described by an x-axis, a y-axis, and a z-axis that are mutually orthogonal, wherein receiving the video data comprises receiving first frame data of the plurality of frames that represents a 360°
field-of-view of the panoramic camera, the first frame data including a plurality of pixel values and spatial arrangement data describing positions for the plurality of pixel values on a pixel plane comprising a plurality of pixel value positions, and wherein pixel values positioned at a first vertical edge of the pixel plane and at a second vertical edge of the pixel plane opposite the first vertical edge depict adjacent portions of the three-dimensional camera space;receiving, from a gyro sensor, rotation data of the panoramic camera in the three-dimensional camera space; high-pass filtering the rotation data of the panoramic camera to generate unintended rotation data describing unintended rotation of the panoramic camera in the three-dimensional camera space; using the unintended rotation data, determining a planar component of the unintended rotation, wherein the planar component of the unintended rotation is about the z-axis and in an xy plane; for the first frame data from the plurality of frames of the video data, converting the planar component of the unintended rotation to a first frame shift in a horizontal dimension of the pixel plane; and writing the first frame shift to a user data location associated with the first frame data. - View Dependent Claims (2, 3)
- panoramic video, the method comprising;
-
4. A system for stabilizing a panoramic video, the system comprising:
an image processor, the image processor comprising at least one processor and operatively associated memory, wherein the image processor is programmed to; receive first frame data from the panoramic video, wherein the first frame data comprises a plurality of pixel values and spatial arrangement data describing positions for the plurality of pixel values on a pixel plane, and wherein the plurality of pixel values are continuous in a first dimension; receive, from a motion sensor, data describing a rotation of at least one image sensor that captured the first frame data at a time when the at least one image sensor captured the first frame data; high-pass filter the data describing the rotation resulting in unintended rotation data describing an unintended rotation of the at least one image sensor that captured the first frame data at the time when the at least one image sensor captured the first frame data; determine a planar component of the unintended rotation about a first axis perpendicular to the first dimension of the pixel plane; and determine, based at least in part on the planar component of the unintended rotation, a first frame data shift in the first dimension. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
17. A system for stabilizing a panoramic video, the system comprising:
an image processor, the image processor comprising at least one processor and operatively associated memory, wherein the image processor is programmed to; receive a first frame from the panoramic video and captured by a panoramic camera positioned in a three-dimensional camera space described by an x-axis, a y-axis, and a z-axis that are mutually orthogonal, wherein the first frame comprises a plurality of pixel values and spatial arrangement data describing positions for the plurality of pixel values in a pixel plane, and wherein the first frame is continuous in a first dimension; receiving, from a gyro sensor, data describing a rotation of the panoramic camera at a time when the panoramic camera captured the first frame; high-pass filtering the data describing the rotation resulting in unintended rotation data describing an unintended rotation of the panoramic camera; determine a planar component of the unintended rotation about the z-axis; and determine, based at least in part on the planar component of the unintended rotation, a first frame shift in the first dimension. - View Dependent Claims (18, 19, 20)
Specification