IP Library Granted Patent US 9,443,337
Granted Patent B2
US 9,443,337 · App. 14/289,484 · Granted Sep 13, 2016

Run-time techniques for playing large-scale cloud-based animations

Inventors: Michael Chann (San Francisco, CA); Jon Collins (San Francisco, CA); Benjamin Morse (Berkeley, CA); Lucas R. A. Ives (Menlo Park, CA); Martin Reddy (San Francisco, CA); Oren M. Jacob (Piedmont, CA)
Assignee: PULLSTRING, INC.
G06T13/00A63F13/60H04N21/8146H04N21/8541G06T2213/08
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,443,337
App. No.
14/289,484
Granted
Sep 13, 2016
Kind
B2
Abstract

Various of the disclosed embodiments relate to systems and methods for providing animated multimedia, e.g. animated shows, to an audience over a network. Particularly, some embodiments provide systems and methods for generating and providing audio, animation, and other experience-related information so that user's may readily experience the content in a seamless manner (e.g., as an audience member watching a show, playing a video game, etc.). Various embodiments animate “to the audience” based, e.g., on what content the audience is consuming. The animations may be generated in real-time from constituent components and assets in response to user behavior.

Claims (60)

1. A computer-implemented method for presenting multimedia content to a user via an application executed by a user device, the method comprising:

determining a current state in a trail, wherein the trail represents a pursuable path of an interactive experience enabled by the application;

determining a first resource capability associated with the user device by

identifying multimedia assets that are related to the current state and maintained by the user device, and

notifying a server of the current state, the multimedia assets, or both;

determining bandwidth available to the user device;

determining a likelihood of transition from the current state to a future state;

upon determining the likelihood of transition exceeds a threshold,

identifying an asset to be used by the application in the future state;

determining an appropriate resolution of the asset based at least in part on the bandwidth available to the user device;

retrieving the asset at the appropriate resolution across a network from the server; and

storing the asset locally at the user device.

2. The computer-implemented method of claim 1 , wherein the asset comprises an animation, and wherein determining the appropriate resolution comprises:

determining a number of keyframe vertex meshes needed to coordinate movement of a character model associated with the animation; and

determining a size of a vertex mesh for the character model.

3. The computer-implemented method of claim 1 , wherein the asset comprises an animation, and wherein determining the appropriate resolution comprises:

determining a level of compression of a texture to be used by the application in the future state.

4. The computer-implemented method of claim 1 , wherein determining the likelihood of transition comprises consulting metadata indicating the behavior of other users, and wherein each of the other users is associated with a distinct instance of the application that is executed by a distinct user device.

5. The computer-implemented method of claim 1 , wherein determining the likelihood of transition comprises consulting metadata indicating a preference previously specified by the user.

6. The computer-implemented method of claim 1 , further comprising determining a size of the asset and a priority of the asset.

7. The computer-implemented method of claim 6 , wherein retrieval of the asset is prioritized over other assets that could be used by the application in the future state if the size of the asset exceeds a threshold or if the asset is determined to be a high priority asset.

8. A non-transitory computer-readable medium comprising instructions configured to cause at least one processor to perform a method comprising:

executing an application that facilitates interactions between a user and an animated character;

determining a current state in a trail, wherein the trail represents a pursuable path of an interactive experience enabled by the application;

determining a first resource capability associated with a user device;

determining bandwidth available to the user device;

determining a likelihood of transition from the current state to a future state;

determining an appropriate resolution of an asset to be used by the application in the future state,

wherein the appropriate resolution is preemptively determined based at least in part on the bandwidth available to the user device;

retrieving the asset at the appropriate resolution across a network from a server; and

storing the asset locally at the user device.

9. The non-transitory computer readable medium of claim 8 , wherein the asset comprises an animation, and wherein determining the appropriate resolution comprises:

determining a number of keyframe vertex meshes needed to coordinate movement of a character model associated with the animation; and

determining a size of a vertex mesh for the character model.

10. The non-transitory computer readable medium of claim 8 , wherein the asset comprises an animation, and wherein determining the appropriate resolution comprises:

determining a level of compression of a texture to be used by the application in the future state.

11. The non-transitory computer readable medium of claim 8 , wherein determining the likelihood of transition comprises consulting metadata indicating the behavior of other users, and wherein each of the other users is associated with a distinct instance of the application that is executed by a distinct user device.

12. The non-transitory computer readable medium of claim 8 , wherein determining the likelihood of transition comprises consulting metadata indicating a preference previously specified by the user.

13. The non-transitory computer readable medium of claim 8 , the method further comprising determining a size of the asset and a priority of the asset.

14. The non-transitory computer readable medium of claim 8 , wherein said determining the first resource capability associated with the user device comprises:

identifying multimedia assets that are related to the current state and maintained by the user device; and

notifying the server of the current state, the multimedia assets, or both.

15. A computer system comprising:

at least one processor;

at least one memory comprising instructions configured to cause the at least one processor to perform a method comprising:

determining a current state in a trail, wherein the trail represents a pursuable path of an interactive experience;

determining a first resource capability associated with a user device;

determining a likelihood of transition from the current state to a future state;

determining an appropriate resolution of an asset to be used in the future state,

wherein the appropriate resolution is preemptively determined based at least in part on bandwidth available to the user device;

retrieving the asset at the appropriate resolution across a network from a server; and

storing the asset locally at the user device.

16. The computer system of claim 15 , wherein the asset comprises an animation, and wherein determining the appropriate resolution comprises:

determining a number of keyframe vertex meshes needed to coordinate movement of a character model associated with the animation; and

determining a size of a vertex mesh for the character model.

17. The computer system of claim 15 , wherein the asset comprises an animation, and wherein determining the appropriate resolution comprises:

determining a level of compression of a texture to be used in the future state.

18. The computer system of claim 15 , wherein determining the likelihood of transition comprises consulting metadata indicating the behavior of other users, and wherein each of the other users is associated with a distinct user device.

19. The computer system of claim 15 , wherein determining the likelihood of transition comprises consulting metadata indicating a preference previously specified by a user associated with the user device.

20. The computer system of claim 15 , the method further comprising determining a size of the asset and a priority of the asset.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2019
From: PULLSTRING, INC.
To: CHATTERBOX CAPITAL LLC
Reel/Frame 050670/0006 →
CHANGE OF NAME Recorded May 2, 2016
From: TOYTALK, INC.
To: PULLSTRING, INC.
Reel/Frame 038589/0639 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2014
From: CHANN, MICHAEL; COLLINS, JON; MORSE, BENJAMIN; IVES, LUCAS; REDDY, MARTIN; JACOB, OREN
To: TOYTALK, INC.
Reel/Frame 034127/0105 →
Continuity (2)
Provisional Application 61874314 · Sep 5, 2013
Related Publication 20150062131A1 · Mar 5, 2015