IP Library › Granted Patent US 11,936,884
Granted Patent B2
US 11,936,884 · App. 17/982,623 · Granted Mar 19, 2024

Coded-block-flag coding and derivation

Inventors: Bin Li (Beijing, CN); Jizheng Xu (Beijing, CN)
Assignee: Microsoft Technology Licensing, LLC
H04N19/18H04N19/132H04N19/463H04N19/96
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,936,884
App. No.
17/982,623
Granted
Mar 19, 2024
Kind
B2
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 log 2 (size of current transform unit) is less than log 2 (size of maximum transform unit) or log 2 (size of current coding unit) is less than or equal to log 2 (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.

Claims (56)

1. A computer system comprising one or more processing units and memory, wherein the computer system implements a video encoder configured to perform operations comprising:

encoding video content to produce compressed data, including, for a given coding unit (“CU”) of the video content:

determining that a root transform unit (“TU”) of a residual quadtree for the given CU includes residual information;

determining a value of a coded block flag (“CBF”) for the root TU, the value of the CBF for the root TU indicating the root TU includes residual information;

signaling, as part of the compressed data, the value of the CBF for the root TU;

determining whether to split the root TU into multiple nodes, each of the multiple nodes being associated with a block, including determining that a predetermined condition is satisfied, the predetermined condition relating to a predetermined maximum TU size, wherein the determining that the predetermined condition is satisfied includes determining that log 2 (a TU size)<log 2 (the predetermined maximum TU 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 a given block, the value of the CBF for the given block indicating that the given block includes residual information, and refraining from signaling, as part of the compressed data, the value of the CBF for the given block; and

outputting the compressed data as part of a bitstream, wherein the compressed data includes the value of the CBF for the root TU but not the value of the CBF for the given block, the value of the CBF for the root TU being signaled for the given CU.

2. The computer system of claim 1 , wherein the given CU is encoded using inter-prediction.

3. The computer system of claim 1 , wherein the compressed data includes a tree structure for the residual quadtree, the tree structure including:

one or more values of split flags for TUs of the residual quadtree;

zero or more values of CBFs for the TUs of the residual quadtree; and

for each un-split TU of the residual quadtree that includes residual information, residual information for that un-split TU of the residual quadtree.

4. The computer system of claim 1 , wherein, within the bitstream, any values of CBFs for the multiple nodes are signaled in a tree structure for the residual quadtree.

5. The computer system of claim 1 , wherein the multiple blocks and the given block are on a same level of the residual quadtree.

6. The computer system of claim 1 , wherein the encoding the video content further includes, for the given CU:

performing prediction operations to produce predicted values for the given CU; and

based on differences between pixel values for the given CU and the predicted values, generating the residual information for the given CU.

7. The computer system of claim 1 , wherein the given block is for a luma component.

8. One or more non-transitory computer-readable media having stored thereon compressed data as part of a bitstream, the compressed data including a value of a coded block flag (“CBF”) for a root transform unit (“TU”) of a residual quadtree for a given coding unit (“CU”) of video content, the value of the CBF for the root TU being signaled for the given CU, and wherein the compressed data is produced by encoding the video content with operations that include, for the given CU:

determining that the root TU of the residual quadtree for the given CU includes residual information;

determining the value of the CBF for the root TU, the value of the CBF for the root TU indicating the root TU includes residual information;

signaling, as part of the compressed data, the value of the CBF for the root TU;

determining whether to split the root TU into multiple nodes, each of the multiple nodes being associated with a block, including determining that a predetermined condition is satisfied, the predetermined condition relating to a predetermined maximum TU size, wherein the determining that the predetermined condition is satisfied includes determining that log 2 (a TU size)<log 2 (the predetermined maximum TU 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 a given block, the value of the CBF for the given block indicating that the given block includes residual information, and refraining from signaling, as part of the compressed data, the value of the CBF for the given block.

9. The one or more computer-readable media of claim 8 , wherein the given CU is encoded using inter-prediction.

10. The one or more computer-readable media of claim 8 , wherein the compressed data includes a tree structure for the residual quadtree, the tree structure including:

one or more values of split flags for TUs of the residual quadtree;

zero or more values of CBFs for the TUs of the residual quadtree; and

for each un-split TU of the residual quadtree that includes residual information, residual information for that un-split TU of the residual quadtree.

11. The one or more computer-readable media of claim 8 , wherein, within the bitstream, any values of CBFs for the multiple nodes are signaled in a tree structure for the residual quadtree.

12. The one or more computer-readable media of claim 8 , wherein the multiple blocks and the given block are on a same level of the residual quadtree.

13. The one or more computer-readable media of claim 8 , wherein the operations further include, for the given CU:

performing prediction operations to produce predicted values for the given CU; and

based on differences between pixel values for the given CU and the predicted values, generating the residual information for the given CU.

14. In a computer system that implements a video decoder, a method comprising:

receiving compressed data as part of a bitstream; and

decoding the compressed data to reconstruct video content, including, for a given coding unit (“CU”) of the video content:

determining a value of a coded block flag (“CBF”) for a root transform unit (“TU”) of a residual quadtree for the given CU, the value of the CBF for the root TU indicating the root TU includes residual information, wherein the compressed data includes the value of the CBF for the root TU, the value of the CBF for the root TU being signaled for the given CU;

determining, based on the value of the CBF for the root TU, that the root TU includes residual information;

determining whether the root TU is split into multiple nodes, each of the multiple nodes being associated with a block, including determining that a predetermined condition is satisfied, the predetermined condition relating to a predetermined maximum TU size, wherein the determining that the predetermined condition is satisfied includes determining that log 2 (a TU size)<log 2 (the predetermined maximum TU 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 a given block, the value of the CBF for the given block indicating that the given block includes residual information, wherein the compressed data does not include the value of the CBF for the given block.

15. The method of claim 14 , wherein the given CU is decoded using inter-prediction.

16. The method of claim 14 , wherein the compressed data includes a tree structure for the residual quadtree, the tree structure including:

one or more values of split flags for TUs of the residual quadtree;

zero or more values of CBFs for the TUs of the residual quadtree; and

for each un-split TU of the residual quadtree that includes residual information, residual information for that un-split TU of the residual quadtree.

17. The method of claim 14 , wherein the multiple blocks and the given block are on a same level of the residual quadtree.

18. The method of claim 14 , further comprising, for the given CU:

performing prediction operations to produce predicted values for the given CU; and

combining the predicted values and the residual information for the given CU to reconstruct pixel values for the given CU.

19. The method of claim 14 , wherein, within the bitstream, any values of CBFs for the multiple nodes are signaled in a tree structure for the residual quadtree.

20. The method of claim 14 , wherein the given block is for a luma component.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2022
From: LI, BIN; XU, JIZHENG
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 062777/0539 →
Continuity (6)
Continuation 17465601 · Sep 2, 2021
Continuation 16919481 · Jul 2, 2020
Continuation 16292019 · Mar 4, 2019
Continuation 15646361 · Jul 11, 2017
Continuation 13530849 · Jun 22, 2012
Related Publication 20230056351A1 · Feb 23, 2023
Cited By (1)
US 12,256,089