Patents by Inventor Thomas Holcomb

Thomas 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: 20050100093
    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: Application
    Filed: November 15, 2004
    Publication date: May 12, 2005
    Applicant: Microsoft Corporation
    Inventor: Thomas Holcomb
  • Publication number: 20050084012
    Abstract: An encoder/decoder obtains pixel data from one or more field lines associated with a first block in an interlaced frame coded picture comprising plural macroblocks each having an equal number of top and bottom field lines. The encoder/decoder obtains pixel data from one or more field lines associated with a second block and performs in-loop deblocking filtering across a boundary. The in-loop deblocking filtering comprises filter operations performed on pixel data from field lines of same polarity only. In another aspect, an encoder/decoder obtains transform size information for plural blocks of macroblock, obtains field/frame type information for the macroblock and selects one or more boundaries for in-loop deblocking based at least in part on the transform size information and the field/frame type information. In-loop deblocking can be performed on horizontal block boundaries prior to vertical block boundaries.
    Type: Application
    Filed: September 4, 2004
    Publication date: April 21, 2005
    Applicant: Microsoft Corporation
    Inventors: Pohsiang Hsu, Chih-Lung Lin, Sridhar Srinivasan, Thomas Holcomb
  • Publication number: 20050083218
    Abstract: A decoder processes a first bitstream element (e.g., a pull-down flag) in a first syntax layer (e.g., sequence layer or entry point layer) above frame layer in a bitstream for a video sequence, the bitstream comprising encoded source video having a source type (e.g., progressive or interlace). The decoder processes frame data in a second syntax layer (e.g., frame layer) of the bitstream for a frame (such as an interlaced frame or progressive frame, depending on source type, or a skipped frame) in the video sequence. The first bitstream element indicates whether a repeat-picture element (e.g., a repeat-frame element or a repeat field-element) is present or absent in the frame data in the second syntax layer.
    Type: Application
    Filed: September 4, 2004
    Publication date: April 21, 2005
    Applicant: Microsoft Corporation
    Inventors: Shankar Regunathan, Chih-Lung Lin, Thomas Holcomb, Kunal Mukerjee, Pohsiang Hsu
  • Publication number: 20050078754
    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: Application
    Filed: November 15, 2004
    Publication date: April 14, 2005
    Applicant: Microsoft Corporation
    Inventors: Jie Liang, Chih-Lung Lin, Sridhar Srinivasan, Thomas Holcomb
  • Publication number: 20050068208
    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: Application
    Filed: November 15, 2004
    Publication date: March 31, 2005
    Applicant: Microsoft Corporation
    Inventors: Jie Liang, Chih-Lung Lin, Sridhar Srinivasan, Thomas Holcomb
  • Publication number: 20050058205
    Abstract: Techniques and tools for extended range variable length coding and decoding of differential motion vector information are described. For example, a video decoder determines whether or not to use an extended range variable length decoding mode. When the extended range variable length decoding mode is used, the decoder decodes a differential motion vector in the extended range variable length decoding mode. Otherwise, the decoder decodes the differential motion vector in a default range variable length decoding mode. A video encoder performs corresponding processing.
    Type: Application
    Filed: October 6, 2004
    Publication date: March 17, 2005
    Applicant: Microsoft Corporation
    Inventors: Thomas Holcomb, Sridhar Srinivasan
  • Publication number: 20050053296
    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: Application
    Filed: September 2, 2004
    Publication date: March 10, 2005
    Applicant: Microsoft Corporation
    Inventors: Sridhar Srinivasan, Chih-Lung Lin, Thomas Holcomb, Kunal Mukerjee, Pohsiang Hsu
  • Publication number: 20050053297
    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: Application
    Filed: September 15, 2004
    Publication date: March 10, 2005
    Applicant: Microsoft Corporation
    Inventors: Kunal Mukerjee, Thomas Holcomb
  • Publication number: 20050053151
    Abstract: Techniques and tools for escape mode code resizing are described. For example, a video decoder receives encoded information (e.g., runs, levels) for transform coefficients of blocks. For at least some of the encoded information, the decoder decodes in an escape mode for which codes have sizes signaled on a sub-frame basis (e.g., on a per-interlaced field basis in a video frame, or on a per-slice basis in a video frame). A video encoder performs corresponding encoding and signaling.
    Type: Application
    Filed: September 2, 2004
    Publication date: March 10, 2005
    Applicant: Microsoft Corporation
    Inventors: Chih-Lung Lin, Pohsiang Hsu, Thomas Holcomb, Sridhar Srinivasan
  • Publication number: 20050053140
    Abstract: Techniques and tools for code table selection and joint coding/decoding of macroblock mode information for macroblocks of interlaced forward-predicted frames are described. For example, a video decoder decodes a variable length code that jointly signals macroblock mode information for a motion-compensated macroblock. The jointly signaled information includes a macroblock type, whether a coded block pattern is present or absent, and whether motion vector data is present or absent for the motion-compensated macroblock. A video encoder performs corresponding encoding.
    Type: Application
    Filed: September 2, 2004
    Publication date: March 10, 2005
    Applicant: Microsoft Corporation
    Inventors: Thomas Holcomb, Pohsiang Hsu, Sridhar Srinivasan, Chih-Lung Lin
  • Publication number: 20050053149
    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: Application
    Filed: September 15, 2004
    Publication date: March 10, 2005
    Applicant: Microsoft Corporation
    Inventors: Kunal Mukerjee, Thomas Holcomb
  • Publication number: 20050053293
    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: Application
    Filed: September 2, 2004
    Publication date: March 10, 2005
    Applicant: Microsoft Corporation
    Inventors: Chih-Lung Lin, Pohsiang Hsu, Thomas Holcomb
  • Publication number: 20050053147
    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: Application
    Filed: September 15, 2004
    Publication date: March 10, 2005
    Applicant: Microsoft Corporation
    Inventors: Kunal Mukerjee, Thomas Holcomb
  • Publication number: 20050053156
    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: Application
    Filed: September 2, 2004
    Publication date: March 10, 2005
    Applicant: Microsoft Corporation
    Inventors: Chih-Lung Lin, Pohsiang Hsu, Sridhar Srinivasan, Thomas Holcomb
  • Publication number: 20050053145
    Abstract: A decoder decodes skipped macroblocks of an interlaced frame. Skipped macroblocks use exactly one motion vector and have no motion vector differential information, and lack residual information. The skipped macroblock signal indicates one-motion-vector coding. The skipped macroblock signal can be a compressed bitplane (in a selected bitplane coding mode) sent at frame layer in a bitstream, or an individual bit sent at macroblock layer. In another aspect, an encoder jointly encodes motion compensation type and field/frame coding type for a macroblock in an interlaced P-frame. The encoder also can jointly encode other information for the macroblock (e.g., the presence of a differential motion vector). A decoder decodes a joint code (e.g., a variable length code in a variable length code table) to obtain both motion compensation type and field/frame coding type (and potentially other information) for the macroblock.
    Type: Application
    Filed: September 2, 2004
    Publication date: March 10, 2005
    Applicant: Microsoft Corporation
    Inventors: Pohsiang Hsu, Chih-Lung Lin, Sridhar Srinivasan, Thomas Holcomb
  • Publication number: 20050053134
    Abstract: Techniques and tools for signaling the number of reference fields for an interlaced forward-predicted field are described. For example, a video decoder processes a first signal indicating whether an interlaced forward-predicted field has one or two reference fields for motion compensation. If the first signal indicates the interlaced forward-predicted field has one reference field, the decoder processes a second signal identifying the one reference field from among the two reference fields. On the other hand, if the first signal indicates the interlaced forward-predicted field has two reference fields, for each of multiple motion vectors of the interlaced forward-predicted field, the decoder processes a third signal for selecting between the two reference fields. A video encoder performs corresponding signaling.
    Type: Application
    Filed: September 2, 2004
    Publication date: March 10, 2005
    Applicant: Microsoft Corporation
    Inventor: Thomas Holcomb
  • Publication number: 20050053292
    Abstract: For interlaced B-fields or interlaced B-frames, forward motion vectors are predicted by an encoder/decoder using forward motion vectors from a forward motion vector buffer, and backward motion vectors are predicted using 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. An encoder/decoder switches prediction modes between fields in a field-coded macroblock of an interlaced B-frame. For interlaced B-frames and interlaced B-fields, an encoder/decoder computes direct mode motion vectors. For interlaced B-fields or interlaced B-frames, an encoder/decoder uses 4 MV coding. An encoder/decoder uses “self-referencing” B-frames. An encoder sends binary information indicating whether a prediction mode is forward or not-forward for one or more macroblocks in an interlaced B-field. An encoder/decoder uses intra-coded B-fields [“BI-fields”].
    Type: Application
    Filed: June 29, 2004
    Publication date: March 10, 2005
    Applicant: Microsoft Corporation
    Inventors: Kunal Mukerjee, Thomas Holcomb
  • Publication number: 20050053155
    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: Application
    Filed: September 2, 2004
    Publication date: March 10, 2005
    Applicant: Microsoft Corporation
    Inventors: Thomas Holcomb, Sridhar Srinivasan, Shankar Regunathan
  • Publication number: 20050053142
    Abstract: Techniques and tools for hybrid motion vector prediction for interlaced forward-predicted fields are described. For example, a video decoder determines an initial motion vector predictor for a motion vector of an interlaced forward-predicted field. The decoder then checks a variation condition based at least in part on a predictor polarity selection (e.g., same or opposite), the initial motion vector predictor, and neighbor motion vectors. If the variation condition is satisfied, the decoder uses one of the neighbor motion vectors as a final motion vector predictor. Otherwise, the decoder uses the initial motion vector predictor as the final motion vector predictor. A video encoder performs corresponding processing.
    Type: Application
    Filed: September 2, 2004
    Publication date: March 10, 2005
    Applicant: Microsoft Corporation
    Inventors: Thomas Holcomb, Pohsiang Hsu, Chih-Lung Lin
  • Publication number: 20050053298
    Abstract: For interlaced B-fields or interlaced B-frames, an encoder/decoder uses 4MV coding. For example, 4MV is used in one-direction prediction modes (forward or backward modes), but not in other available prediction modes (e.g., direct, interpolated). Using 4MV allows more accurate motion compensation for interlaced B-fields and interlaced B-frames; limiting 4MV to forward and backward modes reduces coding overhead and avoids decoding complexity associated with combining 4MV with modes such as direct and interpolated.
    Type: Application
    Filed: September 15, 2004
    Publication date: March 10, 2005
    Applicant: Microsoft Corporation
    Inventors: Kunal Mukerjee, Thomas Holcomb