System and method for generating and playback of three-dimensional movies
First Claim
1. A method for generating three-dimensional movies comprising:
- receiving three-dimensional graphics data representing a scene;
specifying viewpoint limitations for said scene;
partially rendering, in a primarily viewpoint-independent manner, one or more frames representing said scene, wherein said partially rendering further comprises tessellating said three-dimensional graphics data into micropolygons to meet one or more predetermined criteria;
compressing said one or more partially rendered frames; and
outputting said compressed frames to a carrier medium.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for generating and playing back three-dimensional (3D) movies are disclosed. The system is capable of partially rendering frames without relying upon exact viewpoint information. The partially rendered frames may be rendered to the extent possible without performing viewpoint-dependent processes, and then compressed and stored to a carrier medium. To reduce the amount of data to be stored, the viewer'"'"'s possible viewpoints may be restricted (e.g., by defining a viewpoint-limiting volume or region). The resulting partially-rendered geometry data may be compressed using geometry compression. During playback, the compressed frames are read as a stream, and decompressed. Any final viewpoint-dependent rendering operations may then be performed (e.g., some lighting calculations and atmospheric effects, some fogging, specular highlighting, and reflections). A sensor such as a head-tracker may provide real-time viewpoint information that may be used by the playback system. After rendering, the frames are rasterized and then displayed in stereo.
-
Citations
49 Claims
-
1. A method for generating three-dimensional movies comprising:
-
receiving three-dimensional graphics data representing a scene;
specifying viewpoint limitations for said scene;
partially rendering, in a primarily viewpoint-independent manner, one or more frames representing said scene, wherein said partially rendering further comprises tessellating said three-dimensional graphics data into micropolygons to meet one or more predetermined criteria;
compressing said one or more partially rendered frames; and
outputting said compressed frames to a carrier medium. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A method for playing back three-dimensional movies comprising:
-
reading a plurality of compressed frames from a carrier medium;
decompressing said compressed frames into a plurality of world-space micropolygons;
inputting viewer-controlled viewpoint information;
translating said micropolygons to screen-space;
applying one or more viewpoint-dependent lighting effects to said micropolygons;
rasterizing said micropolygons to generate a frame; and
displaying said frame on a display device. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30)
reading a stream of compressed audio from said carrier medium;
decompressing said stream of compressed audio;
processing said decompressed audio to reflect said real-time viewer-controlled ear location information; and
playing back said decompressed and processed audio.
-
-
31. A software program embodied on a first carrier medium, wherein said software program is configured to generate three-dimensional movies, wherein said software program comprises a plurality of instructions, wherein said plurality of instructions are configured to:
-
receive three-dimensional graphics data representing a scene;
specify viewpoint limitations for said scene based on viewer input;
partially render one or more frames representing said scene;
compress said one or more partially-rendered frames; and
output said compressed frames to a second carrier medium, wherein said first carrier medium and said second carrier medium are selected from the group consisting of computer-readable media and transmission media.
-
-
32. A software program embodied on a first carrier medium, wherein said software program is configured to playback three-dimensional movies, wherein said software program comprises a plurality of instructions, wherein said plurality of instructions are configured to:
-
read a plurality of compressed frames from a second carrier medium, wherein said first carrier medium and said second carrier medium are selected from the group consisting of computer-readable media and transmission media;
decompress said compressed frames into a plurality of world-space micropolygons;
input viewer-controlled viewpoint information;
translate said micropolygons to screen-space;
apply one or more viewpoint-dependent lighting effects to said micropolygons;
rasterize said micropolygons to generate a frame; and
display said frame on a display device.
-
-
33. A graphics system configured to playback previously generated three-dimensional movies, said graphics system comprising:
-
an input means for reading a stream of compressed frames from a carrier medium, wherein said input means is further configured to receive viewpoint limitation information with said compressed frames;
a decompressor coupled to receive and decompress said compressed frames into a plurality of partially-rendered world-space micropolygons;
a graphics processor coupled to receive said partially-rendered world-space micropolygons; and
a sensor coupled to provide said graphics processor with viewer viewpoint information, wherein said graphics processor is configured to translate said world-space micropolygons to screen-space micropolygons using said viewer viewpoint information, and wherein said graphics processor is configured to rasterize said screen-space micropolygons to generate one or more 3D frames in stereo. - View Dependent Claims (34, 35, 36, 37, 38)
-
-
39. A method for generating three-dimensional movies comprising:
-
receiving three-dimensional graphics data;
specifying viewpoint limitations for said three-dimensional graphics data;
tessellating said three-dimensional graphics data into micropolygons;
partially rendering selected micropolygons, wherein said selected micropolygons are visible from viewpoints complying with said viewpoint limitations;
compressing the partially rendered selected micropolygons; and
outputting the compressed partially rendered selected micropolygons to a carrier medium. - View Dependent Claims (40, 41)
-
-
42. A method for generating three-dimensional movies comprising:
-
receiving three-dimensional graphics data;
specifying viewpoint limitations for said three-dimensional graphics data;
tessellating said three-dimensional graphics data into micropolygons;
partially rendering said micropolygons, wherein said partially rendering comprises performing a subset of lighting calculations for said micropolygons, wherein said subset of lighting calculations are mostly independent of said viewpoint limitations;
compressing said partially-rendered micropolygons; and
outputting said compressed partially-rendered micropolygons to a carrier medium. - View Dependent Claims (43, 44)
-
-
45. A method for generating three-dimensional movies comprising:
-
receiving three-dimensional graphics data representing a scene;
specifying viewpoint limitations for said scene;
partially rendering, in a manner independent of said viewpoint limitations, one or more frames representing said scene, wherein said partially rendering further comprises tessellating said three-dimensional graphics data into micropolygons, wherein said partially rendering comprises performing a subset of lighting calculations for said micropolygons, and wherein said subset of lighting calculations are mostly independent of said viewpoint limitations;
compressing said one or more partially-rendered frames; and
outputting said compressed frames to a carrier medium.
-
-
46. A graphics system configured to playback previously generated three-dimensional movies, said graphics system comprising:
-
an input means for reading a stream of compressed frames from a carrier medium, wherein said input means is further configured to receive viewpoint limitation information with said compressed frames;
a decompressor coupled to receive and decompress said compressed frames into a plurality of partially rendered world-space micropolygons;
a graphics processor coupled to receive said partially-rendered world-space micropolygons; and
a sensor coupled to provide said graphics processor with viewer viewpoint information, wherein said graphics processor is configured to translate said world-space micropolygons to screen-space micropolygons using said viewer viewpoint information and to force said viewer viewpoint information to comply with said viewpoint limitation information, and wherein said graphics processor is configured to rasterize said screen-space micropolygons to generate one or more 3D frames in stereo.
-
-
47. A software program embodied on a first carrier medium, wherein said software program is configured to generate three-dimensional movies, wherein said software program comprises a plurality of instructions, wherein said plurality of instructions are configured to:
-
receive three-dimensional graphics data;
specify viewpoint limitations for said three-dimensional graphics data based on viewer input;
tessellate said three-dimensional graphics data into micropolygons;
partially render said micropolygons, wherein said partially render comprises performing a subset of lighting calculations for said micropolygons, wherein said subset of lighting calculations are mostly independent of said viewpoint limitations;
compress said partially-rendered micropolygons; and
output said compressed partially-rendered micropolygons to a second carrier medium, wherein said first carrier medium and said second carrier medium are selected from the group comprising computer-readable media and transmission media.
-
-
48. A software program embodied on a first carrier medium, wherein said software program is configured to playback three-dimensional movies, wherein said software program comprises a plurality of instructions, wherein said plurality of instructions are configured to:
-
read compressed partially-rendered three-dimensional graphics data from a second carrier medium, wherein said first carrier medium and said second carrier medium are selected from the group comprising computer-readable media and transmission media;
decompress said compressed partially-rendered three-dimensional graphics data into a plurality of world-space micropolygons;
receive viewer-controlled viewpoint information;
partially render said micropolygons, wherein said partially render comprises performing a subset of lighting calculations for said micropolygons, wherein said subset of lighting calculations are mostly dependent on said viewer-controlled viewpoint information;
rasterize said micropolygons to generate a frame; and
display said frame on a display device.
-
-
49. A method for playing back three-dimensional movies comprising:
-
reading compressed partially-rendered three-dimensional graphics data and viewpoint limitation information from a carrier medium;
decompressing said compressed partially-tendered three-dimensional graphics into a plurality of world-space micropolygons;
inputting viewer-controlled viewpoint information, wherein said viewer-controlled viewpoint information is forced to comply with said viewpoint limitation information;
translating said micropolygons to screen-space;
applying one or more viewpoint-dependent lighting effects to said micropolygons;
rasterizing said micropolygons to generate a frame; and
displaying said frame on a display device.
-
Specification