Patents by Inventor Thomas W. Holcomb

Thomas W. Holcomb 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: 20080240257
    Abstract: Techniques and tools are described for using quantization bias that accounts for relations between transform bins and quantization bins. The techniques and tools can be used to compensate for mismatch between transform bin boundaries and quantization bin boundaries during quantization. For example, in some embodiments, when a video encoder quantizes the DC coefficients of DC-only blocks, the encoder compensates for mismatches between transform bin boundaries and quantization bin boundaries. In some implementations, the mismatch compensation uses an offset table that accounts for the mismatches. In other embodiments, the encoder uses adjustable thresholds to control quantization bias.
    Type: Application
    Filed: March 26, 2007
    Publication date: October 2, 2008
    Applicant: Microsoft Corporation
    Inventors: Cheng Chang, Thomas W. Holcomb, Chih-Lung Lin
  • Publication number: 20080240250
    Abstract: Quality settings established by an encoder are adjusted based on information associated with regions of interest (“ROIs”). For example, quantization step sizes can be reduced (to improve quality) or increased (to reduce bit rate). ROIs can be identified and quality settings can be adjusted based on input received from a user interface. An overlap setting can be determined for a portion of a picture that corresponds to an ROI overlap area. For example, an overlap setting is chosen from step sizes corresponding to a first overlapping ROI and a second overlapping ROI, or from relative reductions in step size corresponding to the first ROI and the second ROI. ROIs can be parameterized by information (e.g., using data structures) that indicates spatial dimensions of the ROIs and quality adjustment information (e.g., dead zone information, step size information, and quantization mode information).
    Type: Application
    Filed: March 30, 2007
    Publication date: October 2, 2008
    Applicant: Microsoft Corporation
    Inventors: Chih-Lung Lin, Ming-Chieh Lee, Stacey Spears, Philip Lawrence Garrett, Anil Madhav Murching, Amy Jennifer Beauford, Thomas W. Holcomb, Xiping Zuo
  • Publication number: 20080240235
    Abstract: Techniques and tools are described for adaptive deadzone (“DZ”) resizing during quantization. For example, in some embodiments, for quantization of an AC frequency coefficient of a block, a video encoder adjusts DZ size of a selected quantizer depending on the texture of the block. In other embodiments, a video encoder adjusts DZ size depending on the frequency of a coefficient being quantized. In still other embodiments, for quantization of an AC frequency coefficient of a block, a video encoder adjusts DZ size depending on the texture of the block and the frequency of the coefficient being quantized.
    Type: Application
    Filed: March 26, 2007
    Publication date: October 2, 2008
    Applicant: Microsoft Corporation
    Inventors: Thomas W. Holcomb, Minghui Xia, Chih-Lung Lin, Cheng Chang
  • Patent number: 7426308
    Abstract: Techniques and tools for encoding and decoding video images (e.g., interlaced frames) are described. For example, a video encoder or decoder processes 4:1:1 format macroblocks comprising four 8×8 luminance blocks and four 4×8 chrominance blocks. In another aspect, fields in field-coded macroblocks are coded independently of one another (e.g., by sending encoded blocks in field order). Other aspects include DC/AC prediction techniques and motion vector prediction techniques for interlaced frames.
    Type: Grant
    Filed: July 18, 2003
    Date of Patent: September 16, 2008
    Assignee: Microsoft Corporation
    Inventors: Pohsiang Hsu, Bruce Chih-Lung Lin, Thomas W. Holcomb, Kunal Mukerjee, Sridhar Srinivasan
  • Publication number: 20080192822
    Abstract: Multiple-pass video encoding systems and techniques are described which utilize statistics taken during a first-pass encoding to create complexity measurements for video data which is to be encoded. By analyzing these complexity measurements, preprocessing decisions, such as, for example, the determination of strength of denoise filters, can be made with greater accuracy. In one implementation, these complexity measurements take the form of calculation of temporal and spatial complexity parameters, which are then used to compute a unified complexity parameter for each group of pictures being encoded.
    Type: Application
    Filed: February 9, 2007
    Publication date: August 14, 2008
    Applicant: Microsoft Corporation
    Inventors: Cheng Chang, Chih-Lung Lin, Thomas W. Holcomb
  • Patent number: 7379496
    Abstract: A video encoder performs multi-resolution video coding. For example, the encoder adaptively changes frame sizes to reduce blocking artifacts at low bitrates. A video decoder performs corresponding multi-resolution decoding.
    Type: Grant
    Filed: August 19, 2003
    Date of Patent: May 27, 2008
    Assignee: Microsoft Corporation
    Inventors: Thomas W. Holcomb, Shankar Regunathan, Chih-Lung Bruce Lin, Sridhar Srinivasan
  • Patent number: 7317839
    Abstract: Techniques and tools for deriving chroma motion vectors for macroblocks of interlaced forward-predicted fields are described. For example, a video encoder or decoder determines a prevailing polarity among luma motion vectors for a macroblock. The encoder or decoder then determines a chroma motion vector for the macroblock based at least in part upon one or more of the luma motion vectors having the prevailing polarity.
    Type: Grant
    Filed: September 2, 2004
    Date of Patent: January 8, 2008
    Assignee: Microsoft Corporation
    Inventor: Thomas W. Holcomb
  • Patent number: 7266149
    Abstract: Techniques and tools for sub-block transform coding are described. For example, a video encoder adaptively switches between 8×8, 8×4, and 4×8 DCTs when encoding 8×8 prediction residual blocks; a corresponding video decoder switches between 8×8, 8×4, and 4×8 inverse DCTs during decoding. The video encoder may determine the transform sizes as well as switching levels (e.g., frame, macroblock, or block) in a closed loop evaluation of the different transform sizes and switching levels. The encoder and decoder may use different scan patterns for different transform sizes when scanning values from two-dimensional blocks into one-dimensional arrays, or vice versa. The encoder and decoder may use sub-block pattern codes to indicate the presence or absence of information for the sub-blocks of particular blocks.
    Type: Grant
    Filed: December 17, 2002
    Date of Patent: September 4, 2007
    Assignee: Microsoft Corporation
    Inventors: Thomas W. Holcomb, Chih-Lung Lin
  • Patent number: 7120197
    Abstract: Techniques and tools for processing reference frames in a motion estimation/compensation loop or motion compensation loop are described. For example, a video encoder or decoder filters reference frames to reduce discontinuities at block boundaries, improving the efficiency of motion estimation and compensation.
    Type: Grant
    Filed: December 17, 2002
    Date of Patent: October 10, 2006
    Assignee: Microsoft Corporation
    Inventors: Chih-Lung Lin, Pohsiang Hsu, Thomas W. Holcomb, Ming-Chieh Lee
  • Patent number: 7099515
    Abstract: In one aspect, an encoder/decoder selects a bitplane mode from a group of plural available bitplane modes, and processes a bitplane according to the selected bitplane mode, wherein the bitplane indicates AC prediction status information for plural macroblocks of a video picture. In another aspect, an encoder encodes a bitplane that indicates AC prediction status information for plural macroblocks of a video picture and signals the encoded bitplane. In another aspect, a decoder receives an encoded bitplane and decodes the bitplane, wherein the bitplane indicates AC prediction status information for plural macroblocks of a video picture.
    Type: Grant
    Filed: September 2, 2004
    Date of Patent: August 29, 2006
    Assignee: Microsoft Corporation
    Inventors: Chih-Lung Lin, Pohsiang Hsu, Sridhar Srinivasan, Thomas W. Holcomb
  • Patent number: 7092576
    Abstract: In one aspect, for a first interlaced video frame in a video sequence, a decoder decodes a bitplane signaled at frame layer for the first interlaced video frame. The bitplane represents field/frame transform types for plural macroblocks of the first interlaced video frame. For a second interlaced video frame in the video sequence, for each of at least one but not all of plural macroblocks of the second interlaced video frame, the decoder processes a per macroblock field/frame transform type bit signaled at macroblock layer. An encoder performs corresponding encoding.
    Type: Grant
    Filed: September 2, 2004
    Date of Patent: August 15, 2006
    Assignee: Microsoft Corporation
    Inventors: Sridhar Srinivasan, Chih-Lung Lin, Thomas W. Holcomb, Kunal Mukerjee, Pohsiang Hsu
  • Publication number: 20040213345
    Abstract: A video encoder performs multi-resolution video coding. For example, the encoder adaptively changes frame sizes to reduce blocking artifacts at low bitrates. A video decoder performs corresponding multi-resolution decoding.
    Type: Application
    Filed: August 19, 2003
    Publication date: October 28, 2004
    Applicant: Microsoft Corporation
    Inventors: Thomas W. Holcomb, Shankar Regunathan, Chih-Lung Bruce Lin, Sridhar Srinivasan
  • Publication number: 20030156648
    Abstract: Techniques and tools for sub-block transform coding are described. For example, a video encoder adaptively switches between 8×8, 8×4, and 4×8 DCTs when encoding 8×8 prediction residual blocks; a corresponding video decoder switches between 8×8, 8×4, and 4×8 inverse DCTs during decoding. The video encoder may determine the transform sizes as well as switching levels (e.g., frame, macroblock, or block) in a closed loop evaluation of the different transform sizes and switching levels. The encoder and decoder may use different scan patterns for different transform sizes when scanning values from two-dimensional blocks into one-dimensional arrays, or vice versa. The encoder and decoder may use sub-block pattern codes to indicate the presence or absence of information for the sub-blocks of particular blocks.
    Type: Application
    Filed: December 17, 2002
    Publication date: August 21, 2003
    Applicant: Microsoft Corporation
    Inventors: Thomas W. Holcomb, Chih-Lung Lin
  • Publication number: 20030152146
    Abstract: Techniques and tools for processing reference frames in a motion estimation/compensation loop or motion compensation loop are described. For example, a video encoder or decoder filters reference frames to reduce discontinuities at block boundaries, improving the efficiency of motion estimation and compensation.
    Type: Application
    Filed: December 17, 2002
    Publication date: August 14, 2003
    Applicant: Microsoft Corporation
    Inventors: Chih-Lung Lin, Pohsiang Hsu, Thomas W. Holcomb, Ming-Chieh Lee