Patents by Inventor Robin Speed

Robin 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: 7665095
    Abstract: A method to dynamically reconfigure multimedia streaming processing modules using interfaces that allow applications and modules to seamlessly change the configuration of streaming modules. Reconfigurations are initiated by a processing module in a stream or by an application by sending a notification packet through the processing modules in the portion of the stream being changed that informs that modules that a change is being made and the modules to complete processing of its data. Modules affected by the change are stopped once the notification packet is received by all processing modules in the stream being changed and modules are then added, removed, or replaced and the portion of the stream being changed resumes processing the data stream. The modules at the beginning of the portion being changed can resume operation as soon as they are reconnected to other modules.
    Type: Grant
    Filed: May 25, 2004
    Date of Patent: February 16, 2010
    Assignee: Microsoft Corporation
    Inventors: Syon Bhattacharya, Robin Speed
  • Patent number: 7649943
    Abstract: A method facilitating media processing is presented comprising generating a prediction of a region of encoded media content, receiving an indication of a quantity of remaining residual samples, on a per-region basis, and adding a first of such samples to the prediction to generate a modified prediction, and subtracting a second of such samples from the modified prediction, if so indicated.
    Type: Grant
    Filed: April 20, 2001
    Date of Patent: January 19, 2010
    Assignee: Microsoft Corporation
    Inventors: Robin Speed, Nicholas P. Wilt
  • Patent number: 7600233
    Abstract: A flexible interface that enables an application to communicate directly with processing modules to easily control the processing of streaming data. The interface provides basic commands for applications to use to communicate with processing modules and provides the flexibility to adapt to changing standards. The interface enables an application to set the type of input and output data formats of a processing module and control when the processing module processes input data and generates output data. The processing modules enumerate its capabilities by category, by media type, or by both category and media type. Processing modules are registered by class ID, category, whether the application needs a key, the number and types of input data types, and the number and type of output data types to register.
    Type: Grant
    Filed: July 22, 2004
    Date of Patent: October 6, 2009
    Assignee: Microsoft Corporation
    Inventors: Brian D. Crites, Robin Speed, Geoffrey Dunbar, Serge Smirnov
  • Patent number: 7555756
    Abstract: A method to dynamically reconfigure multimedia streaming processing modules using interfaces that allow applications and modules to seamlessly change the configuration of streaming modules. Reconfigurations are initiated by a processing module in a stream or by an application by sending a notification packet through the processing modules in the portion of the stream being changed that informs that modules that a change is being made and the modules to complete processing of its data. Modules affected by the change are stopped once the notification packet is received by all processing modules in the stream being changed and modules are then added, removed, or replaced and the portion of the stream being changed resumes processing the data stream. The modules at the beginning of the portion being changed can resume operation as soon as they are reconnected to other modules.
    Type: Grant
    Filed: May 25, 2004
    Date of Patent: June 30, 2009
    Assignee: Microsoft Corporation
    Inventors: Syon Bhattacharya, Robin Speed
  • Patent number: 7523457
    Abstract: A method to dynamically reconfigure multimedia streaming processing modules using interfaces that allow applications and modules to seamlessly change the configuration of streaming modules. Reconfigurations are initiated by a processing module in a stream or by an application by sending a notification packet through the processing modules in the portion of the stream being changed that informs that modules that a change is being made and the modules to complete processing of its data. Modules affected by the change are stopped once the notification packet is received by all processing modules in the stream being changed and modules are then added, removed, or replaced and the portion of the stream being changed resumes processing the data stream. The modules at the beginning of the portion being changed can resume operation as soon as they are reconnected to other modules.
    Type: Grant
    Filed: May 25, 2004
    Date of Patent: April 21, 2009
    Assignee: Microsoft Corporation
    Inventors: Syon Bhattacharya, Robin Speed
  • Patent number: 7451450
    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, e.g., using a priority-based policy. 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. Each resource consumer can specify one or more configurations, which may be ranked, for each activity. This allows the resource consumers to be dynamically changed from one configuration to another as operating conditions change.
    Type: Grant
    Filed: August 31, 2004
    Date of Patent: November 11, 2008
    Assignee: Microsoft Corporation
    Inventors: Mukund Sankaranarayan, Forrest C. Foltz, George Shaw, Dale A. Sather, Andy R. Raffman, Jai Srinivasan, Terje K. Backman, William G. Parry, David S. Bakin, Michael B. Jones, Sean C. McDowell, Jayachandran Raja, Robin Speed
  • Patent number: 7337446
    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: August 31, 2004
    Date of Patent: February 26, 2008
    Assignee: Microsoft Corporation
    Inventors: Mukund Sankaranarayan, Forrest C. Foltz, George Shaw, Dale A. Sather, Andy R. Raffman, Jai Srinivasan, Terje K. Backman, William G. Parry, David S. Bakin, Michael B. Jones, Sean C. McDowell, Jayachandran Raja, Robin Speed
  • Publication number: 20060236368
    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: Application
    Filed: February 27, 2006
    Publication date: October 19, 2006
    Applicant: Microsoft Corporation
    Inventors: Jayachandran Raja, Jai Srinivasan, Mukund Sankaranarayan, David Bakin, Sean McDowell, Robin Speed
  • Publication number: 20060136988
    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: Application
    Filed: February 27, 2006
    Publication date: June 22, 2006
    Applicant: Microsoft Corporation
    Inventors: Jayachandran Raja, Jai Srinivasan, Mukund Sankaranarayan, David Bakin, Sean McDowell, Robin Speed
  • Patent number: 7058947
    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: May 2, 2000
    Date of Patent: June 6, 2006
    Assignee: Microsoft Corporation
    Inventors: Jayachandran Raja, Jai Srinivasan, Mukund Sankaranarayan, David S. Bakin, Sean C. McDowell, Robin Speed
  • Patent number: 6983464
    Abstract: A method to dynamically reconfigure multimedia streaming processing modules using interfaces that allow applications and modules to seamlessly change the configuration of streaming modules. Reconfigurations are initiated by a processing module in a stream or by an application by sending a notification packet through the processing modules in the portion of the stream being changed that informs that modules that a change is being made and the modules to complete processing of its data. Modules affected by the change are stopped once the notification packet is received by all processing modules in the stream being changed and modules are then added, removed, or replaced and the portion of the stream being changed resumes processing the data stream. The modules at the beginning of the portion being changed can resume operation as soon as they are reconnected to other modules.
    Type: Grant
    Filed: July 31, 2000
    Date of Patent: January 3, 2006
    Assignee: Microsoft Corporation
    Inventors: Syon Bhattacharya, Robin Speed
  • Publication number: 20050257239
    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: Application
    Filed: May 17, 2004
    Publication date: November 17, 2005
    Applicant: Microsoft Corporation
    Inventors: Glenn Evans, Stephen Rowe, Robin Speed, Gary Sullivan
  • Publication number: 20050204289
    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: Application
    Filed: December 8, 2003
    Publication date: September 15, 2005
    Inventors: Sohail Mohammed, Kirt Debique, Geoffrey Dunbar, Patrick Nelson, Rebecca Weiss, Sumedh Barde, Adil Sherwani, Robin Speed, Alexandre Grigorovitch
  • Patent number: 6934954
    Abstract: A flexible interface that enables an application to communicate directly with processing modules to easily control the processing of streaming data. The interface provides basic commands for applications to use to communicate with processing modules and provides the flexibility to adapt to changing standards. The interface enable an application to set the type of input and output data formats of a processing module and control when the processing module processes input data and generates output data. The processing modules enurmerate its capabilities by category, by media type, or by both category and media type. Processing modules are registered by class ID, category, whether the application needs a key, the number and types of input data types, and the number and type of output data types to register.
    Type: Grant
    Filed: July 31, 2000
    Date of Patent: August 23, 2005
    Assignee: Microsoft Corporation
    Inventors: Brian D. Crites, Robin Speed, Geoffrey Dunbar, Serge Smirnov
  • Publication number: 20050132168
    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: Application
    Filed: December 11, 2003
    Publication date: June 16, 2005
    Inventors: Rebecca Weiss, Dale Sather, Mei Wilson, Kirt Debique, Alexandre Grigorovitch, Robin Speed, Adil Sherwani
  • Publication number: 20050125734
    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: Application
    Filed: December 8, 2003
    Publication date: June 9, 2005
    Inventors: Sohail Mohammed, Kirt Debique, Geoffrey Dunbar, Patrick Nelson, Rebecca Weiss, Sumedh Barde, Adil Sherwani, Robin Speed, Alexandre Grigorovitch
  • Publication number: 20050044205
    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: Application
    Filed: August 31, 2004
    Publication date: February 24, 2005
    Applicant: Microsoft Corporation
    Inventors: Mukund Sankaranarayan, Forrest Foltz, George Shaw, Dale Sather, Andy Raffman, Jai Srinivasan, Terje Backman, William Parry, David Bakin, Michael Jones, Sean McDowell, Jayachandran Raja, Robin Speed
  • Publication number: 20050030980
    Abstract: A set of interfaces and data structures (i.e., a demultiplexer API) for representing a demultiplexer of multimedia data is presented. 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: Application
    Filed: August 6, 2003
    Publication date: February 10, 2005
    Applicant: Microsoft Corporation
    Inventors: Kirt Debique, Robin Speed, C. Ludwig, Geoffrey Dunbar
  • Publication number: 20050033846
    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: Application
    Filed: August 31, 2004
    Publication date: February 10, 2005
    Applicant: Microsoft Corporation
    Inventors: Mukund Sankaranarayan, Forrest Foltz, George Shaw, Dale Sather, Andy Raffman, Jai Srinivasan, Terje Backman, William Parry, David Bakin, Michael Jones, Sean McDowell, Jayachandran Raja, Robin Speed
  • Publication number: 20050005274
    Abstract: A flexible interface that enables an application to communicate directly with processing modules to easily control the processing of streaming data. The interface provides basic commands for applications to use to communicate with processing modules and provides the flexibility to adapt to changing standards. The interface enables an application to set the type of input and output data formats of a processing module and control when the processing module processes input data and generates output data. The processing modules enumerate its capabilities by category, by media type, or by both category and media type. Processing modules are registered by class ID, category, whether the application needs a key, the number and types of input data types, and the number and type of output data types to register.
    Type: Application
    Filed: July 22, 2004
    Publication date: January 6, 2005
    Applicant: Microsoft Corporation
    Inventors: Brian Crites, Robin Speed, Geoffrey Dunbar, Serge Smirnov