Patents by Inventor Matthew W. Calkins

Matthew W. Calkins has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 7705851
    Abstract: A multiple-level graphics processing system and method (e.g., of an operating system) for providing improved graphics output including, for example, smooth animation. One such multiple-level graphics processing system comprises two components, including a tick-on-demand or slow-tick high-level component, and a fast-tick (e.g., at the graphics hardware frame refresh rate) low-level component. In general, the high-level, less frequent component performs computationally intensive aspects of updating animation parameters and traversing scene data structures, in order to pass simplified data structures to the low-level component. The low-level component operates at a higher frequency, such as the frame refresh rate of the graphics subsystem, to process the data structures into constant output data for the graphics subsystem. The low-level processing includes interpolating any parameter intervals as necessary to obtain instantaneous values to render the scene for each frame of animation.
    Type: Grant
    Filed: October 31, 2006
    Date of Patent: April 27, 2010
    Assignee: Microsoft Corporation
    Inventors: Joseph S. Beda, Gregory D. Swedberg, Oreste Dorin Ungureanu, Kevin T. Gallo, Paul C. David, Matthew W. Calkins
  • Patent number: 7548237
    Abstract: A visual tree structure as specified by a program is constructed and maintained by a visual system's user interface thread. As needed, the tree structure is traversed on the UI thread, with changes compiled into change queues. A secondary rendering thread that handles animation and graphical composition takes the content from the change queues, to construct and maintain a condensed visual tree. Static visual subtrees are collapsed, leaving a condensed tree with only animated attributes such as transforms as parent nodes, such that animation data is managed on the secondary thread, with references into the visual tree. When run, the rendering thread processes the change queues, applies changes to the condensed trees, and updates the structure of the animation list as necessary by resampling animated values at their new times. Content in the condensed visual tree is then rendered and composed. Animation and a composition communication protocol are also provided.
    Type: Grant
    Filed: August 4, 2006
    Date of Patent: June 16, 2009
    Assignee: Microsoft Corporation
    Inventors: Paul C. David, Gerhard A. Schneider, Matthew W. Calkins, Oreste Dorin Ungureanu, Ashraf Michail, Andrey E. Arsov, Leonardo E. Blanco
  • Patent number: 7511718
    Abstract: A media integration layer including an application programming interface (API) and an object model allows program code developers to interface in a consistent manner with a scene graph data structure in order to output graphics. Via the interfaces, program code adds child visuals to other visuals to build up a hierarchical scene graph, writes Instruction Lists such as geometry data, image data, animation data and other data for output, and may specify transform, clipping and opacity properties on visuals. The media integration layer and API enable programmers to accomplish composition effects within their applications in a straightforward manner, while leveraging the graphics processing unit in a manner that does not adversely impact normal application performance. A multiple-level system includes the ability to combine different media types (such as 2D, 3D, Video, Audio, text and imaging) and animate them smoothly and seamlessly.
    Type: Grant
    Filed: October 23, 2003
    Date of Patent: March 31, 2009
    Assignee: Microsoft Corporation
    Inventors: Sriram Subramanian, Leonardo E. Blanco, Donald B. Curtis, Joseph S. Beda, Gerhard A. Schneider, Greg D. Schechter, Adam M. Smith, Eric S. Vandenberg, Matthew W. Calkins, Kevin T. Gallo, Michael Stokes, Rajat Goel
  • Patent number: 7443401
    Abstract: Described is a method and system in which timing intervals are generated from clock properties, and used to interpolate values for smooth animation. A high-level component maintains a set of clocks related to animated objects and/or linear media in a scene graphs. The clocks correspond to clock properties received from an application program. The clocks are processed into event lists at the higher level, from which timing interval data is generated and passed to a low-level component. The low-level component, which generally operates at a faster rate than the high-level component, uses the timing interval data to rapidly calculate current values for an animated object. Interaction, such as to pause an animation or resume a paused animation, causes the high-level component to re-compute the event list and regenerate new animation intervals for affected clocks. The new animation intervals are passed and used by the lower-level component.
    Type: Grant
    Filed: October 23, 2003
    Date of Patent: October 28, 2008
    Assignee: Microsoft Corporation
    Inventors: Leonardo E. Blanco, Paul C. David, Matthew W. Calkins, Andrei Baioura
  • Patent number: 7336280
    Abstract: Described is a method and system in which storyboard objects coordinate the animation of multiple elements and/or media displayed on a computer graphics display. Storyboards relate properties of elements in an element tree to a timeline, such that the properties associated with a storyboard are animated/play together as a group by starting, stopping, seeking or pausing the storyboard. Triggers, such as controlled by user interaction with the displayed information, including property triggers that change values in response to a state change, and event triggers that fire events, may cause the storyboard to start, stop, pause and seek. Storyboards may be used in XAML-based programs, and may be directly associated with elements, or indirectly associated with elements via styles. Complex properties and changeables are supported. Media playback may be controlled via storyboards, and thereby coordinated with other media playback and/or animations.
    Type: Grant
    Filed: November 18, 2004
    Date of Patent: February 26, 2008
    Assignee: Microsoft Corporation
    Inventors: Elizabeth K. Nelson, Greg D. Schechter, Leonardo E. Blanco, Matthew W. Calkins, Michael J. Hillberg, Namita Gupta, Sriram Subramanian, Kurt Jacob, Kenneth L. Young, Patrick Mullen
  • Patent number: 7161599
    Abstract: A multiple-level graphics processing system and method (e.g., of an operating system) for providing improved graphics output including, for example, smooth animation. One such multiple-level graphics processing system comprises two components, including a tick-on-demand or slow-tick high-level component, and a fast-tick (e.g., at the graphics hardware frame refresh rate) low-level component. In general, the high-level, less frequent component performs computationally intensive aspects of updating animation parameters and traversing scene data structures, in order to pass simplified data structures to the low-level component. The low-level component operates at a higher frequency, such as the frame refresh rate of the graphics subsystem, to process the data structures into constant output data for the graphics subsystem. The low-level processing includes interpolating any parameter intervals as necessary to obtain instantaneous values to render the scene for each frame of animation.
    Type: Grant
    Filed: June 27, 2002
    Date of Patent: January 9, 2007
    Assignee: Microsoft Corporation
    Inventors: Joseph S. Beda, Gregory D. Swedberg, Oreste Dorin Ungureanu, Kevin T. Gallo, Paul C. David, Matthew W. Calkins
  • Patent number: 7088374
    Abstract: A visual tree structure as specified by a program is constructed and maintained by a visual system's user interface thread. As needed, the tree structure is traversed on the UI thread, with changes compiled into change queues. A secondary rendering thread that handles animation and graphical composition takes the content from the change queues, to construct and maintain a condensed visual tree. Static visual subtrees are collapsed, leaving a condensed tree with only animated attributes such as transforms as parent nodes, such that animation data is managed on the secondary thread, with references into the visual tree. When run, the rendering thread processes the change queues, applies changes to the condensed trees, and updates the structure of the animation list as necessary by resampling animated values at their new times. Content in the condensed visual tree is then rendered and composed. Animation and a composition communication protocol are also provided.
    Type: Grant
    Filed: March 27, 2003
    Date of Patent: August 8, 2006
    Assignee: Microsoft Corporation
    Inventors: Paul C. David, Gerhard A. Schneider, Matthew W. Calkins, Oreste Dorin Ungureanu, Ashraf Michail, Andrey E. Arsov, Leonardo E. Blanco
  • Publication number: 20040189669
    Abstract: A visual tree structure as specified by a program is constructed and maintained by a visual system's user interface thread. As needed, the tree structure is traversed on the UI thread, with changes compiled into change queues. A secondary rendering thread that handles animation and graphical composition takes the content from the change queues, to construct and maintain a condensed visual tree. Static visual subtrees are collapsed, leaving a condensed tree with only animated attributes such as transforms as parent nodes, such that animation data is managed on the secondary thread, with references into the visual tree. When run, the rendering thread processes the change queues, applies changes to the condensed trees, and updates the structure of the animation list as necessary by resampling animated values at their new times. Content in the condensed visual tree is then rendered and composed. Animation and a composition communication protocol are also provided.
    Type: Application
    Filed: March 27, 2003
    Publication date: September 30, 2004
    Inventors: Paul David, Gerhard A. Schneider, Matthew W. Calkins, Oreste Dorin Ungureanu, Ashraf Michail, Andrey E. Arsov, Leonardo E. Blanco
  • Publication number: 20040130550
    Abstract: Described is a method and system in which timing intervals are generated from clock properties, and used to interpolate values for smooth animation. A high-level component maintains a set of clocks related to animated objects and/or linear media in a scene graphs. The clocks correspond to clock properties received from an application program. The clocks are processed into event lists at the higher level, from which timing interval data is generated and passed to a low-level component. The low-level component, which generally operates at a faster rate than the high-level component, uses the timing interval data to rapidly calculate current values for an animated object. Interaction, such as to pause an animation or resume a paused animation, causes the high-level component to re-compute the event list and regenerate new animation intervals for affected clocks. The new animation intervals are passed and used by the lower-level component.
    Type: Application
    Filed: October 23, 2003
    Publication date: July 8, 2004
    Applicant: MICROSOFT CORPORATION
    Inventors: Leonardo E. Blanco, Paul C. David, Matthew W. Calkins, Andrei Baioura
  • Publication number: 20030076328
    Abstract: A multiple-level graphics processing system and method (e.g., of an operating system) for providing improved graphics output including, for example, smooth animation. One such multiple-level graphics processing system comprises two components, including a tick-on-demand or slow-tick high-level component, and a fast-tick (e.g., at the graphics hardware frame refresh rate) low-level component. In general, the high-level, less frequent component performs computationally intensive aspects of updating animation parameters and traversing scene data structures, in order to pass simplified data structures to the low-level component. The low-level component operates at a higher frequency, such as the frame refresh rate of the graphics subsystem, to process the data structures into constant output data for the graphics subsystem. The low-level processing includes interpolating any parameter intervals as necessary to obtain instantaneous values to render the scene for each frame of animation.
    Type: Application
    Filed: June 27, 2002
    Publication date: April 24, 2003
    Inventors: Joseph S. Beda, Gregory D. Swedberg, Oreste Dorin Ungureanu, Kevin T. Gallo, Paul C. David, Matthew W. Calkins