Patents by Inventor Matthijs A. Gates

Matthijs A. Gates 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).

  • Publication number: 20070294324
    Abstract: Techniques to manage media files may be described. An apparatus may comprise a media processing sub-system having a processor, a memory, and a communications interface. The memory may store a media file manager for execution by the processor. The communications interface may receive multiple media streams of media information. The media file manager may store the multiple media streams in a single file using a hierarchy of name-value pairs. Other embodiments are described and claimed.
    Type: Application
    Filed: June 16, 2006
    Publication date: December 20, 2007
    Applicant: Microsoft Corporation
    Inventors: Matthijs A. Gates, Kenneth Reneris, Dale Sather
  • Publication number: 20070294311
    Abstract: An application program interface to manage media files may be described. An apparatus may comprise a media processing sub-system having a processor and a memory. The memory may store an application program interface software library having multiple software objects. The processor may execute the software objects in response to application program interface commands in order to manage a virtual file comprising a hierarchy of name-value pairs used to store media content from multiple media streams. Other embodiments are described and claimed.
    Type: Application
    Filed: June 16, 2006
    Publication date: December 20, 2007
    Applicant: Microsoft Corporation
    Inventors: Matthijs A. Gates, Kenneth Reneris, Dale Sather
  • Patent number: 7289716
    Abstract: A programmable video recorder (PVR) includes a writer application programming interface (API) and a reader API that operate essentially independently to enable the PVR to be networked to multiple reader applications. The writer API creates a backing store and a shared memory mapped file. The backing store stores streamed data in temporary files. The shared memory mapped file stores state information of the backing store files. The reader API receives requests from reader applications to access the stored streamed data. In response to the requests, the reader API permits the reader applications to access the shared memory mapped file to determine where the stored streamed data is located. Upon locating the stored data, the reader API permits the requesting reader applications to access the stored streamed data.
    Type: Grant
    Filed: June 14, 2002
    Date of Patent: October 30, 2007
    Assignee: Microsoft Corporation
    Inventors: Matthijs A. Gates, Jai Srinivasan
  • Patent number: 7286748
    Abstract: A computing system connected to storage medium and one or more rendering devices receives streamed multimedia data. The multimedia data is encoded in a format, such as an Advanced Streaming Format, that is conducive to storing the multimedia data in files having appended indexes. Upon receiving the multimedia data, the multimedia data is written to file structures within the storage medium, while at the same time maintaining a real-time index for each file in a shared memory. After a file is complete, the real-time index is appended to the completed file and deleted from the shared memory. When a request for data is received that pertains to a file that does not have an appended index, the computing system obtains any necessary file index information from the real-time index in the shared memory, thereby enabling the requested data to be accessed.
    Type: Grant
    Filed: July 25, 2002
    Date of Patent: October 23, 2007
    Assignee: Microsoft Corporation
    Inventors: Jai Srinivasan, Matthijs A. Gates, Philippe Ferriere
  • Patent number: 7272300
    Abstract: A system receives a broadcast program and temporarily stores the program data. A request is received to permanently record the broadcast program. This request is received after a portion of the broadcast program has been received and temporarily stored. The broadcast program is then permanently recorded, including the temporarily stored program data. A metafile identifies portions of the broadcast program and is accessible by a reader to continuously retrieve the stored portions of the broadcast program.
    Type: Grant
    Filed: February 1, 2005
    Date of Patent: September 18, 2007
    Assignee: Microsoft Corporation
    Inventors: Jai Srinivasan, Matthijs A. Gates, Mukund Sankaranarayan, Alok Chakrabarti
  • Patent number: 7260312
    Abstract: A system receives a broadcast program and temporarily stores the program data. A request is received to permanently record the broadcast program. This request is received after a portion of the broadcast program has been received and temporarily stored. The broadcast program is then permanently recorded, including the temporarily stored program data. A metafile identifies portions of the broadcast program and is accessible by a reader to continuously retrieve the stored portions of the broadcast program.
    Type: Grant
    Filed: June 28, 2001
    Date of Patent: August 21, 2007
    Assignee: Microsoft Corporation
    Inventors: Jai Srinivasan, Matthijs A. Gates, Mukund Sankarayan, Alok Chakrabarti
  • Patent number: 7254310
    Abstract: According to one embodiment, a Programmable Video Recorder (PVR) receives streaming multimedia data from a data source and stores the multimedia data in a backing store. Prior to being stored, the multimedia data is assigned Presentation TimeStamps (PTS)s according to a capture graph clock that is associated with the PVR. Thereafter, system clock times that correspond with the times in which each data packet is read from the backing store are compared with the corresponding PTSs of each data packet to generate a clock scaling value that is used to slave the system clock with the capture graph clock. The clock scaling value may include the average of a plurality of scaling values that are calculated during a predetermined duration of time corresponding with the most recently read data packets.
    Type: Grant
    Filed: July 25, 2002
    Date of Patent: August 7, 2007
    Assignee: Microsoft Corporation
    Inventors: Matthijs A. Gates, Jai Srinivasan
  • Patent number: 7155109
    Abstract: A computing system connected to storage medium and one or more rendering devices identifies and processes only selected frames of data that are stored on the storage medium, thereby reducing the resources and bandwidth is required to process and transmit the data to the rendering device(s) at a desired playback. The computing system has various modes for selecting the frames to be processed and transmitted. In one mode, all frames are selected. In another mode, only the key frames are selected. In yet other modes, only certain key frames are selected. Upon selecting the frames to be transmitted to the rendering device(s), the time stamps assigned to the selected frames are scaled so that the selected frames will be displayed for an appropriate duration of time that corresponds with the desired playback rate.
    Type: Grant
    Filed: June 14, 2002
    Date of Patent: December 26, 2006
    Assignee: Microsoft Corporation
    Inventors: Matthijs A. Gates, Jai Srinivasan
  • Publication number: 20060218617
    Abstract: Innovative techniques for identifying and distinguishing content, such as commercials, can be used with means for marking key frames within the commercials to facilitate replacement of commercials and other programming segments in such a way as to provide improved focus and relevance for targeted advertising based on known and/or dynamic conditions. The identification of commercial features can also be used to provide improved trick play functionality while the commercial or other programming is rendered.
    Type: Application
    Filed: March 22, 2005
    Publication date: September 28, 2006
    Applicant: Microsoft Corporation
    Inventors: John Bradstreet, Bernhard Kotzenberg, Jan Hofmeyr, Matthijs Gates, Thaddeus Pritchett
  • Publication number: 20050216752
    Abstract: A transport stream is encrypted in such a manner that the stream may be processed without requiring encrypted portions of the stream to be decrypted. Thus, an analysis is performed on the stream to determine at least one portion of the stream that is to pass unencrypted, thus enabling the stream to be processed in a manner that bypasses encrypted portions of the stream.
    Type: Application
    Filed: March 26, 2004
    Publication date: September 29, 2005
    Inventors: Jan Hofmeyr, Colin Acton, Bernhard Kotzenberg, Arnaud Robert, James Alkove, Thaddeus Pritchett, Matthijs Gates
  • Publication number: 20050193005
    Abstract: Methods, systems, and computer program products for arbitrarily indexing multimedia content. In accordance with example embodiments, a multimedia content stream that comprises one or more samples is received. At least one of the samples is passed to one or more multimedia filters for analysis based on criteria that define an index type for the multimedia filter. Once it is determined that the sample meets the criteria for an arbitrary filter and index type, an index entry that identifies both the sample and the index type of the arbitrary filter is created. The index entry is adapted in accordance with a common, extensible indexing scheme to coexist with other index entries of other or the same index type for the sample. The created index entry is stored for subsequent access.
    Type: Application
    Filed: February 13, 2004
    Publication date: September 1, 2005
    Inventors: Matthijs Gates, John Bradstreet, Glenn Evans, Luke McCullough, Rebecca Weiss
  • Publication number: 20050141874
    Abstract: A system receives a broadcast program and temporarily stores the program data. A request is received to permanently record the broadcast program. This request is received after a portion of the broadcast program has been received and temporarily stored. The broadcast program is then permanently recorded, including the temporarily stored program data. A metafile identifies portions of the broadcast program and is accessible by a reader to continuously retrieve the stored portions of the broadcast program.
    Type: Application
    Filed: February 1, 2005
    Publication date: June 30, 2005
    Applicant: Microsoft Corporation
    Inventors: Jai Srinivasan, Matthijs Gates, Mukund Sankarayan, Alok Chakrabarti
  • Publication number: 20050141886
    Abstract: A system receives a broadcast program and temporarily stores the program data. A request is received to permanently record the broadcast program. This request is received after a portion of the broadcast program has been received and temporarily stored. The broadcast program is then permanently recorded, including the temporarily stored program data. A metafile identifies portions of the broadcast program and is accessible by a reader to continuously retrieve the stored portions of the broadcast program.
    Type: Application
    Filed: February 1, 2005
    Publication date: June 30, 2005
    Applicant: Microsoft Corporation
    Inventors: Jai Srinivasan, Matthijs Gates, Mukund Sankarayan, Alok Chakrabarti
  • Publication number: 20050129049
    Abstract: A system receives a broadcast program and temporarily stores the program data. A request is received to permanently record the broadcast program. This request is received after a portion of the broadcast program has been received and temporarily stored. The broadcast program is then permanently recorded, including the temporarily stored program data. A metafile identifies portions of the broadcast program and is accessible by a reader to continuously retrieve the stored portions of the broadcast program.
    Type: Application
    Filed: February 1, 2005
    Publication date: June 16, 2005
    Applicant: Microsoft Corporation
    Inventors: Jai Srinivasan, Matthijs Gates, Mukund Sankarayan, Alok Chakrabarti
  • 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: 20040258060
    Abstract: Systems, methods, and computer program products for parsing a packetized, multi-program transport stream are disclosed. A packetized, multi-program transport stream is received in a demultiplexer. Program specific information is extracted from the program stream and displayed on a user interface. A user may select a program from the program stream for further processing. The user interface generates a signal indicative of the selected program, and the demultiplexer output is configured based on the selection signal.
    Type: Application
    Filed: June 23, 2003
    Publication date: December 23, 2004
    Applicant: MICROSOFT CORPORATION
    Inventors: Wenhong Liu, Tuan D. Le, Matthijs A. Gates
  • Publication number: 20040028042
    Abstract: A computing system connected to storage medium and one or more rendering devices receives streamed multimedia data. The multimedia data is encoded in a format, such as an Advanced Streaming Format, that is conducive to storing the multimedia data in files having appended indexes. Upon receiving the multimedia data, the multimedia data is written to file structures within the storage medium, while at the same time maintaining a real-time index for each file in a shared memory. After a file is complete, the real-time index is appended to the completed file and deleted from the shared memory. When a request for data is received that pertains to a file that does not have an appended index, the computing system obtains any necessary file index information from the real-time index in the shared memory, thereby enabling the requested data to be accessed.
    Type: Application
    Filed: July 25, 2002
    Publication date: February 12, 2004
    Inventors: Jai Srinivasan, Matthijs A. Gates, Philippe Ferriere
  • Publication number: 20040018005
    Abstract: According to one embodiment, a Programmable Video Recorder (PVR) receives streaming multimedia data from a data source and stores the multimedia data in a backing store. Prior to being stored, the multimedia data is assigned Presentation TimeStamps (PTS)s according to a capture graph clock that is associated with the PVR. Thereafter, system clock times that correspond with the times in which each data packet is read from the backing store are compared with the corresponding PTSs of each data packet to generate a clock scaling value that is used to slave the system clock with the capture graph clock. The clock scaling value may include the average of a plurality of scaling values that are calculated during a predetermined duration of time corresponding with the most recently read data packets.
    Type: Application
    Filed: July 25, 2002
    Publication date: January 29, 2004
    Inventors: Matthijs A. Gates, Jai Srinivasan
  • Publication number: 20040019911
    Abstract: A computing system that has access to a streamed multimedia sample that is stored on a storage medium applies a zero-based presentation timestamp numbering scheme to the data packets of the multimedia sample, on-the-fly, and after each seek operation. After seeking to a desired starting point, the computing system reads ahead a maximum number of data packets within each media stream of the multimedia sample. A smallest timestamp (normalizing presentation timestamp) is identified and then subtracted from the timestamps of the data packets that are transmitted to the appropriate rendering devices, thereby creating appropriate presentation timestamps for the data packets for synchronizing the playback of the multimedia sample.
    Type: Application
    Filed: July 25, 2002
    Publication date: January 29, 2004
    Inventors: Matthijs A. Gates, Jai Srinivasan
  • Publication number: 20040017999
    Abstract: A computing system such as a Programmable Video Recorder (PVR) receives broadcast data and enhanced file-state data from a data source. The broadcast data may include multimedia data. The enhanced file-state data may include web-based data such as ATVEF data. The PVR buffers the broadcast data and the enhanced file-state data in a backing store that is associated with the PVR. The PVR also creates an index for indexing the enhanced file-state data so that, when the broadcast data is rendered, the correct file-state data can be located and rendered at the appropriate time with the broadcast data. The index may classify the enhanced file-state data by GUID, sequence number, and valid start and end times associated with corresponding broadcast data. The index may also include pointers for locating the enhanced file-state data from the buffer of the PVR.
    Type: Application
    Filed: July 25, 2002
    Publication date: January 29, 2004
    Inventors: John Bradstreet, Matthijs A. Gates, Thaddeus C. Pritchett