Patents by Inventor Paul C. David

Paul C. David 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: 8397266
    Abstract: A software framework that allows seamless integration of generic media players into a web browser. A media player is a software module that implements specific interfaces; defines a playing state, such as playing, paused, or stopped; and associates with the playing state a current playback time. A generic media player implements interfaces, including timing interfaces and playback synchronization interfaces for exchanging timing and synchronization information with a web browser. A player-hosting peer, which is a software component built into the browser, manages generic player hosting by a web browser. The player-hosting peer negotiates playback state and rendering status between the browser and the media player. Both the media player and the player-hosting peer maintain playing state and current playback time. The relationship between the peer and the player is a master slave relationship, with the peer being the master.
    Type: Grant
    Filed: January 11, 2010
    Date of Patent: March 12, 2013
    Assignee: Microsoft Corporation
    Inventors: Kevin T. Gallo, Paul C. David, Dorin O. Ungureanu, Debbie A. Newman
  • Publication number: 20100115119
    Abstract: A software framework that allows seamless integration of generic media players into a web browser. A media player is a software module that implements specific interfaces; defines a playing state, such as playing, paused, or stopped; and associates with the playing state a current playback time. A generic media player implements interfaces, including timing interfaces and playback synchronization interfaces for exchanging timing and synchronization information with a web browser. A player-hosting peer, which is a software component built into the browser, manages generic player hosting by a web browser. The player-hosting peer negotiates playback state and rendering status between the browser and the media player. Both the media player and the player-hosting peer maintain playing state and current playback time. The relationship between the peer and the player is a master slave relationship, with the peer being the master.
    Type: Application
    Filed: January 11, 2010
    Publication date: May 6, 2010
    Inventors: Kevin T. Gallo, Paul C. David, Dorin O. Ungureanu, Debbie A. Newman
  • Patent number: 7711840
    Abstract: A method and protocol to create and control compositions on a remote device is disclosed. The protocol allows servers and other devices to take advantage of processing capabilities of remote devices to render compositions on the remote devices, thereby increasing server scalability and leveraging the remote device processing capabilities. The protocol provides high-level command packets to communicate resource command packets and control packets to the remote device with the payload having the information needed to process the commands.
    Type: Grant
    Filed: October 23, 2003
    Date of Patent: May 4, 2010
    Assignee: Microsoft Corporation
    Inventors: Paul C. David, Oreste Dorin Ungureanu, Gregory D. Swedberg, Donald B. Curtis
  • 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: 7665115
    Abstract: A software framework that allows seamless integration of generic media players into a web browser. A media player is a software module that implements specific interfaces; defines a playing state, such as playing, paused, or stopped; and associates with the playing state a current playback time. A generic media player implements interfaces, including timing interfaces and playback synchronization interfaces for exchanging timing and synchronization information with a web browser. A player-hosting peer, which is a software component built into the browser, manages generic player hosting by a web browser. The player-hosting peer negotiates playback state and rendering status between the browser and the media player. Both the media player and the player-hosting peer maintain playing state and current playback time. The relationship between the peer and the player is a master slave relationship, with the peer being the master.
    Type: Grant
    Filed: February 2, 2001
    Date of Patent: February 16, 2010
    Assignee: Microsoft Corporation
    Inventors: Kevin T. Gallo, Paul C. David, Dorin O. Ungureanu, Debbie A. Newman
  • 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: 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: 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: 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
  • Publication number: 20020161797
    Abstract: A software framework that allows seamless integration of generic media players into a web browser. A media player is a software module that implements specific interfaces; defines a playing state, such as playing, paused, or stopped; and associates with the playing state a current playback time. A generic media player implements interfaces, including timing interfaces and playback synchronization interfaces for exchanging timing and synchronization information with a web browser. A player-hosting peer, which is a software component built into the browser, manages generic player hosting by a web browser. The player-hosting peer negotiates playback state and rendering status between the browser and the media player. Both the media player and the player-hosting peer maintain playing state and current playback time. The relationship between the peer and the player is a master slave relationship, with the peer being the master.
    Type: Application
    Filed: February 2, 2001
    Publication date: October 31, 2002
    Inventors: Kevin T. Gallo, Paul C. David, Dorin O. Ungureanu, Debbie A. Newman