US20060262119A1 - Transfer of motion between animated characters - Google Patents
Transfer of motion between animated characters Download PDFInfo
- Publication number
- US20060262119A1 US20060262119A1 US11/134,653 US13465305A US2006262119A1 US 20060262119 A1 US20060262119 A1 US 20060262119A1 US 13465305 A US13465305 A US 13465305A US 2006262119 A1 US2006262119 A1 US 2006262119A1
- Authority
- US
- United States
- Prior art keywords
- topology
- basic elements
- character
- motion
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 107
- 238000000034 method Methods 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 15
- 230000009466 transformation Effects 0.000 description 22
- 238000000844 transformation Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000013523 data management Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
Definitions
- a character In computer animation, a character generally is defined by a topology, often called a skeleton, and an associated geometry, often called a skin or envelope.
- the topology includes a number of interconnected elements. Each element in the topology is defined in three dimensions by a position and orientation, which may include direction and rotation.
- Various algorithms control the relationship between the topology and the geometry to produce the look of a character.
- Various techniques may be used to manipulate a character to provide the appearance of animation.
- such techniques involve associating one or more animation controls with one or more elements of the topology in a process called rigging.
- One technique is to specify a series of key frames that describe motion of the character over time, using a combination of inverse and forward kinematics and character rigging techniques.
- Another technique is to use motion capture data representing the position and orientation of selected elements of the topology of a character over time. For example, motion may be captured using sensors attached to a live actor. The motion capture data may be used to derive the topology of a character representing the live actor. The motion capture data then is used to animate that character.
- Other techniques include using constraints, scripts or expressions.
- Motion capture data for one character may be reused with another character using a process called motion retargetting.
- Motion retargetting algorithms generally require that the source character and target character have identical structures, or that the target character has a simpler structure than the source character. With these constraints, motion retargetting can be performed between characters having the same structure but different proportions. See, for example, “Retargetting Motion to New Characters,” by Michael Gleicher, in Proceedings of SIGGRAPH 98, pages 33-42, July 1998. In practice, motion retargetting is restricted to retargetting motion capture data to pre-defined rig structures, and in limited cases moving animations from one pre-defined rig to another, due to the narrow constraints of current methods.
- Motion can be transferred between characters of different topologies if those characters have a minimum topological similarity. Motion also may be transferred between portions of two characters if those portions have a minimum topological similarity. In particular, motion can be transferred from a source character to a target character if a subset of elements of the topology of the source character is homotopic with a subset of the elements of the topology of the target character. The elements of the topology that form these subsets are called herein “basic elements.” All characters having such homotopic subsets among them may be considered a class of characters. In other words, all characters having the same set of basic elements are in the same class of characters. An example class of characters is biped characters.
- the motion associated with the basic elements of the source character is determined. This motion is retargetted to the basic elements of the target character. The retargetted motion is then attached to the basic elements of the target character. As a result, the animation of the basic elements in the topology of the target character effectively animates the target character with motion that is similar to that of the source character.
- the basic elements of the target character also are associated with animation controls that control the animation of the target character.
- a character may be rigged such that hip and chest elements control the animation of elements in a spine connected between the hip and the chest. If the hip and chest elements also are the basic elements of the target character, then motion transferred from the corresponding hip and chest elements of the source character can be used to animate the elements of the spine of the target character.
- a set of vector maps is defined to represent the orientations of the basic elements of the characters.
- One vector map represents the basic elements of the source character.
- Another vector map represents the basic elements of the target character.
- Yet another vector map can be used to represent a set of basic elements of a canonical topology in a default orientation.
- the vector map representing this set of canonical basic elements may be understood as defining a canonical topology, and the default orientation may be understood as a reference pose.
- the source character and the target character are placed in the same pose as the canonical reference pose by the user through a graphical user interface.
- a transformation between the frames of reference of the source and target characters is determined.
- the motion of the basic elements of the source character is retargetted to the basic elements of the target character using this transformation and the vector maps representing the set of basic elements of source and target characters.
- a transformation between the frame of reference for the source character and the frame of reference of the canonical reference pose may be computed. This transformation may be stored with the source character.
- the motion of the basic elements of the source character is retargetted to the canonical reference pose using this transformation and the vector maps representing the set of basic elements of the source character and the canonical reference pose.
- the result is a normalized representation of the motion of the basic elements of the source character.
- This normalized motion can be stored, along with a representation of the canonical reference pose to which it corresponds, thus providing the capability of building a library or database of motion for different classes of characters which can be reused for many different target characters.
- Another transformation between the frame of reference of a target character of the same class and the frame of reference of the canonical reference pose is computed. This transformation can be stored with the target character.
- these transformations normalize orientations across the class of characters.
- Stored normalized motion then can be retargetted to the basic elements of the target character using this transformation and the vector maps representing the set of basic elements of the target character and the canonical reference pose.
- FIG. 1 is a data flow diagram of an embodiment of a system for transferring motion from a source character to a target character.
- FIG. 2 is a flow chart describing an embodiment of a workflow for transferring motion from a source character to a target character.
- FIG. 3 is a data flow diagram describing an embodiment of retargetting motion.
- a source character 100 is defined by a topology 102 and an associated geometry.
- Various algorithms control the relationship between the topology and the geometry to produce the look of a character.
- a target character 150 is defined by a topology 152 and an associated geometry.
- Various techniques may have been used to define motion for the source character.
- such techniques involve associating one or more animation controls with one or more elements of the topology in a process called rigging.
- One technique is to specify a series of key frames that describe motion of the character over time, using a combination of inverse and forward kinematics and character rigging techniques.
- Another technique is to use motion capture data representing the position and orientation of selected elements of the topology of a character over time. For example, motion may be captured using sensors attached to a live actor. The motion capture data may be used to derive the topology of a character representing the live actor. The motion capture data then is used to animate that character.
- Other techniques include using constraints, scripts or expressions.
- the target character also may be rigged in a manner that will improve its ability to be animated through motion transferred from the source character.
- Motion 104 that is defined for a source character can be transferred from the source character 100 to a target character 150 , even if they have different topologies, if these characters have a minimum topological similarity. Motion also may be transferred between a portion of a source character and a portion of the target character, if these portions have a minimum topological similarity. In particular, motion can be transferred from a source character to a target character if a subset of elements of the topology of the source character is homotopic with a subset of the elements of the topology of the target character. The elements of the topology that form these subsets are called herein “basic elements.” All characters having such homotopic subsets among them may be considered a class of characters.
- all characters having the same set of basic elements are in the same class of characters.
- An example class of characters is biped characters. Two different biped characters may have, on the surface, very different topologies; but, these characters each may have the same primary skeletal elements. For example, any biped likely has elements representing a head, neck, chest, arms, spine, hips and legs. Motion can be transferred to the elements in a target topology that match elements in the source topology.
- the user may identify the basic elements of the source and target characters through a textual or graphical user interface.
- the topology of each character is tagged, by tagging modules 106 , 156 in response to user input, to indicate which elements are the basic elements, to provide tagged characters 108 , 158 .
- a user interface may be provided to permit a user to select an element of a topology of a character and to associate a name with it. Elements with the same name in different topologies can be deemed to be corresponding elements for the purposes of motion transfer.
- the basic elements of the target character also are associated with animation controls that control the animation of the target character.
- a character may be rigged such that the hip and chest elements control the animation of elements in a spine connected between the hip and the chest. If the hip and chest elements also are the basic elements of the target character, then motion transferred from the corresponding hip and chest elements of the source character can be used to animate the elements of the spine of the target character.
- the motion 104 associated with the basic elements of the source character is determined.
- the motion data i.e., the position and orientation for each frame of the animation
- the motion capture data is derived from the animation controls, motion capture data and any other information used to animate the character.
- a retargetting module 120 retargets motion 104 to obtain retargetted motion 154 .
- conventional motion retargetting techniques can be used to retarget the motion of the set of basic elements of the source character to its corresponding set of basic elements of the target character. A particular embodiment of retargetting is described in more detail below.
- Motion 104 associated with the basic elements of the source character is retargetted on a frame by frame basis to the basic elements of the target character.
- the retargetted motion 154 is then attached to the basic elements of target character 150 .
- the animation of the basic elements in the topology of the target character animates the target character with motion that is similar to that of the source character.
- the basic elements of the target character are associated with animation controls for manipulating other parts of the target character topology, more usable motion transfer can be achieved.
- FIG. 2 a flow chart describing one embodiment of a workflow using a system as shown in FIG. 1 will now be described.
- the topologies of these characters is displayed ( 200 ) to the user.
- the user indicates what elements in the source and target characters correspond to each other. This indication may be provided by tagging the basic elements in the source character ( 202 ) and in the target character ( 204 ), by providing user input to the tagging module as described above.
- the computer retargets ( 206 ) the motion from the basic elements of the source character to the basic elements of the target character. After the motion is retargetted, the retargetted motion is attached ( 208 ) to the target character.
- a set of vector maps is defined to represent the orientations of the basic elements of the characters.
- One vector map 300 represents the basic elements of the source character.
- Another vector map 302 represents the basic elements of the target character.
- Yet another vector map 304 can be used to represent a set of basic elements of a canonical topology in a default orientation.
- the vector map representing this set of canonical basic elements may be understood as defining a canonical topology, and the default orientation may be understood as a reference pose. Because the frames of reference of the source and target characters and the canonical reference pose may be different, transformations among these frames of reference are computed.
- the source character and the target character are placed in the same pose by the user through a graphical user interface.
- a source-to-target transformation 308 between the frames of reference of the source and target characters is computed by a transformation computation module 306 given these known orientations of the source and target characters.
- the direct retargetting module 310 retargets the motion 312 of the basic elements of the source character to the basic elements of the target character using this transformation and the vector maps representing the set of basic elements of the source and target characters, resulting in retargetted motion 314 .
- the source character is placed in the same pose as the reference pose for the canonical topology, by the user through a graphical user interface.
- a source-to-canonical transformation 320 between the frame of reference of the source character and the frame of reference for the canonical topology may be computed. This transformation may be stored with the source character.
- the normalizing retargetting module 322 retargets the motion 312 of the basic elements of the source character to the canonical topology using this transformation 320 and the vector maps representing the set of basic elements of the source character and the canonical topology.
- the result is a normalized representation of the motion 324 of the basic elements of the source character.
- This normalized motion can be stored along with a representation of the canonical topology to which it corresponds, for example in database 326 .
- the database 326 thus may provide the capability of building a library or database of motion for different classes of characters which can be reused for many different target characters.
- Such a database could be used, for example, by selecting a normalized motion and by matching elements of the topology of the target character to the canonical topology associated with the selected normalized motion.
- the database also could be searched by matching selected elements of a target character to canonical reference poses referenced in the database to identify motions corresponding to the selected elements of the target character.
- the normalized motion can be transferred from the canonical topology to the target character.
- the target character is placed in the same pose as the reference pose for the canonical topology, by the user through a graphical user interface.
- a target-to-canonical transformation 328 between the frame of reference of a target character and frame of reference of the canonical topology is computed. This transformation may be stored with the target character. Given a set of source characters and target characters of the same class, these transformations normalize orientations across the class of characters.
- An indirect retargetting module 330 receives stored normalized motion 324 and retargets it from the canonical topology to the basic elements of the target character using transformation 328 and the vector maps representing the set of basic elements of the target character and the canonical topology, resulting in retargetted motion 314 .
- Such a computer system typically includes a main unit connected to both an output device that displays information to a user and an input device that receives input from a user.
- the main unit generally includes a processor connected to a memory system via an interconnection mechanism.
- the input device and output device also are connected to the processor and memory system via the interconnection mechanism.
- Example output devices include, but are not limited to, a cathode ray tube (CRT) display, liquid crystal displays (LCD) and other video output devices, printers, communication devices such as a modem, and storage devices such as disk or tape.
- One or more input devices may be connected to the computer system.
- Example input devices include, but are not limited to, a keyboard, keypad, track ball, mouse, pen and tablet, communication device, and data input devices. The invention is not limited to the particular input or output devices used in combination with the computer system or to those described herein.
- the computer system may be a general purpose computer system which is programmable using a computer programming language, a scripting language or even assembly language.
- the computer system may also be specially programmed, special purpose hardware.
- the processor is typically a commercially available processor.
- the general-purpose computer also typically has an operating system, which controls the execution of other computer programs and provides scheduling, debugging, input/output control, accounting, compilation, storage assignment, data management and memory management, and communication control and related services.
- a memory system typically includes a computer readable medium.
- the medium may be volatile or nonvolatile, writeable or nonwriteable, and/or rewriteable or not rewriteable.
- a memory system stores data typically in binary form. Such data may define an application program to be executed by the microprocessor, or information stored on the disk to be processed by the application program. The invention is not limited to a particular memory system.
- a system such as described herein may be implemented in software or hardware or firmware, or a combination of the three.
- the various elements of the system either individually or in combination may be implemented as one or more computer program products in which computer program instructions are stored on a computer readable medium for execution by a computer.
- Various steps of a process may be performed by a computer executing such computer program instructions.
- the computer system may be a multiprocessor computer system or may include multiple computers connected over a computer network.
- the components shown in FIG. 1 may be separate modules of a computer program, or may be separate computer programs, which may be operable on separate computers.
- the data produced by these components may be stored in a memory system or transmitted between computer systems.
Abstract
Description
- In computer animation, a character generally is defined by a topology, often called a skeleton, and an associated geometry, often called a skin or envelope. The topology includes a number of interconnected elements. Each element in the topology is defined in three dimensions by a position and orientation, which may include direction and rotation. Various algorithms control the relationship between the topology and the geometry to produce the look of a character.
- Various techniques may be used to manipulate a character to provide the appearance of animation. Generally, such techniques involve associating one or more animation controls with one or more elements of the topology in a process called rigging. One technique is to specify a series of key frames that describe motion of the character over time, using a combination of inverse and forward kinematics and character rigging techniques. Another technique is to use motion capture data representing the position and orientation of selected elements of the topology of a character over time. For example, motion may be captured using sensors attached to a live actor. The motion capture data may be used to derive the topology of a character representing the live actor. The motion capture data then is used to animate that character. Other techniques include using constraints, scripts or expressions.
- Motion capture data for one character may be reused with another character using a process called motion retargetting. Motion retargetting algorithms generally require that the source character and target character have identical structures, or that the target character has a simpler structure than the source character. With these constraints, motion retargetting can be performed between characters having the same structure but different proportions. See, for example, “Retargetting Motion to New Characters,” by Michael Gleicher, in Proceedings of SIGGRAPH 98, pages 33-42, July 1998. In practice, motion retargetting is restricted to retargetting motion capture data to pre-defined rig structures, and in limited cases moving animations from one pre-defined rig to another, due to the narrow constraints of current methods.
- In practice, it would be desirable to transfer motion from one character to another character of an arbitrarily different topology. It also would be desirable to transfer motion in such a way that an animator can use animation controls in a familiar manner, instead of requiring the animator to manipulate dense motion data.
- Motion can be transferred between characters of different topologies if those characters have a minimum topological similarity. Motion also may be transferred between portions of two characters if those portions have a minimum topological similarity. In particular, motion can be transferred from a source character to a target character if a subset of elements of the topology of the source character is homotopic with a subset of the elements of the topology of the target character. The elements of the topology that form these subsets are called herein “basic elements.” All characters having such homotopic subsets among them may be considered a class of characters. In other words, all characters having the same set of basic elements are in the same class of characters. An example class of characters is biped characters.
- To transfer motion between the source and target characters, the motion associated with the basic elements of the source character is determined. This motion is retargetted to the basic elements of the target character. The retargetted motion is then attached to the basic elements of the target character. As a result, the animation of the basic elements in the topology of the target character effectively animates the target character with motion that is similar to that of the source character.
- Ideally, the basic elements of the target character also are associated with animation controls that control the animation of the target character. For example, a character may be rigged such that hip and chest elements control the animation of elements in a spine connected between the hip and the chest. If the hip and chest elements also are the basic elements of the target character, then motion transferred from the corresponding hip and chest elements of the source character can be used to animate the elements of the spine of the target character.
- In one embodiment of retargetting, a set of vector maps is defined to represent the orientations of the basic elements of the characters. One vector map represents the basic elements of the source character. Another vector map represents the basic elements of the target character. Yet another vector map can be used to represent a set of basic elements of a canonical topology in a default orientation. The vector map representing this set of canonical basic elements may be understood as defining a canonical topology, and the default orientation may be understood as a reference pose.
- Because the frames of reference of the source and target characters and the canonical reference pose may be different, transformations among these frames of reference are computed. In one embodiment, the source character and the target character are placed in the same pose as the canonical reference pose by the user through a graphical user interface. A transformation between the frames of reference of the source and target characters is determined. The motion of the basic elements of the source character is retargetted to the basic elements of the target character using this transformation and the vector maps representing the set of basic elements of source and target characters. Alternatively, a transformation between the frame of reference for the source character and the frame of reference of the canonical reference pose may be computed. This transformation may be stored with the source character. The motion of the basic elements of the source character is retargetted to the canonical reference pose using this transformation and the vector maps representing the set of basic elements of the source character and the canonical reference pose. In this embodiment, the result is a normalized representation of the motion of the basic elements of the source character. This normalized motion can be stored, along with a representation of the canonical reference pose to which it corresponds, thus providing the capability of building a library or database of motion for different classes of characters which can be reused for many different target characters. Another transformation between the frame of reference of a target character of the same class and the frame of reference of the canonical reference pose is computed. This transformation can be stored with the target character. Given a set of source characters and target characters of the same class, these transformations normalize orientations across the class of characters. Stored normalized motion then can be retargetted to the basic elements of the target character using this transformation and the vector maps representing the set of basic elements of the target character and the canonical reference pose.
-
FIG. 1 is a data flow diagram of an embodiment of a system for transferring motion from a source character to a target character. -
FIG. 2 is a flow chart describing an embodiment of a workflow for transferring motion from a source character to a target character. -
FIG. 3 is a data flow diagram describing an embodiment of retargetting motion. - Referring now to
FIG. 1 , asource character 100 is defined by atopology 102 and an associated geometry. Various algorithms control the relationship between the topology and the geometry to produce the look of a character. Similarly, atarget character 150 is defined by atopology 152 and an associated geometry. - Various techniques may have been used to define motion for the source character. Generally, such techniques involve associating one or more animation controls with one or more elements of the topology in a process called rigging. One technique is to specify a series of key frames that describe motion of the character over time, using a combination of inverse and forward kinematics and character rigging techniques. Another technique is to use motion capture data representing the position and orientation of selected elements of the topology of a character over time. For example, motion may be captured using sensors attached to a live actor. The motion capture data may be used to derive the topology of a character representing the live actor. The motion capture data then is used to animate that character. Other techniques include using constraints, scripts or expressions. The target character also may be rigged in a manner that will improve its ability to be animated through motion transferred from the source character.
-
Motion 104 that is defined for a source character can be transferred from thesource character 100 to atarget character 150, even if they have different topologies, if these characters have a minimum topological similarity. Motion also may be transferred between a portion of a source character and a portion of the target character, if these portions have a minimum topological similarity. In particular, motion can be transferred from a source character to a target character if a subset of elements of the topology of the source character is homotopic with a subset of the elements of the topology of the target character. The elements of the topology that form these subsets are called herein “basic elements.” All characters having such homotopic subsets among them may be considered a class of characters. In other words, all characters having the same set of basic elements are in the same class of characters. An example class of characters is biped characters. Two different biped characters may have, on the surface, very different topologies; but, these characters each may have the same primary skeletal elements. For example, any biped likely has elements representing a head, neck, chest, arms, spine, hips and legs. Motion can be transferred to the elements in a target topology that match elements in the source topology. - In one embodiment, the user may identify the basic elements of the source and target characters through a textual or graphical user interface. In particular, the topology of each character is tagged, by tagging
modules characters - Ideally, the basic elements of the target character also are associated with animation controls that control the animation of the target character. For example, a character may be rigged such that the hip and chest elements control the animation of elements in a spine connected between the hip and the chest. If the hip and chest elements also are the basic elements of the target character, then motion transferred from the corresponding hip and chest elements of the source character can be used to animate the elements of the spine of the target character.
- To transfer motion between the source and target characters, the
motion 104 associated with the basic elements of the source character is determined. In particular, the motion data (i.e., the position and orientation for each frame of the animation) for each basic element of the source character is derived from the animation controls, motion capture data and any other information used to animate the character. - Using the basic elements as identified by the tagged
source character 108 and the taggedtarget character 158 and themotion 104, aretargetting module 120retargets motion 104 to obtainretargetted motion 154. For example, conventional motion retargetting techniques can be used to retarget the motion of the set of basic elements of the source character to its corresponding set of basic elements of the target character. A particular embodiment of retargetting is described in more detail below.Motion 104 associated with the basic elements of the source character is retargetted on a frame by frame basis to the basic elements of the target character. - The
retargetted motion 154 is then attached to the basic elements oftarget character 150. As a result, the animation of the basic elements in the topology of the target character animates the target character with motion that is similar to that of the source character. To the extent that the basic elements of the target character are associated with animation controls for manipulating other parts of the target character topology, more usable motion transfer can be achieved. - Referring now to
FIG. 2 , a flow chart describing one embodiment of a workflow using a system as shown inFIG. 1 will now be described. - Given a source character and a target character, the topologies of these characters is displayed (200) to the user. The user indicates what elements in the source and target characters correspond to each other. This indication may be provided by tagging the basic elements in the source character (202) and in the target character (204), by providing user input to the tagging module as described above. After both the target and the source characters are tagged, the computer retargets (206) the motion from the basic elements of the source character to the basic elements of the target character. After the motion is retargetted, the retargetted motion is attached (208) to the target character.
- Referring now to
FIG. 3 , one embodiment of retargetting will now be described. A set of vector maps is defined to represent the orientations of the basic elements of the characters. Onevector map 300 represents the basic elements of the source character. Anothervector map 302 represents the basic elements of the target character. Yet anothervector map 304 can be used to represent a set of basic elements of a canonical topology in a default orientation. The vector map representing this set of canonical basic elements may be understood as defining a canonical topology, and the default orientation may be understood as a reference pose. Because the frames of reference of the source and target characters and the canonical reference pose may be different, transformations among these frames of reference are computed. - In one embodiment, the source character and the target character are placed in the same pose by the user through a graphical user interface. A source-to-
target transformation 308 between the frames of reference of the source and target characters is computed by atransformation computation module 306 given these known orientations of the source and target characters. Thedirect retargetting module 310 retargets themotion 312 of the basic elements of the source character to the basic elements of the target character using this transformation and the vector maps representing the set of basic elements of the source and target characters, resulting inretargetted motion 314. - Alternatively, the source character is placed in the same pose as the reference pose for the canonical topology, by the user through a graphical user interface. A source-to-
canonical transformation 320 between the frame of reference of the source character and the frame of reference for the canonical topology may be computed. This transformation may be stored with the source character. The normalizingretargetting module 322 retargets themotion 312 of the basic elements of the source character to the canonical topology using thistransformation 320 and the vector maps representing the set of basic elements of the source character and the canonical topology. - In this embodiment, the result is a normalized representation of the
motion 324 of the basic elements of the source character. This normalized motion can be stored along with a representation of the canonical topology to which it corresponds, for example indatabase 326. Thedatabase 326 thus may provide the capability of building a library or database of motion for different classes of characters which can be reused for many different target characters. Such a database could be used, for example, by selecting a normalized motion and by matching elements of the topology of the target character to the canonical topology associated with the selected normalized motion. The database also could be searched by matching selected elements of a target character to canonical reference poses referenced in the database to identify motions corresponding to the selected elements of the target character. - For any target character having a subset of elements that is homotopic with a subset of elements of the canonical topology, the normalized motion can be transferred from the canonical topology to the target character. The target character is placed in the same pose as the reference pose for the canonical topology, by the user through a graphical user interface. A target-to-
canonical transformation 328 between the frame of reference of a target character and frame of reference of the canonical topology is computed. This transformation may be stored with the target character. Given a set of source characters and target characters of the same class, these transformations normalize orientations across the class of characters. Anindirect retargetting module 330 receives stored normalizedmotion 324 and retargets it from the canonical topology to the basic elements of the targetcharacter using transformation 328 and the vector maps representing the set of basic elements of the target character and the canonical topology, resulting inretargetted motion 314. - In these embodiments, if the transformations among the various frames of reference are known, they need not be computed.
- The various components of the system described herein may be implemented as a computer program using a general-purpose computer system. Such a computer system typically includes a main unit connected to both an output device that displays information to a user and an input device that receives input from a user. The main unit generally includes a processor connected to a memory system via an interconnection mechanism. The input device and output device also are connected to the processor and memory system via the interconnection mechanism.
- One or more output devices may be connected to the computer system. Example output devices include, but are not limited to, a cathode ray tube (CRT) display, liquid crystal displays (LCD) and other video output devices, printers, communication devices such as a modem, and storage devices such as disk or tape. One or more input devices may be connected to the computer system. Example input devices include, but are not limited to, a keyboard, keypad, track ball, mouse, pen and tablet, communication device, and data input devices. The invention is not limited to the particular input or output devices used in combination with the computer system or to those described herein.
- The computer system may be a general purpose computer system which is programmable using a computer programming language, a scripting language or even assembly language. The computer system may also be specially programmed, special purpose hardware. In a general-purpose computer system, the processor is typically a commercially available processor. The general-purpose computer also typically has an operating system, which controls the execution of other computer programs and provides scheduling, debugging, input/output control, accounting, compilation, storage assignment, data management and memory management, and communication control and related services.
- A memory system typically includes a computer readable medium. The medium may be volatile or nonvolatile, writeable or nonwriteable, and/or rewriteable or not rewriteable. A memory system stores data typically in binary form. Such data may define an application program to be executed by the microprocessor, or information stored on the disk to be processed by the application program. The invention is not limited to a particular memory system.
- A system such as described herein may be implemented in software or hardware or firmware, or a combination of the three. The various elements of the system, either individually or in combination may be implemented as one or more computer program products in which computer program instructions are stored on a computer readable medium for execution by a computer. Various steps of a process may be performed by a computer executing such computer program instructions. The computer system may be a multiprocessor computer system or may include multiple computers connected over a computer network. The components shown in
FIG. 1 may be separate modules of a computer program, or may be separate computer programs, which may be operable on separate computers. The data produced by these components may be stored in a memory system or transmitted between computer systems. - Having now described an example embodiment, it should be apparent to those skilled in the art that the foregoing is merely illustrative and not limiting, having been presented by way of example only. Numerous modifications and other embodiments are within the scope of one of ordinary skill in the art and are contemplated as falling within the scope of the invention.
Claims (10)
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/134,653 US20060262119A1 (en) | 2005-05-20 | 2005-05-20 | Transfer of motion between animated characters |
CA 2546541 CA2546541A1 (en) | 2005-05-20 | 2006-05-10 | Transfer of motion between animated characters |
JP2006133232A JP2006331417A (en) | 2005-05-20 | 2006-05-12 | Transfer of motion between animated characters |
EP06252636A EP1724728A2 (en) | 2005-05-20 | 2006-05-19 | Transfer of motion between animated characters |
US12/220,254 US8952969B2 (en) | 2005-05-20 | 2008-07-22 | Transfer of motion between animated characters |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/134,653 US20060262119A1 (en) | 2005-05-20 | 2005-05-20 | Transfer of motion between animated characters |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/220,254 Continuation US8952969B2 (en) | 2005-05-20 | 2008-07-22 | Transfer of motion between animated characters |
Publications (1)
Publication Number | Publication Date |
---|---|
US20060262119A1 true US20060262119A1 (en) | 2006-11-23 |
Family
ID=36675895
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/134,653 Abandoned US20060262119A1 (en) | 2005-05-20 | 2005-05-20 | Transfer of motion between animated characters |
US12/220,254 Active 2029-02-02 US8952969B2 (en) | 2005-05-20 | 2008-07-22 | Transfer of motion between animated characters |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/220,254 Active 2029-02-02 US8952969B2 (en) | 2005-05-20 | 2008-07-22 | Transfer of motion between animated characters |
Country Status (4)
Country | Link |
---|---|
US (2) | US20060262119A1 (en) |
EP (1) | EP1724728A2 (en) |
JP (1) | JP2006331417A (en) |
CA (1) | CA2546541A1 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070013700A1 (en) * | 2005-07-13 | 2007-01-18 | Digitalaria Co., Ltd. | Mobile communication terminal having function of animating input characters |
US20070024632A1 (en) * | 2005-07-29 | 2007-02-01 | Jerome Couture-Gagnon | Transfer of attributes between geometric surfaces of arbitrary topologies with distortion reduction and discontinuity preservation |
US20080024487A1 (en) * | 2006-07-31 | 2008-01-31 | Michael Isner | Converting deformation data for a mesh to animation data for a skeleton, skinning and shading in a runtime computer graphics animation engine |
US20080024503A1 (en) * | 2006-07-31 | 2008-01-31 | Smith Jeffrey D | Rigless retargeting for character animation |
US8643654B1 (en) * | 2008-02-22 | 2014-02-04 | Pixar | Transfer of rigs with temporal coherence |
US20220058848A1 (en) * | 2020-11-30 | 2022-02-24 | Beijing Baidu Netcom Science Technology Co., Ltd. | Virtual avatar driving method and apparatus, device, and storage medium |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10657656B2 (en) | 2018-06-15 | 2020-05-19 | International Business Machines Corporation | Virtual generation of labeled motion sensor data |
JP7385825B2 (en) * | 2019-11-07 | 2023-11-24 | オムロン株式会社 | Motion analysis device, motion analysis method, and motion analysis program |
US11615592B2 (en) | 2020-10-27 | 2023-03-28 | Snap Inc. | Side-by-side character animation from realtime 3D body motion capture |
US11880947B2 (en) | 2021-12-21 | 2024-01-23 | Snap Inc. | Real-time upper-body garment exchange |
Citations (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5767861A (en) * | 1994-08-11 | 1998-06-16 | Kabushiki Kaisha Sega Enterprises | Processing apparatus and method for displaying a moving figure constrained to provide appearance of fluid motion |
US6166746A (en) * | 1994-07-21 | 2000-12-26 | Matsushita Electric Industrial Co., Ltd. | Three-dimensional image processing apparatus for jointed objects |
US6203425B1 (en) * | 1996-02-13 | 2001-03-20 | Kabushiki Kaisha Sega Enterprises | Image generating device, method thereof, game device and storage medium |
US20010004262A1 (en) * | 1997-08-01 | 2001-06-21 | Matsushita Electric Industrial Co. Ltd. | Motion data generation apparatus, motion data generation method, and motion data generation program storage medium |
US6377281B1 (en) * | 2000-02-17 | 2002-04-23 | The Jim Henson Company | Live performance control of computer graphic characters |
US20020050997A1 (en) * | 2000-01-28 | 2002-05-02 | Square Co., Ltd. | Method, game machine and recording medium for displaying motion in a video game |
US20020067363A1 (en) * | 2000-09-04 | 2002-06-06 | Yasunori Ohto | Animation generating method and device, and medium for providing program |
US6503144B1 (en) * | 2000-01-28 | 2003-01-07 | Square Co., Ltd. | Computer readable program product storing program for ball-playing type game, said program, and ball-playing type game processing apparatus and method |
US6535218B1 (en) * | 1998-05-21 | 2003-03-18 | Mitsubishi Electric & Electronics Usa, Inc. | Frame buffer memory for graphic processing |
US6535215B1 (en) * | 1999-08-06 | 2003-03-18 | Vcom3D, Incorporated | Method for animating 3-D computer generated characters |
US6626759B1 (en) * | 2000-06-05 | 2003-09-30 | Kabushiki Kaisha Square Enix | Game apparatus, method for displaying motion of character, and computer readable recording medium for recording program used to display motion of character |
US20040012594A1 (en) * | 2002-07-19 | 2004-01-22 | Andre Gauthier | Generating animation data |
US20040160445A1 (en) * | 2002-11-29 | 2004-08-19 | Whatmough Kenneth J. | System and method of converting frame-based animations into interpolator-based animations |
US6976918B2 (en) * | 2000-01-24 | 2005-12-20 | Konami Corporation | Video game that interpolates between animated segments to create new segments |
US7012608B1 (en) * | 2001-08-02 | 2006-03-14 | Iwao Fujisaki | Simulation device |
US20060061574A1 (en) * | 2003-04-25 | 2006-03-23 | Victor Ng-Thow-Hing | Joint component framework for modeling complex joint behavior |
US20060139355A1 (en) * | 2004-12-27 | 2006-06-29 | Seyoon Tak | Physically based motion retargeting filter |
US20060181535A1 (en) * | 2003-07-22 | 2006-08-17 | Antics Technologies Limited | Apparatus for controlling a virtual environment |
US7106334B2 (en) * | 2001-02-13 | 2006-09-12 | Sega Corporation | Animation creation program |
US7104890B2 (en) * | 2002-07-30 | 2006-09-12 | Koei Co., Ltd. | Program, recording medium, game character rendering method, and game apparatus |
US7126607B2 (en) * | 2002-08-20 | 2006-10-24 | Namco Bandai Games, Inc. | Electronic game and method for effecting game features |
US20060274070A1 (en) * | 2005-04-19 | 2006-12-07 | Herman Daniel L | Techniques and workflows for computer graphics animation system |
US7168953B1 (en) * | 2003-01-27 | 2007-01-30 | Massachusetts Institute Of Technology | Trainable videorealistic speech animation |
US20070024632A1 (en) * | 2005-07-29 | 2007-02-01 | Jerome Couture-Gagnon | Transfer of attributes between geometric surfaces of arbitrary topologies with distortion reduction and discontinuity preservation |
US7221380B2 (en) * | 2003-05-14 | 2007-05-22 | Pixar | Integrated object bend, squash and stretch method and apparatus |
US7251593B2 (en) * | 2001-10-29 | 2007-07-31 | Honda Giken Kogyo Kabushiki Kaisha | Simulation system, method and computer-readable medium for human augmentation devices |
US7253817B1 (en) * | 1999-12-29 | 2007-08-07 | Virtual Personalities, Inc. | Virtual human interface for conducting surveys |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09330424A (en) | 1996-06-07 | 1997-12-22 | Matsushita Electric Ind Co Ltd | Movement converter for three-dimensional skeleton structure |
US5852450A (en) * | 1996-07-11 | 1998-12-22 | Lamb & Company, Inc. | Method and apparatus for processing captured motion data |
JP2903303B2 (en) * | 1996-09-03 | 1999-06-07 | 株式会社モノリス | Animation processing method and its application |
JPH11185055A (en) | 1997-12-24 | 1999-07-09 | Fujitsu Ltd | Motion data preparing device and storage medium storing program therefor |
US6215496B1 (en) * | 1998-07-23 | 2001-04-10 | Microsoft Corporation | Sprites with depth |
US6326972B1 (en) * | 1998-08-21 | 2001-12-04 | Pacific Data Images, Inc. | 3D stroke-based character modeling suitable for efficiently rendering large crowds |
US6504541B1 (en) * | 1998-10-21 | 2003-01-07 | Tele Atlas North America, Inc. | Warping geometric objects |
US6552729B1 (en) * | 1999-01-08 | 2003-04-22 | California Institute Of Technology | Automatic generation of animation of synthetic characters |
US6504546B1 (en) * | 2000-02-08 | 2003-01-07 | At&T Corp. | Method of modeling objects to synthesize three-dimensional, photo-realistic animations |
US6522332B1 (en) * | 2000-07-26 | 2003-02-18 | Kaydara, Inc. | Generating action data for the animation of characters |
US7225129B2 (en) * | 2000-09-21 | 2007-05-29 | The Regents Of The University Of California | Visual display methods for in computer-animated speech production models |
US6888549B2 (en) * | 2001-03-21 | 2005-05-03 | Stanford University | Method, apparatus and computer program for capturing motion of a cartoon and retargetting the motion to another object |
US7102647B2 (en) * | 2001-06-26 | 2006-09-05 | Microsoft Corporation | Interactive horizon mapping |
US20030193503A1 (en) * | 2002-04-10 | 2003-10-16 | Mark Seminatore | Computer animation system and method |
US6822653B2 (en) * | 2002-06-28 | 2004-11-23 | Microsoft Corporation | Methods and system for general skinning via hardware accelerators |
TW587389B (en) * | 2002-08-23 | 2004-05-11 | Bextech Inc | Method and apparatus of capturing images |
US7068277B2 (en) * | 2003-03-13 | 2006-06-27 | Sony Corporation | System and method for animating a digital facial model |
US20040227761A1 (en) * | 2003-05-14 | 2004-11-18 | Pixar | Statistical dynamic modeling method and apparatus |
US7493243B2 (en) * | 2004-12-27 | 2009-02-17 | Seoul National University Industry Foundation | Method and system of real-time graphical simulation of large rotational deformation and manipulation using modal warping |
US7298374B2 (en) * | 2005-08-02 | 2007-11-20 | Sony Computer Entertainment America Inc. | Scheme for providing wrinkled look in computer simulation of materials |
-
2005
- 2005-05-20 US US11/134,653 patent/US20060262119A1/en not_active Abandoned
-
2006
- 2006-05-10 CA CA 2546541 patent/CA2546541A1/en not_active Abandoned
- 2006-05-12 JP JP2006133232A patent/JP2006331417A/en active Pending
- 2006-05-19 EP EP06252636A patent/EP1724728A2/en not_active Withdrawn
-
2008
- 2008-07-22 US US12/220,254 patent/US8952969B2/en active Active
Patent Citations (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6166746A (en) * | 1994-07-21 | 2000-12-26 | Matsushita Electric Industrial Co., Ltd. | Three-dimensional image processing apparatus for jointed objects |
US5767861A (en) * | 1994-08-11 | 1998-06-16 | Kabushiki Kaisha Sega Enterprises | Processing apparatus and method for displaying a moving figure constrained to provide appearance of fluid motion |
US6203425B1 (en) * | 1996-02-13 | 2001-03-20 | Kabushiki Kaisha Sega Enterprises | Image generating device, method thereof, game device and storage medium |
US20010004262A1 (en) * | 1997-08-01 | 2001-06-21 | Matsushita Electric Industrial Co. Ltd. | Motion data generation apparatus, motion data generation method, and motion data generation program storage medium |
US6535218B1 (en) * | 1998-05-21 | 2003-03-18 | Mitsubishi Electric & Electronics Usa, Inc. | Frame buffer memory for graphic processing |
US6535215B1 (en) * | 1999-08-06 | 2003-03-18 | Vcom3D, Incorporated | Method for animating 3-D computer generated characters |
US7253817B1 (en) * | 1999-12-29 | 2007-08-07 | Virtual Personalities, Inc. | Virtual human interface for conducting surveys |
US6976918B2 (en) * | 2000-01-24 | 2005-12-20 | Konami Corporation | Video game that interpolates between animated segments to create new segments |
US6503144B1 (en) * | 2000-01-28 | 2003-01-07 | Square Co., Ltd. | Computer readable program product storing program for ball-playing type game, said program, and ball-playing type game processing apparatus and method |
US6697071B2 (en) * | 2000-01-28 | 2004-02-24 | Kabushiki Kaisha Square Enix | Method, game machine and recording medium for displaying motion in a video game |
US20020050997A1 (en) * | 2000-01-28 | 2002-05-02 | Square Co., Ltd. | Method, game machine and recording medium for displaying motion in a video game |
US6377281B1 (en) * | 2000-02-17 | 2002-04-23 | The Jim Henson Company | Live performance control of computer graphic characters |
US6626759B1 (en) * | 2000-06-05 | 2003-09-30 | Kabushiki Kaisha Square Enix | Game apparatus, method for displaying motion of character, and computer readable recording medium for recording program used to display motion of character |
US20020067363A1 (en) * | 2000-09-04 | 2002-06-06 | Yasunori Ohto | Animation generating method and device, and medium for providing program |
US7106334B2 (en) * | 2001-02-13 | 2006-09-12 | Sega Corporation | Animation creation program |
US7012608B1 (en) * | 2001-08-02 | 2006-03-14 | Iwao Fujisaki | Simulation device |
US7251593B2 (en) * | 2001-10-29 | 2007-07-31 | Honda Giken Kogyo Kabushiki Kaisha | Simulation system, method and computer-readable medium for human augmentation devices |
US20040012594A1 (en) * | 2002-07-19 | 2004-01-22 | Andre Gauthier | Generating animation data |
US7104890B2 (en) * | 2002-07-30 | 2006-09-12 | Koei Co., Ltd. | Program, recording medium, game character rendering method, and game apparatus |
US7126607B2 (en) * | 2002-08-20 | 2006-10-24 | Namco Bandai Games, Inc. | Electronic game and method for effecting game features |
US20040160445A1 (en) * | 2002-11-29 | 2004-08-19 | Whatmough Kenneth J. | System and method of converting frame-based animations into interpolator-based animations |
US7168953B1 (en) * | 2003-01-27 | 2007-01-30 | Massachusetts Institute Of Technology | Trainable videorealistic speech animation |
US20060061574A1 (en) * | 2003-04-25 | 2006-03-23 | Victor Ng-Thow-Hing | Joint component framework for modeling complex joint behavior |
US7221380B2 (en) * | 2003-05-14 | 2007-05-22 | Pixar | Integrated object bend, squash and stretch method and apparatus |
US20060181535A1 (en) * | 2003-07-22 | 2006-08-17 | Antics Technologies Limited | Apparatus for controlling a virtual environment |
US20060139355A1 (en) * | 2004-12-27 | 2006-06-29 | Seyoon Tak | Physically based motion retargeting filter |
US20060274070A1 (en) * | 2005-04-19 | 2006-12-07 | Herman Daniel L | Techniques and workflows for computer graphics animation system |
US20070024632A1 (en) * | 2005-07-29 | 2007-02-01 | Jerome Couture-Gagnon | Transfer of attributes between geometric surfaces of arbitrary topologies with distortion reduction and discontinuity preservation |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070013700A1 (en) * | 2005-07-13 | 2007-01-18 | Digitalaria Co., Ltd. | Mobile communication terminal having function of animating input characters |
US20070024632A1 (en) * | 2005-07-29 | 2007-02-01 | Jerome Couture-Gagnon | Transfer of attributes between geometric surfaces of arbitrary topologies with distortion reduction and discontinuity preservation |
US7760201B2 (en) | 2005-07-29 | 2010-07-20 | Autodesk, Inc. | Transfer of attributes between geometric surfaces of arbitrary topologies with distortion reduction and discontinuity preservation |
US20080024487A1 (en) * | 2006-07-31 | 2008-01-31 | Michael Isner | Converting deformation data for a mesh to animation data for a skeleton, skinning and shading in a runtime computer graphics animation engine |
US20080024503A1 (en) * | 2006-07-31 | 2008-01-31 | Smith Jeffrey D | Rigless retargeting for character animation |
US20090184969A1 (en) * | 2006-07-31 | 2009-07-23 | Smith Jeffrey D | Rigless retargeting for character animation |
US7859538B2 (en) | 2006-07-31 | 2010-12-28 | Autodesk, Inc | Converting deformation data for a mesh to animation data for a skeleton, skinning and shading in a runtime computer graphics animation engine |
US8094156B2 (en) * | 2006-07-31 | 2012-01-10 | Autodesk Inc. | Rigless retargeting for character animation |
US8194082B2 (en) | 2006-07-31 | 2012-06-05 | Autodesk, Inc. | Rigless retargeting for character animation |
US8643654B1 (en) * | 2008-02-22 | 2014-02-04 | Pixar | Transfer of rigs with temporal coherence |
US9947123B1 (en) | 2008-02-22 | 2018-04-17 | Pixar | Transfer of rigs with temporal coherence |
US20220058848A1 (en) * | 2020-11-30 | 2022-02-24 | Beijing Baidu Netcom Science Technology Co., Ltd. | Virtual avatar driving method and apparatus, device, and storage medium |
Also Published As
Publication number | Publication date |
---|---|
US8952969B2 (en) | 2015-02-10 |
CA2546541A1 (en) | 2006-11-20 |
JP2006331417A (en) | 2006-12-07 |
US20080303831A1 (en) | 2008-12-11 |
EP1724728A2 (en) | 2006-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8952969B2 (en) | Transfer of motion between animated characters | |
US8094156B2 (en) | Rigless retargeting for character animation | |
Klinker et al. | Augmented maintenance of powerplants: A prototyping case study of a mobile AR system | |
Klemmer et al. | Papier-Mache: toolkit support for tangible input | |
US8860731B1 (en) | Refining animation | |
Liao et al. | Skeleton-free pose transfer for stylized 3D characters | |
Kojekine et al. | Real-time 3D Deformations by Means of Compactly Supported Radial Basis Functions. | |
US20130235043A1 (en) | Systems and Methods for Creating, Displaying, and Using Hierarchical Objects with Rigid Bodies | |
Uk Kim et al. | A variational U‐Net for motion retargeting | |
US11302052B2 (en) | Forced contiguous data for execution of evaluation logic used in animation control | |
Montag et al. | CindyGL: authoring GPU-based interactive mathematical content | |
US8683429B2 (en) | Systems and methods for runtime control of hierarchical objects | |
François | Software architecture for computer vision: Beyond pipes and filters | |
CN114494542A (en) | Character driving animation method and system based on convolutional neural network | |
JP2842283B2 (en) | Video presentation method and apparatus | |
JP5210401B2 (en) | Efficient styling of motion databases based on examples | |
Rajendran et al. | Virtual character animation based on data-driven motion capture using deep learning technique | |
Li et al. | Two-Person Interaction Augmentation with Skeleton Priors | |
Patel et al. | TraceMove: A Data-assisted Interface for Sketching 2D Character Animation. | |
Tu et al. | An automatic base expression selection algorithm based on local blendshape model | |
Lu et al. | Motion Transition Based on Bézier Quaternion Curve | |
CA3186957A1 (en) | Operating animation controls using evaluation logic | |
Patel et al. | Sketching 2D Character Animation Using a Data-Assisted Interface | |
Regin et al. | Automation for Video Action Recognition on Image Processing | |
Montgomery et al. | A Distributed Augmented Reality System Using 3D Fiducial Objects |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: AVID TECHNOLOGY, INC., MASSACHUSETTS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ISNER, MICHAEL;REEL/FRAME:020453/0754 Effective date: 20050607 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: AUTODESK, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:AVID TECHNOLOGY, INC.;REEL/FRAME:021962/0974 Effective date: 20081117 Owner name: AUTODESK, INC.,CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:AVID TECHNOLOGY, INC.;REEL/FRAME:021962/0974 Effective date: 20081117 |