Patents by Inventor Stephen J. Estrop

Stephen J. Estrop 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: 20090327344
    Abstract: Techniques are provided to allow developers to use a unified application programming interface to access multimedia data from different containers and in different formats.
    Type: Application
    Filed: June 26, 2008
    Publication date: December 31, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Matthew C. Howard, Stephen J. Estrop
  • Patent number: 7639265
    Abstract: Techniques and tools for representing pixel data in a video processing or capture system are described. Described techniques and tools provide efficient color representation for video processing and capture, and provide flexibility for representing colors using different bit precisions and memory layouts. Described techniques and tools include video formats that can be used, for example, in hardware or software for capture, processing, and display purposes. In one aspect, chroma and luma information for a pixel in a video image is represented in a 16-bit fixed-point block of data having an integer and fractional components. Data can be easily converted from one representation to another (e.g., between 16-bit and 10-bit representations). In other aspects, formats for representing 8-, 10- and 16-bit video image data (e.g., packed and hybrid planar formats), and codes for indicating the formats, are described.
    Type: Grant
    Filed: September 6, 2007
    Date of Patent: December 29, 2009
    Assignee: Microsoft Corporation
    Inventors: Glenn F. Evans, Stephen J. Estrop
  • Publication number: 20090168805
    Abstract: Methods and systems provide approaches to start code emulation prevention at a granularity higher than the bit level. By operating at a level other than the bit level, processing capability requirements on both the encoder and decoder side can be reduced. In accordance with one or more embodiments, a start code emulation prevention method looks for data patterns relative to fixed-size data portions larger than single bits. When a particular pattern is found, start code emulation prevention data is inserted to prevent start code emulation. The inserted data is larger than a single bit and, in some embodiments, comprises a byte. When a decoder decodes data that has had start code emulation prevention data inserted, it can easily identify legitimate start codes and then can remove the start code emulation prevention data to provide the original data that was protected.
    Type: Application
    Filed: March 6, 2009
    Publication date: July 2, 2009
    Applicant: Microsoft Corporation
    Inventors: Gary J. Sullivan, Stephen J. Estrop
  • Patent number: 7548245
    Abstract: Techniques and tools for representing pixel data in a video processing or capture system are described. Described techniques and tools provide efficient color representation for video processing and capture, and provide flexibility for representing colors using different bit precisions and memory layouts. Described techniques and tools include video formats that can be used, for example, in hardware or software for capture, processing, and display purposes. In one aspect, chroma and luma information for a pixel in a video image is represented in a 16-bit fixed-point block of data having an integer and fractional components. Data can be easily converted from one representation to another (e.g., between 16-bit and 10-bit representations). In other aspects, formats for representing 8-, 10- and 16-bit video image data (e.g., packed and hybrid planar formats), and codes for indicating the formats, are described.
    Type: Grant
    Filed: September 6, 2007
    Date of Patent: June 16, 2009
    Assignee: Microsoft Corporation
    Inventors: Glenn F. Evans, Stephen J. Estrop
  • Patent number: 7505485
    Abstract: Methods and systems provide approaches to start code emulation prevention at a granularity higher than the bit level. By operating at a level other than the bit level, processing capability requirements on both the encoder and decoder side can be reduced. In accordance with one or more embodiments, a start code emulation prevention method looks for data patterns relative to fixed-size data portions larger than single bits. When a particular pattern is found, start code emulation prevention data is inserted to prevent start code emulation. The inserted data is larger than a single bit and, in some embodiments, comprises a byte. When a decoder decodes data that has had start code emulation prevention data inserted, it can easily identify legitimate start codes and then can remove the start code emulation prevention data to provide the original data that was protected.
    Type: Grant
    Filed: January 22, 2003
    Date of Patent: March 17, 2009
    Assignee: Microsoft Corporation
    Inventors: Gary J. Sullivan, Stephen J. Estrop
  • Publication number: 20090031328
    Abstract: Facilitating interaction may be enabled through communication protocols and/or APIs that permit information regarding image processing capabilities of associated graphics hardware to be exchanged between graphics device drivers and video renders. In a first exemplary media implementation, electronically-executable instructions thereof for a video renderer precipitate actions including: issuing a query from a video render towards a graphics device driver, the query requesting information relating to process amplifier (ProcAmp) capabilities; and receiving a response at the video renderer from the graphics device driver, the response including the requested information relating to ProcAmp capabilities.
    Type: Application
    Filed: October 8, 2008
    Publication date: January 29, 2009
    Applicant: Microsoft Corporation
    Inventor: Stephen J. Estrop
  • 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
  • Patent number: 7451457
    Abstract: Facilitating interaction may be enabled through communication protocols and/or APIs that permit information regarding image processing capabilities of associated graphics hardware to be exchanged between graphics device drivers and video renders. In a first exemplary media implementation, electronically-executable instructions thereof for a video renderer precipitate actions including: issuing a query from a video render towards a graphics device driver, the query requesting information relating to process amplifier (ProcAmp) capabilities; and receiving a response at the video renderer from the graphics device driver, the response including the requested information relating to ProcAmp capabilities.
    Type: Grant
    Filed: March 25, 2003
    Date of Patent: November 11, 2008
    Assignee: Microsoft Corporation
    Inventor: Stephen J. Estrop
  • Patent number: 7315307
    Abstract: Disclosed are methods and systems that allow video applications to merge their outputs for display and to transform the outputs of other applications before display. A graphics arbiter tells applications the estimated time when the next frame will be displayed on a display screen. Applications tailor their output to the estimated display time. When output from a first application is incorporated into a scene produced by a second application, the graphics arbiter “offsets” the estimated display time it gives to the first application in order to compensate for the latency caused by the second application's processing of the first application's output. A set of overlay buffers parallels the traditional buffers used to prepare frames for the display screen. In composing a frame, the screen merges video information from a traditional buffer with that from an overlay buffer, conserving display resources at the final point in the display composition process.
    Type: Grant
    Filed: May 20, 2004
    Date of Patent: January 1, 2008
    Assignee: Microsoft Corporation
    Inventors: Nicholas P. Wilt, Stephen J. Estrop, Colin D. McCartney
  • Patent number: 7315308
    Abstract: Disclosed are methods and systems that allow video applications to merge their outputs for display and to transform the outputs of other applications before display. A graphics arbiter tells applications the estimated time when the next frame will be displayed on a display screen. Applications tailor their output to the estimated display time. When output from a first application is incorporated into a scene produced by a second application, the graphics arbiter “offsets” the estimated display time it gives to the first application in order to compensate for the latency caused by the second application's processing of the first application's output. A set of overlay buffers parallels the traditional buffers used to prepare frames for the display screen. In composing a frame, the screen merges video information from a traditional buffer with that from an overlay buffer, conserving display resources at the final point in the display composition process.
    Type: Grant
    Filed: May 21, 2004
    Date of Patent: January 1, 2008
    Assignee: Microsoft Corporation
    Inventors: Nicholas P. Wilt, Stephen J. Estrop, Colin D. McCartney
  • Publication number: 20070201562
    Abstract: A video encoding acceleration service to increase one or more of the speed and quality of video encoding is described. The service acts as an intermediary between an arbitrary video encoder computer program application and arbitrary video acceleration hardware. The service receives one or more queries from the video encoder to identify implementation specifics of the video acceleration hardware. The service interfaces with the video acceleration hardware to obtain the implementation specifics. The service communicates the implementation specifics to the video encoder. The implementation specifics enable the video encoder to: (a) determine whether one or more of speed and quality of software encoding operations associated with the video encoder can be increased with implementation of a pipeline of one or more supported encoding pipeline configurations and capabilities, and (b) implement the pipeline by interfacing with the service.
    Type: Application
    Filed: February 9, 2007
    Publication date: August 30, 2007
    Applicant: Microsoft Corporation
    Inventors: Anand Ganesh, Donald J. Munsil, Gary J. Sullivan, Glenn F. Evans, Shyam Sadhwani, Stephen J. Estrop
  • Patent number: 7259779
    Abstract: Assessment of de-interlaced video quality is determined automatically by de-interlacing interlaced video content using a reference de-interlacer and a test de-interlacer. The reference de-interlacer produces a result of known quality and the test de-interlacer is one which is being assessed. The result from each de-interlacer is compared to reference video content to derive a signal-to-noise ratio for each relative to the reference video content. The difference in the signal-to-noise ratios is compared against a predefined threshold. If the difference is within the range defined by the threshold, the test de-interlacer is determined to produce an acceptable product.
    Type: Grant
    Filed: August 13, 2004
    Date of Patent: August 21, 2007
    Assignee: Microsoft Corporation
    Inventors: Dragos C Avadanei, Stephen C Rowe, Stephen J Estrop, Gary J Sullivan
  • Patent number: 7239324
    Abstract: Disclosed are methods and systems that allow video applications to merge their outputs for display and to transform the outputs of other applications before display. A graphics arbiter tells applications the estimated time when the next frame will be displayed on a display screen. Applications tailor their output to the estimated display time. When output from a first application is incorporated into a scene produced by a second application, the graphics arbiter “offsets” the estimated display time it gives to the first application in order to compensate for the latency caused by the second application's processing of the first application's output. A set of overlay buffers parallels the traditional buffers used to prepare frames for the display screen. In composing a frame, the screen merges video information from a traditional buffer with that from an overlay buffer, conserving display resources at the final point in the display composition process.
    Type: Grant
    Filed: February 15, 2002
    Date of Patent: July 3, 2007
    Assignee: Microsoft Corporation
    Inventors: Nicholas P. Wilt, Stephen J. Estrop, Colin D. McCartney
  • Patent number: 7224368
    Abstract: Systems and methods to render tear free video in a multitasking operating environment are described. In one aspect, a video playback window portion of a desktop display is divided into non-overlapping first and second partitions. As video data is scanned into display memory which maps to the first and second partitions, current scan line input positions are monitored. Responsive to determining that the current scan line position is located in display memory associated with the second partition, display memory mapped to the second partition is not rendered and display memory mapped to the first partition is rendered into the video playback window.
    Type: Grant
    Filed: December 10, 2003
    Date of Patent: May 29, 2007
    Assignee: Microsoft Corporation
    Inventors: Stephen J. Estrop, Joseph C. Ballantyne
  • Patent number: 7219352
    Abstract: Methods and apparatuses are provided for facilitating processing of interlaced video images for progressive video displays. In accordance with certain exemplary implementations, a method includes receiving from a renderer a query for a graphics device driver as to at least one graphics processing capability that can be performed by an associated graphics device in de-interlacing video data, communicating the query to the graphics device driver, receiving from the graphics device driver a response to the query that identifies the graphics processing capability/capabilities to the renderer, and communicating the response to the renderer.
    Type: Grant
    Filed: October 18, 2002
    Date of Patent: May 15, 2007
    Assignee: Microsoft Corporation
    Inventor: Stephen J. Estrop
  • Patent number: 7139002
    Abstract: A technique is described for performing multiple video processing tasks in a single operation, as opposed to serially. For instance, a technique is described for de-interlacing a principal video stream at the same time that at least one video sub-stream is combined with the principal video stream. Performing these tasks in a single call to a graphics processing unit, as opposed to staggered serial calls, reduces the bandwidth requirements of the processing operations. This, in turn, can enable a computing device to perform these multiple operations at full frame rate. In one implementation, different texturing units are respectively assigned to the principal video stream and the video sub-stream. The graphics processing unit interacts with these texturing units and associated memory locations substantially in parallel, thus providing the above-described bandwidth savings.
    Type: Grant
    Filed: October 27, 2003
    Date of Patent: November 21, 2006
    Assignee: Microsoft Corporation
    Inventor: Stephen J. Estrop
  • Patent number: 6933954
    Abstract: An image of a first aspect ratio is modified to be displayed in a display area with a second aspect ratio. In doing so, the aspect ratio of some of the image content is approximately maintained, yet the aspect ratio of other areas of the image content is stretched so that the entire resulting image fills the display area. This may be done by either using texture mapping to map a strip of content (treated as a texture) into a strip of the destination image. It may also be done by modifying the image content to an intermediate image, which is then uniformly stretched to fill the intended aspect ratio. The areas of image content closest to one or more focus areas is approximately maintained, while other areas are allowed more distortion.
    Type: Grant
    Filed: October 31, 2003
    Date of Patent: August 23, 2005
    Assignee: Microsoft Corporation
    Inventors: Jay Senior, Stephen J. Estrop
  • Publication number: 20040217960
    Abstract: Disclosed are methods and systems that allow video applications to merge their outputs for display and to transform the outputs of other applications before display. A graphics arbiter tells applications the estimated time when the next frame will be displayed on a display screen. Applications tailor their output to the estimated display time. When output from a first application is incorporated into a scene produced by a second application, the graphics arbiter “offsets” the estimated display time it gives to the first application in order to compensate for the latency caused by the second application's processing of the first application's output. A set of overlay buffers parallels the traditional buffers used to prepare frames for the display screen. In composing a frame, the screen merges video information from a traditional buffer with that from an overlay buffer, conserving display resources at the final point in the display composition process.
    Type: Application
    Filed: May 21, 2004
    Publication date: November 4, 2004
    Applicant: Microsoft Corporation
    Inventors: Nicholas P. Wilt, Stephen J. Estrop, Colin D. McCartney
  • Publication number: 20040212621
    Abstract: Disclosed are methods and systems that allow video applications to merge their outputs for display and to transform the outputs of other applications before display. A graphics arbiter tells applications the estimated time when the next frame will be displayed on a display screen. Applications tailor their output to the estimated display time. When output from a first application is incorporated into a scene produced by a second application, the graphics arbiter “offsets” the estimated display time it gives to the first application in order to compensate for the latency caused by the second application's processing of the first application's output. A set of overlay buffers parallels the traditional buffers used to prepare frames for the display screen. In composing a frame, the screen merges video information from a traditional buffer with that from an overlay buffer, conserving display resources at the final point in the display composition process.
    Type: Application
    Filed: May 20, 2004
    Publication date: October 28, 2004
    Applicant: Microsoft Corporation
    Inventors: Nicholas P. Wilt, Stephen J. Estrop, Colin D. McCartney
  • Publication number: 20030193486
    Abstract: Methods and apparatuses are provided for facilitating processing of interlaced video images for progressive video displays. In accordance with certain exemplary implementations, a method includes receiving from a renderer a query for a graphics device driver as to at least one graphics processing capability that can be performed by an associated graphics device in de-interlacing video data, communicating the query to the graphics device driver, receiving from the graphics device driver a response to the query that identifies the graphics processing capability/capabilities to the renderer, and communicating the response to the renderer.
    Type: Application
    Filed: October 18, 2002
    Publication date: October 16, 2003
    Inventor: Stephen J. Estrop