IP Library › Granted Patent US 11,810,236
Granted Patent B2
US 11,810,236 · App. 17/350,975 · Granted Nov 7, 2023

Management of pseudorandom animation system

Inventors: Gurunandan Krishnan Gorumkonda (Seattle, WA); Shree K. Nayar (New York, NY)
Assignee: Snap Inc.
G06T13/80G10L21/055
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 11,810,236
App. No.
17/350,975
Granted
Nov 7, 2023
Kind
B2
Abstract

Methods, devices, media, and other embodiments are described for managing and configuring a pseudorandom animation system and associated computer animation models. One embodiment involves generating image modification data with a computer animation model configured to modify frames of a video image to insert and animate the computer animation model within the frames of the video image, where the computer animation model of the image modification data comprises one or more control points. Motion patterns and speed harmonics are automatically associated with the control points, and motion states are generated based on the associated motions and harmonics. A probability value is then assigned to each motion state. The motion state probabilities can then be used when generating a pseudorandom animation.

Claims (58)

1. A method comprising:

identifying, using one or more processors, a plurality of animation elements within a computer animation model;

processing audio inputs received at a microphone of a user device to identify a set of audio characteristics;

generating a set of normalized audio energy values based on the set of audio characteristics;

selecting a minimum audio energy threshold and a maximum audio energy threshold;

identifying a plurality of motion patterns and a plurality speed harmonics associated with the plurality of animation elements;

determining a plurality of motion data values comprising a state-space description of the plurality of motion patterns and the plurality of speed harmonics for the plurality of animation elements within the computer model;

calculating a model motion energy for each value of the set of motion data values;

assigning a probability value to each of the plurality of motion data values for the state-space description, a subset of the plurality of motion values being assigned a probability of zero based on the respective model motion energies being less than the minimum audio energy threshold or greater than the maximum audio energy threshold; and

in response to assigning the probability value to each of the plurality of motion data values, pseudo-randomly animating the computer animation model based on the motion data values for the state-space description whose assigned probability value is greater than zero.

2. The method of claim 1 , wherein the model motion energy is determined by adding a product of a moment of inertia of each child of each of the plurality of animation elements and an angular velocity of the animation elements.

3. The method of claim 1 , wherein the assigning of the probability value to each of the plurality of motion data values for the state-space description further comprises:

comparing each model motion energy to the set of normalized audio energy values.

4. The method of claim 1 , further comprising displaying an animation window on a probability selection user interface, the animation window comprising a video of the computer animation model.

5. The method of claim 4 , wherein the probability selection user interface comprises a second plurality of animation windows each associated with a corresponding motion state and a corresponding selectable probability weight for the corresponding motion state.

6. The method of claim 4 , wherein the probability selection user interface further comprises a filter input based on one or more of a motion type, a harmonic speed, and a control point.

7. The method of claim 4 , wherein the probability selection user interface further comprises an energy threshold input for each motion state, and one or more selectable audio energy samples.

8. The method of claim 4 , further comprising:

analyzing content of at least one frame of the video of the computer animation model;

replacing portions of the frames of the video with one or more animation elements; and

responsive to analyzing content of at least one frame of the video of the computer animation model and replacing portions of the frames of the video with one or more animation elements, generating a two-dimensional overlay.

9. The method of claim 1 , wherein each motion state is further associated with a selectable energy threshold.

10. A system comprising:

a processor; and

a memory storing instructions that, when executed by the processor, configure the system to perform operations comprising:

identifying, using one or more processors, a plurality of animation elements within a computer animation model;

processing audio inputs received at a microphone of a user device to identify a set of audio characteristics;

generating a set of normalized audio energy values based on the set of audio characteristics;

selecting a minimum audio energy threshold and a maximum audio energy threshold;

identifying a plurality of motion patterns and a plurality speed harmonics associated with the plurality of animation elements;

determining a plurality of motion data values comprising a state-space description of the plurality of motion patterns and the plurality of speed harmonics for the plurality of animation elements within the computer model;

calculating a model motion energy for each value of the set of motion data values;

assigning a probability value to each of the plurality of motion data values for the state-space description, a subset of the plurality of motion values being assigned a probability of zero based on the respective model motion energies being less than the minimum audio energy threshold or greater than the maximum audio energy threshold; and

in response to assigning the probability value to each of the plurality of motion data values, pseudo-randomly animating the computer animation model based on the motion data values for the state-space description whose assigned probability value is greater than zero.

11. The system of claim 10 , wherein the model motion energy is determined by adding a product of a moment of inertia of each child of each of the plurality of animation elements and an angular velocity of the animation elements.

12. The system of claim 10 , wherein the assigning of the probability value to each of the plurality of motion data values for the state-space description further comprises:

comparing each model motion energy to the set of normalized audio energy values.

13. The system of claim 10 , further comprising displaying an animation window on a probability selection user interface, the animation window comprising a video of the computer animation model.

14. The system of claim 13 , wherein the probability selection user interface comprises a second plurality of animation windows each associated with a corresponding motion state and a corresponding selectable probability weight for the corresponding motion state.

15. The system of claim 13 , wherein the probability selection user interface further comprises an energy threshold input for each motion state, and one or more selectable audio energy samples.

16. The system of claim 13 , further comprising:

analyzing content of at least one frame of the video of the computer animation model;

replacing portions of the frames of the video with one or more animation elements; and

responsive to analyzing content of at least one frame of the video of the computer animation model and replacing portions of the frames of the video with one or more animation elements, generating a two-dimensional overlay.

17. The system of claim 10 , wherein each motion state is further associated with a selectable energy threshold.

18. A non-transitory computer readable medium comprising instructions that, when executed by processing circuitry of a computer, cause the computer to perform operations comprising:

identifying, using one or more processors, a plurality of animation elements within a computer animation model;

processing audio inputs received at a microphone of a user device to identify a set of audio characteristics;

generating a set of normalized audio energy values based on the set of audio characteristics;

selecting a minimum audio energy threshold and a maximum audio energy threshold;

identifying a plurality of motion patterns and a plurality speed harmonics associated with the plurality of animation elements;

determining a plurality of motion data values comprising a state-space description of the plurality of motion patterns and the plurality of speed harmonics for the plurality of animation elements within the computer model;

calculating a model motion energy for each value of the set of motion data values;

assigning a probability value to each of the plurality of motion data values for the state-space description, a subset of the plurality of motion values being assigned a probability of zero based on the respective model motion energies being less than the minimum audio energy threshold or greater than the maximum audio energy threshold; and

in response to assigning the probability value to each of the plurality of motion data values, pseudo-randomly animating the computer animation model based on the motion data values for the state-space description whose assigned probability value is greater than zero.

19. The non-transitory computer readable medium of claim 18 , wherein the model motion energy is determined by adding a product of a moment of inertia of each child of each of the plurality of animation elements and an angular velocity of the animation elements.

20. The non-transitory computer readable medium of claim 18 , wherein the assigning of the probability value to each of the plurality of motion data values for the state-space description further comprises:

comparing each model motion energy to the set of normalized audio energy values.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2021
From: GORUMKONDA, GURUNANDAN KRISHNAN; NAYAR, SHREE K.
To: SNAP INC.
Reel/Frame 056841/0220 →
Continuity (2)
Continuation 16588373 · Sep 30, 2019
Related Publication 20210312690A1 · Oct 7, 2021
Cited By (7)
US 12,293,444 US 12,299,793 US 12,488,525 US 12,573,122 US 12,620,157 US 12,646,240 US 12,675,930