Patents by Inventor Robin C. B. Speed

Robin C. B. Speed 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: 8695062
    Abstract: A computer-implemented authentication protocol is used to subvert man-in-the-middle-type attacks on communications between software components that are permitted to interoperate within a processing environment, such as a media processing environment, pursuant to one or more licenses. In one exemplary scenario, a particular application transmits to a particular media processing component (“MPC”), among other things, a cryptographically protected message including a reference to a process in which the application is running and/or a GUID that the application used to invoke the MPC. If the received process and/or GUID are verified, it is possible for in-the-clear communication to occur between the application and the MPC without man-in-the-middle subversion.
    Type: Grant
    Filed: January 23, 2009
    Date of Patent: April 8, 2014
    Assignee: Microsoft Corporation
    Inventors: Robin C. B. Speed, Frank D. Yerrace
  • Patent number: 7900140
    Abstract: Media processing methods, systems and application program interfaces (APIs) are described. In but one embodiment, a media engine component, also referred to as a media engine, provides a simple and unified way of rendering media from an origin to a destination of choice without requiring intimate knowledge about the underlying components, their connectivity and management. Clients of the media engine need not worry about how to render the particular media, but rather can simply focus on what media to render and where to render the media. In at least one embodiment, a media session is provided and is used by the media engine and provides a mechanism by which additional components are made transparent to the application and, in at least some embodiment, the media engine. In some embodiments, the media engine and media session provide a simple API for building, configuring, and manipulating a pipeline of components (e.g.
    Type: Grant
    Filed: December 8, 2003
    Date of Patent: March 1, 2011
    Assignee: Microsoft Corporation
    Inventors: Sohail Baig Mohammed, Kirt A. Debique, Geoffrey T. Dunbar, Patrick N. Nelson, Rebecca C. Weiss, Sumedh N. Barde, Adil Sherwani, Robin C. B. Speed, Alexandre V. Grigorovitch
  • Patent number: 7882510
    Abstract: A set of interfaces and data structures (i.e., a demultiplexer API) represents a demultiplexer of multimedia data. The data structure utilizes a number of fields, each containing an element of a command. In one embodiment, at least seven commands are formed for proper operation of the demultiplexer, including Initialize, SetPresentationDescriptor, GetPresentationDescriptor, GetPendingPresentationDescriptor, ProcessInput, ProcessOutput, and Flush commands. The demultiplexer API allows the consumer to use muxed stream data such as DV in a uniform manner to generate elementary stream data such as audio and video (compressed or uncompressed) and allows demultiplexers to be used as an independent component.
    Type: Grant
    Filed: August 6, 2003
    Date of Patent: February 1, 2011
    Assignee: Microsoft Corporation
    Inventors: Kirt Debique, Robin C. B. Speed, C. Alan Ludwig, Geoffrey T. Dunbar
  • Patent number: 7844972
    Abstract: Resource management architectures implemented in computer systems to manage resources are described. In one embodiment, a general architecture includes a resource manager and multiple resource providers that support one or more resource consumers such as a system component or application. Each provider is associated with a resource and acts as the manager for the resource when interfacing with the resource manager. The resource manager arbitrates access to the resources provided by the resource providers on behalf of the consumers. A policy manager sets various policies that are used by the resource manager to allocate resources. One policy is a priority-based policy that distinguishes among which applications and/or users have priority over others to use the resources. A resource consumer creates an “activity” at the resource manager and builds one or more “configurations” that describe various sets of preferred resources required to perform the activity.
    Type: Grant
    Filed: February 27, 2006
    Date of Patent: November 30, 2010
    Assignee: Microsoft Corporation
    Inventors: Jayachandran Raja, Jai Srinivasan, Mukund Sankaranarayan, David S. Bakin, Sean C. McDowell, Robin C. B. Speed
  • Patent number: 7792806
    Abstract: A system and methods provide handling of variable rate playback in a multimedia computer architecture. The systems and methods provide data structures and interfaces that enable a computer architecture and components therein with the ability to playback data at speeds faster and slower than real-time, to playback data in reverse, and to change the rate of playback at any point during playback. One embodiment is a method for providing low-latency, glitch-free changes in a multimedia architecture. Other embodiments are directed to defining multimedia component responsibilities for making rate changes, allowing rate changes to work with standard playback types, coder-decoders, and renderers. The methods include determining a minimum of the maximum reported playback rates and determining minimum and maximum playback rates in a set of modes including: reverse skip mode, reverse key frame mode, reverse full mode, forward full mode, forward key frame mode, and forward skip mode.
    Type: Grant
    Filed: June 27, 2003
    Date of Patent: September 7, 2010
    Assignee: Microsoft Corporation
    Inventors: Geoffrey T. Dunbar, Kirt Debique, Glenn F. Evans, Robin C. B. Speed, Stephen Rowe, Rebecca C. Weiss, Matthijs Gates
  • Patent number: 7774375
    Abstract: A multimedia processing system and methods provide flexibility and modularity by separating data flow information from maintaining of stream state for multimedia components. The system includes a media processor component to process received media data, a media session to determine a timeline for events to occur for performing media processing and a topology loader component to load a topology that describes a flow for the received media data to enable processing via an extensible symbolic abstraction of media objects. The topology loader ensures that events described in the topology occur. The system also includes core layer components such as media sink components to determine a media stream for output from the multimedia processing system and a media source component coupled to supply media data for processing. The topology created in the system symbolically provides data flow information, independent of maintaining a streaming state of control information.
    Type: Grant
    Filed: June 27, 2003
    Date of Patent: August 10, 2010
    Assignee: Microsoft Corporation
    Inventors: Eric Rudolph, Kirt Debique, Geoffrey T. Dunbar, Sohail Baig Mohammed, Brian D. Crites, Robin C. B. Speed, Mei L. Wilson
  • Patent number: 7735096
    Abstract: Media processing methods, systems and application program interfaces (APIs) in which a destination component, also referred to as a destination, provides an application with a simple and unified way of rendering, archiving, broadcasting (or other types of media output processing) media from an origin to a target of choice, without requiring the application to have intimate knowledge about underlying components, their connectivity and management. For example, applications can use a destination to help manage the rendering or archiving (or other processing) of the particular media.
    Type: Grant
    Filed: December 11, 2003
    Date of Patent: June 8, 2010
    Assignee: Microsoft Corporation
    Inventors: Rebecca C. Weiss, Dale A. Sather, Mei L. Wilson, Kirt A. Debique, Alexandre V. Grigorovitch, Robin C. B. Speed, Adil Sherwani
  • Patent number: 7725920
    Abstract: A method and system provides interfaces, data structures and events for representing a “sink” of multimedia data to interact with objects in a multimedia system to control multimedia objects. The interfaces and data structures enable efficient management for media objects that must interface directly with each other. One embodiment is directed to providing a common interface and a single API to a plurality of media objects. In an embodiment, the API is a control layer that isolates the media objects from each other and provides a single point of control, allowing media objects to be added or removed without affecting any other media objects. The control layer allows users to become familiar with only one API instead of many thereby facilitating the tasks of programming and documentation.
    Type: Grant
    Filed: June 27, 2003
    Date of Patent: May 25, 2010
    Assignee: Microsoft Corporation
    Inventors: Kirt Debique, Rebecca C. Weiss, Robin C. B. Speed, James H. Dooley, IV, Alexandre Grigorovitch, Eduardo P. Oliveira
  • Patent number: 7712108
    Abstract: Media processing methods, systems and application program interfaces (APIs) are described. In but one embodiment, a media engine component, also referred to as a media engine, provides a simple and unified way of rendering media from an origin to a destination of choice without requiring intimate knowledge about the underlying components, their connectivity and management. Clients of the media engine need not worry about how to render the particular media, but rather can simply focus on what media to render and where to render the media. In at least one embodiment, a media session is provided and is encapsulated by the media engine and provides a mechanism by which additional components are made transparent to the application and, in at least some embodiment, the media engine. In some embodiments, the media engine and media session provide a simple API for building, configuring, and manipulating a pipeline of components (e.g.
    Type: Grant
    Filed: December 8, 2003
    Date of Patent: May 4, 2010
    Assignee: Microsoft Corporation
    Inventors: Sohail Baig Mohammed, Kirt A. Debique, Geoffrey T. Dunbar, Patrick N. Nelson, Rebecca C. Weiss, Sumedh N. Barde, Adil Sherwani, Robin C. B. Speed, Alexandre V. Grigorovitch
  • Patent number: 7627227
    Abstract: Described herein is an implementation that facilitates the reverse presentation of an encoded digital media stream. This abstract itself is not intended to limit the scope of this patent. The scope of the present invention is pointed out in the appending claims.
    Type: Grant
    Filed: May 17, 2004
    Date of Patent: December 1, 2009
    Assignee: Microsoft Corporation
    Inventors: Glenn F. Evans, Stephen C. Rowe, Robin C. B. Speed, Gary J. Sullivan
  • Patent number: 7467392
    Abstract: A component, such as a Component Object Model (COM) object, operates as an intermediary between an Application Programming Interface (API) extension or plug-in and a driver. The component allows additional objects to be aggregated onto the component, and/or sets one or more setting values for a received request so that an I/O call associated with the request can be completed in a manner that is compatible with other I/O calls. The component may also return, in response to a particular request, a stream index associated with the component.
    Type: Grant
    Filed: September 10, 2004
    Date of Patent: December 16, 2008
    Assignee: Microsoft Corporation
    Inventors: Charles Alan Ludwig, Anand Ganesh, James H. Dooley, IV, David A. Goll, Robin C. B. Speed
  • Patent number: 7316020
    Abstract: Resource management architectures implemented in computer systems to manage resources are described. In one embodiment, a general architecture includes a resource manager and multiple resource providers that support one or more resource consumers such as a system component or application. Each provider is associated with a resource and acts as the manager for the resource when interfacing with the resource manager. The resource manager arbitrates access to the resources provided by the resource providers on behalf of the consumers. A policy manager sets various policies that are used by the resource manager to allocate resources. One policy is a priority-based policy that distinguishes among which applications and/or users have priority over others to use the resources. A resource consumer creates an “activity” at the resource manager and builds one or more “configurations” that describe various sets of preferred resources required to perform the activity.
    Type: Grant
    Filed: February 27, 2006
    Date of Patent: January 1, 2008
    Assignee: Microsoft Corporation
    Inventors: Jayachandran Raja, Jai Srinivasan, Mukund Sankaranarayan, David S. Bakin, Sean C. McDowell, Robin C. B. Speed
  • Patent number: 7246318
    Abstract: A computing system, which is in communication with a multimedia source and that includes at least one application for processing multimedia content from the multimedia source, includes an Application Programming Interface (API) for obtaining basic multimedia information that may be required by applications to process the multimedia content. By doing this, the invention enables multimedia application(s) to easily obtain the basic information from the API in a predetermined and standard manner, without having to obtain the information directly from the multimedia source, thereby reducing the functionality that has to be programmed directly into the application(s) for obtaining the basic information, and thereby reducing the cost, time, and resources that are required for creating the multimedia application(s).
    Type: Grant
    Filed: June 28, 2002
    Date of Patent: July 17, 2007
    Assignee: Microsoft Corporation
    Inventors: Kirt Debique, Rebecca C. Weiss, Brian D. Crites, Daniel J. Miller, Robin C. B. Speed, Dong Wei, Sohail B. Mohammed, Alexandre Grigorovitch, Geoffrey T. Dunbar
  • Publication number: 20040268397
    Abstract: A system and methods provide handling of variable rate playback in a multimedia computer architecture. The systems and methods provide data structures and interfaces that enable a computer architecture and components therein with the ability to playback data at speeds faster and slower than real-time, to playback data in reverse, and to change the rate of playback at any point during playback. One embodiment is a method for providing low-latency, glitch-free changes in a multimedia architecture. Other embodiments are directed to defining multimedia component responsibilities for making rate changes, allowing rate changes to work with standard playback types, coder-decoders, and renderers. The methods include determining a minimum of the maximum reported playback rates and determining minimum and maximum playback rates in a set of modes including: reverse skip mode, reverse key frame mode, reverse full mode, forward full mode, forward key frame mode, and forward skip mode.
    Type: Application
    Filed: June 27, 2003
    Publication date: December 30, 2004
    Applicant: Microsoft Corporation
    Inventors: Geoffrey T. Dunbar, Kirt Debique, Glenn F. Evans, Robin C. B. Speed, Stephen Rowe, Rebecca C. Weiss, Matthijs Gates
  • Publication number: 20040264383
    Abstract: A multimedia processing system and methods provide flexibility and modularity by separating data flow information from maintaining of stream state for multimedia components. The system includes a media processor component to process received media data, a media session to determine a timeline for events to occur for performing media processing and a topology loader component to load a topology that describes a flow for the received media data to enable processing via an extensible symbolic abstraction of media objects. The topology loader ensures that events described in the topology occur. The system also includes core layer components such as media sink components to determine a media stream for output from the multimedia processing system and a media source component coupled to supply media data for processing. The topology created in the system symbolically provides data flow information, independent of maintaining a streaming state of control information.
    Type: Application
    Filed: June 27, 2003
    Publication date: December 30, 2004
    Applicant: Microsoft Corporation
    Inventors: Eric Rudolph, Kirt Debique, Geoffrey T. Dunbar, Sohail Baig Mohammed, Brian D. Crites, Robin C. B. Speed, Mei L. Wilson
  • Patent number: 5563626
    Abstract: In a text display system facilitating the editing of text, smooth and flicker free updates to text displayed using proportionally spaced fonts are effected by interleaving the characters of an original and an updated text according to their associated cumulative character widths by sequentially storing each lesser cumulative character width and each character in buffers thereby establishing the order of display of the interleaved characters according to each original and updated cumulative character widths. The interleaved characters are then displayed according to the order of storage thereby incrementally displaying and deleting characters of the updated and original texts respectively such that an original character is deleted and replaced by an appropriate number of updated text characters resulting in a smooth text update.
    Type: Grant
    Filed: May 13, 1994
    Date of Patent: October 8, 1996
    Assignee: International Business Machines Corporation
    Inventor: Robin C. B. Speed
  • Patent number: 4811205
    Abstract: A graphics display apparatus employs a general purpose or main microprocessor providing general control of the apparatus including receiving high-level graphic orders defining a desired graphic image from a host processor and dedicated graphics microprocessor connected to receive low-level graphic orders from the general microprocessor along a pipeline constituted by a shared buffer store. Pipeline control logic controls the pipeline by blocking the graphics processor which generally operates more quickly than the general processor until the latter has completed computation of all the low-level orders associated with a particular high-level order. The front-of-screen performance can be further improved by backing up the pipeline to repeat certain low-level orders rather than by obtaining these repeated orders by recomputation. Graphics hardware controlled by the graphics processor loads appropriate bit patterns into an all points addressable refresh buffer for subsequent display on a cathode ray tube monitor.
    Type: Grant
    Filed: June 24, 1985
    Date of Patent: March 7, 1989
    Assignee: International Business Machines Corporation
    Inventors: Glyn Normington, Robin C. B. Speed, Graham H. Tuttle