IP Library Granted Patent US 9,216,346
Granted Patent B2
US 9,216,346 · App. 14/057,796 · Granted Dec 22, 2015

Delivery of projections for rendering

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,216,346
App. No.
14/057,796
Granted
Dec 22, 2015
Kind
B2
Abstract

A workflow for 3D content authoring, delivery, and rendering is facilitated based on pre-authored image projections to obtain improvements in authoring efficiency. Additionally, a content delivery platform centered on such pre-authored image projections provides a mechanism for significantly improving streaming efficiency for 3D worlds. Multiple images encode primary surface detail of 3D worlds in real-time applications. Examples of such projections include images that can be as rich as film frames, feature animation frames, high end digital renders, concept paintings, or any suitable combination thereof. An algorithm for improved image projection camera path trajectories, sampling selection, and blending may be implemented by various systems and methods to facilitate smooth transitions during movements of a player within a game set in the 3D space. In addition, a back-projection technique may be implemented by various systems and methods to propagate revisions of one or more projections.

Claims (56)

1. A method comprising:

in response to receiving a request from a client device to initiate execution of a game, generating, by a server comprising one or more processors, a collection of images, each image of the collection of images depicting at least a portion of a three-dimensional (3D) space from one of multiple projection nodes along a projection path, the projection path connecting the multiple projection nodes within the 3D space;

providing, by the server, a first portion of the collection of images to the client device based on a positioning of a first projection node relative to a position of a player that represents a user within the 3D space, the client device being configured to render at least a portion of the 3D space from the first portion of the collection of images; and

providing, by the server, a second portion of the collection of images to the client device based on movement of the player within the 3D space, the client device being configured to render at least a further portion of the 3D space from the second portion of the collection of images.

2. The method of claim 1 , wherein each projection node corresponds to a camera position along the projection path.

3. The method of claim 1 , wherein the 3D space is a virtual world in which the game is set, and the projection path corresponds to the playable space within the game.

4. The method of claim 1 , wherein:

the collection of images includes:

a first image that depicts a first portion of the 3D space from a first projection node of the multiple projection nodes within the 3D space, and

a second image that depicts a second portion of the 3D space from a second projection node of the multiple projection nodes within the 3D space.

5. The method of claim 4 , wherein:

the projection path includes an initial line segment on which the first projection node that corresponds to the first image is an endpoint and on which the second projection node that corresponds to the second image is a further endpoint.

6. The method of claim 5 , wherein:

the collection of images include a third image that depicts a third portion of the 3D space from a third projection node of the multiple projection nodes within the 3D space.

7. The method of claim 4 further comprising:

generating an additional image that depicts an additional portion of the 3D space from a further projection node along the projection path; and

providing the additional image to the client device after the providing of the collection of images to the client device.

8. The method of claim 7 , wherein:

the 3D space is a virtual world in which the game is set; and

the providing of the additional image is in response to movement of a player position within the 3D space during the execution of the game by the client device.

9. The method of claim 8 , wherein:

the projection path has a forward direction in which the further projection node succeeds the projection nodes corresponding to the collection of images; and

the providing of the additional image is in response to movement of the player position in the forward direction of the projection path.

10. The method of claim 8 , wherein:

the projection path has a backward direction in which the further projection node precedes the projection nodes corresponding to the collection of images; and

the providing of the additional image is in response to movement of the player position in the backward direction of the projection path.

11. The method of claim 7 further comprising:

resending the first image of the collection of images to the client device after the providing of the additional image to the client device.

12. The method of claim 11 , wherein:

the resending is in response to the client device deleting the first image of the collection of images.

13. The method of claim 11 , wherein:

the resending is in response to movement of the player position within the 3D space during execution of the game by the client device.

14. A non-transitory machine-readable storage medium comprising instructions that, when executed by one or more processors of a machine, cause the machine to perform operations comprising:

in response to receiving a request from a client device to initiate execution of a game, generating, by one or more processors, a collection of images, each image of the collection of images depicting at least a portion of a three-dimensional (3D) space from one of multiple projection nodes along a projection path, the projection path connecting the multiple projection nodes within the 3D space;

providing a first portion of the collection of images to the client device based on a positioning of a first projection node relative to a position of a player that represents a user within the 3D space, the client device being configured to render at least a portion of the 3D space from the first portion of the collection of images, the client device being distinct from the machine; and

providing a second portion of the collection of images to the client device based on movement of the player within the 3D space, the client device being configured to render at least a further portion of the 3D space from the second portion of the collection of images.

15. The non-transitory machine-readable storage medium of claim 14 , wherein the operations further comprise:

generating an additional image that depicts at least a portion of the 3D space from a further projection node along the projection path; and

providing the additional image to the client device after the providing of the collection of images to the client device.

16. The non-transitory machine-readable storage medium of claim 14 , wherein the collection of images includes:

a first image that depicts a first portion of the 3D space from a first projection node of the multiple projection nodes within the 3D space,

a second image that depicts a second portion of the 3D space from a second projection node of the multiple projection nodes within the 3D space, and

a third image that depicts a third portion of the 3D space from a third projection node of the multiple projection nodes within the 3D space.

17. The non-transitory machine-readable storage medium of claim 14 , wherein the projection path includes:

a first line segment on which the first projection node that corresponds to the first image is an endpoint and on which the second projection node that corresponds to the second image is a further endpoint, and

a second line segment on which the second projection node that corresponds to the second image is an endpoint and on which the third projection node that corresponds to the third image is a further endpoint.

18. A system comprising:

a processor of a machine;

a texture module configured to generate, using the processor of the machine, a collection of images, each image of the collection of images depicting at least a portion of a three-dimensional (3D) space from one of multiple projection nodes along a projection path, the projection path connecting the multiple projection nodes within the 3D space; and

a delivery module configured to provide a first portion of the collection of images to the client device based on a positioning of a first projection node relative to a position of a player that represents a user within the 3D space, the client device being configured to render at least part a portion of the 3D space from the first portion of the collection of images, the client device being distinct from the machine, the delivery module further configured to provide a second portion of the collection of images to the client device based on movement of the player within the 3D space, the client device being configured to render at least a further portion of the 3D space from the second portion of the collection of images.

19. The system of claim 18 , wherein:

the 3D space is a virtual world in which a level of a game that is executable by the client device is set, and

the delivery module is configured to provide the collection of images to the client device in response to initiation of the level of the game by the client device.

20. The system of claim 19 , wherein:

the texture module is configured to generate an additional image that corresponds to a further projection node along the projection path within the 3D space; and

the delivery module is configured to provide the additional image to the client device in response to movement of the player along the projection path.

Assignments (5)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded May 23, 2022
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: ZYNGA INC.
Reel/Frame 060163/0437 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Dec 14, 2020
From: ZYNGA INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 054719/0490 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 11, 2020
From: BANK OF AMERICA, N.A., AS LENDER
To: ZYNGA INC.
Reel/Frame 054701/0393 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Dec 21, 2018
From: ZYNGA INC.
To: BANK OF AMERICA, N.A., AS LENDER
Reel/Frame 049147/0546 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2013
From: HO, JAMES; SWISTUN, SZYMON; PATEL, SULABH; NORBERG, NILS JONAS
To: ZYNGA INC.
Reel/Frame 031437/0721 →