Fisheye rendering with lens distortion correction for 360-degree video
First Claim
Patent Images
1. A method of processing 360-degree video data, comprising:
- obtaining two-dimensional video data captured by an omnidirectional camera, wherein the two-dimensional video data includes an image of a scene, and wherein, in the image, the scene has been warped into a circular region of the image;
determining, for pixel locations in the circular region of the image, corresponding locations on a three-dimensional hemispherical representation of the image, wherein determining the corresponding locations includes applying a function that projects a point in the image, represented by a two-dimensional coordinate defined by a first angle in an image plane of the image and a distance from a center of the circular region of the image, to a corresponding point on the three-dimensional hemispherical representation, represented by a three-dimensional coordinate defined by a second angle in the image plane and a third angle in an orthogonal plane from the image plane;
mapping, using the two-dimensional coordinate and the three-dimensional coordinate, a pixel in the circular region of the image to the three-dimensional hemispherical representation of the image, wherein the point in the image provides the pixel to map to the point on the three-dimensional hemispherical representation; and
outputting the three-dimensional hemispherical representation for display in a 360-degree video presentation,wherein the function is a polynomial function, of degree at least 2, in the distance from the center of the circular region of the image, and wherein the function applies a parameter of the omnidirectional camera to determine the three-dimensional coordinate.
1 Assignment
0 Petitions
Accused Products
Abstract
In various implementations, computing systems and computer-implemented methods can be used for correcting the distortion present in a fisheye image, and rendering the image for display as 360-degree video. In various implementations, a computing device can receive 2-dimensional video data captured by an omnidirectional camera. The computing device can map an image from each video frame to a 3-dimensional hemispherical representation. In various implementations, this mapping can be executed using a polynomial model. The 3-dimensional hemispherical representation can then be used in a 360-degree video presentation, to provide a virtual reality experience.
-
Citations
32 Claims
-
1. A method of processing 360-degree video data, comprising:
-
obtaining two-dimensional video data captured by an omnidirectional camera, wherein the two-dimensional video data includes an image of a scene, and wherein, in the image, the scene has been warped into a circular region of the image; determining, for pixel locations in the circular region of the image, corresponding locations on a three-dimensional hemispherical representation of the image, wherein determining the corresponding locations includes applying a function that projects a point in the image, represented by a two-dimensional coordinate defined by a first angle in an image plane of the image and a distance from a center of the circular region of the image, to a corresponding point on the three-dimensional hemispherical representation, represented by a three-dimensional coordinate defined by a second angle in the image plane and a third angle in an orthogonal plane from the image plane; mapping, using the two-dimensional coordinate and the three-dimensional coordinate, a pixel in the circular region of the image to the three-dimensional hemispherical representation of the image, wherein the point in the image provides the pixel to map to the point on the three-dimensional hemispherical representation; and outputting the three-dimensional hemispherical representation for display in a 360-degree video presentation, wherein the function is a polynomial function, of degree at least 2, in the distance from the center of the circular region of the image, and wherein the function applies a parameter of the omnidirectional camera to determine the three-dimensional coordinate. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An apparatus for processing encoded video, comprising:
-
a memory configured to store two-dimensional video data captured by an omnidirectional camera; and a processor implemented in circuitry and configured to; obtain the two-dimensional video data, wherein the two-dimensional video data includes an image of a scene, and wherein, in the image, the scene has been warped into a circular region of the image; determine, for pixel locations in the circular region of the image, corresponding locations on a three-dimensional hemispherical representation of the image, wherein determining the corresponding locations includes applying a function that projects a point in the image, represented by a two-dimensional coordinate defined by a first angle in an image plane of the image and a distance from a center of the circular region of the image, to a corresponding point on the three-dimensional hemispherical representation, represented by a three-dimensional coordinate defined by a second angle in the image plane and a third angle in an orthogonal plane from the image plane; map, using the two-dimensional coordinate and the three-dimensional coordinate, a pixel in the circular region of the image to the three-dimensional hemispherical representation of the image, wherein the point in the image provides the pixel to map to the point on the three-dimensional hemispherical representation; and output the three-dimensional hemispherical representation for display in a 360-degree video presentation, wherein the function is a polynomial function, of degree at least 2, in the distance from the center of the circular region of the image, and wherein the function applies a parameter of the omnidirectional camera to determine the three-dimensional coordinate. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. An apparatus for decoding video, comprising:
-
a memory configured to store two-dimensional video data captured by an omnidirectional camera; and a processor implemented in circuitry, configured to; obtain the two-dimensional video data, wherein the two-dimensional video data includes an image of a scene, and wherein, in the image, the scene has been warped into a circular region of the image; determine, for pixel locations in the circular region of the image, corresponding locations on a three-dimensional hemispherical representation of the image, wherein determining the corresponding locations includes applying a function that projects a point in the image, represented by a two-dimensional coordinate defined by a first angle in an image plane of the image and a distance from a center of the circular region of the image, to a corresponding point on the three-dimensional hemispherical representation, represented by a three-dimensional coordinate defined by a second angle in the image plane and a third angle in an orthogonal plane from the image plane; map, using the two-dimensional coordinate and the three-dimensional coordinate, a pixel in the circular region of the image to the three-dimensional hemispherical representation of the image, wherein the point in the image provides the pixel to map to the point on the three-dimensional hemispherical representation; and output the three-dimensional hemispherical representation for display in a 360-degree video presentation, wherein the function is a polynomial function, of degree at least 2, in the distance from the center of the circular region of the image, and wherein the function applies a parameter of the omnidirectional camera to determine the three-dimensional coordinate. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A non-transitory computer-readable medium having stored thereon instructions that, when executed by one or more processors, cause the one or more processors to:
-
obtain two-dimensional video data captured by an omnidirectional camera, wherein the two-dimensional video data includes an image of a scene, and wherein, in the image, the scene has been warped into a circular region of the image; determine, for pixel locations in the circular region of the image, corresponding locations on a three-dimensional hemispherical representation of the image, wherein determining the corresponding locations includes applying a function that projects a point in the image, represented by a two-dimensional coordinate defined by a first angle in an image plane of the image and a distance from a center of the circular region of the image, to a corresponding point on the three-dimensional hemispherical representation, represented by a three-dimensional coordinate defined by a second angle in the image plane and a third angle in an orthogonal plane from the image plane; map, using the two-dimensional coordinate and the three-dimensional coordinate, a pixel in the circular region of the image to the three-dimensional hemispherical representation of the image, wherein the point in the image provides the pixel to map to the point on the three-dimensional hemispherical representation; and output the three-dimensional hemispherical representation for display in a 360-degree video presentation, wherein the function is a polynomial function, of degree at least 2, in the distance from the center of the circular region of the image, and wherein the function applies a parameter of the omnidirectional camera to determine the three-dimensional coordinate.
-
-
32. An apparatus, comprising:
-
means for obtaining two-dimensional video data, wherein the two-dimensional video data includes an image of a scene, and wherein, in the image, the scene has been warped into a circular region of the image; means for determining, for pixel locations in the circular region of the image, corresponding locations on a three-dimensional hemispherical representation of the image, wherein determining the corresponding locations includes applying a function that projects a point in the image, represented by a two-dimensional coordinate defined by a first angle in an image plane of the image and a distance from a center of the circular region of the image, to a corresponding point on the three-dimensional hemispherical representation, represented by a three-dimensional coordinate defined by a second angle in the image plane and a third angle in an orthogonal plane from the image plane; means for mapping, using the two-dimensional coordinate and the three-dimensional coordinate, a pixel in the circular region of the image to the three-dimensional hemispherical representation of the image, wherein the point in the image provides the pixel to map to the point on the three-dimensional hemispherical representation; and means for outputting the three-dimensional hemispherical representation for display in a 360-degree video presentation, wherein the function is a polynomial function, of degree at least 2, in the distance from the center of the circular region of the image, and wherein the function applies a parameter of the omnidirectional camera to determine the three-dimensional coordinate.
-
Specification