US7151542B2ExpiredUtilityA1

Manipulation of motion data in an animation editing system

Assignee: AVID TECHNOLOGY INCPriority: Oct 17, 2001Filed: Oct 7, 2004Granted: Dec 19, 2006
Est. expiryOct 17, 2021(expired)· nominal 20-yr term from priority
Inventors:Michael Isner
G06T 13/40G06T 2200/24
75
PatentIndex Score
19
Cited by
17
References
66
Claims

Abstract

The problem of editing motion data can be solved by providing a way to specify control points (herein called “handles”) along the path of the motion data and to describe the motion data as a combination of layers of information describing the motion in relationship to these handles. A first layer may describe, for each point in the motion data, the distance of the point between the handles. For example, a path between two handles may be defined. Each point in the motion data is closest to a point along that path. That point along the line has a distance to the two handles. These distances may be defined as a percentage of the length of the path. A second layer may describe the offset of points in the motion data from the line between the two handles.

Claims

exact text as granted — not AI-modified
1. A computer program product, comprising:
 a computer readable medium have computer program instructions stored thereon which, when interpreted by a computer, instruct the computer to perform a process for editing motion data for animating a character, comprising: 
 receiving information specifying a plurality of handles in the motion data; 
 for points in the motion data between a pair of the specified handles:
 computing a value representing a distance of the point along a path between the pair of handles; and 
 computing a value representing an offset of the point from the path between the pair of handles; 
 
 receiving user input to allow a user to manipulate the computed values representing the offsets to specify an animation of the character using the manipulated computed values. 
 
     
     
       2. The computer program product of  claim 1 , wherein the information specifying a plurality of handles in the motion data comprises positions at which a minimum velocity is represented by the motion data. 
     
     
       3. The computer program product of  claim 1 , wherein computing the value representing the distance comprises:
 identifying a reference point along the path, wherein the reference point is closest to the point in the motion data; and 
 computing a first distance between the reference point and a first of the pair of handles. 
 
     
     
       4. The computer program product of  claim 3 , wherein computing the value representing the distance further comprises:
 computing a second distance between the reference point and a second of the pair of handles. 
 
     
     
       5. The computer program product of  claim 4 , wherein computing the value representing the distance further comprises:
 computing the first distance as a percentage of a distance between the pair of handles. 
 
     
     
       6. The computer program product of  claim 5 , wherein computing the value representing the distance further comprises:
 computing the second distance as a percentage of the distance between the pair of handles. 
 
     
     
       7. The computer program product of  claim 4 , wherein computing the value representing the distance further comprises:
 computing the second distance as a percentage of a distance between the pair of handles. 
 
     
     
       8. The computer program product of  claim 3 , wherein computing the value representing the distance further comprises:
 computing the first distance as a percentage of a distance between the pair of handles. 
 
     
     
       9. The computer program product of  claim 1 , wherein computing the value representing the offset comprises:
 identifying a reference point along the path, wherein the reference point is closest to the point in the motion data; and 
 computing an offset between the reference point and the point in the motion data. 
 
     
     
       10. An animation system for editing motion data for animating a character, comprising:
 means for accessing information specifying a plurality of handles in the motion data; 
 means for determining, for points in the motion data between a pair of the specified handles, a value representing a distance of the point along a path between the pair of handles; and 
 means for determining, for points in the motion data between a pair of the specified handles, a value representing an offset of the point from the path between the pair of handles; and 
 means for processing user input to allow a user to manipulate the computed values representing the offsets to specify an animation of the character using the manipulated computed values. 
 
     
     
       11. The animation system of  claim 10 , wherein the information specifying a plurality of handles in the motion data comprises positions at which a minimum velocity is represented by the motion data. 
     
     
       12. The animation system of  claim 10 , wherein the means for determining the value representing the distance comprises:
 means for identifying a reference point along the path, wherein the reference point is closest to the point in the motion data; and 
 means for determining a first distance between the reference point and a first of the pair of handles. 
 
     
     
       13. The animation system of  claim 12 , wherein the means for determining the value representing the distance further comprises:
 means for determining a second distance between the reference point and a second of the pair of handles. 
 
     
     
       14. The animation system of  claim 13 , wherein the means for determining the value representing the distance further comprises:
 means for determining the first distance as a percentage of a distance between the pair of handles. 
 
     
     
       15. The animation system of  claim 14 , wherein the means for determining the value representing the distance further comprises:
 means for determining the second distance as a percentage of the distance between the pair of handles. 
 
     
     
       16. The animation system of  claim 13 , wherein the means for determining the value representing the distance further comprises:
 means for determining the second distance as a percentage of a distance between the pair of handles. 
 
     
     
       17. The animation system of  claim 12 , wherein the means for determining the value representing the distance further comprises:
 means for determining the first distance as a percentage of a distance between the pair of handles. 
 
     
     
       18. The animation system of  claim 10 , wherein the means for determining the value representing the offset comprises:
 means for identifying a reference point along the path, wherein the reference point is closest to the point in the motion data; and 
 means for determining the offset between the reference point and the point in the motion data. 
 
     
     
       19. An animation system for enabling editing and animation of a character using motion data and information specifying a plurality of handles in the motion data, comprising:
 a motion data processing module that computes, for points in the motion data between a pair of the specified handles, a value representing the distance of the point along a path between the pair of handles, and that computes, for points in the motion data between a pair of the specified handles, a value representing the offset of the point from the path between the pair of handles; and 
 an animation user interfaces that receives user input to allow a user to manipulate the computed values representing the offsets to specify an animation of the character using the manipulated computed values. 
 
     
     
       20. The animation system of  claim 19 , wherein the information specifying a plurality of handles in the motion data comprises positions at which a minimum velocity is represented by the motion data. 
     
     
       21. The animation system of  claim 19 , wherein the motion data processing module comprises:
 means for identifying a reference point along the path, wherein the reference point is closest to the point in the motion data; and 
 means for determining a first distance between the reference point and a first of the pair of handles. 
 
     
     
       22. The animation system of  claim 21 , wherein the motion data processing module comprises:
 means for determining a second distance between the reference point and a second of the pair of handles. 
 
     
     
       23. The animation system of  claim 22 , wherein the motion data processing module comprises:
 means for determining the first distance as a percentage of a distance between the pair of handles. 
 
     
     
       24. The animation system of  claim 23 , wherein the motion data processing module comprises:
 means for determining the second distance as a percentage of the distance between the pair of handles. 
 
     
     
       25. The animation system of  claim 22 , wherein the motion data processing module comprises:
 means for determining the second distance as a percentage of a distance between the pair of handles. 
 
     
     
       26. The animation system of  claim 21 , wherein the motion data processing module comprises:
 means for determining the first distance as a percentage of a distance between the pair of handles. 
 
     
     
       27. The animation system of  claim 19 , wherein the motion data processing module comprises:
 means for identifying a reference point along the path, wherein the reference point is closest to the point in the motion data; and 
 means for determining the offset between the reference point and the point in the motion data. 
 
     
     
       28. A process for editing motion data for animating a character, comprising:
 receiving information specifying a plurality of handles in the motion data; 
 for points in the motion data between a pair of the specified handles:
 computing a value representing a distance of the point along a path between the pair of handles; and 
 computing a value representing an offset of the point from the path between the pair of handles; 
 
 receiving user input to allow a user to manipulate the handles to specify an animation of the character using the computed values and the manipulated handles. 
 
     
     
       29. The process of  claim 28 , wherein the information specifying a plurality of handles in the motion data comprises positions at which a minimum velocity is represented by the motion data. 
     
     
       30. The process of  claim 28 , wherein computing the value representing the distance comprises:
 identifying a reference point along the path, wherein the reference point is closest to the point in the motion data; and 
 computing a first distance between the reference point and a first of the pair of handles. 
 
     
     
       31. The process of  claim 30 , wherein computing the value representing the distance further comprises:
 computing a second distance between the reference point and a second of the pair of handles. 
 
     
     
       32. The process of  claim 31 , wherein computing the value representing the distance further comprises:
 computing the first distance as a percentage of a distance between the pair of handles. 
 
     
     
       33. The process of  claim 32 , wherein computing the value representing the distance further comprises:
 computing the second distance as a percentage of the distance between the pair of handles. 
 
     
     
       34. The process of  claim 31 , wherein computing the value representing the distance further comprises:
 computing the second distance as a percentage of a distance between the pair of handles. 
 
     
     
       35. The process of  claim 30 , wherein computing the value representing the distance further comprises:
 computing the first distance as a percentage of a distance between the pair of handles. 
 
     
     
       36. The process of  claim 28 , wherein computing the value representing the offset comprises:
 identifying a reference point along the path, wherein the reference point is closest to the point in the motion data; and 
 computing the offset between the reference point and the point in the motion data. 
 
     
     
       37. A computer program product, comprising:
 a computer readable medium have computer program instructions stored thereon which, when interpreted by a computer, instruct the computer to perform a process for editing motion data for animating a character, comprising: 
 receiving information specifying a plurality of handles in the motion data; 
 for points in the motion data between a pair of the specified handles:
 computing a value representing a distance of the point along a path between the pair of handles; and 
 computing a value representing an offset of the point from the path between the pair of handles; 
 
 
       receiving user input to allow a user to manipulate the handles to specify an animation of the character using the computed values and the manipulated handles. 
     
     
       38. The computer program product of  claim 37 , wherein the information specifying a plurality of handles in the motion data comprises positions at which a minimum velocity is represented by the motion data. 
     
     
       39. The computer program product of  claim 37 , wherein computing the value representing the distance comprises:
 identifying a reference point along the path, wherein the reference point is closest to the point in the motion data; and 
 computing a first distance between the reference point and a first of the pair of handles. 
 
     
     
       40. The computer program product of  claim 39 , wherein computing the value representing the distance further comprises:
 computing a second distance between the reference point and a second of the pair of handles. 
 
     
     
       41. The computer program product of  claim 40 , wherein computing the value representing the distance further comprises:
 computing the first distance as a percentage of a distance between the pair of handles. 
 
     
     
       42. The computer program product of  claim 41 , wherein computing the value representing the distance further comprises:
 computing the second distance as a percentage of the distance between the pair of handles. 
 
     
     
       43. The computer program product of  claim 40 , wherein computing the value representing the distance further comprises:
 computing the second distance as a percentage of a distance between the pair of handles. 
 
     
     
       44. The computer program product of  claim 39 , wherein computing the value representing the distance further comprises:
 computing the first distance as a percentage of a distance between the pair of handles. 
 
     
     
       45. The computer program product of  claim 37 , wherein computing the value representing the offset comprises:
 identifying a reference point along the path, wherein the reference point is closest to the point in the motion data; and 
 computing the offset between the reference point and the point in the motion data. 
 
     
     
       46. A process for manipulating motion data for editing motion data for animating a character, comprising:
 receiving information specifying a plurality of handles in the motion data; 
 for points in the motion data between a pair of the specified handles:
 computing a value representing a distance of the point along a path between the pair of handles; and 
 computing a value representing an offset of the point from the path between the pair of handles; 
 
 storing the computed values in a computer readable medium for editing and animation of the character using the motion data. 
 
     
     
       47. The process of  claim 46 , wherein the information specifying a plurality of handles in the motion data comprises positions at which a minimum velocity is represented by the motion data. 
     
     
       48. The process of  claim 46 , wherein computing the value representing the distance comprises:
 identifying a reference point along the path, wherein the reference point is closest to the point in the motion data; and 
 computing a first distance between the reference point and a first of the pair of handles. 
 
     
     
       49. The process of  claim 48 , wherein computing the value representing the distance further comprises:
 computing a second distance between the reference point and a second of the pair of handles. 
 
     
     
       50. The process of  claim 49 , wherein computing the value representing the distance further comprises:
 computing the first distance as a percentage of a distance between the pair of handles. 
 
     
     
       51. The process of  claim 50 , wherein computing the value representing the distance further comprises:
 computing the second distance as a percentage of the distance between the pair of handles. 
 
     
     
       52. The process of  claim 49 , wherein computing the value representing the distance further comprises:
 computing the second distance as a percentage of a distance between the pair of handles. 
 
     
     
       53. The process of  claim 48 , wherein computing the value representing the distance further comprises:
 computing the first distance as a percentage of a distance between the pair of handles. 
 
     
     
       54. The process of  claim 46 , wherein computing the value representing the offset comprises:
 identifying a reference point along the path, wherein the reference point is closest to the point in the motion data; and 
 computing the offset between the reference point and the point in the motion data. 
 
     
     
       55. A computer program product, comprising:
 a computer readable medium have computer program instructions stored thereon which, when interpreted by a computer, instruct the computer to perform a process for editing motion data for animating a character, comprising: 
 receiving information specifying a plurality of handles in the motion data; 
 for points in the motion data between a pair of the specified handles:
 computing a value representing the distance of the point along a path between the pair of handles; and 
 computing a value representing the offset of the point from the path between the pair of handles; 
 
 storing the computed values in computer readable form for editing and animation of the character using the motion data. 
 
     
     
       56. The computer program product of  claim 55 , wherein the information specifying a plurality of handles in the motion data comprises positions at which a minimum velocity is represented by the motion data. 
     
     
       57. The computer program product of  claim 55 , wherein computing the value representing the distance comprises:
 identifying a reference point along the path, wherein the reference point is closest to the point in the motion data; and 
 computing a first distance between the reference point and a first of the pair of handles. 
 
     
     
       58. The computer program product of  claim 57 , wherein computing the value representing the distance further comprises:
 computing a second distance between the reference point and a second of the pair of handles. 
 
     
     
       59. The computer program product of  claim 58 , wherein computing the value representing the distance further comprises:
 computing the first distance as a percentage of a distance between the pair of handles. 
 
     
     
       60. The computer program product of  claim 59 , wherein computing the value representing the distance further comprises:
 computing the second distance as a percentage of the distance between the pair of handles. 
 
     
     
       61. The computer program product of  claim 58 , wherein computing the value representing the distance further comprises:
 computing the second distance as a percentage of a distance between the pair of handles. 
 
     
     
       62. The computer program product of  claim 57 , wherein computing the value representing the distance further comprises:
 computing the first distance as a percentage of a distance between the pair of handles. 
 
     
     
       63. The computer program product of  claim 55 , wherein computing the value representing the offset comprises:
 identifying a reference point along the path, wherein the reference point is closest to the point in the motion data; and 
 computing the offset between the reference point and the point in the motion data. 
 
     
     
       64. A process for enabling animation of a character using edited motion data, comprising:
 receiving information specifying a plurality of handles in the motion data, values representing distance of points in the motion data along a path between a pair of the handles and values representing offsets of points in the motion data from the path between the pair of the handles; 
 receiving user input to allow a user to manipulate the received information to specify an animation of the character; and 
 rendering the specified animation of the character using the manipulated received information, wherein the information specifying a plurality of handles in the motion data comprises positions at which a minimum velocity is represented by the motion data. 
 
     
     
       65. A computer program product, comprising:
 a computer readable medium have computer program instructions stored thereon which, when interpreted by a computer, instruct the computer to perform a process for enabling animation of a character using edited motion data, comprising: 
 receiving information specifying a plurality of handles in the motion data, values representing distance of points in the motion data along a path between a pair of the handles and values representing offsets of points in the motion data from the path between the pair of the handles; 
 receiving user input to allow a user to manipulate the received information to specify an animation of the character; and 
 rendering the specified animation of the character using the manipulated received information; 
 wherein the information specifying a plurality of handles in the motion data comprises positions at which a minimum velocity is represented by the motion data. 
 
     
     
       66. An animated work on a medium containing a plurality of images, produced by the process of:
 receiving information specifying a plurality of handles in the motion data, values representing distance of points in the motion data along a path between a pair of handles and values representing offsets of points in the motion data from the path between the pair of handles; providing a user interface to allow a user to manipulate the received information to specify an animation of the character; 
 rendering the specified animation of the character using the manipulated received information; and 
 manipulating the medium to contain the rendered plurality of images representing the animated work; 
 wherein the information specifying a plurality of handles in the motion data comprises positions at which a minimum velocity is represented by the motion data.

Join the waitlist — get patent alerts

Track US7151542B2 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.