IP Library › Granted Patent US 11,949,857
Granted Patent B2
US 11,949,857 · App. 17/435,997 · Granted Apr 2, 2024

Method, apparatus and system for encoding and decoding a tree of blocks of video samples

Inventor: Christopher James Rosewarne (Concord West, AU)
Assignee: Canon Kabushiki Kaisha
H04N19/11H04N19/119H04N19/159H04N19/176H04N19/186H04N19/593H04N19/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,949,857
App. No.
17/435,997
Granted
Apr 2, 2024
Kind
B2
Abstract

A method of decoding coding blocks of a coding tree unit for an image frame, from a bitstream. The method comprises determining a chroma format of the image frame, the chroma format having chroma channels of the image frame being subsampled relative to a luma channel of the image frame; and determining, based on the determined chroma format, a size of a chroma coding block of one of the chroma channels of the coding tree unit, wherein the chroma coding block is collocated with a plurality of corresponding luma blocks. The method comprises determining the chroma coding block is encoded using intra prediction if the determined size of the chroma block is a predetermined minimum chroma block size; and decoding the coding blocks of the coding tree using intra prediction for the chroma coding block and inter prediction for at least one of the plurality of corresponding luma coding blocks.

Claims (58)

1. A method of decoding coding blocks of a coding tree unit for an image frame, from a bitstream, the method comprising:

determining a chroma format of the image frame, the chroma format having chroma channels of the image frame being subsampled relative to a luma channel of the image frame, wherein the determined chroma format is 4:2:0;

recursively splitting the coding tree unit into one or more coding units each of which has a luma coding block and chroma coding blocks, using a single tree;

determining whether further split for a chroma coding block is allowed,

wherein, if a block size of a luma coding block of a current coding unit is 8×8 and a block size of chroma coding blocks of the current coding unit is 4×4, a quad split for the chroma coding blocks of the current coding unit is not allowed even if the luma coding block of the current coding unit is split by a quad split, and

the chroma coding blocks, having the block size of 4×4, of the current coding unit are collocated with four luma coding blocks resulted from a quad split for the luma coding block, having the block size of 8×8, of the current coding unit if the luma coding block of the current coding unit is split by a quad split;

determining that the chroma coding blocks of the current coding unit are to be decoded using intra prediction if the block size of the luma coding block of the current coding unit is 8×8, the block size of the chroma coding blocks of the current coding unit is 4×4, and a current split mode for the current coding unit is a quad split; and

decoding the chroma coding blocks of the current coding unit using intra prediction if it is determined that the chroma coding blocks of the current coding unit are to be decoded using intra prediction.

2. The method according to claim 1 , wherein the decoding decodes the four luma coding blocks using intra prediction.

3. The method according to claim 1 , wherein if the block size of the chroma coding blocks of the current coding unit is a predetermined chroma block size, a ternary split for the chroma coding blocks of the current coding unit is not allowed even if the ternary split for the luma coding block of the current coding unit is performed, and the chroma coding blocks of the current coding unit are collocated with a plurality of corresponding luma coding blocks resulted from a ternary split for the luma coding block of the current coding unit.

4. The method according to claim 1 , wherein if the luma coding block of the current coding unit is split into a plurality of luma coding blocks, the chroma coding blocks of the current coding unit are not split, and an intra block copy using a vector is used for at least one of the plurality of luma coding blocks, the coding blocks of the coding tree unit are decoded by applying the vector to the at least one of the plurality of luma coding blocks and by using intra prediction for the chroma coding blocks of the current coding unit without applying the vector to the chroma coding blocks of the current coding unit.

5. An apparatus for decoding coding blocks of a coding tree unit for an image frame, from a bitstream, the apparatus comprising:

one or more computer-readable storage media; and

one or more processors that are in communication with the one or more computer-readable storage media and that cooperate with the one or more computer-readable storage media to cause the apparatus to:

determine a chroma format of the image frame, the chroma format having chroma channels of the image frame being subsampled relative to a luma channel of the image frame, wherein the determined chroma format is 4:2:0;

recursively split the coding tree unit into one or more coding units each of which has a luma coding block and chroma coding blocks, using a single tree;

determine whether further split for a chroma coding block is allowed,

wherein, if a block size of a luma coding block of a current coding unit is 8×8 and a block size of chroma coding blocks of the current coding unit is 4×4, a quad split for the chroma coding blocks of the current coding unit is not allowed even if a quad split for the luma coding block of the current coding unit is performed, and

the chroma coding blocks, having the block size of 4×4, of the current coding unit are collocated with four luma coding blocks resulted from a quad split for the luma coding block, having the block size of 8×8, of the current coding unit if the luma coding block of the current coding unit is split by a quad split;

determine that the chroma coding blocks of the current coding unit are to be decoded using intra prediction if the block size of the luma coding block of the current coding unit is 8×8, the block size of the chroma coding blocks of the current coding unit is 4×4, and a current split mode for the current coding unit is a quad split; and

decode the chroma coding blocks of the current coding unit using intra prediction if it is determined that the chroma coding blocks of the current coding unit are to be decoded using intra prediction.

6. A non-transitory computer-readable storage medium storing a computer program which, when executed on a computer, causes the computer to perform a method of decoding coding blocks of a coding tree unit for an image frame, the method comprising:

determining a chroma format of the image frame, the chroma format having chroma channels of the image frame being subsampled relative to a luma channel of the image frame, wherein the determined chroma format is 4:2:0;

recursively splitting the coding tree unit into one or more coding units each of which has a luma coding block and chroma coding blocks, using a single tree;

determining whether further split for a chroma coding block is allowed,

wherein, if a block size of a luma coding block of a current coding unit is 8×8 and a block size of chroma coding blocks of the current coding unit is 4×4, a quad split for the chroma coding blocks of the current coding unit is not allowed even if the luma coding block of the current coding unit is split by a quad split, and

the chroma coding blocks, having the block size of 4×4, of the current coding unit are collocated with four luma coding blocks resulted from a quad split for the luma coding block, having the block size of 8×8, of the current coding unit if the luma coding block of the current coding unit is split by a quad split;

determining that the chroma coding blocks of the current coding unit are to be decoded using intra prediction if the block size of the luma coding block of the current coding unit is 8×8, the block size of the chroma coding blocks of the current coding unit is 4×4, and a current split mode for the current coding unit is a quad split; and

decoding the chroma coding blocks of the current coding unit using intra prediction if it is determined that the chroma coding blocks of the current coding unit are to be decoded using intra prediction.

7. A method of encoding coding blocks of a coding tree unit for an image frame, into a bitstream, the method comprising:

determining a chroma format of the image frame, the chroma format having chroma channels of the image frame being subsampled relative to a luma channel of the image frame, wherein the determined chroma format is 4:2:0;

recursively splitting the coding tree unit into one or more coding units each of which has a luma coding block and chroma coding blocks, using a single tree;

determining whether further split for a chroma coding block is allowed,

wherein, if a block size of a luma coding block of a current coding unit is 8×8 and a block size of chroma coding blocks of the current coding unit is 4×4, a quad split for the chroma coding blocks of the current coding unit is not allowed even if the luma coding block of the current coding unit is split by a quad split, and

the chroma coding blocks, having the block size of 4×4, of the current coding unit are collocated with four luma coding blocks resulted from a quad split for the luma coding block, having the block size of 8×8, of the current coding unit if the luma coding block of the current coding unit is split by a quad split;

determining that the chroma coding blocks of the current coding unit are to be encoded using intra prediction if the block size of the luma coding block of the current coding unit is 8×8, the block size of the chroma coding blocks of the current coding unit is 4×4, and a current split mode for the current coding unit is a quad split; and

encoding the chroma coding blocks of the current coding unit using intra prediction if it is determined that the chroma coding blocks of the current coding unit are to be encoded using intra prediction.

8. The method according to claim 7 , the encoding encodes the four luma coding blocks using intra prediction.

9. The method according to claim 7 , wherein if the block size of the chroma coding blocks of the current coding unit is a predetermined chroma block size, a ternary split for the chroma coding blocks of the current coding unit is not allowed even if the ternary split for the luma coding block of the current coding unit is performed, and the chroma coding blocks of the current coding unit are collocated with a plurality of corresponding luma coding blocks resulted from a ternary split for the luma coding block of the current coding unit.

10. The method according to claim 7 , wherein if the luma coding block of the current coding unit is split into a plurality of luma coding blocks, the chroma coding blocks of the current coding unit are not split, and an intra block copy using a vector is used for at least one of the plurality of luma coding blocks, the coding blocks of the coding tree unit are decoded by applying the vector to the at least one of the plurality of luma coding blocks and by using intra prediction for the chroma coding blocks of the current coding unit without applying the vector to the chroma coding blocks of the current coding unit.

11. An apparatus for encoding coding blocks of a coding tree unit for an image frame, into a bitstream, the apparatus comprising:

one or more computer-readable storage media; and

one or more processors that are in communication with the one or more computer-readable storage media and that cooperate with the one or more computer-readable storage media to cause the system to perform operations comprising:

determine a chroma format of the image frame, the chroma format having chroma channels of the image frame being subsampled relative to a luma channel of the image frame, wherein the determined chroma format is 4:2:0;

recursively split the coding tree unit into one or more coding units each of which has a luma coding block and chroma coding blocks, using a single tree;

determine whether further split for a chroma coding block is allowed,

wherein, if a block size of a luma coding block of a current coding unit is 8×8 and a block size of chroma coding blocks of the current coding unit is 4×4, a quad split for the chroma coding blocks of the current coding unit is not allowed even if the luma coding block of the current coding unit is split by a quad split, and

the chroma coding blocks, having the block size of 4×4, of the current coding unit are collocated with four luma coding blocks resulted from a quad split for the luma coding block, having the block size of 8×8, of the current coding unit if the luma coding block of the current coding unit is split by a quad split;

determine that the chroma coding blocks of the current coding unit are to be encoded using intra prediction if the block size of the luma coding block of the current coding unit is 8×8, the block size of the chroma coding blocks of the current coding unit is 4×4, and a current split mode for the current coding unit is a quad split; and

encode the chroma coding blocks of the current coding unit using intra prediction if it is determined that the chroma coding blocks of the current coding unit are encoded using intra prediction.

12. A non-transitory computer-readable storage medium storing a computer program which, when executed on a computer, causes the computer to perform a method of encoding coding blocks of a coding tree unit for an image frame, into a bitstream, wherein the determined chroma format is 4:2:0, the method comprising:

determining a chroma format of the image frame, the chroma format having chroma channels of the image frame being subsampled relative to a luma channel of the image frame;

recursively splitting the coding tree unit into one or more coding units each of which has a luma coding block and chroma coding blocks, using a single tree;

determining whether further split for a chroma coding block is allowed,

wherein, if a block size of a luma coding block of a current coding unit is 8×8 and a block size of chroma coding blocks of the current coding unit is 4×4, a quad split for the chroma coding blocks of the current coding unit is not allowed even if the luma coding block of the current coding unit is split by a quad split, and

the chroma coding blocks, having the block size of 4×4, of the current coding unit are collocated with four luma coding blocks resulted from a quad split for the luma coding block, having the block size of 8×8, of the current coding unit if the luma coding block of the current coding unit is split by a quad split;

determining that the chroma coding blocks of the current coding unit are to be encoded using intra prediction if the block size of the luma coding block of the current coding unit is 8×8, the block size of the chroma coding blocks of the current coding unit is 4×4, and a current split mode for the current coding unit is a quad split; and

encoding the chroma coding blocks of the current coding unit using intra prediction if it is determined that the chroma coding blocks of the current coding unit are to be encoded using intra prediction.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 2, 2021
From: ROSEWARNE, CHRISTOPHER JAMES
To: CANON KABUSHIKI KAISHA
Reel/Frame 058810/0222 →
Priority Claims (1)
AU 2019201649 · Mar 11, 2019 · national
Continuity (1)
Related Publication 20220150479A1 · May 12, 2022