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: 7665095Abstract: 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: GrantFiled: May 25, 2004Date of Patent: February 16, 2010Assignee: Microsoft CorporationInventors: Syon Bhattacharya, Robin Speed
-
Patent number: 7649943Abstract: 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: GrantFiled: April 20, 2001Date of Patent: January 19, 2010Assignee: Microsoft CorporationInventors: Robin Speed, Nicholas P. Wilt
-
Patent number: 7600233Abstract: 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: GrantFiled: July 22, 2004Date of Patent: October 6, 2009Assignee: Microsoft CorporationInventors: Brian D. Crites, Robin Speed, Geoffrey Dunbar, Serge Smirnov
-
Patent number: 7555756Abstract: 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: GrantFiled: May 25, 2004Date of Patent: June 30, 2009Assignee: Microsoft CorporationInventors: Syon Bhattacharya, Robin Speed
-
Patent number: 7523457Abstract: 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: GrantFiled: May 25, 2004Date of Patent: April 21, 2009Assignee: Microsoft CorporationInventors: Syon Bhattacharya, Robin Speed
-
Patent number: 7451450Abstract: 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: GrantFiled: August 31, 2004Date of Patent: November 11, 2008Assignee: Microsoft CorporationInventors: 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: 7337446Abstract: 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: GrantFiled: August 31, 2004Date of Patent: February 26, 2008Assignee: Microsoft CorporationInventors: 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: 20060236368Abstract: 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: ApplicationFiled: February 27, 2006Publication date: October 19, 2006Applicant: Microsoft CorporationInventors: Jayachandran Raja, Jai Srinivasan, Mukund Sankaranarayan, David Bakin, Sean McDowell, Robin Speed
-
Publication number: 20060136988Abstract: 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: ApplicationFiled: February 27, 2006Publication date: June 22, 2006Applicant: Microsoft CorporationInventors: Jayachandran Raja, Jai Srinivasan, Mukund Sankaranarayan, David Bakin, Sean McDowell, Robin Speed
-
Patent number: 7058947Abstract: 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: GrantFiled: May 2, 2000Date of Patent: June 6, 2006Assignee: Microsoft CorporationInventors: Jayachandran Raja, Jai Srinivasan, Mukund Sankaranarayan, David S. Bakin, Sean C. McDowell, Robin Speed
-
Patent number: 6983464Abstract: 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: GrantFiled: July 31, 2000Date of Patent: January 3, 2006Assignee: Microsoft CorporationInventors: Syon Bhattacharya, Robin Speed
-
Publication number: 20050257239Abstract: 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: ApplicationFiled: May 17, 2004Publication date: November 17, 2005Applicant: Microsoft CorporationInventors: Glenn Evans, Stephen Rowe, Robin Speed, Gary Sullivan
-
Publication number: 20050204289Abstract: 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: ApplicationFiled: December 8, 2003Publication date: September 15, 2005Inventors: Sohail Mohammed, Kirt Debique, Geoffrey Dunbar, Patrick Nelson, Rebecca Weiss, Sumedh Barde, Adil Sherwani, Robin Speed, Alexandre Grigorovitch
-
Patent number: 6934954Abstract: 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: GrantFiled: July 31, 2000Date of Patent: August 23, 2005Assignee: Microsoft CorporationInventors: Brian D. Crites, Robin Speed, Geoffrey Dunbar, Serge Smirnov
-
Publication number: 20050132168Abstract: 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: ApplicationFiled: December 11, 2003Publication date: June 16, 2005Inventors: Rebecca Weiss, Dale Sather, Mei Wilson, Kirt Debique, Alexandre Grigorovitch, Robin Speed, Adil Sherwani
-
Publication number: 20050125734Abstract: 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: ApplicationFiled: December 8, 2003Publication date: June 9, 2005Inventors: Sohail Mohammed, Kirt Debique, Geoffrey Dunbar, Patrick Nelson, Rebecca Weiss, Sumedh Barde, Adil Sherwani, Robin Speed, Alexandre Grigorovitch
-
Publication number: 20050044205Abstract: 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: ApplicationFiled: August 31, 2004Publication date: February 24, 2005Applicant: Microsoft CorporationInventors: 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: 20050030980Abstract: 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: ApplicationFiled: August 6, 2003Publication date: February 10, 2005Applicant: Microsoft CorporationInventors: Kirt Debique, Robin Speed, C. Ludwig, Geoffrey Dunbar
-
Publication number: 20050033846Abstract: 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: ApplicationFiled: August 31, 2004Publication date: February 10, 2005Applicant: Microsoft CorporationInventors: 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: 20050005274Abstract: 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: ApplicationFiled: July 22, 2004Publication date: January 6, 2005Applicant: Microsoft CorporationInventors: Brian Crites, Robin Speed, Geoffrey Dunbar, Serge Smirnov