Method and device for improving performance of convolutional cross-component model in video coding and decoding system

By introducing convolutional cross-component models of multiple downsampling kernels in the video encoding and decoding system, the problems of low performance and high complexity of CCLM-related modes are solved, and more efficient encoding and decoding performance and lower complexity are achieved.

CN119547435APending Publication Date: 2025-02-28MEDIATEK INC
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202380052687.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-07-27
Filing Date
2023-07-25
Publication Date
2025-02-28

Smart Images

  • Figure CN119547435A_ABST
    Figure CN119547435A_ABST
Patent Text Reader

Abstract

Methods and apparatus for improving a CCCM mode are provided. According to one method, a down-sampled luma block is generated by applying a target down-sampled kernel to a luma block, where the target down-sampled kernel is selected from a set of filters comprising a plurality of down-sampled kernels. A convolutional cross-component model predictor for a target chroma sample in a chroma block is determined, wherein the convolutional cross-component model predictor comprises terms generated by applying a convolution filter to the location of the target downsampled luma sample. A final predictor for the target chroma sample is generated from a set of prediction candidates including a convolutional cross-component model predictor. According to another method, a sample size condition for deciding whether to apply a CCCM mode is simplified by checking a block width, a block height, a block area, or any combination.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Related references

[0002] This application claims priority to U.S. Provisional Application No. 63 / 369,525, filed on July 27, 2022. The entire contents of the above are incorporated herein by reference. Technical Field

[0003] The present invention relates to a video coding and decoding system, and more particularly to a scheme for improving the performance or reducing the complexity of a cross-component linear model (CCLM) related mode in a video coding and decoding system. Background Art

[0004] Versatile video coding (VVC) is the latest international video coding standard developed by the Joint Video Experts Team (JVET) of the ITU-T Video Coding Experts Group (VCEG) and the ISO / IEC Moving Picture Experts Group (MPEG). The standard was published as an ISO standard in February 2021: ISO / IEC23090-3:2021, Information technology - Codec representation of immersive media - Part 3: Versatile video coding. VVC is based on its previous generation High Efficiency Video Coding (HEVC) by adding more codec tools to improve codec efficiency and handle various types of video sources including three-dimensional (3D) video signals.

[0005] Figure 1AAn example adaptive inter / intra video codec system incorporating loop processing is shown. For intra prediction, prediction data is derived based on previously encoded video data in the current picture. For inter prediction 112, motion estimation (ME) is performed at the encoder end and motion compensation (MC) is performed based on the results of ME to provide prediction data derived from other pictures and motion data. Switch 114 selects intra prediction 110 or inter prediction 112, and the selected prediction data is provided to adder 116 to form a prediction error, also known as a residual. The prediction error is then processed by a transform (T) 118 followed by a quantization (Q) 120. The transformed and quantized residual is then encoded by an entropy encoder 122 to be included in a video bitstream corresponding to the compressed video data. The bitstream associated with the transform coefficients is then packaged with auxiliary information (such as auxiliary information such as motion and coding modes associated with intra prediction and inter prediction) and other information (parameters associated with loop filters applied to underlying image areas, etc.). As Figure 1A As shown, auxiliary information associated with intra prediction 110, inter prediction 112 and loop filter 130 is provided to entropy encoder 122. When inter prediction mode is used, one or more reference pictures must also be reconstructed at the encoder end. Therefore, the transformed and quantized residual is processed by inverse quantization (Inverse Quantization, referred to as IQ) 124 and inverse transformation (Inverse Transformation, referred to as IT) 126 to restore the residual. The residual is then added back to the prediction data 136 in reconstruction (REC) 128 to reconstruct the video data. The reconstructed video data can be stored in the reference picture buffer 134 and used for prediction of other frames.

[0006] like Figure 1A As shown, the input video data undergoes a series of processes in the encoding system. Due to the series of processes, the reconstructed video data from REC128 may be subject to various damages. Therefore, before the reconstructed video data is stored in the reference picture buffer 134, a loop filter 130 is generally applied to the reconstructed video data to improve the video quality. For example, a deblocking filter (DF for short), a sample adaptive offset (SAO for short), and an adaptive loop filter (ALF for short) may be used. The loop filter information may need to be incorporated into the bitstream so that the decoder can correctly recover the required information. Therefore, the loop filter information is also provided to the entropy encoder 122 to be incorporated into the bitstream. In Figure 1A In , a loop filter 130 is applied to the reconstructed video before the reconstructed samples are stored in a reference picture buffer 134 . Figure 1A The system in is intended to illustrate an example structure of a typical video encoder. It may correspond to a High Efficiency Video Coding (HEVC) system, VP8, VP9, ​​H.264, or VVC.

[0007] like Figure 1B The decoder shown may use similar or partially identical functional blocks as the encoder, except for transform 118 and quantization 120, since the decoder only needs inverse quantization 124 and inverse transform 126. The decoder uses an entropy decoder 140 instead of an entropy encoder 122 to decode the video bitstream into quantized transform coefficients and required codec information (e.g., ILPF information, intra-frame prediction information, and inter-frame prediction information). The intra-frame prediction 150 at the decoder end does not need to perform a pattern search. Instead, the decoder only needs to generate an intra-frame prediction based on the intra-frame prediction information received from the entropy decoder 140. In addition, for inter-frame prediction, the decoder only needs to perform motion compensation (MC 152) based on the intra-frame prediction information received from the entropy decoder 140 without motion estimation.

[0008] According to VVC, the input picture is divided into non-overlapping square block areas called coding tree units (CTUs), similar to HEVC. Each CTU can be divided into one or more smaller-sized coding units (CUs). The generated CU partitions can be square or rectangular. In addition, VVC divides CTUs into prediction units (PUs) as a unit to apply prediction processing such as inter-frame prediction, intra-frame prediction, etc.

[0009] Partition CTU using tree structure

[0010] In HEVC, CTUs are divided into CUs to accommodate various local characteristics using a quadtree (QT) structure represented as a codec tree. The decision to encode and decode a picture area using inter-picture (temporal) or intra-picture (spatial) prediction is made at the leaf-CU level. Each leaf-CU can be further partitioned into one, two, or four PUs according to the PU partition type. Within a PU, the same prediction process is applied, and related information is transmitted to the decoder on a PU basis. After obtaining the residual block by applying a prediction process based on the PU partition type, the leaf-CU can be divided into transform units (TUs) according to another quadtree structure similar to the codec tree of the CU. One of the key features of the HEVC structure is that it has multiple partition concepts, including CU, PU, ​​and TU.

[0011] In VVC, the concept of multiple partition unit types is replaced by a quadtree with a nested multi-type tree (MTT) with a binary and ternary partition structure, that is, it eliminates the independence of the concepts of CU, PU, ​​and TU, unless the size of the CU is too large for the maximum transform length, and supports more flexible CU partition shapes. In the codec tree structure, the CU can be a square or a rectangle. The coding tree unit (CTU) is first divided into a quadtree (also known as a quadtree) structure. Then the quadtree leaf nodes can be further divided into a multi-type tree structure. Figure 2 As shown, there are four types of splits in the multi-type tree structure, vertical binary split (SPLIT_BT_VER 210), horizontal binary split (SPLIT_BT_HOR220), vertical ternary split (SPLIT_TT_VER 230), and horizontal ternary split (SPLIT_TT_HOR 240). The multi-type tree leaf node is called a coding unit (CU), and this segmentation will be used for prediction and transform processing without further division unless the CU is too large for the maximum transform length. This means that in most cases, CU, PU, ​​and TU have the same block size in a quadtree with a nested multi-type tree coding block structure. An exception occurs when the maximum supported transform length is smaller than the width or height of the CU color component.

[0012] Figure 3The transmission mechanism of partitioning information in a quadtree with a nested multi-type tree codec tree structure is shown. The coding tree unit (CTU) is regarded as the root of the quadtree and is first divided by the quadtree structure. Then, each quadtree leaf node (when large enough) is further divided by the multi-type tree structure. In a quadtree with a nested multi-type tree codec tree structure, for each CU node, a first flag (split_cu_flag) is sent to indicate whether the node is further divided. If the current CU node is a quadtree CU node, the second flag (split_qt_flag) is sent to indicate whether it is a QT partition or an MTT partition mode. When the node is partitioned using the MTT partition mode, the third flag (mtt_split_cu_vertical_flag) is sent to indicate the partition direction, and then the fourth flag (mtt_split_cu_binary_flag) is sent to indicate whether the partition is a binary partition or a ternary partition. According to the values ​​of mtt_split_cu_vertical_flag and mtt_split_cu_binary_flag, the multi-type tree split mode (MttSplitMode) of the CU is derived, as shown in Table 1.

[0013] Table 1 - Derivation of MttSplitMode based on multi-type tree syntax elements

[0014] MttSplitMode mtt_split_cu_vertical_flag mtt_split_cu_binary_flag SPLIT_TT_HOR 0 0 SPLIT_BT_HOR 0 1 SPLIT_TT_VER 1 0 SPLIT_BT_VER 1 1

[0015] Figure 4 The CTU is shown to be divided into multiple CUs with quadtree and nested multi-type tree codec block structures, where the bold block edges represent quadtree partitions and the remaining edges represent multi-type tree partitions. The quadtree with nested multi-type tree partitions provides a content-adaptive codec tree structure composed of CUs. The size of the CU can be as large as the CTU or as small as 4×4 in units of luma samples. For the 4:2:0 chroma format, the maximum chroma CB size is 64×64 and the minimum size chroma CB consists of 16 chroma samples.

[0016] In VVC, the maximum supported luma transform size is 64 × 64 and the maximum supported chroma transform size is 32 × 32. When the width or height of the CB is larger than the maximum transform width or height, the CB is automatically split in the horizontal and / or vertical direction to meet the transform size limit in that direction.

[0017] The following parameters may be defined for quadtree definition with nested multi-type tree coding tree scheme. These parameters are specified by SPS syntax elements and may be further refined by picture header syntax elements.

[0018] -CTU size: the root node size of the quadtree

[0019] -MinQTSize: Minimum allowed quadtree leaf node size

[0020] -MaxBtSize: Maximum allowed binary tree root node size

[0021] -MaxTtSize: Maximum allowed ternary tree root node size

[0022] -MaxMttDepth: The maximum allowed hierarchical depth of the multi-type tree split from the leaves of the quad tree

[0023] -MinCbSize: The minimum allowed size of the decoded block node

[0024] In one example of a quadtree with a nested multi-type tree codec tree structure, the CTU size is set to 128×128 luma samples and two corresponding 64×64 blocks of 4:2:0 chroma samples, MinQTSize is set to 16×16, MaxBtSize is set to 128×128, MaxTtSize is set to 64×64, MinCbsize (width and height) is set to 4×4, and MaxMttDepth is set to 4. Quadtree partitioning is first applied to the CTU to generate quadtree leaf nodes. The size of the quadtree leaf node can range from 16×16 (i.e., MinQTSize) to 128×128 (i.e., CTU size). If the leaf QT node is 128×128, the binary tree will not be further split because the size exceeds MaxBtSize and MaxTtSize (i.e., 64×64). Otherwise, the quadtree leaf node may be further split by the multi-type tree. Therefore, the quadtree leaf node is also the root node of the multitree, and its multitree depth (mttDepth) is 0. When the multitree depth reaches MaxMttDepth (i.e. 4), no further splitting is considered. When the width of the multitype tree node is equal to MinCbsize, no further vertical splitting is considered. Similarly, when the height of the multitype tree node is equal to MinCbsize, no further horizontal splitting is considered.

[0025] In VVC, the codec tree scheme supports the ability to have separate block tree structures for luma and chroma. For P and B slices, the luma and chroma CTBs in one CTU must share the same codec tree structure. However, for I slices, luma and chroma can have separate block tree structures. When separate block tree mode is applied, the luma CTB is partitioned into CUs by one codec tree structure, and the chroma CTB is partitioned into chroma CUs by another codec tree structure. This means that a CU in an I slice may consist of codec blocks for the luma component or codec blocks for two chroma components, while a CU in a P or B slice always consists of codec blocks for all three color components unless the video is monochrome.

[0026] Virtual Pipeline Data Unit (VPDU)

[0027] A virtual pipeline data unit (VPDU) is defined as a non-overlapping unit in a picture. In a hardware decoder, consecutive VPDUs are processed simultaneously by multiple pipeline stages. In most pipeline levels, the VPDU size is roughly proportional to the buffer size, so it is important to keep the VPDU size small. In most hardware decoders, the VPDU size can be set to the maximum transform block (TB) size. However, in VVC, ternary tree (TT) and binary tree (BT) segmentation may cause the VPDU size to increase.

[0028] To keep the VPDU size to 64x64 luma samples, the following specification segmentation restrictions (with syntax signaling modifications) are applied to the VTM, as Figure 5 As shown:

[0029] - For CUs with width or height, or width and height equal to 128, TT partitioning (such as Figure 5 ) are not allowed.

[0030] - For 128xN CUs with N≤64 (i.e., width equal to 128 and height less than 128), horizontal BT is not allowed.

[0031] - For Nx128 CUs with N≤64 (i.e., height equal to 128 and width less than 128), vertical BT is not allowed.

[0032] exist Figure 5 In the example above, the luma block size is 128x128. The dashed line indicates a block size of 64x64. According to the above restrictions, the segmentation examples that are not allowed are indicated by "X", such as Figure 5 As shown in various examples (510-580).

[0033] Intra-frame chroma partitioning and prediction constraints

[0034] In typical hardware video encoders and decoders, the processing throughput drops when a picture has more small intra blocks due to the sample processing data dependency between adjacent intra blocks. The predictor generation for an intra block requires reconstructed samples from the top and left boundaries of the adjacent blocks. Therefore, intra prediction must be processed continuously block by block.

[0035] In HEVC, the smallest intra CU is 8x8 luma samples. The luma component of the smallest intra CU can be further split into 4 4x4 luma intra prediction units (Pus), but the chroma component of the smallest intra CU cannot be further split. Therefore, the worst-case hardware processing throughput occurs when a 4x4 chroma intra block or a 4x4 luma intra block is processed. In VVC, in order to improve the worst-case throughput, by constraining the division of chroma intra CBs, chroma intra CBs with less than 16 chroma samples (size 2x2, 4x2, and 2x4) and chroma intra CBs with a width less than 4 chroma samples (size 2xN) are not allowed.

[0036] In a single codec tree, the smallest chroma intra prediction unit (SCIPU) is defined as a codec tree node whose chroma block size is greater than or equal to 16 chroma samples and has at least one sub-luminance block less than 64 luminance samples, or is defined as a codec tree node whose chroma block size is not 2xN and has at least one sub-luminance block (with 4xN luminance samples). It is required that in each SCIPU, all CBs are inter-frames (inter), or all CBs are non-inter-frames (non-inter), that is, intra-frames or intra-frame block copies (IBC). In the case of non-inter SCIPU, it is also required that the chroma of the non-inter SCIPU should not be further divided and the luminance of the SCIPU is allowed to be further divided. In this way, small chroma intra-frame CBs with a size less than 16 chroma samples or a size of 2xN are removed. In addition, in the case of non-inter SCIPU, chroma scaling is not applied. Here, no additional syntax is sent, and whether the SCIPU is non-inter can be derived from the prediction mode of the first luma CB in the SCIPU. If the current segment is an I-segment, or the current SCIPU has a 4x4 luma partition after further splitting once, the type of the SCIPU is inferred to be non-inter (because inter 4x4 is not allowed in VVC); otherwise, the type of the SCIPU (inter or non-inter) is indicated by a flag before parsing the CU in the SCIPU.

[0037] For dual trees in intra pictures, 2xN intra chroma blocks are removed by disabling vertical binary and vertical ternary partitioning for 4xN and 8xN chroma partitions, respectively. Small chroma blocks of size 2x2, 4x2, and 2x4 are also removed by partition restriction.

[0038] In addition, by considering the picture width and height to be multiples of max(8, MinCbSizeY), the limitation on the picture size is taken into account to avoid 2x2 / 2x4 / 4x2 / 2xN intra chroma blocks at the picture corners.

[0039] Intra-mode codec with 67 intra-prediction modes

[0040] To capture arbitrary edge directions that occur in natural videos, the number of directional intra modes in VVC is expanded from 33 used in HEVC to 65. New directional modes not found in HEVC are Figure 6 Indicated by dashed arrows in . Planar and DC modes remain unchanged. These denser directional intra prediction modes apply to all block sizes and for luma and chroma intra prediction.

[0041] In VVC, for non-square blocks, several traditional angular intra prediction modes are adaptively replaced with wide-angle intra prediction modes.

[0042] In HEVC, each intra-coded block has a square shape and the length of each of its sides is a power of 2. Therefore, no division operation is required to generate intra predictors using DC mode. In VVC, blocks can have a rectangular shape, which in general requires the use of division operations for each block. To avoid division operations for DC prediction, only the longer sides are used to calculate the average for non-square blocks.

[0043] In order to keep the complexity of most probable mode (MPM) list generation low, the intra mode codec with 6 MPMs is used by considering two available adjacent intra modes. The following three aspects are considered when constructing the MPM list:

[0044] - Default intra mode

[0045] - Adjacent Intra Mode

[0046] - Intra-mode for export

[0047] Regardless of whether the MRL and ISP codecs are applied, a unified 6-MPM list is used for intra blocks. The MPM list is constructed based on the intra modes of the neighboring blocks on the left and above. Assuming that the mode on the left is marked as Left and the mode of the block above is marked as Above, the unified MPM list is constructed as follows:

[0048] - When a neighboring block is not available, its intra mode is set to planar by default.

[0049] -If both Left and Above modes are non-angle modes:

[0050] -MPM List → {plane, DC, V, H, V-4, V+4}

[0051] - If one of Left and Above modes is an angle mode and the other is a non-angle mode:

[0052] - Set mode Max to the larger mode between Left and Above

[0053] - MPM list → {Flat, Max, Max-1, Max+1, Max-2, Max+2}

[0054] -If Left and Above are both angled and they are different:

[0055] - Set mode Max to the larger mode between Left and Above

[0056] -If Max-Min is equal to 1:

[0057] ●MPM list → {Plane, Left, Above, Min-1, Max+1, Min-2}

[0058] - Otherwise, if Max-Min is greater than or equal to 62:

[0059] ●MPM list → {Plane, Left, Above, Min+1, Max-1, Min+2}

[0060] - Otherwise, if Max-Min is equal to 2:

[0061] ●MPM list → {Plane, Left, Above, Min+1, Min-1, Max+1}

[0062] -otherwise:

[0063] ●MPM list → {Plane, Left, Above, Min-1, Min+1, Max-1}

[0064] -If Left and Above are both angled and they are the same:

[0065] - MPM List → {Plane, Left, Left-1, Left+1, Left-2, Left+2}

[0066] In addition, the first bin of the MPM index codeword is decoded by the CABAC context. A total of three contexts are used, corresponding to whether the current intra block is MRL-enabled, ISP-enabled, or a normal intra block.

[0067] In the 6 MPM list generation processes, pruning is used to remove repeated patterns so that only unique patterns can be included in the MPM list. For the entropy coding and decoding of the 61 non-MPM modes, Truncated Binary Code (TBC) is used.

[0068] Wide-Angle Intra Prediction for Non-SquareBlocks

[0069] The conventional angular intra prediction direction is defined as clockwise from 45 degrees to -135 degrees. In VVC, several traditional angular intra prediction modes are adaptively replaced with wide-angle intra prediction modes for non-square blocks. The replaced modes are sent using the original mode index, which is remapped to the index of the wide-angle mode after parsing. The total number of intra prediction modes remains unchanged, i.e. 67, and the intra mode encoding and decoding method remains unchanged.

[0070] To support these prediction directions, a top reference of length 2W+1 and a left reference of length 2H+1 are respectively Fig. 7A and Figure 7B Definition shown. Fig. 7A and Figure 7B The Dia.mode in is the diagonal mode, that is, mode 34.

[0071] The number of alternative modes in the wide-angle direction mode depends on the aspect ratio of the block. The alternative intra prediction modes are shown in Table 2.

[0072] Table 2 - Intra prediction modes replaced by wide angle mode

[0073] Aspect Ratio Alternative intra prediction modes W / H==16 Mode 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 W / H==8 Mode 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 W / H==4 Mode 2,3,4,5,6,7,8,9,10,11 W / H==2 Mode 2,3,4,5,6,7, W / H==1 none W / H==1 / 2 Mode 61, 62, 63, 64, 65, 66 W / H==1 / 4 Modes 57,58,59,60,61,62,63,64,65,66 W / H==1 / 8 Mode 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66 W / H==1 / 16 Mode 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66

[0074] In VVC, both 4:2:2 and 4:4:4 as well as 4∶2∶0 chroma formats are supported. The chroma derived mode (DM) derivation table for the 4:2:2 chroma format was originally ported from HEVC to expand the number of entries from 35 to 67 to keep in line with the expansion of intra prediction modes. Since the HEVC specification does not support prediction angles below -135 degrees and above 45 degrees, the luma intra prediction modes from 2 to 5 are mapped to 2. Therefore, the chroma DM derivation table for the 4:2:2: chroma format is updated by replacing some values ​​of the mapping table entries to more accurately convert the prediction angles of chroma blocks.

[0075] Cross-Component Linear Model (CCLM) prediction

[0076] In order to reduce cross-component redundancy, the cross-component linear model (CCLM) prediction mode is adopted in VVC. The chroma samples are predicted based on the reconstructed luminance samples of the same CU using a linear model as follows:

[0077] pred C (i, j) = α·rec L ′(i,j)+β (1)

[0078] Where predC(i,j) represents the predicted chrominance samples in the CU, and recL(i,j) represents the downsampled reconstructed luminance samples of the same CU.

[0079] The CCLM parameters (α and β) are derived from up to four adjacent chroma samples and their corresponding downsampled luma samples. Assuming the current chroma block size is W×H, W′ and H′ are set to:

[0080] - When LM_LA mode is used, W′=W, H′=H;

[0081] - When LM_A mode is used, W′=W+H;

[0082] - When LM_L mode is used, H'=H+W.

[0083] The upper neighboring position is denoted as S[0, -1] ... S[W'-1, -1] and the left neighboring position is denoted as S[-1, 0] ... S[-1, H'-1]. Then four samples are selected as:

[0084] - S[W′ / 4, -1], S[3*W′ / 4, -1], S[-1, H′ / 4], S[-1, 3*H′ / 4], when LM mode is used and both upper and left neighboring samples are available;

[0085] -S[W′ / 8, -1], S[3*W′ / 8, -1], S[5*W′ / 8, -1], S[7*W′ / 8, -1], when LM-A mode is used or only upper adjacent samples are available;

[0086] -S[-1, H′ / 8], S[-1, 3*H′ / 8], S[-1, 5*H′ / 8], S[-1, 7*H′ / 8], when LM-L mode is used or only left adjacent samples are available.

[0087] The four adjacent luma samples at the selected position are downsampled and compared four times to find the two larger values: x 0 A and x 1 A , and two smaller values: x 0 B and x 1 B Their corresponding chrominance sample values ​​are represented by y 0 A ,y 1 A ,y 0 B and 1 B Then x A 、x B ,y A and B is exported as:

[0088] xA=(x0A+x1A+1)>>1;

[0089] xB=(x0B+x1B+1)>>1;

[0090] yA=(y0A+y1A+1)>>1;

[0091] yB=(y0B+y1B+1)>>1 (2)

[0092] Finally, the linear model parameters α and β are obtained according to the following equations.

[0093]

[0094] β=y B -α·x B (4)

[0095] Figure 8 An example of the positions of the left and upper samples and samples of the current block involved in the LM_LA mode is shown. Figure 8The relative sample positions of an NxN chroma block 810, a corresponding 2Nx2N luma block 820, and their neighboring samples (shown as solid circles) are shown.

[0096] The division operation to calculate the parameter α is implemented by a lookup table. To reduce the memory required to store the table, the diff value (the difference between the maximum and minimum values) and the parameter α are expressed in exponential notation. For example, diff is approximated using a 4-bit significant part and an exponent. Therefore, the table for 1 / diff is reduced to 16 elements with 16 significant values, as shown below:

[0097] DivTable[]={0,7,6,5,5,4,4,3,3,2,2,1,1,1,1,0} (5)

[0098] This will have the advantage of reducing computational complexity as well as the memory size required to store the required tables.

[0099] In addition to the upper template and the left template being used together to calculate the linear model coefficients, they can also be used alternately in 2 other LM modes, called LM_A and LM_L modes.

[0100] In LM_A mode, only the upper template is used to calculate the linear model coefficients. To obtain more samples, the upper template is expanded to (W+H) samples. In LM_L mode, only the left template is used to calculate the linear model coefficients. To obtain more samples, the left template is expanded to (H+W) samples.

[0101] In LM_LA mode, the left and upper templates are used to calculate the linear model coefficients.

[0102] To match the chroma sample positions of a 4:2:0 video sequence, two types of downsampling filters are applied to the luma samples to achieve a 2 to 1 downsampling ratio in both the horizontal and vertical directions. The choice of downsampling filter is specified by the SPS level flag. The two downsampling filters are as follows, corresponding to "type-0" and "type-2" content, respectively.

[0103] Rec L ′(i, j)=[rec L (2i-1, 2j-1)+2·rec L (2i-1, 2j-1)+rec L (2i+1,2j-1)+rec L (2i-1, 2j)+2·rec L (2i,2j)+rec L (2i+1,2j)+4]>>3 (6)

[0105] Rec L ′(i, j)=rec L (2i, 2j-1)+rec L (2i-1, 2j)+4·rec L (2i,2j)+rec L (2i+1,2j)+rec L (2i, 2j+1)+4]>>3 (7)

[0107] Note that when the upper reference line is at a CTU boundary, only one luma line (common line buffer in intra prediction) is used to generate the downsampled luma samples.

[0108] This parameter calculation is performed as part of the decoding process, not just as an encoder search operation. Therefore, no syntax is used to convey the α and β values ​​to the decoder.

[0109] For chroma intra mode coding and decoding, a total of 8 intra modes are allowed for chroma intra mode coding and decoding. These modes include five traditional intra modes and three cross-component linear model modes (LM_LA, LM_A and LM_L). The chroma mode transmission and derivation process is shown in Table 3. The chroma mode coding and decoding depends directly on the intra prediction mode of the corresponding luminance block. Since separate block partitioning structures for luminance and chrominance components are enabled in the I segment, one chroma block can correspond to multiple luminance blocks. Therefore, for the chroma DM mode, the intra prediction mode of the corresponding luminance block covering the center position of the current chroma block is directly inherited.

[0110] Table 3 - Chroma prediction modes derived from luma mode when CCLM is enabled

[0111]

[0112] Regardless of the value of sps_cclm_enabled_flag, a single binarization table is used, as shown in Table 4.

[0113] Table 4 - Unified binarization table of chrominance prediction mode

[0114]

[0115]

[0116] In Table 4, the first bin indicates whether it is normal mode (0) or CCLM mode (1). If it is LM mode, the next bin indicates whether it is LM_LA (0). If it is not LM_LA, the next bin indicates whether it is LM_L (0) or LM_A (1). For this case, when sps_cclm_enabled_flag is 0, the first bin of the binarization table corresponding to intra_chroma_pred_mode can be discarded before entropy coding and decoding. Or, in other words, the first bin is inferred to be 0, so no coding and decoding is performed. This single binarization table is used for cases where sps_cclm_enabled_flag is equal to 0 and 1. The first two bins in Table 4 use their own context model for context coding and decoding, and the remaining bins are bypass coded and decoded.

[0117] Additionally, to reduce luma-chroma latency in dual trees, when the 64x64 luma codec tree node is partitioned with NotSplit (and ISP is not used for 64x64 CUs) or QT, the chroma CUs in the 32x32 / 32x16 chroma codec tree nodes are allowed to use CCLM as follows:

[0118] - If a 32x32 chroma node is not split or is split using QT splitting, all chroma CUs in the 32x32 node can use CCLM.

[0119] - If the 32x32 chroma node uses horizontal BT partitioning and the 32x16 child node is not partitioned or uses vertical BT partitioning, all chroma CUs in the 32x16 chroma node can use CCLM. Under all other luma and chroma codec tree partitioning conditions, chroma CUs are not allowed to use CCLM.

[0120] Multiple Model CCLM (Multiple Model, MMLM for short)

[0121] In JEM (J. Chen, E. Alshina, G J. Sullivan, J.-R. Ohm, and J. Boyce, Algorithm Description of Joint Exploration Test Model 7, document JVET-G1001, ITU-T / ISO / IEC Joint Video Exploration Team (JVET), Jul. 2017), a multiple model CCLM mode (Multiple model CCLM mode, referred to as MMLM) is proposed for predicting chrominance samples from the luma samples of the entire CU using two models. In MMLM, the adjacent luma samples and the adjacent chroma samples of the current block are divided into two groups, each group is used as a training set to derive a linear model (ie, a specific α and β are derived for a specific group). In addition, the samples of the current luma block are also classified based on the same rules as the classification of the adjacent luma samples.

[0122] Fig. 9 An example of classifying neighboring samples into two groups is shown. Threshold is calculated as the average of neighboring reconstructed brightness samples. Neighboring samples with Rec'L[x,y]<=Threshold are classified into group 1; and neighboring samples with Rec'L[x,y]>Threshold are classified into group 2.

[0123]

[0124] Local illumination compensation (LIC)

[0125] Local illumination compensation (LIC) is an inter-frame prediction method that uses neighboring samples of the current block and the reference block. It is based on a linear model using a scaling factor a and an offset b. It derives the scaling factor a and the offset b by referring to the neighboring samples of the current block and the reference block. In addition, the codec tool is adaptively enabled or disabled for each CU.

[0126] For more details of LIC, please refer to document JVET-C1001 (J. Chen, et al., "Algorithm Description of Joint Exploration Test Model 3", Joint Video Exploration Team (JVET) of ITU-T SG 16WP 3and ISO / IEC JTC 1 / SC 29 / WG 11, 3rd Meeting: Geneva, CH, 26 May-1 June 2016, document JVET-C1001).

[0127] Convolutional cross-component model (CCCM)

[0128] In CCCM, a convolutional model is used to improve the chrominance prediction performance. The convolutional model uses a 7-tap filter consisting of a 5-tap plus-shaped spatial component, a nonlinear term, and a bias term. The input to the spatial 5-tap component of the filter consists of the center (C) luminance sample (which is paired with the chrominance sample to be predicted) and its upper / north (N), lower / south (S), left / west (W), and right / east (E) neighboring samples, such as Fig.10 shown.

[0129] The non-linear term (denoted as P) is expressed as a power of two of the center luminance sample C and scaled to the sample value range of the content:

[0130] P=(C*C+midVal)>>bitDepth (9)

[0131] Therefore, for 10 bits of content, the calculation is as follows:

[0132] P=(C*C+512)>>10 (10)

[0133] The bias term (denoted as B) represents a scalar offset between input and output (similar to the offset term in CCLM) and is set to the intermediate chrominance value (eg, 512 for 10-bit content).

[0134] The current pixel position (i.e., Fig.10 The output of the filter at "C" in the figure is calculated as the filter coefficient c i The convolution between the input values ​​and clipping to the range of valid chroma samples:

[0135] predChromaVal=c0C+c1N+c2S+c3E+c4W+c5P+c6B (11)

[0136] Filter coefficient c i It is computed by minimizing the MSE between the predicted chroma samples and the reconstructed chroma samples in the reference region. Fig.11 A reference region consisting of 6 rows of chroma samples above and to the left of the PU is shown. The reference region extends 1 PU width to the right, and 1 PU height below the PU boundary. The region has been adjusted to contain only available samples. The region shown in gray needs to be extended to support the "side samples" of the plus-shaped spatial filter, and is filled if not available.

[0137] MSE minimization is performed by computing the autocorrelation matrix of the luma input and the cross-correlation vector between the luma input and the chroma output. The autocorrelation matrix is ​​subjected to an LDL decomposition, and the final filter coefficients are calculated using backward substitution. This process roughly follows the calculation of the ALF filter coefficients in ECM, but the LDL decomposition is chosen instead of the Cholesky decomposition to avoid the use of square root operations.

[0138] The convolutional cross component model (CCCM) has been disclosed for consideration of next generation video codecs beyond VVC and has shown performance improvements. The present invention discloses the desire to further improve the performance of CCCM or reduce its complexity. Accordingly, the present invention discloses some solutions to further improve the performance of CCCM. In addition, some solutions to reduce the complexity of CCCM are also disclosed. Summary of the invention

[0139] A method and apparatus for video encoding and decoding are disclosed. According to the method, input data associated with a current block including a luminance block and a chrominance block is received, wherein the input data includes pixel data to be encoded on the encoder side or encoded data associated with the current block to be decoded on the decoder side, and wherein the chrominance block has a lower resolution than the luminance block. A downsampled luminance block is generated by applying a target downsampled kernel to the luminance block, wherein the target downsampled kernel is selected from a filter set including a plurality of downsampled kernels. A convolution cross-component model predictor of a target chrominance sample in the chrominance block is determined, wherein the convolution cross-component model predictor includes an item generated by applying a convolution filter to a position of the target downsampled luminance sample. A final predictor of the target chrominance sample is generated from a prediction candidate set including the convolution cross-component model predictor. The target chrominance sample is encoded or decoded by the final predictor.

[0140] In one embodiment, the multiple downsampling kernels correspond to different sets of filter coefficients. In another embodiment, the multiple downsampling kernels correspond to different filter shapes.

[0141] In one embodiment, the plurality of downsampling kernels are associated with a plurality of cross-component prediction modes. In one embodiment, the best mode of the plurality of cross-component prediction modes is sent or parsed. In another embodiment, the best mode of the plurality of cross-component prediction modes is implicitly determined by comparing matching costs associated with the plurality of cross-component prediction modes measured using one or more reference regions of the current block.

[0142] In one embodiment, the convolution cross-component model predictor includes multiple terms generated by applying convolution filters to locations of target downsampled luma samples using different downsampled luma blocks. In addition, different downsampled luma blocks can be generated by different target downsampled filters in the filter set.

[0143] According to another method, whether an enabling condition is satisfied is determined, wherein the enabling condition includes a current block size. If the enabling condition is satisfied: a downsampled luma block is generated by applying the luma block to a target downsampled kernel; a convolution cross-component model predictor of a target chroma sample in the chroma block is generated, wherein the convolution cross-component model predictor includes an item generated by applying a convolution filter to a target downsampled luma sample position; a final predictor of the target chroma sample is generated from a set of prediction candidates including the convolution cross-component model predictor; and the target chroma sample is encoded or decoded using the final predictor.

[0144] In one embodiment, the current block size corresponds to the current block width, the current block height, or both. In another embodiment, the current block size corresponds to the current block area.

[0145] In one embodiment, the enabling condition is derived based on a logarithmic combination of the current block width, the current block height, and the current block area. In another embodiment, the enabling condition is not met if the previous row of the current block crosses a coding tree unit (CTU) row boundary. In one embodiment, if the enabling condition is not met, a shorter tap convolution filter is used to generate a convolution cross-component model predictor. BRIEF DESCRIPTION OF THE DRAWINGS

[0146] Figure 1A An example adaptive inter / intra video codec system incorporating loop processing is shown.

[0147] Figure 1B Shown with Figure 1A The decoder corresponding to the encoder in .

[0148] Figure 2Examples of multi-type tree structures corresponding to vertical binary segmentation (SPLIT_BT_VER), horizontal binary segmentation (SPLIT_BT_HOR), vertical ternary segmentation (SPLIT_TT_VER), and horizontal ternary segmentation (SPLIT_TT_HOR) are shown.

[0149] Figure 3 An example of a signaling mechanism for partition split information in a quadtree with a nested multi-type tree codec tree structure is shown.

[0150] Figure 4 An example of partitioning a CTU into multiple CUs using a quadtree and a nested multi-type tree coding block structure is shown, where bold block edges represent quadtree partitions and the remaining edges represent multi-type tree partitions.

[0151] Figure 5 Some examples of disabling TT splitting when the width or height of the luma codec block is greater than 64 are shown.

[0152] Figure 6 The intra-frame prediction mode adopted by the VVC video coding standard is shown.

[0153] Fig. 7A -B shows an example of wide-angle intra prediction, where the width of the block is greater than the height ( Fig. 7A ) and blocks that are taller than they are wide ( Figure 7B ).

[0154] Figure 8 An example of the positions of the left and above samples involved in the LM_LA mode and the samples of the current block is shown.

[0155] Fig. 9 Shows an example of classifying adjacent samples into two groups according to the multimodal CCLM.

[0156] Fig.10 An example showing the spatial part of a CCCM convolution filter.

[0157] Fig.11 An example of a reference region (and its filling) used to derive CCCM filter coefficients is shown.

[0158] Fig.12 A 3x2 downsampling filter is shown for downsampling luma samples in the YUV420 color format.

[0159] Fig.13 A flow chart of an exemplary video encoding and decoding system incorporating a Convolutional Cross-Component Model (CCCM) related mode with multiple downsampling kernels according to an embodiment of the present invention is shown.

[0160] Fig.14 A flowchart of an exemplary video coding system for enabling or disabling a Convolutional Cross-Component Model (CCCM) related mode using a simplified enabling condition check according to an embodiment of the present invention is shown. DETAILED DESCRIPTION

[0161] It is readily understood that the components of the present invention as generally described and illustrated in the figures herein may be arranged and designed in a variety of different configurations. Therefore, the following more detailed description of embodiments of the systems and methods of the present invention, as shown in the figures, is not intended to limit the scope of the claimed invention, but is merely representative of selected embodiments of the present invention. References in this specification to "an embodiment," "some embodiments," or similar language mean that specific features, structures, or characteristics described in conjunction with the embodiment may be included in at least one embodiment of the present invention. Therefore, the phrases "in an embodiment" or "in some embodiments" appearing in various places throughout this specification do not necessarily all refer to the same embodiment.

[0162] In addition, the described features, structures or characteristics may be combined in any suitable manner in one or more embodiments. However, those skilled in the relevant art will recognize that the present invention may be implemented without one or more specific details or using other methods, components, etc. In other cases, well-known structures or operations are not shown or described in detail to avoid obscuring various aspects of the present invention. The illustrated embodiments of the present invention will be best understood by reference to the accompanying drawings, in which the same parts are represented by the same numbers throughout. The following description is by way of example only, and simply describes some selected embodiments of the apparatus and method consistent with the present invention as claimed herein.

[0163] The following methods are proposed to improve the encoding and decoding performance of CCCM.

[0164] In CCCM, if the spatial resolution of the chrominance components is lower than that of the luma components (e.g. the color format is YUV420), there is a luma reconstruction downsampling process. The downsampling kernel is currently designed as a 3x2 filter in YUV420 format with the following coefficients Fig.12 As shown, where the filter coefficient set corresponds to The present invention proposes a method of multiple downsampling kernels.

[0165] In one embodiment, multiple downsampling kernels may have different coefficients. In other words, each kernel has its own set of coefficients.

[0166] In one embodiment, the multiple downsampling kernels may have different filter shapes. In other words, the filter shape may not be 3x2.

[0167] In one embodiment, there are multiple CCCM modes associated with different downsampling kernels. A syntax may be sent or parsed to indicate the best CCCM mode.

[0168] In one embodiment, there are multiple CCCM modes associated with different downsampling kernels. By comparing the reference region (e.g. Fig.11 The decoder can implicitly decide the best CCCM mode by calculating the matching error or matching cost of each CCCM mode in the reference area to the left and above the current PU in the decoder.

[0169] In one embodiment, the CCCM model may consist of multiple spatial terms derived from downsampled reconstructed luma samples with different downsampled kernels. In equation (11), it illustrates an example of a single spatially derived predictor based on the CCCM model, where a convolution filter is applied to a single set of downsampled luma samples from a single downsampled kernel. According to the present invention, multiple kernels are used to generate multiple sets of downsampled luma samples. Thus, multiple spatially derived predictors are generated.

[0170] In the current CCCM, there is a sample size condition. If the current mode is MMLM_LT and the number of reference samples is greater than or equal to 128, the multi-mode CCCM can be used. A method of replacing the sample size condition with a block size condition is proposed, which is simpler and has the same physical meaning.

[0171] In one embodiment, the sample size condition is replaced by a block width condition and a block height condition, and these two conditions may be connected by an AND logic operation.

[0172] In one embodiment, the sample size condition is replaced by a block width condition and a block height condition, and these two conditions may be connected by an OR logic operation.

[0173] In one embodiment, the sample size condition is replaced by a block area condition, and the block area is obtained by multiplying the block width by the block height.

[0174] In one embodiment, the conditions for block width, block height, and block area may be combined using logarithmic operations.

[0175] In one embodiment, CCCM cannot be applied to those CUs located at the top boundary of CTU. In other words, if the upper row of the current CU crosses the CTU row boundary, CCCM is disabled. In another embodiment, if the sample size condition cannot be met, a CCCM with fewer filter taps is used to replace the original CCCM.

[0176] The above-mentioned convolutional cross-component model (CCCM) can be implemented at the encoder side or the decoder side. For example, any of the proposed CCCM methods can be implemented in the intra-frame codec module (e.g. Figure 1B Intra-frame prediction 150 in the encoder) or intra-frame coding module in the encoder (e.g. Figure 1A Any proposed CCCM method can also be implemented as a circuit coupled to an intra-frame coding module on the decoder or encoder side. However, the decoder or encoder can also use additional processing units to implement the required CCCM processing. The intra-frame prediction unit (e.g., Figure 1A Unit 110 and Figure 1B The units 150 in the figure are shown as separate processing units, which may correspond to executable software or firmware codes stored on a medium such as a hard disk or flash memory, for a central processing unit (CPU) or a programmable device (such as a digital signal processor (DSP) or a field programmable gate array (FPGA)).

[0177] Fig.13A flowchart of an exemplary video codec system incorporating a convolutional cross-component model (CCCM) related mode with multiple downsampling kernels according to an embodiment of the present invention is shown. The steps shown in the flowchart can be implemented as executable program codes on one or more processors (e.g., one or more CPUs) on the encoder side. The steps shown in the flowchart can also be implemented based on hardware, such as one or more electronic devices or processors arranged to perform the steps in the flowchart. According to the method, in step 1310, input data associated with a current block including a luminance block and a chrominance block is received, wherein the input data includes pixel data to be encoded on the encoder side or encoded data associated with the current block to be decoded on the decoder side, and wherein the chrominance block has a lower resolution than the luminance block. In step 1320, the downsampled luminance block is generated by applying a target downsampling kernel to the luminance block, wherein the target downsampling kernel is selected from a filter set including multiple downsampling kernels. As previously described, the convolution filter may also involve some pixels outside the block, and padding may be required. In step 1330, a convolutional cross-component model predictor of a target chroma sample in the chroma block is determined, wherein the convolutional cross-component model predictor comprises terms generated by applying a convolutional filter to the locations of the target downsampled luma samples. In step 1340, a final predictor of the target chroma sample comprising the convolutional cross-component model predictor is generated. In step 1350, the target chroma sample is encoded or decoded using the final predictor.

[0178] Fig.14A flow chart of an exemplary video codec system for enabling or disabling a convolutional cross-component model (CCCM) related mode using simplified conditional checks according to an embodiment of the present invention is shown. According to the method, in step 1410, input data associated with a current block including a luminance block and a chrominance block is received, wherein the input data includes pixel data to be encoded on the encoder side or encoded data associated with the current block to be decoded on the decoder side, and wherein the chrominance block has a lower resolution than the luminance block. In step 1420, whether a condition is met is determined, wherein the condition includes the current block size. If the condition is met (i.e., the "yes" path from step 1420), steps 1430 to 1460 are executed. Otherwise (i.e., the "no" path starting from step 1420), steps 1430 to 1460 are skipped. In step 1430, a downsampled luminance block is generated by applying a target downsampled kernel to the luminance block. In step 1440, a convolutional cross-component model predictor of a target chroma sample in the chroma block is determined, wherein the convolutional cross-component model predictor comprises terms generated by applying a convolutional filter to the position of the target downsampled luma sample. In step 1450, a final predictor of the target chroma sample comprising the convolutional cross-component model predictor is generated. In step 1460, the target chroma sample is encoded or decoded using the final predictor.

[0179] The flowchart shown is intended to illustrate an example of video encoding and decoding according to the present invention. Without departing from the spirit of the present invention, those skilled in the art may modify each step, rearrange the steps, split the steps or combine the steps to implement the present invention. In the present disclosure, specific syntax and semantics are used to illustrate examples to implement embodiments of the present invention. A technician may implement the present invention by replacing the above syntax and semantics with equivalent syntax and semantics without departing from the spirit of the present invention.

[0180] The above description is presented to enable one of ordinary skill in the art to implement the present invention provided in the context of a specific application and its requirements. Various modifications to the described embodiments will be apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments. Therefore, the present invention is not intended to be limited to the specific embodiments shown and described, but to conform to the widest scope consistent with the principles and novel features disclosed herein. In the above detailed description, various specific details are described in order to provide a thorough understanding of the present invention. However, it will be understood by those skilled in the art that the present invention may be implemented.

[0181] The embodiments of the present invention as described above can be implemented in various hardware, software codes or a combination of the two. For example, one embodiment of the present invention can be a program code integrated into one or more circuits in a video compression chip or integrated into video compression software to perform the processing described herein. An embodiment of the present invention can also be a program code to be executed on a digital signal processor (Digital Signal Processor, referred to as DSP) to perform the processing described herein. The present invention can also be related to many functions performed by a computer processor, a digital signal processor, a microprocessor or a field programmable gate array (field programmable gate array, referred to as FPGA). These processors can be configured to perform specific tasks according to the present invention by executing machine-readable software code or firmware code that defines the specific method embodied in the present invention. The software code or firmware code can be developed in different programming languages ​​and different formats or styles. The software code can also be compiled for different target platforms. However, the different code formats, styles and languages ​​of the software code and other ways of configuring the code to perform tasks according to the present invention will not depart from the spirit and scope of the present invention.

[0182] The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described examples are to be considered in all respects as illustrative only and not restrictive. Therefore, the scope of the present invention is indicated by the appended claims rather than by the foregoing description. All changes within the equivalent meaning and scope of the claims should be included within their scope.

Claims

1. A method for video encoding and decoding of a color picture using cross-component prediction, the method comprising: Receiving input data associated with a current block including a luma block and a chroma block, wherein the input data includes pixel data to be encoded at an encoder side or coded-decoded data associated with the current block to be decoded at a decoder side, and wherein a resolution of the chroma block is lower than a resolution of the luma block; generating a downsampled luma block by applying a target downsampling kernel to the luma block, wherein the target downsampling kernel is selected from a filter set comprising a plurality of downsampling kernels; determining a convolutional cross-component model predictor for target chroma samples in the chroma block, wherein the convolutional cross-component model predictor comprises terms generated by applying the convolutional filter to positions of the target downsampled luma samples; generating a final predictor for the target chroma sample from a set of prediction candidates including the convolutional cross-component model predictor; as well as The target chroma sample is encoded or decoded using the final predictor.

2. The method for video encoding and decoding of a color picture using cross-component prediction according to claim 1, characterized in that: The multiple downsampling kernels correspond to different sets of filter coefficients.

3. The method for video encoding and decoding of a color picture using cross-component prediction according to claim 1, characterized in that: The multiple downsampling kernels correspond to different filter shapes.

4. The method for video encoding and decoding of a color picture using cross-component prediction according to claim 1, characterized in that: The plurality of downsampling kernels are associated with a plurality of cross-component prediction modes.

5. The method for video encoding and decoding of a color picture using cross-component prediction according to claim 4, characterized in that: The best mode from among the plurality of cross-component prediction modes is sent or parsed.

6. The method for video encoding and decoding of a color picture using cross-component prediction according to claim 4, characterized in that: An optimal mode among the plurality of cross-component prediction modes is implicitly determined by comparing a plurality of matching costs associated with the plurality of cross-component prediction modes measured using one or more reference regions of the current block.

7. The method for video encoding and decoding of a color picture using cross-component prediction according to claim 1, characterized in that: The convolutional cross-component model predictor includes a plurality of terms generated by applying the convolutional filter to the position of the target downsampled luma sample using a plurality of different downsampled luma blocks.

8. The method for video encoding and decoding of a color picture using cross-component prediction according to claim 7, characterized in that: The plurality of different downsampled luma blocks are generated by a plurality of different target downsampled filters in the filter set.

9. An apparatus for video encoding and decoding of color pictures using cross-component prediction, the apparatus comprising one or more electronic devices or processors arranged to: Receiving input data associated with a current block including a luma block and a chroma block, wherein the input data includes pixel data to be encoded at an encoder side or coded-decoded data associated with the current block to be decoded at a decoder side, and wherein a resolution of the chroma block is lower than a resolution of the luma block; generating a downsampled luma block by applying a target downsampling kernel to the luma block, wherein the target downsampling kernel is selected from a filter set comprising a plurality of downsampling kernels; determining a convolutional cross-component model predictor for target chroma samples in the chroma block, wherein the convolutional cross-component model predictor comprises terms generated by applying the convolutional filter to positions of the target downsampled luma samples; generating a final predictor for the target chrominance sample from a set of prediction candidates including the convolutional cross-component model predictor; as well as The target chroma sample is encoded or decoded using the final predictor.

10. A method for video encoding and decoding of a color picture using cross-component prediction, the method comprising: Receiving input data associated with a current block including a luma block and a chroma block, wherein the input data includes pixel data to be encoded at an encoder side or coded-decoded data associated with the current block to be decoded at a decoder side, and wherein a resolution of the chroma block is lower than a resolution of the luma block; Determining whether an enabling condition is satisfied, wherein the enabling condition includes a current block size; as well as In response to the enabling condition being met: generating a downsampled luma block by applying a target downsampling kernel to the luma block; determining a convolutional cross-component model predictor for a target chroma sample in the chroma block, wherein the convolutional cross-component model predictor comprises terms generated by applying a convolutional filter to positions of target downsampled luma samples; generating a final predictor for the target chroma sample from a set of prediction candidates including the convolutional cross-component model predictor; as well as The target chroma sample is encoded or decoded using the final predictor.

11. The method for video encoding and decoding of a color picture using cross-component prediction as claimed in claim 10, characterized in that: The current block size corresponds to a current block width, a current block height, or both.

12. The method for video encoding and decoding of a color picture using cross-component prediction according to claim 10, characterized in that: The current block size corresponds to a current block area.

13. The method for video encoding and decoding of a color picture using cross-component prediction according to claim 10, characterized in that: The enabling condition is derived based on a logarithmic combination of a current block width, a current block height, and a current block area.

14. The method for video encoding and decoding of a color picture using cross-component prediction according to claim 10, characterized in that: If a previous row of the current block crosses a row boundary of a codec tree unit, the enabling condition is not satisfied.

15. The method for video encoding and decoding of a color picture using cross-component prediction according to claim 14, characterized in that: If the enabling condition is not met, a shorter tap convolution filter is used to generate the convolution cross-component model predictor.

16. An apparatus for video encoding and decoding of color pictures using cross-component prediction, the apparatus comprising one or more electronic devices or processors arranged to: Receiving input data associated with a current block including a luma block and a chroma block, wherein the input data includes pixel data to be encoded at an encoder side or coded-decoded data associated with the current block to be decoded at a decoder side, and wherein a resolution of the chroma block is lower than a resolution of the luma block; Determining whether an enabling condition is satisfied, wherein the enabling condition includes a current block size; as well as In response to the enabling condition being met: generating a downsampled luma block by applying a target downsampling kernel to the luma block; determining a convolutional cross-component model predictor for a target chroma sample in the chroma block, wherein the convolutional cross-component model predictor comprises terms generated by applying a convolutional filter to positions of target downsampled luma samples; generating a final predictor for the target chroma sample from a set of prediction candidates including the convolutional cross-component model predictor; as well as The target chroma sample is encoded or decoded using the final predictor.

Citation Information

Cited By

  • Encoding method, decoding method, encoder, decoder and storage medium

    WO2026193789A1