Generating images from light fields utilizing virtual viewpoints
First Claim
1. A system configured to synthesize images using a plurality of images captured from multiple viewpoints, comprising:
- a processor; and
a memory connected to the processor and configured to store the plurality of images captured from the multiple viewpoints and an image manipulation application;
wherein the plurality of images comprises;
image data and pixel position data, the plurality of images being captured using an array camera comprising a plurality of cameras that capture the plurality of images from viewpoints of the plurality of cameras, wherein multiple cameras in the array camera simultaneously capture the plurality of images, the viewpoints of the plurality of cameras including a viewpoint of a first camera within the array camera and additional viewpoints, the additional viewpoints including a viewpoint of a second camera within the array camera, and wherein the plurality of images includes occluded pixel information captured from at least one of the additional viewpoints describing pixels not visible from the viewpoint of the first camera; and
wherein the image manipulation application configures the processor to;
obtain the plurality of images;
generate a depth map from the viewpoint of the first camera for the plurality of images using the plurality of images, where the depth map comprises depth information for one or more pixels in the image data, wherein generating the depth map comprises;
(1) for each of a plurality of depth levels, shifting the plurality of images into a stack of images for a particular depth level and computing a variance for a particular pixel in the image stack; and
(2) determining a depth level for the particular pixel by minimizing the variance for the particular pixel across the image stack;
determine a virtual viewpoint for the plurality of images based on the pixel position data and the depth map for the plurality of images, where the virtual viewpoint comprises a virtual location and virtual depth information, wherein the virtual viewpoint is a separate viewpoint from the viewpoint of the first camera, and is a viewpoint from an interpolated position between the viewpoint of the first camera and the viewpoint of the second camera;
compute a virtual depth map based on the plurality of images by projecting pixel depth information from the depth map from the viewpoint of the first camera to the virtual viewpoint; and
generate an image from the perspective of the virtual viewpoint based on the plurality of images and the virtual depth map by projecting pixels from the plurality of images based on the pixel position data and the depth map, where;
the generated image comprises a plurality of pixels selected from the image data based on the pixel position data and the virtual depth map, andthe pixels that are projected include at least one occluded pixel from the occluded pixel information that is visible from the perspective of the virtual viewpoint.
13 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for the synthesis of light field images from virtual viewpoints in accordance with embodiments of the invention are disclosed. In one embodiment of the invention, a system includes a processor and a memory configured to store captured light field image data and an image manipulation application, wherein the captured light field image data includes image data, pixel position data, and a depth map, and wherein the image manipulation application configures the processor to obtain captured light field image data, determine a virtual viewpoint for the captured light field image data, where the virtual viewpoint includes a virtual location and virtual depth information, compute a virtual depth map based on the captured light field image data and the virtual viewpoint, and generate an image from the perspective of the virtual viewpoint based on the captured light field image data and the virtual depth map.
1053 Citations
12 Claims
-
1. A system configured to synthesize images using a plurality of images captured from multiple viewpoints, comprising:
-
a processor; and a memory connected to the processor and configured to store the plurality of images captured from the multiple viewpoints and an image manipulation application; wherein the plurality of images comprises; image data and pixel position data, the plurality of images being captured using an array camera comprising a plurality of cameras that capture the plurality of images from viewpoints of the plurality of cameras, wherein multiple cameras in the array camera simultaneously capture the plurality of images, the viewpoints of the plurality of cameras including a viewpoint of a first camera within the array camera and additional viewpoints, the additional viewpoints including a viewpoint of a second camera within the array camera, and wherein the plurality of images includes occluded pixel information captured from at least one of the additional viewpoints describing pixels not visible from the viewpoint of the first camera; and wherein the image manipulation application configures the processor to; obtain the plurality of images; generate a depth map from the viewpoint of the first camera for the plurality of images using the plurality of images, where the depth map comprises depth information for one or more pixels in the image data, wherein generating the depth map comprises; (1) for each of a plurality of depth levels, shifting the plurality of images into a stack of images for a particular depth level and computing a variance for a particular pixel in the image stack; and (2) determining a depth level for the particular pixel by minimizing the variance for the particular pixel across the image stack; determine a virtual viewpoint for the plurality of images based on the pixel position data and the depth map for the plurality of images, where the virtual viewpoint comprises a virtual location and virtual depth information, wherein the virtual viewpoint is a separate viewpoint from the viewpoint of the first camera, and is a viewpoint from an interpolated position between the viewpoint of the first camera and the viewpoint of the second camera; compute a virtual depth map based on the plurality of images by projecting pixel depth information from the depth map from the viewpoint of the first camera to the virtual viewpoint; and generate an image from the perspective of the virtual viewpoint based on the plurality of images and the virtual depth map by projecting pixels from the plurality of images based on the pixel position data and the depth map, where; the generated image comprises a plurality of pixels selected from the image data based on the pixel position data and the virtual depth map, and the pixels that are projected include at least one occluded pixel from the occluded pixel information that is visible from the perspective of the virtual viewpoint. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
Specification