Method and system for efficiently streaming 3D animation across a wide area network
First Claim
1. A method for providing 3D animation to computer systems coupled to a network, comprising:
- a) accessing a 3D model on a client;
b) receiving a series of transform updates for the 3D model on the client via a network, the series of transform updates received from a server, wherein each of the series of transform updates comprises a location vector and a rotation;
c) rendering a corresponding series of 3D images by applying the series of transform updates to the 3D model using the client; and
d) displaying the corresponding series of rendered 3D images to a user to provide a 3D animation.
4 Assignments
0 Petitions
Accused Products
Abstract
A method for providing 3D animation via a network in a client/server computer system. A 3D model is accessed on the client. The client then receives a series of transform updates for the 3D model via a network. The series of transform updates described for the client the manner in which to update the 3D model to implement the animation. Each of the series of transform updates are applied by the client to the 3D model to render a corresponding series of 3D images. The series of rendered 3D images are then displayed to the user to provide a 3D animation. The transform updates are streamed from the server to the client via the network. Streaming the transform updates across the network is more bandwidth efficient than streaming images. Interactivity is implemented by receiving user commands from the client via the network. In response to the user commands, the server appropriately alters the series of transform updates streamed to the user, thereby providing interactivity to the 3D animation.
92 Citations
35 Claims
-
1. A method for providing 3D animation to computer systems coupled to a network, comprising:
-
a) accessing a 3D model on a client;
b) receiving a series of transform updates for the 3D model on the client via a network, the series of transform updates received from a server, wherein each of the series of transform updates comprises a location vector and a rotation;
c) rendering a corresponding series of 3D images by applying the series of transform updates to the 3D model using the client; and
d) displaying the corresponding series of rendered 3D images to a user to provide a 3D animation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
receiving user commands from the client via the network; and
altering the series of transform updates in accordance with the user commands to provide interactivity to the 3D animation.
-
-
6. The method of claim 1 further including the steps of:
-
generating the series of transform updates using a 3D model accessed by the server; and
streaming the series of transform updates from the server to the client in real time.
-
-
7. The method of claim 1 further including the steps of:
-
compressing the transform updates using a compression engine running on the server;
transmitting the compressed transform updates across the network to the client; and
decompressing the compressed transform updates using a decompression engine running on the client.
-
-
8. The method of claim 1 further including the steps of:
-
accessing a 3D model using the server; and
generating the series of transform updates by applying motion capture data to the 3D model.
-
-
9. The system of claim 1 wherein the 3D model is a VRML (virtual reality modeling language) model.
-
10. The system of claim 1 further comprising the steps of:
-
receiving user commands from the client via the network; and
altering the series of transform updates in accordance with the user commands to provide interactivity to the 3D animation.
-
-
11. The system of claim 1 further including the steps of:
-
generating the series of transform updates using a 3D model accessed by the server; and
streaming the series of transform updates from the server to the client in real time.
-
-
12. The method of claim 1, wherein each of the series of transform updates includes inverse kinematics information corresponding to the model.
-
13. The method of claim 12, wherein the inverse kinematics information includes a joint position and a rotation position corresponding to the model.
-
14. The method of claim 12, wherein the inverse kinematics information includes a location vector and a rotation position corresponding to the model.
-
15. The method of claim 1, wherein each transform update comprises a single location vector and a single rotation associated with the 3D model.
-
16. A method for providing streaming 3D animation across a network using a client/server computer system, the method comprising the steps of:
-
accessing a 3D model on a client;
compressing a series of transform updates for the three model using a compression algorithm, wherein each of the series of transform update comprises a location vector and a rotation;
transmitting the series of compressed transform updates from the server to the client via a network;
decompressing the series of compressed transform updates using the client;
rendering a corresponding series of 3D images by applying the decompressed series of transform updates to the 3D model using the client; and
displaying the corresponding series of rendered 3D images to a user to provide 3D animation. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
receiving user commands from the client via the network; and
altering the series of transform updates in accordance with the user commands to provide interactivity to the 3D animation.
-
-
21. The method of claim 16 further including the steps of:
-
generating the series of transform updates using a 3D model accessed by the server; and
streaming the series of transform updates from the server to the client in real time.
-
-
22. The method of claim 16 further including the steps of:
-
accessing a 3D model using the server; and
generating the series of transform updates by applying motion capture data to the 3D model.
-
-
23. The method of claim 16, wherein each of the series of transform updates includes inverse kinematics information corresponding to the model.
-
24. The method of claim 23, wherein the inverse kinematics information includes a joint position and a rotation position corresponding to the model.
-
25. The method of claim 23, wherein the inverse kinematics information includes a location vector and a rotation position corresponding to the model.
-
26. The method of claim 16, wherein each transform update comprises a single location vector and a single rotation associated with the 3D model.
-
27. A computer system for implementing streaming 3D animation via a network, comprising:
-
a client computer system having a processor coupled to a memory, the memory storing software which when executed by the computer system cause the client to perform the steps of;
a) accessing a 3D model on a client;
b) receiving a series of transform updates for the 3D model on the client via a network, the series of transform updates received from a server, wherein each of the series of transform updates comprises a location vector and a rotation;
c) rendering a corresponding series of 3D images by applying the series of transform updates to the 3D model using the client; and
d) displaying the corresponding series of rendered 3D images to a user to provide a 3D animation. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35)
compressing the transform updates using a compression engine running on the server;
transmitting the compressed transform updates across the network to the client; and
decompressing the compressed transform updates using a decompression engine running on the client.
-
-
31. The system of claim 27 further including the steps of:
-
accessing a 3D model using the server; and
generating the series of transform updates by applying motion capture data to the 3D model.
-
-
32. The system of claim 27, wherein each of the series of transform updates includes inverse kinematics information corresponding to the model.
-
33. The system of claim 32, wherein the inverse kinematics information includes a joint position and a rotation position corresponding to the model.
-
34. The system of claim 32, wherein the inverse kinematics information includes a location vector and a rotation position corresponding to the model.
-
35. The system of claim 27, wherein each transform update comprises a single location vector and a single rotation associated with the 3D model.
Specification