Claims
- 1. A method for controlling a synthetic character using a control system comprising:
displaying the character engaged in an activity; receiving a first input from a user; determining whether the input is relevant to the activity; and if the input is relevant to the activity, showing the character react to the input; wherein the character is highly expressive and highly reactive.
- 2. The method of claim 1, wherein the character has a specified personality.
- 3. The method of claim 1, further comprising changing a characteristic of a user avatar in response to the user input, wherein determining whether the input is relevant to the activity comprises determining whether the change in the characteristic of the user avatar is relevant to the activity.
- 4. The method of claim 1, wherein displaying the character comprises displaying an animated character on a display screen.
- 5. The method of claim 1, wherein displaying the character comprises controlling a robotic embodiment of the character.
- 6. The method of claim 1, wherein showing the character react to the input comprises having the character look out of the screen or at an avatar.
- 7. The method of claim 1, wherein showing the character react to the input comprises changing the emotional expression of the character to correspond to a first emotion.
- 8. The method of claim 7, wherein changing the emotional expression comprises changing the facial expression of the character.
- 9. The method of claim 7, wherein changing the emotional expression comprises changing the tone of the character's voice.
- 10. The method of claim 7, wherein changing the emotional expression comprises changing the speed of motion of the character.
- 11. The method of claim 7, wherein changing the emotional expression comprises changing the body posture of the character.
- 12. The method of claim 7, further comprising:
over a period of time, after changing the emotional expression of the character, gradually altering the appearance of the character to diminish the expression of the emotion by the character.
- 13. The method of claim 7, further comprising:
receiving a second input from the user after receiving the first input; determining whether the second input is relevant to the activity; and if the input is relevant to the activity, changing the emotional expression of the character to correspond to a combination of the first emotional expression and a second emotional expression.
- 14. A method for displaying a synthetic character comprising:
providing speech data; creating modified speech data by modifying at least one of the pitch or duration of at least a portion of the speech data; generating modified speech sounds associated with the character using the modified speech data.
- 15. The method of claim 14, wherein modifying at least a portion of the speech data comprises modifying the speech data with respect to at least selected portions of the frequency spectrum.
- 16. The method of claim 14, wherein displaying the synthetic character comprises displaying an animated character on a display screen.
- 17. The method of claim 14, wherein displaying the synthetic character comprises providing a robotic embodiment of the character.
- 18. The method of claim 14, wherein creating modified speech data comprises modifying at least two of the pitch, duration or volume of at least a portion of the speech data.
- 19. The method of claim 14, wherein the speech data is modified in real time.
- 20. The method of claim 14 or 17 wherein the at least a portion of the speech data comprises data representing at least one complete word of speech.
- 21. The method of claim 14 or 17 wherein the at least a portion of the speech data comprises data representing at least two contiguous words of speech.
- 22. The method of claim 14, further comprising:
receiving an input from a user; modifying the display of the character based on the user input.
- 23. The method of claim 22, further comprising displaying a user avatar; and
changing a characteristic of the user avatar in response to the input from the user, wherein modifying the display of the character based on the user input comprises modifying the display of the character based on the change in the characteristic of the user avatar.
- 24. The method of claim 22, wherein the characters are fully autonomous.
- 25. The method of claim 22, further comprising selecting the speech data or the modification of the speech data based on the user input.
- 26. The method of claim 14, further comprising:
providing motion data describing a motion of the character; modifying the motion data in real time; and displaying the character according to the modified motion data.
- 27. The method of claim 26, wherein modifying the motion data comprises:
generating motion data for coordinating the display of the character with the generation of the modified speech sounds.
- 28. The method of claim 26, wherein the displaying of the character is tightly coupled with the generated speech sounds.
- 29. The method of claim 14, wherein creating the modified speech data comprises:
providing first sample speech data; providing second sample speech data; comparing the first sample speech data and the second sample speech data; and using the results of the comparison to create the modified speech data.
- 30. The method of claim 14, further comprising generating a function of one or more parameters of the speech data; and
wherein creating the modified speech data comprises applying the function to at least a portion of the speech data.
- 31. The method of claim 30, wherein generating the modification function comprises providing a first base function of the one or more parameters, selecting, from a continuous range of values, a weighting factor, and generating the modification function using the base function and the weighting factor.
- 32. The method of claim 30, wherein applying the modification function to at least a portion of the speech data comprises providing a first base function of the one or more parameters, selecting, from a continuous range of values, a weighting factor, and using the first base function and the weighting factor to modify the speech data.
- 33. The method of claim 31, wherein the base function represents a modification of the characteristics of the speech data with respect to at least one of the characteristics in the group inflection, emphasis, emotional quality, stylistic quality, and accent, and wherein the modification function represents a different degree of modification of the at least one characteristic than the base function.
- 34. The method of claim 32, wherein the base function represents a modification of the characteristics of the speech data with respect to at least one of the characteristics in the group inflection, emphasis, emotional quality, stylistic quality, and accent, and wherein using the first base function and the weighting factor to modify the speech data results in a different degree of modification of the at least one characteristic than the base function.
- 35. The method of claim 33, wherein the at least one characteristic is sadness or happiness.
- 36. A method for modifying speech data comprising:
providing first sample speech data; providing second sample speech data; comparing the first sample speech data and the second sample speech data; and using the results of the comparison to create modified speech data.
- 37. The method of claim 36, wherein the comparing step comprises generating a function of one or more parameters of the speech data and wherein creating the modified speech data comprises modifying at least a portion of the speech data based on the function.
- 38. The method of claim 37, wherein modifying at least a portion of the speech data based on the function comprises applying the function to the speech data.
- 39. The method of claim 36, wherein the first sample speech data and the second sample speech data are representations of the same utterance.
- 40. The method of claim 36, wherein creating the modified speech data comprises:
modifying any one of the group: pitch of the speech data or duration of the speech data.
- 41. The method of claim 36, wherein creating the modified speech data comprises:
modifying any two of the group pitch, duration and volume of the speech data.
- 42. The method of claim 39 wherein the first sample speech data and the second sample speech data differ in at least one of the following qualities: inflection, emphasis, emotional quality, stylistic quality, accent.
- 43. The method of claim 14, wherein the modified speech data differs from the speech data in at least one of the following qualities: inflection, emphasis, emotional quality, stylistic quality, or accent.
- 44. The method of claim 37, further comprising:
generating a second function of one or more parameters of the speech data and wherein creating the modified speech data further comprises modifying the speech data based on the first function and the second function.
- 45. The method of claim 44, wherein the first function and the second function each modify at least one of the group of inflection, emphasis, emotional quality, stylistic quality, or accent of the speech data.
- 46. The method of claim 44, wherein modifying the speech data based on the first function and the second function comprises generating a third function based on the first function and the second function and applying the third function to the speech data.
- 47. The method of claim 31, wherein generating the modification function further comprises providing a second base function of the one or more parameters, selecting, from a continuous range of values, a second weighting factor, and generating the modification function using the second base function and the second weighting factor.
- 48. The method of claim 32, wherein applying the modification function to at least a portion of the speech data comprises providing a second base function of the one or more parameters, selecting, from a continuous range of values, a second weighting factor, and using the second base function and the second weighting factor to modify the speech data.
- 49. The method of claim 47, wherein the base function and the second base function each represent a modification of the characteristics of the speech data with respect to at least one of the characteristics in the group inflection, emphasis, emotional quality, stylistic quality, and accent, and wherein the modification function represents a different degree of modification of the at least one characteristic than the base function or the second base function.
- 50. The method of claim 48, wherein the base function and the second base function each represent a modification of the characteristics of the speech data with respect to at least one of the characteristics in the group inflection, emphasis, emotional quality, stylistic quality, and accent, and wherein using the second base function and the second weighting factor to modify the speech data results in a different degree of modification of the at least one characteristic than the second base function.
- 51. The method of claim 14, further comprising:
providing distortion limits for limiting the modification of the speech data; computing modification parameters for modifying the speech data; comparing the modification parameters to the distortion limits; and modifying the modification parameters if they exceed any of the distortion limits.
- 52. The method of claim 14, wherein the modified speech data is always within predetermined distortion limits.
- 53. The method of claim 14, further comprising:
associating a representation of an emotional state with the character; and modifying the speech based on the emotional state representation.
- 54. The method of claim 14, wherein the character is highly expressive.
- 55. The method of claim 14, wherein the character is highly reactive.
- 56. The method of claim 14, wherein the character has a specified personality.
- 57. The method of claim 14, wherein the character is highly expressive, highly reactive and has a specified personality.
- 58. The method of claim 14, wherein the character is highly reactive and has at least one of the following group of characteristics: highly expressive, appearing to be intelligent, exhibiting common sense, exhibiting social knowledge, exhibiting knowledge of social norms, having a specified personality.
- 59. A method of advertising a product comprising:
designing a fully autonomous synthetic character that represents an animated version of the product or product packaging, the product or product packaging not otherwise having the appearance of a character; displaying the synthetic character to a user; and permitting the user to interact with the character.
- 60. The method of claim 59, wherein displaying the synthetic character comprises displaying an animated character on a display screen.
- 61. The method of claim 59, wherein displaying the synthetic character comprises providing a robotic embodiment of the character.
- 62. The method of claim 59, wherein the character inhabits an environment and wherein the user interacts with the character in the environment.
- 63. The method of claim 59, wherein the character has eyes, and wherein the eyes appear to track objects in the on-screen world or the real world.
- 64. The method of claim 60, wherein the eyes appear to track objects only at selected moments.
- 65. The method of claim 64 wherein the selected moments are determined by the fully autonomous character.
- 66. The method of claim 59, further comprising generating motions for the character in real-time.
- 67. The method of claim 59, wherein the character is highly expressive.
- 68. The method of claim 59, wherein the character is highly reactive.
- 69. The method of claim 59, wherein the character has a specified personality.
- 70. The method of claim 59, wherein the character is highly expressive, highly reactive and has a specified personality.
- 71. The method of claim 59, wherein the character is highly reactive and has at least one of the following group of characteristics: highly expressive, appearing to be intelligent, exhibiting common sense, exhibiting social knowledge, exhibiting knowledge of social norms, having a specified personality.
- 72. A method for loading an executable native code program into a computer system comprising:
loading a first portion of the program into the computer system from a non-local network; beginning execution of the first portion of the program; during execution of the first portion of the program, loading a second portion of the program into the computer system from the non-local network and linking the second portion of the program to the first portion of the program; and executing code in the second portion of the program.
- 73. The method of claim 72, further comprising:
displaying hyperlinked information in a display on the computer system; and loading the first portion of the program in response user selection of a hyperlink in the display.
- 74. The method of claim 72, further comprising:
loading a component list into the computer system in response to a user input; loading the first portion of the program according to information in the component list; and loading the second portion of the program according to information in the component list.
- 75. The method of claim 72, wherein linking the second portion of the program to the first portion of the program comprises:
determining that the second portion of the program has been completely loaded into the computer system; and notifying the first portion of the program that the second portion has been loaded.
- 76. The method of claim 72, further comprising:
during execution of the second portion of the program, loading a third portion of the program into the computer system; linking the third portion of the program to the first or second portion of the program; executing code in the third portion of the program.
- 77. The method of claim 72, further comprising:
in response to a user input, loading content other than native code into the system and displaying said content to the user and loading the first portion of the program during display of said content to the user.
- 78. The method of claim 72, wherein the program comprises an interactive system for displaying an on-screen environment, and further comprising:
during execution of the first portion of the program, displaying a first version of the on-screen environment; and in response to the progress of loading of the second portion of the program, modifying the on-screen environment.
- 79. The method of claim 78, wherein the on-screen environment is modified after completion of the loading of the second portion of the program.
- 80. The method of claim 78, wherein modifying the on-screen environment comprises changing the set of potential user acts in the environment.
- 81. The method of claim 78, wherein modifying the on-screen environment comprises changing the appearance of a particular location in the on-screen environment to show the additional set of potential user acts.
- 82. The method of claim 78, wherein modifying the on-screen environment comprises changing the potential behaviors of one or more characters in the environment.
- 83. The method of claim 82, wherein at least a portion of the changed potential behavior of the one or more characters is implemented by the second portion of the program.
- 84. The method of claim 72, wherein the non-local network comprises a wide area network.
- 85. The method of claim 72, wherein the non-local network comprises a broadcast network.
- 86. The method of claim 72, wherein the non-local network comprises a wireless network.
- 87. The method of claim 72, wherein the non-local network comprises a dialup network.
- 88. The method of claim 72, wherein the non-local network comprises a cable TV network.
- 89. A method for loading data into a computer system comprising:
starting to receive a stream of data from a network connection; during receipt of the data stream, monitoring the use of network resources by the computer system; and adjusting the rate of receipt of the data stream based on the use of network resources.
- 90. The method of claim 89, wherein the network is a non-local network.
- 91. The method of claim 89 or 90, wherein monitoring the use of network resources comprises:
detecting a request to load additional data onto the computer system from the network.
- 92. The method of claim 91, wherein adjusting the rate of receipt of the data stream comprises:
temporarily suspending the receipt of the data stream while the requested additional data is loaded onto the computer system; and continuing to receive the data stream after at least a pre-defined portion of the requested additional data has been loaded onto the computer system.
- 93. The method of claim 91, wherein adjusting the rate of receipt of the data stream comprises:
reducing the rate of receipt of the data stream while the additional data is being loaded onto the system.
- 94. The method of claim 91 wherein detecting a request to load additional data onto the computer system comprises detecting a request to load content into a web browser.
- 95. The method of claim 91 further comprising:
displaying the at least a pre-defined portion of the requested additional data on the computer system to a user while continuing to receive the data stream after the requested additional data has been loaded onto the computer system.
- 96. The method of claim 89 or 90, wherein the data stream comprises native code for execution on the computer system.
- 97. The method of claim 89, wherein monitoring the use of network resources by the computer system comprises monitoring the throughput of a download process.
- 98. A method for loading data onto a computer system comprising:
in response to a user input, loading first content for display to the user; in response to the same user input, and after at least a predefined portion of the first content has been loaded, starting to receive a first stream of data comprising native code from a network connection, wherein the first stream of data is not part of the first content.
- 99. The method of claim 98, wherein display of the first content provides the user with selectable options.
- 100. The method of claim 99, wherein the first content is a hyperlinked page.
- 101. The method of claim 98, further comprising:
during display of the first content and the receipt of the first stream of data, in response to a second user input, temporarily reducing the rate of receipt of the first stream of data; and during the temporary reduction of the rate of receipt of the first stream of data, loading second content for display to the user.
- 102. The method of claim 101, further comprising:
after loading at least a pre-defined portion of the second content, increasing the rate of receipt of the first stream of data.
- 103. The method of claim 102, further comprising:
in response to the second user input, loading a second stream of data from a network connection.
- 104. The method of claim 101, wherein temporarily reducing the rate of receipt of the first stream of data comprises suspending receipt of the first stream of data.
- 105. A method for presenting a dynamic visual model using a data processing system comprising:
generating in the data processing system a first representation of at least one structural element of the model; displaying the at least one structural element of the model on a display; modifying the appearance of the displayed at least one structural element by modifying a curvature of the element over a continuous portion of the element.
- 106. The method of claim 105, wherein the dynamic visual model is an animated character.
- 107. The method of claim 105, wherein the continuous portion of the element comprises substantially all of the element.
- 108. The method of claim 105, wherein the modification of the appearance comprises modifying the representation of the structural element in real time.
- 109. The method of claim 105, wherein the representation of the at least one structural element comprises a representation of a spline curve.
- 110. The method of claim 109, wherein the representation of the at least one structural element includes or is linked to a representation of a surface defining a volume surrounding the spline curve, and wherein displaying the at least one structural element of the model on a display comprises displaying the surface on the display.
- 111. The method of claim 110, wherein modifying the appearance of the displayed at least one structural element comprises modifying the shape of the surface of the element.
- 112. The method of claim 105, further comprising:
generating in the data processing system a representation of at least a second structural element of the model distinct from the first structural element; and generating a representation of a linkage between the first structural element and the second structural element.
- 113. The method of claim 112, further comprising:
displaying the second structural element on the display; and modifying the appearance of the displayed second structural element by modifying a curvature of the element over a continuous portion of the element.
- 114. The method of claim 112, wherein the second structural element is a rigid structural element.
- 115. The method of claim 113, wherein:
the representations of the at least one structural element and the second structural element comprise respective representations of spline curves; and wherein the representations of the at least one structural element and the second structural element are linked to a representation of a surface defining a volume surrounding the respective represented spline curves, and wherein displaying the at least one structural element and the second structural element of the model on the display comprises displaying the surface on the display.
- 116. The method of claim 105, wherein modifying the appearance of the at least one structural element comprises modifying the length of the structural element.
- 117. The method of claim 116, wherein the representation of the structural element comprises a representation of a spline curve, and wherein modifying the length of the structural element comprises changing the length of the spline curve.
- 118. The method of claim 116, wherein the representation of the at least one structural element includes or is linked to a representation of a surface defining a volume, and wherein modifying the appearance of the at least one structural element further comprises modifying the representation of the surface to maintain a substantially constant defined volume when the length of the structural element is modified.
- 119. The method of claim 105, further comprising:
generating a second representation of the at least one structural element of the model having a different shape from the first representation; and on the display, morphing the first representation using the second representation.
- 120. The method of claim 119, further comprising:
generating a third representation of the at least one structural element of the model having a different shape from the first and second representations; and using both the second and third representations of the structural element to morph the first representation on the display.
- 121. The method of claim 120, further comprising:
determining differences between the first representation and both the second representation and the third representation, and using a weighted sum of the differences to morph the first representation.
- 122. The method of claim 105, wherein the at least one structural element has an outer surface and a central axis, and further comprising:
modifying the appearance of the at least one structural element by rotating portions of the outer surface of the element relative to the central axis, the degree of rotation varying at locations adjacent to different points along the axis.
- 123. The method of claim 122, wherein the central axis of the element is defined by a spline curve.
- 124. A system for controlling a synthetic character using a control system comprising:
means for displaying the character as a highly expressive, highly reactive, character engaged in an activity; means for receiving a first input from a user; means for determining whether the input is relevant to the activity; and means for, if the input is relevant to the activity, showing the character react to the input.
- 125. A computer software product, embedded on a computer readable medium, for controlling a synthetic character using a control system comprising:
instructions for causing a computer system to display the character as a highly expressive, highly reactive, character engaged in an activity; instructions for causing the computer to receive a first input from a user; instructions for causing the computer to determine whether the input is relevant to the activity; and instructions for causing the computer to, if the input is relevant to the activity, show the character react to the input.
- 126. A method of transmitting to a system a computer software product for controlling a synthetic character using a control system comprising:
transmitting to the system instructions for causing a computer system to display the character as a highly expressive, highly reactive, character engaged in an activity, transmitting to the system instructions for causing the computer to receive a first input from a user; transmitting to the system instructions for causing the computer to determine whether the input is relevant to the activity; and transmitting to the system instructions for causing the computer to, if the input is relevant to the activity, show the character react to the input.
- 127. A system for displaying a synthetic character comprising:
means for providing speech data; means for creating modified speech data by modifying at least one of the pitch or duration of at least a portion of the speech data; and means for generating modified speech sounds associated with the character using the modified speech data.
- 128. A computer software product, embedded on a computer readable medium, for displaying a synthetic character comprising:
instructions for causing a computer to provide speech data; instructions for causing a computer to create modified speech data by modifying at least one of the pitch or duration of at least a portion of the speech data; and instructions for causing a computer to generate modified speech sounds associated with the character using the modified speech data.
- 129. A method of transmitting to a system a computer software product for displaying a synthetic character comprising:
transmitting to the system instructions for causing a computer to provide speech data; transmitting to the system instructions for causing a computer to create modified speech data by modifying at least one of the pitch or duration of at least a portion of the speech data; and transmitting to the system instructions for causing a computer to generate modified speech sounds associated with the character using the modified speech data.
- 130. A system for modifying speech data comprising:
means for providing first sample speech data; means for providing second sample speech data; means for comparing the first sample speech data and the second sample speech data; and means for using the results of the comparison to create modified speech data.
- 131. A computer program product, embedded on a computer readable medium, for modifying speech data comprising:
instructions for causing a computer to provide first sample speech data; instructions for causing a computer to provide second sample speech data; instructions for causing a computer to compare the first sample speech data and the second sample speech data; and instructions for causing a computer to use the results of the comparison to create modified speech data.
- 132. A method for transmitting to a system a computer program product, embedded on a computer readable medium, for modifying speech data comprising:
transmitting to the system instructions for causing a computer to provide first sample speech data; transmitting to the system instructions for causing a computer to provide second sample speech data; transmitting to the system instructions for causing a computer to compare the first sample speech data and the second sample speech data; and transmitting to the system instructions for causing a computer to use the results of the comparison to create modified speech data.
- 133. A system for advertising a product comprising:
means for enabling a user to design a fully autonomous synthetic character that represents an animated version of the product or product packaging, the product or product packaging not otherwise having the appearance of a character; means for displaying the synthetic character to a user; and means for permitting the user to interact with the character.
- 134. A computer program product, embedded on a computer readable medium, for advertising a product comprising:
instructions for causing a computer to enable a user to design a fully autonomous synthetic character that represents an animated version of the product or product packaging, the product or product packaging not otherwise having the appearance of a character; instructions for causing a computer to display the synthetic character to a user; and instructions for causing a computer to permit the user to interact with the character.
- 135. A method for transmitting to a system a computer program product for advertising a product comprising:
transmitting to the system instructions for causing a computer to enable a user to design a fully autonomous synthetic character that represents an animated version of the product or product packaging, the product or product packaging not otherwise having the appearance of a character; transmitting to the system instructions for causing a computer to display the synthetic character to a user; and transmitting to the system instructions for causing a computer to permit the user to interact with the character.
- 136. A system for loading an executable native code program into a computer system comprising:
means for loading a first portion of the program into the computer system from a non-local network; means for beginning execution of the first portion of the program; means for, during execution of the first portion of the program, loading a second portion of the program into the computer system from the non-local network and linking the second portion of the program to the first portion of the program; and means for executing code in the second portion of the program.
- 137. A computer program product, embedded on a computer readable medium, for loading an executable native code program into a computer system comprising:
instructions for causing a computer to load a first portion of the program into the computer system from a non-local network; instructions for causing a computer to begin execution of the first portion of the program; instructions for causing a computer to, during execution of the first portion of the program, load a second portion of the program into the computer system from the non-local network and link the second portion of the program to the first portion of the program; and instructions for causing a computer to execute code in the second portion of the program.
- 138. A method for transmitting to a system a computer program product, for loading an executable native code program into a computer system comprising:
transmitting to the system instructions for causing a computer to load a first portion of the program into the computer system from a non-local network; transmitting to the system instructions for causing a computer to begin execution of the first portion of the program; transmitting to the system instructions for causing a computer to, during execution of the first portion of the program, load a second portion of the program into the computer system from the non-local network and link the second portion of the program to the first portion of the program; and transmitting to the system instructions for causing a computer to execute code in the second portion of the program.
- 139. A system for loading data into a computer system comprising:
means for starting to receive a stream of data from a network connection; means for, during receipt of the data stream, monitoring the use of network resources by the computer system; and means for adjusting the rate of receipt of the data stream based on the use of network resources.
- 140. A computer program product, embedded on a computer readable medium, for loading data into a computer system comprising:
instructions for causing a computer to start to receive a stream of data from a network connection; instructions for causing a computer to, during receipt of the data stream, monitor the use of network resources by the computer system; and instructions for causing a computer to adjust the rate of receipt of the data stream based on the use of network resources.
- 141. A method for transmitting to a system a computer program product for loading data into a computer system comprising:
transmitting to the system instructions for causing a computer to start to receive a stream of data from a network connection; transmitting to the system instructions for causing a computer to, during receipt of the data stream, monitor the use of network resources by the computer system; and transmitting to the system instructions for causing a computer to adjust the rate of receipt of the data stream based on the use of network resources.
- 142. A system for loading data onto a computer system comprising:
means for, in response to a user input, loading first content for display to the user; means for, in response to the same user input, and after at least a predefined portion of the first content has been loaded, starting to receive a first stream of data comprising native code from a network connection, wherein the first stream of data is not part of the first content.
- 143. A computer program product, embedded on a computer readable medium, for loading data onto a computer system comprising:
instructions for causing a computer to, in response to a user input, load first content for display to the user; instructions for causing a computer to, in response to the same user input, and after at least a predefined portion of the first content has been loaded, start to receive a first stream of data comprising native code from a network connection, wherein the first stream of data is not part of the first content.
- 144. A method for transmitting to a system a computer program product for loading data onto a computer system comprising:
transmitting to the system instructions for causing a computer to, in response to a user input, load first content for display to the user; transmitting to the system instructions for causing a computer to, in response to the same user input, and after at least a predefined portion of the first content has been loaded, start to receive a first stream of data comprising native code from a network connection, wherein the first stream of data is not part of the first content.
- 145. A system for presenting a dynamic visual model using a data processing system comprising:
means for generating in the data processing system a first representation of at least one structural element of the model; means for displaying the at least one structural element of the model on a display; means for modifying the appearance of the displayed at least one structural element by modifying a curvature of the element over a continuous portion of the element.
- 147. A computer software product, embedded on a computer readable medium, for presenting a dynamic visual model using a data processing system comprising:
instructions for causing a computer to generate in the data processing system a first representation of at least one structural element of the model; instructions for causing a computer to display the at least one structural element of the model on a display; instructions for causing a computer to modify the appearance of the displayed at least one structural element by modifying a curvature of the element over a continuous portion of the element.
- 148. A method for transmitting to a system a computer software product for presenting a dynamic visual model using a data processing system comprising:
transmitting to the system instructions for causing a computer to generate in the data processing system a first representation of at least one structural element of the model; transmitting to the system instructions for causing a computer to display the at least one structural element of the model on a display; transmitting to the system instructions for causing a computer to modify the appearance of the displayed at least one structural element by modifying a curvature of the element over a continuous portion of the element.
- 149. A method for controlling a synthetic character using a control system comprising:
displaying the character engaged in an activity; receiving a first input from a user; determining whether the input is relevant to the activity; and if the input is relevant to the activity, showing the character react to the input; wherein the character is highly reactive and has at least one of the following group of characteristics: appearing to be intelligent, exhibiting common sense, exhibiting social knowledge, exhibiting knowledge of social norms, having a specified personality.
- 150. A system for controlling a synthetic character using a control system comprising:
means for displaying the character engaged in an activity; means for receiving a first input from a user; means for determining whether the input is relevant to the activity; and means for, if the input is relevant to the activity, showing the character react to the input; wherein the character is highly reactive and has at least one of the following group of characteristics: appearing to be intelligent, exhibiting common sense, exhibiting social knowledge, exhibiting knowledge of social norms, having a specified personality.
- 151. A computer software product, embedded on a computer readable medium, for controlling a synthetic character using a control system comprising:
instructions for causing a computer to display the character engaged in an activity; instructions for causing a computer to receive a first input from a user; instructions for causing a computer to determine whether the input is relevant to the activity; and instructions for causing a computer to, if the input is relevant to the activity, show the character react to the input; wherein the character is highly reactive and has at least one of the following group of characteristics: appearing to be intelligent, exhibiting common sense, exhibiting social knowledge, exhibiting knowledge of social norms, having a specified personality.
- 152. A method for transmitting to a system a computer software product, embedded on a computer readable medium, for controlling a synthetic character using a control system comprising:
transmitting to the system instructions for causing a computer to display the character engaged in an activity; transmitting to the system instructions for causing a computer to receive a first input from a user; transmitting to the system instructions for causing a computer to determine whether the input is relevant to the activity; and transmitting to the system instructions for causing a computer to, if the input is relevant to the activity, show the character react to the input; wherein the character is highly reactive and has at least one of the following group of characteristics: appearing to be intelligent, exhibiting common sense, exhibiting social knowledge, exhibiting knowledge of social norms, having a specified personality.
- 153. A method for controlling a synthetic character using a control system comprising displaying the character engaged in an activity and receiving an input from a user.
- 154. A system for controlling a synthetic character using a control system comprising means for displaying the character engaged in an activity and means for receiving an input from a user.
- 155. A computer software product, embedded on a computer readable medium, for controlling a synthetic character using a control system comprising instructions for causing a computer to display the character engaged in an activity and instructions for causing a computer to receive an input from a user.
- 156. A method of transmitting to a system a computer software product for controlling a synthetic character using a control system comprising transmitting to the system instructions for causing a computer to display the character engaged in an activity and transmitting to the system instructions for causing a computer to receive an input from a user.
- 157. A method for displaying a character on a display comprising:
receiving a specification of an action to be performed by the character; and generating movement for the character appropriate for the specification.
Parent Case Info
[0001] The present application claims the benefit of U.S. provisional patent applications numbered 60/245,823, 60/246,034 and 60/246,054, all filed on Nov. 3, 2000, which are each incorporated in their entirety herein by reference.
PCT Information
Filing Document |
Filing Date |
Country |
Kind |
PCT/US01/50915 |
10/29/2001 |
WO |
|