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: 20090279605
    Abstract: A method of encoding an input video stream comprising a video component and an audio component is disclosed. The input video stream is split into a plurality of segments, each comprising a plurality of frames. Each of the segments is encoded as a low bit rate layer, a high bit rate layer, and one or more intermediate bit rate layers. The bit rate of the low bit rate layer is selected such that a network streaming the segment will always be able to stream the segment encoded as the low bit rate layer. The bit rate of the high bit rate layer is selected such that the segment is able to be decoded and played back at or above a quality threshold. The bit rates of the intermediate bit rate layers are produced by applying a bit rate factor to another bit rate.
    Type: Application
    Filed: May 7, 2008
    Publication date: November 12, 2009
    Applicant: Microsoft Corporation
    Inventors: Thomas W. Holcomb, Sanjeev Mehrotra, Serge Smirnov, Bharath Siravara
  • Publication number: 20090282162
    Abstract: An indexed file layout, comprising index information, is defined for segmented streaming of multimedia content. The index information can comprise program description information and streaming segment index information. In addition, the layout can comprise files containing streaming segments of the program, where the streaming segments are each encoded at one or more bitrates independently of other streaming segments of the program. The layout supports client switching between different bitrates at segment boundaries. Optimized client-side rate control of streaming content can be provided by defining a plurality of states, selecting available paths based on constraint conditions, and selecting a best path through the states (e.g., based on a distortion measure). In one client-side rate control solution states correspond to a specific bitrate of a specific streaming segment, and in another client-side rate control solution states correspond to a measure of client buffer fullness.
    Type: Application
    Filed: May 12, 2008
    Publication date: November 12, 2009
    Applicant: Microsoft Corporation
    Inventors: Sanjeev Mehrotra, Kishore Kotteri, Bharath Siravara, Thomas W. Holcomb, Hui Gao, Serge Smirnov
  • Patent number: 7616692
    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: Grant
    Filed: September 2, 2004
    Date of Patent: November 10, 2009
    Assignee: Microsoft Corporation
    Inventors: Thomas W. Holcomb, Pohsiang Hsu, Chih-Lung Lin
  • Patent number: 7609762
    Abstract: A video decoder receives an entry point key frame comprising first and second interlaced video fields and decodes a first syntax element comprising information (e.g., frame coding mode) for the entry point key frame at a first syntax level (e.g., frame level) in a bitstream. The first interlaced video field is a predicted field, and the second interlaced video field is an intra-coded field. The information for the entry point key frame can be a frame coding mode (e.g., field interlace) for the entry point key frame. The decoder can decode a second syntax element at the first syntax level comprising second information (e.g., field type for each of the first and second interlaced video fields) for the entry point key frame.
    Type: Grant
    Filed: November 15, 2004
    Date of Patent: October 27, 2009
    Assignee: Microsoft Corporation
    Inventors: Regis J. Crinon, Thomas W. Holcomb, Shankar Regunathan, Sridhar Srinivasan
  • Patent number: 7606311
    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: Grant
    Filed: September 2, 2004
    Date of Patent: October 20, 2009
    Assignee: Microsoft Corporation
    Inventors: Pohsiang Hsu, Sridhar Srinivasan, Chih-Lung Lin, Thomas W. Holcomb
  • Patent number: 7606308
    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: Grant
    Filed: September 2, 2004
    Date of Patent: October 20, 2009
    Assignee: Microsoft Corporation
    Inventors: Thomas W. Holcomb, Pohsiang Hsu, Sridhar Srinivasan, Chih-Lung Lin
  • Patent number: 7602851
    Abstract: With intelligent differential quantization, a video codec intelligently quantizes video at differing strength levels within a frame, such as on a macroblock (MB) or a group of MB basis. This allows the codec to control bit usage on a finer granularity than a frame to meet hardware constraints, as well as providing perceptual optimization by coarsely quantizing unimportant regions, while finely quantizing important regions within a frame. The intelligent differential quantization uses motion information gathered from encoding and analysis of the video to classify the importance of different regions of the image, and quantizes the regions accordingly. In addition, the intelligent differential quantization include efficient signaling of information as to the differential quantization strengths in the compressed bit stream.
    Type: Grant
    Filed: July 18, 2003
    Date of Patent: October 13, 2009
    Assignee: Microsoft Corporation
    Inventors: Ming-Chieh Lee, Bruce Chih-Lung Lin, Pohsiang Hsu, Thomas W. Holcomb
  • Patent number: 7599438
    Abstract: Techniques and tools for using motion vector block patterns in video encoding and decoding are described. In general, a motion vector block pattern signals the presence or absence of motion vector data for a macroblock with multiple motion vectors. For example, a video decoder decodes variable length codes that represent motion vector block patterns. Each motion vector block pattern has one bit per corresponding luminance motion vector of a macroblock with multiple luminance motion vectors, where the one bit indicates whether or not motion vector data for the corresponding luminance motion vector is signaled. A video encoder performs corresponding encoding.
    Type: Grant
    Filed: September 2, 2004
    Date of Patent: October 6, 2009
    Assignee: Microsoft Corporation
    Inventors: Thomas W. Holcomb, Pohsiang Hsu, Sridhar Srinivasan, Chih-Lung Lin
  • Publication number: 20090245587
    Abstract: Techniques and tools for content classification and adaptive quantization are described. In an example implementation, a video encoding tool classifies blocks as textured, dark smooth or other smooth. The tool classifies a block as textured or non-textured by comparing the energy of AC coefficients for the block to a texture threshold, which can be set using a non-linear mapping of possible texture classification levels to possible texture thresholds. If a block is not textured, the tool further classifies the block as dark smooth or smooth depending on average intensity value for the block. Using the classification information and one or more control parameters to control bit allocation for dark smooth content relative to other smooth content, the tool encodes the video and outputs encoded video information. Example multi-pass approaches to setting the control parameters are also described.
    Type: Application
    Filed: March 31, 2008
    Publication date: October 1, 2009
    Applicant: Microsoft Corporation
    Inventors: Thomas W. Holcomb, Stacey Spears, Cheng Chang, Chih-Lung Lin
  • Patent number: 7580584
    Abstract: With adaptive multiple quantization, a video or other digital media codec can adaptively select among multiple quantizers to apply to transform coefficients based on content or bit rate constraints, so as to improve quality through rate-distortion optimization. The switch in quantizers can be signaled at the sequence level or frame level of the bitstream syntax, or can be implicitly specified in the syntax.
    Type: Grant
    Filed: July 17, 2004
    Date of Patent: August 25, 2009
    Assignee: Microsoft Corporation
    Inventors: Thomas W. Holcomb, Chih-Lung Lin, Pohsiang Hsu, Sridhar Srinivasan
  • Publication number: 20090207912
    Abstract: Techniques and tools are described for reducing key picture popping effects. In some embodiments, an encoding system filters a video picture that is to be encoded as a key picture using intra-picture compression. The filtering reduces detail in the picture relative to other video pictures that are to be encoded using inter-picture compression. In many cases, the filtering reduces key picture popping effects by selectively attenuating detail in the picture that is to be encoded as a key picture. The encoding tool can use a key picture filter strength parameter to control strength of the filtering. The tool encodes the filtered video picture using intra-picture compression and encodes the other video pictures using inter-picture compression.
    Type: Application
    Filed: February 15, 2008
    Publication date: August 20, 2009
    Applicant: Microsoft Corporation
    Inventor: Thomas W. Holcomb
  • Patent number: 7577200
    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: Grant
    Filed: October 6, 2004
    Date of Patent: August 18, 2009
    Assignee: Microsoft Corporation
    Inventors: Thomas W. Holcomb, Sridhar Srinivasan
  • Patent number: 7577198
    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: Grant
    Filed: September 2, 2004
    Date of Patent: August 18, 2009
    Assignee: Microsoft Corporation
    Inventor: Thomas W. Holcomb
  • Patent number: 7567617
    Abstract: Techniques and tools for encoding and decoding predicted images in interlaced video are described. For example, a video encoder or decoder computes a motion vector predictor for a motion vector for a portion (e.g., a block or macroblock) of an interlaced P-field, including selecting between using a same polarity or opposite polarity motion vector predictor for the portion. The encoder/decoder processes the motion vector based at least in part on the motion vector predictor computed for the motion vector. The processing can comprise computing a motion vector differential between the motion vector and the motion vector predictor during encoding and reconstructing the motion vector from a motion vector differential and the motion vector predictor during decoding. The selecting can be based at least in part on a count of opposite polarity motion vectors for a neighborhood around the portion and/or a count of same polarity motion vectors.
    Type: Grant
    Filed: May 27, 2004
    Date of Patent: July 28, 2009
    Assignee: Microsoft Corporation
    Inventor: Thomas W. Holcomb
  • Publication number: 20090168890
    Abstract: Techniques and tools for encoding and decoding predicted images in interlaced video are described. For example, a video encoder or decoder computes a motion vector predictor for a motion vector for a portion (e.g., a block or macroblock) of an interlaced P-field, including selecting between using a same polarity or opposite polarity motion vector predictor for the portion. The encoder/decoder processes the motion vector based at least in part on the motion vector predictor computed for the motion vector. The processing can comprise computing a motion vector differential between the motion vector and the motion vector predictor during encoding and reconstructing the motion vector from a motion vector differential and the motion vector predictor during decoding. The selecting can be based at least in part on a count of opposite polarity motion vectors for a neighborhood around the portion and/or a count of same polarity motion vectors.
    Type: Application
    Filed: March 11, 2009
    Publication date: July 2, 2009
    Applicant: Microsoft Corporation
    Inventor: Thomas W. Holcomb
  • Patent number: 7539393
    Abstract: A request is received to play compressed video data in a reverse direction. A process identifies a most recent key frame received and decodes the most recent key frame. The process then identifies delta frames received after the most recent key frame and decodes these identified delta frames. The decoded delta frames are then played in the reverse direction. Additionally, compressed audio data can be decoded and played in the reverse direction along with the video data.
    Type: Grant
    Filed: December 5, 2003
    Date of Patent: May 26, 2009
    Assignee: Microsoft Corporation
    Inventors: Geoffrey T. Dunbar, Alexandre V. Grigorovitch, Chih-Iung Bruce Lin, Wei-Ge Chin, Thomas W. Holcomb
  • Patent number: 7529302
    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: Grant
    Filed: September 15, 2004
    Date of Patent: May 5, 2009
    Assignee: Microsoft Corporation
    Inventors: Kunal Mukerjee, Thomas W. Holcomb
  • Publication number: 20090074073
    Abstract: Techniques and tools for encoding and decoding motion vector information for video images are described. For example, a video encoder yields an extended motion vector code by jointly coding, for a set of pixels, a switch code, motion vector information, and a terminal symbol indicating whether subsequent data is encoded for the set of pixels. In another aspect, an encoder/decoder selects motion vector predictors for macroblocks. In another aspect, a video encoder/decoder uses hybrid motion vector prediction. In another aspect, a video encoder/decoder signals a motion vector mode for a predicted image. In another aspect, a video decoder decodes a set of pixels by receiving an extended motion vector code, which reflects joint encoding of motion information together with intra/inter-coding information and a terminal symbol. The decoder determines whether subsequent data exists for the set of pixels based on e.g., the terminal symbol.
    Type: Application
    Filed: November 21, 2008
    Publication date: March 19, 2009
    Applicant: Microsoft Corporation
    Inventors: Sridhar Srinivasan, Pohsiang Hsu, Thomas W. Holcomb, Kunal Mukerjee, Bruce Chih-Lung Lin
  • Patent number: 7502415
    Abstract: Techniques and tools are described for decoding video data having samples that have been scaled in the spatial domain. For example, a decoder receives a bit stream that includes coded video data for a current frame. The decoder processes at least one syntax element (e.g., sequence layer flag, frame layer flag) that indicates whether the current frame should be scaled up in value in a spatial domain. If so, then the samples for the current frame are scaled up in value in the spatial domain. As another example, for a reference frame used in motion compensation for a current frame, a decoder scales samples of the reference frame so the range of the reference frame matches the range of the current frame.
    Type: Grant
    Filed: July 16, 2004
    Date of Patent: March 10, 2009
    Assignee: Microsoft Corporation
    Inventors: Bruce Chih-Lung Lin, Pohsiang Hsu, Sridhar Srinivasan, Thomas W. Holcomb
  • Patent number: 7469011
    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: Grant
    Filed: September 2, 2004
    Date of Patent: December 23, 2008
    Assignee: Microsoft Corporation
    Inventors: Chih-Lung Lin, Pohsiang Hsu, Thomas W. Holcomb, Sridhar Srinivasan