Patents by Inventor Donald J Munsil

Donald J Munsil 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: 8654842
    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: Grant
    Filed: February 9, 2007
    Date of Patent: February 18, 2014
    Assignee: Microsoft Corporation
    Inventors: Anand Ganesh, Donald J. Munsil, Gary J. Sullivan, Glenn F. Evans, Shyam Sadhwani, Stephen J. Estrop
  • Patent number: 7929599
    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: Grant
    Filed: February 24, 2006
    Date of Patent: April 19, 2011
    Assignee: Microsoft Corporation
    Inventors: Anand Ganesh, Donald J Munsil, Gary J. Sullivan, Glenn F. Evans, Shyam Sadhwani, Stephen J. Estrop
  • Patent number: 7561206
    Abstract: Whether interlaced video fields form a progressive video frame can be automatically determined. The presence or absence of a first characteristic of one or more video fields can be determined by analysis of the fields and/or related information such as flags, cadence, previous determinations, and others. Similarly, the presence or absence of a second characteristic can be detected. In accordance with the detecting, how likely or whether the two or more video fields form a progressive video frame can be determined based on a possibly predetermined likelihood that fields of progressive video frames in general have or do not have the first characteristic and based on a possibly predetermined likelihood that fields of interlaced video frames in general have or do not have the second characteristic.
    Type: Grant
    Filed: June 29, 2005
    Date of Patent: July 14, 2009
    Assignee: Microsoft Corporation
    Inventors: Donald J. Munsil, Stacey Spears
  • Patent number: 7529775
    Abstract: A standard reporting schema to represent applications and other information on a computer in a hierarchical manner, such as via an XML (extensible markup language) file. An agent or engine is provided to inventory a computer for installed applications or services and to output a report, or log file, conforming to the schema standard. A calculation may be performed on a subset of attributes stored in the log file for an application or a service so as generate a signature representing the subset. The signature may be stored with the log file, and may be accessed quickly in a database to determine whether or not the application is a particular application, or, if more particular resources are defined, to determine more specific information, such as whether the application is a particular version or run of the application.
    Type: Grant
    Filed: August 20, 2003
    Date of Patent: May 5, 2009
    Assignee: Microsoft Corporation
    Inventors: Vadim Bluvshteyn, Michael Sciacqua, Donald J. Munsil, Corneliu Lupu, Maoni Stephens, Mark S. Carroll, Steven S. Heinz
  • Patent number: 7400762
    Abstract: Strategies are set forth for performing a scaling operation on image information using a filter. According to one exemplary implementation, the strategies involve: computing, based on scaling to be performed, a number of filter kernels required to implement the filter and a number of taps required for each filter kernel; pre-computing and storing the number of filter kernels; and applying the filter kernels to a row or column of the image information by repeatedly sequencing through the filter kernels if there are more pixel elements in the row or column than there are pre-calculated filter kernels. The scaling operation can employ a Catmull-Rom filter. Further, the scaling operations can be implemented by a pixel shader by assigning weighting information and delta-shifted versions of the image information to respective texture units of the pixel shader.
    Type: Grant
    Filed: March 14, 2006
    Date of Patent: July 15, 2008
    Assignee: Microsoft Corporation
    Inventors: Donald J. Munsil, Glenn F. Evans, Stacey L. Spears
  • Patent number: 7317827
    Abstract: Strategies are set forth herein for generating customized code used to implement an image processing pipeline. According to one exemplary implementation, the strategies involve: providing a master transformation which maps a plurality of kinds of image input information to a plurality of kinds of image output information using a plurality of kinds of intermediary processing operations; receiving requirements of the image processing pipeline; and assembling code modules from a library of code modules by selecting components in the master transformation which satisfy the received requirements, while omitting other components in the master transformation. The strategies are advantageous because they produce code that is more tailored to a specific image processing environment, which may result in code that executes in an efficient manner.
    Type: Grant
    Filed: March 14, 2006
    Date of Patent: January 8, 2008
    Assignee: Microsoft Corporation
    Inventor: Donald J. Munsil
  • Patent number: 7308151
    Abstract: Strategies are set forth herein for quantizing and dithering original image information to produce quantized image information. According to one exemplary implementation, the strategies involve: quantizing a sum that combines an original value taken from the original image information, a noise value, and an error term, to produce a quantized value; and calculating an error term for a subsequent quantizing operation by computing a difference between the quantized value and the original value. By virtue of his process, the strategies essentially add noise information to the quantization process, not the original image information, which results in quantized image information having reduced artifacts. The strategies can be used in conjunction with the Floyd-Steinberg error dispersion algorithm. According to another feature, the noise value is computed using a random number generator having a long repeat period, which further reduces artifacts.
    Type: Grant
    Filed: March 14, 2006
    Date of Patent: December 11, 2007
    Assignee: Microsoft Corporation
    Inventors: Donald J. Munsil, Glenn F. Evans, Stacey L. Spears
  • 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: 7191436
    Abstract: A program modification database and method for identifying a candidate entry within the correction database for a particular executable program are disclosed. The program modification database provides a general depository of program changes, referred to herein as substitute program segments, and a set of executable program entries containing program matching criteria and corresponding program changes. The program modification database includes an index. Each entry in the index includes a piece of identifying information for a referenced, corresponding executable program entry. The program modification database architecture is applicable to any type of program segment information for modifying either instruction code or data values within a program.
    Type: Grant
    Filed: March 8, 2001
    Date of Patent: March 13, 2007
    Assignee: Microsoft Corporation
    Inventors: Philip G Durr, Donald J Munsil, Mark P Derbecker, Lindsay W Steventon
  • Patent number: 7158668
    Abstract: Strategies are described for processing image information in a linear form to reduce the amount of artifacts (compared to processing the data in nonlinear form). Exemplary types of processing operations can include, scaling, compositing, alpha-blending, edge detection, and so forth. In a more specific implementation, strategies are described for processing image information that is: a) linear; b) in the RGB color space; c) high precision (e.g., provided by floating point representation); d) progressive; and e) full channel. Other improvements provide strategies for: a) processing image information in a pseudo-linear space to improve processing speed; b) implementing an improved error dispersion technique; c) dynamically calculating and applying filter kernels; d) producing pipeline code in an optimal manner; and e) implementing various processing tasks using novel pixel shader techniques.
    Type: Grant
    Filed: November 12, 2004
    Date of Patent: January 2, 2007
    Assignee: Microsoft Corporation
    Inventors: Donald J. Munsil, Glenn F. Evans, Stacey L. Spears
  • Patent number: 7055146
    Abstract: A system and method are for inserting modifications into an executable program at the time an operating system loads the executable program for execution. The system includes a program modification database that provides a general depository of program changes in the form of substitute APIs and direct program patches. The system further comprises a program loader routine that identifies an entry in the program modification database corresponding to a program selected for execution on a computer system. The loader routine incorporates changes identified in the database entry associated with the selected program into a program segment (e.g., API) substitution table. After constructing the substitution table, each table entry includes a called API reference (e.g., its handle or address) and a reference to a substitute API.
    Type: Grant
    Filed: March 8, 2001
    Date of Patent: May 30, 2006
    Assignee: Microsoft Corporation
    Inventors: Philip G Durr, Donald J Munsil, Mark P Derbecker, Lindsay W Steventon
  • Publication number: 20030167463
    Abstract: A method, system, and computer-readable medium are provided for creating and dynamically applying a custom application-compatibility fix. A custom database is created for an application that is incompatible with an operating system. The custom database is capable of storing an operating system-provided compatibility fix and an operating system-provided compatibility mode. The operating system-provided compatibility mode is a set of operating system-provided compatibility fixes. A request is received to launch an application. A determination is made as to whether or not there is a custom database for the application to be launched. If there is a custom database for the application to be launched, the operating system-provided compatibility fixes in the custom database are added to a list of compatibility fixes for the application. The listed compatibility fixes are dynamically applied to the requested application and the requested application is launched.
    Type: Application
    Filed: March 1, 2002
    Publication date: September 4, 2003
    Applicant: Microsft Corporation
    Inventors: Donald J. Munsil, Corneliu I. Lupu, Lindsay William Steventon, Mark Derbecker
  • Patent number: 5586241
    Abstract: A method and system for parametrically generating characters and fonts. A font generation system is run on a computer and allows a user to create a Terafont binary file, which includes a set of universal font generation rules that are applied to generating fonts consistent with a common type of alphabet, and parametric data files, each of which specify a particular font. The user can create a new font, or replicate an existing font. The parametric data are distributed as files or embedded in documents. One or more characters of a font are generated using a font engine that executes the Terafont binary file on a computer using the parametric data specifying that font as an input. The parametric data provided to the font engine at least include a minimal set of font measurement data, such as a PANOSE.TM. number, which are used to compute global variables representing typographic characteristics common to many--if not all--of the glyphs in the font.
    Type: Grant
    Filed: June 10, 1993
    Date of Patent: December 17, 1996
    Assignee: Hewlett-Packard Company
    Inventors: Benjamin P. Bauermeister, Clyde D. McQueen, III, Michael S. DeLaurentis, Paul M. Higinbotham, Daniel E. Lipkie, Donald J. Munsil, Raymond G. Beausoleil