Decoding jointly coded transform type and subblock pattern information
AssigneeMicrosoft Technology Licensing, LLC
InventorsThomas W. Holcomb, Chih-Lung Lin, Shankar Regunathan, Sridhar Srinivasan
Life of this patent
Estimating the term…
Abstract
Techniques and tools are described for decoding jointly coded information. For example, a decoder decodes a variable length code [“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.
Claims20
In a computer system that implements a video decoder, a method of reconstructing a frame of a video sequence, the frame including a macroblock with plural blocks, the plural blocks including a first block that is coded, and the first block including plural subblocks, the method comprising:
- receiving, as part of a bit stream for at least part of the video sequence, a single variable length code (VLC) that jointly represents a transform type signal level, a transform type, and a subblock pattern;
- and
- decoding the VLC to determine the transform type signal level, the transform type, and the subblock pattern, wherein the transform type signal level is macroblock level, and wherein:
- the transform type indicates a transform size that applies for the plural subblocks of the first block, the transform type further indicating how the first block is split into the plural subblocks;
- and
- the subblock pattern indicates which of the plural subblocks of the first block have at least one non-zero coefficient.
One or more computer-readable memory or storage devices having stored thereon computer-executable instructions for causing one or more processing units, when programmed thereby, to perform operations to reconstruct a frame of a video sequence, the frame including a macroblock with plural blocks, the plural blocks including a first block that is coded, and the first block including plural subblocks, the operations comprising:
- receiving, part of a bit stream for at least part of the video sequence, a single variable length code (VLC) that jointly represents a transform type signal level, a transform type, and a subblock pattern;
- and
- decoding the VLC to determine the transform type signal level, the transform type, and the subblock pattern, wherein the transform type signal level is macroblock level, and wherein:
- the transform type indicates a transform size that applies for the plural subblocks of the first block, the transform type further indicating how the first block is split into the plural subblocks;
- and
- the subblock pattern indicates which of the plural subblocks of the first block have at least one non-zero coefficient.
A computer system comprising memory and one or more processing units, wherein the computer system implements a video decoder configured to perform operations to reconstruct a frame of a video sequence, the frame including a macroblock with plural blocks, the plural blocks including a first block that is coded, and the first block including plural subblocks, the operations comprising:
- receiving, as part of a bit stream for at least part of the video sequence, a single variable length code (VLC) that jointly represents a transform type signal level, a transform type, and a subblock pattern;
- and
- decoding the VLC to determine the transform type signal level, the transform type, and the subblock pattern, wherein the transform type signal level is macroblock level, and wherein:
- the transform type indicates a transform size that applies for the plural subblocks of the first block, the transform type further indicating how the first block is split into the plural subblocks;
- and
- the subblock pattern indicates which of the plural subblocks of the first block have at least one non-zero coefficient.
Dependencies are inferred from the claim text.