IP Library › Granted Patent US 11,176,723
Granted Patent B2
US 11,176,723 · App. 16/588,446 · Granted Nov 16, 2021

Automated dance animation

Inventors: Gurunandan Krishnan Gorumkonda (Seattle, WA); Shree K. Nayar (New York, NY)
Assignee: Snap Inc.
G06T13/205G06T7/246G06T13/40G06T13/80
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,176,723
App. No.
16/588,446
Filed
Sep 30, 2019
Granted
Nov 16, 2021
Kind
B2
Examiner
CHEN, YU
Art Unit
2613
USPC
345/473
Abstract

Methods, devices, media, and other embodiments are described for generating, modifying, and outputting pseudorandom animations that can be synchronized to audio data. In one embodiment, a computer animation model made up of comprising one or more control points is accessed by one or more processors, which associate motion patterns with a first control point of the one or more control points, and associate one or more speed harmonics with the first control point. A set of motion states is identify with a motion state for the combinations of possibilities, and a probability value is assigned to each motion state of the set of motion states. The probability value can be used to probabilistically determine a particular motion state to be part of displayed animation for the computer animation model.

Claims (59)

1. A method comprising:

accessing, using one or more processors, a computer animation model, the computer animation model comprising one or more control points;

associating, by the one or more processors, a plurality of motion patterns with a first control point of the one or more control points;

associating, by the one or more processors, a speed harmonic with the first control point;

generating a set of motion states for the computer animation model, the set of motion states comprising a motion state for each combination of motion patterns and speed harmonics of the plurality of motion patterns and the speed harmonic;

assigning a probability value to each motion state of the set of motion states, wherein an associated probability value for an associated motion state of the first control point is associated with a first probability that a displayed animation of the computer animation model will implement the associated motion state for the first control point; and

generating an output video comprising the displayed animation of the computer animation model with motion of the computer animation model generated randomly using the probability value for each motion state of the set of motion states, the computer animation model further comprises A control points and an animation framework associated with the computer animation model comprises B motion patterns, and C tempo harmonics such that a number of motion states for the computer animation model within the animation framework is:

N =( B×C ) A

where N is the number of motion states and each motion state M is assigned a corresponding probability such that a probability mass function P( )of the probability value assigned to the each motion state is

P ( M 1 ,M 2 ,M 3 . . . M N−1 ,M N )=1.

2. The method of claim 1 further comprising:

receiving a set of user inputs selecting the plurality of motion patterns for the first control point from the B motion patterns and the speed harmonic from the C tempo harmonics; and

automatically assigning the corresponding probability for each motion state of a subset of motion states not associated with the plurality of motion patterns to zero.

3. The method of claim 2 further comprising:

automatically assigning the corresponding probability for each motion state of a second subset of motion states associated with the set of user inputs to equal probability values.

4. The method of claim 2 wherein the set of user inputs further select probability values for motion states associated with the plurality of motion patterns and the speed harmonic.

5. The method of claim 2 wherein the computer animation model comprises a skeleton and a skin, the skeleton comprising a plurality of bones connected via one or more joints, with each bone comprising a control point;

wherein the first control point comprises a first position on a first bone of the plurality of bones.

6. The method of claim 5 wherein the first bone is a child bone connected to a reference point via one or more connected bones within the skeleton.

7. The method of claim 6 wherein a first motion pattern of the plurality of motion patterns is an inverse kinematic motion pattern, whereby the first motion pattern is determined relative to the reference point with motions of the one or more connected bones within the skeleton determined to maintain connections with the one or more connected bones while achieving the first motion pattern for the first position on the first bone, and with motions of the one or more connected bones determined automatically.

8. The method of claim 7 wherein the set of user inputs selecting the plurality of motion patterns select the plurality of motion patterns as inverse kinematic motion patterns presented on a user interface display as two dimensional patterns projected into a user selected plane.

9. The method of claim 6 wherein a first motion pattern of the plurality of motion patterns is a forward kinematic motion pattern, whereby the first motion pattern is determined relative to a connection point with a second bone of the one or more connected bones, and without references to the reference point.

10. The method of claim 9 wherein the second bone is associated with a second plurality of motion states and second speed harmonic; and

wherein the set of motion states further comprises comprising motion states for each combination of motion patterns and speed harmonics of the first bone and the second bone.

11. The method of claim 9 wherein the set of user inputs selecting the plurality of motion patterns select the plurality of motion patterns as from the motion patterns on a user interface display as two dimensional patterns illustrating motion patterns for a bone revolving around a joint.

12. The method of claim 1 wherein the computer animation model comprises a skeleton and a skin, the skeleton comprising a plurality of bones connected via one or more joints, with each bone comprising a control point;

wherein the first control point comprises a first position on a first bone of the plurality of bones.

13. A device comprising:

a memory configured to store data for a computer animation model, the computer animation model comprising one or more control points; and

one or more processors coupled to the memory and configured to:

associate a plurality of motion patterns with a first control point of the one or more control points;

associate a speed harmonic with the first control point;

generate a set of motion states for the computer animation model, the set of motion states comprising a motion state for each combination of motion patterns and speed harmonics of the plurality of motion patterns and the speed harmonic;

assign a probability value to each motion state of the set of motion states, wherein an associated probability value for an associated motion state of the first control point is associated with a first probability that a displayed animation of the computer animation model will implement the associated motion state for the first control point; and

generate an output video comprising the displayed animation of the computer animation model with motion of the computer animation model generated randomly using the probability value for each motion state of the plurality of motion states, the computer animation model further comprises A control points and an animation framework associated with the computer animation model comprises B motion patterns, and C tempo harmonics such that a number of motion states for the computer animation model within the animation framework is:

N =( B×C ) A

where N is the number of motion states and each motion state is assigned a corresponding probability such that a probability mass function P( ) of the probability value assigned to the each motion state is

P ( M 1 ,M 2 ,M 3 . . . M N−1 ,M N )=1.

14. The device of claim 13 further comprising a display coupled to the one or more processors, wherein the one or more processors are further configured to:

receive a set of user inputs selecting the plurality of motion patterns for the first control point from the B motion patterns and the speed harmonic from the C tempo harmonics; and

automatically assign the corresponding probability for each motion state of a subset of motion states not associated with the plurality of motion patterns to zero.

15. The device of claim 13 wherein the one or more processors are further configured to:

automatically assign the corresponding probability for each motion state of a second subset of motion states.

16. The device of claim 14 wherein the set of user inputs comprises probability values for motion states associated with the plurality of motion patterns and the one or more speed harmonics.

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

accessing a computer animation model, the computer animation model comprising one or more control points;

associating a plurality motion patterns with a first control point of the one or more control points;

associating a speed harmonic with the first control point;

generating a set of motion states for the computer animation model, the set of motion states comprising a motion state for each combination of motion patterns and speed harmonics of the plurality of motion patterns and the one or more speed harmonics;

assigning a probability value to each motion state of the set of motion states, wherein an associated probability value for an associated motion state of the first control point is associated with a first probability that a displayed animation of the computer animation model will implement the associated motion state for the first control point; and

generating an output video comprising the displayed animation of the computer animation model with motion of the computer animation model generated randomly using the probability value for each motion state of the plurality of motion states. the computer animation model further comprises A control points and an animation framework associated with the computer animation model comprises B motion patterns, and C tempo harmonics such that a number of motion states for the computer animation model within the animation framework is:

N =( B×C ) A

where N is the number of motion states and each motion state is assigned a corresponding probability such that a probability mass function P( ) of the probability value assigned to the each motion state is

P ( M 1 ,M 2 ,M 3 . . . M N−1 ,M N )=1.

18. The non-transitory computer readable medium of claim 17 wherein the computer animation model further comprises a skeleton and a skin, the skeleton comprising a plurality of bones connected via one or more joints, with each bone comprising a control point;

wherein the first control point comprises a first position on a first bone of the plurality of bones.

19. The non-transitory computer readable medium of claim 18 wherein the first bone is a child bone connected to a reference point via one or more connected bones within the skeleton; and

wherein a first motion pattern of the plurality of motion patterns is an inverse kinematic motion pattern, whereby the first motion pattern is determined relative to the reference point with motions of the one or more connected bones within the skeleton determined to maintain connections with the one or more connected bones while achieving the first motion pattern for the first position on the first bone, and with motions of the one or more connected bones determined automatically.

20. The non-transitory computer readable medium of claim 18 wherein a first motion pattern of the plurality of motion patterns is a forward kinematic motion pattern, whereby the first motion pattern is determined relative to a connection point with a second bone of the one or more connected bones, and without references to a reference point. harmonics.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2021
From: GORUMKONDA, GURUNANDAN KRISHNAN; NAYAR, SHREE K.
To: SNAP INC.
Reel/Frame 057791/0704 →
Continuity (1)
Related Publication 20210097744A1 · Apr 1, 2021
Cited By (11)
US 12,277,632 US 12,293,444 US 12,299,793 US 12,315,495 US 12,361,934 US 12,488,525 US 12,573,122 US 12,580,784 US 12,620,157 US 12,646,240 US 12,675,930