EP-3818701-B1 - METHOD AND APPARATUS OF PROCESSING VIDEO PICTURES WITH PARTITION CONSTRAINTS IN A VIDEO CODING SYSTEM
Inventors
- TSAI, CHIA-MING
- HSU, CHIH-WEI
- CHEN, CHING-YEH
- CHUANG, TZU-DER
- HUANG, YU-WEN
Dates
- Publication Date
- 20260513
- Application Date
- 20190712
Claims (13)
- A method of video processing in a video coding system for encoding or decoding video pictures with a partition constraint, the method comprising: receiving (S1402) input data associated with a current block in a current video picture; determining two thresholds W and H, wherein both the two thresholds W and H are positive integers; determining (S1406) whether a predefined splitting type is allowed for partitioning the current block into multiple sub-blocks according to a partition constraint, wherein the partition constraint corresponds to a comparing result of a width of the current block, a height of the current block, or both the width and height of the current block with one or both the thresholds W and H; partitioning (S1408) the current block with one allowed splitting type, wherein the predefined splitting type is not used to partition the current block if the comparing result indicates the predefined splitting type is not allowed; and encoding or decoding (S1414) the current block according to a block partitioning structure of the current block, characterised in that horizontal binary-tree splitting is not allowed if the width of the current block is larger than the threshold W and the height of the current block is less than or equal to the threshold H, and vertical binary-tree splitting is not allowed if the width of the current block is less than or equal to the threshold W and the height of the current block is larger than the threshold H.
- The method of Claim 1, wherein the two thresholds W and H are predefined or implicitly defined based on a profile or level according to a video compression standard.
- The method of Claim 1, wherein horizontal ternary-tree splitting is not allowed if the width of the current block is larger than the threshold W, and vertical ternary-tree splitting is not allowed if the height of the current block is larger than the threshold H.
- The method of Claim 1, wherein horizontal ternary-tree splitting is not allowed if the width of the current block is larger than or equal to the threshold W and the height of the current block divide by 4 is smaller than the threshold H, and vertical ternary-tree splitting is not allowed if the height of the current block is larger than or equal to the threshold H and the width of the current block divide by 4 is smaller than the threshold W.
- The method of Claim 1, wherein horizontal ternary-tree splitting is not allowed if the width of the current block is larger than or equal to the threshold W and the height of the current block is larger than the threshold H but the height divide by 4 is smaller than the threshold H, and vertical ternary-tree splitting is not allowed if the height of the current block is larger than or equal to the threshold H and the width of the current block is larger than the threshold W but the width divide by 4 is smaller than the threshold W.
- The method of Claim 1, wherein horizontal ternary-tree splitting is not allowed if the width of the current block is larger than the threshold W and the height of the current block is larger than the threshold H and the height divide by 4 is not a multiple of the threshold H, and vertical ternary-tree splitting is not allowed if the height of the current block is larger than the threshold H and the width of the current block is larger than the threshold W but the width divide by 4 is not a multiple of the threshold W.
- The method of Claim 1, wherein at least a partition syntax is inferred according to the comparing result, and the partition syntax is not signaled in a video bitstream.
- The method of Claim 1, wherein a pipeline unit is defined to have a width equal to the threshold W and a height equal to the threshold H, a pipeline unit size is a product of the thresholds W and H, the predefined splitting type is ternary-tree splitting, and the predefined splitting type is not allowed if a size of the current block is twice as large as the pipeline unit size.
- The method of Claim 1, wherein a pipeline unit is defined to have a width equal to the threshold W and a height equal to the threshold H, a pipeline unit size is a product of the thresholds W and H, a size of the current block is twice as large as the pipeline unit size, and ternary-tree splitting is not allowed unless all further splitting directions are the same and a center sub-block of the current block is partitioned by binary-tree splitting.
- The method of Claim 1, wherein a pipeline unit is defined to have a width equal to the threshold W and a height equal to the threshold H, a pipeline unit size is a product of the thresholds W and H, and the predefined splitting type is allowed if a size of the current block is four times as large as the pipeline unit size or if the size of the current block is smaller than the pipeline unit size, wherein the predefined splitting type is selected from quadtree, binary-tree, and ternary-tree splitting.
- The method of Claim 1, wherein a pipeline unit is defined to have a width equal to the threshold W and a height equal to the threshold H, determining whether a predefined splitting type is allowed for partitioning the current block further by considering a re-visit constraint, and the predefined splitting type is not allowed if the re-visit constraint is violated, wherein the re-visit constraint prohibits re-visiting any pipeline unit in the current block after leaving the pipeline unit when processing the sub-blocks partitioned from the current block.
- An apparatus (1500, 1600) of video processing in a video coding system for encoding or decoding video pictures with a partition constraint, the apparatus comprising one or more electronic circuits configured for: receiving (S1302) input data associated with a current block in a current video picture; determining a pipeline unit size of pipeline units, wherein the pipeline units are non-overlapping units in the current video picture designed for pipeline processing; determining (S1304) whether a predefined splitting type is allowed to partition the current block into multiple sub-blocks according to the partition constraint, wherein the partition constraint comprises a first constraint and a second constraint, the first constraint restricts each of the sub-blocks partitioned from the current block to be completely contained in one pipeline unit, the second constraint restricts each of the sub-blocks partitioned from the current block to contain one or more complete pipeline units, and the predefined splitting type is not allowed to partition the current block if any sub-block partitioned by the predefined splitting type violates both the first and second constraints; partitioning (S1316) the current block using one allowed splitting type; and encoding or decoding (S1322) the current block according to a block partitioning structure of the current block.
- A non-transitory computer readable medium storing program instructions which, when executed by a processing circuit of an apparatus (1500,1600), cause the processing circuit to perform video processing method in a video coding system for encoding or decoding video pictures with a partition constraint, and the method comprising: receiving (S1302) input data associated with a current block in a current video picture; determining a pipeline unit size of pipeline units, wherein the pipeline units are non-overlapping units in the current video picture designed for pipeline processing; determining (S1304) whether a predefined splitting type is allowed to partition the current block into multiple sub-blocks according to the partition constraint, wherein the partition constraint comprises a first constraint and a second constraint, the first constraint restricts each of the sub-blocks partitioned from the current block to be completely contained in one pipeline unit, the second constraint restricts each of the sub-blocks partitioned from the current block to contain one or more complete pipeline units, and the predefined splitting type is not allowed to partition the current block if any sub-block partitioned by the predefined splitting type violates both the first and second constraints; partitioning (S1316) the current block using one allowed splitting type; and encoding or decoding (S1322) the current block according to a block partitioning structure of the current block.
Description
FIELD OF THE INVENTION The present invention relates to video processing methods and apparatuses encode or decode video pictures in a video coding system with a partition constrain. In particular, the present invention relates to determining the validity of one or more splitting types for a block based on the partition constraint and partitioning the block by a valid splitting type. BACKGROUND AND RELATED ART The High-Efficiency Video Coding (HEVC) standard is the latest video coding standard developed by the Joint Collaborative Team on Video Coding (JCT-VC) group of video coding experts from ITU-T Study Group. The HEVC standard relies on a block-based coding structure which splits each video picture into multiple non-overlapped square Coding Tree Units (CTUs), also called Largest Coding Units (LCUs). Each individual CTU in a video picture or a slice is processed in a raster scanning order. In the HEVC main profile, the maximum and the minimum sizes of a CTU are specified by syntax elements signaled in the Sequence Parameter Set (SPS). Each CTU is further recursively partitioned into one or more non-overlapped Coding Units (CUs) using quadtree (QT) splitting structure in order to adapt various local characteristics. At each partition depth of the QT splitting structure, an NxN block is either a single leaf CU or split into four smaller blocks with equal size N/2xN/2. The CTU with the size MxM pixel samples is the root node of a quadtree coding tree, and the four M/2xM/2 blocks are the child quadtree nodes split from the root node. Each of the four M/2xM/2 blocks may become a parent node partitioned by another QT splitting to result in four child nodes with further reduced size by half in each spatial dimension. If a coding tree node is not further split, it is called a leaf CU. The leaf CU size is restricted to be larger than or equal to a minimum allowed CU size, which is also specified in the SPS. An example of a recursive quadtree splitting structure is illustrated in Fig. 1, where the solid lines indicate CU boundaries in the CTU 10. Once the CTUs are partitioned into leaf CUs, each leaf CU is subject to further split into one or more Prediction Units (PUs) according to a PU splitting type for prediction. Unlike the recursive quadtree splitting for CUs, each leaf CU may only be split once to form multiple PUs. The PU works as a basic representative block for sharing prediction information as the same prediction process is applied to all pixels in the PU. The prediction information is conveyed to the decoder on a PU basis. After obtaining residual data generated by the prediction process based on the PU splitting type, the residual data belong to a leaf CU is partitioned into one or more Transform Units (TUs) according to another quadtree splitting structure for transforming the residual data into transform coefficients for compact data representation. The dashed lines in Fig. 1 indicate TU boundaries in the CTU 100. The TU is a basic representative block for applying transform and quantization on the residual data or transform coefficients. For each TU, a transform matrix having the same size as the TU is applied to the residual data to generate transform coefficients, and these transform coefficients are quantized and conveyed to the decoder on a TU basis. The terms Coding Tree Block (CTB), Coding block (CB), Prediction Block (PB), and Transform Block (TB) are defined to specify two-dimensional (2-D) sample array of one color component associated with the CTU, CU, PU, and TU respectively. For example, a CTU consists of one luminance (luma) CTB, two chrominances (chroma) CTBs, and its associated syntax elements. A similar relationship is valid for CU, PU, and TU. In the HEVC system, the same quadtree splitting structure is generally applied to both luma and chroma components unless a minimum size for the chroma block is reached. Binary-tree (BT) splitting structure is an alternative structure to the quadtree splitting structure which recursively divides a block into two smaller blocks. Joint Video Exploration Team (JVET) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 are currently in the process of exploring the next-generation video coding standard called Versatile Video Coding (VVC). Some promising new coding tools have been adopted into Joint Exploration Model (JEM) for further investigation. A new splitting structure called QuadTree plus Binary Tree (QTBT) structure balances the coding efficiency and the coding complexity of the quadtree splitting structure and the binary-tree splitting structure. An exemplary QTBT structure is shown in Fig. 2A, where a CTU is firstly partitioned by a quadtree structure then a binary-tree splitting structure. The CUs can be recursively partitioned by quadtree splitting until a current CU size reaches a minimum allowed quadtree leaf node size. Each leaf quadtree block may be partitioned by binary-tree splitting if the leaf quadtree block size is not larger than a maxim