Coded-block-flag coding and derivation
AssigneeMicrosoft Technology Licensing, LLC
InventorsBin Li, Jizheng Xu
Life of this patent
Estimating the term…
Abstract
Techniques for coding and deriving (e.g., determining) one or more coded-block-flags associated with video content are described herein. A coded-block-flag of a last node may be determined when coded-block-flags of preceding nodes are determined to be a particular value and when a predetermined condition is satisfied. In some instances, the predetermined condition may be satisfied when log2(size of current transform unit) is less than log2 (size of maximum transform unit) or log2(size of current coding unit) is less than or equal to log2(size of maximum transform unit)+1. The preceding nodes may be nodes that precede the last node on a particular level in a residual tree.
Claims21
-20. (canceled)
One or more computer storage media having stored thereon computer-executable instructions for causing one or more processing units, when programmed thereby, to perform operations comprising:
- encoding a frame of video content to produce compressed data, including, for a given coding unit (“CU”) of the frame:
- determining that a root transform unit of a residual quadtree for the given CU includes residual information;
- determining a value of a coded block flag (“CBF”) for the root transform unit, the value of the CBF for the root transform unit indicating the root transform unit includes residual information;
- signaling, as part of the compressed data, the value of the CBF for the root transform unit;
- splitting the root transform unit into multiple nodes, each of the multiple nodes being associated with a block;
- and
- encoding the multiple nodes, including, for a given node of the multiple nodes:
- determining that a predetermined condition is satisfied, the predetermined condition relating to a predetermined maximum transform unit size;
- determining values of multiple preceding CBFs for multiple blocks, the values of the multiple preceding CBFs indicating the multiple blocks, respectively, do not include residual information;
- and
- based at least in part on the values of the multiple preceding CBFs indicating the multiple blocks, respectively, do not include residual information, determining a value of a CBF for the given node, the value of the CBF for the given node indicating that the given node includes residual information, and refraining from signaling, as part of the compressed data, the value of the CBF for the given node;
- and
- outputting the compressed data as part of a bitstream, wherein the compressed data includes the value of the CBF for the root transform unit but not the value of the CBF for the given node.
In a computing device that implements a video decoder, a method comprising:
- receiving compressed data as part of a bitstream;
- and
- decoding the compressed data to reconstruct a frame of video content, including, for a given coding unit (“CU”) of the frame:
- determining a value of a coded block flag (“CBF”) for a root transform unit of a residual quadtree for the given CU, the value of the CBF for the root transform unit indicating the root transform unit includes residual information, wherein the compressed data includes the value of the CBF for the root transform unit;
- determining, based on the value of the CBF for the root transform unit, that the root transform unit includes residual information;
- determining that the root transform unit is split into multiple nodes, each of the multiple nodes being associated with a block;
- and
- decoding the multiple nodes, including, for a given node of the multiple nodes:
- determining that a predetermined condition is satisfied, the predetermined condition relating to a predetermined maximum transform unit size;
- determining values of multiple preceding CBFs for multiple blocks, the values of the multiple preceding CBFs indicating the multiple blocks, respectively, do not include residual information;
- and
- based at least in part on the values of the multiple preceding CBFs indicating the multiple blocks, respectively, do not include residual information, determining a value of a CBF for the given node, the value of the CBF for the given node indicating that the given node includes residual information, wherein the compressed data does not include the value of the CBF for the given node.
A system comprising:
- one or more processors;
- and
- memory, communicatively coupled to the one or more processors, storing computer-readable instructions that, when executed by the one or more processors, cause the one or more processors to perform acts comprising:
- receiving compressed data as part of a bitstream;
- and
- decoding the compressed data to reconstruct a frame of video content, including, for a given coding unit (“CU”) of the frame:
- determining a value of a coded block flag (“CBF”) for a root transform unit of a residual quadtree for the given CU, the value of the CBF for the root transform unit indicating the root transform unit includes residual information, wherein the compressed data includes the value of the CBF for the root transform unit;
- determining, based on the value of the CBF for the root transform unit, that the root transform unit includes residual information;
- determining that the root transform unit is split into multiple nodes, each of the multiple nodes being associated with a block;
- and
- decoding the multiple nodes, including, for a given node of the multiple nodes:
- determining that a predetermined condition is satisfied, the predetermined condition relating to a predetermined maximum transform unit size;
- determining values of multiple preceding CBFs for multiple blocks, the values of the multiple preceding CBFs indicating the multiple blocks, respectively, do not include residual information;
- and
- based at least in part on the values of the multiple preceding CBFs indicating the multiple blocks, respectively, do not include residual information, determining a value of a CBF for the given node, the value of the CBF for the given node indicating that the given node includes residual information, wherein the compressed data does not include the value of the CBF for the given node.
Dependencies are inferred from the claim text.