US5764241A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method and system for modeling and presenting integrated media with a declarative modeling language for representing reactive behavior
Assignee: Microsoft Technology Licensing LLC
•
Filing: 1995-11-30
•
Granted: 1998-06-09
•
Expires: 2015-11-30
Abstract
Abstract A method and system for modeling interactive animation and other integrated media includes support for a declarative modeling language and a system for presenting media represented in a declarative language model. The modeling language enables authors to represent natural or modeled media in a compact model, and it allows for the explicit description of time varying behavior as well as reactive behavior, which occurs in response to discrete events. The system compiles or interprets the model, optimizes it, and controls the presentation of media represented in it.
Inventors
- 👤 Conal M. Elliott
- 👤 Todd B. Knoblock
- 👤 Greg D. Schechter
- 👤 Salim S. AbiEzzi
- 👤 Colin L. Campbell
- 👤 Chun-Fu Ricky Yeung
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-26 01:15
CPC Classifications
G; G06; G06T; G06T15/00; G06T15/005; G06F; G06F9/00; G06F9/06; G06F9/44; G06F9/451; G06F16/00; G06F16/40
Claims Analysis
Total Claims: 32
Claim 1
Independent Claim
97 words
A computer implemented system for modeling and presenting interactive media comprising: a declarative model stored on computer readable medium including a description of media as a continuous function of time, and discrete, user-defined events which alter the presentation of the media; a declarative modeling engine operable to read the declarative model and to create a functional data graph representing the model, operable to control the presentation of the media through evaluation of the functional data graph, and operable to monitor the discrete, user-defined events and update the functional data graph in response to the discrete, user-defined events.
Claim 2
Dependent Claim
97 words
A computer implemented system for modeling and presenting interactive media comprising: a declarative model stored on computer readable medium including a description of media as a continuous function of time, and discrete, user-defined events which alter the presentation of the media; a declarative modeling engine operable to read the declarative model and to create a functional data graph representing the model, operable to control the presentation of the media through evaluation of the functional data graph, and operable to monitor the discrete, user-defined events and update the functional data graph in response to the discrete, user-defined events.
Claim 3
Dependent Claim
27 words
The computer implemented system of claim 1 wherein the user-defined event is expressed in terms of a user-defined expression in which a second event is a parameter.
Claim 4
Dependent Claim
17 words
The computer implemented system of claim 1 wherein the user-defined event is parameter to a second event.
Claim 5
Dependent Claim
27 words
The computer implemented system of claim 1 wherein the user-defined event returns a data value when the declarative modeling engine determines that the user-defined event has occurred.
Claim 6
Dependent Claim
31 words
The computer implemented system of claim 4 wherein the user-defined event returns a function applied to the data value when the declarative modeling engine determines that the user-defined event has occurred.
Claim 7
Dependent Claim
54 words
The computer implemented system of claim 1 wherein the user-defined event is part of an expression that defines a reactive behavior, where the media is expressed as a first continuous function of time until the user-defined event, and the media is expressed as a second continuous function of time in response to the event.
Claim 8
Dependent Claim
55 words
The computer implemented system of claim 1 wherein the description of the media includes a time transform that takes a behavior expressing the media as a continuous function of time and produces a new behavior expressing the media as a continuous function of a transformed time, computed by applying the time transform to time values.
Claim 9
Dependent Claim
54 words
The computer implemented system of claim 1 wherein the description of the media includes a time transform that takes a behavior expressing the media as a continuous function of time and produces a new behavior expressing the media as a continuous function of a transformed time, computed by applying the time transform the behavior.
Claim 10
Dependent Claim
117 words
A computer implemented method for presenting integrated media comprising: reading from memory a declarative model of interactive animation including a description of media as a function of time, and a discrete, user defined event which alters the presentation of the media; parsing the declarative model to create a functional data graph; evaluating the functional data graph to identify a first set of the media that requires rendering; monitoring for the discrete, user-defined event; in response to detecting the event, modifying the functional data graph; evaluating the modified functional data graph to identify a second set of the media that requires rendering; and generating rendered media including displaying a sequence of frames of animation on a display device.
Claim 11
Dependent Claim
117 words
A computer implemented method for presenting integrated media comprising: reading from memory a declarative model of interactive animation including a description of media as a function of time, and a discrete, user defined event which alters the presentation of the media; parsing the declarative model to create a functional data graph; evaluating the functional data graph to identify a first set of the media that requires rendering; monitoring for the discrete, user-defined event; in response to detecting the event, modifying the functional data graph; evaluating the modified functional data graph to identify a second set of the media that requires rendering; and generating rendered media including displaying a sequence of frames of animation on a display device.
Claim 12
Dependent Claim
27 words
The computer implemented system of claim 9 wherein the user-defined event is expressed in terms of a user-defined expression in which a second event is a parameter.
Claim 13
Dependent Claim
17 words
The computer implemented system of claim 9 wherein the user-defined event is parameter to a second event.
Claim 14
Dependent Claim
28 words
The computer implemented system of claim 9 wherein the user-defined event returns a data value associated with the event when the user-defined event is determined to have occurred.
Claim 15
Dependent Claim
28 words
The computer implemented system of claim 12 wherein the user-defined event returns a function applied to the data value when the user-defined event is determined to have occurred.
Claim 16
Dependent Claim
54 words
The computer implemented system of claim 9 wherein the user-defined event is part of an expression that defines a reactive behavior, where the media is expressed as a first continuous function of time until the user-defined event, and the media is expressed as a second continuous function of time in response to the event.
Claim 17
Dependent Claim
60 words
The method of claim 9 including: analyzing the functional data graph to identify time varying behavior that has not changed between a first and second frame of animation; and caching rendered media in memory that has not changed between the first and second frame and re-using the rendered media to generate output of the media rather than re-rendering the media.
Claim 18
Dependent Claim
125 words
In a programmed computer system for presenting integrated media, a method for regulating the presentation of the integrated media comprising: reading a declarative model including a description of media in terms of continuous, time varying behavior, discrete user-defined events which alter the presentation of the media, and a reactive behavior corresponding to a user defined event and defining a behavior of the media in response to the corresponding user-defined event; at a first system time, analyzing the declarative model to predict the user-defined event corresponding to the reactive behavior from the discrete events programmed to occur at a second, later system time; based on the predicted event, performing preparatory actions to achieve low latency playback of the reactive behavior in response to the predicted event.
Claim 19
Dependent Claim
125 words
In a programmed computer system for presenting integrated media, a method for regulating the presentation of the integrated media comprising: reading a declarative model including a description of media in terms of continuous, time varying behavior, discrete user-defined events which alter the presentation of the media, and a reactive behavior corresponding to a user defined event and defining a behavior of the media in response to the corresponding user-defined event; at a first system time, analyzing the declarative model to predict the user-defined event corresponding to the reactive behavior from the discrete events programmed to occur at a second, later system time; based on the predicted event, performing preparatory actions to achieve low latency playback of the reactive behavior in response to the predicted event.
Claim 20
Dependent Claim
16 words
The method of claim 16 wherein the performing step includes: retrieving a sound file from memory.
Claim 21
Dependent Claim
18 words
The method of claim 16 wherein the performing step includes: retrieving an image or texture file from memory.
Claim 22
Dependent Claim
19 words
The method of claim 16 wherein the performing step includes: retrieving one or more frames of video from memory.
Claim 23
Dependent Claim
14 words
The method of claim 16 wherein the performing step includes: establishing a network connection.
Claim 24
Dependent Claim
112 words
A computer readable medium on which is stored a declarative modeling language model for representing interactive animation, said model comprising declarative instructions, which instruct a computer to perform the steps of: creating a first set of static values from a continuous, time varying expression of behavior in the model; rendering the first set of static values to generate a first set of frames of animation for display; monitoring for discrete, user defined events specified in the model; in response to detecting one of the discrete events, creating a second set of static values; and rendering the second set of static values to generate a second set of frames of animation for display.
Claim 25
Dependent Claim
112 words
A computer readable medium on which is stored a declarative modeling language model for representing interactive animation, said model comprising declarative instructions, which instruct a computer to perform the steps of: creating a first set of static values from a continuous, time varying expression of behavior in the model; rendering the first set of static values to generate a first set of frames of animation for display; monitoring for discrete, user defined events specified in the model; in response to detecting one of the discrete events, creating a second set of static values; and rendering the second set of static values to generate a second set of frames of animation for display.
Claim 26
Dependent Claim
68 words
In a method of transmitting an animated display sequence over a network to a user, and displaying the sequence to the user, an improvement comprising transmitting a textual declarative model defining behavior of an object to be displayed during said sequence over the network, said model including a description of animation as a continuous function of time and at least one user-defined event affecting behavior of the object.
Claim 27
Dependent Claim
68 words
In a method of transmitting an animated display sequence over a network to a user, and displaying the sequence to the user, an improvement comprising transmitting a textual declarative model defining behavior of an object to be displayed during said sequence over the network, said model including a description of animation as a continuous function of time and at least one user-defined event affecting behavior of the object.
Claim 28
Dependent Claim
99 words
In a programmed computer system for presenting integrated media, a method for regulating the presentation of the integrated media comprising: reading a declarative model including a description of media in terms of continuous, time varying behavior, and discrete events which alter the presentation of the media; analyzing the declarative model to determine when a first event will occur; deferring evaluation of the first event to a later system time based on the analyzing step to avoid unnecessary calculation; evaluating the first event at the later system time; and displaying on a display device media associated with the first event.
Claim 29
Dependent Claim
99 words
In a programmed computer system for presenting integrated media, a method for regulating the presentation of the integrated media comprising: reading a declarative model including a description of media in terms of continuous, time varying behavior, and discrete events which alter the presentation of the media; analyzing the declarative model to determine when a first event will occur; deferring evaluation of the first event to a later system time based on the analyzing step to avoid unnecessary calculation; evaluating the first event at the later system time; and displaying on a display device media associated with the first event.
Claim 30
Dependent Claim
43 words
The method of claim 23 wherein the first event includes an intersection between first and second geometric objects represented in memory of the programmed computer system, and the evaluating of the first event includes determining whether the first and second geometric object intersect.
Claim 31
Dependent Claim
142 words
A computer implemented system for modeling and presenting interactive media comprising: a declarative model stored on computer readable medium including a user-defined description of reactive media as a continuous function of time and as a function of a discrete event that alters the presentation of the media, where the description includes a user-defined expression of the reactive media having a first behavior as a continuous function of time until the discrete event and then a second behavior as a continuous function of time in response to the event; a declarative modeling engine operable to read the declarative model and to create a functional data graph representing the model, operable to control the presentation of the media through evaluation of the functional data graph, and operable to monitor the discrete events and update the functional data graph in response to the discrete events.
Claim 32
Dependent Claim
142 words
A computer implemented system for modeling and presenting interactive media comprising: a declarative model stored on computer readable medium including a user-defined description of reactive media as a continuous function of time and as a function of a discrete event that alters the presentation of the media, where the description includes a user-defined expression of the reactive media having a first behavior as a continuous function of time until the discrete event and then a second behavior as a continuous function of time in response to the event; a declarative modeling engine operable to read the declarative model and to create a functional data graph representing the model, operable to control the presentation of the media through evaluation of the functional data graph, and operable to monitor the discrete events and update the functional data graph in response to the discrete events.
References Cited (Backward Citations)
US5261041A
Cited
US5596695A
Cited
US5485600A
Cited
EP0627690A2
Cited
US5555354A
Cited
WO1994023361A1
Cited
WO1994027234A1
Cited
US5594911A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2001-06-08 | 2001-12-08 | 2002-06-09 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2005-06-08 | 2005-12-08 | 2006-06-09 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2009-06-08 | 2009-12-08 | 2010-06-09 | $7700.00 | Window Closed / Lapsed |