IP Library › Granted Patent US 11,831,871
Granted Patent B2
US 11,831,871 · App. 17/724,841 · Granted Nov 28, 2023

Method and apparatus for intra sub-partitions coding mode

Inventors: Roman Igorevich Chernyak (Moscow, RU); Timofey Mikhailovich Solovyev (Moscow, RU); Yin Zhao (Hangzhou, CN); Sergey Yurievich Ikonin (Moscow, RU); Jianle Chen (San Diego, CA)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
H04N19/119H04N19/159H04N19/176H04N19/186H04N19/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,831,871
App. No.
17/724,841
Granted
Nov 28, 2023
Kind
B2
Abstract

Apparatuses and methods for Intra Sub-Partitions (ISP) are provided. The method includes: obtaining information of ISP, and determining a size of a chroma transform block (TB) of the coding unit based on SubWidthC and SubHeightC when at least a first condition is fulfilled. The first condition includes the information of ISP indicates that ISP is used for splitting the luma coding block. SubWidthC and SubHeightC are variables depending on chroma format information. The chroma format information indicates a chroma format of a picture the coding unit belongs to. The method can apply to all chroma format. The chroma format includes at least one of: 4:2:0, or 4:2:2, or 4:4:4. An accurate and versatile way to determine the size of the chroma transform block for the ISP is achieved.

Claims (65)

1. A method of coding implemented by a decoding apparatus, comprising:

receiving a bitstream, wherein the bitstream includes a flag, the flag includes at least one of a mode flag or a split flag, the mode flag specifies whether a coding unit is partitioned into rectangular transform block subpartitions, the split flag specifies whether an intra sub-partitions (ISP) split type is horizontal or vertical;

obtaining information of ISP based on the flag, wherein the information of ISP indicates whether ISP is used for splitting a luma coding block of the coding unit;

determining a size of a chroma transform block (TB) of the coding unit based on SubWidthC and SubHeightC when at least a first condition is fulfilled, wherein SubWidthC and SubHeightC are variables depending on chroma format information, wherein the chroma format information indicates a chroma format of a picture the coding unit belongs to, the chroma format includes at least one of: 4:2:2, or 4:4:4, and wherein the first condition comprises: 1) a single tree is used to partition the coding unit, and 2) the information of ISP indicates that ISP is used for splitting the luma coding block.

2. The method of claim 1 , wherein the size of the chroma transform block also depends on a size of the luma coding block.

3. The method of claim 2 , wherein the size of the chroma transform block satisfies:

wC=CbWidth[ x 0 ][y 0]/SubWidthC; and

hC=CbHeight[ x 0 ][y 0]/SubHeightC;

wherein wC represents a width of the chroma transform block, hC represents a height of the chroma transform block, CbWidth represents a width of the luma coding block, and CbHeight represents a height of the luma coding block.

4. The method of claim 1 , wherein the mode flag is intra_subpartitions_mode_flag:

intra_subpartitions_mode_flag equal to 1 specifies that a current intra coding unit is partitioned into NumIntraSubPartitions rectangular transform block subpartitions;

intra_subpartitions_mode_flag equal to 0 specifies that the current intra coding unit is not partitioned into rectangular transform block subpartitions;

when intra_subpartitions_mode_flag is not present, it is inferred to be equal to 0.

5. The method of claim 1 , wherein the split flag is intra subpartitions split flag:

when intra_subpartitions_split_flag is not present, it is inferred as follows:

if cbHeight is greater than MaxTbSizeY, intra_subpartitions_split_flag is inferred to be equal to 0;

otherwise (cbWidth is greater than MaxTbSizeY), intra_subpartitions_split_flag is inferred to be equal to 1.

6. The method of claim 2 , wherein a size of the chroma transform block is determined according to following rule:

if the chroma format equals to 4:4:4, the size of the chroma transform block equals to the size of the luma coding block; and

otherwise, the size of the chroma transform block is determined as a function of the size of the luma coding block and the chroma format.

7. The method of claim 1 , wherein the information of ISP is indicated by

IntraSubPartitionsSplitType; and

when IntraSubPartitionsSplitType!=ISP_NO_SPLIT, ISP is used for splitting the luma coding block of the coding unit.

8. A encoding apparatus for intra sub-partitions (ISP), the apparatus comprises:

one or more processors; and

a non-transitory computer-readable storage medium coupled to the one or more processors and storing instructions, which when executed by the one or more processors, cause the one or more processors to:

determine a size of a chroma transform block of a coding unit based on SubWidthC and SubHeightC when at least a first condition is fulfilled, wherein SubWidthC and SubHeightC are variables depending on chroma format information, wherein the chroma format information indicates a chroma format of a picture the coding unit belongs to, the chroma format includes at least one of: 4:2:2, or 4:4:4, and wherein the first condition comprises: 1) a single tree is used to partition the coding unit, and 2) intra sub-partitions (ISP) is used for splitting a luma coding block of the coding unit, and

encode a bitstream, wherein the bitstream includes a value of a flag, the flag includes at least one of a mode flag or a split flag, the mode flag specifies whether the coding unit is partitioned into rectangular transform block subpartitions, the split flag specifies whether an ISP split type is horizontal or vertical.

9. The apparatus of claim 8 , wherein the size of the chroma transform block also depends on a size of the luma coding block.

10. The apparatus of claim 8 , wherein the size of the chroma transform block is determined according to:

wC=CbWidth[ x 0 ][y 0]/SubWidthC; and

hC=CbHeight[ x 0 ][y 0]/SubHeightC;

wherein wC represents a width of the chroma transform block, hC represents a height of the chroma transform block, and CbWidth represents a width of the luma coding block, and CbHeight represents a height of the luma coding block.

11. The apparatus of claim 8 , wherein the mode flag is intra_subpartitions_mode_flag:

intra_subpartitions_mode_flag equal to 1 specifies that a current intra coding unit is partitioned into NumIntraSubPartitions rectangular transform block subpartitions;

intra_subpartitions_mode_flag equal to 0 specifies that the current intra coding unit is not partitioned into rectangular transform block subpartitions;

when intra_subpartitions_mode_flag is not present, it is inferred to be equal to 0.

12. The apparatus of claim 8 , wherein the split flag is intra_subpartitions_split_flag:

when intra_subpartitions_split_flag is not present, it is inferred as follows:

if cbHeight is greater than MaxTbSizeY, intra_subpartitions_split_flag is inferred to be equal to 0;

otherwise (cbWidth is greater than MaxTbSizeY), intra_subpartitions_split_flag is inferred to be equal to 1.

13. The apparatus of claim 9 , wherein a size of the chroma transform block is determined according to following rule:

if the chroma format equals to 4:4:4, the size of the chroma transform block equals to the size of the luma coding block;

otherwise, the size of the chroma transform block is determined as a function of the size of the luma coding block and the chroma format.

14. The apparatus of claim 8 , wherein information of ISP is indicated by IntraSubPartitionsSplitType; and

when IntraSubPartitionsSplitType!=ISP_NO_SPLIT, ISP is used for splitting the luma coding block of the coding unit.

15. A non-transitory computer readable medium storing instructions which, when executed by a processing circuitry, cause the processing circuitry to:

obtain information of intra sub-partitions (ISP) based on a flag in a bitstream, wherein the flag includes at least one of a mode flag or a split flag, the mode flag specifies whether a coding unit is partitioned into rectangular transform block subpartitions, the split flag specifies whether an intra sub-partitions (ISP) split type is horizontal or vertical, and the information of ISP indicates whether ISP is used for splitting a luma coding block of a coding unit;

determine a size of a chroma transform block (TB) of the coding unit based on SubWidthC and SubHeightC when at least a first condition is fulfilled, wherein SubWidthC and SubHeightC are variables depending on chroma format information, wherein the chroma format information indicates a chroma format of a picture the coding unit belongs to, the chroma format includes at least one of: 4:2:2, or 4:4:4, and wherein the first condition comprises: 1) a single tree is used to partition the coding unit, and 2) the information of ISP indicates that ISP is used for splitting the luma coding block.

16. The non-transitory computer readable medium of claim 15 , wherein the size of the chroma transform block also depends on a size of the luma coding block.

17. The non-transitory computer readable medium of claim 16 , wherein the size of the chroma transform block satisfies:

wC=CbWidth[ x 0 ][y 0]/SubWidthC; and

hC=CbHeight[ x 0 ][y 0]/SubHeightC;

wherein wC represents a width of the chroma transform block, hC represents a height of the chroma transform block, CbWidth represents a width of the luma coding block, and CbHeight represents a height of the luma coding block.

18. The non-transitory computer readable medium of claim 15 , wherein the mode flag is intra_subpartitions_mode_flag:

intra_subpartitions_mode_flag equal to 1 specifies that a current intra coding unit is partitioned into NumIntraSubPartitions rectangular transform block subpartitions;

intra_subpartitions_mode_flag equal to 0 specifies that the current intra coding unit is not partitioned into rectangular transform block subpartitions;

when intra_subpartitions_mode_flag is not present, it is inferred to be equal to 0.

19. The non-transitory computer readable medium of claim 15 , wherein the split flag is intra_subpartitions_split_flag:

when intra_subpartitions_split_flag is not present, it is inferred as follows:

if cbHeight is greater than MaxTbSizeY, intra_subpartitions_split_flag is inferred to be equal to 0;

otherwise (cbWidth is greater than MaxTbSizeY), intra_subpartitions_split_flag is inferred to be equal to 1.

20. The non-transitory computer readable medium of claim 15 , wherein the information of ISP is indicated by

IntraSubPartitionsSplitType; and

when IntraSubPartitionsSplitType!=ISP_NO_SPLIT, ISP is used for splitting the luma coding block of the coding unit.

Continuity (5)
Continuation 17399679 · Aug 11, 2021
Continuation PCTRU2020050039 · Mar 5, 2020
Provisional Application 62837698 · Apr 23, 2019
Provisional Application 62814270 · Mar 5, 2019
Related Publication 20220248012A1 · Aug 4, 2022
Cited By (1)
US 12,477,109