WO2020056760A1 - Sélection de transformée pour un bloc de petite taille - Google Patents

Sélection de transformée pour un bloc de petite taille Download PDF

Info

Publication number
WO2020056760A1
WO2020056760A1 PCT/CN2018/107089 CN2018107089W WO2020056760A1 WO 2020056760 A1 WO2020056760 A1 WO 2020056760A1 CN 2018107089 W CN2018107089 W CN 2018107089W WO 2020056760 A1 WO2020056760 A1 WO 2020056760A1
Authority
WO
WIPO (PCT)
Prior art keywords
preset value
equal
determining
message
luma
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2018/107089
Other languages
English (en)
Inventor
Jicheng An
Yuchen SUN
Jian Lou
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to PCT/CN2018/107089 priority Critical patent/WO2020056760A1/fr
Priority to CN201910900765.3A priority patent/CN110944174B/zh
Publication of WO2020056760A1 publication Critical patent/WO2020056760A1/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Definitions

  • Block-based video coding divides the video data into video blocks and then encode the video blocks using block-based compression techniques.
  • the video blocks are encoded using one or more encoding techniques as well as data compression techniques.
  • Video encoding usually involves intra-prediction, inter-prediction, motion information (including inter prediction direction, reference index, and motion vectors, etc. ) , transform, quantization, coefficient coding, etc.
  • the minimum allowed luminance (luma) Coding Block (CB) size is 4 ⁇ 4 (in unit of samples) . That is, the minimum allowed width and height of the luma CB are 4 luma samples. However, in some video content full of detailed texture such as the screen content video, a smaller block partitioning size may be required. In such a scenario, the current minimum allowed luma CB size, i.e., 4 ⁇ 4, is not efficient enough. Moreover, the minimum chroma CB size is 2 ⁇ 2 chroma samples for the 4: 2: 0 sample format. However, the 2 ⁇ 2 chroma CB is difficult for hardware implementation. In addition, the minimum chroma CB size may not be adjusted independently in P and B slices.
  • the intra or inter prediction mode, intra prediction direction, motion information (including inter prediction direction, reference index, and motion vectors, etc. ) , and CU level information may be all signaled for each luma CB and each chroma CB respectively.
  • coding the motion information of the luma CB and the chroma CB that share the same region independently may be inefficient.
  • FIG. 1 illustrates an example diagram showing a picture divided into multiple coding tree units (CTUs) .
  • CTUs coding tree units
  • FIG. 2 illustrates example diagrams of four splitting types in a multitype tree structure.
  • FIG. 3 illustrates an example diagram of a coding unit (CU) .
  • FIG. 4 illustrates an example diagram of signaling mechanism of partition information of a quaternary tree (quadtree) with nested multitype tree coding tree structure.
  • FIG. 5 illustrates an example diagram showing a CTU divided into multiple CUs by the quadtree with nested multitype tree coding tree structure.
  • FIG. 6 illustrates an example block diagram showing how a luma block is partitioned into several luma CBs.
  • FIGs. 7A and 7B illustrate an example flowchart of a process for partitioning a luma block into several luma CBs using a quaternary/binary/ternary tree.
  • FIG. 8 illustrates an example diagram of a process of multiple transform selection (MTS) .
  • FIG. 9 illustrates an example diagram where Position Dependent intra Prediction Combination (PDPC) is applied.
  • PDPC Position Dependent intra Prediction Combination
  • FIG 10A illustrates an example diagram of a four-sample long vertical block boundary formed by two adjacent CBs.
  • FIG. 10B illustrates an example diagram of a two-sample long vertical block boundary formed by two adjacent CBs.
  • FIGs. 11A, 11B, 11C, and 11D illustrate an example flowchart of a deblocking filtering process.
  • FIG. 12A illustrates an example diagram showing the dependence between the threshold ⁇ (beta) and the quantuzation parameter (QP) .
  • FIG. 12B illustrates an example diagram showing the dependence between the threshold parameter tc and QP.
  • FIG. 13 illustrates an example flowchart of a process for applying separate block partitioning trees to the luma CB and the chroma CB.
  • FIG. 14 illustrates an example diagram showing how to apply separate block partitioning trees to the luma CB and the chroma CB under the separation node.
  • FIG. 15 illustrates an example diagram of how to conduct the motion information prediction of the chroma CB by copying the motion information of the collocated luma CB.
  • FIG. 16 illustrates an example flowchart of a process for conducting the motion information prediction of the chroma CB by copying the motion information of the collocated luma block.
  • FIG. 17. illustrates an example diagram of how to conduct the motion information prediction of the chroma CB by selecting one of the motion information candidates of the collocated luma CB.
  • FIG. 18 illustrates an example flowchart of a process for conducting the motion information prediction of the chroma CB by selecting one of the motion information candidates of the collocated luma CB.
  • FIG. 19 illustrates an example diagram of an intra luma CB.
  • FIG. 20 illustrates an example flowchart of the signaling/parsing mechanism of the transform of the intra luma CB in FIG. 19.
  • FIG. 21 illustrates an example diagram of an intra luma CB.
  • FIG. 22 illustrates an example flowchart of the signaling/parsing mechanism of the transform of the intra luma CB in FIG. 21.
  • FIG. 23A illustrates an example system for implementing the processes and mechanisms described with reference to FIGs 1-12.
  • FIG. 23B illustrates an example diagram of the deblocking filtering decision making module in FIG. 23A.
  • FIG. 23C illustrates an example diagram of the deblocking filtering performing module in FIG. 23A.
  • FIG. 23D illustrates an example diagram of the normal filtering module in FIG. 23C.
  • FIG. 24 illustrates an example system for implementing the processes and mechanisms described with reference to FIGs 13-18.
  • FIG. 25 illustrates an example system for implementing the processes and mechanisms described with reference to FIGs 19-22.
  • Apparatuses and methods discussed herein are directed to image processing, and more specifically to small size block coding, block partitioning tree separation under a node, and transform selection for the small size block.
  • a luma block has width equal to 8 may be determined. If the luma block has the width equal to 8, a first syntax element may be provided to indicate that the luma block is vertically split. Whether the luma block has height equal to 8 may be determined. If the luma block has the height equal to 8, a second syntax element may be provided to indicate that the luma block is horizontally split. Whether the luma block has the width equal to 4 may be determined. If the luma block has the width equal to 4, a third syntax element may be provided to indicate that the luma block is vertically split. Whether the luma block has the height equal to 4 may be determined. If the luma block has the height equal to 4, a fourth syntax element may be provided to indicate that the luma block is horizontally split.
  • the apparatuses and methods discussed herein may also be usable for block partitioning tree separation under a node. Whether the following conditions are met for a node may be checked, i.e., (a) both width and height of a luma CB of the node is not smaller than a separation size; and (b) width or height of the luma CB of at least one child node of the node is smaller than the separation size. If the conditions (a) and (b) are both met for the node, the node may be determined as a separation node. If the node is determined as the separation node, a first block partitioning tree may be applied to the luma CB of the node while a second block partitioning tree may be applied to a chroma CB of the node.
  • the apparatuses and methods discussed herein may additionally be usable for transform selection for the small size block. Whether predetermined conditions are met for a coding block may be checked. Upon determining that the predetermined conditions are met for the CB, a first message may be parsed from bitstream. Whether the first message meet a first preset condition may be determined. If the first message meets the first preset condition, the width and the height of the CB may be checked. If the width of the CB is equal to a first value, DST-VII may be used for the transform of the CB in a horizontal direction. If the height of the CB is equal to the first value, DST-VII is used for the transform of the CB in a vertical direction.
  • FIG. 1 illustrates an example diagram showing a picture 100 divided into multiple CTUs.
  • the picture 100 may be divided into a sequence of CTUs, for example, CTUs 102 and 104.
  • FIG. 1 denotes two CTUs 102 and 104, there may be other numbers of CTUs.
  • each CTU may consist of an N ⁇ N block of luma samples together with two corresponding blocks of chroma samples.
  • the maximum allowed size of the luma block in CTU may be specified to be 128 ⁇ 128 in the developing H. 266/VVC standard.
  • the sizes such as length, width, and height discussed herein may be in unit of the number of samples.
  • a CTU may be split into CUs by using a quadtree as the coding tree to adapt to various local characteristics.
  • the decision whether to code a picture area using inter-picture (temporal) or intra-picture (spatial) prediction may be made at the CU level.
  • Each CU can be further split into one, two, or four prediction units (PUs) according to the PU splitting type. Inside one PU, the same prediction process may be applied and the relevant information may be transmitted to the decoder on a PU basis.
  • a leaf node CU may be partitioned into transform units (TUs) according to another quadtree similar to the coding tree for the CU.
  • One feature of the HEVC structure may be the multiple partition conceptions including CU, PU, and TU.
  • VVC/H. 266 development a quadtree with nested multitype tree structure using binary and ternary splitting segmentation structure replaces the concepts of multiple partition unit types. That is, the separation of the CU, PU and TU concepts are removed except as needed for CUs that have a size too large for the maximum transform length. Also, VVC/H. 266 development supports more flexibility for CU partition shapes. In the coding tree, the CU may have either a square or rectangular shape. The CTU may be first partitioned by the quadtree. Then, the quadtree leaf nodes may be further partitioned by a multitype tree.
  • FIG. 2 illustrates example diagrams of four splitting types in a multitype tree, i.e., vertical binary splitting (SPLIT_BT_Ver 202) , horizontal binary splitting (SPLIT_BT_Hor 204) , vertical ternary splitting (SPLIT_TT_Ver 206) , and horizontal ternary splitting (SPLIT_TT_Hor 208) .
  • the multitype tree leaf node may be referred as CU.
  • the segmentation may be used for prediction and transform process without any further partition.
  • the CU, PU, and TU have the same block size in the quadtree with nested multitype tree coding tree. The exception may occur when maximum supported transform length is smaller than the width or height of the color component of the CU.
  • FIG. 3 illustrates an example diagram of a CU 300.
  • the CU 300 may include one luma coding block (CB) 302 and two chroma CBs, i.e., Cb CB 304 and Cr CB 306.
  • the CU 300 may include different color components (unless the video is monochrome –i.e., having only one color component) .
  • the parameters of the quadtree with nested multitype tree coding tree structure may be defined and specified by Sequence Parameter Set (SPS) syntax elements.
  • SPS Sequence Parameter Set
  • the root node size of the quaternary tree (CTU size) may be set as 128 ⁇ 128 luma samples with two corresponding 64 ⁇ 64 blocks of 4: 2: 0 chroma samples.
  • the minimum allowed quaternary tree leaf node size (MinQTSize) may be set as 16 ⁇ 16.
  • the maximum allowed binary tree root node size (MaxBtSize) may be set as 128 ⁇ 128.
  • the maximum allowed ternary tree root node size (MaxTtSize) may be set as 64 ⁇ 64.
  • the minimum allowed binary tree leaf node size (MinBtSize) and the minimum allowed ternary tree leaf node size (MinTtSize) , for both width and height, may be set as 4 ⁇ 4.
  • the maximum allowed hierarchy depth of multitype tree splitting from a quadtree leaf (MaxMttDepth) may be set as 4.
  • the quadtree partitioning may be applied to the CTU first to generate quadtree leaf nodes.
  • the quadtree leaf nodes may have a size from 16 ⁇ 16 (i.e., the MinQTSize) to 128 ⁇ 128 (i.e., the CTU size) .
  • the leaf QT node may not be further split by the ternary tree because the size exceeds the MaxTtSize (i.e., 64 ⁇ 64) . Otherwise, the leaf quadtree node may be further partitioned by the multitype tree. Therefore, the leaf node of the quadtree may also be the root node of the multitype tree and may have multitype tree depth (MTTDepth) as 0. When the multitype tree depth reaches MaxMttDepth (i.e., 4) , no further splitting may be considered. When the multitype tree node has width equal to MinBtSize and smaller or equal to 2 *MinTtSize, no further horizontal splitting may be considered. Similarly, when the multitype tree node has height equal to MinBtSize and smaller or equal to 2 *MinTtSize, no further vertical splitting may be considered.
  • MTTDepth multitype tree depth
  • FIG. 4 illustrates an example diagram of signaling mechanism 400 of partition information in a quadtree with nested multitype tree coding tree structure.
  • a CTU or a quadtree (QT) node may be treated as a root node, i.e., CTU/QT_node 402.
  • the CTU/QT_node 402 may be partitioned by the quadtree.
  • a QT_split_flag 404 may be signaled to indicate whether the CTU/QT_node 402 needs to be split by the quadtree. If the QT_split_flag 404 is 1, the CTU/QT_node 402 may be treated as a QT_node 406.
  • the CTU/QT_node 402 may be treated as a QT_leaf_node/multitype tree (MTT) _node 408 to be split by the multitype tree.
  • MTT multitype tree
  • the process may go back to the root node 402 in a recursive manner.
  • an MTT_split_flag 410 may be signaled to indicate whether the QT_leaf_node/MTT_node 408 needs to be further partitioned by multitype tree. If the MTT_split_flag 410 is 1, the QT_leaf_node/MTT_node 408 may be treated as an MTT_node 412 to be further partitioned. If the MTT_split_flag 410 is 0, the QT_leaf_node/MTT_node 408 may be treated as an MTT_leaf_node 414, which may not be further partitioned.
  • an MTT_split_Vertical_flag 416 may be signaled to indicate the splitting direction. If the MTT_split_Vertical_flag 416 is 1, the MTT_node 412 may be treated as an MTT_node 418 for vertical splitting. If the MTT_split_Vertical_flag 416 is 0, the MTT_node 412 may be treated as an MTT_node 420 for horizontal splitting.
  • an MTT_split_binary_flag 422 may be signaled to indicate whether the split is a binary split or a ternary split. If the MTT_split_binary_flag 422 is 1, the MTT_node 418 may be treated as an MTT_node with BT_Ver split 426 for binary tree vertical splitting. If the MTT_split_binary_flag 422 is 0, the MTT_node 418 may be treated as an MTT_node with TT_Ver split 428 for ternary tree vertical splitting.
  • an MTT_split_binary_flag 424 may be signaled to indicate whether the split may be a binary split or a ternary split. If the MTT_split_binary_flag 424 is 1, the MTT_leaf_node 420 may be treated as an MTT_node with BT_Hor split 430 for binary tree horizontal splitting. If the MTT_split_binary_flag 424 is 0, the MTT_leaf_node 420 may be treated as an MTT_node with TT_Hor split 432 for ternary tree horizontal splitting.
  • the MTT slitting mode of a CU may be derived as shown in Table 1.
  • FIG. 5 illustrates an example diagram showing a CTU 500 divided into multiple CUs by the quadtree with nested multitype tree coding tree structure.
  • bold block edges may represent quadtree partitioning, while other light edges may represent multitype tree partitioning.
  • the quadtree with nested multitype tree coding tree structure provides a content-adaptive coding tree structure comprised of CUs.
  • the size of the CU may be as large as the CTU or as small as 4 ⁇ 4 in unit of luma samples.
  • the maximum chroma CB size may be 64 ⁇ 64 and the minimum chroma CB size may be 2 ⁇ 2.
  • the minimum allowed luma coding block size may be 4 ⁇ 4.
  • no vertical splitting may be implicit. That is, the vertical (including quaternary/binary/ternary tree) split flag may not be signaled.
  • no vertical ternary splitting may be implicit.
  • no horizontal splitting may be implicit.
  • no horizontal ternary splitting may be implicit.
  • the minimum allowed luma CB width and height may be 2. That is, the 2 ⁇ N and N ⁇ 2 luma CB size may be supported, where N may be power of 2, for example, 2, 4, 8, 16, 32, 64, 128, . . . Small size block may be defined as necessary, for example, 2 ⁇ N or N ⁇ 2 block.
  • FIG. 6 illustrates an example block diagram 600 showing how a luma block 602 is partitioned into several luma CBs.
  • the 8 ⁇ 4 luma block 602 may be split by the vertical ternary tree (Ver. TT split) into 3 luma blocks, i.e., two 2 ⁇ 4 luma blocks 604 and 606, and one 4 ⁇ 4 luma block 608.
  • the first 2 ⁇ 4 luma block 604 may not be further split and may be a 2 ⁇ 4 CB.
  • the 4 ⁇ 4 luma block 608 may be further split by the horizontal binary tree (Hor. BT split) into two 2 ⁇ 4 CBs 610 and 612.
  • the second 2 ⁇ 4 luma block 606 may be further split by the horizontal binary tree (Hor. BT split) into two 2 ⁇ 2 CBs 614 and 616.
  • FIGs. 7A and 7B illustrate an example flowchart of a process 700 for partitioning a luma block into several luma CBs using a quaternary/binary/ternary tree.
  • whether the luma block has width equal to 8 may be determined, and if the luma block has the width equal to 8, a first syntax element may be provided to indicate whether the luma block needs to be vertically split at block 704.
  • a second syntax element may be provided to indicate whether the luma block needs to be horizontally split, for example, by the ternary tree at block 708.
  • a third syntax element may be provided to indicate whether the luma block needs to be vertically split at block 712.
  • a fourth syntax element may be provided at block 716 to indicate whether the luma block needs to be horizontally split, for example, by the binary tree.
  • the luma block may be split based on the first, second, third, and fourth syntax element to obtain 2 ⁇ N or N ⁇ 2 luma CBs.
  • the 2 ⁇ N or N ⁇ 2 luma CBs may be formed by the quaternary/binary/ternary tree partitioning structure.
  • the small luma CBs (for example, 2 ⁇ N or N ⁇ 2 luma CB) may be supported.
  • the coding efficiency of the video full of detailed content such as the screen content video may be significantly improved.
  • the coding performance may also be improved.
  • the prediction, transform, coefficients coding, and deblocking filter may be modified accordingly.
  • the difference between the original block and the prediction thereof may be transformed by a linear spatial transform.
  • MTS may be used.
  • the transform type may be explicitly selected among Discrete Cosine Transform of Type II (DCT-II) , Discrete Sine Transform of type VII (DST-VII) , and Discrete Cosine Transform of type VIII (DCT-VIII) .
  • Table 2 shows the basis functions of DCT-II, DCT-VIII and DST-VII for N-point Input.
  • the transform matrices may be quantized more accurately than the transform matrices in the HEVC.
  • all the coefficients may be 10-bit.
  • FIG. 8 illustrates an example diagram of a process 800 of MTS.
  • whether the CB has a non-zero coefficient may be determined. If the CB has the non-zero coefficient, whether a first flag is 1 or 0 may be determined at block 804. If the CB does not have non-zero coefficient, the process 800 may proceed to an end at block 806
  • DCT-II may be used for both vertical and horizontal directions at block 808.
  • the first flag is 1, whether the CB is an intra CB or an inter CB may be determined at block 810. If the CB is the intra CB, whether the number of non-zero coefficients of the CB is greater than two may be determined at block 812.
  • the process 800 may proceed to block 816.
  • DST-VII may be used horizontally and vertically.
  • a second flag and a third flag may be provided.
  • the second flag may indicate that any of DST-VII or DCT-VIII may be used for the horizontal direction.
  • the third flag may indicate that any of DST-VII or DCT-VIII may be used for the vertical direction.
  • the number of luma transform candidates for 4, 8, 16, and 32-point transforms may be three (i.e., DCT-II, DST-VII, and DST-VIII) .
  • DCT-II DCT-II
  • DST-VII DST-VIII
  • 2 ⁇ N or N ⁇ 2 CB it may not be necessary to have many transform candidates.
  • the number of transform candidates for 2 ⁇ N or N ⁇ 2 CB may be reduced to only one or two transform candidates; only one transform candidate DCT-II may be used for 2 ⁇ N or N ⁇ 2 CB; only DCT-II may be used for the 2-point transform of the 2 ⁇ N or N ⁇ 2 CB in both horizontal and vertical directions; and only DST-VII may be used for the 2-point transform of the 2 ⁇ N or N ⁇ 2 CB. There is no flag to indicate whether the DCT-II, DST-VII, or DCT-VII is used. Also, a transform skip mode may be supported by the 2-point side of 2 ⁇ N or N ⁇ 2 CB.
  • the transform coefficients may be scaled, quantized, and entropy coded.
  • the position of the last non-zero transform coefficient, a significance map, sign bits and levels for the transform coefficients may be transmitted.
  • the significance map may be derived for significance groups relating to the fixed size 4 ⁇ 4 sub-blocks. For all groups having at least one coefficient preceding the last coefficient position, a significant group flag specifying a non-zero coefficient group may be transmitted, followed by coefficient significance flags for each coefficient prior to the indicated position of the last significant coefficient.
  • the context models for the significant coefficient flags are dependent on the coefficient position as well as the values of the right and the bottom significant group flags.
  • the significance group size in residual coding of the 2 ⁇ N or N ⁇ 2 CB is smaller than that of other CBs. The other CBs may have the same significance group size.
  • the significant group may relate to the fixed size of 4 ⁇ 4 sub-block, the significant group may work only for the CB size larger than 4 ⁇ 4, but not for 2 ⁇ N or N ⁇ 2 CB.
  • the sub-block size 2 ⁇ 2 may be used as the significance group. That is, for all groups having at least one coefficient preceding the last coefficient position, a significant group flag specifying a non-zero coefficient group may be transmitted.
  • the tool sign hiding may be disabled.
  • the number of intra prediction angles may be 85 for the luma CB.
  • the number of prediction angles in the 2-point side may be less, for example, 40-70.
  • FIG. 9 illustrates an example diagram 900 where a Position Dependent intra Prediction Combination (PDPC) is applied.
  • the PDPC is a tool used in the H. 266/VVC.
  • the decoder may perform intra-prediction and then use neighboring pixels to refine the predictor pixels.
  • pred (x, y) 902 may be the original pixel generated by intra-prediction.
  • the decoder may derive a new prediction value, pred’ (x, y) , by the weighted average of pred (x, y) 902 and the neighboring pixels, R -1, -1 904, R x, -1 906, and R -1, y 908.
  • the PDPC may be disabled or simplified.
  • An example of a PDPC simplification may be that, if the horizontal side of the block is equal to 2, the decoder may derive a new prediction value, pred” (x, y) , by the weighted average of pred (x, y) 902 and the two neighboring pixels only, for example, (R x, -1 906 and R -1, y 908) or (R -1, -1 904 and R -1, y 908) .
  • FIG 10A illustrates an example diagram of a four-sample long vertical block boundary formed by two adjacent coding blocks P 1002 and Q 1004.
  • the coding block P 1002 may include lines 0, 1, 2, and 3.
  • Line 0 of the coding block P 1002 may include samples p3 0 , p2 0 , p1 0 , and p0 0 .
  • Line 1 of the coding block P 1002 may include samples p3 1 , p2 1 , p1 1 , and p0 1 .
  • Line 2 of the coding block P 1002 may include samples p3 2 , p2 2 , p1 2 , and p0 2 .
  • Line 3 of the coding block P 1002 may include samples p3 3 , p2 3 , p1 3 , and p0 3 .
  • the coding block Q 1004 may include lines 0, 1, 2, and 3.
  • Line 0 of the coding block Q 1004 may include samples q0 0 , q1 0 , q2 0 , and q3 0 .
  • Line 1 of the coding block Q 1004 may include samples q0 1 , q1 1 , q2 1 , and q3 1 .
  • Line 2 of the coding block Q 1004 may include samples q0 2 , q1 2 , q2 2 , and q3 2 .
  • Line 3 of the coding block Q 1004 may include samples q0 3 , q1 3 , q2 3 , and q3 3 .
  • FIG. 10B illustrates an example diagram of a two-sample long vertical block boundary formed by two adjacent coding block P 1006 and Q 1008.
  • the coding block P 1006 may include line 0 and line 1.
  • Line 0 of the coding block P 1006 may include p3 0 , p2 0 , p1 0 , and p0 0 .
  • Line 1 of the coding block P 1006 may include p3 1 , p2 1 , p1 1 , and p0 1 .
  • the coding block Q 1008 may include line 0 and line 1.
  • Line 0 of the coding block Q 1008 may include samples q0 0 , q1 0 , q2 0 , and q3 0 .
  • Line 1 of the coding block Q 1008 may include samples q0 1 , q1 1 , q2 1 , and q3 1 .
  • FIGs. 11A-11D illustrate an example flowchart 1100 of a deblocking filtering (DBF) process.
  • the DBF may be used to reduce the blocking artifacts due to block-based coding.
  • the DBF may be applied to all samples adjacent to a boundary except for the case where the boundary is the picture boundary.
  • the DBF in the developing H. 266/VVC may be similar to that of the H. 265/HEVC. For example, edges of the 4 ⁇ 4, 2 ⁇ N, or N ⁇ 2 luma CB may be filtered by the deblocking process.
  • the deblocking filtering process may include the following.
  • a deblocking filtering on/off decision for each boundary may be made, and the deblocking filtering operation may be performed at block 1104.
  • the block 1102 may further include the following.
  • the boundary strength (BS) of the boundary may be derived as 0, 1, or 2, and whether the BS is greater than 0 may be determined at block 1108. If the BS is greater than 0, conditions defined by the expression may be checked at block 1110 so as to decide whether the deblocking filtering need to be applied or not.
  • the conditions may be defined by expression (1) below.
  • the first and fourth lines in a block boundary of length 4 may be evaluated.
  • line 0 and line 3 of the coding block P 1002 and the coding block Q 1004 marked by dashed lines in FIG. 10A may be used to define the conditions:
  • may be a threshold and may depend on the QP which is used to adjust the quantization step for quantizing the prediction error coefficients.
  • the dependence between the threshold ⁇ and the QP may be shown in FIG. 12A as described later.
  • the conditions may be defined by expression (2) below.
  • line 0 of the coding block P 1006 and line 0 of the coding block Q 1008 marked by dashed lines in FIG. 10B may be evaluated and used to define the conditions:
  • may be a threshold, whose value may be the same as that in expression (1) .
  • the deblocking filtering decision may be made.
  • the block 1104 may further include the following.
  • conditions may be checked so as to make a normal or strong filtering decision.
  • the normal filtering mode there may be two deblocking filtering modes, namely, the normal filtering mode and the strong filtering mode.
  • the DBF may switch between the normal and the strong filtering modes based on the local signal characteristics. Whether to apply strong or normal filtering mode may be determined based on the lines across the block boundary of four samples.
  • the expressions (3) , (4) , and (5) below using information from line i may be used to define the conditions:
  • i may be the line number
  • tc may be the threshold parameter.
  • the threshold parameter tc depends on a QP. The dependence between the tc and the QP may be shown in FIG. 12B as described later.
  • the strong filtering may be applied to the block boundary if the conditions defined by the above expressions (3) , (4) and (5) are met.
  • the strong filtering may be applied to the block boundary.
  • the block 1118 may further include the following to make the normal filtering mode decision.
  • the normal filtering has two modes differing in the number of pixels being modified on each side of the block boundary. One of the two modes may be selected for each boundary.
  • conditions may be checked so as to make a normal filtering mode decision regarding coding block P.
  • the conditions may be defined by the expression (6) below:
  • the conditions may be defined by the expression (7) below:
  • may be a threshold, whose value may be the same as that in expression (1) .
  • the two nearest rows of pixels to the block boundary may be modified in the coding block P.
  • the two nearest rows of pixels to the block boundary may be modified in the coding block P 1002 if the expression (6) is true, for example, rows p0i and p1i, where i is the line number.
  • the two nearest rows of pixels to the block boundary may be modified in coding block P 1006 if the expression (7) is true, for example, rows p0i and p1i, where i is the line number.
  • only the nearest row of pixels in coding block P may be modified.
  • the expression (6) for example, rows p0i, where i is the line number.
  • the boundary formed by coding blocks P 1006 and Q 1008 as shown in FIG. 10B only the nearest pixel in coding block P 1006 may be modified if the expression (7) is not true, for example, rows p0i, where i is the line number.
  • conditions may be checked so as to make a normal filtering mode decision regarding coding block Q.
  • the conditions may be defined by the expression (8) below:
  • the conditions may be defined by the expression (9) below:
  • the two nearest rows of pixels to the block boundary may be modified in the coding block Q.
  • the expression (8) holds, for example, q0i and q1i, where i is the line number.
  • the two nearest rows of pixels to the block boundary may be modified in coding block Q 1008 if expression (9) holds, for example, q0i and q1i, where i is the line number.
  • only the nearest row of pixels may be modified in coding block Q.
  • the nearest row of pixels may be modified in the coding block Q 1004 if expression (8) is not true, for example, q0i, where i is the line number.
  • expression (9) is not true, for example, q0i, where i is the line number.
  • deblocking filtering process 1100 is not limited thereto.
  • the deblocking filtering process 1100 may be extended to handle horizontal block boundaries by rotating coding blocks P and Q by 90° in the clockwise/anti-clockwise direction and transposing row and column subscript indices of the samples in blocks P and Q.
  • FIG. 12A illustrates an example diagram 1200 showing the dependence between the threshold ⁇ and QP.
  • may depend on QP which is used to adjust the quantization step for quantizing the prediction error coefficients.
  • FIG. 12B illustrates an example diagram 1202 showing the dependence between the threshold parameter tc and QP. Referring to FIG. 12B, tc may depend on QP.
  • the deblocking filtering of small luma CBs may be supported, and the coding performance may be improved.
  • the coding tree supports the ability for the luma block and the chroma block to have separate coding trees.
  • the luma CTB and the chroma CTB in the same CTU may share the same coding tree.
  • the luma CTB and the chroma CTB in the same CTU may have separate coding trees. If a separate coding tree mode is applied, the luma CTB may be partitioned into luma CBs by one coding tree, while the chroma CTB may be partitioned into chroma CBs by another coding tree.
  • a CU in the I slice may consist of a luma CB or two chroma CBs
  • the CU in the P or B slice may always consist of CBs of all three color components unless the video is monochrome.
  • the block partitioning tree which is used to partition the CTU into CUs or CBs, goes deeper to reach a separation node, the block partitioning tree may be separated into two block partitioning trees for the luma CB and the chroma CB respectively. Otherwise, if the separation node is not reached, the block partitioning tree may be shared for both the luma CB and the chroma CB.
  • FIG. 13 illustrates an example flowchart of a process 1300 for applying separate block partitioning trees to the luma CB and the chroma CB.
  • the following two conditions may be checked for a node, i.e., (1) both width and height of the luma CB of the node is not smaller than a separation size (SepSize) ; and (2) width or height of the luma CB of at least one child node of the node is smaller than the SepSize. If both conditions are met for the node, the node may be determined as the separation node at block 1304. If the node is determined as the separation node, separate block partitioning trees may be applied to the luma CB and the chroma CB at block 1306.
  • the SepSize may be a high-level parameter and may be set at the slice level or a higher level.
  • the minimum luma CB side length may be set to 4 luma samples
  • the minimum chroma CB side length may be set to 4 chroma samples, such that there is no 2 ⁇ N or N ⁇ 2 chroma CBs.
  • the hardware implementation complexity may be reduced.
  • the block partitioning tree for intra (I) and inter (P and B) slices may be uniform in terms of luma CB and chroma CB separation.
  • FIG. 14 illustrates an example diagram 1400 showing how to apply separate block partitioning trees for the luma CB and the chroma CB under the separation node.
  • the size of the CTU 1402 may be 32 ⁇ 32, meaning that the CTU 1402 may have one 32 ⁇ 32 luma CB and two corresponding chroma CBs (two 16 ⁇ 16 chroma CBs for 4: 2: 0 format) .
  • the SepSize may be set to 8
  • the minimum luma CB side length may be set to 4 luma samples
  • the minimum chroma CB side length may be set to 4 chroma samples.
  • the CTU 1402 may be split by quadtree (QT split) into four 16 ⁇ 16 CBs 1404, 1406, 1408, and 1410. Though the CTU 1402 is split by the quadtree in this example, the CTU 1402 may be split by other block partitioning trees such as BT and TT block partitioning trees into other numbers ofCBs.
  • quadtree quadtree
  • other block partitioning trees such as BT and TT block partitioning trees into other numbers ofCBs.
  • the 16 ⁇ 16 CB 1404 may be split by the vertical binary tree (Ver. BT split) into two 8 ⁇ 16 CBs 1412 and 1414.
  • the 16 ⁇ 16 CB 1406 may be split by the quadtree (QT split) into four 8 ⁇ 8 CBs 1416, 1418, 1420, and 1422.
  • the luma CB of the 16 ⁇ 16 CB 1410 may be split by the vertical ternary tree (Ver. TT split) into two 4 ⁇ 16 luma CBs 1424 and 1426, and one 8 ⁇ 16 luma CBs 1428.
  • the chroma CB of the 16 ⁇ 16 CB 1410 may be split by the quadtree (QT split) into four 4 ⁇ 4 chroma CBs 1430, 1432, 1434, and 1436.
  • the luma CB of the 8 ⁇ 16 CB 1412 may be split by the vertical binary tree (Ver. BT split) into two 4 ⁇ 16 luma CBs 1438 and luma 1440.
  • the chroma CB of the 8 ⁇ 16 CB 1412 may be split by the horizontal binary tree (Hor. BT split) into two 4 ⁇ 4 chroma CBs 1442 and 1444.
  • the 8 ⁇ 16 CB 1414 may be split by the horizontal binary tree (Hor. BT split) into two 8 ⁇ 8 CBs 1446 and 1448.
  • the luma CB of the 8 ⁇ 8 CB 1420 may be split by the vertical binary tree (Ver. BT split) into two 4 ⁇ 8 luma CBs 1450 and 1452.
  • the chroma CB 1454 of the 8 ⁇ 8 CB 1420 may not be split because the chroma CB 1454 is already at the minimum chroma CB size.
  • the 4 ⁇ 16 luma CB 1440 may be split by the horizontal ternary tree (Hor. TT split) into two 4 ⁇ 4 luma CBs 1456 and 1458 and one 4 ⁇ 8 luma CB 1460.
  • FIG. 14 there may be three separation nodes in this example, i.e., nodes A, B, and C.
  • the blocks denoted by dashed lines and dotted lines illustrate that block partitioning trees are separated for the luma CB and the chroma CB.
  • dashed lines may indicate that a block partitioning tree is applied to the luma CB
  • dotted lines may indicate that another block partitioning tree is applied to the chroma CB.
  • the portioning tree is shared by the luma CB and the chroma CB.
  • the block partitioning tree may be separated when going deeper under the separation node, i.e., when the CB becomes smaller.
  • both the luma width 8 and the luma height 16 are over the SepSize 8.
  • each of two child nodes 1438 and 1440 may have luma width 4 which is smaller than the SepSize 8.Thus, node A may be determined as the separation node. Therefore, the luma CB and the chroma CB of node A may be split by separate block partitioning trees.
  • the luma CB of the 16 ⁇ 16 CB 1410 may be split by the vertical ternary tree (Ver.
  • the chroma CB of the 16 ⁇ 16 CB 1410 may be split by the quadtree (QT split) into four 4 ⁇ 4 chroma CBs 1430, 1432, 1434, and 1436.
  • the luma width 8 equals to the luma height 8 which equals to the SepSize 8.
  • each of two child nodes 1450 and 1452 of node B has luma width 4, which is smaller than the SepSize 8.
  • node B may be determined as the separation node. Therefore, the luma CB and the chroma CB of node B may be split by separate block partitioning trees.
  • the luma CB of the 8 ⁇ 8 CB 1420 may be split by the vertical binary tree (Ver. BT split) into two 4 ⁇ 8 luma CBs 1450 and 1452.
  • the chroma CB 1454 of the 8 ⁇ 8 CB 1420 may not be split because the chroma CB 1454 is already at the minimum chroma CB size.
  • the luma width 16 and the luma height 16 are both larger than the SepSize 8.
  • each of two child nodes 1424 and 1428 of node C has luma width 4 which is smaller than the SepSize 8.
  • node C may be determined as the separation node. Therefore, the luma CB and the chroma CB of node C may be split by separate block partitioning trees.
  • the luma CB of the 8 ⁇ 16 CB 1412 may be split by the vertical binary tree (Ver. BT split) into two 4 ⁇ 16 luma CBs 1438 and luma 1440.
  • the chroma CB of the 8 ⁇ 16 CB 1412 may be split by the horizontal binary tree (Hor. BT split) into two 4 ⁇ 4 chroma CBs 1442 and 1444.
  • the 4 ⁇ 16 luma CB 1440 may be split by the horizontal ternary tree (Hor. TT split) into two 4 ⁇ 4 luma CBs 1456 and 1458 and one 4 ⁇ 8 luma CB 1460.
  • the workflow of pseudo code of the block partitioning tree for encoding and decoding may be as follows.
  • the developing H. 266/VVC draft text is documented in JVET-K1001.
  • the coding tree syntax may be shown in Tables 3 -5 as below.
  • the pseudo code shown above may have the same meaning as the syntax shown in Tables 3 -5 as shown below.
  • the quadtree and multitype tree may use two functions, but in the pseudo code, one coding_tree () function may be used for easy understanding.
  • the SINGLE_TREE may refer to the shared block partitioning tree as described above
  • the DUAL_TREE_LUMA may refer to the separate block partitioning tree for the luma block
  • the DUAL_TREE_CHROMA may refer to the separate block partitioning tree for the chroma block.
  • the SepSize may have the same meaning in FIG. 14, the pseudo code, Tables 2 -4, and descriptions thereof.
  • the SepSize may be set as necessary. If the SepSize is set to the CTU 1402 side length, for example, 32 as shown in FIG. 14, the block partitioning tree may be completely separated for the luma CB and the chroma CB from the starting point, i.e., at the CTU level. If the SepSize is set to the minimum luma CB size, for example, 4 as shown in FIG. 14, the block partitioning tree may be completely shared for the luma CB and the chroma CB throughout the partitioning process.
  • the texture properties of the luma CB are usually different from the texture properties of the chroma CB.
  • the block partitioning tree may be separated for the luma CB and the chroma CB.
  • the SepSize may be set to 64 for I slice, given the CTU size equal to 128 ⁇ 128.
  • the motion information of the luma CB and the chroma CB are usually similar.
  • the shared block partitioning tree may be used.
  • separate block partitioning trees may be used when the shared block partitioning tree goes deeper (i.e., when the partition block becomes smaller) .
  • cross-component motion information prediction may be used.
  • the chroma motion information may be predicted from the collocated luma motion information.
  • FIG. 15 illustrates an example diagram 1500 of how to conduct the motion information prediction of the chroma CB by copying the motion information of the collocated luma CB.
  • an example 8 ⁇ 8 chroma CB 1502 may be divided into four chroma sub-CBs 1504, 1506, 1508, and 1510. Though the chroma CB 1502 is divided into four chroma sub-CBs in this example, the chroma CB 1502 may be divided into other numbers of chroma sub-CBs.
  • the chroma sub-CB size may be set at the slice level or a higher level. For example, the chroma sub-CB size may be set as 4 ⁇ 4 chroma samples. If the chroma sub-CB size set at the slice level is larger than a current chroma CB size, the current chroma CB may not be further partitioned.
  • the 16 ⁇ 16 luma CB 1512 in the collocated region of the chroma CB 1502, may be divided into four luma sub-CBs, 1514, 1516, 1518, and 1520. Though the luma CB 1512 is divided into four luma sub-CBs in this example, the luma CB 1512 may be divided into other numbers of luma sub-CBs.
  • Each luma sub-CB may have motion information.
  • the luma sub-CB 1514 may have the first motion information.
  • the luma sub-CB 1516 may have the second motion information.
  • the luma sub-CB 1518 may have the third motion information.
  • the luma sub-CB 1520 may have the fourth motion information.
  • Each luma sub-CB may correspond to one chroma sub-CB.
  • the chroma sub-CB 1504 may correspond to the luma sub-CB 1514.
  • the chroma sub-CB 1506 may correspond to the luma sub-CB 1516.
  • the chroma sub-CB 1508 may correspond to the luma sub-CB 1518.
  • the chroma sub-CB 1510 may correspond to the luma sub-CB 1520.
  • the motion information of the corresponding luma sub-CB may be directly copied.
  • the first motion information of the luma sub-CB 1514 may be copied for the chroma sub-CB 1504.
  • the second motion information of the luma sub-CB 1516 may be copied for the chroma sub-CB 1506.
  • the third motion information of the luma sub-CB 1518 may be copied for the chroma sub-CB 1508.
  • the fourth motion information of the luma sub-CB 1520 may be copied for the chroma sub-CB 1510.
  • FIG. 16 illustrates an example flowchart 1600 of a process for conducting the motion information prediction of the chroma CB by copying the motion information of the collocated luma block.
  • the chroma CB may be divided into multiple chroma sub-CBs.
  • the luma CB which is in the collocated region of the chroma CB may be divided into multiple luma sub-CBs.
  • the number of the luma CB may be the same as the number of the chroma sub-CBs.
  • Each luma sub-CB may have motion information.
  • Each luma sub-CB may correspond to one chroma sub-CB.
  • the motion information of the luma sub-CB may be copied for each corresponding chroma sub-CB.
  • the process 1600 may also be signaled as the first merge candidate at the chroma CB level, i.e., the merge index 0.
  • the first merge candidate and the merge index 0 are defined in video coding standards such as the HEVC standard.
  • FIG. 17. illustrates an example diagram 1700 of how to conduct the motion information prediction of the chroma CB by selecting one of the motion information candidates of the collocated luma CB.
  • FIG. 17 shows an example chroma CB 1702 which may have the size of 8 ⁇ 8 chroma samples.
  • the chroma sub-CB size may be set at the slice level or a higher level. for example, the chroma sub-CB size may be set as 8 ⁇ 8 chroma samples. If the chroma sub-CB size set at the slice level is larger than a current chroma CB size, the current chroma CB may not be partitioned. In this example, the chroma CB 1702 may not be divided. Though in this example, the chroma CB 1702 is not divided, the chroma CB 1702 may be divided into several chroma sub-CBs in other examples.
  • the luma CB 1704 in the collocated luma region of the chroma CB may have 16 ⁇ 16 luma samples in the 4: 2: 0 chroma sampling format.
  • the luma CB 1704 may be divided into four luma sub-CBs 1706, 1708, 1710, and 1712. Though the luma CB is divided into four luma sub-CBs, the luma CB may be divided into other numbers of luma sub-CBs in other examples.
  • each luma sub-CB 1706, 1708, 1710, or 1712 may have motion information.
  • the luma sub-CB 1706 may have the fifth motion information.
  • the luma sub-CB 1708 may have the sixth motion information.
  • the luma sub-CB 1710 may have the seventh motion information.
  • the luma sub-CB 1712 may have the eighth motion information.
  • the fifth, the sixth, the seventh, and the eighth motion information of the luma sub-CBs 1706, 1708, 1710, and 1712 within the collocated region of the chroma CB 1702 may be used as motion information candidates for the chroma CB 1702.
  • the fifth, the sixth, the seventh, and the eighth motion information may be assigned to be left-top, right-top, left-bottom, and right- bottom motion information according to the relative location of the luma sub-CBs 1706, 1708, 1710, and 1712 within the collocated region.
  • the fifth motion information of the luma sub-CB 1706 may be assigned to be the left-top motion information.
  • the sixth motion information of the luma sub-CB 1708 may be assigned to be the right-top motion information.
  • the seventh motion information of the luma sub-CB 1710 may be assigned to be the left-bottom motion information.
  • the eighth motion information of the luma sub-CB 1712 may be assigned to be the right-bottom motion information.
  • the number of motion information candidates within the collocated luma region may be set at the slice level or a higher level.
  • MV motion vector
  • MVP motion vector prediction
  • FIG. 18 illustrates an example flowchart of a process 1800 for conducting the motion information prediction of the chroma CB by selecting one of the motion information candidates of the collocated luma CB.
  • the chroma CB may be treated as a whole.
  • the luma CB which is in the collocated region of the chroma CB, may be divided into multiple luma sub-CBs. Each luma sub-CB may have motion information. The motion information of multiple luma sub-CBs may become multiple motion information candidates.
  • one of the multiple motion information candidates may be selected as the motion information of the chroma CB.
  • the above processes 1600 and 1800 may be signaled at the chroma CB level. That is, for the chroma CB, there may be a syntax element indicating the usage of the process 1600 or 1800. If the process 1600 is signaled, the chroma CB may directly re-use the motion information of the collocated luma region at the sub-CB granularity. If the process 1800 is signaled, the chroma CB may select one of multiple motion information candidates from the collocated luma region.
  • the luma CB in the collocated region is used for the motion information prediction of the chroma CB
  • other luma CBs in nearby regions may be used for the motion information prediction of the chroma CB in other examples.
  • the chroma motion information may be predicted from the luma motion information.
  • the coding efficiency may be improved.
  • the MTS scheme may be used for residual coding both inter and intra coded blocks.
  • a plurality of enabling flags may be specified at the SPS level for intra and inter picture prediction, respectively.
  • a CU level flag (MTS_CU_flag) may be signaled to indicate whether MTS is applied or not.
  • the MTS may be applied only to the luma CB.
  • the MTS_CU_flag may be signaled when the following conditions are satisfied: (1) both width and height of the intra luma CB are smaller than or equal to 32; and (2) the coded block flag (CBF) of the intra luma CB is equal to one.
  • DCT-II may be applied in both vertical and horizontal directions.
  • two other flags may be additionally signaled to indicate the transform type for the horizontal and vertical directions, respectively.
  • two flags i.e., MTS_Hor_flag and MTS_Ver_flag may be signaled when the number of non-zero coefficients is greater than two.
  • two flags i.e., MTS_Hor_flag and MTS_Ver_flag may be signaled.
  • DST-VII may be used both horizontally and vertically without signaling the additional two flags when the MTS_CU_flag is equal to one.
  • Transform and signaling mapping table is shown in Table 6.
  • the residual of a block can be coded with transform skip mode.
  • the transform skip flag may not be signaled when the MTS_CU_flag at the CU level is not equal to zero.
  • the signaling of DST-VII and DCT-VIII may be applied reversely as shown in Table 6.
  • the MTS may adapt with different residual distribution, so that the encoder can select the transform which has the best energy compaction property for one residual block to promote the compression performance.
  • side information MTS_CU_flag, MTS_Hor/Ver_flag
  • the side information may raise the bit-rate cost of the encoder.
  • the side information cost may be larger for small size block than that for big size block.
  • the residual distribution may be more regular. That is, the residual energy increases from top-left corner to right-bottom corner, because of the longer prediction distance, which fits properly for the DST-VII.
  • the transform for this side may always be DST-VII, i.e., the DCT-II and DCT-VIII may not be used for this case.
  • the horizontal transform may be fixed to DST-VII (no DCT-II or DCT-VIII) .
  • the vertical transform may be fixed to DST-VII (no DCT-II or DCT-VIII) .
  • the small size block may be defined as necessary, for example, 4 ⁇ N or N ⁇ 4 block.
  • FIG. 19 illustrates an example diagram of an intra luma CB 1900.
  • the intra luma CB 1900 may have the size of 16 ⁇ 4.
  • the horizontal transform of the intra luma CB 1900 may use the MTS scheme, i.e., DCT-II, DST-VII, or DCT-VIII.
  • the vertical transform of the intra luma CB 1900 may always use DST-VII.
  • FIG. 20 illustrates an example flowchart 2000 of a signaling/parsing mechanism of the transform of the intra luma CB in FIG. 19.
  • a first message may be signaled/parsed at block 2004.
  • the first message may be an MTS_CU_flag.
  • whether the first message meets a first preset condition may be determined. For example, if the MTS_CU_flag is 1, the first message meets the first preset condition. If the MTS_CU_flag is 0, the first message does not meet the first preset condition.
  • the width of the intra luma CB is equal to 4 may be determined at block 2008. If the width of the intra luma CB is equal to 4, an MTS_Hor_flag may not be signaled/parsed and may be derived to be 0 indicating that DST-VII is used at block 2010.
  • whether the height of the intra luma CB is equal to 4 may be determined at block 2012, and if the height of the intra luma CB is equal to 4, an MTS_Ver_flag may not be signaled/parsed and may be derived to be 0 indicating that DST-VII is used at block 2014.
  • the transform may use DST-VII at block 2018. If the length of the side of the intra luma CB is not equal to 4, the transform may use DCT-II at block 2020.
  • the MTS_Ver_flag and MTS_Hor_flag may not be always signaled/parsed.
  • the signaling/parsing mechanism may be the same as that in developing H. 266/VVC.
  • a transform mapping table may be shown in Table 7.
  • FIG. 21 illustrates an example diagram of an intra luma CB 2100.
  • the intra luma CB 2100 may have a size of 16 ⁇ 4.
  • the horizontal transform which is the 16-point transform, may use the MTS scheme, i.e., DCT-II, DST-VII, or DCT-VIII
  • the vertical transform which is the 4-point transform, may use DCT-II or DST-VII.
  • FIG. 22 illustrates an example flowchart 2200 of the signaling/parsing mechanism of the transform of the intra luma CB 2100 in FIG. 21.
  • a first message may be signaled/parsed at block 2204.
  • Whether the first message meets a first preset condition may be determined at block 2206. For example, if the MTS_CU_flag is 1, the first message meets the first preset condition. If the MTS_CU_flag is 0, the first message does not meet the first preset condition.
  • the width of the intra luma CB is equal to 4 may be determined at block 2208, and if the width of the intra luma CB is equal to 4, the MTS_Hor_flag may not be signaled/parsed and may be derived to be 0 indicating that DST-VII is used at block 2210.
  • the MTS_Ver_flag may not be signaled/parsed and may be derived to be 0 indicating that DST-VII is used at block 2214.
  • the transform may use DCT-II At block 2216 at block 2216.
  • the MTS_Ver_flag and MTS_Hor_flag may not be always signaled/parsed.
  • the signaling/parsing mechanism may be the same as that in the developing H. 266/VVC, and the transform mapping table may be the same as Table 6.
  • FIG. 23A illustrates an example system 2300 for implementing the processes and mechanisms described with reference to FIGs 1-12.
  • system 2300 may be implemented by multiple instances of the system 2300 as well as by any other computing device, system, and/or environment.
  • the system 2300 shown in FIG. 23 is only one example of a system and is not intended to suggest any limitation as to the scope of use or functionality of any computing device utilized to perform the processes and/or procedures discussed herein.
  • the system 2300 may include one or more processors 2302 and system memory 2304 communicatively coupled to the processor (s) 2302.
  • the processor (s) 2302 may execute instructions to cause the processor (s) 2302 to perform a variety of functions.
  • the processor (s) 2302 may include a central processing unit (CPU) , a graphics processing unit (GPU) , both CPU and GPU, or other processing units or components known in the art. Additionally, each of the processor (s) 2302 may possess its own local memory, which also may store program modules, program data, and/or one or more operating systems.
  • system memory 2304 may be volatile, such as RAM, non-volatile, such as ROM, flash memory, miniature hard drive, memory card, and the like, or some combination thereof.
  • the system 2300 may additionally include an input/output (I/O) interface 2306 for receiving/outputting data.
  • the system 2300 may also include a communication module 2308 allowing the system 2300 to communicate with other devices (not shown) over a network (not shown) .
  • the network may include the Internet, wired media such as a wired network or direct-wired connections, and wireless media such as acoustic, radio frequency (RF) , infrared, and other wireless media.
  • RF radio frequency
  • the system memory 2304 may include one or more computer-executable modules (modules) that are executable by the processor (s) 2302.
  • the modules may include the following.
  • a first luma block width determination module 2310 may be used for determining whether a luma block has width equal to 8.
  • a first syntax element providing module 2312 may be used for providing a first syntax element to indicate that the luma block is vertically split, upon determining that the luma block has the width equal to 8.
  • a first luma block height determination module 2314 may be used for determining whether the luma block has height equal to 8.
  • a second syntax element providing module 2316 may be used for providing a second syntax element to indicate that the luma block is horizontally split, upon determining that the luma block has the height equal to 8.
  • a second luma block width determination module 2318 may be used for determining whether the luma block has the width equal to 4.
  • a third syntax element providing module 2320 may be used for providing a third syntax element to indicate that the luma block is vertically split, upon determining that the luma block has the width equal to 4.
  • a second luma block height determination module 2322 may be used for determining whether the luma block has the height equal to 4.
  • a fourth syntax element providing module 2324 may be used for providing a fourth syntax element to indicate that the luma block is horizontally split, upon determining that the luma block has the height equal to 4.
  • a splitting module 2326 may be used for splitting the luma block based on the first, second, third, and fourth syntax element to obtain a plurality of 2 ⁇ n or n ⁇ 2 luma coding blocks (CBs) .
  • a DCT-II applying module 2328 may be used for applying DCT-II in both horizontal and vertical directions of transform of a CB of the plurality of 2 ⁇ N or N ⁇ 2 luma CBs.
  • a deblocking filtering decision making module 2330 may be used for making a deblocking filtering decision.
  • a deblocking filtering performing module 2332 may be used for performing a deblocking filtering operation.
  • FIG. 23B illustrates an example diagram of the deblocking filtering decision making module 2340 in FIG. 23A.
  • the deblocking filtering decision making module 2340 may include the following.
  • a boundary strength (BS) deriving module 2344 may be used for deriving the BS of a boundary formed by a coding block P and a coding block Q.
  • a BS determination module 2346 may be used for determining whether the BS is greater than 0.
  • a first checking module 2348 may be used for checking whether an expression (a) is true upon determining that the BS is greater than 0,
  • is a threshold depending on a quantization parameter
  • p2, 0, p1, 0, p0, 0 are samples in the coding block P.
  • the first checking module 2348 may also be used for making the deblocking filtering decision for the boundary if the expression (a) is true.
  • FIG. 23C illustrates an example diagram of the deblocking filtering performing module 2342 in FIG. 23A.
  • the deblocking filtering performing module 2342 may include the following.
  • i is a line number
  • tc is a threshold parameter
  • p2, i, p1, i, p0, i, p3, i, and p0, i are samples in the coding block P
  • q2, i, q1, i, q0, i, q0, i, q3, i, and q0, i are samples in the coding block Q.
  • FIG. 23D illustrates an example diagram of the normal filtering module 2354 in FIG. 23C.
  • the normal filtering module 2354 may include the following.
  • a third checking module 2356 may be used for checking whether an expression (e) is true.
  • a second pixel modifying module 2360 may be used for modifying one nearest row of pixels in the coding block P if the expression (e) is not true.
  • a fourth checking module 2362 may be used for checking whether an expression (f) is true
  • a third pixel modifying module 2364 for modifying two nearest rows of pixels to the boundary in the coding block Q if the expression (f) is true.
  • a fourth pixel modifying module 2366 may be used for modifying one nearest row of pixels in the coding block Q if the expression (f) is not true.
  • FIG. 24 illustrates an example system 2400 for implementing the processes and mechanisms described with reference to FIGs 13-18.
  • system 2400 may be implemented by multiple instances of the system 2400 as well as by any other computing device, system, and/or environment.
  • the system 2400 shown in FIG. 24 is only one example of a system and is not intended to suggest any limitation as to the scope of use or functionality of any computing device utilized to perform the processes and/or procedures discussed herein.
  • the system 2400 may include one or more processors 2402 and system memory 2404 communicatively coupled to the processor (s) 2402.
  • the processor (s) 2402 may execute instructions to cause the processor (s) 2402 to perform a variety of functions.
  • the processor (s) 2402 may include a central processing unit (CPU) , a graphics processing unit (GPU) , both CPU and GPU, or other processing units or components known in the art. Additionally, each of the processor (s) 2402 may possess its own local memory, which also may store program modules, program data, and/or one or more operating systems.
  • system memory 2404 may be volatile, such as RAM, non-volatile, such as ROM, flash memory, miniature hard drive, memory card, and the like, or some combination thereof.
  • the system 2400 may additionally include an input/output (I/O) interface 2406 for receiving/outputting data.
  • the system 2400 may also include a communication module 2408 allowing the system 2400 to communicate with other devices (not shown) over a network (not shown) .
  • the network may include the Internet, wired media such as a wired network or direct-wired connections, and wireless media such as acoustic, radio frequency (RF) , infrared, and other wireless media.
  • RF radio frequency
  • the system memory 2404 may include one or more computer-executable modules (modules) that are executable by the processor (s) 2402.
  • the modules may include the following.
  • a condition determination module 2410 may be used for determining whether conditions are met for a node.
  • the conditions may include: (1) both width and height of a luma CB of the node being not smaller than a separation size, and (2) width or height of the luma CB of at least one child node of the node being smaller than the separation size.
  • a separation node determination module 2412 may be used for determining that the node is a separation node upon determining that the conditions (1) and (2) are both met for the node.
  • a tree applying module 2414 may be used for applying a first block partitioning tree to the luma CB of the node and applying a second block partitioning tree to a chroma CB of the node.
  • a chroma CB dividing module 2416 may be used for dividing the chroma CB into multiple chroma sub CBs.
  • a first luma CB dividing module 2418 may be used for dividing the luma CB into multiple luma sub CBs.
  • Each of the multiple luma sub CBs may correspond to respective one of the multiple chroma sub CBs.
  • Each of the multiple luma sub CBs may have motion information.
  • a motion information copying module 2420 may be used for copying the motion information of one of the multiple luma sub CBs for a corresponding one of the multiple chroma sub CBs.
  • a second luma CB dividing module 2424 may be used for dividing the luma CB into multiple luma sub CBs.
  • Each of the multiple luma sub CBs may have motion information.
  • the motion information of multiple luma sub CBs may be multiple motion information candidates.
  • a motion information selecting module 2426 may be used for selecting one of the multiple motion information candidates for the chroma CB.
  • FIG. 25 illustrates an example system 2500 for implementing the processes and mechanisms described with reference to FIGs 19-22.
  • system 2500 may be implemented by multiple instances of the system 2500 as well as by any other computing device, system, and/or environment.
  • the system 2500 shown in FIG. 25 is only one example of a system and is not intended to suggest any limitation as to the scope of use or functionality of any computing device utilized to perform the processes and/or procedures discussed herein.
  • the system 2500 may include one or more processors 2502 and system memory 2504 communicatively coupled to the processor (s) 2502.
  • the processor (s) 2502 may execute instructions to cause the processor (s) 2502 to perform a variety of functions.
  • the processor (s) 2502 may include a central processing unit (CPU) , a graphics processing unit (GPU) , both CPU and GPU, or other processing units or components known in the art. Additionally, each of the processor (s) 2502 may possess its own local memory, which also may store program modules, program data, and/or one or more operating systems.
  • system memory 2504 may be volatile, such as RAM, non-volatile, such as ROM, flash memory, miniature hard drive, memory card, and the like, or some combination thereof.
  • the system 2500 may additionally include an input/output (I/O) interface 2506 for receiving/outputting data.
  • the system 2500 may also include a communication module 2508 allowing the system 2500 to communicate with other devices (not shown) over a network (not shown) .
  • the network may include the Internet, wired media such as a wired network or direct-wired connections, and wireless media such as acoustic, radio frequency (RF) , infrared, and other wireless media.
  • RF radio frequency
  • the system memory 2504 may store thereon computer-readable instructions that, when executed by the one or more processors 2502, cause the one or more processors 2502 to perform mechanisms and processes described with reference to 19-22.
  • Computer-readable instructions include routines, applications, application modules, program modules, programs, components, data structures, algorithms, and the like.
  • Computer-readable instructions can be implemented on various system configurations, including single-processor or multiprocessor systems, minicomputers, mainframe computers, personal computers, hand-held computing devices, microprocessor-based, programmable consumer electronics, combinations thereof, and the like.
  • the computer-readable storage media may include volatile memory (such as random access memory (RAM) ) and/or non-volatile memory (such as read-only memory (ROM) , flash memory, etc. ) .
  • volatile memory such as random access memory (RAM)
  • non-volatile memory such as read-only memory (ROM) , flash memory, etc.
  • the computer-readable storage media may also include additional removable storage and/or non-removable storage including, but not limited to, flash memory, magnetic storage, optical storage, and/or tape storage that may provide non-volatile storage of computer-readable instructions, data structures, program modules, and the like.
  • a non-transient computer-readable storage medium is an example of computer-readable media.
  • Computer-readable media includes at least two types of computer-readable media, namely computer-readable storage media and communications media.
  • Computer-readable storage media includes volatile and non-volatile, removable and non-removable media implemented in any process or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data.
  • Computer-readable storage media includes, but is not limited to, phase change memory (PRAM) , static random-access memory (SRAM) , dynamic random-access memory (DRAM) , other types of random-access memory (RAM) , read-only memory (ROM) , electrically erasable programmable read-only memory (EEPROM) , flash memory or other memory technology, compact disk read-only memory (CD-ROM) , digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information for access by a computing device.
  • communication media may embody computer-readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave, or other transmission mechanism. As defined herein, computer-readable storage media do not include communication media.
  • the computer-readable instructions stored on one or more non-transitory computer-readable storage media that, when executed by one or more processors, may perform operations described above with reference to FIGs. 1-25.
  • computer-readable instructions include routines, programs, objects, components, data structures, and the like that perform particular functions or implement particular abstract data types.
  • the order in which the operations are described is not intended to be construed as a limitation, and any number of the described operations can be combined in any order and/or in parallel to implement the processes.
  • a method comprising: determining whether a width of a coding block (CB) is equal to a first preset value; upon determining that the width of the CB is equal to the first preset value, using Discrete Sine Transform of type VII (DST-VII) for transform of the CB in a horizontal direction; determining whether a height of the CB is equal to the first preset value; and upon determining that the height of the CB is equal to the first preset value, using the DST-VII for the transform of the CB in a vertical direction.
  • DST-VII Discrete Sine Transform of type VII
  • Clause 2 The method of claim 1, wherein before determining whether the width of the CB is equal to the first preset value the method further comprises: parsing a first message from bitstream; and determining whether the first message meets a first preset condition; and wherein determining whether the width of the CB is equal to the first preset value occurs upon determining that the first message meet the first preset condition.
  • Clause 3 The method of claim 2, wherein before parsing the first message from bitstream, the method further comprises determining whether a second preset condition is met for a coding block (CB) ; and wherein parsing the first message from bitstream occurs upon determining that the second preset condition is met for the CB.
  • CB coding block
  • determining whether the first message meet a first preset condition includes: determining whether the MTS_CU_flag is 1 or 0; if the MTS_CU_flag is 1, determining that the first message meets the first preset condition; and if the MTS_CU_flag is 0, determining that the first message does not meet the first preset condition.
  • the second preset condition includes: (a) both the width and the height of the CB being smaller than or equal to a second preset value; (b) either the width or the height of the CB being larger than the first preset value; and (c) a coded block flag of the CB being equal to a third preset value.
  • Clause 11 The method of claim 3, wherein the second present condition includes: (a) both the width and the height of the CB being smaller than or equal to a second preset value; and (b) a coded block flag of the CB being equal to a third preset value.
  • Clause 13 The method of claim 5, further comprising: upon determining that the first message does not meet the first preset condition, determining whether a length of a side of the CB is equal to the first preset value; upon determining that the length of the side of the CB is equal to the first preset value, using the DST-VII for the transform of the CB; and upon determining that the length of the side of the CB is not equal to the first value, using Discrete Cosine Transform of type II (DCT-II) for the transform of the CB.
  • DCT-II Discrete Cosine Transform of type II
  • Clause 14 The method of claim 5, further comprising: upon determining that the first message does not meet the first preset condition, using DCT-II for the transform of the CB in both the horizontal and the vertical directions.
  • Clause 15 The method of claim 2, wherein the first message is parsed at a coding unit (CU) level.
  • CU coding unit
  • Clause 16 The method of claim 1, wherein the CB is an intra luma CB.
  • An apparatus comprising: one or more processors; memory, coupled to the one or more processors, the memory storing thereon computer-readable instructions that, when executed by the one or more processors, cause the one or more processors to perform acts comprising: determining whether a width of the CB is equal to a first preset value; upon determining that the width of the CB is equal to the first preset value, using Discrete Sine Transform of type VII (DST-VII) for transform of the CB in a horizontal direction; determining whether a height of the CB is equal to the first preset value; and upon determining that the height of the CB is equal to the first preset value, using the DST-VII for the transform of the CB in a vertical direction.
  • DST-VII Discrete Sine Transform of type VII
  • Clause 18 The apparatus of claim 17, wherein before determining whether the width of the CB is equal to the first preset value the acts further comprise: parsing a first message from bitstream; and determining whether the first message meets a first preset condition; and wherein determining whether the width of the CB is equal to the first preset value occurs upon determining that the first message meet the first preset condition.
  • the acts before parsing the first message from bitstream, the acts further comprise determining whether a second preset condition is met for a coding block (CB) ; and wherein parsing the first message from bitstream occurs upon determining that the second preset condition is met for the CB.
  • CB coding block
  • determining whether the first message meet a first preset condition includes: determining whether the MTS_CU_flag is 1 or 0; if the MTS_CU_flag is 1, determining that the first message meets the first preset condition; and if the MTS_CU_flag is 0, determining that the first message does not meet the first preset condition.
  • the second preset condition includes: (a) both the width and the height of the CB being smaller than or equal to a second preset value; (b) either the width or the height of the CB being larger than the first preset value; and (c) a coded block flag of the CB being equal to a third preset value.
  • Clause 27 The apparatus of claim 19, wherein the second present condition includes: (a) both the width and the height of the CB being smaller than or equal to a second preset value; and (b) a coded block flag of the CB being equal to a third preset value.
  • the acts further comprise: upon determining that the first message does not meet the first preset condition, determining whether a length of a side of the CB is equal to the first preset value; upon determining that the length of the side of the CB is equal to the first preset value, using the DST-VII for the transform of the CB; and upon determining that the length of the side of the CB is not equal to the first value, using Discrete Cosine Transform of type II (DCT-II) for the transform of the CB.
  • DCT-II Discrete Cosine Transform of type II
  • Clause 30 The apparatus of claim 21, wherein the acts further comprise: upon determining that the first message does not meet the first preset condition, using DCT-II for the transform of the CB in both the horizontal and the vertical directions.
  • Clause 31 The apparatus of claim 18, wherein the first message is parsed at a coding unit (CU) level.
  • CU coding unit
  • a computer-readable storage medium storing computer-readable instructions executable by one or more processors, that when executed by the one or more processors, cause the one or more processors to perform acts comprising: determining whether a width of the CB is equal to a first preset value; upon determining that the width of the CB is equal to the first preset value, using Discrete Sine Transform of type VII (DST-VII) for transform of the CB in a horizontal direction; determining whether a height of the CB is equal to the first preset value; and upon determining that the height of the CB is equal to the first preset value, using DST-VII for the transform of the CB in a vertical direction.
  • DST-VII Discrete Sine Transform of type VII
  • the acts further comprise: parsing a first message from bitstream; and determining whether the first message meets a first preset condition; and wherein determining whether the width of the CB is equal to the first preset value occurs upon determining that the first message meet the first preset condition
  • the acts comprise determining whether a second preset condition is met for a coding block (CB) ; and wherein parsing the first message from bitstream occurs upon determining that the preset second conditions is met for the CB.
  • CB coding block
  • determining whether the first message meet a first preset condition includes: determining whether the MTS_CU_flag is 1 or 0; if the MTS_CU_flag is 1, determining that the first message meets the first preset condition; and if the MTS_CU_flag is 0, determining that the first message does not meet the first preset condition.
  • the second preset condition includes: (a) both the width and the height of the CB being smaller than or equal to a second preset value; (b) either the width or the height of the CB being larger than the first preset value; and (c) a coded block flag of the CB being equal to a third preset value.
  • Clause 43 The computer-readable storage medium of claim 35, wherein the second present condition includes: (a) both the width and the height of the CB being smaller than or equal to a second preset value; and (b) a coded block flag of the CB being equal to a third preset value.
  • Clause 45 The computer-readable storage medium of claim 37, wherein the acts further comprise: upon determining that the first message does not meet the first preset condition, determining whether a length of a side of the CB is equal to the first preset value; upon determining that the length of the side of the CB is equal to the first preset value, using the DST-VII for the transform of the CB; and upon determining that the length of the side of the CB is not equal to the first value, using Discrete Cosine Transform of type II (DCT-II) for the transform of the CB.
  • DCT-II Discrete Cosine Transform of type II
  • Clause 46 The computer-readable storage medium of claim 37, wherein the acts further comprise: upon determining that the first message does not meet the first preset condition, using DCT-II for the transform of the CB in both the horizontal and the vertical directions.
  • Clause 47 The computer-readable storage medium of claim 34, wherein the first message is parsed at a coding unit (CU) level.
  • CU coding unit
  • Clause 48 The computer-readable storage medium of claim 33, wherein the CB is an intra luma CB.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

L'invention concerne des appareils et des procédés consistant à : déterminer si une largeur du CB est égale à une première valeur prédéfinie ; lorsqu'il est déterminé que la largeur du CB est égale à la première valeur prédéfinie, déterminer qu'une transformée sinusoïdale discrète d type VII (DST-VII) est utilisée pour transformer le CB dans une direction horizontale ; déterminer si une hauteur du CB est égale à la première valeur prédéfinie ; et lorsqu'il est déterminé que la hauteur du CB est égale à la première valeur prédéfinie, déterminer que la DST-VII est utilisée pour transformer le CB dans une direction verticale.
PCT/CN2018/107089 2018-09-21 2018-09-21 Sélection de transformée pour un bloc de petite taille Ceased WO2020056760A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2018/107089 WO2020056760A1 (fr) 2018-09-21 2018-09-21 Sélection de transformée pour un bloc de petite taille
CN201910900765.3A CN110944174B (zh) 2018-09-21 2019-09-23 小尺寸块的变换选择方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/107089 WO2020056760A1 (fr) 2018-09-21 2018-09-21 Sélection de transformée pour un bloc de petite taille

Publications (1)

Publication Number Publication Date
WO2020056760A1 true WO2020056760A1 (fr) 2020-03-26

Family

ID=69888117

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/107089 Ceased WO2020056760A1 (fr) 2018-09-21 2018-09-21 Sélection de transformée pour un bloc de petite taille

Country Status (2)

Country Link
CN (1) CN110944174B (fr)
WO (1) WO2020056760A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN119420938A (zh) * 2024-10-31 2025-02-11 湖南国科微电子股份有限公司 一种图像编码方法、装置、终端设备及解码方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015054813A1 (fr) * 2013-10-14 2015-04-23 Microsoft Technology Licensing, Llc Options côté codeur pour mode d'intra-prédiction de copie de bloc pour codage vidéo et d'image
CN105847800A (zh) * 2016-05-18 2016-08-10 山东大学(威海) 基于全相位离散正弦双正交变换的图像压缩方法及系统
US20180098081A1 (en) * 2016-10-01 2018-04-05 Qualcomm Incorporated Transform selection for video coding
CN108419077A (zh) * 2017-02-10 2018-08-17 三星电子株式会社 用于执行样本自适应偏移处理的图像处理方法和设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3413720B2 (ja) * 1998-06-26 2003-06-09 ソニー株式会社 画像符号化方法及び装置、並びに画像復号方法及び装置
US9215470B2 (en) * 2010-07-09 2015-12-15 Qualcomm Incorporated Signaling selected directional transform for video coding
US10306229B2 (en) * 2015-01-26 2019-05-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual
WO2017088093A1 (fr) * 2015-11-23 2017-06-01 Mediatek Singapore Pte. Ltd. Plus petite taille de bloc autorisée en vidéocodage

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015054813A1 (fr) * 2013-10-14 2015-04-23 Microsoft Technology Licensing, Llc Options côté codeur pour mode d'intra-prédiction de copie de bloc pour codage vidéo et d'image
CN105847800A (zh) * 2016-05-18 2016-08-10 山东大学(威海) 基于全相位离散正弦双正交变换的图像压缩方法及系统
US20180098081A1 (en) * 2016-10-01 2018-04-05 Qualcomm Incorporated Transform selection for video coding
CN108419077A (zh) * 2017-02-10 2018-08-17 三星电子株式会社 用于执行样本自适应偏移处理的图像处理方法和设备

Also Published As

Publication number Publication date
CN110944174A (zh) 2020-03-31
CN110944174B (zh) 2023-03-31

Similar Documents

Publication Publication Date Title
US11044473B2 (en) Adaptive loop filtering classification in video coding
US10778974B2 (en) Adaptive loop filter with enhanced classification methods
US20230164332A1 (en) Image coding method on basis of secondary transform and device therefor
US10638126B2 (en) Intra reference filter for video coding
EP3718303B1 (fr) Réduction de la taille du tampon à lignes pour le filtrage en boucle adaptif en codage vidéo
EP3639518B1 (fr) Intra-filtrage appliqué en même temps qu'un traitement de transformée dans un codage vidéo
EP3381186B1 (fr) Codage vidéo avec des unités de codage incluantes des unités de prédiction codées en mode intra aussi bien que en mode inter
US20180091825A1 (en) Interpolation filters for intra prediction in video coding
US11539952B2 (en) Implicit transform selection in video coding
CN114391255B (zh) 用于基于交叉分量相关性来减小视频编码中的重构误差的系统和方法
CN113170129B (zh) 用于视频编解码的基于树的变换单元(tu)分割
CN113812155A (zh) 多种帧间编解码方法之间的交互
US20240214585A1 (en) Bypass alignment in video coding
WO2020177545A1 (fr) Restriction de taille de palette en mode palette pour système de compression vidéo
WO2020056757A1 (fr) Procédé, appareil et support de stockage lisible par ordinateur pour séparation d'arbres de partitionnement de bloc sous un nœud de séparation
WO2020056760A1 (fr) Sélection de transformée pour un bloc de petite taille
US10708625B2 (en) Adaptive deblocking filter
WO2020056759A1 (fr) Procédé, appareil, et support de stockage lisible par ordinateur pour un codage de bloc de petite taille
WO2022191947A1 (fr) Quantification dépendante basée sur un état et codage résiduel dans un codage vidéo
WO2020243881A1 (fr) Copie intra-bloc simplifiée
US20250294185A1 (en) System and method for chromaticity intra prediction
JP2026508708A (ja) ビデオ符号化・復号方法、装置、機器、システム及び記憶媒体
HK40118858A (zh) 解码视频数据的方法和设备及编码视频数据的方法和设备
HK40051989B (zh) 用於视频编解码的基於树的变换单元(tu)分割
HK40051989A (en) Tree-based transform unit (tu) partition for video coding

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18934009

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18934009

Country of ref document: EP

Kind code of ref document: A1