Flexible block partitioning for chroma component
An approach for encoding/decoding video data including parsing video data to obtain partitioning parameters; obtaining a partitioned super block; and decoding based on the partitioned super block, wherein based on a luma block area size, or a luma splitting depth of the smallest luma block, either luma blocks and chroma blocks of the partitioned super block are partitioned based on a first block partitioning structure, or the luma blocks are partitioned based on the first block partitioning structure, and the chroma blocks are partitioned based on a second block partitioning structure.
1 . A method of video decoding, the method comprising:
receiving a video bitstream that includes a current block comprising a luma component and a chroma component;
determining a partitioning structure for the luma component;
prior to partitioning the chroma component, selecting a partitioning structure for the chroma component based on whether the luma component meets one or more first criteria, the one or more first criteria relating to one or more of a block size of the luma component and a coding tree splitting depth of the luma component, wherein:
when the luma component meets the one or more first criteria, partitioning the chroma component using at least a portion of the partitioning structure for the luma component; and
when the luma component does not meet the one or more first criteria, partitioning the chroma component using a second partitioning structure, the second partitioning structure being independent of and different than the partitioning structure for the luma component; and
decoding the chroma component and the luma component.
2 . The method of claim 1 , wherein the second partitioning structure is signaled separately from the partitioning structure for the luma component in the video bitstream.
3 . The method of claim 2 , wherein the second partitioning structure is signaled in a high-level syntax of the video bitstream.
4 . The method of claim 1 , wherein:
the chroma component is a first chroma component;
the current block further comprises a second chroma component; and
the second chroma component has a same partitioning structure as the first chroma component.
5 . The method of claim 1 , wherein the one or more first criteria comprise the block size of the luma component being greater than a first threshold.
6 . The method of claim 5 , wherein the first threshold is 128 or 256.
7 . The method of claim 1 , wherein the one or more first criteria comprise the coding tree splitting depth of the luma component being less than or equal to a second threshold.
8 . The method of claim 7 , wherein the second threshold is 1 or 2.
9 . The method of claim 1 , further comprising, for a second frame that includes a second block comprising a second luma component and a second chroma component:
when the second frame is an intra mode frame (I-frame):
when the second luma component meets the one or more first criteria, partitioning the second chroma component using a same partitioning structure as the second luma component; and
when the second luma component does not meet the one or more first criteria, partitioning the second chroma component using a different partitioning structure than the second luma component; and
when the second frame is not an I-frame, partitioning the second chroma component using the same partitioning structure as the second luma component.
10 . The method of claim 1 , wherein the second partitioning structure has a coding block depth that is less than or equal to the partitioning structure for the luma component.
11 . The method of claim 1 , wherein the second partitioning structure indicates that the chroma component is not to be partitioned.
12 . The method of claim 1 , wherein a coding block depth of the second partitioning structure is determined based on a coding block depth of the partitioning structure for the luma component.
13 . The method of claim 1 , wherein the second partitioning structure is the same as the partitioning structure for the luma component up to a first coding block depth, and different than the partitioning structure for the luma component after the first coding block depth.
14 . The method of claim 1 , wherein the second partitioning structure is independent of the partitioning structure for the luma component.
15 . A computing system, comprising:
control circuitry;
memory; and
one or more sets of instructions stored in the memory and configured for execution by the control circuitry, the one or more sets of instructions comprising instructions for:
receiving video data that includes a current block comprising a luma component and a chroma component;
determining a partitioning structure for the luma component;
prior to partitioning the chroma component, selecting a partitioning structure for the chroma component based on whether the luma component meets one or more first criteria, the one or more first criteria relating to one or more of a block size of the luma component and a coding tree splitting depth of the luma component, wherein:
when the luma component meets the one or more first criteria, partitioning the chroma component using at least a portion of the partitioning structure for the luma component; and
when the luma component does not meet the one or more first criteria, partitioning the chroma component using a second partitioning structure, the second partitioning structure being independent of and different than the partitioning structure for the luma component; and
encoding the luma component and the chroma component.
16 . The computing system of claim 15 , wherein the one or more sets of instructions further comprise instructions for signaling the partitioning structure for the luma component and the second partitioning structure in a video bitstream.
17 . The computing system of claim 16 , wherein the partitioning structure for the luma component and the second partitioning structure are signaled in high-level syntax of the video bitstream.
18 . The computing system of claim 15 , wherein the one or more first criteria comprise the block size of the luma component being greater than a first threshold.
19 . The method of claim 1 , wherein the current block is a component of a current frame, and wherein the second partitioning structure is not used for the current block when the current frame is not an intra mode frame.
20 . A method, comprising:
generating a video bitstream, including:
determining a partitioning structure for a luma component of video data;
prior to partitioning the chroma component, selecting a partitioning structure for a chroma component of the video data based on whether the luma component meets one or more first criteria, the one or more first criteria relating to one or more of a block size of the luma component and a coding tree splitting depth of the luma component, wherein:
when the luma component meets the one or more first criteria, partitioning the chroma component using at least a portion of the partitioning structure for the luma component; and
when the luma component does not meet the one or more first criteria, partitioning the chroma component using a second partitioning structure, the second partitioning structure being independent of and different than the partitioning structure for the luma component; and
encoding the luma component and the chroma component; and
transmitting the video bitstream.