# US 11,910,028 B2 · Method, apparatus and system for encoding and decoding a tree of blocks of video samples

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,910,028 B2
- Document ID: US11910028B2
- Status: Granted
- Kind: B2
- Application number: 18/157,519
- Filed: 2023-01-20
- Published: 2023-05-18
- Granted: 2024-02-20
- Earliest claimed: 2018-09-21
- Assignees: Canon Kabushiki Kaisha
- Applicants: Canon Kabushiki Kaisha
- Inventors: Christopher James Rosewarne
- Web page: https://patentgrep.com/patent/US11910028B2

## CPC

- H04N 19/96: Tree coding, e.g. quad-tree coding
- H04N 19/117: Filters, e.g. for pre-processing or post-processing (sub-band filter banks H04N19/635)
- H04N 19/119: Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
- H04N 19/122: Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
- H04N 19/132: Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/186: the unit being a colour or a chrominance component
- H04N 19/593: involving spatial prediction techniques
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A method of decoding coding blocks of a coding tree unit in an image. The method comprises obtaining the coding tree unit in the image from a bitstream, the coding tree unit having chroma channels and a luma channel; and determining luma split options for the luma channel of the coding tree unit according to dimensions of a region of the coding tree unit. The method also comprises determining chroma split options for the chroma channels of the coding tree unit according to dimensions of a region of the coding tree unit, the chroma split options being different to the luma split options, the allowable chroma split options resulting in chroma intra predicted blocks with a minimum size of 16 samples; and decoding the coding blocks by determining flags from the bitstream to select one of the determined luma split options and one of the determined chroma split options.

## Claims

### Claim 1

A method of decoding blocks of a coding tree unit in an image, from a bitstream, the method comprising:
parsing, from the bitstream, a syntax element to determine a chroma format of the image from a plurality of chroma formats;
determining the chroma format of the image from the plurality of chroma formats, based on the syntax element;
determining luma split options for a luma channel of the coding tree unit according to a size of a region in the coding tree unit;
determining chroma split options for chroma channels of the coding tree unit according to a size of a region in the coding tree unit, the chroma split options being capable of including a vertical ternary split, wherein a tree structure for the chroma channels of the coding tree unit is separate from a tree structure for the luma channel of the coding tree unit, and the vertical ternary split for a given region in the coding tree unit is not allowed in the chroma split options in a case where (a) a width of the given region is 16 samples in luma samples and (b) the determined chroma format is a 4:2:2 chroma format or a 4:2:0 chroma format; and
decoding flags from the bitstream to select one of the determined luma split options and one of the determined chroma split options.

### Claim 2 (depends on 1)

The method according to claim 1, wherein a minimum size of chroma blocks, for intra prediction, obtained by the chroma split options is 16 samples.

### Claim 3 (depends on 1)

The method according to claim 1, wherein the determined luma split options result in a luma block size that is a multiple of 16 samples for the luma channel of the image.

### Claim 4 (depends on 1)

The method according to claim 1, wherein the determined luma split options result in a luma block size that is a multiple of 16 samples for the luma channel of the image, and an intra chroma block having a width of two samples are coded using a division of the intra chroma block into sub-blocks, each sub-block of size 2 by 8 samples.

### Claim 5 (depends on 1)

The method according to claim 1, wherein the determined luma split options result in a luma block size that is a multiple of 16 samples for the luma channel of the image, and an intra chroma block having a height of two samples are coded using a division of the intra chromablock into sub-blocks, each sub-block of size 8 by 2 samples.

### Claim 6

A method of encoding blocks of a coding tree unit in an image, into a bitstream, the method comprising:
determining a chroma format of the image from a plurality of chroma formats;
encoding, into the bitstream, information of the determined chroma format of the image;
determining luma split options for a luma channel of the coding tree unit according to a size of a region in the coding tree unit;
determining chroma split options for chroma channels of the coding tree unit according to a size of a region in the coding tree unit, the chroma split options being capable of including a vertical ternary split, wherein a tree structure for the chroma channels of the coding tree unit is separate from a tree structure for the luma channel of the coding tree unit, and the vertical ternary split for a given region in the coding tree unit is not allowed in the chroma split options in a case where (a) a width of the given region is 16 samples in luma samples and (b) the determined chroma format is a 4:2:2 chroma format or a 4:2:0 chroma format; and
encoding flags used for selecting one of the determined luma split options and one of the determined chroma split options.

### Claim 7 (depends on 6)

The method according to claim 6, wherein a minimum size of chroma blocks, for intra prediction, obtained by the chroma split options is 16 samples.

### Claim 8 (depends on 6)

The method according to claim 6, wherein the determined luma split options result in a luma block size that is a multiple of 16 samples for the luma channel of the image.

### Claim 9 (depends on 6)

The method according to claim 6, wherein the determined luma split options result in a luma block size that is a multiple of 16 samples for the luma channel of the image, and a intra chroma block having a width of two samples is coded using a division of the intra chroma block into sub-blocks, each sub-block of size 2 by 8 samples.

### Claim 10 (depends on 6)

The method according to claim 6, wherein the determined luma split options result in a luma block size that is a multiple of 16 samples for the luma channel of the image, and an intra chroma block having a height of two samples is coded using a division of the intra chroma block into sub-blocks, each sub-block of size 8 by 2 samples.

### Claim 11

A video decoding apparatus decoding blocks of a coding tree unit in an image from a bitstream, the video decoding apparatus comprising:
a parsing unit configured to parse, from the bitstream, a syntax element to determine a chroma format of the image from a plurality of chroma formats;
a first determining unit configured to determine the chroma format of the image from the plurality of chroma formats, based on the syntax element;
a second determining unit configured to determine luma split options for a luma channel of the coding tree unit according to a size of a region in the coding tree unit;
a third determining unit configured to determine chroma split options for chroma channels of the coding tree unit according to a size of a region in the coding tree unit, the chroma split options being capable of including a vertical ternary split, wherein a tree structure for the chroma channels of the coding tree unit is separate from a tree structure for the luma channel of the coding tree unit, and the vertical ternary split for a given region in the coding tree unit is not allowed in the chroma split options in a case where (a) a width of the given region is 16 samples in luma samples and (b) the determined chroma format is a 4:2:2 chroma format or a 4:2:0 chroma format; and
a decoding unit configured to decode flags from the bitstream to select one of the determined luma split options and one of the determined chroma split options.

### Claim 12

An encoding apparatus encoding blocks of a coding tree unit in an image, the encoding apparatus comprising:
a first determining unit configured to determine a chroma format of the image from a plurality of chroma formats;
a first encoding unit configured to encode information of the determined chroma format of the image;
a second determining unit configured to determine luma split options for a luma channel of the coding tree unit according to a size of a region in the coding tree unit;
a third determining unit configured to determine chroma split options for chroma channels of the coding tree unit according to a size of a region in the coding tree unit, the chroma split options being capable of including a vertical ternary split, wherein a tree structure for the chroma channels of the coding tree unit is separate from a tree structure for the luma channel of the coding tree unit, and the vertical ternary split for a given region in the coding tree unit is not allowed in the chroma split options in a case where (a) a width of the given region is 16 samples in luma samples and (b) the determined chroma format is a 4:2:2 chroma format or a 4:2:0 chroma format; and
a second encoding unit configured to encode flags used for selecting one of the determined luma split options and one of the determined chroma split options.

### Claim 13

A non-transitory computer-readable storage medium storing a program for causing a computer to execute a method of decoding blocks of a coding tree unit in an image, from a bitstream, the method comprising:
parsing, from the bitstream, a syntax element to determine a chroma format of the image from a plurality of chroma formats;
determining the chroma format of the image from the plurality of chroma formats, based on the syntax element;
determining luma split options for a luma channel of the coding tree unit according to a size of a region in the coding tree unit;
determining chroma split options for chroma channels of the coding tree unit according to a size of a region in the coding tree unit, the chroma split options being capable of including a vertical ternary split, wherein a tree structure for the chroma channels of the coding tree unit is separate from a tree structure for the luma channel of the coding tree unit, and the vertical ternary split for a given region in the coding tree unit is not allowed in the chroma split options in a case where (a) a width of the given region is 16 samples in luma samples and (b) the determined chroma format is a 4:2:2 chroma format or a 4:2:0 chroma format; and
decoding flags from the bitstream to select one of the determined luma split options and one of the determined chroma split options.

### Claim 14

A non-transitory computer-readable storage medium storing a program for causing a computer to execute a method of encoding blocks of a coding tree unit in an image, into a bitstream, the method comprising:
determining a chroma format of the image from a plurality of chroma formats;
encoding, into the bitstream, information of the determined chroma format of the image;
determining luma split options for a luma channel of the coding tree unit according to a size of a region in the coding tree unit;
determining chroma split options for chroma channels of the coding tree unit according to a size of a region in the coding tree unit, the chroma split options being capable of including a vertical ternary split, wherein a tree structure for the chroma channels of the coding tree unit is separate from a tree structure for the luma channel of the coding tree unit, and the vertical ternary split for a given region in the coding tree unit is not allowed in the chroma split options in a case where (a) a width of the given region is 16 samples in luma samples and (b) the determined chroma format is a 4:2:2 chroma format or a 4:2:0 chroma format; and
encoding flags used for selecting one of the determined luma split options and one of the determined chroma split options.
