Live performance control of computer graphic characters
First Claim
1. A method of performing a computer graphic character live, comprising the steps of:
- creating and storing character representation information in a first computer, the character representation information comprising information referencing one or more control data, each control data configured to represent a position of a manual input device used to manipulate the computer graphic character;
information referencing one or more virtual actuator data configured to represent a position of a specified portion of the computer graphic character, each virtual actuator data associated with a communication channel over which one of the control data is received;
one or more expression information, each expression information associated with a physical movement of the computer graphic character specified by one of the control data and executed by one or more corresponding virtual actuator data and configured to associate the one of the control data with the physical movement of the computer graphic character;
receiving, at the first computer, performer movement information from the manual input device that receives live manual manipulations that are homologous to a puppetry performance and converts the manipulations into the performer movement information;
creating and storing character motion information based on combining the performer movement information with the character representation information;
receiving the character motion information at a second computer;
displaying the computer graphic character substantially synchronized to the live manual manipulations using the second computer and based on the character motion information.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus are provided for performing a computer graphic character live in a manner homologous to a live puppetry performance. Character representation information is created and stored using a first computer. Performer movement information is received at the first computer from a manual input device that receives live manual manipulations and converts the manipulations into the performer movement information. Character motion information is created and stored based on combining the performer movement information with the character representation information. The character motion information is communicated in real time to a second computer. The second computer converts the character motion information into movements of a computer graphic character, which is displayed substantially synchronized to the live manual manipulations. Control objects define elements of the manual input device. Actuators define movable elements of the computer graphic character. Expression objects tie controls to actuators and may be used to develop and store complex character expressions. The system may also drive robotic or electromechanically actuated puppet creatures.
118 Citations
28 Claims
-
1. A method of performing a computer graphic character live, comprising the steps of:
-
creating and storing character representation information in a first computer, the character representation information comprising information referencing one or more control data, each control data configured to represent a position of a manual input device used to manipulate the computer graphic character;
information referencing one or more virtual actuator data configured to represent a position of a specified portion of the computer graphic character, each virtual actuator data associated with a communication channel over which one of the control data is received;
one or more expression information, each expression information associated with a physical movement of the computer graphic character specified by one of the control data and executed by one or more corresponding virtual actuator data and configured to associate the one of the control data with the physical movement of the computer graphic character;
receiving, at the first computer, performer movement information from the manual input device that receives live manual manipulations that are homologous to a puppetry performance and converts the manipulations into the performer movement information;
creating and storing character motion information based on combining the performer movement information with the character representation information;
receiving the character motion information at a second computer;
displaying the computer graphic character substantially synchronized to the live manual manipulations using the second computer and based on the character motion information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
wherein the character representation information includes expression information defining one or more pre-configured character expressions; - and
wherein the step of creating and storing character motion information comprises creating and storing character motion information based on combining the performer movement information with the expression information.
-
-
3. A method as recited in claim 1:
-
wherein the character representation information comprises;
control information defining a channel, group membership, limits, polarity, interface type, and motion value that may be associated with an expression that generates the movement information; and
expression information defining one or more pre-configured character expressions that generate motion values associated with an actuator; and
wherein the step of creating and storing character motion information comprises creating and storing character motion information based on combining the performer movement information with the expression information.
-
-
4. A method as recited in claim 1, wherein the step of creating and storing character motion information based on combining the performer movement information with the character representation information comprises the steps of:
-
creating and storing, in association with an expression generator, expression information defining one or more pre-defined character expressions;
receiving the performer movement information at the expression generator;
converting the performer movement information into the character motion information by applying the performer movement information to the expression information, which affects the motion value associated with actuators.
-
-
5. A method as recited in claim 1, wherein the step of creating and storing character motion information based on combining the performer movement information with the character representation information comprises the steps of:
-
creating and storing, in association with an expression generator, expression information defining one or more pre-defined character expressions, wherein each character expression comprises information defining changes in a visual appearance of parts of one of the characters to carry out in response to particular movement;
receiving the performer movement information at the expression generator;
converting the performer movement information into the character motion information by applying the performer movement information to the expression information.
-
-
6. A method as recited in claim 1, wherein the step of creating and storing character motion information based on combining the performer movement information with the character representation information comprises the steps of:
-
creating and storing, in association with an expression generator, one or more expression groups, in which each expression group comprises a plurality of sets of expression information, each set of expression information defining a pre-defined character expression that comprises information defining changes in a visual appearance of parts of one or more characters to carry out in response to particular movement;
receiving the performer movement information at the expression generator;
converting the performer movement information into the character motion information by concurrently applying the performer movement information to all the expression information of an expression group.
-
-
7. A method as recited in claim 1, wherein the step of creating and storing character motion information based on combining the performer movement information with the character representation information comprises the steps of:
-
creating and storing, in association with an expression generator, one or more control groups, each comprising a plurality of control objects that drives an expression of the character, each expression associated with and driving one or more actuators of elements of the character, wherein the expressions define a pre-defined character expression that comprises information defining changes in a visual appearance of parts of one or more characters to carry out in response to particular movement;
receiving the performer movement information at the expression generator;
converting the performer movement information into the character motion information by concurrently applying the performer movement information to all the control objects of a control group.
-
-
8. A method as recited in claim 1, wherein the step of creating and storing character motion information based on combining the performer movement information with the character representation information comprises the steps of:
-
creating and storing one or more actuator groups, in which each actuator group comprises a plurality of sets of actuator information, each set of expression information defining a pre-defined movable element of a character expression that results in changes in a visual appearance of parts of one or more characters when the actuator is actuated;
receiving the performer movement information at the expression generator;
converting the performer movement information into the character motion information by concurrently applying the performer movement information to all the actuator information of an actuator group.
-
-
9. A method as recited in claim 1, the character representation information includes expression information defining one or more pre-configured character expressions, and wherein the step of creating and storing character motion information comprises creating and storing character motion information based on combining the performer movement information with each of the expressions according to control channel assignments.
-
10. A method as recited in claim 1, the character representation information includes expression information defining one or more pre-configured character expressions, wherein each of the expressions comprises a list of character poses, and wherein the step of creating and storing character motion information comprises creating and storing character motion information by looking up a character motion value for a single channel of character motion information in a dataset defined by a set of poses and then combining the character motion value with character motion information of the expressions affecting the same actuator.
-
11. A method as recited in claim 1, further comprising the steps of:
-
creating and storing first character motion information as recorded performance information that captures a first live performance of the character;
receiving second character motion information that represents live manual manipulations of the manual input device during a second live performance of the character;
combining the first character motion information and the second character motion information to generate a current display of the computer graphic character substantially synchronized to the live manual manipulations using the second computer and based on the combined character motion information.
-
-
12. A method as recited in step 1, wherein the character motion information can be captured, manipulated and played back, thereby resulting in creating and storing recorded performance information, in coordination with character representation information, to effect computer generated performance of part, or all of a character in synchronization with a sound recording.
-
13. A method of performing a computer graphic character, comprising the steps of:
-
creating and storing character representation information in a computer, the character representation information comprising information referencing one or more control data, each control data configured to represent a position of a manual input device used to manipulate the computer graphic character;
information referencing one or more virtual actuator data configured to represent a position of a specified portion of the computer graphic character, each virtual actuator data associated with a communication channel over which one of the control data is received;
one or more expression information, each expression information associated with a physical movement of the computer graphic character specified by one of the control data and executed by one or more corresponding virtual actuator data and con figured to associate the one of the control data with the physical movement of the computer graphic character;
receiving, at the computer, performer movement information from a manual input device that receives live manual manipulations that are homologous to a puppetry performance;
creating and storing character motion information based on combining the performer movement information with the character representation information;
displaying the computer graphic character substantially synchronized to the live manual manipulations using the computer and based on the character motion information.
-
-
14. A computer system providing live performance control of one or more computer graphic characters, comprising:
-
a first computer comprising a character document that defines attributes of one or more characters and an expression generator that creates and stores character motion information based on attributes in the character documents, the character document comprising information referencing one or more control data, each control data configured to represent a position of a manual input device used to manipulate the computer graphic character;
information referencing one or more virtual actuator data configured to represent a position of a specified portion of the computer graphic character, each virtual actuator data associated with a communication channel over which one of the control data is received;
one or more expression information, each expression information associated with a physical movement of the computer graphic character specified by one of the control data and executed by one or more corresponding virtual actuator data and configured to associate the one of the control data with the physical movement of the computer graphic character;
a transducer apparatus coupled to the first computer to provide digital information representing movement to the first computer as the transducer apparatus is moved homologous to a puppetry performance;
a second computer coupled to the first computer and comprising a character generating element configured to generate display information depicting the one or more computer graphic characters in response to and based on the digital information and the character motion information;
a graphic display device coupled to the second computer and configured to display the computer graphic characters using the display information. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22)
a multiplexer configured to receive analog signals from the transducer potentiometers and to generate a multiplexed analog output signal therefrom;
an analog-to-digital converter configured to receive the multiplexed analog output signal from the multiplexer and to generate the digital information therefrom.
-
-
18. A computer system as recited in claim 14, further comprising a control program in the first computer and a character generator program in the second computer which, when executed by the computers, cause the computers to carry out the steps of:
-
creating and storing character representation information in a first computer;
receiving, at the first computer, performer movement information from a manual input device that receives live manual manipulations;
creating and storing character motion information based on combining the performer movement information with the character representation information;
receiving the character motion information at a second computer;
displaying the computer graphic character substantially synchronized to the live manual manipulations using the second computer and based on the character motion information.
-
-
19. A computer system as recited in claim 18, wherein:
-
the character representation information includes expression information defining one or more pre-configured character expressions; and
the step of creating and storing character motion information comprises creating and storing character motion information based on combining the performer movement information with the expression information.
-
-
20. A computer system as recited in claim 18, wherein:
-
the character representation information comprises;
control information defining a channel, limits, polarity, interface type, group membership, and motion value associated with one or more expressions that generate character motion information; and
expressions that contain a control and one or more actuators;
wherein the actuators each define a channel, limits, group membership, tuning values, and nonlinear scaling; and
the step of creating and storing character motion information comprises creating and storing character motion information based on combining the performer movement information with the expression information.
-
-
21. A computer system as recited in claim 18, wherein the step of creating and storing character motion information based on combining the performer movement information with the character representation information comprises the steps of:
-
creating and storing, in association with an expression generator, expression information defining one or more pre-defined character expressions;
receiving the performer movement information at the expression generator;
converting the performer movement information into the character motion information by applying the performer movement information to the expression information.
-
-
22. A computer system as recited in claim 18, wherein the step of creating and storing character motion information based on combining the performer movement information with the character representation information comprises the steps of:
-
creating and storing, in association with an expression generator, expression information defining one or more pre-defined character expressions, wherein each character expression comprises information defining changes in a visual appearance of parts of one of the characters to carry out in response to particular movement;
receiving the performer movement information at the expression generator;
converting the performer movement information into the character motion information by applying the performer movement information to the expression information.
-
-
23. A computer system providing live performance control of computer graphic characters, comprising:
-
a computer that stores one or more character documents that define attributes of the characters and comprising an expression generator that creates and stores character motion information based on attributes in the character documents, the character document comprising information referencing one or more control data, each control data configured to represent a position of a manual input device used to manipulate the computer graphic character;
information referencing one or more virtual actuator data configured to represent a position of a specified portion of the computer graphic character, each virtual actuator data associated with a communication channel over which one of the control data is received;
one or more expression information, each expression information associated with a physical movement of the computer graphic character specified by one of the control data and executed by one or more corresponding virtual actuator data and configured to associate the one of the control data with the physical movement of the computer graphic character;
a transducer apparatus coupled to the computer to provide digital information representing movement to the computer as the transducer apparatus is moved homologous to a puppetry performance;
a character generating element in the computer that is configured to generate display information depicting the computer graphic characters in response to and based on the digital information and the character motion information received via a local communications link;
a graphic display device coupled to the computer and configured to display the computer graphic characters using the display information and using a character generation application and a 3D display application.
-
-
24. A computer system providing live performance control of computer graphic characters, comprising:
-
a computer that stores a character document that defines attributes of one or more characters and comprising an expression generator that creates and stores character motion information based on attributes in the character document, the character document comprising information referencing one or more control data, each control data configured to represent a position of a manual input device used to manipulate the computer graphic character;
information referencing one or more virtual actuator data configured to represent a position of a specified portion of the computer graphic character, each virtual actuator data associated with a communication channel over which one of the control data is received;
one or more expression information, each expression information associated with a physical movement of the computer graphic character specified by one of the control data and executed by one or more corresponding virtual actuator data and configured to associate the one of the control data with the physical movement of the computer graphic character;
a character generating element in the computer that is configured to generate display information depicting the computer graphic characters in response to and based on the character motion information and digital information that is received from a transducer apparatus coupled to the computer, wherein the digital information represents movement to the computer as the transducer apparatus is moved homologous to a puppetry performance;
a graphic display device coupled to the computer and configured to display the computer graphic characters using the display information.
-
-
25. A computer-readable medium carrying one or more sequences of instructions for performing a computer graphic character live, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
-
creating and storing character representation information in a first computer, the character representation information comprising information referencing one or more control data, each control data configured to represent a position of a manual input device used to manipulate the computer graphic character;
information referencing one or more virtual actuator data configured to represent a position of a specified portion of the computer graphic character, each virtual actuator data associated with a communication channel over which one of the control data is received;
one or more expression information, each expression information associated with a physical movement of the computer graphic character specified by one of the control data and executed by one or more corresponding virtual actuator data and configured to associate the one of the control data with the physical movement of the computer graphic character;
receiving, at the first computer, performer movement information from a manual input device that receives live manual manipulations homologous to a puppetry performance;
creating and storing character motion information based on combining the performer movement information with the character representation information;
receiving the character motion information at a second computer;
displaying the computer graphic character substantially synchronized to the live manual manipulations using the second computer and based on the character motion information.
-
-
26. A method of producing a motion picture that includes a performance of a computer graphic character, comprising the steps of:
-
creating and storing character representation information in a first computer, the character representation information comprising information referencing one or more control data, each control data configured to represent a position of a manual input device used to manipulate the computer graphic character;
information referencing one or more virtual actuator data configured to represent a position of a specified portion of the computer graphic character, each virtual actuator data associated with a communication channel over which one of the control data is received;
one or more expression information, each expression information associated with a physical movement of the computer graphic character specified by one of the control data and executed by one or more corresponding virtual actuator data and configured to associate the one of the control data with the physical movement of the computer graphic character;
receiving, at the first computer, performer movement information from a manual input device that receives live manual manipulations homologous to a puppetry performance and converts the manipulations into the performer movement information;
creating and storing character motion information based on combining the performer movement information with the character representation information;
receiving the character motion information at a second computer;
creating and storing a motion picture medium that includes a display of the computer graphic character substantially synchronized to the live manual manipulations using the second computer and based on the character motion information.
-
-
27. A method of creating and storing information that defines a computer graphic character, comprising the steps of:
-
creating and storing character representation information in a first computer, the character representation information comprising information referencing one or more control data, each control data configured to represent a position of a manual input device used to manipulate the computer graphic character;
information referencing one or more virtual actuator data configured to represent a position of a specified portion of the computer graphic character, each virtual actuator data associated with a communication channel over which one of the control data is received;
one or more expression information, each expression information associated with a physical movement of the computer graphic character specified by one of the control data and executed by one or more corresponding virtual actuator data and configured to associate the one of the control data with the physical movement of the computer graphic character;
receiving, at the first computer, performer movement information from a manual input device that receives live manual manipulations homologous to a puppetry performance and converts the manipulations into the performer movement information;
creating and storing character motion information based on combining the performer movement information with the character representation information;
receiving the character motion information at a second computer;
creating and storing a character model based on a display of the computer graphic character that is substantially synchronized to the live manual manipulations using the second computer and based on the character motion information.
-
-
28. A computer system comprising:
-
a first computer comprising;
a network interface;
a memory;
one or more processors connected to the network interface;
the one or more processors configured forcreating and storing character representation information, the character representation information comprising information referencing one or more control data, each control data configured to represent a position of a manual input device used to manipulate the computer graphic character;
information referencing one or more virtual actuator data configured to represent a position of a specified portion of the computer graphic character, each virtual actuator data associated with a communication channel over which one of the control data is received;
one or more expression information, each expression information associated with a physical movement of the computer graphic character specified by one of the control data and executed by one or more corresponding virtual actuator data and configured to associate the one of the control data with the physical movement of the computer graphic character;
receiving performer movement information from a manual input device that receives live manual manipulations homologous to a puppetry performance;
creating and storing character motion information based on combining the performer movement information with the character representation information;
a second computer comprising;
a network interface;
a memory;
one or more processors connected to the network interface;
the one or more processors configured forreceiving the character motion information;
displaying the computer graphic character substantially synchronized to the live manual manipulations based on the character motion information.
-
Specification