IP Library Granted Patent US 7,936,927
Granted Patent B2
US 7,936,927 · App. 11/668,437 · Granted May 3, 2011

Constraint-based ordering for temporal coherence of stroke-based animation

Assignee: Auryn 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 7,936,927
App. No.
11/668,437
Granted
May 3, 2011
Kind
B2
Abstract

A renderer allows for a flexible and temporally coherent ordering of strokes in the context of stroke-based animation. The relative order of the strokes is specified by the artist or inferred from geometric properties of the scene, such as occlusion, for each frame of a sequence, as a set of stroke pair-wise constraints. Using the received constraints, the strokes are partially ordered for each of the frames. Based on these partial orderings, for each frame, a permutation of the strokes is selected amongst the ones consistent with the frame's partial order, so as to globally improve the perceived temporal coherence of the animation. The sequence of frames can then, for instance, be rendered by ordering the strokes according to the selected set of permutations for the sequence of frames.

Claims (33)

1. A method for making a stroke-based animation with temporal coherence, the method comprising:

receiving a plurality of constraints for each of a sequence of frames, each constraint defining an ordering for at least a pair of strokes in the associated frame;

creating a directed graph for each frame, each directed graph comprising a directed edge between pairs of overlapping strokes for which a constraint exists in the corresponding frame, each directed graph thereby defining a relative ordering for drawing at least some of the strokes in the corresponding frame;

merging the directed graphs for the sequence of frames to form a merged directed graph;

selecting a linear extension of the merged directed graph, the selecting optimizing, at least in part, the temporal coherence of the ordering of strokes for the sequence of frames; and

producing a sequence of ordered lists of strokes that is usable for rendering the animation and that corresponds to the sequence of frames, according to the ordering of strokes defined by the selected linear extension.

2. The method of claim 1 , wherein the selecting comprises hiding temporal incoherencies by selecting the linear extension that tends to order strokes for which there are inconsistencies earlier, thereby causing the strokes associated with more incoherencies to be drawn earlier.

3. The method of claim 1 , wherein a lifetime of a vertex in the merged directed graph is defined by the number of consecutive frames with which the vertex is associated, and the selecting comprises favoring the linear extension for which vertices with shorter lifetimes in the directed graph correspond to earlier drawn strokes.

4. The method of claim 1 , wherein the constraints are determined at least in part according to occlusions of surfaces associated with the strokes in scene information provided for the stroke-based animation.

5. The method of claim 1 , wherein the constraints are determined at least in part according to an association of the strokes with layers defined in scene information provided for the stroke-based animation.

6. The method of claim 1 , wherein creating a directed graph for a particular frame comprises:

removing any circuits in the graph to make the graph a directed acyclic graph.

7. The method of claim 1 , wherein the merging produces a directed acyclic graph.

8. The method of claim 1 , wherein creating a directed graph for a particular frame comprises:

replacing the directed graph with a transitive reduction of the directed graph.

9. The method of claim 1 , wherein the selecting comprises a step for optimizing to globally minimize one or more distances between consecutive frames' stroke ordering.

10. A computer program product for making a stroke-based animation with temporal coherence, the computer program product comprising a non-transitory computer-readable medium storing computer program code for performing the method comprising:

receiving a plurality of constraints for each of a sequence of frames, each constraint defining an ordering for at least a pair of strokes in the associated frame;

creating a directed graph for each frame, each directed graph comprising a directed edge between pairs of overlapping strokes for which a constraint exists in the corresponding frame, each directed graph thereby defining a relative ordering for drawing at least some of the strokes in the corresponding frame;

merging the directed graphs for the sequence of frames to form a merged directed graph;

selecting a linear extension of the merged directed graph, the selecting optimizing, at least in part, the temporal coherence of the ordering of strokes for the sequence of frames; and

producing a sequence of ordered lists of strokes that is usable for rendering the animation and that corresponds to the sequence of frames, according to the ordering of strokes defined by the selected linear extension.

11. The computer program product of claim 10 , wherein the selecting comprises hiding temporal incoherencies by selecting the linear extension that tends to order strokes for which there are inconsistencies earlier, thereby causing the strokes associated with more incoherencies to be drawn earlier.

12. The computer program product of claim 10 , wherein a lifetime of a vertex in the merged directed graph is defined by the number of consecutive frames with which the vertex is associated, and the selecting comprises favoring the linear extension for which vertices with shorter lifetimes in the directed graph correspond to earlier drawn strokes.

13. The computer program product of claim 10 , wherein the constraints are determined at least in part according to occlusions of surfaces associated with the strokes in scene information provided for the stroke-based animation.

14. The computer program product of claim 10 , wherein the constraints are determined at least in part according to an association of the strokes with layers defined in scene information provided for the stroke-based animation.

15. The computer program product of claim 10 , wherein creating a directed graph for a particular frame comprises:

removing any circuits in the graph to make the graph a directed acyclic graph.

16. The computer program product of claim 10 , wherein the merging produces a directed acyclic graph.

17. The computer program product of claim 10 , wherein creating a directed graph for a particular frame comprises:

replacing the directed graph with a transitive reduction of the directed graph.

18. The computer program product of claim 10 , wherein the selecting comprises a step for optimizing to globally minimize one or more distances between consecutive frames' stroke ordering.

19. An animation product comprising a non-transitory machine-readable medium, the non-transitory machine-readable medium storing media data that when read by a video machine causes the video machine to produce a video stream for playback on a video display, the media data generated according to a process that comprises any one of the preceding method claims.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Feb 3, 2015
From: SQUARE 1 BANK
To: AURYN, INC.
Reel/Frame 034878/0600 →
SECURITY AGREEMENT Recorded May 5, 2010
From: AURYN, INC.
To: SQUARE 1 BANK
Reel/Frame 024341/0850 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2007
From: GRABLI, STEPHANE; KALNINS, ROBERT; LEZOTTE, NATHAN; AGRAWAL, AMITABH
To: AURYN INC.
Reel/Frame 019627/0314 →
Continuity (2)
Provisional Application 60762601 · Jan 27, 2006
Related Publication 20070177802A1 · Aug 2, 2007