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).

  • Patent number: 8009739
    Abstract: Techniques and tools for intensity compensation for interlaced forward-predicted fields are described. For example, a video decoder receives and decodes a variable length code that indicates which of two reference fields for an interlaced forward-predicted field use intensity compensation (e.g., both, only the first, or only the second). The decoder performs intensity compensation on each of the two reference fields that uses intensity compensation. A video encoder performs corresponding intensity estimation/compensation and signaling.
    Type: Grant
    Filed: September 2, 2004
    Date of Patent: August 30, 2011
    Assignee: Microsoft Corporation
    Inventors: Thomas W. Holcomb, Sridhar Srinivasan, Shankar Regunathan
  • Patent number: 7961786
    Abstract: Techniques and tools for signaling of field type information for interlaced video frames are described. For example, a video decoder receives a code for an interlaced video frame that has two fields. The code represents information that jointly indicates field types for the two fields and an order for the field types. The decoder decodes the code. A video encoder performs corresponding encoding and signaling.
    Type: Grant
    Filed: November 15, 2004
    Date of Patent: June 14, 2011
    Assignee: Microsoft Corporation
    Inventor: Thomas W. Holcomb
  • Patent number: 7924921
    Abstract: A decoder receives an entry point header comprising plural control parameters for an entry point segment corresponding to the entry point header. The entry point header is in an entry point layer of a bitstream comprising plural layers. The decoder decodes the entry point header. The plural control parameters can include various combinations of control parameters such as a pan scan on/off parameter, a reference frame distance on/off parameter, a loop filtering on/off parameter, a fast chroma motion compensation on/off parameter, an extended range motion vector on/off parameter, a variable sized transform on/off parameter, an overlapped transform on/off parameter, a quantization decision parameter, and an extended differential motion vector coding on/off parameter, a broken link parameter, a closed entry parameter, one or more coded picture size parameters, one or more range mapping parameters, a hypothetical reference decoder buffer parameter, and/or other parameter(s).
    Type: Grant
    Filed: November 15, 2004
    Date of Patent: April 12, 2011
    Assignee: Microsoft Corporation
    Inventors: Regis J. Crinon, Chih-Lung Lin, Jie Liang, Shankar Regunathan, Shuo-Jen Wu, Timothy E. Onders, Thomas W. Holcomb
  • Patent number: 7924920
    Abstract: In one aspect, an encoder/decoder receives information for four field motion vectors for a macroblock in an interlaced frame-coded, forward-predicted picture and processes the macroblock using the four field motion vectors. In another aspect, an encoder/decoder determines a number of valid candidate motion vectors and calculates a field motion vector predictor. The encoder/decoder does not perform a median operation on the valid candidates if there are less than three of them. In another aspect, an encoder/decoder determines valid candidates, determines field polarities for the valid candidates, and calculates a motion vector predictor based on the field polarities. In another aspect, an encoder/decoder determines one or more valid candidates, determines a field polarity for each individual valid candidate, allocates each individual valid candidate to one of two sets (e.g.
    Type: Grant
    Filed: September 2, 2004
    Date of Patent: April 12, 2011
    Assignee: Microsoft Corporation
    Inventors: Pohsiang Hsu, Thomas W. Holcomb, Chih-Lung Lin
  • Patent number: 7852936
    Abstract: Forward motion vectors are predicted by an encoder/decoder using previously reconstructed (or estimated) forward motion vectors from a forward motion vector buffer, and backward motion vectors are predicted using previously reconstructed (or estimated) backward motion vectors from a backward motion vector buffer. The resulting motion vectors are added to the corresponding buffer. Holes in motion vector buffers can be filled in with estimated motion vector values. For example, for interlaced B-fields, to choose between different polarity motion vectors (e.g., “same polarity” or “opposite polarity”) for hole-filling, an encoder/decoder selects a dominant polarity field motion vector. The distance between anchors and current frames is computed using various syntax elements, and the computed distance is used for scaling reference field motion vectors.
    Type: Grant
    Filed: September 15, 2004
    Date of Patent: December 14, 2010
    Assignee: Microsoft Corporation
    Inventors: Kunal Mukerjee, Thomas W. Holcomb
  • Patent number: 7852919
    Abstract: A decoder receives a field start code for an entry point key frame. The field start code indicates a second coded interlaced video field in the entry point key frame following a first coded interlaced video field in the entry point key frame and indicates a point to begin decoding of the second coded interlaced video field. The first coded interlaced video field is a predicted field, and the second coded interlaced video field is an intra-coded field. The decoder decodes the second field without decoding the first field. The field start code can be followed by a field header. The decoder can receive a frame header for the entry point key frame. The frame header may comprise a syntax element indicating a frame coding mode for the entry point key frame and/or a syntax element indicating field types for the first and second coded interlaced video fields.
    Type: Grant
    Filed: November 15, 2004
    Date of Patent: December 14, 2010
    Assignee: Microsoft Corporation
    Inventors: Regis J. Crinon, Thomas W. Holcomb, Shankar Regunathan, Sridhar Srinivasan
  • Patent number: 7839930
    Abstract: Techniques and tools for coding/decoding of digital video, and in particular, for determining, signaling and detecting entry points in video streams are described. Techniques and tools described herein are used to embed entry point indicator information in the bitstream that receivers, editing systems, insertion systems, and other systems can use to detect valid entry points in compressed video.
    Type: Grant
    Filed: June 30, 2004
    Date of Patent: November 23, 2010
    Assignee: Microsoft Corporation
    Inventors: Thomas W. Holcomb, Regis J. Crinon, Timothy E. Onders, Sridhar Srinivasan, Shankar Regunathan
  • Patent number: 7839933
    Abstract: A video codec provides for adaptive vertical macroblock alignment of mixed interlaced and progressive video sequences. With adaptive vertical macroblock alignment, a video codec enforces a macroblock alignment height restriction on per picture basis, rather than requiring that all frames in a sequence adhere to a uniform height restriction. The video codec can then apply less padding to progressive and like type pictures that have smaller macroblock alignment increments, than to interlaced type pictures with larger alignment increments, which can save significant compression overhead.
    Type: Grant
    Filed: October 6, 2004
    Date of Patent: November 23, 2010
    Assignee: Microsoft Corporation
    Inventors: Chih-Lung Lin, Pohsiang Hsu, Sridhar Srinivasan, Thomas W. Holcomb
  • Patent number: 7830963
    Abstract: Techniques and tools are described for decoding jointly information. For example, a decoder decodes a variable length [“VLC”] signaled at macroblock level that jointly represents a transform type signal level, transform type, and subblock pattern. The decoder decodes one or more VLCs signaled at block level, each jointly representing a transform type and subblock pattern. The decoder may select between multiple VLC tables for the VLCs signaled macroblock level and/or block level.
    Type: Grant
    Filed: July 16, 2004
    Date of Patent: November 9, 2010
    Assignee: Microsoft Corporation
    Inventor: Thomas W. Holcomb
  • Patent number: 7822123
    Abstract: A video codec provides efficient repeat padding of hybrid video sequences having arbitrary video resolution. The video codec repeat pads to expand the active content of pictures in the video sequence out to meet an adaptive vertical macroblock alignment restriction that varies by picture type. For progressive type pictures, the video codec repeats the last row or horizontal boundary edge of the active content. For interlaced type pictures, the video coded repeats the last two rows (last row of each interlaced field) of the active content. This repeat padding differing by picture type provides a better prediction (lower prediction error residual) for macroblocks in following predicted frames whose motion vector points into the padded region.
    Type: Grant
    Filed: October 6, 2004
    Date of Patent: October 26, 2010
    Assignee: Microsoft Corporation
    Inventors: Chih-Lung Lin, Pohsiang Hsu, Sridhar Srinivasan, Thomas W. Holcomb
  • Patent number: 7782954
    Abstract: Tools and techniques for applying scan patterns during encoding and decoding of progressive video are described. For example, a video decoder entropy decodes transform coefficients in a one-dimensional array and scans the transform coefficients into a block according to a scan pattern. The block is 8×4, and the scan pattern biases the vertical direction for at least the lowest frequency AC coefficients in the horizontal and vertical directions. Or, the block is 4×8, and the scan pattern biases the horizontal direction for at least the lowest frequency AC coefficients in the horizontal and vertical directions. A corresponding video encoder applies the scan patterns to scan transform coefficients from blocks to one-dimensional arrays.
    Type: Grant
    Filed: November 15, 2004
    Date of Patent: August 24, 2010
    Assignee: Microsoft Corporation
    Inventors: Jie Liang, Chih-Lung Lin, Sridhar Srinivasan, Thomas W. Holcomb
  • Publication number: 20100189183
    Abstract: A video encoding system encodes video streams for multiple bit rate video streaming using an approach that permits the encoded bit rate to vary subject to a peak bit rate and average bit rate constraints for higher quality streams, while a bottom bit rate stream is encoded to achieve a constant chunk rate. The video encoding system also dynamically decides an encoding resolution for segments of the multiple bit rate video streams that varies with video complexity so as to achieve a better visual experience for multiple bit rate streaming.
    Type: Application
    Filed: January 29, 2009
    Publication date: July 29, 2010
    Inventors: Chuang Gu, Chun-Wei Chan, William Chen, Stacey Spears, Thomas W. Holcomb, Chih-Lung Lin, Sanjeev Mehrotra
  • Publication number: 20100189179
    Abstract: A video encoder uses previously calculated motion information for inter frame coding to achieve faster computation speed for video compression. In a multi bit rate application, motion information produced by motion estimation for inter frame coding of a compressed video bit stream at one bit rate is passed on to a subsequent encoding of the video at a lower bit rate. The video encoder chooses to use the previously calculated motion information for inter frame coding at the lower bit rate if the video resolution is unchanged. A multi core motion information pre-calculation produces motion information prior to encoding by dividing motion estimation of each inter frame to separate CPU cores.
    Type: Application
    Filed: January 29, 2009
    Publication date: July 29, 2010
    Applicant: Microsoft Corporation
    Inventors: Chuang Gu, Chun-Wei Chan, William Chen, Stacey Spears, Thomas W. Holcomb
  • Patent number: 7733962
    Abstract: Systems and methods for processing input media in a computing device are described. In one aspect, a reconstructed frame is cached according to a set of criteria. A request to scrub to a predictive frame of input media is received. Responsive to receiving the request, the predictive frame is decoded starting with the reconstructed frame.
    Type: Grant
    Filed: December 8, 2003
    Date of Patent: June 8, 2010
    Assignee: Microsoft Corporation
    Inventors: Rebecca C. Weiss, Geoffrey T. Dunbar, Niranjan S. Nayak, Sohail Baig Mohammed, Thomas W. Holcomb, Chih-lung Bruce Lin, Olivier Colle, Gareth Alan Howell
  • Publication number: 20100135383
    Abstract: An encoder is disclosed that is partitioned into discrete hardware modules. The discrete modules include multiple re-entry and exit points that allow enhanced control by software. The software can control the discrete modules during the encoding process and make adjustments according to CPU bandwidth and/or user requirements allowing for enhanced quality control and seamless hardware/software operations. In one embodiment, a media stream is received into an encoder that includes a pipeline of multiple hardware stages for encoding. An intermediate result is provided from at least one of the hardware stages to an encoding control module that processes the intermediate result to determine configuration instructions for a next hardware stage in the pipeline. Thus, the encoding process can be modified dynamically through hardware and software interactions as the media stream progresses through the pipeline of the encoder.
    Type: Application
    Filed: November 28, 2008
    Publication date: June 3, 2010
    Applicant: Microsoft Corporation
    Inventors: Weidong Zhao, Thomas W. Holcomb, Chih-Lung B. Lin, William R. Sanders, Shijun Sun
  • Patent number: 7688894
    Abstract: Tools and techniques for applying scan patterns during encoding and decoding of interlaced video are described. For example, a video decoder scans transform coefficients from a one-dimensional array to a two-dimensional block according to a scan pattern. The block is 4×4, and the scan pattern biases the vertical direction by starting with the DC coefficient and three AC coefficients of the lowest horizontal frequency. Or, the block is 8×4, and the scan pattern biases the vertical direction by starting with the DC coefficient and three AC coefficients of the lowest horizontal frequency. Or, the block is 4×8, and the scan pattern biases the horizontal direction for the lowest frequency AC coefficients in the horizontal and vertical directions but biases the vertical direction for at least some other AC coefficients. A corresponding video encoder applies the scan patterns to scan transform coefficients from two-dimensional blocks to one-dimensional arrays.
    Type: Grant
    Filed: November 15, 2004
    Date of Patent: March 30, 2010
    Assignee: Microsoft Corporation
    Inventors: Jie Liang, Chih-Lung Lin, Sridhar Srinivasan, Thomas W. Holcomb
  • Patent number: 7680185
    Abstract: An encoder/decoder uses “self-referencing” frames. For example, a second B-field in a current frame references the first B-field from the current frame in motion compensated prediction. Allowing the first B-field in a frame to act as a reference for the second B-field in the frame allows more accurate prediction of the second B-field, while also preserving the temporal scalability benefits of having B-fields in the current frame.
    Type: Grant
    Filed: September 15, 2004
    Date of Patent: March 16, 2010
    Assignee: Microsoft Corporation
    Inventors: Kunal Mukerjee, Thomas W. Holcomb
  • Patent number: 7630438
    Abstract: For interlaced B-frames, an encoder/decoder computes direct mode motion vectors for a current macroblock by selecting at most one representative motion vector for each of the top and bottom fields of the co-located macroblock of the previously decoded, temporally subsequent anchor. For example, the selecting is performed based at least in part on the mode of coding the current interlaced B-frame's macroblock (e.g., 1MV mode, 2 Field MV mode, etc.). For interlaced B-fields, an encoder/decoder selects direct mode motion vectors using logic that favors the dominant polarity if the corresponding macroblock in the corresponding field of the next anchor picture was coded using four motion vectors. For example, if the corresponding macroblock's same polarity motion vectors outnumber its opposite polarity motion vectors, the encoder/decoder calculates the median of the same polarity motion vectors to obtain a motion vector for deriving direct mode motion vectors.
    Type: Grant
    Filed: September 15, 2004
    Date of Patent: December 8, 2009
    Assignee: Microsoft Corporation
    Inventors: Kunal Mukerjee, Thomas W. Holcomb
  • Patent number: 7623574
    Abstract: Techniques and tools for selecting between dominant and non-dominant polarities for motion vector predictors are described. For example, a video decoder determines dominant and non-dominant polarities for a motion vector predictor, decodes signaled information that indicates a selection between the dominant and non-dominant polarities, and determines the motion vector predictor from the dominant and non-dominant polarities and the signaled information. The decoder reconstructs a motion vector from the motion vector predictor and motion vector differential information. A video encoder performs corresponding processing.
    Type: Grant
    Filed: September 2, 2004
    Date of Patent: November 24, 2009
    Assignee: Microsoft Corporation
    Inventor: Thomas W. Holcomb
  • Patent number: 7620106
    Abstract: Techniques and tools for joint coding and decoding of reference field selection information and differential motion vector information are described. For example, a video decoder decodes a variable length code that jointly represents differential motion vector information and a motion vector predictor selection for a motion vector. The decoder then reconstructs the motion vector based at least in part on the differential motion vector information and the motion vector predictor selection. A video encoder performs corresponding processing.
    Type: Grant
    Filed: September 2, 2004
    Date of Patent: November 17, 2009
    Assignee: Microsoft Corporation
    Inventors: Thomas W. Holcomb, Sridhar Srinivasan