Patents by Inventor Gurpratap Virdi

Gurpratap Virdi 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: 7716699
    Abstract: A home entertainment network transmits audio/video decrypted from a DVD over a network to a media receiver using a secure channel. The A/V data is re-encrypted in a second encryption format amenable to transmission over the network. The media stream is thereby compliant with copy protection and digital rights management requirements. The media server constructs an emulated user interface corresponding to an actual instantiation of a navigation menu on the media server to solicit user input at the media receiver. The media server alternatively constructs a unique identifier of the DVD based upon the file structure on the DVD to search for menu navigation commands over an external network for heuristic navigation control.
    Type: Grant
    Filed: June 29, 2006
    Date of Patent: May 11, 2010
    Assignee: Microsoft Corporation
    Inventors: Glenn F. Evans, Todd Bowra, Ashley C. Speicher, Gurpratap Virdi
  • Publication number: 20100114921
    Abstract: Media fragmentation may be provided. First, a request for a manifest may be received from a client. Then, in response to the received request for the manifest, the manifest may be sent to the client. Next, a request may be received from the client for a file fragment. The request may indicate a start time and an end time corresponding to the file fragment. The request may be in a format defined by the manifest. Then a lookup table may be queried for a first byte location in a media file corresponding to the start time and a second byte location in the media file corresponding to the end time. Next, a portion of the media file between the first byte location and the second byte location may be extracted from the media file. The portion may comprise the file fragment. The file fragment may be sent to the client.
    Type: Application
    Filed: October 31, 2008
    Publication date: May 6, 2010
    Applicant: Microsoft Corporation
    Inventors: John A. Bocharov, Geqiang Zhang, Gurpratap Virdi, Vishal Sood
  • Publication number: 20100100637
    Abstract: A media experience policy engine includes three components: an information manager, a policy evaluator, and an enforcement module. The information manager collects information regarding the current state of a media delivery system, such as, for example, usage of a CPU, memory, hard disk, (I/O) interface, and a network. This collected data is then verified by the policy evaluator to see if resource contention is, or is close to, occurring. If so, existing or potential conflicts are dealt with by the enforcement module, which applies corrections, such as, for example, limiting the access of later chronologic users, or degrading the user experience of all users, in accordance with a desired policy in order to vitiate the resource contention and maintain a user experience consistent with the desired policy.
    Type: Application
    Filed: December 24, 2009
    Publication date: April 22, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Todd Bowra, Jeffrey Davis, Gurpratap Virdi, Nicholas Fang
  • Patent number: 7685616
    Abstract: Strategies are described for coalescing the processing tasks associated with a series of control events that occur relatively close together in time. The coalescing can involve eliminating redundant tasks by more directly advancing to a terminal control state. One exemplary application of the control coalescing is in the playback of media content information in a networked environment. When a user enters a series of commands to repeatedly change the channel, or repeatedly seek new positions within a single stream, the control coalescing comes into play by aggregating these control events so that it requires fewer control processing tasks to perform. This provision helps reduce the latency associated with handling multiple control events that occur close together in time.
    Type: Grant
    Filed: July 29, 2004
    Date of Patent: March 23, 2010
    Assignee: Microsoft Corporation
    Inventors: Gurpratap Virdi, Jeffrey A. Davis
  • Patent number: 7669082
    Abstract: Techniques for playing a media file in a multimedia application include launching a multimedia application as one process and automatically launching a pipeline of one or more media processing components as one or more isolated processes. In this manner, any untrustworthy components can be executed in an isolated process that is separate from the execution process of the multimedia application, thereby improving fault tolerance and hang resistance.
    Type: Grant
    Filed: April 11, 2007
    Date of Patent: February 23, 2010
    Inventors: Sumedh N. Barde, Kirt A. Debique, Alexandre V. Grigorovitch, Sohail Baig Mohammed, Patrick N. Nelson, Gurpratap Virdi, Stephen C. Rowe
  • Patent number: 7664856
    Abstract: A media experience policy engine includes three components: an information manager, a policy evaluator, and an enforcement module. The information manager collects information regarding the current state of a media delivery system, such as, for example, usage of a CPU, memory, hard disk, (I/O) interface, and a network. This collected data is then verified by the policy evaluator to see if resource contention is, or is close to, occurring. If so, existing or potential conflicts are dealt with by the enforcement module, which applies corrections, such as, for example, limiting the access of later chronologic users, or degrading the user experience of all users, in accordance with a desired policy in order to vitiate the resource contention and maintain a user experience consistent with the desired policy.
    Type: Grant
    Filed: July 28, 2005
    Date of Patent: February 16, 2010
    Assignee: Microsoft Corporation
    Inventors: Todd Bowra, Jeffrey Davis, Gurpratap Virdi, Nicholas Fang
  • Publication number: 20090300145
    Abstract: The present disclosure relates to playback of video/audio streaming media data with seamless advertisement insertion. A content player monitors playback of the media stream and determines a location to insert an advertisement. The content player pauses downloads of the media stream and begins downloading the advertisement while the media stream continues to be rendered. The advertisement is, consequently, loaded prior to a start time and allows for an instantaneous rendering at an advertisement insertion point in the media stream.
    Type: Application
    Filed: August 7, 2008
    Publication date: December 3, 2009
    Applicant: Microsoft Corporation
    Inventors: Eldar Musayev, Gurpratap Virdi
  • Publication number: 20090300204
    Abstract: The present disclosure relates to playback of video/audio streaming media data to provide a substantially glitch-free experience. The system adapts the media stream to the user connection in order to choose the most desirable stream to avoid glitches. For example, in the case where there is interference (e.g., a microwave being used near a wireless device), the quality of the media stream is lowered. In one embodiment, an index file is used to make logical decisions about which media stream to choose in order to minimize glitches. The index file can take different forms, but, generally, includes characteristics about the available media streams. Example characteristics include the bit rates of the media streams and quality information about the media streams.
    Type: Application
    Filed: August 7, 2008
    Publication date: December 3, 2009
    Applicant: Microsoft Corporation
    Inventors: Wenbo Zhang, Serge Smirnov, Kishore Kotteri, Gurpratap Virdi, Eldar Musayev, Florin Folta
  • Publication number: 20090300203
    Abstract: The present disclosure relates to playback of video/audio streaming media data to provide a glitch-free experience. The system adapts the media stream to the user connection in order to provide the glitch-free experience. Stream selection can be made using a heuristics module located on the playback device that analyzes various aspects of the playback to make intelligent decisions about which media stream to download from a network.
    Type: Application
    Filed: August 7, 2008
    Publication date: December 3, 2009
    Applicant: Microsoft Corporation
    Inventors: Gurpratap Virdi, Andres Vega-Garcia, Serge Smirnov, Wenbo Zhang, Eldar Musayev
  • Publication number: 20090297123
    Abstract: The present disclosure relates to playback of video/audio streaming media data. The media stream is available from the network at multiple bit rates. When a seek operation is performed, a playback device requests a lower bit rate media stream in order to quickly fill a playback buffer so that playback can commence more readily. After a seek start-up period is complete, the playback device can return to downloading the media stream associated with higher bit rates in order to increase the quality of the playback.
    Type: Application
    Filed: August 7, 2008
    Publication date: December 3, 2009
    Applicant: Microsoft Corporation
    Inventors: Gurpratap Virdi, Andres Vega-Garcia, Wenbo Zhang, Eldar Musayev
  • Publication number: 20090282475
    Abstract: Described is a technology by which code, such as an untrusted web application hosted in a browser, provides content through an interface for playback by an application environment, such as an application environment running in a browser plug-in. Content may be in the form of elementary video, audio and/or script streams. The content is in a container that is unpackaged by the application code, whereby the content may be packaged in any format that the application understands, and/or or come from any source from which the application can download the container. An application environment component such as a platform-level media element receives information from an application that informs the application environment that the application is to provide media stream data for playback. The application environment requests media stream data (e.g., samples) from the application, receives them as processed by the application, and provides the requested media stream data for playback.
    Type: Application
    Filed: May 12, 2008
    Publication date: November 12, 2009
    Applicant: Microsoft Corporation
    Inventors: Sam J. George, Gilles Khouzam, Michael R. Harsh, Gurpratap Virdi, John Gossman, Michael John Hillberg, Greg D. Schechter, Donald D. Karlov, Eldar A. Musayev, Wenbo Zhang, Serge Smirnov, Federico Schliemann, Lawrence Wayne Olson, Akshay Johar, Weibing Zhan
  • Publication number: 20090228936
    Abstract: Program code enabling the streaming of HD content in real-time to a game console is stored on a storage medium remote from the game console. The game console executes software that facilitates transfer of the program code from the remote storage medium to the game console. The program code ensures that sufficient bandwidth exists on a network between the game console and a HD tuner, and enables the streaming of HD content in real-time to the game console.
    Type: Application
    Filed: September 9, 2008
    Publication date: September 10, 2009
    Applicant: Microsoft Corporation
    Inventors: Jeffrey Davis, Todd Bowra, Ashley Speicher, Gurpratap Virdi, Vu Nguyen
  • Patent number: 7571246
    Abstract: A transrate manager on a host computer determines if there is a limitation in network bandwidth and controls the bit-rate of streaming media content accordingly. The bit-rate is controlled by excluding types of video frames from the streaming media content and then reintroducing excluded types of video frames back into the streaming video content once the network has recovered.
    Type: Grant
    Filed: July 29, 2004
    Date of Patent: August 4, 2009
    Assignee: Microsoft Corporation
    Inventors: Gurpratap Virdi, Jeffrey A. Davis
  • Publication number: 20090178096
    Abstract: An intelligent multi-sending of data stream segments is disclosed. One embodiment comprises monitoring one or more variable data transmission parameters, detecting one or more invariant media data segment parameters, assigning a value to the media data segment based upon the one or more invariant media data segment parameters and the one or more variable data transmission parameters, comparing the value to a threshold, and sending multiple copies of the media data segment over a network link to a media receiver if the value is above the threshold.
    Type: Application
    Filed: January 3, 2008
    Publication date: July 9, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Valerian Menn, Nicholas Fang, Gurpratap Virdi, Todd Bowra
  • Publication number: 20090178087
    Abstract: An intelligent retransmission of data stream segments is disclosed. One embodiment comprises detecting a missing media data segment at a media receiver, assigning a value to the missing media data segment based upon media playback consequences of not utilizing the missing media data segment, comparing the value with a threshold, and requesting retransmission of the missing media data segment from a media server if the value meets a predetermined condition relative to the threshold. In this manner, retransmission is requested when it is determined that retransmission will improve playback performance relative to non-retransmission.
    Type: Application
    Filed: January 3, 2008
    Publication date: July 9, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Valerian Menn, Nicholas Fang, Gurpratap Virdi, Todd Bowra
  • Publication number: 20090125634
    Abstract: Partial content syncing in a network media receiver is disclosed. One embodiment comprises identifying available cache space on the media receiver, detecting a media data file to be downloaded from a media server, and pre-buffering a portion of the media data on the media receiver prior to selection of the media data file for playback. In this manner, substantially glitch-free playback of a media data file may be started with little delay and with relatively little local storage.
    Type: Application
    Filed: November 8, 2007
    Publication date: May 14, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Gurpratap Virdi, Todd Bowra, Nicholas Fang, Amit Pande
  • Patent number: 7480315
    Abstract: A system receives multiple data samples and determines time stamp values associated with each of the multiple data samples. The system identifies an earliest time stamp value and uses that time stamp value as an initial system clock value. The system may also subtract a delay factor from the earliest time stamp value to account for delay in decoding the multiple data samples. The earliest time stamp value is also communicated to an audio decoder and a video decoder. The audio and video decoders provide clock data back to a component that maintains the system clock value. If the difference between the clock data received from the decoders and the system clock value exceeds a threshold value, the system clock value is recalculated.
    Type: Grant
    Filed: December 31, 2004
    Date of Patent: January 20, 2009
    Assignee: Microsoft Corporation
    Inventors: Gurpratap Virdi, Jeffrey A. Davis
  • Patent number: 7477264
    Abstract: Compositing functionality is provided in the form of an application program interface (API) that applications can utilize to composite images on video data that is to be rendered. In at least some embodiments, this functionality is exposed in a multimedia pipeline towards the end of the multimedia pipeline, such as at or by a renderer component. A set of methods exposed by the API permit an application to create and manage image compositing.
    Type: Grant
    Filed: August 12, 2005
    Date of Patent: January 13, 2009
    Assignee: Microsoft Corporation
    Inventors: Alexandre V. Grigorovitch, Jay Senior, Jonathan M. Cain, Gurpratap Virdi, Sohail Baig Mohammed, Kirt A. Debique, Gareth Howell, Tim Cowley, Miguel M. Valdez, Stephen J. Estrop
  • Publication number: 20080256341
    Abstract: Strategies for automatically selecting the most appropriate processing pipeline (or runtime) for a particular data item are described. In one embodiment, a media playing application automatically selects the most appropriate media processing pipeline for a media data item from multiple available processing pipelines, or candidates. In this regard, the application makes this selection by utilizing heuristic techniques to identify which available pipeline provides the most enhanced playback experience to a user with respect to certain attributes such as supported playback features and security. These heuristic techniques can take one or more criteria into account and can be implemented in any suitable way. By way of example and not limitation, in one embodiment, a selection process is used wherein potential pipeline candidates are ordered and sequentially evaluated.
    Type: Application
    Filed: April 11, 2007
    Publication date: October 16, 2008
    Applicant: Microsoft Corporation
    Inventors: Tomer Weisberg, Gurpratap Virdi, Thobias Jones, Miguel M. Valdez, Alexandre V. Grigorovitch, Matthew Howard
  • Publication number: 20080256539
    Abstract: Techniques for playing a media file in a multimedia application include launching a multimedia application as one process and automatically launching a pipeline of one or more media processing components as one or more isolated processes. In this manner, any untrustworthy components can be executed in an isolated process that is separate from the execution process of the multimedia application, thereby improving fault tolerance and hang resistance.
    Type: Application
    Filed: April 11, 2007
    Publication date: October 16, 2008
    Applicant: Microsoft Corporation
    Inventors: Sumedh N. Barde, Kirt A. Debique, Alexandre V. Grigorovitch, Sohail Baig Mohammed, Patrick N. Nelson, Gurpratap Virdi, Stephen C. Rowe