Method and system for digital plenoptic imaging
First Claim
1. A method for generating an image of an object from a vantage point, the object being represented by a plenoptic function having coefficients stored in a memory, the coefficients representing intensity values of light rays emanating from the object that pass through predefined points on a surface surrounding the object and in predefined directions through each point, the method comprising:
- receiving the coefficients of the plenoptic function, the plenoptic function for generating intensity values of light rays emanating from the object and passing through the surface surrounding the object; and
for each of a plurality of pixels of the image,determining a point on the surface surrounding the object and a direction of a light ray that passes through the determined point and that contributes to the pixel of the image;
generating an intensity for the pixel by,when a stored coefficient represents the intensity value of the light ray emanating from the object that passes through the determined point in the determined direction, evaluating the plenoptic function at that determined point and direction to generate an intensity for the pixel; and
when a stored coefficient does not represent the intensity value of the light ray emanating from the object that passes through the determined point in the determined direction, generating the intensity for the pixel by,identifying multiple light rays emanating from the object that pass through predefined points on the surface surrounding the object and in predefined directions through each point such that the light rays pass near the pixel;
evaluating the plenoptic function at the predefined point and direction for each of the identified light rays to determine an intensity; and
combining the determined intensities for the multiple identified light rays into the generated intensity for the pixel; and
setting the pixel to the generated intensity.
5 Assignments
0 Petitions
Accused Products
Abstract
A computer-based method and system for digital 3-dimensional imaging of an object which allows for viewing images of the object from arbitrary vantage points. The system, referred to as the Lumigraph system, collects a complete appearance of either a synthetic or real object (or a scene), stores a representation of the appearance, and uses the representation to render images of the object from any vantage point. The appearance of an object is a collection of light rays that emanate from the object in all directions. The system stores the representation of the appearance as a set of coefficients of a 4-dimensional function, referred to as the Lumigraph function. From the Lumigraph function with these coefficients, the Lumigraph system can generate 2-dimensional images of the object from any vantage point. The Lumigraph system generates an image by evaluating the Lumigraph function to identify the intensity values of light rays that would emanate from the object to form the image. The Lumigraph system then combines these intensity values to form the image.
-
Citations
55 Claims
-
1. A method for generating an image of an object from a vantage point, the object being represented by a plenoptic function having coefficients stored in a memory, the coefficients representing intensity values of light rays emanating from the object that pass through predefined points on a surface surrounding the object and in predefined directions through each point, the method comprising:
-
receiving the coefficients of the plenoptic function, the plenoptic function for generating intensity values of light rays emanating from the object and passing through the surface surrounding the object; and for each of a plurality of pixels of the image, determining a point on the surface surrounding the object and a direction of a light ray that passes through the determined point and that contributes to the pixel of the image; generating an intensity for the pixel by, when a stored coefficient represents the intensity value of the light ray emanating from the object that passes through the determined point in the determined direction, evaluating the plenoptic function at that determined point and direction to generate an intensity for the pixel; and when a stored coefficient does not represent the intensity value of the light ray emanating from the object that passes through the determined point in the determined direction, generating the intensity for the pixel by, identifying multiple light rays emanating from the object that pass through predefined points on the surface surrounding the object and in predefined directions through each point such that the light rays pass near the pixel; evaluating the plenoptic function at the predefined point and direction for each of the identified light rays to determine an intensity; and combining the determined intensities for the multiple identified light rays into the generated intensity for the pixel; and setting the pixel to the generated intensity. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for generating an image of an object from a vantage point, the object being represented by a plenoptic function having coefficients stored in a memory, the coefficients representing intensity values of light rays emanating from the object that pass through predefined points on a surface surrounding the object and in predefined directions through each point, the method comprising:
-
receiving the coefficients of the plenoptic function, the plenoptic function for generating intensity values of light rays emanating from the object and passing through the surface surrounding the object; for each of a plurality of pre-defined points on the surface, identifying a plurality of directions of light rays that pass through an area on the surface around the pre-defined point, the plurality of directions corresponding to a plurality of coefficients of the plenoptic function that define a texture map; identifying an area on a graphics object representing the area on the surface; and filling the identified area with the texture defined by the texture map; and rendering the graphics object with the filled texture to generate an image of the object. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A method in a computer system for generating an image of an object, the object being represented by a data structure representing intensity values of light rays emanating from the object, the data structure storing intensity values of light rays that pass through predefined points on a surface surrounding the object and in predefined directions through each point, the image of the object having a center of projection, comprising:
for each predefined point, selecting an area around the predefined point; identifying the light rays in the data structure that emanate from the object and pass through the selected area and intersect at the center of projection; defining as a texture map the intensity values of the identified light rays; identifying an area of the image through which the identified light rays pass; and filling the identified area in accordance with the defined texture map. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
27. A method in a computer system for generating an image of an object whose appearance is represented by a Lumigraph data structure, the Lumigraph data structure storing intensity values corresponding to light rays that emanate from the object at predefined directions and that pass through predefined points on a surface surrounding the object, the image having a center of projection, the method comprising:
for each pixel of the image, identifying from the data structure the predefined points and predefined directions of light rays that pass through the image near the pixel and pass near the center of projection; generating a single intensity value for the pixel by, when the Lumigraph data structure has an intensity value corresponding to a light ray that emanates from the object in such a direction as to pass through the pixel, determining that the single intensity value for the pixel is the intensity value for the light ray; and when the Lumigraph data structure does not have an intensity value corresponding to a light ray that emanates from the object in such a direction as to pass through the pixel, combining the intensity values indicated by the identified predefined points and predefined directions into the single intensity value; and setting the intensity value of the pixel to the generated intensity value. - View Dependent Claims (28, 29, 30, 31, 32)
-
33. A method in a computer system for generating an image of an object whose appearance is represented by a Lumigraph data structure, the Lumigraph data structure storing intensity values corresponding to light rays that emanate from the object at predefined directions and that pass through predefined points on a surface surrounding the object, the image having a center of projection, the method comprising:
for each pixel of the image, identifying from the data structure the predefined points and predefined directions of light rays that pass through the image near the pixel and pass near the center of projection, the identifying factoring in surface depth of the object, the surface depth represented by a depth data structure indicating depth of the object at various points on its surface, the depth data structure being an octree data structure; generating an intensity value for the pixel by combining the intensity values indicated by the identified predefined points and predefined directions; and setting the intensity value of the pixel to the generated single intensity value. - View Dependent Claims (34)
-
35. A computer-readable medium containing instructions for causing a computer system to generate an image of an object, the object being represented by a data structure representing intensity values of light rays emanating from the object, the data structure storing intensity values of light rays emanating from the object that pass through predefined points on a surface surrounding the object and in predefined directions through each point, the image of the object having a center of projection, by:
for each predefined point, selecting an area around the predefined point; identifying the light rays in the data structure that emanate from the object and pass through the selected area and intersect near the center of projection; defining as a texture map the intensity values of the identified light rays; identifying an area of the image through which the identified light rays pass; and filling the identified area in accordance with the defined texture map. - View Dependent Claims (36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47)
-
48. A computer-readable medium containing instructions for causing a computer system to generate an image of an object whose appearance is represented by a data structure representing intensity levels corresponding to light rays that emanate from the object, the data structure storing intensity levels of light rays emanating from the object that pass through predefined points on a surface surrounding the object and in predefined directions through each point, the image having a center of projection, by:
for each pixel of the image, identifying from the data structure the predefined points and predefined directions of light rays that pass through the image near the pixel and pass near the center of projection; generating a single intensity level for the pixel by, when the data structure has an intensity level corresponding to a light ray that emanates from the object in such a direction as to pass through the pixel, determining that the single intensity level for the pixel is the intensity level for the light ray; and when the data structure does not have an intensity level corresponding to a light ray that emanates from the object in such a direction as to pass through the pixel, combining the intensity levels indicated by the identified predefined points and predefined directions into the single intensity level; and setting the intensity level of the pixel to the generated intensity level. - View Dependent Claims (49, 50, 51, 52, 53)
-
54. A computer-readable medium containing instructions for causing a computer system to generate an image of an object whose appearance is represented by a data structure representing intensity levels corresponding to light rays that emanate from the object, the data structure storing intensity levels of light rays emanating from the object that pass through predefined points on a surface surrounding the object and in predefined directions through each point, the image having a center of projection, by:
for each pixel of the image, identifying from the data structure the predefined points and predefined directions of light rays that pass through the image near the pixel and pass near the center of projection, the identifying factoring in surface depth of the object, the surface depth of the object represented by a depth data structure indicating depth of the object at various points on its surface, the depth data structure being an octree data structure; generating an intensity level for the pixel by combining the intensity levels indicated by the identified predefined points and predefined directions; and setting the intensity level of the pixel to the generated single intensity level. - View Dependent Claims (55)
Specification