IP Library Granted Patent US 8,564,595
Granted Patent B1
US 8,564,595 · App. 13/559,453 · Granted Oct 22, 2013

Delivery of projections for rendering

Inventors: James Ho (Mill Valley, CA); Szymon Swistun (Belmont, CA); Sulabh Patel (San Mateo, CA); Nils Jonas Norberg (San Francisco, CA)
Assignee: Zynga Inc.
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 8,564,595
App. No.
13/559,453
Granted
Oct 22, 2013
Kind
B1
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 (61)

1. A method comprising:

generating multiple images that correspond to projection nodes along a projection path within a three-dimensional (3D) space from which a two-dimensional (2D) scene that depicts at least some of the 3D

space from a camera position is to be rendered by a client device;

determining that the projection nodes are an initial group of nodes along the projection path and that the multiple images are an initial group of images that correspond to the initial group of nodes,

the determining being performed by a processor of a machine;

providing the multiple images to the client device before the client device renders the 2D scene that depicts at least some of the 3D space from the camera position based on the multiple images provided;

generating a further image that corresponds to a further projection node along the projection path within the 3D space; and

providing the further image to the client device after the providing of the multiple images to the client device but prior to the client device rendering a further 2D scene that depicts at least some of the 3D

space from a further camera position based on the further image provided.

2. The method of claim 1 , 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 providing of the multiple images to the client device is in response to initiation of the level of the game by the client device.

3. The method of claim 1 , wherein:

the multiple images that correspond to the projection nodes include:

a first image that depicts at least some of the 3D space from a first projection node among the projection nodes along the projection path within the 3D space, and

a second image that depicts at least some of the 3D space from a second projection node among the projection nodes along the projection path within the 3D space.

4. The method of claim 3 , 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.

5. The method of claim 4 , wherein:

the multiple images that correspond to the projection nodes include:

a third image that depicts at least some of the 3D space from a third projection node among the projection nodes along the projection path within the 3D space.

6. The method of claim 1 , wherein:

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

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

7. The method of claim 6 , wherein:

the projection path has a forward direction in which the further projection node succeeds the projection nodes along the projection path; and

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

8. The method of claim 6 , wherein:

the projection path has a backward direction in which the further projection node precedes the projection nodes along the projection path; and

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

9. The method of claim 1 further comprising:

resending one of the multiple images that are the initial group of images to the client device after the providing of the further image to the client device.

10. The method of claim 9 , wherein:

the resending is based on an indication that the client device deleted the one of the multiple images from the initial group of images.

11. The method of claim 9 , 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.

12. The method of claim 11 , wherein:

the projection path has a forward direction in which the further projection node succeeds the projection nodes along the projection path; and

the resending is in response to movement of the player position against the forward direction of the projection path.

13. The method of claim 11 , wherein:

the projection path has a backward direction in which the further projection node precedes the projection nodes along the projection path; and

the resending is in response to movement of the player position against the backward direction of the projection path.

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:

generating multiple images that correspond to projection nodes along a projection path within a three-dimensional (3D) space from which a two-dimensional (2D) scene that depicts at least some of the 3D

space from a camera position is to be rendered by a client device;

determining that the projection nodes are an initial group of nodes along the projection path and that the multiple images are an initial group of images that correspond to the initial group of nodes, the determining being performed by the one or more processors of the machine;

providing the multiple images to the client device before the client device renders the 2D scene that depicts at least some of the 3D space from the camera position based on the multiple images provided;

generating a further image that corresponds to a further projection node along the prosection path within the 3D space; and

providing the further image to the client device after the providing of the multiple images to the client device but prior to the client device rendering a further 2D scene that depicts at least some of the 3D space from a further camera position based on the further image provided.

15. A system comprising:

a texture module configured to generate multiple images that correspond to projection nodes along a projection path within a three-dimensional (3D) space from which a two-dimensional (2D) scene that depicts at least some of the 3D space from a camera position is to be rendered by a client device;

a processor configured by a batch module to determine that the projection nodes are an initial group of nodes along the projection path and that the multiple images are an initial group of images that correspond to the initial group of nodes;

a delivery module configured to provide the multiple images to the client device before the client device renders the 2D scene that depicts at least some of the 3D space from the camera position based on the multiple images provided;

wherein the texture module is configured to generate a further 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 further image to the client device after the providing of the multiple images to the client device but prior to the client device rendering a further 2D scene that depicts at least some of the 3D space from a further camera position based on the further image provided.

16. The system of claim 15 , 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 multiple images to the client device in response to initiation of the level of the game by the client device.

17. The system of claim 15 , wherein:

the projection path has a forward direction in which the further projection node succeeds the projection nodes along the projection path; and

the delivery module is configured to provide the further image in response to movement of the player position in the forward direction of 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 29, 2012
From: HO, JAMES; SWISTUN, SZYMON; PATEL, SULABH; NORBERG, NILS JONAS
To: ZYNGA INC.
Reel/Frame 029237/0456 →
Continuity (1)
Provisional Application 61514885 · Aug 3, 2011