Model-based view extrapolation for interactive virtual reality systems
AssigneeRichFX, Ltd.
InventorDaniel Cohen-Or
Life of this patent
Estimating the term…
Abstract
A method by which a client and a server cooperate to render views of a virtual reality world within which a user of the client navigates. The server sends the client a reference view and a model to use to extrapolate the reference view in response to the user's virtual movement. The client sends the server a record of the user's virtual movement. Both the client and the server perform the model-based extrapolation of the reference view. The server also performs an exact update of the reference view. When the extrapolated reference view deviates too much from the updated reference view, the server sends the client the difference between the extrapolated and updated reference views, so that the client can update its reference view.
Claims45
In a system in which a server and a client cooperate to render a plurality of views of a virtual world, each view corresponding to a viewpoint, a method for generating the views in real time, the method comprising:
- (a) transmitting a first reference view to the client;
- (b) transmitting at least a portion of a virtual world model to the client;
- (c) extrapolating said first reference view based on said portion of said virtual world model to generate an extrapolated view;
- (d) transmitting at least one correction dataset to the client;
- and
- (e) correcting said extrapolated view based on said at least one correction dataset to generate at least one second reference view.
In a system in which a server and a client cooperate to render a plurality of views of a virtual world, a method for updating the views in real time, the method comprising:
- (a) transmitting a first reference view to the client;
- (b) extrapolating said first reference view, to generate an extrapolated view;
- (c) transmitting at least one correction dataset to the client;
- and
- (d) correcting said extrapolated view based on said at least one correction dataset, to generate at least one second reference view;
- wherein said extrapolating occurs at least twice before said correcting.
In a system for rendering a plurality of views, each of the views associated with a viewpoint, a method for reconstructing at least one of the plurality of views, the method comprising:
- (a) providing one or more reference views;
- (b) providing range data;
- (c) extrapolating said one or more reference views based on said range data and on at least one of the viewpoints to generate at least one extrapolated view;
- (d) providing at least one correction dataset;
- and
- (e) correcting said at least one extrapolated view based on said at least one correction dataset to generate at least one new reference view.
In a network comprising a client and a server, a method performed at the client of rendering views of a virtual world, the method comprising:
- generating an extrapolated view of the virtual world based on a reference view of the virtual world and on at least a portion of a virtual world model;
- receiving from the server a correction dataset defining a difference between the extrapolated view of the virtual world and an exact view of the virtual world maintained at the server;
- and
- modifying the extrapolated view based on the received correction dataset to generate an updated reference view to be used for generating subsequent extrapolation views of the virtual world.
In a network comprising a client and a server, a method performed at the server to facilitate rendering views of a virtual world at the client, the method comprising:
- maintaining an exact view of the virtual world based on a virtual world model and a texture map residing at the server;
- maintaining an extrapolated view of the virtual world based on a reference view and a subset of the virtual world model known to the client;
- and
- transmitting to the client a correction dataset defining a difference between the extrapolated view of the virtual world and an exact view of the virtual world.
Computer software, residing on a computer-readable medium, for rendering views of a virtual world in a network comprising a client and a server, the software comprising instructions for causing the client to perform the following operations:
- generate an extrapolated view of the virtual world based on a reference view of the virtual world and on at least a portion of a virtual world model;
- receive from the server a correction dataset defining a difference between the extrapolated view of the virtual world and an exact view of the virtual world maintained at the server;
- and
- modify the extrapolated view based on the received correction dataset to generate an updated reference view to be used for generating subsequent extrapolation views of the virtual world.
Computer software, residing on a computer-readable medium, for rendering views of a virtual world in a network comprising a client and a server, the software comprising instructions for causing the server to perform the following operations:
- maintain an exact view of the virtual world based on a virtual world model and a texture map residing at the server;
- maintain an extrapolated view of the virtual world based on a reference view and a subset of the virtual world model known to the client;
- and
- transmit to the client a correction dataset defining a difference between the extrapolated view of the virtual world and an exact view of the virtual world.
Dependencies are inferred from the claim text.