Offset rolling shutter camera model, and applications thereof
AssigneeGoogle Inc.
InventorsCarlos Hernandez Esteban, Robert Anderson
Life of this patent
Estimating the term…
Abstract
Embodiments efficiently account for variations in camera position across an image, when the image is texture mapped from a single position associated with the image. In an embodiment, each pixel of an image is texture mapped to a three dimensional model. A time offset mask for the image and a value representing a speed of the camera are received. The time offset mask and speed values are used to create an offset mask. The offset mask is applied to the texture mapped model to correct for variations in camera position across an image.
Claims17
A computer-implemented method for correcting projection errors when projecting images, the method comprising:
- determining, by one or more processors, an image mask for an image, wherein the image mask describes relative exposure times of different pixels of the image and corresponding time offset values, where each time offset value corresponds to when a rolling shutter camera captured a different pixel in the image;
- receiving, by the one or more processors, a speed value corresponding to a speed at which the camera was moving when the image was captured and position information identifying a single geocode for the image;
- projecting, by the one or more processors, a pixel of the image into a three-dimensional model using the position information;
- determining, by the one or more processors, an offset vector based on the speed value and the time offset value for the pixel in the image mask;
- adjusting, by the one or more processors, the projection of the pixel based on the offset value in order to correct a projection error arising from variation between the position information and a position of the camera when the pixel was captured by the camera;
- rendering a first corrected texture-mapped model for the image from a viewpoint in three-dimensional space different from the single geocode of the position information using the adjust projection of the pixel;
- rendering a second corrected texture-mapped model for a second image from the viewpoint;
- and
- blending the first and second corrected texture-mapped models in order to generate an animated transition between the image and the second image.
A system for correcting projection errors when projecting images, the system comprising one or more computing devices having one or more processors configured to:
- determine an image mask for an image, wherein the image mask describes relative exposure times of different pixels of the image and corresponding time offset values, where each time offset value corresponds to when a rolling shutter camera captured a different pixel in the image;
- receive a speed value corresponding to a speed at which the camera was moving when the image was captured and position information identifying a single geocode for the image;
- project a pixel of the image into a three-dimensional model using the position information;
- determine an offset vector based on the speed value and the time offset value for the pixel in the image mask;
- adjust the projection of the pixel based on the offset value in order to correct a projection error arising from variation between the position information and a position of the camera when the pixel was captured by the camera;
- render a first corrected texture-mapped model for the image from a viewpoint in three-dimensional space different from the single geocode of the position information using the adjusted projection of the pixel;
- render a second corrected texture-mapped model for a second image from the viewpoint;
- and
- blend the first and second corrected texture-mapped models in order to generate an animated transition between the image and the second image.
A non-transitory, tangible computer-readable medium on which instructions are stored, the instructions when executed by one or more processors cause the one or more processors to perform a method for correcting projection errors when projecting images, the method comprising:
- determining an image mask for an image, wherein the image mask describes relative exposure times of different pixels of the image and corresponding time offset values, where each time offset value corresponds to when a rolling shutter camera captured a different pixel in the image;
- receiving a speed value corresponding to a speed at which the camera was moving when the image was captured and position information identifying a single geocode for the image;
- projecting a pixel of the image into a three-dimensional model using the position information;
- determining an offset vector based on the speed value and the time offset value for the pixel in the image mask;
- adjusting the projection of the pixel based on the offset value in order to correct a projection error arising from variation between the position information and a position of the camera when the pixel was captured by the camera;
- rendering a first corrected texture-mapped model for the image from a viewpoint in three-dimensional space different from the single geocode of the position information using the adjusted projection of the pixel;
- rendering a second corrected texture-mapped model for a second image from the viewpoint;
- and
- blending the first and second corrected texture-mapped models in order to generate an animated transition between the image and the second image.
Dependencies are inferred from the claim text.