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: 20070294324Abstract: 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: ApplicationFiled: June 16, 2006Publication date: December 20, 2007Applicant: Microsoft CorporationInventors: Matthijs A. Gates, Kenneth Reneris, Dale Sather
-
Publication number: 20070294311Abstract: 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: ApplicationFiled: June 16, 2006Publication date: December 20, 2007Applicant: Microsoft CorporationInventors: Matthijs A. Gates, Kenneth Reneris, Dale Sather
-
Patent number: 7289716Abstract: 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: GrantFiled: June 14, 2002Date of Patent: October 30, 2007Assignee: Microsoft CorporationInventors: Matthijs A. Gates, Jai Srinivasan
-
Patent number: 7286748Abstract: 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: GrantFiled: July 25, 2002Date of Patent: October 23, 2007Assignee: Microsoft CorporationInventors: Jai Srinivasan, Matthijs A. Gates, Philippe Ferriere
-
Patent number: 7272300Abstract: 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: GrantFiled: February 1, 2005Date of Patent: September 18, 2007Assignee: Microsoft CorporationInventors: Jai Srinivasan, Matthijs A. Gates, Mukund Sankaranarayan, Alok Chakrabarti
-
Patent number: 7260312Abstract: 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: GrantFiled: June 28, 2001Date of Patent: August 21, 2007Assignee: Microsoft CorporationInventors: Jai Srinivasan, Matthijs A. Gates, Mukund Sankarayan, Alok Chakrabarti
-
Patent number: 7254310Abstract: 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: GrantFiled: July 25, 2002Date of Patent: August 7, 2007Assignee: Microsoft CorporationInventors: Matthijs A. Gates, Jai Srinivasan
-
Patent number: 7155109Abstract: 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: GrantFiled: June 14, 2002Date of Patent: December 26, 2006Assignee: Microsoft CorporationInventors: Matthijs A. Gates, Jai Srinivasan
-
Publication number: 20060218617Abstract: 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: ApplicationFiled: March 22, 2005Publication date: September 28, 2006Applicant: Microsoft CorporationInventors: John Bradstreet, Bernhard Kotzenberg, Jan Hofmeyr, Matthijs Gates, Thaddeus Pritchett
-
Publication number: 20050216752Abstract: 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: ApplicationFiled: March 26, 2004Publication date: September 29, 2005Inventors: Jan Hofmeyr, Colin Acton, Bernhard Kotzenberg, Arnaud Robert, James Alkove, Thaddeus Pritchett, Matthijs Gates
-
Publication number: 20050193005Abstract: 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: ApplicationFiled: February 13, 2004Publication date: September 1, 2005Inventors: Matthijs Gates, John Bradstreet, Glenn Evans, Luke McCullough, Rebecca Weiss
-
Publication number: 20050141874Abstract: 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: ApplicationFiled: February 1, 2005Publication date: June 30, 2005Applicant: Microsoft CorporationInventors: Jai Srinivasan, Matthijs Gates, Mukund Sankarayan, Alok Chakrabarti
-
Publication number: 20050141886Abstract: 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: ApplicationFiled: February 1, 2005Publication date: June 30, 2005Applicant: Microsoft CorporationInventors: Jai Srinivasan, Matthijs Gates, Mukund Sankarayan, Alok Chakrabarti
-
Publication number: 20050129049Abstract: 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: ApplicationFiled: February 1, 2005Publication date: June 16, 2005Applicant: Microsoft CorporationInventors: Jai Srinivasan, Matthijs Gates, Mukund Sankarayan, Alok Chakrabarti
-
Publication number: 20040268397Abstract: 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: ApplicationFiled: June 27, 2003Publication date: December 30, 2004Applicant: Microsoft CorporationInventors: Geoffrey T. Dunbar, Kirt Debique, Glenn F. Evans, Robin C. B. Speed, Stephen Rowe, Rebecca C. Weiss, Matthijs Gates
-
Publication number: 20040258060Abstract: 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: ApplicationFiled: June 23, 2003Publication date: December 23, 2004Applicant: MICROSOFT CORPORATIONInventors: Wenhong Liu, Tuan D. Le, Matthijs A. Gates
-
Publication number: 20040028042Abstract: 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: ApplicationFiled: July 25, 2002Publication date: February 12, 2004Inventors: Jai Srinivasan, Matthijs A. Gates, Philippe Ferriere
-
Publication number: 20040018005Abstract: 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: ApplicationFiled: July 25, 2002Publication date: January 29, 2004Inventors: Matthijs A. Gates, Jai Srinivasan
-
Publication number: 20040019911Abstract: 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: ApplicationFiled: July 25, 2002Publication date: January 29, 2004Inventors: Matthijs A. Gates, Jai Srinivasan
-
Publication number: 20040017999Abstract: 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: ApplicationFiled: July 25, 2002Publication date: January 29, 2004Inventors: John Bradstreet, Matthijs A. Gates, Thaddeus C. Pritchett