Network-based viewing of images of three-dimensional objects
First Claim
1. A method of displaying an electronic image of a three-dimensional object over a server-client network,the server containing images of the object obtained from several different viewpoints distributed about the object, each image having coordinates which correspond to its viewpoint, the method comprising:
- a. the client displaying the image of a first one of the viewpoints;
b. the server obtaining a command from the client, the command indexing from the coordinates of the first viewpoint to the coordinates of an adjacent second one of the viewpoints; and
c. the client displaying the image of the second viewpoint.
4 Assignments
0 Petitions
Accused Products
Abstract
A three-dimensional object may be imaged from several viewpoints distributed about the object, and the image obtained at each viewpoint may be stored in conjunction with the viewpoint'"'"'s coordinates about the object. The object'"'"'s image can then be transmitted for display over a client-server computer network, and the user may issue commands to manipulate the object, so as to very accurately simulate manipulation of the actual three-dimensional object. The client computer may display the object'"'"'s image from one of the viewpoints. If the user then wishes to manipulate the object, the user will issue a command to the server to index from the coordinates of the first viewpoint to the coordinates of some adjacent viewpoint(s). The images of the adjacent viewpoints will then be displayed in a sequence corresponding to the order in which the coordinates of the viewpoints are indexed. Zooming (enlargement and reduction of views) and other features are also discussed, as well as various procedures for enhancing transmission time (and thus display speed).
100 Citations
20 Claims
-
1. A method of displaying an electronic image of a three-dimensional object over a server-client network,
the server containing images of the object obtained from several different viewpoints distributed about the object, each image having coordinates which correspond to its viewpoint, the method comprising: -
a. the client displaying the image of a first one of the viewpoints;
b. the server obtaining a command from the client, the command indexing from the coordinates of the first viewpoint to the coordinates of an adjacent second one of the viewpoints; and
c. the client displaying the image of the second viewpoint. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17)
each viewpoint may have its image rendered at a selected one of several levels of resolution, the several levels ranging from a lowest-resolution level to a highest-resolution level, and wherein one of these several levels constitutes a default resolution level;
b. prior to the server receiving a zoom-in command from the client, all images transmitted by the server to the client are at the default resolution level;
c. after receiving a zoom-in command from the client for a selected viewpoint, the server transmits at least a portion of the image of the selected viewpoint to the client at a resolution level higher than the default resolution level, if one is available.
-
-
10. The method of claim 1 wherein:
-
a. the image of the first viewpoint is displayed at a first resolution level;
b. the server obtains one or more commands from the client to index from the coordinates of the first viewpoint to the coordinates of some final viewpoint, such indexing occurring between the coordinates of adjacent viewpoints, and c. at each newly-indexed viewpoint after the first, (1) the image of the viewpoint is displayed at a second resolution level lower than the first resolution level, and (2) the image of the viewpoint is subsequently displayed at the first resolution level until another indexing command is received.
-
-
11. The method of claim 1 wherein each image includes an object region and a background region, each region being formed of multiple points wherein each point exists in both a three-dimensional RGB space and a two-dimensional image space,
and wherein the method includes the performance of the following steps for at least one of the images: -
a. sampling points within the background region of the image in the image space;
b. constructing bounding envelopes about at least the sampled points in the RGB space, c. replacing the bounded points in image space with points having preselected RGB values.
-
-
13. The method of claim 1:
-
wherein the image of the first one of the viewpoints contains an object region and a background region, each region containing a number of points, each point having an RGB value;
the method further comprising the following steps;
a. within the two-dimensional image space of the image of the first one of the viewpoints, sampling points in the background region;
b. within the three-dimensional RGB space of the image of the first one of the viewpoints, constructing bounding envelopes about the sampled points;
c. within the image of the first one of the viewpoints, redefining the RGB values of the points in the bounding envelopes, thereby redefining the RGB values of at least a portion of the background region.
-
-
14. The method of claim 1,
wherein the image at each viewpoint contains an object region and a background region, each region containing a number of points, the points existing in both a two-dimensional image space defined by the displayed image and in a three-dimensional RGB space defined by the RGB values of the points in the image, further comprising the following steps: -
a. for the images of at least two adjacent viewpoints, constructing bounding envelopes in RGB space about points of similar color in each image'"'"'s object region, b. for at least one of these images, correlating the locations in image space of the points within its boundary envelopes versus the locations in image space of the points within the corresponding boundary envelopes of the other images.
-
-
15. The method of claim 14 further comprising the step of relocating in image space at least some of the points within the object regions of at least one of the images to increase the correlation of the locations of the boundary envelopes.
-
16. The method of claim 1,
wherein the image at each viewpoint contains an object region and a background region, further comprising the steps of a. projecting the object regions of at least some of the viewpoints until they intersect, and b. reconstructing a three-dimensional model of the object from the intersections. -
17. The method of claim 1 wherein all viewpoints are distributed about the object in an array in which all viewpoints are at least substantially equally spaced from their adjacent viewpoints.
-
12. A method wherein the steps of claim 12 are performed for the images of at least two adjacent viewpoints, the method including the further steps of:
-
a. for each of these images, constructing bounding envelopes about points of similar color within the object region in RGB space;
b. correlating between these images the locations in image space of the points within each image'"'"'s bounding envelopes;
c. for at least some of these images, relocating in image space at least some of the points within their object regions to increase the correlation of the locations of the boundary envelopes.
-
-
18. An apparatus for displaying an electronic image of a three-dimensional object, the apparatus comprising:
-
a. an electronic memory containing images of the object obtained from several different viewpoints distributed about the object, each image having coordinates which correspond to its viewpoint;
b. an input device wherein a user may input commands indexing from the coordinates of one image to the coordinates of an adjacent image;
c. an output device displaying the image of the viewpoint for which the user has indexed to its coordinates. - View Dependent Claims (19)
-
-
20. A method of displaying an electronic image of a three-dimensional object comprising:
-
a. imaging the object from several viewpoints distributed about the object, wherein all viewpoints are distributed about the object in an array in which all viewpoints are at least substantially equally spaced from their adjacent viewpoints;
b. storing the image obtained at each viewpoint with respect to the coordinates of the viewpoint about the object;
c. displaying the image of one viewpoint;
d. obtaining a command indexing from the coordinates of the one viewpoint to the coordinates of another adjacent viewpoint; and
e. displaying the image of the adjacent viewpoint.
-
Specification