Conditional Asymmetric Quad-Tree Partitioning

By determining the characteristics of the video block in the video processing method and enabling asymmetric quad-tree (UQT) division, the problem of low encoding and decoding efficiency of video blocks in the prior art is solved, and a more efficient encoding and decoding process is achieved.

CN113366855BActive Publication Date: 2025-06-24DOUYIN VISION CO LTD +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202080008508.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-08-20
Filing Date
2020-02-03
Publication Date
2025-06-24
Estimated Expiration
2040-02-03

AI Technical Summary

Technical Problem

When processing video blocks, it is difficult for existing video encoding and decoding technologies to effectively utilize asymmetric quad-tree (UQT) division, resulting in low encoding and decoding efficiency.

Method used

By determining the characteristics of the current video block in the video processing method, and determining the operation state of the asymmetric quadtree (UQT) division based on these features, the conversion between the video block and its bitstream representation is performed.

Benefits of technology

The encoding and decoding efficiency of video blocks is improved, and through flexible UQT division, it adapts to the characteristics of different video blocks, and enhances the efficiency of the encoding and decoding tree structure.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113366855B_ABST
    Figure CN113366855B_ABST
Patent Text Reader

Abstract

A video processing method includes determining features regarding a current video block; determining an operation state regarding an asymmetric quadtree (UQT) partition based on the determination of the features, where the operation state indicates whether the UQT partition is enabled or disabled and / or indicates how to divide the current video block into four segments using the UQT partition; and performing a conversion between the current video block and a bitstream representation of the current video block based on the operation state of the UQT partition.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross - reference to related applications

[0002] This application claims priority to PCT / CN2019 / 074701, entitled "Enhanced Coding and Decoding Tree Structure", filed on February 3, 2019, PCT / CN2019 / 077620, entitled "Enhanced Coding and Decoding Tree Structure", filed on March 11, 2019, PCT / CN2019 / 090163, entitled "Enhanced Coding and Decoding Tree Structure", filed on June 5, 2019, and PCT / CN2019 / 101594, entitled "Enhanced Coding and Decoding Tree Structure", filed on August 20, 2019, the entire disclosures of which are incorporated herein by reference in their entirety. Technical field

[0003] This document relates to video and image coding and decoding technologies. Background art

[0004] Digital video still occupies the largest bandwidth usage on the Internet and other digital communication networks. As the number of connected user devices capable of receiving and displaying video increases, the bandwidth demand for digital video use is expected to continue to grow. Summary of the invention

[0005] The disclosed technology can be implemented by video or image decoder or encoder embodiments that use an enhanced coding and decoding tree structure.

[0006] In one example aspect, a video processing method is disclosed. The method includes performing a conversion between a current video block and a bitstream representation of the current video block, wherein the current video block is asymmetrically divided into four partitions using an asymmetric quad - tree (UQT) partition, and wherein the four partitions include a first partition having a size of W1×H1, a second partition having a size of W2×H2, a third partition having a size of W3×H3, and a fourth partition having a size of W4×H4, where W1, W2, W3, W4, H1, H2, H3, and H4 are integers.

[0007] In another example aspect, a video processing method is disclosed, including determining a feature regarding a current video block; determining an operation state regarding an asymmetric quad - tree (UQT) partition based on the determination of the feature, wherein the operation state indicates whether the UQT partition is enabled or disabled and / or indicates how to use the UQT partition to divide the current video block into four partitions; and performing a conversion between the current video block and a bitstream representation of the current video block based on the operation state of the UQT partition.

[0008] In another exemplary aspect, a video processing method is disclosed, including performing a conversion between a current video block and a bitstream representation of the current video block, determining an asymmetric quadtree (UQT) partitioning method for partitioning the current video block, where the partitioning method is selected from the following: UQTa-H partitioning, UQTb-H partitioning, UQTc-V partitioning, and UQTd-V partitioning, where a, b, c, and d are selected from 1, 2, 3, or 4, where UQTa-H partitioning and UQTb-H partitioning are horizontal UQT partitions, and UQTc-V partitioning and UQTd-V partitioning are vertical UQT partitions; and performing the conversion based on the determination.

[0009] In another exemplary aspect, a video processing method is disclosed, including determining a valid partitioning type for a current video block; based on the determination of the valid partitioning type, determining whether or how to signal the partitioning type for the current video block; and performing a conversion between the current video block and a bitstream representation of the current video block according to the result of the determination.

[0010] In another exemplary aspect, a video processing method is disclosed. The method includes performing a conversion between a current video block and an encoded / decoded representation of the current video block, determining a partitioning type for partitioning the current video block, where the partitioning type is signaled in the bitstream representation after signaling an indication of partitioning or non-partitioning and / or an indication of quadtree (QT) partitioning; and performing the conversion based on the determination.

[0011] In another exemplary aspect, a video processing method is disclosed. The method includes performing a conversion between a current video block and a bitstream representation of the current video block, determining, based on a slice or picture including the current video block, whether to apply asymmetric quadtree (UQT) partitioning, and if UQT partitioning is applied, a specific UQT type for partitioning the current video block; and performing the conversion based on the determination.

[0012] In another exemplary aspect, a video processing method is disclosed. The method includes performing a conversion between a current video block and a bitstream representation of the current video block, determining, based on a slice or picture including the current video block, an interpretation of a signaled representation of an asymmetric quadtree (UQT) partitioning to be used for partitioning the current video block; and performing the conversion based on the determination.

[0013] In another exemplary aspect, the above method may be implemented by a video encoder device including a processor.

[0014] In yet another exemplary aspect, these methods may be implemented in the form of processor-executable instructions and stored on a computer-readable program medium.

[0015] These and other aspects will be described further in this disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] Figure 1 An example of MB partitioning in H.264 / AVC is shown.

[0017] Figure 2 An example of a pattern for dividing a CB into PBs is shown.

[0018] Figure 3 An example of dividing a CTB into CBs is shown.

[0019] Figure 4 An example of a diagram showing a QTBT structure is shown.

[0020] Figure 5 An example of partitioning is shown.

[0021] Figures 6A to 6K An example of an EQT is shown.

[0022] Figures 7A to 7D An example of FT partitioning is shown.

[0023] Figure 8 An example of GTT partitioning is shown.

[0024] Figure 9 Examples of invariant syntax and changed semantics of various boundary partitions are shown.

[0025] Figures 10A to 10H An example of a UQT is shown.

[0026] Figure 11 A block diagram of an example of a video processing apparatus is shown.

[0027] Figure 12 A block diagram showing an example implementation of a video encoder is shown.

[0028] Figure 13 A flowchart of an example of a video processing method is shown.

[0029] Figure 14 A flowchart of an example of a video processing method is shown.

[0030] Figure 15 A flowchart of an example of a video processing method is shown.

[0031] Figure 16 Examples of partitioning types are shown.

[0032] Figure 17 Examples of the proposed extended quadtree partitioning are shown.

[0033] Figure 18 An example of LCU partitioning with QT+BT+EQT+UQT partitioning is shown.

[0034] Figure 19 An example of the tree-based coding structure of I slices is shown.

[0035] Figure 20 An example of the tree-based coding structure of B / P slices is shown.

[0036] Figure 21 It is a flowchart of an example of a video processing method.

[0037] Figure 22 It is a flowchart of an example of a video processing method.

[0038] Figure 23 It is a flowchart of an example of a video processing method.

[0039] Figure 24 It is a flowchart of an example of a video processing method.

[0040] Figure 25 It is a flowchart of an example of a video processing method.

[0041] Figure 26 It is a flowchart of an example of a video processing method.

[0042] Figure 27 It is a flowchart of an example of a video processing method. Detailed implementation

[0043] Various techniques that can be used by a decoder of an image or video bitstream are provided herein to improve the quality of decompressed or decoded digital video or images. For simplicity, the term "video" as used herein includes both picture sequences (traditionally called video) and individual images. In addition, a video encoder can also implement these techniques during the encoding process to reconstruct decoded frames for further encoding.

[0044] The section headings are used herein for ease of understanding, and the embodiments and techniques are not limited to the corresponding sections. Thus, the embodiments of one section can be combined with the embodiments of other sections.

[0045] 1. Summary

[0046] This document relates to image / video coding and decoding, and particularly to partitioning structures, i.e., how to divide a large block into multiple smaller blocks. It can be applied to existing video coding and decoding standards such as HEVC or to standards to be finalized (universal video coding). It can also be applicable to future video coding and decoding standards or video codecs.

[0047] 2. Background

[0048] Video coding and decoding standards have evolved mainly through the development of well-known ITU-T and ISO / IEC standards. ITU-T produced the H.261 and H.263 standards, ISO / IEC produced the MPEG-1 and MPEG-4 Visual standards, and the two organizations jointly produced the H.262 / MPEG-2 video standard, the H.264 / MPEG-4 Advanced Video Coding (AVC) standard, and the H.265 / HEVC standard. Starting from H.262, video coding and decoding standards are based on a hybrid video coding structure, in which temporal prediction plus transform coding is utilized.

[0049] Figure 12 It is a block diagram of an example implementation of a video encoder. Figure 12 It shows that the encoder implementation has a built-in feedback path, in which the video encoder also performs a video decoding function (reconstructing a compressed representation of video data for the encoding of the next video data).

[0050] 2.1 Partition tree structure in H.264 / AVC

[0051] The core of the coding and decoding layer in previous standards is the macroblock, which includes a 16×16 block of luma samples and, in the case of 4:2:0 color sampling, two corresponding 8×8 blocks of chroma samples.

[0052] Intra-coded blocks use spatial prediction to exploit the spatial correlation between pixels. Two partitions are defined: 16×16 and 4×4.

[0053] Inter-coded blocks use temporal prediction rather than spatial prediction by estimating the motion between pictures. Motion can be estimated independently for a 16×16 macroblock or any of its sub-macroblock partitions as follows: 16×8, 8×16, 8×8, 8×4, 4×8, 4×4 (see Figure 1 ). Each sub-macroblock partition allows only one motion vector (MV).

[0054] 2.2 Partition tree structure in HEVC

[0055] In HEVC, the CTU is partitioned into CUs by using a quadtree structure represented as a coding tree to adapt to various local characteristics. The decision on whether to use inter-picture (temporal) prediction or intra-picture (spatial) prediction to code and decode a picture region is made at the CU level. Depending on the PU partition type, each CU can be further partitioned into one, two, or four PUs. Inside a PU, the same prediction process is applied, and relevant information is sent to the decoder based on the PU. After obtaining the residual block by applying the prediction process based on the PU partition type, the CU can be split into transform units (TUs) according to another quadtree structure similar to the coding tree of the CU. One of the key features of the HEVC structure is that it has multiple partitioning concepts, including CUs, PUs, and TUs.

[0056] In the following, various features involved in the hybrid video coding using HEVC are emphasized as follows.

[0057] 1) Coding tree unit and coding tree block (CTB) structure: The similar structure in HEVC is the coding tree unit (CTU), which has a size selected by the encoder and can be larger than a traditional macroblock. The CTU consists of a luminance CTB and corresponding chrominance CTBs, as well as syntax elements. The size L×L of the luminance CTB can be selected as L = 16, 32, or 64 samples, and a larger size generally enables better compression. Then, HEVC supports using a tree structure and quadtree-like signaling to split the CTB into smaller blocks.

[0058] 2) Coding unit (CU) and coding block (CB): The quadtree syntax of the CTU specifies the size and position of its luminance CB and chrominance CB. The root of the quadtree is associated with the CTU. Therefore, the size of the luminance CTB is the maximum supported size of the luminance CB. The partitioning of the CTU into luminance CB and chrominance CB is signaling combined. One luminance CB and usually two chrominance CBs, together with the associated syntax, form a coding unit (CU). The CTB can include only one CU or can be partitioned to form multiple CUs, and each CU has an associated split to the tree of prediction units (PUs) and transform units (TUs).

[0059] 3) Prediction unit and prediction block (PB): The decision on whether to use inter-frame picture prediction or intra-frame picture prediction to code and decode a picture region is made at the CU level. The root of the PU partition structure is at the CU level. Then, depending on the basic prediction type decision, the luminance CB and chrominance CB can be further split in size and predicted according to the luminance and chrominance prediction blocks (PBs). HEVC supports variable PB sizes from 64×64 to 4×4 samples.

[0060] Figure 3 The mode for partitioning the CB into PBs is shown.

[0061] 4) TU and Transform Block: The prediction residual is encoded and decoded using block transforms. The root of the TU tree structure is at the CU level. The luma CB residual can be the same as the luma transform block (TB), or it can be further divided into smaller luma TBs. The same applies to chroma TBs. For square TB sizes of 4×4, 8×8, 16×16, and 32×32, integer basis functions similar to the Discrete Cosine Transform (DCT) are defined. For the 4×4 transform of the luma intra-picture prediction residual, an integer transform derived from the form of the Discrete Sine Transform (DST) can alternatively be specified.

[0062] Figure 4 The subdivision of the CTB into CBs is shown.

[0063] 2.3 Quadtree + Binary Tree Block Structure with Larger CTUs in JEM

[0064] To explore future video coding technologies beyond HEVC, the Joint Video Exploration Team (JVET) was jointly established by VCEG and MPEG in 2015. Since then, JVET has adopted many new methods and incorporated them into a reference software called the Joint Exploration Model (JEM).

[0065] 2.3.1 QTBT Block Partition Structure

[0066] Different from HEVC, the QTBT structure removes the concept of multiple partition types, that is, it removes the separation of the CU, PU, and TU concepts and supports greater flexibility in the CU partition shape. In the QTBT block structure, the CU can have a square or rectangular shape. As Figure 4 shown, the Coding Tree Unit (CTU) is first partitioned by a quadtree structure. The quadtree leaf nodes are further partitioned by a binary tree structure. There are two partition types in the binary tree partition: symmetric horizontal partition and symmetric vertical partition. The binary tree leaf nodes are called Coding Units (CUs), and this partition is used for prediction and transform processing without any further partitioning. This means that the CU, PU, and TU have the same block size in the QTBT coding block structure. In JEM, a CU sometimes consists of Coding Blocks (CBs) of different color components. For example, in the case of P and B-slices in the 4:2:0 chroma format, one CU includes one luma CB and two chroma CBs; and a CU sometimes consists of CBs of a single component. For example, in the case of I-slices, one CU includes only one luma CB or only two chroma CBs.

[0067] The following parameters are defined for the QTBT partitioning scheme.

[0068] - CTUSize: The size of the root node of the quadtree, which is the same concept as in HEVC

[0069] -MinQTSize: The minimum allowable size of a quadtree leaf node

[0070] -MaxBTSize: The maximum allowable size of a binary tree root node

[0071] -MaxBTDepth: The maximum allowable depth of a binary tree

[0072] -MinBTSize: The minimum allowable size of a binary tree leaf node

[0073] In an example of the QTBT partitioning structure, the CTUSize is set to 128×128 luma samples with two corresponding 64×64 chroma sample blocks, the MinQTSize is set to 16×16, the MaxBTSize is set to 64×64, the MinBTSize (width and height) is set to 4×4, and the MaxBTDepth is set to 4. First, the quadtree partitioning is applied to the CTU to generate quadtree leaf nodes. The quadtree leaf nodes can have sizes ranging from 16×16 (i.e., MinQTSize) to 128×128 (i.e., CTUSize). If the leaf quadtree node is 128×128, since this size exceeds the MaxBTSize (i.e., 64×64), it will not be further partitioned by the binary tree. Otherwise, the leaf quadtree node can be further partitioned by the binary tree. Thus, the quadtree leaf node is also the root node of the binary tree, and the binary tree depth is 0. When the binary tree depth reaches the MaxBTDepth (i.e., 4), no further partitioning is considered. When the width of a binary tree node is equal to the MinBTSize (i.e., 4), no further horizontal partitioning is considered. Similarly, when the height of a binary tree node is equal to the MinBTSize, no further vertical partitioning is considered. The leaf nodes of the binary tree are further processed through prediction and transform processing without any further partitioning. In JEM, the maximum CTUSize is 256×256 luma samples.

[0074] Figure 4 (Left) depicts an example of block partitioning by using QTBT, Figure 4 (Right) depicts the corresponding tree representation. The solid lines represent quadtree partitioning, and the dashed lines represent binary tree partitioning. In each partitioning (i.e., non-leaf) node of the binary tree, a flag is signaled to indicate which partitioning type (i.e., horizontal or vertical) is used, where 0 indicates horizontal partitioning and 1 indicates vertical partitioning. For quadtree partitioning, there is no need to indicate the partitioning type because the quadtree always partitions the block horizontally and vertically to produce 4 sub-blocks with equal sizes.

[0075] In addition, the QTBT scheme supports the ability to have separate QTBT structures for luminance and chrominance. Currently, for P and B-slices, the luminance CTB and chrominance CTB in a CTU share the same QTBT structure. However, for I-slices, the luminance CTB is partitioned into CUs by a QTBT structure, and the chrominance CTB is partitioned into chrominance CUs by another QTBT structure. This means that the CUs in an I-slice consist of coding / decoding blocks of the luminance component or coding / decoding blocks of the two chrominance components, and the CUs in a P-slice or B-slice consist of coding / decoding blocks of all three color components.

[0076] In HEVC, the inter prediction of small blocks is limited by reducing the memory access for motion compensation, such that bi-directional prediction is not supported for 4×8 and 8×4 blocks, and inter prediction is not supported for 4×4 blocks. In the QTBT of JEM, these limitations are removed.

[0077] 2.4 Trinary Trees in Versatile Video Coding (VVC)

[0078] Supports tree types different from quadtree and binary tree. In this implementation, two additional trinary tree (TT) partitions are introduced, namely, horizontal and vertical center-side trinary trees, as Figure 5 (d) and Figure 5 (e) shown.

[0079] In Figure 5 : (a) quadtree partition (b) vertical binary tree partition (c) horizontal binary tree partition (d) vertical center-side trinary tree partition (e) horizontal center-side trinary tree partition.

[0080] In the above example, there are two levels of trees: the region tree (quadtree) and the prediction tree (binary tree or trinary tree). The CTU is first partitioned by the region tree (RT). The RT leaf can be further divided by the prediction tree (PT). The PT leaf can also be further divided by the PT until the maximum PT depth is reached. The PT leaf is the basic coding / decoding unit. For convenience, it is still called the CU. The CU cannot be further divided. Prediction and transformation are both applied to the CU in the same way as in JEM. The entire partitioning structure is called the "multi-type tree".

[0081] Extended Quadtree

[0082] The extended quadtree (EQT) partitioning structure corresponds to a block partitioning process that includes an extended quadtree partitioning process for video data blocks, where the extended quadtree partitioning structure represents partitioning the video data block into final sub-blocks, and when the extended quadtree partitioning process decides to apply the extended quadtree partitioning to a given block, a given block is always divided into four sub-blocks; decoding the final sub-blocks based on the video bitstream; and decoding the video data block based on the final sub-blocks decoded according to the derived EQT structure.

[0083] The EQT splitting process can be recursively applied to a given block to generate EQT leaf nodes. Alternatively, when EQT is applied to a block, for each sub-block resulting from EQT, it can be further divided into BT and / or QT and / or TT and / or EQT and / or other types of splitting trees.

[0084] In one example, EQT and QT can share the same depth increment process and the same leaf node size limit. In this case, when the size of a node reaches the minimum allowable quadtree leaf size or the EQT depth of the node reaches the maximum allowable quadtree depth, the splitting of a node can be implicitly terminated.

[0085] Alternatively, EQT and QT can share different depth increment processes and / or leaf node size limits. When the size of a node reaches the minimum allowable EQT leaf size or the EQT depth associated with the node reaches the maximum allowable EQT depth, the splitting of a node by EQT will be implicitly terminated. Additionally, in one example, the EQT depth and / or the minimum allowable EQT leaf size can be signaled in the sequence parameter set (SPS), and / or picture parameter set (PPS), and / or slice header, and / or CTU, and / or region, and / or slice, and / or CU.

[0086] Instead of using the current quadtree splitting applied to square blocks, for a block with dimensions of M×N (where M and N are non-zero positive integer values, equal or not equal), in EQT, a block can be equally divided into four splits, such as M / 4×N or M×N / 4 (examples are depicted in FIGS. 6(A) and 6(B)), or be equally divided into four splits, and the split dimensions depend on the maximum and minimum values of M and N. In one example, a 4×32 block can be divided into four 4×8 sub-blocks, while a 32×4 block can be divided into four 8×4 sub-blocks.

[0087] Instead of using the current quadtree splitting applied to square blocks, for a block with dimensions of M×N (where M and N are non-zero positive integer values, equal or not equal), in EQT, a block can be unequally divided into four splits, for example, the sizes of two splits are equal to (M*w0 / w)×(N*h0 / h), and the sizes of the other two splits are (M*(w - w0) / w)×(N*(h - h0) / h).

[0088] For example, w0 and w can be equal to 1 and 2 respectively, i.e., the width is halved, and the height can use other ratios than 2:1 to obtain sub-blocks. Examples of this case are depicted in FIGS. 6(C) and 6(E). Alternatively, h0 and h can be equal to 1 and 2 respectively, i.e., the height is halved, and the width can use other ratios than 2:1. Examples of this case are depicted in FIGS. 6(D) and 6(F).

[0089] FIGS. 6(G) and 6(H) show two alternative examples of quadtree partitioning.

[0090] FIG. 6(I) shows a more general case of quadtree partitioning with partitions of different shapes.

[0091] FIGS. 6(J) and 6(K) show general examples of FIGS. 6(A) and 6(B).

[0092] The flexible tree (FT) partitioning structure corresponds to a block partitioning process that includes an FT partitioning process for video data blocks, where the FT partitioning structure represents dividing a video data block into final sub-blocks, and when the FT partitioning process decides to apply FT partitioning to a given block, the given block is divided into K sub-blocks, where K can be greater than 4; decoding the final sub-blocks based on the video bitstream; and decoding the video data block based on the final sub-blocks decoded according to the derived FT structure.

[0093] The FT partitioning process can be recursively applied to a given block to generate FT leaf nodes. The partitioning of a node implicitly terminates when the node reaches the minimum allowable FT leaf node size or the FT depth associated with the node reaches the maximum allowable FT depth.

[0094] Alternatively, when FT is applied to a certain block, due to FT, for each sub-block, it can be further divided into BT, and / or QT, and / or EQT, and / or TT, and / or other types of partitioning trees.

[0095] Alternatively, in addition, the depth of FT or the minimum allowable FT leaf node size or the minimum allowable partitioning size of FT can be signaled in the sequence parameter set (SPS) and / or picture parameter set (PPS) and / or slice header and / or CTU and / or region and / or slice and / or CU.

[0096] Similar to the proposed EQT, all sub-blocks resulting from FT partitioning can have the same size; alternatively, the sizes of different sub-blocks can be different.

[0097] In one example, K is equal to 6 or 8. Figure 7A -D depicts some examples.

[0098] For TT, the restrictions on division along the horizontal or vertical direction can be eliminated.

[0099] In one example, a generalized TT (GTT) splitting pattern can be defined for both horizontal and vertical divisions. An example is as Figure 8 shown.

[0100] The proposed method can be applied under certain conditions. In other words, when the conditions are not met, there is no need to signal the splitting type.

[0101] Alternatively, the proposed method can be used to replace the existing splitting tree types. Alternatively, in addition, the proposed method can only be used as an alternative under certain conditions.

[0102] In one example, the conditions can include picture and / or stripe type; and / or block size; and / or coding / decoding mode; and / or whether a block is located at the picture / stripe / slice boundary.

[0103] In one example, the proposed EQT can be processed in the same way as QT. In this case, when it is indicated that the splitting tree type is QT, more flags / indications of a more detailed quadtree splitting pattern can be further signaled. Alternatively, the EQT can be regarded as an additional splitting pattern.

[0104] In one example, the signaling of the splitting method for EQT or FT or GTT can be conditional, that is, in some cases, one or some of the EQP / FT / GTT splitting methods can be not used, and the bits corresponding to signaling these splitting methods are not signaled.

[0105] 2.6 Boundary Processing

[0106] A boundary processing method is proposed for Versatile Video Coding (VVC).

[0107] Since the forced quadtree boundary splitting solution in VVC is not optimized, JVET-K0287 proposed a boundary splitting method using the conventional block splitting syntax to maintain the continuity of the CABAC engine and match the picture boundary.

[0108] The versatile boundary splitting obtains the following rules (for both the encoder and the decoder):

[0109] For the blocks located at the boundary, use exactly the same splitting syntax as for ordinary blocks (non-boundary) (e.g., as Figure 9 shown), and this syntax needs to remain unchanged.

[0110] If it is resolved as the no-partition mode for the boundary CU, forced boundary partitioning (FBP) is used to match the picture boundary.

[0111] After forced boundary splitting (not single-boundary splitting), no further splitting is performed.

[0112] Forced boundary splitting is described as follows:

[0113] If the size of the block is larger than the maximum allowed BT size, forced QT is used for FBP at the current forced splitting level;

[0114] Otherwise, if the bottom-right downsampling of the current CU is below the bottom picture boundary and does not exceed the right boundary, forced horizontal BT is used for FBP at the current forced splitting level;

[0115] Otherwise, if the bottom-right downsampling of the current CU is to the right of the right picture boundary and not below the bottom boundary, forced vertical BT is used for FBP at the current forced splitting level;

[0116] Otherwise, if the bottom-right downsampling of the current CU is to the right of the right picture boundary and below the bottom boundary, forced QT is used for FBP at the current forced splitting level.

[0117] 2.7 Splitting

[0118] The AVS working group, short for the Audio and Video Coding Standard Working Group of China, was authorized to be established in June 2002 by the former Ministry of Science and Technology of the Ministry of Industry and Information Technology. To meet the needs of the rapidly developing information industry, AVS is committed to providing high-quality technical standards for compressing, decompressing, processing, and representing digital audio and video, and thus provides efficient and economical encoding / decoding technologies for digital audio-video devices and systems. AVS can be applied to various important information fields, including high-resolution digital broadcasting, high-density laser digital storage media, wireless broadband multimedia communication, and Internet broadband streaming media.

[0119] AVS is one of the second-generation source coding / decoding standards and has independent Chinese intellectual property rights. Source coding / decoding technology mainly solves the problems of encoding, decoding, and compressing massive audio & video data (i.e., initial data and original sources), so it is called digital video and audio coding / decoding technology, and it is the premise for subsequent digital transmission, storage, and broadcasting, and serves as a general standard for the digital video & audio industry.

[0120] The LCU is divided into multiple CUs using quadtree (QT) splitting, binary tree (BT) splitting, and extended quadtree (EQT), as Figure 16As shown, QT splitting, BT splitting, and EQT splitting can all be used to split the root, internal, or leaf nodes of a tree. However, after any BT or EQT splitting, QT splitting is prohibited.

[0121] 3. Example of the problem solved by the embodiment

[0122] Although the QT / BT / TT codec tree structure in VVC is very flexible, there are still some splitting patterns that cannot be achieved by QT / BT / TT.

[0123] 4. Example of the embodiment

[0124] To solve this problem, several methods have been proposed to handle the case of EQT.

[0125] The following detailed techniques should be regarded as examples to explain the general concept. These embodiments should not be interpreted in a narrow sense. In addition, these embodiments can be combined in any way.

[0126] In the following discussion, QT, BT, TT, or UQT may refer to "QT partition", "BT partition", "TT partition", and "UQT partition" respectively.

[0127] In the following discussion, "partition" and "splitting" have the same meaning.

[0128] 1. Asymmetric quadtree (UQT) splitting is proposed. Using UQT, a block of size W×H is divided into four splits of sizes W1×H1, W2×H2, W3×H3, and W4×H4, where W1, W2, W3, W4, H1, H2, H3, and H4 are all integers.

[0129] a. In one example, and at least one split has a different block size from the other splits.

[0130] b. In one example, only two of the four splits can have equal sizes, the other two splits are different from each other, and different from the two splits with equal sizes.

[0131] c. In one example, all parameters are in the form of powers of 2. For example, W1 = 2 N1 , W2 = 2 N2 , W3 = 2 N3 , W4 = 2 N4 , H1 = 2 M1 , H2 = 2 M2 , H3 = 2 M3 , H4 = 2 M4 .

[0132] d. In one example, the UQT divides only one partition in the vertical direction. For example, H1 = H2 = H3 = H4 = H.

[0133] (a) In one example as shown in Figure 10(A), W1 = W / 8, W2 = W / 2,

[0134] W3 = W / 8, W4 = W / 4, H1 = H2 = H3 = H4 = H. This type of UQT

[0135] is vertically divided and named UQT1-V.

[0136] (b) In one example as shown in Figure 10(B), W1 = W / 8, W2 = W / 2,

[0137] W3 = W / 4, W4 = W / 8, H1 = H2 = H3 = H4 = H. This type of UQT

[0138] is vertically divided and named UQT2-V.

[0139] (c) In one example as shown in Figure 10(C), W1 = W / 4, W2 = W / 8,

[0140] W3 = W / 2, W4 = W / 8, H1 = H2 = H3 = H4 = H. This type of UQT

[0141] is vertically divided and named UQT3-V.

[0142] (d) In one example as shown in Figure 10(D), W1 = W / 8, W2 = W / 4,

[0143] W3 = W / 2, W4 = W / 8, H1 = H2 = H3 = H4 = H. This type of UQT

[0144] is vertically divided and named UQT4-V.

[0145] e. In one example, the UQT divides only one partition in the horizontal direction. For example, W1 = W2 = W3 = W4 = W.

[0146] (a) In one example as shown in Figure 10(E), H1 = H / 8, H2 = H / 2,

[0147] H3 = H / 8, H4 = H / 4, W1 = W2 = W3 = W4 = W. This type of UQT is horizontally divided and named UQT1-H.

[0148] (b) In one example as shown in Figure 10(F), H1 = H / 8, H2 = H / 2,

[0149] H3 = H / 4, H4 = H / 8, W1 = W2 = W3 = W4 = W. This type of UQT is horizontally partitioned and named UQT2-H.

[0150] (c) In one example as shown in FIG. 10(G), H1 = H / 4, H2 = H / 8,

[0151] H3 = H / 2, H4 = H / 4, W1 = W2 = W3 = W4 = W. This type of UQT is horizontally partitioned and named UQT3-H.

[0152] (d) In one example as shown in FIG. 10(H), H1 = H / 8, H2 = H / 4,

[0153] H3 = H / 2, H4 = H / 8, W1 = W2 = W3 = W4 = W. This type of UQT is horizontally partitioned and named UQT4-H.

[0154] 2. The blocks partitioned into sub-blocks by UQT can be partitioned from the parent block by QT or BT or TT or UQT.

[0155] a. The blocks that can be allowed to be split by UQT can be the blocks generated by splitting with QT or BT or TT or UQT.

[0156] b. The blocks that can be allowed to be split by UQT can be the blocks generated by splitting with QT or EQT or BT.

[0157] (a) Alternatively, the blocks that can be allowed to be split by UQT can be the blocks generated by splitting with UQT,

[0158] QT, EQT or BT.

[0159] c. For example, the largest block allowed to be split by UQT can be the largest coding / decoding block (coding / decoding tree block or coding / decoding tree unit).

[0160] d. For example, the largest block allowed to be split by UQT can be the virtual pipeline data unit (VPDU).

[0161] e. For example, the blocks allowed to be partitioned by UQT can be partitioned from the parent block by one or certain specific partitioning methods. For example, a block partitioned into sub-blocks by UQT can only be partitioned from the parent block by QT partitioning.

[0162] f. In one example, the maximum / minimum block sizes allowing UQT splitting and / or the maximum depth can be signaled in SPS / PPS / VPS / APS / sequence header / picture header / slice header / picture group header / CTU row / region, etc.

[0163] g. In one example, the maximum / minimum block size for UQT splitting and / or the maximum depth may depend on the profile / level / tier of the standard.

[0164] h. In one example, the maximum / minimum block size for UQT splitting that can be allowed and / or the maximum depth for UQT splitting that can be allowed can be derived, for example, in the same way as for QT splitting.

[0165] 3. The blocks divided from the mother block by UQT can be further divided into sub - blocks by QT and / or BT and / or TT and / or UQT.

[0166] a. For example, the blocks divided from the mother block by UQT can be further divided into sub - blocks by BT.

[0167] b. For example, the blocks divided from the mother block by UQT can be further divided into sub - blocks by TT.

[0168] c. For example, the blocks divided from the mother block by UQT can be further divided into sub - blocks by UQT and / or QT.

[0169] d. For example, the blocks divided from the mother block by UQT cannot be further divided into sub - blocks by QT.

[0170] e. For example, the blocks divided from the mother block by UQT can be further divided into sub - blocks by EQT.

[0171] (a) Alternatively, for the blocks divided from the mother block by UQT, they can be further divided into sub - blocks by UQT, EQT, and BT.

[0172] f. For example, the blocks divided from the mother block by UQT are not allowed to be further divided into sub - blocks by UQT.

[0173] (a) Alternatively, for the blocks divided from the mother block by UQT, they can be further divided into sub - blocks by EQT and BT.

[0174] 4. When dividing the mother block into sub - blocks by UQT, the division depth of the sub - blocks can be derived from the division depth of the mother block.

[0175] a. In one example, since the division by UQT can be used to update the QT / BT / TT / UQT / MTT depth.

[0176] (a) In one example, the QT depth of one or all sub - blocks is equal to the QT depth of the mother block plus 1.

[0177] (b) In one example, the BT depth of one or all sub - blocks is equal to the BT depth of the mother block plus 1.

[0178] (c) In one example, the TT depth of one or all of the sub - blocks is equal to the TT depth of the parent block plus 1.

[0179] (d) In one example, the UQT depth of one or all of the sub - blocks is equal to the UQT depth of the parent block plus 1.

[0180] (e) In one example, the MTT depth of one or all of the sub - blocks is equal to the MTT depth of the parent block plus 1.

[0181] 1. For example, if the parent block is divided into sub - blocks by BT, the MTT

[0182] depth of the sub - blocks is equal to the MTT depth of the parent block plus 1.

[0183] 2. For example, if the parent block is divided into sub - blocks by TT, the MTT

[0184] depth of the sub - blocks is equal to the MTT depth of the parent block plus 1.

[0185] 3. Alternatively, the MTT depth of one or all of the sub - blocks is equal to the MTT depth of the parent block plus K, where K > 1. For example, K = 2.

[0186] a. In one example, K can be different for different sub - blocks.

[0187] i. In one example, K = log2(size of the parent block /

[0188] size of the sub - block). For example, as Figure 10B shown, for four sub - blocks with W1 = W / 8,

[0189] W2 = W / 2, W3 = W / 4 and W4 = W / 8, the K values are 3, 1, 2, 3 respectively.

[0190] b. In one example, the increase in UQT / BT / TT / QT / MTT depth for different sub - blocks can be different.

[0191] (a) The depth increase depends on the ratio of the sub - block to the parent block.

[0192] 5. Whether and how to use UQT can depend on the color format (e.g., 4:4:4 or 4:2:0) and / or color components.

[0193] a. Whether and how to use UQT can depend on whether the luminance and chrominance coding - decoding trees are separated.

[0194] b. In one example, UQT can be applied to the luminance component only when the luminance and chrominance coding - decoding trees are separated.

[0195] 6. Whether to apply UQT and / or which type of UQT to apply can be signaled from the encoder to the decoder.

[0196] a. In one example, it can be signaled in the VPS / SPS / PPS / picture header / strip header / slice group header / slice header to indicate whether UQT can be applied.

[0197] b. In one example, it can be signaled in the VPS / SPS / PPS / picture header / strip header / slice group header / slice header to indicate which UQT can be applied.

[0198] c. In one example, it can be signaled in a block to indicate whether to use UQT to partition the block.

[0199] d. In one example, it can be signaled in a block to indicate which type of UQT is used to partition the block.

[0200] e. In one example, the index of the segmentation type can be signaled in a block to indicate whether the block is partitioned by QT or UQT, or not partitioned.

[0201] (a) Alternatively, in addition, the partitioning direction (horizontal / vertical) and / or partitioning style can be further signaled.

[0202] f. In one example, the index of the segmentation type can be signaled in a block to indicate whether the block is partitioned by BT or TT or UQT.

[0203] (a) For example, the index can be signaled conditionally, for example only when at least one of BT,

[0204] TT, and UQT is valid for the block.

[0205] (b) Alternatively, in addition, the partitioning direction (horizontal / vertical) and / or partitioning style can be further signaled.

[0206] g. In one example, the indication of the partitioning direction can be signaled first, followed by the partitioning style (e.g., QT, TT, UQT).

[0207] (a) In one example, a flag is signaled in a block to indicate whether the block is partitioned vertically or horizontally. Vertical partitioning can be BT vertical partitioning, TT vertical partitioning, or UQT vertical partitioning. Horizontal partitioning can be BT horizontal partitioning,

[0208] TT horizontal partitioning, or UQT horizontal partitioning.

[0209] (b) For example, the flag is signaled only when the block is partitioned by BT, or TT, or UQT.

[0210] (c) For example, the flag is signaled only when it is valid for both the vertical and horizontal partitions of the block.

[0211] The flag is signaled.

[0212] 1. If only the vertical partition is valid, the flag is not signaled, and it is inferred that the horizontal partition is used.

[0213] 2. If only the horizontal partition is valid, the flag is not signaled, and it is inferred that the vertical partition is used.

[0214] h. In one example, the binarized code is signaled in the block to indicate which partition (BT, TT, or UQT) is used. In the following example, X represents 0 or 1 and (if X = 0 then Y = 1, if X = 1 then Y = 0).

[0215] (a) In one example, depending on the previously signaled or derived information, the candidate BT, TT, or UQT to be signaled is either a vertical partition or a horizontal partition.

[0216] (b) In one example, the first flag is signaled to indicate whether UQT is used. For example, the binarized codewords representing BT, TT, UQT1, UQT2, UQT3, and UQT4 in sequence are XX, XY, YXX, YXY, YYX,

[0217] YYY.

[0218] (c) In one example, the unary truncated code is applied. For example, the binarized codewords representing BT, TT, UQT1, UQT2, UQT3, and UQT4 in sequence are X, YX, YYX, YYYX, YYYYYX, YYYYY.

[0219] (d) In one example, the first flag is signaled to indicate whether BT is used.

[0220] If BT is not used, the second flag is signaled to indicate whether UQT is used. If UQT is used, which type of UQT is used is further signaled. For example, the binarized codewords representing BT, TT, UQT1, UQT2,

[0221] UQT3, and UQT4 in sequence are X, YX, YYXX,

[0222] YYXY, YYYX, YYYY.

[0223] 7. In one example, how to signal which partition is used in the block can depend on which type of partition is valid for the block. In the following example, X represents 0 or 1 and (If X = 0, then Y = 1, and if X = 1, then Y = 0).

[0224] a. In one example, depending on information signaled previously or derived, the candidate BT, TT, or UQT to be signaled is either vertically partitioned or horizontally partitioned.

[0225] b. For example, an encoder cannot signal a decoder an impermissible or invalid partition, i.e., there is no codeword representing an impermissible or invalid partition.

[0226] c. In one example, if only one of the partitions from BT, TT, and UQT is valid, then a binary-coded value indicating which partition (BT, TT, or one of the UQTs) is used is not signaled.

[0227] d. In one example, if only two of the partitions from BT, TT, and UQT are valid, then a flag is signaled to indicate which of the two valid partitions is used.

[0228] e. In one example, the code indicating which partition (BT, TT, or one of the UQTs) is binary-coded into a unary truncated code.

[0229] (a) For example, the maximum value of the unary truncated code is N - 1, where N is the number of valid partitions (BT, TT, and UQT).

[0230] (b) For example, there is no codeword representing an invalid partition. In other words, invalid partitions are skipped when constructing the codeword table.

[0231] f. In one example, if there is no valid UQT, then a flag indicating whether the UQT is used is not signaled, and it is inferred that the flag is false. For example, the binary-coded codewords representing BT and TT in sequence are X and Y.

[0232] g. In one example, if only one UQT is valid and it is signaled that the UQT will be used, then no further information is signaled to indicate which UQT is used. The valid UQT is used implicitly.

[0233] h. In one example, if only two UQTs are valid and it is signaled that the UQT will be used, then a flag is signaled to indicate which UQT is used.

[0234] i. In one example, if only three UQTs are valid and it is signaled that the UQT will be used, then a message is signaled to indicate which UQT is used. For example, the binary-coded codewords representing the three UQTs in sequence are X, YX, and YY.

[0235] j. In one example, the binarization and / or signaling method does not change according to which partition in the block is valid. An invalid partition cannot be selected in the compliant bitstream.

[0236] 8. The binary numbers (bits) of the binary number (bin) string used to indicate the partition type can be encoded and decoded by arithmetic encoding and decoding in one or more contexts.

[0237] a. In one example, only some of the binary numbers of the binary number string can be encoded and decoded with context, and the remaining binary numbers can be encoded and decoded in bypass mode (i.e., without using context).

[0238] b. Alternatively, all of the binary numbers of the binary number string can be encoded and decoded with context.

[0239] c. Alternatively, all of the binary numbers of the binary number string can be encoded and decoded in bypass mode.

[0240] d. For the binary numbers encoded and decoded with context, one or more contexts can be used.

[0241] e. The context can depend on:

[0242] (a) The position or index of the binary number.

[0243] (b) The partitioning of spatially / temporally adjacent blocks.

[0244] (c) The current partitioning depth of the current block (e.g., QT depth / BT depth / TT

[0245] depth / UQT depth / MTT depth).

[0246] (d) The partitioning depth of spatially / temporally adjacent blocks and / or spatially / temporally non - adjacent blocks

[0247] (e.g., QT depth / BT depth / TT depth / UQT depth / MTT depth).

[0248] (e) The encoding and decoding mode of spatially / temporally adjacent blocks.

[0249] (f) The width / height of spatially / temporally adjacent blocks.

[0250] (g) The width / height of the current block

[0251] (h) Slice type / picture type / slice group type

[0252] (i) Color component

[0253] (j) Statistical results of the partitioning type from previously encoded blocks

[0254] 9. If a partitioned sub-block spans more than one virtual pipeline data unit (VPDU), UQT is not allowed.

[0255] 10. If the width / height of the current block meets certain conditions, UQT is not allowed. (Assume the width and height of the current block are W and H, and T1, T2, and T are some integers)

[0256] a. If W >= T1 and H >= T2, UQT is not allowed;

[0257] b. If W >= T1 or H >= T2, UQT is not allowed;

[0258] c. If W <= T1 and H <= T2, UQT is not allowed;

[0259] d. If W <= T1 or H <= T2, UQT is not allowed;

[0260] e. If W × H <= T, UQT is not allowed;

[0261] f. If W × H >= T, UQT is not allowed;

[0262] g. If H <= T, for example, T = 16, horizontal UQT is not allowed.

[0263] h. If H >= T, for example, T = 128, horizontal UQT is not allowed.

[0264] i. If W <= T, for example, T = 16, vertical UQT is not allowed.

[0265] j. If W >= T, for example, T = 128, vertical UQT is not allowed.

[0266] k. T1, T2, and T can be signaled from the encoder to the decoder in the VPS / SPS / PPS / picture header / slice header / picture group header / slice header.

[0267] l. T1, T2, and T can depend on the color component. For example, T1, T2, and T can be different for the luma and chroma components.

[0268] m. T1, T2, and T can depend on whether the luma codec tree and the chroma codec tree are separated. For example, if the luma codec tree and the chroma codec tree are separated, T1, T2, and T can be different for the luma and chroma components.

[0269] n. Alternatively, when UQT does not support the transformation of at least one sub-block, the UQT partition is invalid.

[0270] o. Alternatively, when the depth of a block exceeds the allowed depth of the UQT partition, the UQT partition is invalid.

[0271] p. Alternatively, when the size of any sub-block exceeds the allowed block size due to the UQT partition, the UQT partition is invalid.

[0272] 11. UQT is allowed if the width / height of the current block meets certain conditions. (Assume the width and height of the current block are W and H, and T1, T2, and T are some integers)

[0273] a. If W >= T1 and H >= T2, UQT is allowed;

[0274] b. If W >= T1 or H >= T2, UQT is allowed;

[0275] c. If W <= T1 and H <= T2, UQT is allowed;

[0276] d. If W <= T1 or H <= T2, UQT is allowed;

[0277] e. If W × H <= T, UQT is allowed;

[0278] f. If W × H >= T, UQT is allowed;

[0279] g. If H <= T, for example, T = 64, horizontal UQT is allowed.

[0280] h. If H >= T, for example, T = 32, horizontal UQT is allowed.

[0281] i. If W <= T, for example, T = 64, vertical UQT is allowed.

[0282] j. If W >= T, for example, T = 32, vertical UQT is allowed.

[0283] k. T1, T2, and T can be signaled from the encoder to the decoder in the VPS / SPS / PPS / picture header / slice header / picture group header / picture header.

[0284] l. T1, T2, and T can depend on the color component. For example, T1, T2, and T can be different for the luma and chroma components.

[0285] m. T1, T2, and T can depend on whether the luma coding tree and chroma coding tree are separate. For example, if the luma coding tree and chroma coding tree are separate, T1, T2, and T can be different for the luma and chroma components.

[0286] n. In one example, T1, T2, and T can determine the picture / slice type.

[0287] (a) In one example, on a P-strip / P-picture or a B-strip / B-picture, if TP1 <= H <= TP2, horizontal UQT is allowed, and / or if TP1

[0288] <= W <= TP2, vertical UQT is allowed, and on an I-strip / I-picture, if TI1 <= H <= TI2, horizontal UQT is allowed, and / or if TI1 <= W <= TI2, vertical UQT is allowed, then

[0289] 1. In one example, TP1 is greater than TI1. For example, TI1 = 32,

[0290] TP1 = 64, TI2 = TP2 = 64.

[0291] 2. In one example, TP2 is less than TI2. For example, TI2 = 64,

[0292] TP2 = 32, TI1 = TP1 = 32.

[0293] 12. If the depth of the current block meets certain conditions, UQT is not allowed. The depth of the current block can refer to QT depth, BT depth, TT depth, UQT depth or MTT depth.

[0294] a. If the partitioning depth <= T, UQT is not allowed;

[0295] b. If the partitioning depth >= T, UQT is not allowed;

[0296] c. If the QT partitioning depth <= T, UQT is not allowed;

[0297] d. If the QT partitioning depth >= T, UQT is not allowed;

[0298] e. If the BT partitioning depth >= T, UQT is not allowed;

[0299] f. If the BT partitioning depth <= T, UQT is not allowed;

[0300] g. If the TT partitioning depth >= T, UQT is not allowed;

[0301] h. If the TT partitioning depth >= T, UQT is not allowed;

[0302] i. If the UQT partitioning depth <= T, UQT is not allowed;

[0303] j. If the UQT partitioning depth >= T, UQT is not allowed;

[0304] k. If the MTT partitioning depth <= T, UQT is not allowed;

[0305] l. If the MTT partition depth >= T, then UQT is not allowed;

[0306] m. T can be signaled from the encoder to the decoder in the VPS / SPS / PPS / picture header / slice header / picture group header / slice header.

[0307] n. T can depend on the color component. For example, T1, T2, and T can be different for the luma and chroma components.

[0308] o. T can depend on whether the luma coding tree and the chroma coding tree are separated. For example, if the luma coding tree and the chroma coding tree are separated, then for the luma and chroma components, T1, T2, and T can be different.

[0309] 13. If the depth of the current block satisfies certain conditions, then UQT is allowed. The depth of the current block can refer to the QT depth, BT depth, TT depth, UQT depth, or MTT depth.

[0310] a. If the partition depth <= T, then UQT is allowed;

[0311] b. If the partition depth >= T, then UQT is allowed;

[0312] c. If the QT partition depth <= T, then UQT is allowed;

[0313] d. If the QT partition depth >= T, then UQT is allowed;

[0314] e. If the BT partition depth >= T, then UQT is allowed;

[0315] f. If the BT partition depth <= T, then UQT is allowed;

[0316] g. If the TT partition depth >= T, then UQT is allowed;

[0317] h. If the TT partition depth >= T, then UQT is allowed;

[0318] i. If the UQT partition depth <= T, then UQT is allowed;

[0319] j. If the UQT partition depth >= T, then UQT is allowed;

[0320] k. If the MTT partition depth <= T, then UQT is allowed;

[0321] l. If the MTT partition depth >= T, then UQT is allowed;

[0322] m.T can be signaled from the encoder to the decoder in the VPS / SPS / PPS / picture header / strip header / slice group header / slice header.

[0323] n.T can depend on the color component. For example, T1, T2, and T may be different for the luminance and chrominance components.

[0324] o.T can depend on whether the luminance coding tree and the chrominance coding tree are separate. For example, if the luminance coding tree and the chrominance coding tree are separate, T1, T2, and T may be different for the luminance and chrominance components.

[0325] 14. In one embodiment, whether and how to use UQT can depend on the position of the current block. For example, whether and how to use UQT can depend on whether the current block straddles the picture / slice / slice group boundary.

[0326] a. In one example, if the current block straddles the bottom boundary of the picture / slice / slice group, vertical UQT is not allowed.

[0327] b. In one example, if the current block straddles the bottom boundary of the picture / slice / slice group, horizontal UQT is not allowed.

[0328] c. In one example, if the current block straddles the right boundary of the picture / slice / slice group, vertical UQT is not allowed.

[0329] d. In one example, if the current block straddles the right boundary of the picture / slice / slice group, horizontal UQT is not allowed.

[0330] e. In one example, if the sub-blocks divided by UQT are completely outside the picture / slice / slice group, the sub-blocks can be omitted during the encoding / decoding process.

[0331] f. In one example, if the sub-blocks divided by UQT are partially outside the picture / slice / slice group, the following conditions may apply

[0332] (a) The part outside the picture can be omitted during the encoding / decoding process.

[0333] (b) The part inside the picture can be further divided.

[0334] (c) The part inside the picture can be encoded / decoded as a CU.

[0335] 1. Whether a part in the picture is encoded / decoded as a CU can depend on the width (w) and height (h) of the part.

[0336] a. In one example, if w = 2 nw , h = 2 nh , where nw

[0337] If nh is an integer, the part in the picture can be encoded and decoded as a CU.

[0338] g. In one example, if any sub-blocks divided by UQT are not partially or fully in the picture / slice / slice group, UQT is not allowed.

[0339] h. In one example, when UQT or some UQT styles are not allowed, the signaling notification of the use of the style will also be skipped.

[0340] 15. In one example, only UQTa-H, UQTb-H, UQTc-V, and UQTd-V can be used. For example, a = c = 2 and b = d = 4.

[0341] a. In one example, when a block can be undivided and at least one of QT, BT-H, BT-V, TT-H, TT-V, UQTa-H, UQTb-H, UQTc-V, and UQTd-V is applicable to the block, the signaling notification may have a binary number of one or more contexts to indicate whether the block is divided.

[0342] b. In one example, when a block is divided and it can be divided by QT and at least one of BT-H, BT-V, TT-H, TT-V, UQTa-H, UQTb-H, UQTc-V, and UQTd-V is applicable to the block, the signaling notification may have a binary number of one or more contexts to indicate whether the block is divided by QT or other divisions.

[0343] c. In one example, when a block is divided in a way other than QT, at least one of BT-H, TT-H, UQTa-H, and UQTb-H is applicable to the block, and at least one of BT-V, TT-V, UQTc-V, and UQTd-V is applicable to the block, the signaling notification may have a binary number of one or more contexts to indicate whether the block is divided vertically or horizontally.

[0344] d. In one example, when the following conditions are met, the signaling notification may have a binary number of one or more contexts to indicate whether the block is divided by UQT.

[0345] (a) When the block is horizontally divided in a way other than QT, at least one of BT-H and TT-H is available, and at least one of UQTa-H and UQTb-H is applicable to the block.

[0346] (b) When the block is vertically divided in a way other than QT, and BT-V, TT-V

[0347] when at least one of them is available and at least one of UQTc-V and UQTd-V is applicable to the block.

[0348] e. In one example, the signaling may indicate a binary number of one or more contexts to indicate whether the block is partitioned in the following manner:

[0349] (a) UQTa-H or UQTb-H when the block is partitioned horizontally by UQT and both UQTa-H and UQTb-H are applicable to the block.

[0350] (b) UQTc-V or UQTd-V when the block is partitioned vertically by UQT and both UQTc-V and UQTd-V are applicable to the block.

[0351] f. In one example, it is not allowed to further partition one or more sub-blocks of UQTa-H by TT-H. For example, it is not allowed to further partition a sub-block with a height equal to H / 2 by TT-H.

[0352] g. In one example, it is not allowed to further partition one or more sub-blocks of UQTb-H by TT-H. For example, it is not allowed to further partition a sub-block with a height equal to H / 2 by TT-H.

[0353] h. In one example, it is not allowed to further partition one or more sub-blocks of UQTc-V by TT-V. For example, it is not allowed to further partition a sub-block with a width equal to W / 2 by TT-V.

[0354] i. In one example, it is not allowed to further partition one or more sub-blocks of UQTd-V by TT-V. For example, it is not allowed to further partition a sub-block with a width equal to W / 2 by TT-V.

[0355] j. In one example, it is not allowed to further partition one or more sub-blocks of UQTa-H by BT-H.

[0356] k. In one example, it is not allowed to further partition one or more sub-blocks of UQTb-H by BT-H.

[0357] l. In one example, it is not allowed to further partition one or more sub-blocks of UQTc-V by BT-V.

[0358] m. In one example, it is not allowed to further partition one or more sub-blocks of UQTd-V by BT-V.

[0359] n. In one example, it is not allowed to further partition one or more sub-blocks of UQTa-H by UQT-H.

[0360] o. In one example, it is not allowed to further divide one or more sub - blocks of UQTb - H with UQT - H. p. In one example, it is not allowed to further divide one or more sub - blocks of UQTc - V with UQT - V.

[0361] q. In one example, it is not allowed to further divide one or more sub - blocks of UQTd - V with UQT - V.

[0362] r. In one example, it is not allowed to further divide one or more sub - blocks of UQTa - H.

[0363] s. In one example, it is not allowed to further divide one or more sub - blocks of UQTb - H.

[0364] t. In one example, it is not allowed to further divide one or more sub - blocks of UQTc - V.

[0365] u. In one example, it is not allowed to further divide one or more sub - blocks of UQTd - V.

[0366] v. In one example, it is not allowed to further divide one of UQTa - H and UQTb - H.

[0367] w. In one example, it is not allowed to further horizontally divide one of UQTa - H and UQTb - H.

[0368] x. In one example, it is not allowed to further divide one of UQTc - V and UQTd - V.

[0369] y. In one example, it is not allowed to further vertically divide one of UQTc - V and UQTd - V.

[0370] z. In one example, it is not allowed to further divide one or more sub - blocks of UQTa - H with EQT - H.

[0371] aa. In one example, it is not allowed to further divide one or more sub - blocks of UQTb - H with EQT - H.

[0372] bb. In one example, it is not allowed to further divide one or more sub - blocks of EQTc - V with EQT - H.

[0373] cc. In one example, it is not allowed to further divide one or more sub - blocks of EQTd - V with EQT - H.

[0374] dd. In one example, it is not allowed to further divide one or more sub - blocks of UQTa - H with EQT - V.

[0375] ee. In one example, it is not allowed to further divide one or more sub-blocks of EQTb-H with EQT-V.

[0376] ff. In one example, it is not allowed to further divide one or more sub-blocks of UQTc-V with EQT-V.

[0377] gg. In one example, it is not allowed to further divide one or more sub-blocks of UQTd-V with EQT-V.

[0378] hh. The term "sub-block of UQT" may refer to a block separated from the parent block by UQT, or a block separated from its parent block or any ancestor block (e.g., the parent block of the parent block) by UQT.

[0379] 16. In one example, only UQTa-H and UQTc-V can be used. For example, a = 2. In another example, a = c = 4.

[0380] a. In one example, when a block cannot be divided and at least one of QT, BT-H, BT-V, TT-H, TT-V, UQTa-H, and UQTc-V is applicable to the block, a binary number with one or more contexts may be signaled to indicate whether the block is divided.

[0381] b. In one example, when a block is divided and it can be divided by QT and at least one of BT-H, BT-V, TT-H, TT-V, UQTa-H, and UQTc-V is applicable to the block, a binary number with one or more contexts may be signaled to indicate whether the block is divided by QT or other division.

[0382] c. In one example, when a block is divided in a way other than by QT, at least one of BT-H, TT-H, and UQTa-H is applicable to the block, and at least one of BT-V, TT-V, and UQTc-V is applicable to the block, a binary number with one or more contexts may be signaled to indicate whether the block is divided vertically or horizontally.

[0383] d. In one example, when the following conditions are met, a binary number with one or more contexts may be signaled to indicate whether the block is divided by UQT.

[0384] (a) When the block is horizontally divided in a way other than by QT and at least one of BT-H and TT-H is available and UQTa-H is applicable to the block.

[0385] (b) When the block is vertically divided in a way other than by QT and BT-V, TT-V

[0386] at least one of which is available, and when UQTc-V is applicable to the block.

[0387] e. In one example, it is not allowed to further divide one or more sub-blocks of UQTa-H by TT-H. For example, it is not allowed to further divide a sub-block with a height equal to H / 2 by TT-H.

[0388] f. In one example, it is not allowed to further divide one or more sub-blocks of UQTc-V by TT-V. For example, it is not allowed to further divide a sub-block with a width equal to W / 2 by TT-V.

[0389] g. In one example, it is not allowed to further divide one or more sub-blocks of UQTa-H by BT-H.

[0390] h In one example, it is not allowed to further divide one or more sub-blocks of UQTc-V by BT-V.

[0391] i. In one example, it is not allowed to further divide one or more sub-blocks of UQTa-H by UQT-H.

[0392] j. In one example, it is not allowed to further divide one or more sub-blocks of UQTc-V by UQT-V.

[0393] 17. The indication of the division type (including EQT / BT / UQT) can be signaled after the indication of division or non-division and / or the indication of QT.

[0394] a. In one example, a flag can be signaled to indicate whether to divide the block by a first set of UQT and BT or by a second set of UQT and EQT, where the UQT styles in the first and second sets are different.

[0395] (a) Additionally, alternatively, a flag can be signaled to indicate that a certain UQT or a certain BT is applied to the block.

[0396] 1. For example, a flag can be signaled to indicate whether UQT2-V / UQT2-H defined in Example 1 or BT-V / BT-H is applied to the block.

[0397] (b) Additionally, alternatively, a flag can be signaled to indicate that a certain UQT or a certain EQT is applied to the block.

[0398] 1. For example, a flag can be signaled to indicate whether UQT4-V / UQT4-H defined in Example 1 or EQT-V / EQT-H is applied to the block.

[0399] 2. For example, a flag may be signaled to indicate whether UQT2-V / UQT2-H defined in Example 1 is applied to a block or EQT-V / EQT-H is applied.

[0400] (c) Additionally, alternatively, a partitioning direction (e.g., horizontal partitioning or vertical partitioning) may be further signaled.

[0401] (d) The above examples may be used for encoding and decoding of blocks in an I slice / picture.

[0402] b. In one example, a flag may be signaled to indicate whether a block is partitioned using BT or a second set of UQT and EQT.

[0403] (a) Additionally, alternatively, if a block is not partitioned using BT, another flag may be further signaled to indicate the use of UQT or EQT.

[0404] 1. Additionally, alternatively, a partitioning direction (e.g., horizontal partitioning or vertical partitioning) may be further signaled.

[0405] (b) Additionally, alternatively, another flag may be further signaled to indicate a partitioning direction (e.g., horizontal partitioning or vertical partitioning).

[0406] 1. Additionally, alternatively, a partitioning style (e.g., EQT or UQT) may be further signaled.

[0407] (c) The above examples may be used for encoding and decoding of blocks in a P / B slice / picture.

[0408] c. Alternatively, additionally, when a current block is not partitioned or is not partitioned using QT, signaling of the above flags may be skipped.

[0409] (a) Alternatively, the above flags may be further signaled only when a current block needs to be further partitioned and / or is not partitioned using QT.

[0410] 18. In one example, whether and / or how UQT partitioning is applied to a slice / picture may depend on the slice / picture type.

[0411] a. In one example, M types of UQT may be applied to a P-slice / P-picture or a B-slice / B-picture, and N types of UQT may be applied to an I-slice / I-picture.

[0412] (a) In one example, M is less than N. For example, M equals 2 and N equals 4.

[0413] (b) In one example, M equals N, however, the allowed UQT may be different.

[0414] (c) For example, the UQT2-V / UQT2-H / UQT4-V / UQT4-H defined in Example 1 can be applied to I-stripes / I-pictures.

[0415] (d) For example, the UQT2-V / UQT2-H defined in Example 1 can be applied to P-stripes / P-pictures or B-stripes / B-pictures.

[0416] 19. The interpretation of the signaling representation of the UQT partition may depend on the stripe / picture type.

[0417] a. In one example, the signaling representation of the UQT partition in an I-stripe / I-picture may be different from the signaling representation in a P-stripe / P-picture or a B-stripe / B-picture.

[0418] b. In one example, Example 17.a and Example 18.a.(c) can be applied to I-stripes / I-pictures.

[0419] c. In one example, Example 17.b and 18.a.(d) can be applied to P-stripes / P-pictures or B-stripes / B-pictures.

[0420] 20. In one example, whether and / or how the UQT partition is applied to a stripe / picture may depend on the temporal layer of the stripe / picture.

[0421] a. In one example, if the temporal layer is greater than a threshold, e.g., 2, then the UQT is not applied.

[0422] b. In one example, M types of UQT can be applied to pictures / stripes with a temporal layer greater than T, and N types of UQT can be applied to pictures / stripes with a temporal layer less than or equal to T, where M is less than N. For example, T is equal to 2, M is equal to 2, and N is equal to 4.

[0423] 21. In one example, whether and / or how the UQT partition is applied to a stripe / picture may depend on whether the stripe / picture can be referenced by other stripes / pictures.

[0424] a. In one example, if the UQT is not a reference picture for other stripes / pictures, then it is not applied to the stripe / picture.

[0425] 22. If a UQT is not allowed, e.g., as disclosed in Examples 17 - 21, then the indication for it is not signaled.

[0426] a. In one example, if no kind of UQT is allowed, e.g., as disclosed in Examples 17 - 21, then the indication for the UQT is not signaled.

[0427] 23. How the signaling of the splitting method can depend on the picture / strip type.

[0428] a. In one example, before signaling a flag indicating whether UQT is applied in an I picture / strip, a flag indicating whether BT / EQT is applied is signaled, and after signaling a flag indicating whether BT / EQT is applied in a non-I picture / strip (e.g., P / B-picture / strip), a flag indicating whether UQT is applied is signaled.

[0429] b. Alternatively, after signaling a flag indicating whether BT / EQT is applied in an I picture / strip, a flag indicating whether UQT is applied is signaled, and before signaling a flag indicating whether BT / EQT is applied in a non-I picture / strip (e.g., P / B-picture / strip), a flag indicating whether UQT is applied is signaled.

[0430] 24. In one example, a signaling flag is used to indicate the splitting direction for more than one splitting method including UQT. For example, the signaling flag is used to indicate whether vertical or horizontal splitting is applied to UQT, EQT, and BT.

[0431] 25. In one example, the flag indicating whether UQT is applied (denoted as UQT_flag) can be encoded and decoded by arithmetic coding with (one or more) context models.

[0432] a. In one example, the context model selection can depend on the picture / strip type (such as an I-picture or a P / B-picture).

[0433] b. In one example, if the current picture is an I picture, the context model is used. Otherwise (not an I picture), the context model is selected from several candidate context models.

[0434] c. In one example, the context model selection can depend on the presence of one or more adjacent blocks.

[0435] d. In one example, the context model selection can depend on the size of one or more adjacent blocks.

[0436] e. In the above examples, the adjacent blocks can include a left adjacent block and / or an upper adjacent block.

[0437] f. In one example, the context can depend on the size of the current block.

[0438] 5. Embodiments

[0439] 5.1 Embodiments of UQT Based on AVS-3.0

[0440] UQT splitting is proposed, in which the parent CU is asymmetrically divided into four CUs. A parent block is divided into four sub-blocks in a ratio of 1:4:2:1 or 1:2:4:1. As Figure 17 shown, there are 4 partitioning types for UQT splitting. As Figure 17 (a) and 17(b) show, for horizontal UQT, a W×H parent CU is divided into two CUs of W×H / 8, one CU of W×H / 4, and one CU of W×H / 2. Similarly, as Figure 17 (c) and 17(d) show, for vertical UQT, a W×H parent CU is divided into two CUs of W / 8×H, one CU of W / 4×H, and one CU of W / 2×H.

[0441] Different from QT splitting which cannot be used after BT and EQT splitting, UQT splitting can be used after BT and EQT splitting. If the length of the block in this direction is 32 to 64, UQT can be applied to this direction. An Figure 18 example is shown in

[0442] Similar to BT and EQT splitting, UQT splitting is effective after QT / BT / EQT splitting, while its sub-blocks are prohibited from being partitioned by QT splitting. For B / P stripes, horizontal UQT splitting can be applied only when the height of the current block is 64, and vertical UQT splitting can be applied only when the width of the current block is 64. In addition, only UQT splitting in a ratio of 1:2:4:1 is allowed in B / P stripes. Moreover, UQT splitting is not allowed in B / P frames not referenced by other frames. One bit is used to signal whether the partitioning mode is UQT. For I stripes, a Figure 19 tree coding structure is shown in Figure 20 and a tree coding structure for B / P stripes is shown in

[0443] Embodiment of UQT based on AVS-3.0 Phase 2

[0444]

[0445]

[0446]

[0447]

[0448]

[0449]

[0450]

[0451]

[0452]

[0453]

[0454] 5.3 Examples of Context Derivation

[0455] A variable ctxIdxInc is defined to indicate the context model of uqt_split_flag.

[0456] Block A represents the left adjacent block with size Wa*Ha.

[0457] Block B represents the upper adjacent block with size Wb*Hb.

[0458] Block E represents the current block with size We*He.

[0459] The derivation of ctxIdxInc is as follows:

[0460] If the current block is an I-picture, ctxIdxInc is set to be equal to 0.

[0461] Otherwise, the derivation of ctxIdxInc is as follows:

[0462] If (Block A exists and Ha < He) and (Block B exists and Wb < We), then ctxIdxInc is set to be equal to 2.

[0463] Otherwise, if (Block A exists and Ha < He) or (Block B exists and Wb < We), then ctxIdxInc is set to be equal to 1.

[0464] Then ctxIdxInc is further modified as follows:

[0465] If We*He > 1024, ctxIdxInc remains unchanged;

[0466] Otherwise, if We*He > 256, ctxIdxInc is incremented by 3;

[0467] Otherwise, ctxIdxInc is incremented by 6.

[0468] Figure 11is a block diagram of a video processing device 1100. The device 1100 can be used to implement one or more methods described herein. The device 1100 can be implemented in a smart phone, a tablet computer, a computer, an Internet of Things (IoT) receiver, etc. The device 1100 can include one or more processors 1102, one or more memories 1104, and video processing hardware 1106. The (one or more) processors 1102 can be configured to implement one or more methods described herein. The (one or more) memories 1104 can be used to store data and code for implementing the methods and techniques described herein. The video processing hardware 1106 can be used to implement some of the techniques described herein in hardware circuitry.

[0469] Figure 13 is a flowchart of a video processing method 1300. The method 1300 includes splitting (1305) a first video block into four parts, including a first part having a size of W1×H1, a second part having a size of W2×H2, a third part having a size of W3×H3, and a fourth part having a size of W4Hz, where W1, W2, W3, W4, H1, H2, H3, and H4 are integers, and using these four parts to perform (1310) further processing on the first video block.

[0470] Figure 14 is a flowchart of a video processing method 1400. The method 1400 includes determining (1405) features regarding a first video block, determining (1410) an operation state regarding an asymmetric quadtree (UQT) based on the determined features, where the operation state is enabled or disabled, and further performing (1415) processing on the first video according to the operation state of the UQT.

[0471] Figure 15 is a flowchart of a video processing method 1500. The method 1500 includes determining (1505) features regarding a first video block, determining (1510) how to split the first video block based on the determined features, and performing (1515) further processing on the first video block according to how the first video block is split.

[0472] Referring to methods 1300, 1400, and 1500, some examples of an enhanced codec tree structure for encoding and its use are described in Section 4 of this document.

[0473] Referring to methods 1300, 1400, and 1500, a video block can be encoded in a video bitstream, where bit efficiency can be achieved by using bitstream generation rules related to the enhanced codec tree structure.

[0474] The method can include, where the size of the first part is different from the size of one or more of the second part, the third part, and the fourth part.

[0475] The method may include, wherein the size of the first part is equal to the size of the second part, the size of the third part is not equal to the size of the fourth part, and the size of the third part and the size of the fourth part are not equal to the size of the first part and the size of the second part.

[0476] The method may include, wherein W1, W2, W3, W4, H1, H2, H3, and H4 are in the form of powers of 2.

[0477] The method may include, wherein H1, H2, H3, and H4 are the same.

[0478] The method may include, wherein W1, W2, W3, and W4 are the same.

[0479] The method may include, wherein the first video block is a part of a second video block segmented using a quadtree (QT), binary tree (BT), ternary tree (TT), or asymmetric quadtree (UQT).

[0480] The method may include, wherein the segmentation is according to UQT, and the maximum or minimum block size of UQT or the maximum depth of UQT is signaled in a sequence parameter set (SPS), view parameter set (VPS), picture parameter set (PPS), APS, a sequence header, picture header, slice header, slice group header, slice, coding tree unit (CTU) row, or region.

[0481] The method may include, wherein the segmentation is according to UQT, and the maximum or minimum block size of UQT or the maximum depth of UQT is based on a profile, level, or standard tier.

[0482] The method may include, wherein the segmentation is according to UQT, and the maximum or minimum block size of UQT or the maximum depth of UQT is the same as that of QT.

[0483] The method may include, wherein the segmentation is according to UQT, and the first part is further segmented according to QT, BT, TT, or UQT.

[0484] The method may include, wherein the segmentation is according to UQT, and the division depths of the first, second, third, and fourth parts are based on the division depth of the first video block.

[0485] The method may include, wherein the feature includes information on how to separate the luminance and chrominance coding trees.

[0486] The method may include, wherein the feature includes determining that the luminance and chrominance coding trees are separated and the operation state is enabled.

[0487] The method may include, wherein the operation state is signaled from the encoder to the decoder.

[0488] The method may include, wherein the operation state is signaled in a sequence parameter set (SPS), a view parameter set (VPS), a picture parameter set (PPS), a picture header, a slice header, a slice group header, or a picture header.

[0489] The method may include, wherein the type of UQT to be applied is signaled in a sequence parameter set (SPS), a view parameter set (VPS), a picture parameter set (PPS), a picture header, a slice header, a slice group header, or a picture header.

[0490] The method may include, wherein the operation state is signaled in a first video block.

[0491] The method may include, wherein the type of UQT to be applied is signaled in a first video block.

[0492] The method may include, wherein the first video block signals an index indicating a partitioning type to perform UQT, QT, or no partitioning.

[0493] The method may include, wherein the first video block signals an index indicating a partitioning type to perform BT, or TT, or UQT.

[0494] The method may include receiving a signal indicating a direction related to partitioning; and receiving information indicating a partitioning pattern representing QT, TT, or UQT.

[0495] The method may include, wherein the feature includes a valid partitioning type.

[0496] The method may include, wherein the determination of how to partition the first video block includes signaling a determination of BT, TT, or UQT having all vertical partitions or all horizontal partitions.

[0497] The method may include, wherein one of BT, TT, or UQT is an effective technique for how to partition the first video block, and the effective technique is not signaled using binary code.

[0498] The method may include, wherein two or more of BT, TT, or UQT are effective techniques for how to partition the first video block, and a flag indicates one of the effective techniques to determine how to partition the first video block.

[0499] The method may include, wherein UQT is invalid, and a flag indicating whether to use UQT is not signaled, and it is inferred that the flag is false.

[0500] The method may include, wherein the determination of how to partition the first video block is also based on bits of a binary digit string decoded by context-based arithmetic coding.

[0501] The method may include, wherein partial binary numbers of a binary digit string are context - encoded and decoded, and other binary numbers are encoded and decoded in a bypass mode without context.

[0502] The method may include, wherein binary numbers of a binary digit string are context - encoded and decoded.

[0503] The method may include, wherein binary numbers of a binary digit string are encoded and decoded in a bypass mode.

[0504] The method may include, wherein the context is based on the position or index of the binary number, the segmentation of adjacent blocks, the current segmentation depth of the first video block, the segmentation depth of adjacent blocks, the encoding and decoding mode of adjacent blocks, the width or height of adjacent blocks, the width or height of the first video block, the slice type, the picture type, the slice group type, the color component, or the statistical result of the segmentation type of previously encoded video blocks.

[0505] The method may include, wherein based on determining that the width or height of the first video block satisfies a condition related to the width or height, UQT is not allowed.

[0506] The method may include, wherein based on determining that the width or height of the first video block satisfies a condition related to the width or height, UQT is allowed.

[0507] The method may include, wherein based on determining that the depth of the first video block satisfies a condition related to the depth, UQT is not allowed.

[0508] The method may include, wherein the depth is QT depth, BT depth, TT depth, UQT depth or MTT depth.

[0509] The method may include, wherein based on determining that the depth of the first video block satisfies a condition related to the depth, UQT is allowed.

[0510] The method may include, wherein the depth is QT depth, BT depth, TT depth, UQT depth or MTT depth.

[0511] The method may include, wherein one or both of the operation state or operation characteristics of using UQT are based on the position of the first video block.

[0512] The method may include, wherein based on the position indicating that the first video block intersects the bottom boundary of a picture, slice, or slice group, the operation state is disabled.

[0513] The method may include, wherein based on the position indicating that the first video block intersects the bottom boundary of a picture, slice, or slice group, vertical UQT is disabled.

[0514] The method may include disabling horizontal UQT based on a position indicating that a first video block intersects a bottom boundary of a picture, slice, or slice group.

[0515] The method may include disabling vertical UQT based on a position indicating that a first video block intersects a right boundary of a picture, slice, or slice group.

[0516] The method may include disabling horizontal UQT based on a position indicating that a first video block intersects a right boundary of a picture, slice, or slice group.

[0517] Another video processing method for processing video is also disclosed. The method may include determining to use segmentation of a first video block based on the width or height of the first video block satisfying one or more conditions related to the width or height; and further processing the first video block according to the determination.

[0518] The method may include where one or more conditions are associated with a position where the first video block intersects a bottom boundary of an image, slice, or slice group.

[0519] The method may include that the segmentation of the first video block is based on bits of a binary digit string encoded and decoded according to one or more contexts.

[0520] The method may include where when the first block may not be partitioned and at least one of the segmentation types of QT, BT-H, BT-V, TT-H, TT-V, UQTa-H, UQTb-H, UQTc-V, and UQTd-V is applicable to the first video block, one or more contexts indicate whether the first video block is partitioned.

[0521] The method may include where when the first block may be partitioned and at least one of the segmentation types of BT-H, BT-V, TT-H, TT-V, UQTa-H, UQTb-H, UQTc-V, and UQTd-V is applicable to the first video block, one or more contexts indicate whether the first video block is partitioned by QT.

[0522] The method may include where when the first block may be partitioned and at least one of the segmentation types of BT-H, TT-H, UQTa-H, and UQTb-H is applicable to the first video block, one or more contexts indicate whether the first video block is partitioned vertically or horizontally.

[0523] It will be appreciated that the disclosed techniques may be implemented in a video encoder or decoder to improve compression efficiency using an enhanced codec tree structure.

[0524] The solutions listed below further define the various embodiments listed in the previous sections, for example, items 23 to 25.

[0525] A video processing method includes: for the conversion between a video block and its codec representation, determining a segmentation method for segmenting the video block, wherein the segmentation method is signaled in the codec representation using a signaling scheme that depends on a strip or picture including the video block; and performing the conversion based on the determination.

[0526] In the above method, a first flag is included in the codec representation indicating whether to use asymmetric quadtree partitioning, and a second flag is included in the codec representation indicating whether to use a binary tree or an enhanced quadtree.

[0527] In the above method, the first flag appears before the second flag in the codec representation.

[0528] In the above method, the first flag appears after the second flag in the codec representation.

[0529] In the above method, a field in the codec representation signals the segmentation direction.

[0530] In the above method, the conversion includes generating pixels of the video block from the codec representation.

[0531] In the above method, the conversion includes generating a codec representation from the video block.

[0532] Figure 21 is a flowchart of video processing method 2100. Method 2100 includes: performing (2105) a conversion between a current video block and a bitstream representation of the current video block, wherein the current video block is asymmetrically divided into four segments using asymmetric quadtree (UQT) partitioning, and the four segments include a first segment having dimensions W1×H1, a second segment having dimensions W2×H2, a third segment having dimensions W3×H3, and a fourth segment having dimensions W4×H4, where W1, W2, W3, W4, H1, H2, H3, and H4 are integers.

[0533] Figure 22 is a flowchart of video processing method 2200. Method 2200 includes: determining (2205) characteristics regarding a current video block; determining (2210) an operation state regarding asymmetric quadtree (UQT) partitioning based on the determined characteristics, wherein the operation state indicates whether UQT partitioning is enabled or disabled and / or indicates how to divide the current video block into four segments using UQT partitioning; and based on the operation state of UQT partitioning, performing (2215) a conversion between the current video block and a bitstream representation of the current video block.

[0534] Figure 23It is a flowchart of video processing method 2300. Method 2300 includes: for the conversion between a current video block and a bitstream representation of the current video block, determining (2305) an asymmetric quadtree (UQT) partitioning method for partitioning the current video block, where the partitioning method is selected from the following: UQTa-H partitioning, UQTb-H partitioning, UQTc-V partitioning, and UQTd-V partitioning, where a, b, c, and d are selected from 1, 2, 3, or 4, where UQTa-H partitioning and UQTb-H partitioning are horizontal UQT partitions, and UQTc-V partitioning and UQTd-V partitioning are vertical UQT partitions; and performing (2310) the conversion based on the above determination.

[0535] Figure 24 It is a flowchart of video processing method 2400. Method 2400 includes determining (2405) an effective partitioning type of a current video block; based on the determination of the effective partitioning type, determining (2410) whether or how to signal the partitioning type to be used for the current video block; and performing (2415) the conversion between the current video block and a bitstream representation of the current video block according to the determined result.

[0536] Figure 25 It is a flowchart of video processing method 2500. Method 2500 includes, for the conversion between a current video block and an encoded / decoded representation of the current video block, determining (2505) a partitioning type for partitioning the current video block, where after signaling an indication of partitioning or non-partitioning and / or an indication of quadtree (QT) partitioning, the partitioning type is signaled in the bitstream representation; and performing (2510) the conversion based on the determination.

[0537] Figure 26 It is a flowchart of video processing method 2600. Method 2600 includes, for the conversion between a current video block and a bitstream representation of the current video block, based on a slice or picture including the current video block, determining (2605) whether to apply asymmetric quadtree (UQT) partitioning, and if UQT partitioning is applied, a specific UQT type to be used for partitioning the current video block; and performing (2610) the conversion based on the determination.

[0538] Figure 27 It is a flowchart of video processing method 2700. Method 2700 includes, for the conversion between a current video block and a bitstream representation of the current video block, based on a slice or picture including the current video block, determining (2705) an interpretation of a signaled representation of an asymmetric quadtree (UQT) to be used for partitioning the current video block; and performing (2710) the conversion based on the determination.

[0539] The following examples are provided in this disclosure.

[0540] 1. A video processing method, comprising: determining features regarding a current video block; determining an operation state regarding an asymmetric quadtree (UQT) partition based on the determined features, wherein the operation state indicates whether the UQT partition is enabled or disabled and / or indicates how to divide the current video block into four segments using the UQT partition; and performing a conversion between the current video block and a bitstream representation of the current video block based on the operation state of the UQT partition.

[0541] 2. The method according to Example 1, wherein the conversion includes generating the current video block from the bitstream representation of the current video block.

[0542] 3. The method according to Example 1, wherein the conversion includes generating a bitstream representation of the current video block from the current video block.

[0543] 4. The method according to any one of Examples 1-3, wherein the features include information regarding a color format and / or color components of the current video block.

[0544] 5. The method according to any one of Examples 1-4, wherein whether and / or how to use the UQT partition depends on whether the luminance and chrominance coding trees are separated.

[0545] 6. The method according to Example 5, wherein when it is determined from the features that the luminance and chrominance coding trees are separated, the operation state regarding the UQT partition is enabled for the current video block.

[0546] 7. The method according to any one of Examples 1-6, wherein the operation state is signaled from an encoder to a decoder.

[0547] 8. The method according to Example 7, wherein the operation state is signaled in a sequence parameter set (SPS), a view parameter set (VPS), a picture parameter set (PPS), a picture header, a slice header, a slice group header, or a picture header.

[0548] 9. The method according to Example 7 or Example 8, wherein the type of UQT partition to be applied is signaled in a sequence parameter set (SPS), a view parameter set (VPS), a picture parameter set (PPS), a picture header, a slice header, a slice group header, or a picture header.

[0549] 10. The method according to any one of Examples 7-9, wherein the operation state is signaled in the current video block.

[0550] 11. The method according to Example 9, wherein the type of the UQT partition to be applied is signaled in the current video block.

[0551] 12. The method according to Example 7, wherein an index of a partitioning type indicating whether the current video block is to be partitioned by UQT partitioning, QT partitioning, or not partitioned is signaled in the current video block.

[0552] 13. The method according to Example 12, wherein a partitioning direction and / or a partitioning type are further signaled in the current video block.

[0553] 14. The method according to Example 7, wherein an index of a partitioning type indicating whether the current video block is partitioned by BT, or TT, or UQT partitioning is signaled in the current video block.

[0554] 15. The method according to Example 14, wherein the index of the partitioning type is signaled only when at least one of BT partitioning, TT partitioning, and UQT partitioning is valid for the current video block.

[0555] 16. The method according to Example 14, wherein a partitioning direction and / or a partitioning type are further signaled in the current video block.

[0556] 17. The method according to any one of Examples 14 - 16, wherein an indication of the partitioning direction is signaled first, and then the partitioning type is signaled.

[0557] 18. The method according to Example 17, wherein the partitioning type includes at least one of QT partitioning, TT partitioning, and UQT partitioning.

[0558] 19. The method according to Example 17, wherein a flag indicating whether the current block is partitioned vertically or horizontally is signaled in the current block.

[0559] 20. The method according to Example 19, wherein the vertical partitioning is BT vertical partitioning, or TT vertical partitioning, or UQT vertical partitioning; and the horizontal partitioning is BT horizontal partitioning, or TT horizontal partitioning, or UQT horizontal partitioning.

[0560] 21. The method according to Example 19 or Example 20, wherein the flag is signaled only when the current block is partitioned by at least one of BT, TT, or UQT partitioning.

[0561] 22. The method according to any one of Examples 19 - 21, wherein the flag is signaled only when both vertical partitioning and horizontal partitioning are valid for the current block.

[0562] 23. The method according to Example 22, wherein if only the vertical partitioning is valid, the flag is not signaled, and it is inferred that horizontal partitioning is used.

[0563] 24. The method according to Example 22, wherein if only the horizontal partitioning is valid, the flag is not signaled, and it is inferred that the vertical partitioning is used.

[0564] 25. The method according to any one of Examples 16 - 24, wherein the binarized code is signaled in the current block to indicate the partitioning type for the current video block.

[0565] 26. The method according to Example 25, wherein the candidates for the partitioning type to be signaled include BT partitioning, TT partitioning, or UQT partitioning, and depending on the previously signaled or derived information, the candidates are all vertically partitioned or all horizontally partitioned.

[0566] 27. The method according to Example 25 or Example 26, wherein a first flag is signaled to indicate whether UQT partitioning is used.

[0567] 28. The method according to any one of Examples 25 - 27, wherein the binarized codewords for representing the partitioning types BT, TT, UQT1, UQT2, UQT3, and UQT4 are XX, XY, YXX, YXY, YYX, YYY, respectively, where X represents 0 or 1, Y represents 0 or 1 and Y is different from X.

[0568] 29. The method according to any one of Examples 25 - 27, wherein the unary truncated codes for representing the partitioning types BT, TT, UQT1, UQT2, UQT3, and UQT4 are X, YX, YYX, YYYX, YYYYYX, YYYYY, respectively, where X represents 0 or 1, Y represents 0 or 1 and Y is different from X.

[0569] 30. The method according to Example 25 or Example 26, wherein a first flag is signaled to indicate whether BT is used; if BT is not used, a second flag is signaled to indicate whether UQT partitioning is used; if UQT partitioning is used, it is further signaled which UQT partitioning is used.

[0570] 31. The method according to Example 30, wherein the binarized codewords for representing BT, TT, UQT1, UQT2, UQT3, and UQT4 are X, YX, YYXX, YYXY, YYYX, YYYY, respectively, where X represents 0 or 1, Y represents 0 or 1 and Y is different from X.

[0571] 32. The method according to Examples 1 - 30, wherein if the sub - blocks of the partitioning span more than one virtual pipeline data unit (VPDU), the UQT partitioning is disabled, where the VPDU is the largest coding / decoding block that allows UQT partitioning.

[0572] 33. The method as described in Example 1, wherein when the width W or height H of the current video block satisfies a first set of conditions, the UQT partitioning is disabled for the current video block, where W and H are integers; and / or when the width W or height H of the current video block satisfies a second set of conditions, the UQT partitioning is enabled for the current video block.

[0573] 34. The method as described in Example 33, wherein the first set of conditions includes: W >= T1 and H >= T2, where T1 represents a first threshold, where T2 represents a second threshold, and T1 and T2 are integers.

[0574] 35. The method as described in Example 33, wherein the first set of conditions includes: W >= T1 or H >= T2, where T1 represents a first threshold, where T2 represents a second threshold, and T1 and T2 are integers.

[0575] 36. The method as described in Example 33, wherein the first set of conditions includes: W <= T1 and H <= T2, where T1 represents a first threshold, where T2 represents a second threshold, and T1 and T2 are integers.

[0576] 37. The method as described in Example 33, wherein the first set of conditions includes: W <= T1 or H <= T2, where T1 represents a first threshold, where T2 represents a second threshold, and T1 and T2 are integers.

[0577] 38. The method as described in Example 33, wherein the first set of conditions includes: W × H <= T, where T represents a third threshold, and T is an integer.

[0578] 39. The method as described in Example 33, wherein the first set of conditions includes: W × H >= T, where T represents a third threshold, and T is an integer.

[0579] 40. The method as described in Example 33, wherein when H <= T is satisfied, the horizontal UQT partitioning is disabled, where T represents a third threshold, and T is an integer.

[0580] 41. The method as described in Example 40, wherein T = 16.

[0581] 42. The method as described in Example 33, wherein when H >= T is satisfied, the horizontal UQT partitioning is disabled, where T represents a third threshold, and T is an integer.

[0582] 43. The method as described in Example 42, wherein T = 128.

[0583] 44. The method as described in Example 33, wherein when W <= T is satisfied, the vertical UQT partitioning is disabled, where T represents a third threshold, and T is an integer.

[0584] 45. The method as described in Example 44, where T = 16.

[0585] 46. The method as described in Example 33, where when W >= T is satisfied, vertical UQT partitioning is disabled, where T represents a third threshold and T is an integer.

[0586] 47. The method as described in Example 46, where T = 128.

[0587] 48. The method as described in any one of Examples 34 - 47, where the threshold is signaled from the encoder to the decoder.

[0588] 49. The method as described in Example 48, where the threshold is signaled in a sequence parameter set (SPS), view parameter set (VPS), picture parameter set (PPS), picture header, slice header, slice group header, or slice header.

[0589] 50. The method as described in any one of Examples 34 - 49, where the threshold depends on the color component of the current video block.

[0590] 51. The method as described in Example 50, where the threshold is different for the luminance and chrominance components of the current video block.

[0591] 52. The method as described in any one of Examples 34 - 51, where the threshold depends on whether the luminance coding - decoding tree and the chrominance coding - decoding tree are separate.

[0592] 53. The method as described in Example 52, where if the luminance coding - decoding tree and the chrominance coding - decoding tree are separate, the threshold is different for the luminance and chrominance components.

[0593] 54. The method as described in any one of Examples 1 - 47, where when transform coding is not supported for at least one sub - block due to UQT partitioning, UQT partitioning is disabled.

[0594] 55. The method as described in any one of Examples 1 - 47, where when the size of the sub - block of the current video block exceeds the allowed block size due to UQT partitioning, UQT partitioning is disabled.

[0595] 56. The method as described in Example 33, where the second set of conditions includes: W >= T1 and H >= T2, where T1 represents a first threshold, where T2 represents a second threshold, and T1 and T2 are integers.

[0596] 57. The method as described in Example 33, where the second set of conditions includes: W >= T1 or H >= T2, where T1 represents a first threshold, where T2 represents a second threshold, and T1 and T2 are integers.

[0597] 58. The method as described in Example 33, wherein the second set of conditions includes: W <= T1 and H <= T2, where T1 represents a first threshold, where T2 represents a second threshold, and T1 and T2 are integers.

[0598] 59. The method as described in Example 33, wherein the second set of conditions includes: W <= T1 or H <= T2, where T1 represents a first threshold, where T2 represents a second threshold, and T1 and T2 are integers.

[0599] 60. The method as described in Example 33, wherein the second set of conditions includes: W × H <= T, where T represents a third threshold, and T is an integer.

[0600] 61. The method as described in Example 33, wherein the second set of conditions includes: W × H >= T, where T represents a third threshold, and T is an integer.

[0601] 62. The method as described in Example 33, wherein when H <= T is satisfied, a horizontal UQT partition is enabled, where T represents a third threshold, and T is an integer.

[0602] 63. The method as described in Example 62, wherein T = 64.

[0603] 64. The method as described in Example 33, wherein when H >= T is satisfied, a horizontal UQT partition is enabled, where T represents a third threshold, and T is an integer.

[0604] 65. The method as described in Example 64, wherein T = 32.

[0605] 66. The method as described in Example 33, wherein when W <= T is satisfied, a vertical UQT partition is enabled, where T represents a third threshold, and T is an integer.

[0606] 67. The method as described in Example 66, wherein T = 64.

[0607] 68. The method as described in Example 33, wherein when W >= T is satisfied, a vertical UQT partition is enabled, where T represents a third threshold, and T is an integer.

[0608] 69. The method as described in Example 68, wherein T = 32.

[0609] 70. The method as described in any one of Examples 56 - 69, wherein the threshold is signaled from the encoder to the decoder.

[0610] 71. The method as described in Example 70, wherein the threshold is signaled in a Sequence Parameter Set (SPS), a View Parameter Set (VPS), a Picture Parameter Set (PPS), a picture header, a slice header, a slice group header, or a picture slice header.

[0611] 72. The method as described in any one of Examples 56 - 69, wherein the threshold depends on the color components of the current video block.

[0612] 73. The method as described in Example 72, wherein the threshold is different for the luminance and chrominance components of the current video block.

[0613] 74. The method as described in any one of Examples 56 - 69, wherein the threshold depends on whether the luminance coding tree and the chrominance coding tree are separated.

[0614] 75. The method as described in Example 74, wherein if the luminance coding tree and the chrominance coding tree are separated, the threshold is different for the luminance and chrominance components.

[0615] 76. The method as described in any one of Examples 56 - 69, wherein the threshold depends on the picture type or the slice type.

[0616] 77. The method as described in Example 76, wherein on a P - slice / P - picture or a B - slice / B - picture, if TP1 <= H <= TP2, then horizontal UQT partitioning is enabled and / or if TP1 <= W <= TP2, then vertical UQT partitioning is enabled; on an I - slice / I - picture, if TI1 <= H <= TI2, then horizontal UQT partitioning is enabled and / or if TI1 <= W <= TI2, then vertical UQT partitioning is enabled, where TP1, TP2, TI1, and TI2 are integers.

[0617] 78. The method as described in Example 77, wherein TP1 is greater than TI1.

[0618] 79. The method as described in Example 77 or 78, wherein TI1 = 32, TP1 = 64, TI2 = TP2 = 64.

[0619] 80. The method as described in Example 77, wherein TP2 is less than TI2.

[0620] 81. The method as described in Example 77 or 80, wherein TI2 = 64, TP2 = 32, TI1 = TP1 = 32.

[0621] 82. The method according to Example 1, wherein the feature includes the depth of the current video block; wherein when the partition depth of the current video block satisfies a third set of conditions regarding a threshold T, the UQT partition is disabled for the current video block, where T is an integer, and wherein the depth represents at least one of the QT partition depth, the BT partition depth, the TT partition depth, the UQT partition depth, and the MTT partition depth; when the depth of the current video block satisfies a fourth set of conditions regarding the threshold T, the UQT partition is enabled for the current video block.

[0622] 83. The method according to Example 82, wherein the third set of conditions includes: the partition depth <= T.

[0623] 84. The method according to Example 82, wherein the third set of conditions includes: the partition depth >= T.

[0624] 85. The method according to Example 82, wherein the third set of conditions includes: the QT partition depth <= T.

[0625] 86. The method according to Example 82, wherein the third set of conditions includes: the QT partition depth >= T.

[0626] 87. The method according to Example 82, wherein the third set of conditions includes: the BT partition depth >= T.

[0627] 88. The method according to Example 82, wherein the third set of conditions includes: the BT partition depth <= T.

[0628] 89. The method according to Example 82, wherein the third set of conditions includes: the TT partition depth >= T.

[0629] 90. The method according to Example 82, wherein the third set of conditions includes: the TT partition depth <= T.

[0630] 91. The method according to Example 82, wherein the third set of conditions includes: the UQT partition depth <= T.

[0631] 92. The method according to Example 82, wherein the third set of conditions includes: the UQT partition depth >= T.

[0632] 93. The method according to Example 82, wherein the third set of conditions includes: the MTT partition depth <= T.

[0633] 94. The method according to Example 82, wherein the third set of conditions includes: the MTT partition depth >= T.

[0634] 95. The method according to any one of Examples 82-94, wherein the threshold T is signaled from the encoder to the decoder.

[0635] 96. The method according to Example 95, wherein the threshold T is signaled in a sequence parameter set (SPS), a view parameter set (VPS), a picture parameter set (PPS), a picture header, a slice header, a slice group header, or a picture header.

[0636] 97. The method according to any one of Examples 82-96, wherein the threshold T depends on the color components of the current video block.

[0637] 98. The method according to Example 97, wherein the threshold T is different for the luminance component and the color components of the current video block.

[0638] 99. The method according to any one of Examples 82-98, wherein the threshold T depends on whether the luminance coding and decoding tree and the chrominance coding and decoding tree are separate.

[0639] 100. The method according to Example 99, wherein if the luminance coding and decoding tree and the chrominance coding and decoding tree are separate, the threshold T is different for the luminance and chrominance components.

[0640] 101. The method according to Example 82, wherein the fourth set of conditions includes: the partition depth <= T.

[0641] 102. The method according to Example 82, wherein the fourth set of conditions includes: the partition depth >= T.

[0642] 103. The method according to Example 82, wherein the fourth set of conditions includes: the QT partition depth <= T.

[0643] 104. The method according to Example 82, wherein the fourth set of conditions includes: the QT partition depth >= T.

[0644] 105. The method according to Example 82, wherein the fourth set of conditions includes: the BT partition depth >= T.

[0645] 106. The method according to Example 82, wherein the fourth set of conditions includes: the BT partition depth <= T.

[0646] 107. The method according to Example 82, wherein the fourth set of conditions includes: the TT partition depth >= T.

[0647] 108. The method according to Example 82, wherein the fourth set of conditions includes: the TT partition depth <= T.

[0648] 109. The method according to Example 82, wherein the fourth set of conditions includes: the UQT partition depth <= T.

[0649] 110. The method according to Example 82, wherein the fourth set of conditions includes: the UQT partition depth >= T.

[0650] 111. The method according to Example 82, wherein the fourth set of conditions includes: the MTT partition depth <= T.

[0651] 112. The method according to Example 82, wherein the fourth set of conditions includes: the MTT partition depth >= T.

[0652] 113. The method according to any one of Examples 101 - 112, wherein the threshold T is signaled from the encoder to the decoder.

[0653] 114. The method according to Example 113, wherein the threshold T is signaled in a sequence parameter set (SPS), a view parameter set (VPS), a picture parameter set (PPS), a picture header, a slice header, a slice group header, or a picture header.

[0654] 115. The method according to any one of Examples 101 - 114, wherein the threshold T depends on the color component of the current video block.

[0655] 116. The method according to Example 115, wherein the threshold T is different for the luminance component and the color component of the current video block.

[0656] 117. The method according to any one of Examples 101 - 116, wherein the threshold T depends on whether the luminance codec tree and the chrominance codec tree are separated.

[0657] 118. The method according to Example 117, wherein if the luminance codec tree and the chrominance codec tree are separated, the threshold T is different for the luminance and chrominance components.

[0658] 119. The method according to any one of Examples 82 - 118, further comprising: determining to disable UQT partitioning when the depth of a sub - block of the current video block exceeds the allowed UQT partition depth.

[0659] 120. The method according to Example 1, wherein it is determined whether to enable UQT partitioning and / or how to use UQT partitioning on the current video block according to the position information of the current video block.

[0660] 121. The method according to Example 120, wherein the position information includes whether the current video block straddles a picture / sub - picture boundary, or a slice boundary, or a slice group boundary.

[0661] 122. The method according to Example 121, wherein if the current video block straddles the picture / sub-picture boundary, or the slice boundary, or the bottom boundary of the slice group, vertical UQT partitioning is disabled.

[0662] 123. The method according to Example 121, wherein if the current video block straddles the picture / sub-picture boundary, or the slice boundary, or the bottom boundary of the slice group, horizontal UQT partitioning is disabled.

[0663] 124. The method according to Example 121, wherein if the current video block straddles the picture / sub-picture boundary, or the slice boundary, or the right boundary of the slice group, vertical UQT partitioning is disabled.

[0664] 125. The method according to Example 121, wherein if the current video block straddles the picture / sub-picture boundary, or the slice boundary, or the right boundary of the slice group, horizontal UQT partitioning is disabled.

[0665] 126. The method according to Example 121, further comprising: if the sub-blocks obtained by partitioning the current video block by UQT partitioning are completely outside the picture / sub-picture or slice or slice group, omitting the sub-blocks during the conversion process.

[0666] 127. The method according to Example 121, wherein at least a part of the sub-blocks obtained by partitioning the current video block by UQT partitioning is outside the picture / sub-picture or slice or slice group, and wherein the sub-blocks include a first part outside the picture / sub-picture or slice or slice group and a second part within the picture / sub-picture or slice or slice group.

[0667] 128. The method according to Example 127, wherein the first part of the sub-blocks is omitted during the conversion process.

[0668] 129. The method according to Example 127, wherein the second part of the sub-blocks is further partitioned during the conversion process.

[0669] 130. The method according to Example 127, wherein the second part of the sub-blocks is encoded / decoded as a coding unit (CU).

[0670] 131. The method according to Example 130, wherein whether the second part of the sub-blocks is encoded / decoded as a CU depends on the width w and height h of the second part, where w and h are integers.

[0671] 132. The method according to Example 131, wherein if w = 2 nw , h = 2 nh , then the second part of the sub-blocks is encoded / decoded as a CU, where nw and nh are integers.

[0672] 133. The method as described in Example 127 further includes: disabling the UQT partitioning if any sub-block obtained by the UQT partitioning is partially or completely outside the picture / sub-picture or slice or slice group.

[0673] 134. The method as described in any one of Examples 120 - 133, wherein when the UQT partitioning or vertical UQT partitioning or horizontal UQT partitioning is disabled, signaling notification of the indication to skip its use is skipped.

[0674] 135. A video processing method includes: for the conversion between a current video block and the bitstream representation of the current video block, determining an asymmetric quad-tree (UQT) partitioning method for partitioning the current video block, wherein the partitioning method is selected from: UQTa-H partitioning, UQTb-H partitioning, UQTc-V partitioning, and UQTd-V partitioning, where a, b, c, and d are selected from 1, 2, 3, or 4, wherein UQTa-H partitioning and UQTb-H partitioning are horizontal UQT partitionings, and UQTc-V partitioning and UQTd-V partitioning are vertical UQT partitionings; and performing the conversion based on the determination.

[0675] 136. The method as described in Example 135, wherein for UQT1-V partitioning, UQT2-V partitioning, UQT3-V partitioning, and UQT4-V partitioning, a video block with width W and height H is divided into four segments, which from left to right include: a first segment with width W1 and height H1, a second segment with width W2 and height H2, a third segment with width W3 and height H3, and a fourth segment with width W4 and height H4, wherein for the UQT1-V partitioning, W1 = W / 8, W2 = W / 2, W3 = W / 8, W4 = W / 4, H1 = H2 = H3 = H4 = H; for the UQT2-V partitioning, W1 = W / 8, W2 = W / 2, W3 = W / 4, W4 = W / 8, H1 = H2 = H3 = H4 = H; for the UQT3-V partitioning, W1 = W / 4, W2 = W / 8, W3 = W / 2, W4 = W / 8, H1 = H2 = H3 = H4 = H; and for the UQT4-V partitioning, W1 = W / 8, W2 = W / 4, W3 = W / 2, W4 = W / 8, H1 = H2 = H3 = H4 = H.

[0676] 137. The method as described in Example 135, wherein for the UQT1-H partition, UQT2-H partition, UQT3-H partition, and UQT4-H partition, a video block having a width W and a height H is divided into four segments, which from top to bottom include: a first segment having a width W1 and a height H1, a second segment having a width W2 and a height H2, a third segment having a width W3 and a height H3, and a fourth segment having a width W4 and a height H4, wherein for the UQT1-H partition, H1 = H / 8, H2 = H / 2, H3 = H / 8, H4 = H / 4, W1 = W2 = W3 = W4 = W; for the UQT2-H partition, H1 = H / 8, H2 = H / 2, H3 = H / 4, H4 = H / 8, W1 = W2 = W3 = W4 = W; for the UQT3-H partition, H1 = H / 4, H2 = H / 8, H3 = H / 2, H4 = H / 8, W1 = W2 = W3 = W4 = W; and for the UQT4-H partition, H1 = H / 8, H2 = H / 4, H3 = H / 2, H4 = H / 8, W1 = W2 = W3 = W4 = W.

[0677] 138. The method as described in Example 135, wherein a = c = 2, and b = d = 4.

[0678] 139. The method as described in any one of Examples 135-138, wherein when the current video block can be not divided, a binary number having one or more contexts is signaled to indicate whether the current video block is divided.

[0679] 140. The method as described in Example 139, wherein at least one of the QT partition, BT-H partition, BT-V partition, TT-H partition, TT-V partition, UQTa-H partition, UQTb-H partition, UQTc-V partition, and UQTd-V partition is applicable to the current video block.

[0680] 141. The method as described in Example 139, wherein when the current video block is divided, a binary number having one or more contexts is signaled to indicate whether the current video block is divided by the QT partition or other partitions.

[0681] 142. The method as described in Example 141, wherein when the current video block is divided by the QT partition, at least one of the BT-H partition, BT-V partition, TT-H partition, TT-V partition, UQTa-H partition, UQTb-H partition, UQTc-V partition, and UQTd-V partition is applicable to the current video block.

[0682] 143. The method as described in Example 141, wherein when the current video block is partitioned by a partition other than the QT partition, and at least one of the BT-H partition, TT-H partition, UQTa-H partition, and UQTb-H partition is applicable in the current video block, and at least one of the BT-V partition, TT-V partition, UQTc-V partition, and UQTd-V partition is applicable in the current video block, a binary number having one or more contexts is signaled to indicate whether the current video block is horizontally or vertically partitioned.

[0683] 144. The method as described in Example 143, wherein when the current video block is horizontally partitioned by a partition other than the horizontal QT partition, and at least one of the BT-H partition and TT-H partition is available, and at least one of the UQTa-H partition and UQTb-H partition is applicable in the current video block, a binary number having one or more contexts is signaled to indicate whether the current video block is partitioned by the UQT partition.

[0684] 145. The method as described in Example 143, wherein when the current video block is vertically partitioned by a partition other than the vertical QT partition, and at least one of the BT-V partition and TT-V partition is available, and at least one of the UQTc-V partition and UQTd-V partition is applicable in the current video block, a binary number having one or more contexts is signaled to indicate whether the current video block is partitioned by the UQT partition.

[0685] 146. The method as described in Example 144, wherein when the block is horizontally partitioned by the UQT partition, and both the UQTa-H partition and UQTb-H partition are applicable in the current video block, a binary number having one or more contexts is signaled to indicate whether the current video block is partitioned by the UQTa-H partition or the UQTb-H partition.

[0686] 147. The method as described in Example 145, wherein when the block is vertically partitioned by the UQT partition, and both the UQTc-V partition and UQTd-V partition are applicable in the block, a binary number having one or more contexts is signaled to indicate whether the current video block is partitioned by the UQTc-V partition or the UQTd-V partition.

[0687] 148. The method as described in Example 135, wherein one or more sub-blocks partitioned from the current video block by the UQTa-H partition are not allowed to be further partitioned by the TT-H partition.

[0688] 149. The method according to Example 135, wherein one or more sub-blocks divided from the current video block by UQTb-H division are not allowed to be further divided by TT-H division.

[0689] 150. The method according to Example 148 or 149, wherein the sub-blocks divided from the current video block having a height equal to H / 2 are not allowed to be further divided by TT-H division, where H represents the height of the current video block.

[0690] 151. The method according to Example 135, wherein one or more sub-blocks divided from the current video block by UQTc-V division are not allowed to be further divided by TT-V division.

[0691] 152. The method according to Example 135, wherein one or more sub-blocks divided from the current video block by UQTd-V division are not allowed to be further divided by TT-V division.

[0692] 153. The method according to Example 151 or 152, wherein the sub-blocks divided from the current video block having a width equal to W / 2 are not allowed to be further divided by TT-V division, where W represents the width of the current video block.

[0693] 154. The method according to Example 135, wherein one or more sub-blocks divided from the current video block by UQTa-H division are not allowed to be further divided by BT-H division.

[0694] 155. The method according to Example 135, wherein one or more sub-blocks divided from the current video block by UQTb-H division are not allowed to be further divided by BT-H division.

[0695] 156. The method according to Example 135, wherein one or more sub-blocks divided from the current video block by UQTc-V division are not allowed to be further divided by BT-V division.

[0696] 157. The method according to Example 135, wherein one or more sub-blocks divided from the current video block by UQTd-V division are not allowed to be further divided by BT-V division.

[0697] 158. The method according to Example 135, wherein one or more sub-blocks divided from the current video block by UQTa-H division are not allowed to be further divided by UQT-H division.

[0698] 159. The method according to Example 135, wherein one or more sub-blocks divided from the current video block by UQTb-H division are not allowed to be further divided by UQT-H division.

[0699] 160. The method according to Example 135, wherein one or more sub-blocks divided from the current video block with UQTc-V division are not allowed to be further divided with UQT-V division.

[0700] 161. The method according to Example 135, wherein one or more sub-blocks divided from the current video block with UQTd-V division are not allowed to be further divided with UQT-V division.

[0701] 162. The method according to Example 135, wherein one or more sub-blocks divided from the current video block with UQTa-H division are not allowed to be further divided.

[0702] 163. The method according to Example 135, wherein one or more sub-blocks divided from the current video block with UQTb-H division are not allowed to be further divided.

[0703] 164. The method according to Example 135, wherein one or more sub-blocks divided from the current video block with UQTc-V division are not allowed to be further divided.

[0704] 165. The method according to Example 135, wherein one or more sub-blocks divided from the current video block with UQTd-V division are not allowed to be further divided.

[0705] 166. The method according to Example 135, wherein one or more sub-blocks divided from the current video block with either UQTa-H division or UQTb-H division are not allowed to be further divided.

[0706] 167. The method according to Example 135, wherein one or more sub-blocks divided from the current video block with either UQTa-H division or UQTb-H division are not allowed to be further horizontally divided.

[0707] 168. The method according to Example 135, wherein one or more sub-blocks divided from the current video block with either UQTc-V division or UQTd-V division are not allowed to be further divided.

[0708] 169. The method according to Example 135, wherein one or more sub-blocks divided from the current video block with either UQTc-V division or UQTd-V division are not allowed to be further vertically divided.

[0709] 170. The method according to Example 135, wherein one or more sub-blocks divided from the current video block with UQTa-H division are not allowed to be further divided with EQT-H division.

[0710] 171. The method according to Example 135, wherein one or more sub-blocks divided from the current video block by UQTb-H division are not allowed to be further divided by EQT-H division.

[0711] 172. The method according to Example 135, wherein one or more sub-blocks divided from the current video block by UQTc-V division are not allowed to be further divided by EQT-H division.

[0712] 173. The method according to Example 135, wherein one or more sub-blocks divided from the current video block by UQTd-V division are not allowed to be further divided by EQT-H division.

[0713] 174. The method according to Example 135, wherein one or more sub-blocks divided from the current video block by UQTa-H division are not allowed to be further divided by EQT-V division.

[0714] 175. The method according to Example 135, wherein one or more sub-blocks divided from the current video block by UQTb-H division are not allowed to be further divided by EQT-V division.

[0715] 176. The method according to Example 135, wherein one or more sub-blocks divided from the current video block by UQTc-V division are not allowed to be further divided by EQT-V division.

[0716] 177. The method according to Example 135, wherein one or more sub-blocks divided from the current video block by UQTd-V division are not allowed to be further divided by EQT-V division.

[0717] 178. The method according to Example 135, wherein the division method is selected from: UQTa-H division and UQTc-V division.

[0718] 179. The method according to Example 178, wherein a = c = 4.

[0719] 180. The method according to Example 178 or 179, wherein when the current video block may not be divided and at least one of QT division, BT-H division, BT-V division, TT-H division, TT-V division, UQTa-H division, and UQTc-V division is applicable to the current video block, a binary number having one or more contexts is signaled to indicate whether the current video block is divided.

[0720] 181. The method as described in Example 178 or 179, wherein when the current video block is partitioned, and it can be QT partition, and at least one of BT-H partition, BT-V partition, TT-H partition, TT-V partition, UQTa-H partition, and UQTc-V partition is applicable in the current video block, a binary number with one or more contexts is signaled to indicate whether the current video block is partitioned by QT partition or other partitions.

[0721] 182. The method as described in Example 178 or 179, wherein when the current video block is partitioned by a partition other than QT partition, at least one of BT-H partition, TT-H partition, and UQTa-H partition is applicable in the current video block, and at least one of BT-V partition, TT-V partition, and UQTc-V partition is applicable in the current video block, a binary number with one or more contexts is signaled to indicate whether the current video block is vertically partitioned or horizontally partitioned.

[0722] 183. The method as described in Example 178 or 179, wherein when the current video block is horizontally partitioned by a partition other than QT partition, at least one of BT-H partition and TT-H partition is available, and UQTa-H partition is applicable in the current video block, a binary number with one or more contexts is signaled to indicate whether the current video block is partitioned by UQT partition.

[0723] 184. The method as described in Example 178 or 179, wherein when the current video block is vertically partitioned by a partition other than QT partition, at least one of BT-V partition and TT-V partition is available, and UQTc-V partition is applicable in the current video block, a binary number with one or more contexts is signaled to indicate whether the current video block is partitioned by UQT partition.

[0724] 185. The method as described in Example 135, wherein one or more sub-blocks partitioned from the current video block by UQTa-H partition are not allowed to be further partitioned by TT-H partition.

[0725] 186. The method as described in Example 185, wherein a sub-block partitioned from the current video block with a height equal to H / 2 is not allowed to be further partitioned by TT-H partition, where H represents the height of the current video block.

[0726] 187. The method as described in Example 135, wherein one or more sub-blocks partitioned from the current video block by UQTc-V partition are not allowed to be further partitioned by TT-V partition.

[0727] 188. The method according to Example 187, wherein sub-blocks divided from the current video block and having a width equal to W / 2 are not allowed to be further divided by TT-V division, where W represents the width of the current video block.

[0728] 189. The method according to Example 135, wherein one or more sub-blocks divided from the current video block by UQTa-H division are not allowed to be further divided by BT-H division.

[0729] 190. The method according to Example 135, wherein one or more sub-blocks divided from the current video block by UQTc-V division are not allowed to be further divided by BT-V division.

[0730] 191. The method according to Example 135, wherein one or more sub-blocks divided from the current video block by UQTa-H division are not allowed to be further divided by UQT-H division.

[0731] 192. The method according to Example 135, wherein one or more sub-blocks divided from the current video block by UQTc-V division are not allowed to be further divided by UQT-V division.

[0732] 193. The method according to any one of Examples 1-192, wherein the conversion includes generating pixels of the current video block from the bitstream representation.

[0733] 194. The method according to any one of Examples 1-192, wherein the conversion includes generating the bitstream representation from the current video block.

[0734] 195. A video decoding device, comprising a processor configured to implement the method according to one or more of Examples 1 to 192.

[0735] 196. A video encoding device, comprising a processor configured to implement the method according to one or more of Examples 1 to 192.

[0736] 197. A computer program product having computer code stored thereon, which when executed by a processor causes the processor to implement the method according to any one of Examples 1 to 192.

[0737] The disclosures and other solutions, examples, embodiments, modules, and functional operations described herein can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed herein and their structural equivalents, or in combinations of one or more of them. The disclosures and other embodiments can be implemented as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a computer-readable medium for execution by, or to control the operation of, a data processing apparatus. The computer-readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter affecting a machine-readable propagated signal, or a combination of one or more of them. The term “data processing apparatus” encompasses all apparatus, devices, and machines for processing data, including, by way of example, a programmable processor, a computer, or multiple processors or computers. The apparatus can also include code that creates an execution environment for the computer program under discussion, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them. A propagated signal is an artificially generated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal, which is generated to encode information for transmission to a suitable receiver device.

[0738] A computer program (also called a program, software, software application, script, or code) can be written in any form of programming language, including a compiled or interpreted language, and the computer program can be deployed in any form, including as a stand-alone program or as modules, components, subroutines, or other units suitable for use in a computing environment. A computer program need not correspond to a file in a file system. The program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program being discussed, or in multiple coordinated files (e.g., files that store one or more modules, subroutines, or portions of code). The computer program can be deployed to be executed on one computer or on multiple computers located at one site or distributed across multiple sites and interconnected by a communication network.

[0739] The processes and logical flows described herein can be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logical flows can also be performed by, and the apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (Field Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit).

[0740] For example, processors suitable for executing computer programs include any one or more processors of general and special microprocessors, as well as any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The basic elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include or be operably coupled to one or more mass storage devices for storing data, such as magnetic disks, magneto-optical disks, or optical disks, to receive data from the one or more mass storage devices, or to transfer data to the one or more mass storage devices, or both receive and transfer data. However, a computer need not have such devices. Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and memory devices, including, for example, semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks, such as internal hard disks or removable disks; magneto-optical disks; and CD ROM and DVD-ROM disks. The processor and memory may be supplemented by, or incorporated in, special logic circuitry.

[0741] Although this patent document contains many details, these details should not be construed as limitations on any subject matter or the scope of what can be claimed, but rather as descriptions of features specific to particular embodiments of a particular invention. In this patent document, certain features described in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented separately or in any suitable sub-combination in multiple embodiments. Moreover, although the above features may be described as acting in certain combinations and even initially claimed as such, in some cases, one or more features from a claimed combination may be removed from the combination, and the claimed combination may be directed to a sub-combination or a variation of a sub-combination.

[0742] Similarly, although operations are depicted in the drawings in a particular order, this should not be construed as requiring that the operations be performed in the particular order shown or in sequential order, or that all of the illustrated operations be performed, to achieve a desired result. Additionally, the separation of various system components in the embodiments described in this patent document should not be construed as requiring such separation in all embodiments.

[0743] Only a few implementations and examples are described herein, and other implementations, enhancements, and variations can be made based on what is described and illustrated in this patent document.

Claims

1. A video processing method, comprising: Determining features regarding a current video block; Determining an operation state regarding an asymmetric quadtree (UQT) partition based on the determined features, wherein the operation state indicates whether the UQT partition is enabled or disabled and / or indicates how to divide the current video block into four splits using the UQT partition; And Performing a first conversion between the current video block and a bitstream of the current video block based on the operation state of the UQT partition; Wherein, when the width W or height H of the current video block satisfies a first set of conditions, the UQT partition is disabled for the current video block, where W and H are integers, and when the width W or height H of the current video block satisfies a second set of conditions, the UQT partition is enabled for the current video block, Wherein, the first set of conditions includes at least one of the following: W >= T1 and H >= T2, where T1 represents a first threshold, T2 represents a second threshold, and T1 and T2 are integers; W >= T1 or H >= T2; W <= T1 and H <= T2; W <= T1 or H <= T2; W × H <= T, where T represents a third threshold, and T is an integer; or W × H >= T; Or, Wherein, the second set of conditions includes at least one of the following: W >= T1 and H >= T2; W >= T1 or H >= T2; W <= T1 and H <= T2; W <= T1 or H <= T2; W × H <= T; or W × H >= T.

2. The method according to claim 1, wherein the first conversion includes generating the current video block from the bitstream of the current video block.

3. The method according to claim 1, wherein the first conversion includes generating the bitstream of the current video block from the current video block.

4. The method according to any one of claims 1 - 3, wherein the features include information regarding the color format and / or color components of the current video block.

5. The method according to any one of claims 1 - 3, wherein whether and / or how to use the UQT partition depends on whether the luminance and chrominance coding trees are separated.

6. The method according to claim 5, wherein when it is determined from the features that the luminance and chrominance coding trees are separated, the operation state regarding the UQT partition is enabled for the current video block.

7. The method according to any one of claims 1 - 3, wherein the operation state is signaled from an encoder to a decoder.

8. The method according to claim 7, wherein the operation state is signaled in a sequence parameter set (SPS), view parameter set (VPS), picture parameter set (PPS), picture header, slice header, slice group header, or picture header.

9. The method according to claim 8, wherein the type of UQT partition to be applied is signaled in a sequence parameter set (SPS), view parameter set (VPS), picture parameter set (PPS), picture header, slice header, slice group header, or picture header.

10. The method according to claim 9, wherein the operation state is signaled in the current video block.

11. The method according to claim 9, wherein the type of the UQT partition to be applied is signaled in the current video block.

12. The method according to claim 7, wherein an index of a partition type indicating whether the current video block is to be partitioned by UQT partition, QT partition, or not partitioned is signaled in the current video block.

13. The method according to claim 12, wherein a partition direction and / or a partition type are further signaled in the current video block.

14. The method according to claim 7, wherein an index of a partition type indicating whether the current video block is partitioned by BT, or TT, or UQT partition is signaled in the current video block.

15. The method according to claim 14, wherein the index of the partition type is signaled only when at least one of the BT partition, TT partition, and UQT partition is valid for the current video block.

16. The method according to claim 14, wherein a partition direction and / or a partition type are further signaled in the current video block.

17. The method according to claim 14, wherein an indication of the partition direction is signaled first, and then the partition type is signaled.

18. The method according to claim 17, wherein the partition type includes at least one of QT partition, TT partition, and UQT partition.

19. The method according to claim 17, wherein a flag indicating whether the current video block is partitioned vertically or horizontally is signaled in the current video block.

20. The method according to claim 19, wherein the vertical partition is a BT vertical partition, or a TT vertical partition, or a UQT vertical partition; and the horizontal partition is a BT horizontal partition, or a TT horizontal partition, or a UQT horizontal partition.

21. The method according to claim 19, wherein the flag is signaled only when the current video block is partitioned by at least one of BT, TT, or UQT partition.

22. The method according to claim 19, wherein the flag is signaled only when both the vertical partition and the horizontal partition are valid for the current video block.

23. The method according to claim 22, wherein if only the vertical partition is valid, the flag is not signaled, and a horizontal partition is inferred to be used.

24. The method according to claim 22, wherein if only the horizontal partition is valid, the flag is not signaled, and a vertical partition is inferred to be used.

25. The method according to claim 16, wherein a binarized code is signaled in the current video block to indicate the partition type for the current video block.

26. The method according to claim 25, wherein candidates for the partition type to be signaled include BT partition, TT partition, or UQT partition, and depending on previously signaled or derived information, the candidates are all vertically partitioned or all horizontally partitioned.

27. The method according to claim 25, wherein a first flag is signaled to indicate whether UQT partition is used.

28. The method according to claim 25, wherein the binary codewords for representing the partitioning types BT, TT, UQT1, UQT2, UQT3, and UQT4 are XX, XY, YXX, YXY, YYX, and YYY, respectively, where X represents 0 or 1, Y represents 0 or 1, and Y is different from X.

29. The method according to claim 25, wherein the unary truncated codes for representing the partitioning types BT, TT, UQT1, UQT2, UQT3, and UQT4 are X, YX, YYX, YYYX, YYYYYX, and YYYYY, respectively, where X represents 0 or 1, Y represents 0 or 1, and Y is different from X.

30. The method according to claim 25, wherein a first flag is signaled to indicate whether BT is used; if BT is not used, a second flag is signaled to indicate whether UQT partitioning is used; if UQT partitioning is used, which UQT partitioning is further signaled.

31. The method according to claim 30, wherein the binary codewords for representing BT, TT, UQT1, UQT2, UQT3, and UQT4 are X, YX, YYXX, YYXY, YYYX, and YYYY, respectively, where X represents 0 or 1, Y represents 0 or 1, and Y is different from X.

32. The method according to any one of claims 1-3, wherein if the partitioned sub-block spans more than one virtual pipeline data unit (VPDU), UQT partitioning is disabled, where VPDU is the largest codec block that allows UQT partitioning.

33. The method according to claim 1, wherein when H <= T is satisfied, horizontal UQT partitioning is disabled, where T represents a third threshold and T is an integer.

34. The method according to claim 33, wherein T = 16.

35. The method according to claim 1, wherein when H >= T is satisfied, horizontal UQT partitioning is disabled, where T represents a third threshold and T is an integer.

36. The method according to claim 35, wherein T = 128.

37. The method according to claim 1, wherein when W <= T is satisfied, vertical UQT partitioning is disabled, where T represents a third threshold and T is an integer.

38. The method according to claim 37, wherein T = 16.

39. The method according to claim 1, wherein when W >= T is satisfied, vertical UQT partitioning is disabled, where T represents a third threshold and T is an integer.

40. The method according to claim 39, wherein T = 128.

41. The method according to any one of claims 1, 33-40, wherein the threshold is signaled from the encoder to the decoder.

42. The method according to claim 41, wherein the threshold is signaled in a sequence parameter set (SPS), view parameter set (VPS), picture parameter set (PPS), picture header, slice header, slice group header, or slice header.

43. The method according to any one of claims 1, 33-40, wherein the threshold depends on the color component of the current video block.

44. The method according to claim 43, wherein the threshold is different for the luminance and chrominance components of the current video block.

45. The method according to any one of claims 1, 33 - 40, wherein the threshold depends on whether the luminance coding tree and the chrominance coding tree are separate.

46. The method according to claim 45, wherein if the luminance coding tree and the chrominance coding tree are separate, the threshold is different for the luminance and chrominance components.

47. The method according to any one of claims 1 - 3 and 33 - 40, wherein when transform coding is not supported for at least one sub - block due to UQT partitioning, the UQT partitioning is disabled.

48. The method according to any one of claims 1 - 3 and 33 - 40, wherein when the size of a sub - block of the current video block exceeds the allowed block size due to UQT partitioning, the UQT partitioning is disabled.

49. The method according to claim 1, wherein when H <= T, the horizontal UQT partitioning is enabled, where T represents a third threshold and T is an integer.

50. The method according to claim 49, wherein T = 64.

51. The method according to claim 1, wherein when H >= T, the horizontal UQT partitioning is enabled, where T represents a third threshold and T is an integer.

52. The method according to claim 51, wherein T = 32.

53. The method according to claim 1, wherein when W <= T, the vertical UQT partitioning is enabled, where T represents a third threshold and T is an integer.

54. The method according to claim 53, wherein T = 64.

55. The method according to claim 1, wherein when W >= T, the vertical UQT partitioning is enabled, where T represents a third threshold and T is an integer.

56. The method according to claim 55, wherein T = 32.

57. The method according to any one of claims 1, 49 - 56, wherein the threshold is signaled from the encoder to the decoder.

58. The method according to claim 57, wherein the threshold is signaled in a sequence parameter set (SPS), a view parameter set (VPS), a picture parameter set (PPS), a picture header, a slice header, a slice group header, or a picture header.

59. The method according to any one of claims 1, 49 - 56, wherein the threshold depends on the color component of the current video block.

60. The method according to claim 59, wherein the threshold is different for the luminance and chrominance components of the current video block.

61. The method according to any one of claims 1, 49 - 56, wherein the threshold depends on whether the luminance coding tree and the chrominance coding tree are separate.

62. The method according to claim 61, wherein if the luminance coding tree and the chrominance coding tree are separate, the threshold is different for the luminance and chrominance components.

63. The method according to any one of claims 1, 49 - 56, wherein the threshold depends on the picture type or the slice type.

64. The method according to claim 63, wherein on a P-strip / P-picture or a B-strip / B-picture, if TP1 <= H <= TP2, a horizontal UQT division is enabled and / or if TP1 <= W <= TP2, a vertical UQT division is enabled; on an I-strip / I-picture, if TI1 <= H <= TI2, a horizontal UQT division is enabled and / or if TI1 <= W <= TI2, a vertical UQT division is enabled, where TP1, TP2, TI1, and TI2 are integers.

65. The method according to claim 64, wherein TP1 is greater than TI1.

66. The method according to claim 64, wherein TI1 = 32, TP1 = 64, TI2 = TP2 = 64.

67. The method according to claim 64, wherein TP2 is less than TI2.

68. The method according to claim 64, wherein TI2 = 64, TP2 = 32, TI1 = TP1 = 32.

69. The method according to claim 1, wherein the feature includes the division depth of the current video block; wherein when the division depth of the current video block satisfies a third set of conditions regarding a threshold T, the UQT division is disabled for the current video block, where T is an integer, and wherein the division depth represents at least one of a QT division depth, a BT division depth, a TT division depth, a UQT division depth, and an MTT division depth; when the division depth of the current video block satisfies a fourth set of conditions regarding a threshold T, the UQT division is enabled for the current video block.

70. The method according to claim 69, wherein the third set of conditions comprises: The division depth <= T.

71. The method according to claim 69, wherein the third set of conditions comprises: The division depth >= T.

72. The method according to claim 69, wherein the third set of conditions comprises: The QT division depth <= T.

73. The method according to claim 69, wherein the third set of conditions comprises: The QT division depth >= T.

74. The method according to claim 69, wherein the third set of conditions comprises: The BT division depth >= T.

75. The method according to claim 69, wherein the third set of conditions comprises: The BT division depth <= T.

76. The method according to claim 69, wherein the third set of conditions comprises: The TT division depth >= T.

77. The method according to claim 69, wherein the third set of conditions comprises: The TT division depth <= T.

78. The method according to claim 69, wherein the third set of conditions comprises: The UQT division depth <= T.

79. The method according to claim 69, wherein the third set of conditions comprises: The UQT division depth >= T.

80. The method according to claim 69, wherein the third set of conditions comprises: The MTT division depth <= T.

81. The method according to claim 69, wherein the third set of conditions comprises: The MTT division depth >= T.

82. The method according to any one of claims 69 - 81, wherein the threshold T is signaled from the encoder to the decoder.

83. The method according to claim 82, wherein the threshold T is signaled in a sequence parameter set (SPS), a view parameter set (VPS), a picture parameter set (PPS), a picture header, a slice header, a slice group header, or a slice header.

84. The method according to any one of claims 69 - 81, wherein the threshold T depends on the color component of the current video block.

85. The method according to claim 84, wherein the threshold T is different for the luminance component and the color component of the current video block.

86. The method according to any one of claims 69 - 81, wherein the threshold T depends on whether the luminance coding tree and the chrominance coding tree are separate.

87. The method according to claim 86, wherein if the luminance coding tree and the chrominance coding tree are separate, the threshold T is different for the luminance and chrominance components.

88. The method according to claim 69, wherein the fourth set of conditions comprises: The division depth <= T.

89. The method according to claim 69, wherein the fourth set of conditions comprises: The division depth >= T.

90. The method according to claim 69, wherein the fourth set of conditions comprises: The QT partition depth <= T.

91. The method according to claim 69, wherein the fourth set of conditions comprises: The QT partition depth >= T.

92. The method according to claim 69, wherein the fourth set of conditions comprises: The BT partition depth >= T.

93. The method according to claim 69, wherein the fourth set of conditions comprises: The BT partition depth <= T.

94. The method according to claim 69, wherein the fourth set of conditions comprises: The TT partition depth >= T.

95. The method according to claim 69, wherein the fourth set of conditions comprises: The TT partition depth <= T.

96. The method according to claim 69, wherein the fourth set of conditions comprises: The UQT partition depth <= T.

97. The method according to claim 69, wherein the fourth set of conditions comprises: The UQT partition depth >= T.

98. The method according to claim 69, wherein the fourth set of conditions comprises: The MTT partition depth <= T.

99. The method according to claim 69, wherein the fourth set of conditions comprises: The MTT partition depth >= T.

100. The method according to any one of claims 88 - 99, wherein the threshold T is signaled from the encoder to the decoder.

101. The method according to claim 100, wherein the threshold T is signaled in a sequence parameter set (SPS), a view parameter set (VPS), a picture parameter set (PPS), a picture header, a slice header, a slice group header, or a picture slice header.

102. The method according to any one of claims 88 - 99, wherein the threshold T depends on the color component of the current video block.

103. The method according to claim 102, wherein the threshold T is different for the luminance component and the color component of the current video block.

104. The method according to any one of claims 88 - 99, wherein the threshold T depends on whether the luminance coding - decoding tree and the chrominance coding - decoding tree are separated.

105. The method according to claim 104, wherein if the luminance coding - decoding tree and the chrominance coding - decoding tree are separated, the threshold T is different for the luminance and chrominance components.

106. The method according to any one of claims 69-81 and 88-99 further comprises: Determine to disable UQT partitioning when the depth of a sub - block of the current video block exceeds the allowed UQT partition depth.

107. The method according to claim 1, wherein it is determined whether to enable UQT partitioning on the current video block and / or how to use UQT partitioning according to the position information of the current video block.

108. The method according to claim 107, wherein the position information includes whether the current video block straddles a picture / sub - picture boundary, or a slice boundary, or a slice group boundary.

109. The method according to claim 108, wherein if the current video block straddles the picture / sub - picture boundary, or the slice boundary, or the bottom boundary of the slice group, vertical UQT partitioning is disabled.

110. The method according to claim 108, wherein if the current video block straddles the picture / sub - picture boundary, or the slice boundary, or the bottom boundary of the slice group, horizontal UQT partitioning is disabled.

111. The method according to claim 108, wherein if the current video block straddles the picture / sub - picture boundary, or the slice boundary, or the right boundary of the slice group, vertical UQT partitioning is disabled.

112. The method according to claim 108, wherein if the current video block straddles the picture / sub - picture boundary, or the slice boundary, or the right boundary of the slice group, horizontal UQT partitioning is disabled.

113. The method according to claim 108, further comprising: If the sub - blocks obtained by UQT partitioning of the current video block are completely outside the picture / sub - picture or slice or slice group, omit the sub - blocks during the conversion process.

114. The method according to claim 108, wherein at least part of the sub-blocks obtained by dividing the current video block by the UQT division is outside the picture / sub-picture or slice or slice group, and wherein the sub-block includes a first part outside the picture / sub-picture or slice or slice group and a second part in the picture / sub-picture or slice or slice group.

115. The method according to claim 114, wherein the first part of the sub-block is omitted during the conversion process.

116. The method according to claim 114, wherein the second part of the sub-block is further divided during the conversion process.

117. The method according to claim 114, wherein the second part of the sub-block is encoded / decoded as a coding / decoding unit (CU).

118. The method according to claim 117, wherein whether the second part of the sub-block is encoded / decoded as a CU depends on the width w and height h of the second part, where w and h are integers.

119. The method according to claim 118, wherein if w = 2nw, h = 2nh, then the second part of the sub-block is encoded / decoded as a CU, where nw and nh are integers.

120. The method according to claim 114, further comprising: If any sub-block part obtained by UQT division is partially or completely outside the picture / sub-picture or slice or slice group, then the UQT division is disabled.

121. The method according to any one of claims 107 - 120, wherein when the UQT division or vertical UQT division or horizontal UQT division is disabled, signaling notification of skipping its use is skipped.

122. The method according to claim 1, further comprising: For a second conversion between the current video block and the bitstream of the current video block, determining an asymmetric quadtree UQT division method for dividing the current video block, wherein the division method is selected from: UQTa-H division, UQTb-H division, UQTc-V division, and UQTd-V division, where a, b, c, and d are selected from 1, 2, 3, or 4, wherein UQTa-H division and UQTb-H division are horizontal UQT divisions, and UQTc-V division and UQTd-V division are vertical UQT divisions; and Performing the second conversion based on the determination.

123. The method according to claim 122, wherein for the UQT1-V partition, UQT2-V partition, UQT3-V partition, and UQT4-V partition, a video block having a width W and a height H is divided into four segments, which from left to right include: A first split, having a width W1 and a height H1, a second split, having a width W2 and a height H2, a third split, having a width W3 and a height H3, and a fourth split, having a width W4 and a height H4, wherein for the UQT1-V division, W1 = W / 8, W2 = W / 2, W3 = W / 8, W4 = W / 4, H1 = H2 = H3 = H4 = H, for the UQT2-V division, W1 = W / 8, W2 = W / 2, W3 = W / 4, W4 = W / 8, H1 = H2 = H3 = H4 = H, for the UQT3-V division, W1 = W / 4, W2 = W / 8, W3 = W / 2, W4 = W / 8, H1 = H2 = H3 = H4 = H, and for the UQT4-V division, W1 = W / 8, W2 = W / 4, W3 = W / 2, W4 = W / 8, H1 = H2 = H3 = H4 = H.

124. The method according to claim 122, wherein for the UQT1-H partition, UQT2-H partition, UQT3-H partition, and UQT4-H partition, a video block having a width W and a height H is divided into four segments, which from top to bottom include: The first partition, having a width W1 and a height H1, the second partition, having a width W2 and a height H2, the third partition, having a width W3 and a height H3, and the fourth partition, having a width W4 and a height H4, where for the UQT1-H partition, H1 = H / 8, H2 = H / 2, H3 = H / 8, H4 = H / 4, W1 = W2 = W3 = W4 = W, for the UQT2-H partition, H1 = H / 8, H2 = H / 2, H3 = H / 4, H4 = H / 8, W1 = W2 = W3 = W4 = W, for the UQT3-H partition, H1 = H / 4, H2 = H / 8, H3 = H / 2, H4 = H / 8, W1 = W2 = W3 = W4 = W, and for the UQT4-H partition, H1 = H / 8, H2 = H / 4, H3 = H / 2, H4 = H / 8, W1 = W2 = W3 = W4 = W.

125. The method according to claim 122, wherein a = c = 2, and b = d = 4.

126. The method according to any one of claims 122-125, wherein when the current video block is allowed not to be partitioned, a binary number having one or more contexts is signaled to indicate whether the current video block is partitioned.

127. The method according to claim 126, wherein at least one of QT partition, BT-H partition, BT-V partition, TT-H partition, TT-V partition, UQTa-H partition, UQTb-H partition, UQTc-V partition, and UQTd-V partition is applicable to the current video block.

128. The method according to claim 126, wherein when the current video block is partitioned, a binary number having one or more contexts is signaled to indicate whether the current video block is partitioned by QT partition or other partitions.

129. The method according to claim 128, wherein when the current video block is partitioned by QT partition, at least one of BT-H partition, BT-V partition, TT-H partition, TT-V partition, UQTa-H partition, UQTb-H partition, UQTc-V partition, and UQTd-V partition is applicable to the current video block.

130. The method according to claim 128, wherein when the current video block is partitioned by a partition other than QT partition, and at least one of BT-H partition, TT-H partition, UQTa-H partition, UQTb-H partition is applicable to the current video block, and at least one of BT-V partition, TT-V partition, UQTc-V partition, and UQTd-V partition is applicable to the current video block, a binary number having one or more contexts is signaled to indicate whether the current video block is horizontally partitioned or vertically partitioned.

131. The method according to claim 130, wherein when the current video block is horizontally partitioned by a partition other than a horizontal QT partition, and at least one of a BT-H partition and a TT-H partition is available, and at least one of a UQTa-H partition and a UQTb-H partition is applicable in the current video block, a binary number having one or more contexts is signaled to indicate whether the current video block is partitioned by a UQT partition.

132. The method according to claim 130, wherein when the current video block is vertically partitioned by a partition other than a vertical QT partition, and at least one of a BT-V partition and a TT-V partition is available, and at least one of a UQTc-V partition and a UQTd-V partition is applicable in the current video block, a binary number having one or more contexts is signaled to indicate whether the current video block is partitioned by a UQT partition.

133. The method according to claim 131, wherein when the block is horizontally partitioned by a UQT partition, and both a UQTa-H partition and a UQTb-H partition are applicable in the current video block, a binary number having one or more contexts is signaled to indicate whether the current video block is partitioned by a UQTa-H partition or a UQTb-H partition.

134. The method according to claim 132, wherein when the block is vertically partitioned by a UQT partition, and both a UQTc-V partition and a UQTd-V partition are applicable in the block, a binary number having one or more contexts is signaled to indicate whether the current video block is partitioned by a UQTc-V partition or a UQTd-V partition.

135. The method according to claim 122, wherein one or more sub-blocks partitioned from the current video block by a UQTa-H partition are not allowed to be further partitioned by a TT-H partition.

136. The method according to claim 122, wherein one or more sub-blocks partitioned from the current video block by a UQTb-H partition are not allowed to be further partitioned by a TT-H partition.

137. The method according to claim 135 or 136, wherein the sub-blocks partitioned from the current video block having a height equal to H / 2 are not allowed to be further partitioned by a TT-H partition, where H represents the height of the current video block.

138. The method according to claim 122, wherein one or more sub-blocks partitioned from the current video block by a UQTc-V partition are not allowed to be further partitioned by a TT-V partition.

139. The method according to claim 122, wherein one or more sub-blocks partitioned from the current video block by a UQTd-V partition are not allowed to be further partitioned by a TT-V partition.

140. The method according to claim 138 or 139, wherein the sub-blocks partitioned from the current video block having a width equal to W / 2 are not allowed to be further partitioned by a TT-V partition, where W represents the width of the current video block.

141. The method according to claim 122, wherein one or more sub-blocks divided from the current video block by UQTa-H are not allowed to be further divided by BT-H.

142. The method according to claim 122, wherein one or more sub-blocks divided from the current video block by UQTb-H are not allowed to be further divided by BT-H.

143. The method according to claim 122, wherein one or more sub-blocks divided from the current video block by UQTc-V are not allowed to be further divided by BT-V.

144. The method according to claim 122, wherein one or more sub-blocks divided from the current video block by UQTd-V are not allowed to be further divided by BT-V.

145. The method according to claim 122, wherein one or more sub-blocks divided from the current video block by UQTa-H are not allowed to be further divided by UQT-H.

146. The method according to claim 122, wherein one or more sub-blocks divided from the current video block by UQTb-H are not allowed to be further divided by UQT-H.

147. The method according to claim 122, wherein one or more sub-blocks divided from the current video block by UQTc-V are not allowed to be further divided by UQT-V.

148. The method according to claim 122, wherein one or more sub-blocks divided from the current video block by UQTd-V are not allowed to be further divided by UQT-V.

149. The method according to claim 122, wherein one or more sub-blocks divided from the current video block by UQTa-H are not allowed to be further divided.

150. The method according to claim 122, wherein one or more sub-blocks divided from the current video block by UQTb-H are not allowed to be further divided.

151. The method according to claim 122, wherein one or more sub-blocks divided from the current video block by UQTc-V are not allowed to be further divided.

152. The method according to claim 122, wherein one or more sub-blocks divided from the current video block by UQTd-V are not allowed to be further divided.

153. The method according to claim 122, wherein one or more sub-blocks divided from the current video block by one of UQTa-H and UQTb-H are not allowed to be further divided.

154. The method according to claim 122, wherein one or more sub-blocks divided from the current video block by one of UQTa-H and UQTb-H are not allowed to be further horizontally divided.

155. The method according to claim 122, wherein one or more sub-blocks divided from the current video block by one of UQTc-V and UQTd-V are not allowed to be further divided.

156. The method according to claim 122, wherein one or more sub-blocks partitioned from the current video block in one of the UQTc-V partition and the UQTd-V partition are not allowed to be further vertically partitioned.

157. The method according to claim 122, wherein one or more sub-blocks partitioned from the current video block in the UQTa-H partition are not allowed to be further partitioned in the EQT-H partition.

158. The method according to claim 122, wherein one or more sub-blocks partitioned from the current video block in the UQTb-H partition are not allowed to be further partitioned in the EQT-H partition.

159. The method according to claim 122, wherein one or more sub-blocks partitioned from the current video block in the UQTc-V partition are not allowed to be further partitioned in the EQT-H partition.

160. The method according to claim 122, wherein one or more sub-blocks partitioned from the current video block in the UQTd-V partition are not allowed to be further partitioned in the EQT-H partition.

161. The method according to claim 122, wherein one or more sub-blocks partitioned from the current video block in the UQTa-H partition are not allowed to be further partitioned in the EQT-V partition.

162. The method according to claim 122, wherein one or more sub-blocks partitioned from the current video block in the UQTb-H partition are not allowed to be further partitioned in the EQT-V partition.

163. The method according to claim 122, wherein one or more sub-blocks partitioned from the current video block in the UQTc-V partition are not allowed to be further partitioned in the EQT-V partition.

164. The method according to claim 122, wherein one or more sub-blocks partitioned from the current video block in the UQTd-V partition are not allowed to be further partitioned in the EQT-V partition.

165. The method according to claim 122, wherein the partitioning method is selected from: the UQTa-H partition and the UQTc-V partition.

166. The method according to claim 165, wherein a = c = 4.

167. The method according to claim 165 or 166, wherein when the current video block is allowed not to be partitioned, and at least one of the QT partition, the BT-H partition, the BT-V partition, the TT-H partition, the TT-V partition, the UQTa-H partition, and the UQTc-V partition is applicable to the current video block, a binary number having one or more contexts is signaled to indicate whether the current video block is partitioned.

168. The method according to claim 165 or 166, wherein when the current video block is partitioned, and the partitioning method includes the QT partition, and at least one of the BT-H partition, the BT-V partition, the TT-H partition, the TT-V partition, the UQTa-H partition, and the UQTc-V partition is applicable to the current video block, a binary number having one or more contexts is signaled to indicate whether the current video block is partitioned by the QT partition or other partitions.

169. The method according to claim 165 or 166, wherein when the current video block is partitioned by a partition other than the QT partition, and at least one of the BT-H partition, the TT-H partition, and the UQTa-H partition is applicable in the current video block, and at least one of the BT-V partition, the TT-V partition, and the UQTc-V partition is applicable in the current video block, a binary number having one or more contexts is signaled to indicate whether the current video block is vertically partitioned or horizontally partitioned.

170. The method according to claim 165 or 166, wherein when the current video block is horizontally partitioned by a partition other than the QT partition, and at least one of the BT-H partition and the TT-H partition is available, and the UQTa-H partition is applicable in the current video block, a binary number having one or more contexts is signaled to indicate whether the current video block is partitioned by the UQT partition.

171. The method according to claim 165 or 166, wherein when the current video block is vertically partitioned by a partition other than the QT partition, and at least one of the BT-V partition and the TT-V partition is available, and the UQTc-V partition is applicable in the current video block, a binary number having one or more contexts is signaled to indicate whether the current video block is partitioned by the UQT partition.

172. The method according to claim 122, wherein one or more sub-blocks partitioned from the current video block by the UQTa-H partition are not allowed to be further partitioned by the TT-H partition.

173. The method according to claim 172, wherein, A sub-block having a height equal to H / 2 partitioned from the current video block is not allowed to be further partitioned by the TT-H partition, where H represents the height of the current video block.

174. The method according to claim 122, wherein one or more sub-blocks partitioned from the current video block by the UQTc-V partition are not allowed to be further partitioned by the TT-V partition.

175. The method according to claim 174, wherein a sub-block having a width equal to W / 2 partitioned from the current video block is not allowed to be further partitioned by the TT-V partition, where W represents the width of the current video block.

176. The method according to claim 122, wherein one or more sub-blocks partitioned from the current video block by the UQTa-H partition are not allowed to be further partitioned by the BT-H partition.

177. The method according to claim 122, wherein one or more sub-blocks partitioned from the current video block by the UQTc-V partition are not allowed to be further partitioned by the BT-V partition.

178. The method according to claim 122, wherein one or more sub-blocks partitioned from the current video block by the UQTa-H partition are not allowed to be further partitioned by the UQT-H partition.

179. The method according to claim 122, wherein one or more sub-blocks partitioned from the current video block by the UQTc-V partition are not allowed to be further partitioned by the UQT-V partition.

180. The method according to any one of claims 122-125, 135-136, 138-139, 141-166, 172-179, wherein the second transformation includes generating the current video block from the bitstream.

181. The method according to any one of claims 122-125, 135-136, 138-139, 141-166, 172-179, wherein the second transformation includes generating the bitstream from the current video block.

182. A video decoding device, comprising a processor configured to implement the method according to any one of claims 1 to 179.

183. A video encoding device, comprising a processor configured to implement the method according to any one of claims 1 to 179.

184. A computer program product having computer code stored thereon, which when executed by a processor causes the processor to implement the method according to any one of claims 1 to 179.

Citation Information

Patent Citations

  • Method of processing video signal and device for same

    US20180139453A1