Methods, apparatuses, and media for video processing

CN122893293APending Publication Date: 2026-10-09DOUYIN VISION CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202580019524.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-03-07
Filing Date
2025-03-06
Publication Date
2026-10-09

Smart Images

  • Figure CN122893293A_ABST
    Figure CN122893293A_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure provide a solution for video processing. A method for video processing is proposed. The method comprises: determining, for a conversion between a video unit of a video and a bitstream of the video, that at least one syntax element indicating whether a mode is allowed to be used for the video unit is signaled at a coding unit level; and performing the conversion based on the determination.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of this disclosure generally relate to video processing techniques, and more specifically, to cross-component prediction (CCP) in inter-frame and intra-frame coding and decoding of video. Background Technology

[0002] Today, digital video capabilities are being applied to all aspects of people's lives. Various video compression technologies have been proposed for video encoding / decoding, such as MPEG-2, MPEG-4, ITU-TH.263, ITU-TH.264 / MPEG-4 Part 10 Advanced Video Coding (AVC), ITU-TH.265 High Efficiency Video Coding (HEVC) standard, and Versatile Video Coding (VVC) standard. However, the encoding and decoding efficiency of video encoding and decoding technologies is generally expected to be further improved. Summary of the Invention

[0003] Embodiments of this disclosure provide a solution for video processing.

[0004] In a first aspect, a method for video processing is proposed. The method includes: for a conversion between video units and a video bitstream, determining whether an indication mode is permitted for at least one syntax element of the video unit to be transmitted via signaling at the codec unit level; and performing the conversion based on the determination. Compared to conventional solutions, the method according to the first aspect of this disclosure can improve codec performance.

[0005] In a second aspect, another method for video processing is proposed. This method includes: a conversion between video units and a video bitstream for a given video; statistically determining how to apply encoding / decoding modes to the video units based on prior encoding / decoding information; and performing the conversion based on the determination. Compared to conventional solutions, the method according to the second aspect of this disclosure can improve encoding / decoding performance.

[0006] In a third aspect, another method for video processing is proposed. This method includes: a conversion between video units and a video bitstream for a given video; determining a minimum or maximum value of a luminance channel transmitted via signal transmission as a clipping boundary, wherein the video unit comprises a block encoded and decoded using Cross-Component Prediction (CCP) mode; performing clipping on the video unit based on the clipping boundary; and performing a conversion based on the clipping. Compared to conventional solutions, the method according to the third aspect of this disclosure can improve encoding and decoding performance.

[0007] In a fourth aspect, another method for video processing is proposed. This method includes: for the conversion between video units and the video bitstream, determining low-pass filtered cross-component prediction (CCP) candidates inserted into a candidate list, wherein the candidate list is at least one of: a CCP list or a fusion candidate list; inheriting the state of the low-pass filter of the CCP candidates from previously encoded / decoded blocks; and performing the conversion based on the inherited state. According to the method of the fourth aspect of this disclosure, encoding / decoding performance can be improved compared to conventional solutions.

[0008] In a fifth aspect, an apparatus for video processing is provided. The apparatus includes a processor and a non-transitory memory having instructions thereon. When executed by the processor, the instructions cause the processor to perform the method according to the first, second, third, or fourth aspect of this disclosure.

[0009] In a sixth aspect, a non-transitory computer-readable storage medium is provided. This non-transitory computer-readable storage medium stores instructions that cause a processor to execute the method according to the first, second, third, or fourth aspect of this disclosure.

[0010] In a seventh aspect, another non-transitory computer-readable recording medium is proposed. This non-transitory computer-readable recording medium stores a bitstream of video generated by a method performed by means of a device for video processing. The method includes: determining whether at least one syntax element of a video unit, indicating whether a mode is permitted for use in the video, is transmitted via signaling at the codec unit level; and generating a bitstream based on the determination.

[0011] In an eighth aspect, another non-transitory computer-readable recording medium is proposed. This non-transitory computer-readable recording medium stores video data generated as a bitstream by a method performed by an apparatus for video processing. The method includes: statistically determining, based on prior encoding / decoding information, how to apply encoding / decoding modes to video units of the video; and generating the bitstream based on the determined data.

[0012] In a ninth aspect, another non-transitory computer-readable recording medium is proposed. This non-transitory computer-readable recording medium stores a bitstream of video generated by a method performed by an apparatus for video processing. The method includes: determining a minimum or maximum value of a luminance channel transmitted through a signal, which is used as a clipping boundary, wherein video units of the video comprise blocks encoded and decoded using cross-component prediction (CCP) mode; performing clipping on the video units based on the clipping boundary; and generating a bitstream based on the clipping.

[0013] In a tenth aspect, another non-transitory computer-readable recording medium is proposed. This non-transitory computer-readable recording medium stores a bitstream of video generated by a method performed by means of a device for video processing. The method includes: determining that low-pass filtered cross-component prediction (CCP) candidates are inserted into a candidate list, wherein the candidate list is at least one of: a CCP list or a fusion candidate list; inheriting the state of the low-pass filter of the CCP candidates from a previously encoded / decoded block; and generating a bitstream based on the inherited state.

[0014] In the eleventh aspect, a method for storing a bitstream of video is proposed. The method includes: determining whether an indication mode is permitted for use in video; at least one syntax element of a video unit is transmitted via signaling at the codec unit level; generating a bitstream based on the determination; and storing the bitstream in a non-transitory computer-readable recording medium.

[0015] In the twelfth aspect, a method for storing video bitstreams is proposed. The method includes: statistically determining, based on prior encoding / decoding information, how to apply encoding / decoding modes to video units of the video; generating a bitstream based on the determination; and storing the bitstream in a non-transitory computer-readable recording medium.

[0016] In the thirteenth aspect, a method for storing a bitstream of video is proposed. The method includes: determining a minimum or maximum value of a luminance channel transmitted via a signal, which is used as a clipping boundary, wherein video units of the video comprise blocks encoded and decoded using cross-component prediction (CCP) mode; performing clipping on the video units based on the clipping boundary; generating a bitstream based on the clipping; and storing the bitstream in a non-transitory computer-readable recording medium.

[0017] In the fourteenth aspect, a method for storing a bitstream of video is proposed. The method includes: determining low-pass filtered cross-component prediction (CCP) candidates to be inserted into a candidate list, wherein the candidate list is at least one of: a CCP list or a fusion candidate list; inheriting the state of a low-pass filter from a previously encoded / decoded block of CCP candidates; generating a bitstream based on the inherited state; and storing the bitstream in a non-transitory computer-readable recording medium.

[0018] This synopsis aims to present, in a simplified form, the selected concepts further described below in the detailed embodiments. This synopsis is not intended to identify key or essential features of the claimed subject matter, nor is it intended to limit the scope of the claimed subject matter. Attached Figure Description

[0019] The above and other objects, features and advantages of exemplary embodiments of the present disclosure will become clearer from the following detailed description with reference to the accompanying drawings, in which the same reference numerals generally refer to the same parts.

[0020] Figure 1 A block diagram of an example video codec system according to some embodiments of the present disclosure is shown; Figure 2 A block diagram of a first example video encoder according to some embodiments of the present disclosure is shown; Figure 3 A block diagram of an example video decoder according to some embodiments of the present disclosure is shown; Figure 4 The diagram illustrates the effect of the slope adjustment parameter "u", with the model created using the current CCLM on the left and the updated model as proposed on the right. Figure 5 The neighboring blocks (L, A, BL, AR, AL) used in the derivation of the general MPM list are shown. Figure 6 The neighbor reconstructed samples used for the DIMD chromaticity mode are shown; Figure 7 The intra-frame template matching search area used is shown; Figure 8 The use of intra-frame TMP block vectors for IBC blocks is shown; Figure 9A and Figure 9B The methods for dividing angle patterns are shown respectively; Figure 10 An expanded list of MRL candidates is shown; Figure 11 An illustration of the template area is shown; Figure 12 The spatial portion of the convolution filter is shown; Figure 13 The reference region (with its padding) used to derive the filter coefficients is shown. Figure 14 Four Sobel-based gradient modes for GLM are shown; Figure 15 The non-downsampled brightness samples are shown; Figure 16 The reference area for BVG-CCCM is shown; Figure 17 The spatial sample points used in GL-CCCM are shown; Figure 18 Various downsampling filters used in cross-component models are shown; Figure 19 The filter on the sample points of MM-CCLM / MM-CCCM is shown; Figure 20 The spatial GPM candidates are shown; Figure 21 The GPM template is shown; Figure 22 GPM mixing is shown; Figure 23 The transformation selection process for directional planar modes is illustrated; Figure 24 The luminance block used to derive the direct block vector is shown; Figures 25A to 25C Examples of predictions for different positions within the current block are shown respectively; Figure 26 The diagram shows three types of reconstructed regions, comprising thirteen columns or rows of reconstructed pixels. Figure 27 The three types of filter shapes defined are shown, each with fifteen inputs and producing one output. Figures 28A to 28C Examples of predictions for different positions within the current block are shown respectively; Figure 29 The proposed method on the decoder side is shown; Figure 30 The luminance samples L0, ..., L5 are shown relative to the chromaticity sample C; Figure 31 The reference area for BVG-CCCM is shown; Figure 32 The spatial portion of the convolution filter is shown; Figure 33 The locations used for block vector derivation from co-position brightness blocks are shown; Figure 34 A flowchart of a method for video processing according to an embodiment of the present disclosure is shown; Figure 35 A flowchart of a method for video processing according to an embodiment of the present disclosure is shown; Figure 36 A flowchart of a method for video processing according to an embodiment of the present disclosure is shown; Figure 37 A flowchart of a method for video processing according to embodiments of the present disclosure is shown; and Figure 38 A block diagram of a computing device in which various embodiments of the present disclosure may be implemented is shown.

[0021] In all accompanying drawings, the same or similar reference numerals usually refer to the same or similar elements. Detailed Implementation

[0022] The principles of this disclosure will now be described with reference to some embodiments. It should be understood that these embodiments are described for illustrative purposes only and to help those skilled in the art understand and implement this disclosure, and do not imply any limitation on the scope of this disclosure. In addition to the methods described below, the disclosure described herein can be implemented in various other ways.

[0023] In the following description and claims, unless otherwise defined, all scientific and technical terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure pertains.

[0024] The terms "an embodiment," "embodiment," "example embodiment," etc., used in this disclosure refer to embodiments that may include specific features, structures, or characteristics, but not every embodiment is required to include that specific feature, structure, or characteristic. Furthermore, these phrases do not necessarily refer to the same embodiment. Additionally, when a specific feature, structure, or characteristic is described in conjunction with an example embodiment, whether explicitly described or not, it is believed that such a feature, structure, or characteristic affecting its relation to other embodiments is within the knowledge of those skilled in the art.

[0025] It should be understood that although the terms “first” and “second”, etc., can be used to describe various elements, these elements should not be limited to these terms. These terms are used only to distinguish one element from another. For example, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element, without departing from the scope of the exemplary embodiments. As used herein, the term “and / or” includes any and all combinations of one or more of the listed terms.

[0026] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the exemplary embodiments. As used herein, the singular forms “a,” “an,” and “the” are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the terms “comprising,” “including,” and / or “having” as used herein indicate the presence of the said features, elements, and / or components, but do not exclude the presence or addition of one or more other features, elements, components, and / or combinations thereof.

[0027] Example Environment Figure 1This is a block diagram illustrating an example video encoding / decoding system 100 from which the techniques of this disclosure may be utilized. As shown, the video encoding / decoding system 100 may include a source device 110 and a destination device 120. The source device 110 may also be referred to as a video encoding device, and the destination device 120 may also be referred to as a video decoding device. In operation, the source device 110 may be configured to generate encoded video data, and the destination device 120 may be configured to decode the encoded video data generated by the source device 110. The source device 110 may include a video source 112, a video encoder 114, and an input / output (I / O) interface 116.

[0028] Video source 112 may include sources such as video capture devices. Examples of video capture devices include, but are not limited to, interfaces for receiving video data from video content providers, computer graphics systems for generating video data, and / or combinations thereof.

[0029] Video data may include one or more images. Video encoder 114 encodes the video data from video source 112 to generate a bitstream. The bitstream may include a sequence of bits forming a codec representation of the video data. The bitstream may include codec images and associated data. The codec images are codec representations of images. The associated data may include sequence parameter sets, image parameter sets, and other syntax structures. I / O interface 116 may include a modulator / demodulator and / or a transmitter. Encoded video data can be directly transmitted to destination device 120 via network 130A through I / O interface 116. Encoded video data may also be stored on storage medium / server 130B for access by destination device 120.

[0030] The destination device 120 may include an I / O interface 126, a video decoder 124, and a display device 122. The I / O interface 126 may include a receiver and / or a modem. The I / O interface 126 may acquire encoded video data from the source device 110 or the storage medium / server 130B. The video decoder 124 may decode the encoded video data. The display device 122 may display the decoded video data to a user. The display device 122 may be integrated with the destination device 120, or it may be external to the destination device 120, which is configured to interface with an external display device.

[0031] The video encoder 114 and the video decoder 124 can operate according to video compression standards, such as the High Efficiency Video Coding (HEVC) standard, the Versatile Video Coding (VVC) standard, and other existing and / or further standards.

[0032] Figure 2 This is a block diagram illustrating an example of a video encoder 200 according to some embodiments of the present disclosure. The video encoder 200 may be... Figure 1 An example of a video encoder 114 in system 100 is shown.

[0033] The video encoder 200 can be configured to implement any or all of the technologies disclosed herein. Figure 2 In the example, the video encoder 200 includes multiple functional components. The techniques described in this disclosure can be shared among the various components of the video encoder 200. In some examples, the processor can be configured to perform any or all of the techniques described in this disclosure.

[0034] In some embodiments, the video encoder 200 may include a segmentation unit 201, a prediction unit 202, a residual generation unit 207, a transform unit 208, a quantization unit 209, an inverse quantization unit 210, an inverse transform unit 211, a reconstruction unit 212, a buffer 213, and an entropy coding unit 214. The prediction unit 202 may include a mode selection unit 203, a motion estimation unit 204, a motion compensation unit 205, and an intra-frame prediction unit 206.

[0035] In other examples, the video encoder 200 may include more, fewer, or different functional components. In one example, the prediction unit 202 may include an Intra Block Copy (IBC) unit. The IBC unit can perform prediction in an IBC mode, where at least one reference picture is the picture in which the current video block is located.

[0036] Furthermore, although some components (such as motion estimation unit 204 and motion compensation unit 205) can be integrated, for interpretable purposes, these components are... Figure 2 The examples are shown separately.

[0037] The segmentation unit 201 can segment an image into one or more video blocks. The video encoder 200 and the video decoder 300 can support various video block sizes.

[0038] The mode selection unit 203 can select one of several codec modes (intra-frame codec or inter-frame codec) based, for example, on the error result, and provide the resulting intra-frame or inter-frame codec block to the residual generation unit 207 to generate residual block data, and to the reconstruction unit 212 to reconstruct the coded block for use as a reference image. In some examples, the mode selection unit 203 can select an intra-frame / inter-frame joint prediction (CIIP) mode, where prediction is based on inter-frame prediction signals and intra-frame prediction signals. In the case of inter-frame prediction, the mode selection unit 203 can also select a resolution for the block based on the motion vector (e.g., sub-pixel precision or integer pixel precision).

[0039] To perform inter-frame prediction on the current video block, motion estimation unit 204 can generate motion information for the current video block by comparing one or more reference frames from buffer 213 with the current video block. Motion compensation unit 205 can determine the predicted video block for the current video block based on the motion information and decoded samples of images from buffer 213 other than the image associated with the current video block.

[0040] The motion estimation unit 204 and the motion compensation unit 205 can perform different operations on the current video block, for example, depending on whether the current video block is in an I-strip, P-strip, or B-strip. As used herein, an "I-strip" can refer to a portion of an image composed of macroblocks, all of which are based on macroblocks within the same image. Furthermore, as used herein, in some aspects, "P-strip" and "B-strip" can refer to portions of an image composed of macroblocks that do not depend on macroblocks within the same image.

[0041] In some examples, motion estimation unit 204 can perform unidirectional prediction on the current video block, and can search reference images in list 0 or list 1 to find a reference video block for the current video block. Motion estimation unit 204 can then generate a reference index indicating the reference image containing the reference video block in list 0 or list 1, and a motion vector indicating the spatial displacement between the current video block and the reference video block. Motion estimation unit 204 can output the reference index, prediction direction indicator, and motion vector as motion information for the current video block. Motion compensation unit 205 can generate a predicted video block for the current video block based on the reference video block indicated by the motion information of the current video block.

[0042] Alternatively, in other examples, motion estimation unit 204 can perform bidirectional prediction on the current video block. Motion estimation unit 204 can search for reference images in list 0 to find a reference video block for the current video block, and can also search for reference images in list 1 to find another reference video block for the current video block. Motion estimation unit 204 can then generate reference indices indicating the reference images containing the reference video blocks in lists 0 and 1, and motion vectors indicating the spatial displacement between the reference video blocks and the current video block. Motion estimation unit 204 can output the reference indices and the motion vector of the current video block as motion information for the current video block. Motion compensation unit 205 can generate a predicted video block for the current video block based on the reference video blocks indicated by the motion information of the current video block.

[0043] In some examples, the motion estimation unit 204 can output a complete set of motion information for use in the decoder's decoding process. Alternatively, in some embodiments, the motion estimation unit 204 can reference the motion information of another video block to transmit the motion information of the current video block via a signal. For example, the motion estimation unit 204 can determine that the motion information of the current video block is sufficiently similar to the motion information of neighboring video blocks.

[0044] In one example, the motion estimation unit 204 may indicate a value to the video decoder 300 in the syntax structure associated with the current video block, which indicates that the current video block has the same motion information as another video block.

[0045] In another example, motion estimation unit 204 may identify another video block and a motion vector difference (MVD) within the syntax structure associated with the current video block. The motion vector difference indicates the difference between the motion vector of the current video block and the motion vector of the indicated video block. Video decoder 300 may use the motion vector of the indicated video block and the motion vector difference to determine the motion vector of the current video block.

[0046] As discussed above, the video encoder 200 can transmit motion vectors via signals in a predictive manner. Two examples of predictive signaling techniques that can be implemented by the video encoder 200 include Advanced Motion Vector Prediction (AMVP) and Merge Pattern Signaling.

[0047] Intra-prediction unit 206 can perform intra-prediction on the current video block. When intra-prediction unit 206 performs intra-prediction on the current video block, it can generate prediction data for the current video block based on decoded samples from other video blocks in the same frame. The prediction data for the current video block can include the predicted video block and various syntax elements.

[0048] The residual generation unit 207 can generate residual data for the current video block by subtracting (e.g., indicated by a minus sign) multiple predicted video blocks from the current video block. The residual data for the current video block may include residual video blocks corresponding to different sample components of the samples in the current video block.

[0049] In other examples, such as in skip mode, there may be no residual data for the current video block, and the residual generation unit 207 may not perform subtraction operations.

[0050] The transform processing unit 208 can generate one or more transform coefficient video blocks for the current video block by applying one or more transforms to the residual video blocks associated with the current video block.

[0051] After the transform processing unit 208 generates a transform coefficient video block associated with the current video block, the quantization unit 209 can quantize the transform coefficient video block associated with the current video block based on one or more quantization parameter (QP) values ​​associated with the current video block.

[0052] The inverse quantization unit 210 and the inverse transform unit 211 can apply inverse quantization and inverse transform to the transform coefficient video block respectively to reconstruct the residual video block from the transform coefficient video block. The reconstruction unit 212 can add the reconstructed residual video block to the corresponding samples from one or more predicted video blocks generated by the prediction unit 202 to generate a reconstructed video block associated with the current video block, which is stored in the buffer 213.

[0053] After the video block is reconstructed by reconstruction unit 212, a loop filtering operation can be performed to reduce video block artifacts in the video block.

[0054] Entropy encoding unit 214 can receive data from other functional components of video encoder 200. When entropy encoding unit 214 receives data, it can perform one or more entropy encoding operations to generate entropy-encoded data and output a bitstream including the entropy-encoded data.

[0055] Figure 3 This is a block diagram illustrating an example of a video decoder 300 according to some embodiments of the present disclosure. The video decoder 300 may be... Figure 1 An example of video decoder 124 in system 100 is shown.

[0056] The video decoder 300 can be configured to perform any or all of the technologies disclosed herein. Figure 3In the example, the video decoder 300 includes multiple functional components. The techniques described in this disclosure can be shared among the various components of the video decoder 300. In some examples, the processor can be configured to perform any or all of the techniques described in this disclosure.

[0057] exist Figure 3 In the example, the video decoder 300 includes an entropy decoding unit 301, a motion compensation unit 302, an intra-frame prediction unit 303, an inverse quantization unit 304, an inverse transform unit 305, a reconstruction unit 306, and a buffer 307. In some examples, the video decoder 300 can perform a decoding process that is generally contrasted with the encoding process described with respect to the video encoder 200.

[0058] Entropy decoding unit 301 can retrieve the encoded bitstream. The encoded bitstream may include entropy-encoded video data (e.g., encoded video data blocks). Entropy decoding unit 301 can decode the entropy-encoded video data, and based on the entropy-encoded video data, motion compensation unit 302 can determine motion information including motion vectors, motion vector precision, reference picture list indices, and other motion information. Motion compensation unit 302 can determine this information, for example, by performing AMVP and Merge mode. AMVP is used, which includes deriving several most likely candidates based on data from adjacent PBs and reference pictures. Motion information typically includes horizontal and vertical motion vector displacement values, one or two reference picture indices, and, in the case of a prediction region in a B-strip, an identifier of which reference picture list is associated with each index. As used herein, in some aspects, "Merge mode" may refer to deriving motion information from spatially or temporally adjacent blocks.

[0059] The motion compensation unit 302 can generate motion compensation blocks and can perform interpolation based on an interpolation filter. The identifier of the interpolation filter to be used, with sub-pixel accuracy, can be included in the syntax element.

[0060] The motion compensation unit 302 can use the interpolation filter used by the video encoder 200 during the encoding of the video block to calculate the interpolation for sub-integer pixels of the reference block. The motion compensation unit 302 can determine the interpolation filter used by the video encoder 200 based on the received syntax information, and the motion compensation unit 302 can use the interpolation filter to generate the prediction block.

[0061] Motion compensation unit 302 may use at least some of the syntax information to determine the size of the blocks used to encode (multiple) frames and / or (multiple) stripes of the encoded video sequence, segmentation information describing how each macroblock of the image of the encoded video sequence is segmented, a pattern indicating how each segment is encoded, one or more reference frames (and a list of reference frames) for each inter-frame coded block, and other information for decoding the encoded video sequence. As used herein, in some aspects, a “strip” can refer to a data structure that can be decoded independently of other stripes of the same image in terms of entropy encoding / decoding, signal prediction, and residual signal reconstruction. A strip can be the entire image or a region of the image.

[0062] Intra-prediction unit 303 can use, for example, an intra-prediction mode received in the bitstream to form prediction blocks from spatially adjacent blocks. Dequantization unit 304 dequantizes (i.e., dequantizes) the quantized video block coefficients provided in the bitstream and decoded by entropy decoding unit 301. Inverse transform unit 305 applies the inverse transform.

[0063] The reconstruction unit 306 can obtain the decoded block, for example, by adding the residual block to a corresponding predicted block generated by the motion compensation unit 302 or the intra-frame prediction unit 303. If necessary, a deblocking filter can also be used to filter the decoded block to eliminate block artifacts. The decoded video block is then stored in a buffer 307, which provides a reference block for subsequent motion compensation / intra-frame prediction and also generates decoded video for presentation on a display device.

[0064] Some exemplary embodiments of this disclosure will be described in detail below. It should be understood that section headings are used in this document for ease of understanding and not to limit the embodiments disclosed in a section to that section only. Furthermore, while some embodiments are described with reference to multi-functional video codecs or other specific video codecs, the disclosed techniques are also applicable to other video codec techniques. Additionally, although some embodiments describe video codec steps in detail, it will be understood that the corresponding decoding steps of the inverse codec will be implemented by the decoder. Furthermore, the term video processing includes video codec or compression, video decoding or decompression, and video transcoding, wherein video pixels are represented from one compression format to another compression format or at different compression bit rates.

[0065] 1. Brief Overview This disclosure relates to video codec technology. Specifically, it concerns the use of cross-component prediction in image / video codecs. It can be applied to existing video codec standards such as HEVC, VVC, etc. It can also be applied to future video codec standards or video codecs.

[0066] 2 Introduction Video codec standards have primarily evolved through the development of well-known ITU-T and ISO / IEC standards. ITU-T developed the H.261 and H.263 standards, while ISO / IEC developed MPEG-1 and MPEG-4 Vision. These two organizations jointly developed the H.262 / MPEG-2 video standard, the H.264 / MPEG-4 Advanced Video Codec (AVC) standard, and the H.265 / HEVC standard. Since H.262, video codec standards have been based on a hybrid video codec architecture, utilizing temporal prediction plus transform coding. To explore future video codec technologies beyond HEVC, the Joint Video Exploration Team (JVET) was established in 2015 by VCEG and MPEG. JVET meetings are held quarterly, and the new video codec standard was officially named Multifunctional Video Codec (VVC) at the April 2018 JVET meeting, where the first version of the VVC Test Model (VTM) was also released. The VVC working draft and the VTM test model are subsequently updated after each meeting. The VVC project achieved technical completion (FDIS) at a meeting in July 2020.

[0067] 2.1 Intra-frame prediction In intra-frame prediction, the minimum chroma intra-frame prediction unit (SCIPU) constraint in the VVC is removed. Additionally, the VPDU constraint used to reduce CCLM prediction latency is also removed.

[0068] 2.1.1 Multi-Model LM (MMLM) The CCLM included in VVC is extended by adding three multi-model LM (MMLM) modes. In each MMLM mode, reconstructed neighboring samples are classified into two classes using a threshold that serves as the average of the luminance reconstructed neighboring samples. A linear model for each class is derived using the least mean square (LMS) method. For the CCLM mode, the LMS method is also used to derive the linear model. Slope adjustment is applied to both the cross-component linear model (CCLM) and multi-model LM predictions. This adjustment is a linear function that maps luminance values ​​to chrominance values, tilted relative to a center point determined by the average luminance values ​​of the reference samples.

[0069] 2.1.1.1 Slope Adjustment of CCLM CCLM uses a two-parameter model to map luminance values ​​(lumaVal) to chrominance values ​​(chromaVal). The slope parameter "a" and the bias parameter "b" define the mapping as follows: Chromaticity value = a Brightness value + b The adjustment of the slope parameter "u" is transmitted via signal to update the model to the following form: Chromaticity value = a' Brightness value + b' in a' = a + u b' = b - u y r By making this selection, the mapping function revolves around a value with brightness y. r The points are tilted or rotated. The average value of the reference brightness samples used in model creation is used as y. r This is done in order to provide meaningful modifications to the model. The image below illustrates the process.

[0070] Figure 4 The effect of the slope adjustment parameter "u" is shown. Left: Model created using the current CCLM. Right: Updated model as proposed.

[0071] Implementation The slope adjustment parameter is provided as an integer between -4 and 4 (inclusive) and is transmitted via signal in the bitstream. The unit of the slope adjustment parameter is 1 / 8 of the chroma sample value for each luminance sample value (for 10-bit content).

[0072] Adjustments can be made to the CCLM model (“LM_CHROMA_IDX” and “MMLM_CHROMA_IDX”) that uses reference samples from both the top and left sides of the block, but not for “one-sided” mode. This choice is based on a trade-off between encoding / decoding efficiency and complexity.

[0073] When slope adjustment is applied to a multi-mode CCLM model, both models can be adjusted, thus allowing a maximum of two slope updates to be transmitted for a single chroma block.

[0074] Encoder method The proposed encoder method performs a SATD-based search for the optimal slope update for Cr and a similar SATD-based search for Cb. If either results in a non-zero slope adjustment parameter, the combined slope adjustment pair (SATD-based update for Cr, SATD-based update for Cb) is included in the list of RD checks for TU.

[0075] 2.1.2 Gradient PDPC In VVC, PDPC may not be applied in some scenarios due to the unavailability of secondary reference samples. In these cases, gradient-based PDPC extended from the horizontal / vertical mode is applied. The PDPC weights (wT / wL) and nScale parameter, used to determine the decay of PDPC weights relative to the distance from the left / top boundary, are set to the corresponding parameters in the horizontal / vertical mode, respectively. Bilinear interpolation is applied when the secondary reference sample is located at the fractional sample position.

[0076] 2.1.3 Primary MPM and Secondary MPM A secondary MPM list is introduced. The existing primary MPM (PMPM) list consists of 6 entries, and the secondary MPM (SMPM) list includes 16 entries. First, a general MPM list with 22 entries is constructed. Then, the first 6 entries from this general MPM list are included in the PMPM list, and the remaining entries form the SMPM list. The first entry in the general MPM list is a flat pattern. The remaining entries are... Figure 5 The model consists of the intra-frame modes of the left (L), top (A), bottom left (BL), top right (AR), and top left (AL) neighboring blocks, as well as DIMD modes arranged in ascending order of SAD cost. A maximum of five modes with the lowest SAD cost are added. The SAD cost is calculated between the prediction and reconstruction samples of the template. The sorted, oriented modes with added offsets are added to the general MPM list, followed by the default mode, until a general MPM list with 22 entries is constructed.

[0077] If the CU block is vertical, the order of the neighboring blocks is A, L, BL, AR, AL; otherwise, the order is L, A, BL, AR, AL.

[0078] Figure 5 The neighboring blocks (L, A, BL, AR, AL) used in the derivation of the general MPM list are shown.

[0079] The MPM list is divided equally into four groups, and the group index is parsed first. Then, the pattern index is further parsed to indicate which pattern in the selected group is used.

[0080] 2.1.4 Reference Sample Interpolation and Smoothing for Intra-Frame Prediction For deriving predicted samples from reference samples, the 4-tap cubic interpolation is replaced by a 6-tap cubic interpolation filter.

[0081] For reference sample filtering, a 6-tap Gaussian filter is applied for larger blocks (W>= 32 and H>= 32), otherwise the existing VVC 4-tap Gaussian interpolation filter is applied. The extended intra-frame reference samples are derived using a 4-tap interpolation filter instead of nearest-neighbor rounding.

[0082] 2.1.5 Decoder-side Intra-Frame Mode Derivation (DIMD) When applying DIMD, up to five intra-frame modes are derived from the reconstructed neighboring samples, and these five predictions are combined with planar mode predictions, where the weights are derived from the gradient histogram. Division operations in the weight derivation are performed using the same lookup table (LUT)-based integerization scheme used by CCLM. For example, division operations in direction calculation.

[0083] It is computed using the following LUT-based scheme: x = Floor( Log2( Gx ) ) normDiff = ( ( Gx<<4 )>>x )&15 x +=( 3 + ( normDiff != 0 ) ? 1 : 0 ) Orient = (Gy (DivSigTable[normDiff] | 8) + (1<<(x-1)))>>x in DivSigTable

[16] = {0, 7, 6, 5,5, 4, 4, 3, 3, 2, 2, 1, 1, 1, 1, 0}.

[0084] For size If the magnitude of either the upper or left histogram is twice that of the other, then the weights for each of the five derived patterns are modified. In this case, the weights are position-dependent and calculated as follows: If the histogram above is twice the size of the histogram on the left, then:

[0085] If the histogram on the left is twice the size of the histogram on the top, then: , in It is the unmodified uniform weight of DIMD. It is predefined and set to 10.

[0086] The derived intra-frame modes are included in the main list of most probable intra-frame modes (MPMs), so the DIMD process is performed before the MPM list is built. The main derived intra-frame modes of the DIMD block are stored with the block and used for the construction of the MPM lists of neighboring blocks.

[0087] Finally, note that the region used to calculate the gradient histogram for neighboring reconstructed samples is modified, depending on the availability of reconstructed samples. If available, the region of the decoded reference sample for the current WxH brightness CB is expanded to the upper right, with a maximum of W additional columns. If available, it is expanded to the lower left, with a maximum of H additional rows.

[0088] 2.1.5.1 DIMD Chroma Mode The DIMD chromaticity model uses the DIMD derivation method based on, for example, Figure 6 The reconstructed Y, Cb, and Cr samples from the second nearest neighbor row and column, as shown, derive the chroma intra-prediction mode for the current block. Specifically, horizontal and vertical gradients are calculated for each co-located reconstructed luma sample and the reconstructed Cb and Cr samples of the current chroma block to construct the HoG. The intra-prediction mode with the largest histogram amplitude value is then used to perform chroma intra-prediction for the current chroma block. (Figure) 6 The neighbor reconstructed samples used for the DIMD chromaticity mode are shown.

[0089] When the intra-prediction mode derived from the DIMD chroma mode is the same as the intra-prediction mode derived from the DM mode, the intra-prediction mode with the second largest histogram amplitude value is used as the DIMD chroma mode. A CU level flag is transmitted via signal transmission to indicate whether the proposed DIMD chroma mode is applied.

[0090] Finally, the luminance regions of the reconstructed samples used to calculate the gradient histogram for the chroma DIMD mode are modified. For a pair of WxH chroma CBs to be predicted, in order to construct a gradient histogram associated with the corresponding luminance CB, the vertical and horizontal gradient pairs are extracted from the second and third rows of the luminance CB, instead of from a set of regular DIMD decoded reference samples surrounding the luminance CB.

[0091] 2.1.6 Fusion of Chroma Intra-Frame Prediction Modes In ECM, two chroma intra-prediction signals can be fused together. One of the two chroma intra-prediction signals is predicted using DM mode, DIMD chroma mode, and one of the four default modes (non-LM mode). The other chroma intra-prediction signal is predicted using cross-component linear prediction mode (LM mode). Two different methods are supported.

[0092] In the first method, the LM mode can be either MM-CCLM or MM-CCCM, and the final predicted value is derived as follows:

[0093] in These are predicted values ​​obtained by applying a non-LM model. These are predicted values ​​obtained by applying the LM model, and This is the final predicted value for the current chroma block. Two weights. and The shift is determined by the intra-prediction mode of adjacent chroma blocks, and the shift is set to equal to 2. Specifically, when both the upper adjacent block and the left adjacent block are encoded and decoded using LM mode, { }={1, 3}; When both the upper and left adjacent blocks are encoded and decoded using non-LM mode, { }={3, 1}; otherwise, { }={2, 2}. Two template costs are calculated by fusing the angular chromaticity prediction with either MM-CCLM or MM-CCCM, and the derivation is performed using one of the two CCPs that provides the smaller template cost. .

[0094] In the second method, the LM mode can be either MMLM or CCLM, and the final predicted value is derived as follows:

[0095] in These are predicted values ​​obtained by applying a non-LM model. It is the set of downsampled and reconstructed brightness samples at the same location, and It is the final predicted value of the current chroma block. It is a fixed value, and is set to 512 for 10-bit content. Using the same LDL derivation method as in CCCM, the three weights... , and It is derived from adjacent luminance and chrominance samples.

[0096] For syntax design, an index is transmitted via signaling to indicate whether fusion is applied and which method is used. It's important to note that for I-stripes, non-LM modes can be DM mode, DIMD chroma mode, and four default modes. For non-I-stripes, only DIMD chroma mode is allowed to be fused with LM mode.

[0097]

[0098] 2.1.7 Intra-frame template matching Intra-frame template matching prediction (intra-frame TMP) is a special intra-frame prediction mode that copies the best prediction block from the reconstructed portion of the current frame, whose L-shaped template matches the current template. For a predefined search range, the encoder searches the reconstructed portion of the current frame for the template most similar to the current template and uses the corresponding block as the prediction block. The encoder then transmits the use of this mode via signaling and performs the same prediction operation on the decoder side.

[0099] The prediction signal is obtained by comparing the L-shaped, top-only, or left-only causal proximity of the current block with... Figure 7 It is generated by matching another block in a predefined search region. There are 6 predefined search regions, namely R1 to R6, which contain reconstructed samples from the top and left CTUs, as well as partial reconstructed samples within the current CTU located above, to the left, below the left, and above the right of the current block.

[0100] The sum of absolute differences (SAD) is used as the cost function.

[0101] Using a given search order across six regions, R4, R5, R6, R1, R2, and R3, the decoder constructs a candidate list of up to "19" template-matching block vectors within each region, ranked in ascending order based on template cost (SAD). The following modes are supported: 1- Single Predicted Value: Select a single predicted value from the candidate list.

[0102] 2- Fusion of Multiple Predictions: Multiple predictions are blended multiple times to derive the final prediction block. The blending weights are either calculated from the template matching cost of each prediction or using a Wiener filter-based weight derivation method.

[0103] 3- Subpixel precision: When using a single prediction value, subpixel precision can be used at 1 / 2 pixel precision, 1 / 4 pixel precision, and 3 / 4 pixel precision, with each precision having 8 possible directions.

[0104] 4- Linear Filter Model: A linear filter can be learned between the reference template and the current template, and the linear model is applied to the reference block. This mode can be used for a single prediction when sub-pixel precision is not used.

[0105] The dimensions of all regions (SearchRange_w, SearchRange_h) are set to be proportional to the block dimensions (BlkW, BlkH) to have a fixed number of SAD comparisons per pixel. That is: SearchRange_w = min(64,a BlkW) SearchRange_h = min(64,a BlkH) in" " is a constant that controls the trade-off between gain and complexity. In practice, " "Equals 5."

[0106] Figure 7 The intra-frame template matching search area used is shown.

[0107] To accelerate the template matching process, the search range of all search regions is downsampled by a factor of 3. After finding the best match, a refinement process is performed. Refinement is accomplished by searching for a second template match around the best match with a reduced range.

[0108] For CUs with width and height dimensions less than or equal to 64, the intra-frame template matching tool is enabled. The maximum CU size for intra-frame template matching is configurable.

[0109] When DIMD is not used for the current CU, the intra-template matching prediction mode is transmitted at the CU level via a dedicated flag.

[0110] 2.1.7.1 Block Vector Candidates Derived from Intra-Frame TMP for IBC In this method, the block vector (BV) derived from intra template matching prediction (intra-TMP) is used for intra-block copying (IBC). The intra-TMP BVs of the stored neighboring blocks, together with the IBC BVs, are used as spatial BV candidates in the construction of the IBC candidate list.

[0111] Intra-frame TMP block vectors are stored in the IBC block vector buffer, and the current IBC block can use both the IBCBV of neighboring blocks and the intra-frame TMP BV as BV candidates for the IBC BV candidate list, such as... Figure 8 As shown.

[0112] Intra-frame TMP block vectors are added to the IBC block vector candidate list as spatial candidates.

[0113] 2.1.8 Fusion for Template-Based Intra-Frame Mode Derivation (TIMD) For each intra-prediction mode in the MPM, and for a wide-angle mode if upper-right and / or lower-left reference samples are available, the SATD between the predicted and reconstructed samples of the template is calculated. The two intra-prediction modes with the smallest SATD are selected as TIMD modes. After applying the PDPC procedure, these two TIMD modes are fused using weights, and this weighted intra-prediction is used for encoding and decoding the current CU. Position-dependent intra-prediction combination (PDPC) is included in the derivation of the TIMD modes.

[0114] The costs of the two selected modes are compared with a threshold, and a cost factor of 2 is applied during the test: costMode2<2 costMode1.

[0115] If the condition is true, fusion is applied; otherwise, only mode1 is used.

[0116] The weights of the patterns are calculated from their SATD costs as follows: weight1 = costMode2 / (costMode1+ costMode2), weight2 = 1 - weight1.

[0117] Division operations are performed using the same lookup table (LUT)-based integerization scheme used by CCLM.

[0118] 2.1.9 Intra-frame prediction fusion This intra-frame prediction method derives predicted samples as a weighted combination of multiple predicted values ​​generated from different reference rows. In this process, multiple intra-frame predicted values ​​are generated and then fused by a weighted average. The process of deriving the predicted values ​​to be used in the fusion process is described below: • For the intra-angle prediction mode in the single-mode case including TIMD and DIMD, the proposed method improves upon the representation as... Intra-prediction is derived by weighting the intra-prediction obtained from multiple reference rows, where It is an intra-frame prediction from the default reference line, and This is a prediction from the row above the default reference row. The weights are set to... and .

[0119] • For TIMD modes with hybrid patterns, Used in the first mode ( ),and Used in the second mode ( ).

[0120] • For DIMD patterns with a mixture, the number of forecasts selected for weighted averaging increases from 3 to 6.

[0121] When the intra-frame prediction mode has a non-integer slope (requiring reference sample interpolation) and the block size is greater than 16, the intra-frame prediction fusion method is applied to the luma block, used together with MRL, but not to the ISP-encoded block. In the method studied in subtest a, PDPC is applied to the intra-frame prediction mode using the reference line closest to the current block.

[0122] 2.1.10 Combination of CIIP with TIMD and TM Merge In CIIP mode, prediction samples are generated by weighting the inter-prediction signal using CIIP-TM Merge candidate prediction and the intra-prediction signal using the intra-prediction mode derived using TIMD. This method is only applied to codec blocks with an area of ​​1024 or less.

[0123] The TIMD derivation method was used to derive intra-prediction modes in CIIP. Specifically, the intra-prediction mode with the smallest SATD value in the TIMD mode list was selected and mapped to one of 67 regular intra-prediction modes.

[0124] Furthermore, it is proposed that if the derived intra-prediction mode is an angular mode, the weights (wIntra, wInter) for the two tests should be modified. For near-horizontal mode (2 <= angular mode index < 34), the current block is vertically divided, as follows: Figure 9A As shown; for near-vertical mode (34 <= angle mode index <= 66), the current block is divided horizontally, as... Figure 9B As shown.

[0125] Table 1 shows the (wIntra, wInter) values ​​for different sub-blocks.

[0126] Table 1. Weights used for modifications to the angle mode

[0127] Using CIIP-TM, a CIIP-TM Merge candidate list is constructed for the CIIP-TM pattern. Merge candidates are refined through template matching. CIIP-TM Merge candidates are also reordered as regular Merge candidates using the ARMC method. The maximum number of CIIP-TM Merge candidates is 2.

[0128] 2.1.11 Extended Multi-Reference Row (MRL) List The MRL list in VVC has been expanded to include more reference lines for intra-frame prediction. The expanded reference line list consists of, for example, lines such as... Figure 10The row indices {1, 3, 5, 7, 12} shown are used. For Template-Based Intra-Frame Mode Derivation (TIMD), instead of the complete MRL candidate list, only the first two reference row candidates (i.e., {1, 3}) are used.

[0129] 2.1.12 Template-based multi-reference row intra-frame prediction Template-based multi-reference line intra-frame prediction (TMRL) mode combines reference lines and prediction modes, and uses template matching to construct a list of candidate combinations. The indexes of the candidate combination list are encoded / decoded to indicate which reference line and prediction mode to use when encoding / decoding the current block. Regular multi-reference line (MRL) data for non-TIMD portions is replaced by the TMRL mode.

[0130] The TMRL mode expands the reference line candidate list and the intra-prediction mode candidate list. The expanded reference line candidate list is {1, 3, 5, 7, 12}. The restriction on the top CTU line remains unchanged. The size of the intra-prediction mode candidate list is 10. The construction of the intra-prediction mode candidate list is similar to that of MPM, except that planar modes are excluded from the intra-prediction mode candidate list, DC modes are added after the modes of the 5 neighboring PUs and DIMD modes (if they are not included), and has a range from... arrive Angle patterns with incremental angles (compared to existing angle patterns in the intra-prediction mode candidate list) are added. The accuracy of angle prediction is expanded from 65 to 129. Additionally, non-adjacent locations are added as candidates when constructing the intra-prediction mode candidate list. If neighboring or non-adjacent blocks are encoded / decoded in SGPM or GPM mode, the block's intra-prediction mode is replaced by the split angle.

[0131] The TMRL candidate is constructed as follows. For each block, there are 5 x 10 = 50 combinations of extended reference lines and allowed intra-prediction modes. Since the extended reference lines start from reference line 1, the region covered by reference line 0 is used for template matching. The template region is calculated between prediction (generated from the 50 combinations) and reconstruction (see...). Figure 11 The SAD cost on the TMRL is calculated. The 20 combinations with the lowest SAD cost are selected in ascending order to form the TMRL candidate list.

[0132] For TMR signaling, instead of directly encoding and decoding the reference line and intra-frame mode, the index of the TMRL candidate list is encoded and decoded to indicate which combination of reference line and prediction mode is used to encode and decode the current block.

[0133] 2.1.13 Convolutional Cross-Component Intra-Frame Prediction Model In this method, a convolutional cross-component model (CCCM) is applied to predict chroma samples from reconstructed luminance samples, similar in spirit to what the current CCLM model does. As with CCLM, when chroma downsampling is used, the reconstructed luminance samples are downsampled to match a lower-resolution chroma grid. Similar to CCLM, top, left, or top and left reference samples are used as templates for model derivation.

[0134] In addition, similar to CCLM, there are options for single-model or multi-model variants of CCCM. The multi-model variant uses two models: one model is derived for samples above the average luminance reference value, and the other model is for the remaining samples (following the spirit of the CCLM design). The multi-model CCCM mode can be selected for PUs with at least 128 available reference samples.

[0135] 2.1.13.1 Convolution Filter The convolutional 7-tap filter consists of a 5-tap plus-shaped spatial component, a nonlinear term, and a bias term. The input of the filter's 5-tap spatial component consists of a center (C) luminance sample that is co-located with the chrominance sample to be predicted, and its upper / north (N), lower / south (S), left / west (W), and right / east (E) neighbors, as shown below.

[0136] Figure 12 The spatial portion of the convolution filter is shown.

[0137] The nonlinear term P is expressed as the square of the center luminance sample C and scaled to the range of sample values ​​for the content: P = (C C + midVal )>>bit depth.

[0138] That is, for 10 bits of content, it is calculated as: P = (C C + 512)>>10.

[0139] The bias term B represents the scalar offset between the input and output (similar to the offset term in CCLM) and is set to an intermediate chroma value (512 for 10-bit content).

[0140] The output of the filter is calculated as the filter coefficients c. i The convolution with the input values ​​is then limited to the range of valid chromaticity samples: predChromaVal = c0C + c1N + c2S + c3E + c4W + c5P + c6B.

[0141] 2.1.13.2 Calculation of Filter Coefficients Filter coefficients c i It is calculated by minimizing the MSE between the predicted chromaticity samples and the reconstructed chromaticity samples in the reference region. Figure 13 The reference region is shown, consisting of 2 or 6 rows of chroma samples above and to the left of the PU. Whether to use 6 or 2 rows of neighboring samples to derive CCCM model parameters in a single-model CCCM is determined by the template cost. Similarly, for multi-model CCCM modes, two candidates are used to derive the average value separating the samples into two groups using 6 rows of neighboring luma samples or luma samples co-located with the current chroma block. The cost is derived by applying the candidate CCP (2 or 6 rows) to the template and calculating the sum of absolute differences (SAD) between the CCP predicted samples and the reconstructed samples in the template.

[0142] The reference region extends to the right by one PU width and below the PU boundary by one PU height. The region is adjusted to include only available samples. The extension of the region shown in blue is necessary to support the "edge samples" of the plus-shaped spatial filter, and this extension is filled when unavailable regions are present.

[0143] MSE minimization is performed by computing the autocorrelation matrix for the luma input and the cross-correlation vector between the luma input and the chromaticity output. The autocorrelation matrix is ​​decomposed using LDL, and the final filter coefficients are computed using inverse substitution. This process roughly follows the computation of ALF filter coefficients in ECM, but LDL decomposition is chosen instead of Cholesky decomposition to avoid the use of square root operations.

[0144] The autocorrelation matrix is ​​calculated using reconstructed values ​​from luma and chromaticity samples. These samples are full-range (e.g., between 0 and 1023 for 10-bit content), resulting in relatively large values ​​in the autocorrelation matrix. This requires high bit-depth operations during model parameter calculation. A proposed solution is to remove a fixed offset from the luma and chromaticity samples in each PU for each model. This reduces the magnitude of the values ​​used in model creation and allows for a reduction in the precision required for fixed-point operations. As a result, a 16-bit decimal precision is proposed instead of the 22-bit precision of the original CCCM implementation.

[0145] For simplicity, the reference sample values ​​immediately outside the top-left corner of the PU are used as offsets (offsetLuma, offsetCb, and offsetCr). The sample values ​​used in model creation and final prediction (i.e., luminance and chrominance in the reference region, and luminance in the current PU) are reduced by these fixed values, as follows: C' = C – offsetLuma, N' = N – offsetLuma, S' = S – offsetLuma, E' = E – offsetLuma, W' = W – offsetLuma, P' = nonLinear(C'), B = midValue = 1 << (bit depth - 1), Furthermore, the chromaticity values ​​are predicted using the following equations, where offsetChroma is equal to offsetCr and offsetCb for the Cr and Cb components, respectively: predChromaVal = c0C' + c1N' + c2S' + c3E' + c4W' + c5P' + c6B + offsetChroma.

[0146] To avoid any additional sample-level operations, the luminance offset is removed during luminance reference sample interpolation. This can be done, for example, by replacing the rounding term used in luminance reference sample interpolation with an updated offset that includes both the rounding term and offsetLuma. The chrominance offset can be removed by directly subtracting the chrominance offset from the reference chrominance sample. Alternatively, the effect of the chrominance offset can be removed from the cross-component vector, which gives the same result. To add the chrominance offset back to the output of the convolution prediction operation, the chrominance offset is added to the bias term of the convolution model.

[0147] The calculation of CCCM model parameters requires division operations. Division operations are not always considered implementation-friendly. Division operations are replaced by multiplication (using scaling factors) and shift operations, where the scaling factor and the number of shifts are calculated based on the denominator, similar to the method used in the calculation of CCLM parameters.

[0148] 2.1.13.3 Gradient Linear Model For the YUV 4:2:0 color format, the Gradient Linear Model (GLM) method can be used to predict chromaticity samples from the luminance sample gradient. Two modes are supported: two-parameter GLM mode and three-parameter GLM mode.

[0149] Compared to CCLM, two-parameter GLM uses the gradient of luminance samples to derive a linear model, rather than downsampled luminance values. Specifically, when applying two-parameter GLM, the input to the CCLM process (i.e., downsampled luminance samples) is... Gradient of brightness sample points Replacement. Other parts of CCLM (e.g., parameter derivation, linear transformation of prediction samples) remain unchanged.

[0150]

[0151] In a three-parameter GLM, chromaticity samples can be predicted based on both the gradient of luminance samples with different parameters and the downsampled luminance values. The model parameters of the three-parameter GLM are derived from neighboring samples in 6 rows and columns using an MSE minimization method based on LDL decomposition, as used in CCCM.

[0152]

[0153] For signaling, when CCLM mode is enabled for the current CU, a flag is transmitted via signaling to indicate whether GLM is enabled for both Cb and Cr components; if GLM is enabled, another flag is transmitted via signaling to indicate which of the two GLM modes is selected, and a syntax element is further transmitted via signaling to select one of the four gradient filters for gradient calculation.

[0154] • Enable four gradient filters for GLM, such as Figure 14 As shown.

[0155] 2.1.13.4 CCCM Signaling The use of this mode is signaled via a PU-level flag encoded and decoded by CABAC. A new CABAC context is included to support this. When signaling is involved, CCCM is considered a sub-mode of CCLM. That is, the CCCM flag is signaled only when the intra-frame prediction mode is LM_CHROMA.

[0156] 2.1.13.5 CCCM using non-downsampled luminance samples The CCCM mode employs a 3x2 filter that uses unsampled luminance samples, consisting of a 6-tap spatial term, four nonlinear terms, and a bias term. The 6-tap spatial term corresponds to the 6 neighboring luminance samples (i.e., C) surrounding the chrominance sample to be predicted (i.e., C). L 0 、L 1 、…、L 5) Four nonlinear terms from the sample points L 0 、L 1 、L 2 and L 3 is derived, such as Figure 15 As shown.

[0157]

[0158] in It is a coefficient. This is an offset. Similar to existing CCCM designs, up to 6 rows / columns of chroma samples above and to the left of the current CU are applied to derive the filter coefficients. The filter coefficients are derived based on the same LDL decomposition method used in CCCM. In addition to the existing model, the proposed method also includes an additional CCCM model transmitted via signal transmission. When CCCM is selected, a single flag is transmitted via signal transmission and applied to both chroma components to indicate whether the default CCCM model or the proposed CCCM model is applied. Furthermore, SPS signaling is introduced to indicate whether CCCM using non-downsampled luminance samples is enabled.

[0159] 2.1.13.6 Block Vector Guided CCCM (BVG-CCCM) When encoding and decoding co-occurrence lumen prediction using IBC or intra-template matching prediction (intra-TMP) in intra-strip, the BVG-CCCM mode can be used. In this mode, the block vector of the co-occurrence lumen block encoded and decoded in IBC or intra-TMP mode is used to determine the reference region for calculating CCCM parameters. The calculated model parameters and co-occurrence lumen samples are then used to perform the prediction. Figure 16 The reference region in the BVG-CCCM method is shown.

[0160] The BVG-CCCM mode uses the following 11-tap filter for cross-component prediction: predChromaVal = c0C + c1N + c2S + c3E + c4W + c5P(C) + c6P(N) + c7P(S) +c8P(W) + c9P(E)+ c 10 B.

[0161] The input of the spatial domain 5-tap component of the filter consists of the center (C) luminance sample that is co-located with the chrominance sample to be predicted, and its upper / north (N), lower / south (S), left / west (W), and right / east (E) neighbors, as shown below. Figure 12 As shown.

[0162] The nonlinear term P is represented as the square of the corresponding brightness sample, and B is the bias term.

[0163] Similar to the direct block vector (DBV, Section 2.1.18), five locations in the co-position luminance block region are scanned, and the associated block vector is subsequently used to determine the reference region for parameter calculation in the BVG-CCCM method.

[0164] 2.1.13.7 Gradient- and Position-Based Convolutional Cross-Component Model (GL-CCCM) This method uses a filter to map luminance values ​​to chrominance values. The input to this filter consists of a spatial luminance sample, two gradient values, two location information terms, a nonlinear term, and a bias term. The GL-CCCM method uses the gradient and location information instead of the four spatial neighbor samples used in the CCCM filter. The GL-CCCM filter used for prediction is:

[0165] Among them G y and G x These are the vertical gradient and the horizontal gradient, and as follows: Figure 17 The following calculations are shown: , .

[0166] In addition, Y and X are the spatial coordinates of the center brightness sample point.

[0167] The remaining parameters are the same as those in the CCCM tool. The reference area for parameter calculation is the same as that in the CCCM method.

[0168] The use of this mode is transmitted via signaling through a PU-level flag encoded and decoded using CABAC. When signaling is involved, GL-CCCM is considered a sub-mode of CCCM. That is, the GL-CCCM flag is transmitted via signaling only if the original CCCM flag is true.

[0169] Similar to CCCM, the GL-CCCM tool has 6 modes for calculating parameters: • Single model GL-CCCM from the templates above and to the left.

[0170] • Single model GL-CCCM from the template above.

[0171] • Single model GL-CCCM from the template on the left.

[0172] • Multi-model GL-CCCM from the top and left templates.

[0173] • Multi-model GL-CCCM from the template above.

[0174] • Multi-model GL-CCCM from the left template.

[0175] The encoder performs a SATD search on the six GL-CCCM patterns and existing CCCM patterns to find the best candidate for full RD testing.

[0176] 2.1.13.8 CCCM with Multiple Downsampling Filters Multiple downsampling filters are applied to a set of reconstructed luminance samples in the CCCM. A linear combination of these downsampled reconstructed samples is multiplied by derived filter coefficients to form the final chromaticity prediction. The horizontal or vertical position of the center luminance sample is also considered in the tested model. The cross-component model shown below is tested as an additional CCCM mode, where the mode index is transmitted via the signal in the bitstream: (1) Model 1: predChroma = c0 H(C) + c1 G1(C) + c2 G2(C) + c3 G3(C) + c4 P(H(C)) + c5 P(G1(C)) + c6 P(G2(C)) + c7 X + c8 Y + c9 B (2) Model 2: predChroma = c0 H(C) + c1 H(W) + c2 H(E) + c3 G1(C) + c4 G1(W) + c5 G1(E) + c6 P(H(C)) + c7 P(H(W)) + c8 P(H(E)) + c9 X + c10 B (3) Model 3: predChroma = c0 H(C) + c1 H(NE) + c2 H(SW) + c3 G3(C) + c4 G3(NE) + c5 G3(SW) + c6 P(H(C)) + c7 P(H(NE)) + c8 P(H(SW)) + c9 Y + c10 B Where H(·), G1(·), G2(·), and G3(·) are... Figure 18 The various downsampling filters shown are illustrated, where C represents the current chroma sample location, and N, S, W, E, NE, and SW are the locations surrounding C. i These are the filter coefficients, P and B are the nonlinear and bias terms, and X and Y are the horizontal and vertical positions of the center brightness sample relative to the upper left coordinates of the block.

[0177] 2.1.14 Local Enhancement Cross-Component Prediction (LBCCP) Predicted samples in MM-CCLM / MM-CCCM can be filtered using neighboring samples. For example... Figure 19 As shown, a 3×3 low-pass filter is applied to filter the predicted samples generated by MM-CCLM / MM-CCCM. For samples at the top / left boundary, the filter window may include neighboring reconstructed samples. For inner samples, the filter window only includes the predicted samples and can be filled. For blocks encoded / decoded with MM-CCLM / MM-CCCM, a signal transmission flag indicates whether filtering is applied.

[0178] 2.1.15 Cross-Component Prediction (CCP) Merge (also known as Non-local CCP) Mode For chroma encoding / decoding, a signal transmission flag indicates whether a CCP mode (including CCLM, CCCM, GLM, and their variants) or a non-CCP mode (a fusion of regular chroma intra-prediction mode and chroma intra-prediction mode) is used. If a CCP mode is selected, another signal transmission flag indicates how the CCP type and parameters are derived, i.e., whether derived from the CCPmerge list or instantaneously via signal transmission / derivation. The CCP Merge candidate list is constructed from spatially adjacent candidates, temporally adjacent candidates, spatially non-adjacent candidates, history-based candidates, or shifted temporally adjacent candidates. After including these candidates, a default model is further included to fill the remaining empty positions in the Merge list. To remove redundant CCP models from the list, a deduplication operation is applied. After constructing the list, the CCP models in the list are reordered according to SAD costs, which are obtained using the neighboring templates of the current block. More details are described below.

[0179] Candidates for adjacent and non-adjacent airspace The positions and inclusion order of spatially adjacent and non-adjacent candidates are the same as those defined in ECM for regular inter-frame Merge prediction candidates.

[0180] Time-domain and shift-time-domain candidates Temporal candidates are selected from co-located images. The positions and inclusion order of the temporal candidates are the same as those defined in ECM for regular inter-frame merge prediction candidates. Shifted temporal candidates are also selected from co-located images. The positions of the temporal candidates are shifted by the selected motion vectors derived from the motion vectors of neighboring blocks.

[0181] Candidates based on history A history-based table is maintained to include the most recently used CCP models, and this table is reset at the beginning of each CTU row. If the current list is not full after including both spatially adjacent and non-adjacent candidates, a CCP model from the history-based table is added to the list.

[0182] Default Candidate CCLM candidates with default scaling parameters are considered only if the list is insufficient after considering candidates that are spatially adjacent, spatially non-adjacent, or based on history. If the current list does not have candidates using the single-model CCLM mode, the default scaling parameter is {0, 1 / 8, -1 / 8, 2 / 8, -2 / 8, 3 / 8, -3 / 8, 4 / 8, -4 / 8, 5 / 8, -5 / 8, 6 / 8}. Otherwise, the default scaling parameter is {0, the scaling parameter of the first CCLM candidate + {1 / 8, -1 / 8, 2 / 8, -2 / 8, 3 / 8, -3 / 8, 4 / 8, -4 / 8, 5 / 8, -5 / 8, 6 / 8}}.

[0183] A signal transmission flag indicates whether CCP Merge mode is applied. If CCP Merge mode is applied, a signal transmission index indicates which candidate model is used for the current block. Additionally, CCP Merge mode is not allowed for the current chroma codec block when the current CU is encoded / decoded via intra-fractional segmentation (ISP) with a single tree, or when the current chroma codec block size is less than or equal to 16.

[0184] 2.1.16 Spatial Geometric Partitioning Model (SGPM) SGPM is an intra-frame mode of inter-frame coding / decoding tools similar to GPM, where two prediction parts are generated from the intra-frame prediction process. In this mode, a candidate list is constructed, where each entry contains a segmentation partition and two intra-frame prediction modes, such as... Figure 20 As shown, 26 segmentation modes and 3 intra-frame prediction modes were used to form a combination. The length of the candidate list was set to 16. The selected candidate indices were transmitted via signaling.

[0185] Use templates ( Figure 21 The list is reordered, where the SAD between the template's prediction and reconstruction is used for sorting. The template size is fixed at 1.

[0186] For each segmentation pattern, the same intra-frame to inter-frame GPM list derivation is used, and the IPM list is derived for each segment. The IPM list size is set to 3. In the list, the TIMD-derived pattern is replaced by two derived patterns with horizontal and vertical directions.

[0187] The SGPM pattern is applied with limited block sizes: 4 <= width <= 64, 4 <= height <= 64, width < height. 8. Height < Width 8. Width Height >= 32.

[0188] The PPS flag is encoded and decoded to indicate whether blending of two intra-frame predictions is not allowed. When the PPS flag is set to false, the following adaptive blending is also applied to the spatial GPM, where, for example... Figure 22 The mixing depth τ shown is derived as follows: • If min(width, height) == 4, then 1 / 2 τ is selected.

[0189] • Otherwise, if min(width, height) == 8, then τ is selected.

[0190] • Otherwise, if min(width, height) == 16, then 2τ is selected.

[0191] • Otherwise, if min(width, height) == 32, then 4τ is selected.

[0192] • Otherwise, 8τ is selected.

[0193] Otherwise (with the PPS flag set to true), 1 / 4 τ is always used for blocks encoded via spatial GPM to ensure that blending is not used when SGPM blocks have perfectly horizontal or vertical split angles, and a much narrower blending width is used when SGPM blocks have other split angles. It should be noted that this flag is set to true in the current Common Test Conditions (CTC) for screen content video.

[0194] 2.1.17 Plane Mode with Direction Two additional planar modes are used, where either horizontal interpolation only or vertical interpolation only is used to obtain the predicted samples.

[0195] For the planar horizontal pattern, horizontal linear interpolation is performed only based on the left and upper right reference points to predict the current point as:

[0196] For the planar vertical mode, vertical linear interpolation is performed only based on the upper reference point and the lower left reference point to predict the current point as:

[0197] Transform kernel selection for horizontal and vertical planar modes, as follows: Figure 23 As shown. If the intra-prediction mode of the current block is planar vertical mode, then the horizontal intra-prediction mode is used to derive the transform kernels in the MTS set and LFNST set. Conversely, if the intra-prediction mode of the current block is planar horizontal mode, then the vertical intra-prediction mode is used to derive the transform kernels in the MTS set and LFNST set.

[0198] 2.1.18 Direct block vectors for chroma blocks Direct block vectors are used for chroma blocks in a dual-tree stripe. When the chroma dual-tree is active, a signal transmission flag indicates whether the chroma blocks are being encoded / decoded using IBC mode. Figure 24 If one of the luma blocks in the five locations shown is encoded or decoded in IBC or intra-frame TMP mode, its block vector is scaled and used as the block vector for the chroma block. Template matching is used to perform block vector scaling.

[0199] 2.1.18.1 Prediction of the current block The EIP mode makes predictions position by position for the current block, such as Figures 25A to 25C As shown. Additionally, in Figure 25A All inputs to EIP are reconstructed samples. Figure 25B Part of the input consists of reconstructed samples and part consists of predicted samples. Figure 25C All inputs to EIP are prediction samples.

[0200] For a position located at the top left of the current block, the input to the EIP filter is the reconstructed sample.

[0201] For a location located along the boundary of the current block, part of the input to the EIP filter is the reference sample, and part of the input to the EIP filter is the previously predicted sample.

[0202] For other locations in the current block, the input to the EIP filter is the previously predicted samples.

[0203] To reduce prediction error, the searched minimum and maximum values ​​are applied to limit the output range of each predicted value.

[0204] It is the predicted value at (x, y) in the current block. It searches for the minimum and maximum values ​​from the thirteen reconstructed columns and rows. This is the derivation of the EIP filter's first... One coefficient, These are the reconstructed or predicted values ​​used for the current location. The mean is a value calculated using the DC forecasting model.

[0205] 2.1.19 Intra-frame prediction mode based on extrapolation filter (EFI mode) The proposed intra-frame prediction based on extrapolation filters is processed in two steps. First, using a predetermined template, the extrapolation filter coefficients are obtained from the reconstructed pixels in the neighboring blocks of the current block. Second, extrapolation generates predicted values ​​position by position within the current block, from the top left to the bottom right.

[0206] 2.1.19.1 Search for average, minimum, and maximum values Similar to CCCM mode, the average value should be removed when the input is fed to the EIP filter. The DC mode value of the current block is used as the average value for the EIP prediction. The minimum and maximum values ​​are searched from the reconstructed pixels in the reconstructed region with thirteen columns and thirteen rows.

[0207] 2.1.19.2 Calculation of Filter Coefficients Three types of reconstructed regions and three filter shapes are proposed, such as Figure 26 As shown, when the current block is predicted using the proposed EIP pattern, the decoder decodes the relevant syntax elements to determine the type of reconstructed region and filter shape selected for the current block.

[0208] Figure 27 The diagram illustrates three types of filter shapes, each with fifteen inputs and producing one output.

[0209] The selected filter slides across the selected reconstruction region in a one-pixel step to collect input and output samples for EIP. The autocorrelation matrix and cross-correlation vector are constructed while removing the mean from the input and output samples. The EIP coefficients are then obtained using the same method as in CCCM.

[0210] 2.1.19.3 Prediction of the current block The EIP mode makes predictions position by position for the current block, such as Figures 28A to 28C As shown. Additionally, in Figure 28A All inputs to EIP are reconstructed samples. Figure 28B Part of the input consists of reconstructed samples and part consists of predicted samples. Figure 28CAll inputs to the EIP are predicted samples.

[0211] For a position located at the top left of the current block, the input to the EIP filter is the reconstructed sample.

[0212] For a location located along the boundary of the current block, part of the input to the EIP filter is the reference sample, and part of the input to the EIP filter is the previously predicted sample.

[0213] For other locations in the current block, the input to the EIP filter is the previously predicted sample.

[0214] To reduce prediction error, the searched minimum and maximum values ​​are applied to limit the output range of each predicted value.

[0215] It is the predicted value at (x, y) in the current block. It is the minimum and maximum value searched from thirteen reconstructed columns and rows. It is the derived EIP filter's first... One coefficient, It is the reconstructed or predicted value used for the current location. The average value is calculated using the DC forecasting model.

[0216] 2.2 Inter-frame CCCM When the CU uses inter-frame prediction or intra-frame block copy (IBC), inter-frame CCCM applies the CCCM method to predict chromaticity samples from the reconstructed luminance samples. Figure 29 The decoder side of the method is shown. A cross-component filter is derived using prediction blocks for both luma and chroma. The derived filter is applied to the reconstructed luma block and mixed with the chroma prediction block to produce the final chroma prediction block. During the mixing process, the filtered, reconstructed luma block uses a mixing weight of 0.75, and the chroma prediction block uses a mixing weight of 0.25.

[0217] An 8-tap filter consists of 6 spatial brightness samples, a nonlinear term, and a bias term. For example... Figure 30 As shown, the spatial luminance samples (L0, ..., L5) are obtained from a luminance grid that selects the six luminance samples closest to the chromaticity position C without downsampling. The predicted chromaticity value is obtained as follows: predChromaVal = c 0 L0+ c 1 L1 + c 2 L2 + c 3 L3 + c 4 L4 + c 5 L5 + c 6 nonlinear ((L0+L3+1)>>1) + c 7 B, in nonlinear `B` is the nonlinear operator of CCCM, and `B` is the bias. The filter coefficients are derived using the division-free Gaussian elimination method of ECM, and the necessary offset is applied to the samples before the filter derivation. The offset for the division-free Gaussian elimination method is obtained by averaging the four points of the luma and chroma prediction blocks, where the four points correspond to the top-left, top-right, bottom-left, and bottom-right corners of the blocks. For the filter coefficient derivation, a maximum of 256 chroma samples are used.

[0218] The use of this mode is transmitted via signaling through the TU level flag, which is encoded and decoded using CABAC. A new CABAC context is included to support this. The inter-frame CCCM flag is transmitted via signaling only when the TU's luminance Cbf is not zero and the CU's predMode is MODE_INTER or MODE_IBC.

[0219] When the luminance Cbf is not zero and the predMode of the CU is MODE_INTER or MODE_IBC, the encoder performs RD decisions in the transform selection loop for the chrominance component.

[0220] 2.3 Inter-frame CCP Merge Mode The intra-frame CCP Merge mode is extended to inter-frame codec blocks, where the final chroma inter-frame prediction combines motion-compensated prediction signals and cross-component prediction signals, which are derived using a CCP model inherited from the CCP Merge list. Decoder-derived intra-frame CCCM candidates are inserted before the inter-frame CCP candidate list. In addition to the decoder-derived intra-frame CCCM candidates, a set of CCP candidates (i.e., spatially adjacent, temporally non-adjacent, history-based, shifted-temporally, and default candidates) is inherited from previously codec blocks.

[0221] 2.4 Block Vector Guided CCCM The Block Vector Guided CCCM (BVG-CCCM) method uses the block vectors of co-occurring luma blocks encoded in IBC or intra-TMP mode to determine the reference region for calculating CCCM parameters. Then, the reference region in the luma and the corresponding region in the chroma channel are used to calculate the CCCM parameters. Prediction is performed using the calculated model parameters and co-occurring luma samples. Figure 31 The reference region in the BVG-CCCM method is shown.

[0222] This mode is enabled only in intra-frame stripes. Additionally, an SPS level flag is introduced to enable or disable this mode.

[0223] The BVG-CCCM mode uses the following 11-tap filter for cross-component prediction: predChromaVal = c0C + c1N + c2S + c3E + c4W + c5P(C) + c6P(N) + c7P(S) +c8P(W) + c9P(E)+ c 10 B The input of the spatial domain 5-tap component of the filter consists of the center (C) luminance sample that is co-located with the chrominance sample to be predicted, and its upper / north (N), lower / south (S), left / west (W), and right / east (E) neighbors, as shown below. Figure 32 As shown.

[0224] The nonlinear term P is represented as the square of the corresponding brightness sample, and B is the bias term.

[0225] Similar to the Direct Block Vector (DBV) mode in ECM-9.0, such as Figure 33 As shown, five locations in the same brightness block region are scanned, and the associated block vectors are subsequently used to determine the reference region for parameter calculation in the BVG-CCCM method.

[0226] This mode can use block vectors from both IBC and intra-TMP encoded blocks from the same lumen region.

[0227] 2.4.1 Bitstream Signaling The use of this mode is transmitted via signaling through the PU level flag encoded and decoded by CABAC. If the co-bit block is encoded and decoded in IBC or intra-frame TMP mode, and the cross-component index is LM_CHROMA_IDX or MMLM_CHROMA_IDX, then the BVG-CCCM flag is transmitted via signaling.

[0228] 2.4.2 Encoder Operation The encoder performs two additional RDs for BVG-CCCM variants of both single-model and multi-model CCCM.

[0229] 2.5 Features adaptive limiting of lower and upper boundaries for signal transmission. For each image, the minimum and maximum values ​​of the luminance channel derived from the MCTF pre-filtered image are transmitted via signal and used to perform clipping during the reconstruction phase.

[0230] The minimum / maximum values ​​of the luminance channel to be transmitted via signal are used as limiting boundaries. These minimum / maximum values ​​are obtained by scanning the sample values ​​in the original image. If a motion-compensated temporal filter (MCTF) is applied to the image, the minimum / maximum values ​​are obtained by scanning the sample values ​​in the MCTF-pre-filtered image. These minimum / maximum values ​​are used as the lower and upper limits for limiting during the reconstruction phase (when the residual signal is added to the prediction) and before the reconstructed image is saved to the decoded image buffer.

[0231] For each image, the increment value of the minimum / maximum value is derived and quantified. For image I, the increment value between [64, 940] and the minimum / maximum value is derived and transmitted via signal in the image header. For other images, the increment value compared with the minimum / maximum value transmitted via signal in the corresponding image is transmitted via signal in the image header.

[0232] When limiting is performed in the Luminance Mapped Chroma Scaling (LMCS) mapping domain, the minimum / maximum value is derived by applying a forward LMCS lookup table to the minimum / maximum value transmitted through the signal.

[0233] 3 questions The current ECM has the following problems, which can be improved.

[0234] 1) In the current ECM, template-based reordering is applied to inter-frame / intra-frame CCP Merge mode, where the template cost is derived based on the CCP application. However, the method for deriving the template cost for CCP mode can be further improved.

[0235] 2) In the current ECM, the derived intra-frame CCCM candidates can be inserted into the CCP candidate list of the inter-frame CCP Merge mode. However, such decoder-derived CCP candidates can be further expanded to achieve higher compression efficiency.

[0236] 3) In the current ECM, inter-frame CCP mode and inter-frame CCPmerge mode can only be applied to inter-frame chroma TB when a non-zero luma coefficient exists. Furthermore, inter-frame CCP Merge is allowed for inter-frame Merge mode, but not for blocks encoded / decoded using AMVP. This design can be improved.

[0237] 4 Detailed Solutions The following detailed embodiments should be considered as examples to explain general concepts. These embodiments should not be interpreted in a narrow sense. Furthermore, these embodiments can be combined in any way.

[0238] The terms “video unit” or “code-decoder unit” or “block” can refer to a picture, strip, slice, code-decoder tree block (CTB), code-decoder tree unit (CTU), code-decoder block (CB), CU, PU, ​​TU, PB, or TB.

[0239] The term "prediction cell" can refer to a prediction block or a prediction sample.

[0240] The term "CCP" can refer to any cross-component prediction method, such as any kind of LM / intra-frame CCLM / inter-frame CCCM / MMLM / CCCM / GLM / GL-CCCM / intra-frame CCP Merge / inter-frame CCP Merge. It can be used for intra-frame blocks, inter-frame blocks, or IBC blocks. It can be a type of CCP-based fusion mode.

[0241] The term "linear / nonlinear filter" can refer to a filter / model whose coefficients are derived based on a linear regression model or a nonlinear model. It can be used for cross-component prediction such as CCP or same-component prediction such as EFI, filtered IBC, filtered intra-frame TMP, etc.

[0242] It should be noted that the terms mentioned below are not limited to the specific terms defined in existing standards. Any changes to encoding / decoding tools also apply.

[0243] 1) The mixed template can be used for template cost calculation.

[0244] a) The mixed template can be used i) Inter-frame prediction ii) Intra-frame prediction iii) IBC Prediction iv) Any combination of the above.

[0245] b) In one example, for a fusion-based prediction model, if the template cost is calculated, the predicted template samples can be generated by fusion of at least two predictions.

[0246] i) For example, template samples can be generated by mixing at least two of the following: (1) Predict sample values ​​using the CCP model derived from the CCP model to be accessed.

[0247] (2) Predict sample values ​​using CCP models derived from predefined CCP patterns (e.g., CCCM, CCLM, etc.).

[0248] (3) Motion compensation sample values ​​derived from the motion / block vectors associated with the inter-frame mode to be accessed.

[0249] (4) Intra-predicted values ​​derived from the intra-mode to be accessed.

[0250] (5) Intra-predicted values ​​derived from predefined intra-frame modes (e.g., DM mode, DIMD mode, or TIMD mode).

[0251] ii) For example, the weights used for blending could be: (1) For example, the same weighting method used for the derivation of the final prediction for the current prediction block can be used for different parts of the mixed template prediction.

[0252] (a) For example, for inter-frame CCCM or inter-frame CCP Merge, the weights used for template blending can be M:N (e.g., M=3 / 4, N=1 / 4), where M is used for the template values ​​predicted by the CCP model and N is used for the template values ​​predicted by motion compensation.

[0253] (b) For example, for CIIP, the weights used for template blending can be M:N (e.g., M=3 / 4, N=1 / 4), where M is used for the inter-frame motion compensation prediction part and N is used for the intra-frame prediction part.

[0254] (2) Alternatively, a weighting method different from the weighting method used for the derivation of the final prediction for the current prediction block can be used for different parts of the mixed template prediction.

[0255] (a) For example, a different set of weighting factors can be used in the template mixing process compared to the weighting factors used for the derivation of the current prediction block.

[0256] (3) For example, the weights used for mixing can be predefined fixed values ​​(e.g., based on blocks).

[0257] (4) For example, the weights used for blending can follow predefined rules (e.g., depending on block width, block height, distance to block boundary, etc.).

[0258] (5) For example, the weights used for mixing can be sample-adaptive.

[0259] iii) For example, a hybrid-based prediction model could be: (1) Inter-frame CCCM, (2) Inter-frame CCP Merge, (3) Features hybrid intra-frame CCP merge, (4) CCP mode with hybrid decoder derivation, (5) It features mixed intra-frame chroma prediction. (6) Features hybrid intra-frame brightness prediction. (7) CIIP and its variants (e.g., CIIP inter-frame-intra-frame, CIIP IBC-intra-frame, etc.). (8) MHP and its variants (9) GPM and its variants (e.g., GPM inter-frame-inter-frame, GPM inter-frame-intra-frame, GPM IBC-intra-frame, GPM IBC-IBC, GPM intra-frame-intra-frame, etc.). (10) SGPM and its variants (e.g., SGPM intra-intra-intra-frame, etc.). (11) Intra-frame TMP mixing, (12) Having mixed IBC (e.g., bidirectional predictive IBC, etc.).

[0260] 2) The CCP model can be computed based on the current block, even if the current block has not been encoded or decoded by the CCP.

[0261] a) The current block must be a chroma block.

[0262] b) In one example, based on the correlation between the predicted luminance and component components of the current block, the CCP model can be computed for the current intra-frame, inter-frame, or IBC block.

[0263] i) For example, the training samples used to calculate model coefficients can be based on samples within the current block.

[0264] ii) For example, training samples used to calculate model coefficients can be based on samples within the current block and samples adjacent to the current block.

[0265] c) In one example, the CCP model computed for the current block can be stored in a cache and used for encoding and decoding future blocks.

[0266] i) For example, for a codec block, its CCP model can be derived based on the CCP model calculated from previous blocks.

[0267] (1) For example, codec blocks can be encoded or decoded in intra-frame CCP Merge, inter-frame CCP Merge, or CCP mode derived by the decoder.

[0268] (2) For example, the codec block can be intra-frame codec, inter-frame codec, or IBC codec.

[0269] ii) For example, the CCP model of stored computation can be labeled with a specific type.

[0270] (1) For example, it can be labeled based on the prediction pattern of the block it is computed from the CCP model.

[0271] (2) For example, for a codec block, the type of computational CCP model used can depend on the prediction mode of the codec block and the prediction mode of the CCP model from the previous blocks to which it was computed.

[0272] iii) For example, the computed CCP model can be used for future block encoding and decoding, regardless of whether the computed CCP model was computed from inter-frame blocks, intra-frame blocks, or IBC blocks.

[0273] 3) The first prediction derived based on the filter model (e.g., CCP mode, linear / nonlinear model, etc.) can be further mixed with the second prediction to form the final prediction for the current block.

[0274] a) In one example, more than one mixed candidate (e.g., a mixed candidate list) can be generated to derive a second prediction.

[0275] i) For example, which hybrid candidate to use can be determined based on template cost.

[0276] ii) For example, which mixing candidate can be used to transmit signals in the bitstream.

[0277] b) For example, hybrid candidates can be based on: i) CCP mode (e.g., MMLM, MM-CCCM, LBCCP, etc.).

[0278] ii) Intra-frame modes (e.g., DM, planar, DIMD, TIMD, etc.).

[0279] c) In one example, the current block can be encoded or decoded in one of the following modes: i) Intra-frame CCP and / or its variants, ii) Intra-frame CCP merge and / or its variants, iii) Inter-frame CCCM and / or its variants, iv) Inter-frame CCP merge and / or its variants, v) The CCP mode and / or its variants derived by the decoder. vi) Intra-frame chroma prediction and / or its variants, vii) Intra-frame luminance prediction and / or its variants, viii) CIIP (e.g., CIIP Inter-Frame-Intra-Frame, CIIP IBC-Intra-Frame, etc.) and / or its variants, ix) MHP and / or its variants, x) GPM (e.g., GPM inter-frame to inter-frame, GPM inter-frame to intra-frame, GPM IBC to intra-frame, GPM IBC-IBC, GPM intra-frame to intra-frame, etc.) and / or its variants, xi) SGPM (e.g., SGPM intra-intra-frame, etc.) and / or its variants, xii) Intra-frame TMP and / or its variants, xiii) IBC (e.g., one-way predictive IBC, two-way predictive IBC, etc.) and / or its variants.

[0280] 4) Low-pass filtered CCP candidates can be inserted into the CCP list or the mixed candidate list.

[0281] a) In one example, the low-pass filter could be an LBCCP filter.

[0282] b) In one example, the indicator of the low-pass filter can be added to the candidate derived by the decoder (e.g., CCP candidate, intra-frame mode candidate, inter-frame mode candidate, etc.).

[0283] i) For example, LBCCP flags can be added to multi-model CCP candidates derived by the decoder (e.g., intra-frame CCCM, inter-frame CCCM, NS-CCCM, GL-CCCM, MDF-CCCM, CCLM, etc.).

[0284] (1) In addition, alternatively, it can be added to the single-model CCP candidate derived by the decoder.

[0285] ii) For example, in addition to the candidates derived from the original decoder, the generated LBCCP-based CCP candidates can be added as additional CCP candidates.

[0286] (1) Alternatively, the generated LBCCP-based CCP candidate can be added to replace the original decoder-derived CCP candidate.

[0287] c) In one example, the indicator of the low-pass filter can be added to the inherited candidate (e.g., CCP candidate, intra-mode candidate, inter-mode candidate, etc.).

[0288] i) For example, LBCCP flags can be added to CCP candidates for multi-model inheritance (e.g., intra-frame CCCM, inter-frame CCCM, NS-CCCM, GL-CCCM, MDF-CCCM, CCLM, etc.).

[0289] (1) Alternatively, it can be added to the inherited single-model CCP candidate.

[0290] ii) For example, in addition to the original non-LBCCP codec CCP candidates, the generated LBCCP-based CCP candidates can be added as additional CCP candidates.

[0291] (1) Alternatively, the generated LBCCP-based CCP candidate can be added to replace the original non-LBCCP codec CCP candidate.

[0292] iii) In addition, for example, candidates that are not low-pass filtered can be generated based on low-pass filtered candidates.

[0293] (1) For example, non-LBCCP candidates can be generated (e.g., LBCCP flag equal to false), where the CCP model parameters of the new candidate are inherited from the original LBCCP candidate, but the LBCCP flag is set to false for the new candidate.

[0294] (2) For example, in addition to the original LBCCP candidates, the generated non-LBCCP candidates can be added as additional CCP candidates.

[0295] d) In one example, the state of the low-pass filter of a CCP candidate (e.g., indicator, filter tap, filter coefficients, etc.) can be inherited from previous codec blocks.

[0296] i) For example, if neighboring blocks in a predefined inspection order are encoded and decoded using low-pass filters, then when the CCP model of such neighboring blocks is used as a CCP candidate for the current block, the state of the low-pass filters of such neighboring blocks is also inherited as CCP candidate information for the current block.

[0297] ii) For example, whether the current codec unit inherits low-pass filter information for non-intra-frame (e.g., inter-frame and / or IBC, etc.) codecs may depend on whether the luma transform block of the current codec unit contains all-zero transform coefficient magnitudes (e.g., luma_cbf == 0, or tu_y_coded_flag == 0, etc.).

[0298] (1) For example, if the brightness transform block of the current encoding / decoding unit contains all-zero transform coefficient amplitudes, the low-pass filter information may not be inherited.

[0299] iii) For example, whether the current codec unit inherits low-pass filter information for non-intra-frame (e.g., inter-frame and / or IBC, etc.) codecs may depend on whether the current codec unit’s luma transform block and all chroma transform blocks contain all-zero transform coefficient magnitudes (e.g., rootCbf == 0, cu_skip_flag, etc.).

[0300] (1) For example, if the luminance transform block and all chrominance transform blocks of the current encoding / decoding unit contain all-zero transform coefficient amplitudes, then the low-pass filter information may not be inherited.

[0301] e) In one example, the CCP candidate list can be constructed based on candidates of the first type and candidates of the second type.

[0302] i) For example, a candidate of the first type can be a candidate derived by a decoder with an LBCCP flag equal to X (e.g., CCP model parameters are generated instantaneously from neighboring reconstructed samples), and a candidate of the second type can have the same CCP model parameters as a candidate of the first type, but with an LBCCP flag value equal to (1-X).

[0303] (1) For example, X=0.

[0304] ii) For example, a candidate of the first type can be an inherited candidate whose LBCCP flag is equal to Y (e.g., CCP model parameters are inherited from neighboring CCP codec blocks), and a candidate of the second type can have the same CCP model parameters as a candidate of the first type, but the value of the LBCCP flag is equal to (1-Y).

[0305] (1) For example, Y=0.

[0306] (2) For example, Y=1.

[0307] f) In one example, a low-pass filter can be applied to a single-model CCP candidate.

[0308] i) Alternatively, a low-pass filter can be applied to multi-model CCP candidates.

[0309] g) In one example, the LBCCP filter mentioned above could refer to another low-pass filter.

[0310] 5) At most K decoder-derived candidates can be inserted into the candidate list (e.g., K>1).

[0311] a) In one example, more than K decoder inference candidates are generated, and K of them can be selected based on the template cost reordering method.

[0312] b) In one example, K decoder derivation candidates can be added to a candidate list that includes both decoder derivation candidates and inherited candidates.

[0313] i) For example, all candidates in the list can be reordered again for the final encoding / decoding process.

[0314] ii) For example, all candidates in the list can be reordered for the final encoding / decoding process.

[0315] 6) Whether the CCP candidates derived by the decoder are available for a particular mode can depend on: a) Advanced syntax markers (e.g., sps cccm marker, sps lm marker, sps cclm marker, etc.).

[0316] b) Low-level syntax flags (e.g., block-level ns_cccm flags, etc.).

[0317] c) Prediction patterns (e.g., LM-TL / L / T pattern, MMLM-TL / L / T pattern, etc.).

[0318] d) Block coordinates (e.g., the top left block of an image can be considered a CCP candidate that does not have a valid decoder derivation).

[0319] e) Block width and / or height.

[0320] f) The number of available neighbor samples within a predefined reference area (e.g., if the number of available neighbor samples is less than a predefined threshold, it can be considered a CCP candidate that does not have a valid decoder derivation).

[0321] 7) The first CCP prediction can be mixed with the second prediction, wherein the second prediction can be encoded or decoded by the CCP or can be unencoded by the CCP.

[0322] a) The second prediction can be encoded and decoded by inter-frame CCP.

[0323] b) The second prediction can be encoded and decoded by intra-frame CCP.

[0324] c) The second prediction can be encoded / decoded between frames.

[0325] d) The second prediction can be intra-frame encoded / decoded.

[0326] e) The second prediction can be encoded and decoded by IBC.

[0327] f) The second prediction can be encoded or decoded using either LBCCP or non-LBCCP.

[0328] g) The second prediction may be based on a candidate list that includes at least one (or a combination of more than one) of the following elements: i) Predefined intra-frame modes ii) Predefined CCP patterns iii) Predefined schema tables / lists (1) For example, a predefined pattern table / list may include DIMD and / or TIMD and / or plane and / or MM-CCP and / or MM-CCCM.

[0329] iv) CCP candidate list (1) For example, the first CCP prediction and the second CCP prediction can both come from the same CCP candidate list.

[0330] (a) For example, how to derive a second CCP prediction based on template cost.

[0331] (b) For example, how to derive the second CCP prediction can be determined at the encoder and transmitted through the signal in the bit stream.

[0332] (c) For example, the CCP candidate list may include at least one of the following candidates: (i) Candidates derived by the decoder (e.g., CCP model parameters are generated instantaneously from neighboring reconstructed samples). (ii) Inheritance candidates (e.g., CCP model parameters are inherited from neighboring CCP codec blocks) h) For example, whether the second prediction comes from a predefined pattern table / list or from a CCP candidate list can be determined at the encoder and transmitted via signal in the bitstream.

[0333] i) Furthermore, for example, if the second prediction comes from a predefined pattern table / list, then which candidate in the table / list is used can be determined by the template cost.

[0334] (1) Alternatively, which candidate in the table / list is used can be further transmitted via signal in the bitstream.

[0335] ii) Furthermore, for example, if the second prediction comes from a list of CCP candidates, then which candidate in the list is used can be determined by the template cost.

[0336] (1) Alternatively, which candidate in the list is used can be further transmitted via signal in the bit stream.

[0337] iii) Alternatively, for example, whether the second prediction comes from a predefined pattern table / list or from a CCP candidate list can be determined based on decoder-side information such as template cost.

[0338] 8) For a given codec unit, at least two mixing modes may be allowed to mix a first prediction with at least another prediction.

[0339] a) For example, a first syntax can be transmitted by signaling to indicate whether a first mixing mode is used in the current codec unit, and a second syntax can be transmitted by signaling to indicate whether a second mixing mode is used.

[0340] b) Alternatively, for example, a syntax (e.g., a mix mode index) can be signaled to indicate which mix mode is being used by the current codec unit.

[0341] c) For example, the first mixing mode could refer to mixing CCP candidate A with CCP candidate B, where A and B both come from the same CCP candidate list.

[0342] i) For example, how to determine CCP candidate A can be based on template cost.

[0343] (1) Alternatively, it can be transmitted as a signal in a bit stream.

[0344] ii) For example, how to determine CCP candidate B can be based on template cost.

[0345] (1) Alternatively, it can be transmitted as a signal in a bit stream.

[0346] iii) For example, the CCP candidate list may include at least one of the following candidates: (1) Derived candidates from the decoder (e.g., CCP model parameters are generated instantaneously from neighboring reconstructed samples). (2) Inheritance candidates (e.g., CCP model parameters are inherited from neighboring CCP codec blocks) d) For example, the second hybrid mode can refer to mixing CCP candidate A with a predefined mode B, where B can be encoded or decoded by the CCP or can be unencoded by the CCP.

[0347] i) For example, B can come from a predefined list of patterns (such as DIMD, MM-CCCM, etc.). (1) For example, which of the predefined pattern lists is ultimately chosen to deduce that B can be transmitted via signal in the bit stream.

[0348] (2) Alternatively, which of the predefined pattern lists is ultimately chosen to derive B can be determined based on template cost.

[0349] e) For example, signaling in the second hybrid mode can be transmitted via signaling under the conditions of the first hybrid mode.

[0350] i) For example, a first hybrid mode or a second hybrid mode can be applied to the current codec unit.

[0351] ii) For example, if the first mixing mode is used, the second mixing mode is presumed (e.g., not transmitted via signaling) not to be used by the current codec unit.

[0352] f) For example, both the first and second hybrid modes can be applied to the current codec unit.

[0353] i) For example, two hybrid modes can be applied in a cascaded manner.

[0354] ii) For example, signaling in two mixed modes can be non-exclusive.

[0355] g) For example, the above definitions of the first and second mixing modes can be interchanged.

[0356] 9) For example, in the case where the mixing process involves mixing predictions encoded and decoded by LBCCP and predictions encoded and decoded by non-LBCCP.

[0357] a) For example, the first predicted LBCCP flag (e.g., it can be equal to 0 or 1) can be stored in a cache and used for encoding and decoding future blocks.

[0358] b) For example, how to determine the first prediction can be based on template cost.

[0359] c) Alternatively, how to determine if the first prediction can be transmitted via signal in the bitstream.

[0360] 10) For example, specific inter-frame / IBC CCP modes (e.g., inter-frame / IBC CCP Merge mode, or CCP mode in B / P stripe, or CCP mode for IBC / inter-frame blocks, or CCP mode that does not derive the CCP model from training samples of reference blocks based on MV / BV identifiers, etc.) can be applied to the following codec video units: a) AMVP encoding and decoding b) IBC encoding / decoding c) Merge encoding / decoding d) Inter-frame encoding and decoding e) The current encoding / decoding unit's luminance transform block contains all-zero transform coefficient amplitudes. f) The chroma transform block of the current encoding / decoding unit contains all-zero transform coefficient magnitudes. g) All transform blocks (e.g., both luma and chroma) of the current codec unit contain all-zero transform coefficient magnitudes. 11) For example, the CCP model for a specific inter-frame / IBC CCP mode (e.g., inter-frame / IBC CCP Merge mode, or CCP mode in B / P stripe, or CCP mode for IBC / inter-frame blocks, or CCP mode that does not derive the CCP model from training samples of reference blocks based on MV / BV identifiers, etc.) can be inherited from previous CCP codec blocks.

[0361] a) For example, the CCP model of such a pattern may not be allowed to be computed from available reconstruction samples (e.g., adjacent / non-adjacent neighboring samples to the left / above of the current block).

[0362] b) For example, alternatively, the CCP model of such a pattern can be computed from available reconstruction samples (e.g., adjacent / non-adjacent neighboring samples to the left / above of the current block).

[0363] i) For example, CCP models (e.g., the number of linear / nonlinear terms, model / filter shape, use of downsampled / non-downsampled luminance samples, etc.) can be similar to CCLM / MMLM / intra-frame CCCM / NS-CCCM / GL-CCCM / MDF-CCCM / inter-frame CCCM, etc.

[0364] ii) For example, CCP model coefficients can be calculated on the encoder and decoder sides simultaneously.

[0365] 12) For example, specific inter-frame / IBC CCP modes (e.g., inter-frame / IBC CCP Merge mode, or CCP mode in B / P stripe, or CCP mode for IBC / inter-frame blocks, or CCP mode that does not derive the CCP model from training samples of reference blocks based on MV / BV identifiers, etc.) may not be applied to the following codec video units: a) SBT encoding / decoding b) CIIP encoding and decoding c) MHP encoding / decoding d) IBC encoding and decoding e) AMVP encoding and decoding Application of inter-frame CCP or inter-frame CCP Merge when all luma coefficients are zero: 13) If the luma transform block of the current codec unit contains all-zero transform coefficient magnitudes (e.g., luma_cbf == 0, or tu_y_coded_flag == 0, etc.), then CCP-based predictions can be generated for the current codec unit.

[0366] a) The current encoding / decoding unit can be: i) Based on inter-frame AMVP ii) Based on IBC AMVP iii) Based on inter-frame merge iv) Based on IBC Merge b) Whether to perform CCP prediction on the current codec unit can depend on syntax elements (e.g., flags).

[0367] i) Syntax elements can be transmitted via signals at the codec unit level (such as CU / PU / TU / CB / PB / TB).

[0368] (1) For example, syntax elements can be transmitted via signal at the TU / TB level to specify whether video units are encoded or decoded in a specific inter-frame CCP mode (e.g., inter-frame CCCM Merge mode).

[0369] (a) For example, inter-frame CCP mode can derive the CCP model from reconstructed (luminance and chrominance) samples adjacent to the current block.

[0370] (i) Alternative site, which can derive the CCP model from reconstructed samples that are not adjacent to the current block.

[0371] (b) For example, the inter-frame CCP mode can derive the CCP model from training samples without being based on the inter-frame / IBC reference block identified by MV / BV.

[0372] (c) For example, inter-frame CCP mode can inherit the CCP model from previous CCP codec blocks.

[0373] (2) The existence of syntax elements may depend on whether the luma transform block of the current codec unit contains all-zero transform coefficient magnitudes (e.g., luma_cbf == 0, or tu_y_coded_flag == 0, etc.).

[0374] (a) For example, the chroma transform block of the current codec unit may contain non-zero transform coefficient magnitudes (e.g., cb_cbf != 0, or cr_cbf != 0, or tu_cb_coded_flag != 0, or tu_cr_coded_flag != 0, etc.).

[0375] (b) For example, if the luminance transform block of the current codec unit contains all-zero transform coefficient amplitudes, then syntax elements can be transmitted via signals.

[0376] (i) Otherwise (if the luminance transform block of the current codec unit contains non-zero transform coefficient magnitudes), the syntax element is presumed to be a specific value.

[0377] (ii) Alternatively, for example, if the luminance transform block of the current codec unit contains non-zero transform coefficient magnitudes, the syntax elements are transmitted via signaling.

[0378] (3) The existence of syntax elements does not depend on whether the luma transform block of the current codec unit contains all-zero transform coefficient magnitudes (e.g., luma_cbf == 0, or tu_y_coded_flag == 0, etc.).

[0379] (a) For example, a syntax element is transmitted via signal as long as at least one non-zero transform coefficient magnitude in the luminance or chrominance transform block is present.

[0380] ii) Syntax elements may be the same as those used for cases where the luma transform block contains one or more transform coefficient magnitudes that are not equal to zero (e.g., inter-frame CCP flag, inter-frame CCP Merge flag, intra-frame CCP flag, etc.).

[0381] (1) Syntax elements can be transmitted via signals regardless of the magnitude of the brightness transformation coefficient.

[0382] (a) For example, as long as at least one of the non-zero transformation coefficients in luminance or chrominance has an amplitude, it can be transmitted via signal at the TU / TB level.

[0383] (2) Alternatively, different syntax elements may be transmitted via signal depending on whether the brightness transform block contains one or more transform coefficient amplitudes that are not equal to 0.

[0384] iii) Syntax elements can be encoded or decoded by context.

[0385] (1) More than one context model can be used for this syntax element.

[0386] (a) Which context model is used for a particular codec unit may depend on whether the luminance transform block contains one or more transform coefficient magnitudes that are not equal to 0.

[0387] (b) For example, which context model is used may depend on whether the codec unit is encoded or decoded in Merge mode.

[0388] (c) For example, which context model is used may depend on whether the codec unit is encoded or decoded in inter-frame mode.

[0389] (2) For example, the TU-level inter-frame CCP Merge mode can be context-coded, depending on whether the luminance transform block contains one or more transform coefficient amplitudes that are not equal to 0.

[0390] c) Whether to perform CCP prediction for the current codec unit can be implicitly deduced at both the encoder and decoder, following predefined rules (i.e., not transmitted via signal in the bitstream).

[0391] (1) It can depend on previous encoding and decoding information (e.g., from previous encoding and decoding units).

[0392] (a) It can depend on the CCP mode information of neighboring blocks.

[0393] d) Which CCP model is applied to the current codec unit? i) Inherited from the previous CCP codec unit.

[0394] ii) Derived / calculated instantly from neighboring (reconstructed) samples.

[0395] iii) A list of CCP candidates is derived based on a CCP model that includes inheritance and / or a CCP model that is derived / computed on the fly.

[0396] 14) If the luminance transform block and all chrominance transform blocks (e.g., Cb transform block and Cr transform block) of the current codec unit contain all-zero transform coefficient magnitudes (e.g., rootCbf == 0, cu_skip_flag, etc.), then CCP-based predictions can be generated for the current codec unit.

[0397] a) The current encoding / decoding unit can be: i) Based on inter-frame AMVP ii) Based on IBC AMVP iii) Based on inter-frame merge (e.g., inter-frame merge skip mode) iv) Based on IBC Merge (e.g., IBC Merge skip mode) b) Whether to perform CCP prediction on the current codec unit can depend on syntax elements (e.g., flags).

[0398] i) Syntax elements can be transmitted via signals at the codec unit level (such as CU / PU).

[0399] (1) For example, syntax elements can be transmitted via signal at the CU / PU / CB / PB level to specify whether video units are encoded or decoded in a specific inter-frame CCP mode (e.g., inter-frame CCCM Merge mode).

[0400] (a) For example, inter-frame CCP mode can derive the CCP model from reconstructed (luminance and chrominance) samples adjacent to the current block.

[0401] (i) Alternative site, which can derive the CCP model from reconstructed samples that are not adjacent to the current block.

[0402] (b) For example, the inter-frame CCP mode can derive the CCP model from training samples without being based on the inter-frame / IBC reference block identified by MV / BV.

[0403] (c) For example, inter-frame CCP mode can inherit the CCP model from previous CCP codec blocks.

[0404] (2) For example, the existence of syntax elements may depend on whether the luma transform block and all chroma transform blocks of the current codec unit contain all-zero transform coefficient magnitudes (e.g., rootCbf == 0, cu_skip_flag, etc.).

[0405] (a) For example, if the luminance transform block and all chrominance transform blocks of the current codec unit contain all-zero transform coefficient magnitudes, then the syntax element is transmitted via signal.

[0406] (i) Otherwise (if the luminance transform block or chrominance transform block of the current codec unit contains at least one non-zero transform coefficient magnitude), the syntax element is presumed to be a specific value.

[0407] ii) Syntax elements may be the same as those used for cases where a luma or chroma transform block contains one or more transform coefficient magnitudes that are not equal to zero (e.g., intra-frame CCP flag, intra-frame CCP Merge flag, etc.).

[0408] (1) Alternatively, different syntax elements may be transmitted via signal depending on whether the luminance or chrominance transform block contains one or more transform coefficient amplitudes that are not equal to 0.

[0409] iii) Syntax elements can be encoded or decoded by context.

[0410] (1) More than one context model can be used for this syntax element.

[0411] (a) Which context model is used for a particular codec unit may depend on whether the luminance or chrominance transform block contains one or more transform coefficient magnitudes that are not equal to 0.

[0412] (b) Which context model is used for a particular codec unit may depend on whether the Merge skip mode is used for such a codec unit.

[0413] (c) For example, which context model is used may depend on whether the codec unit is encoded or decoded in Merge mode.

[0414] (d) For example, which context model is used may depend on whether the codec unit is encoded or decoded in inter-frame mode.

[0415] (2) For example, the CU-level inter-frame CCP Merge mode can be context-coded, depending on whether the current CU is coded to skip (SKIP) mode.

[0416] c) Whether to perform CCP prediction for the current codec unit can be implicitly deduced at both the encoder and decoder, following predefined rules (i.e., not transmitted via signal in the bitstream).

[0417] (1) It can depend on previous encoding and decoding information (e.g., from previous encoding and decoding units).

[0418] (a) It can depend on the CCP mode information of neighboring blocks.

[0419] (b) For example, if at least one of the previously encoded / decoded blocks (e.g., at a predefined location) was encoded / decoded using CCP, the current encoding / decoding unit can be presumed to be encoded / decoded based on CCP.

[0420] (2) It can be inherited from previous codec blocks (e.g., neighboring blocks).

[0421] (a) For example, if the Merge candidate of such a Merge skip codec block is CCP codec, the CCP model associated with such a Merge candidate is used by default for the current Merge skip codec block to generate CCP-based predictions.

[0422] (i) For example, candidate lists are constructed for both CCP prediction derivation and motion compensation prediction derivation.

[0423] (ii) For example, the CCP model (e.g., model parameters, etc.) can be stored as associated with each codec unit.

[0424] (iii) For example, the CCP model of the Merge candidate can be inherited into the current codec unit.

[0425] (b) Alternatively, if the Merge candidate for such a Merge skip block is CCP-coded, the prediction for the current Merge skip block is generated by the CCP model by default (but the CCP model used for the current Merge skip block may be different from the CCP model associated with the Merge candidate).

[0426] (i) For example, a new list of CCP candidates can be constructed, especially for CCP prediction derivation.

[0427] 1. For example, the inclusion order and / or rules for constructing a CCP list may differ from those for constructing a Merge list.

[0428] 2. For example, during the generation of the CCP candidate list for a future block, CCP model parameters can be stored as associated with each codec unit and inherited into the future block.

[0429] (ii) For example, whether a block is an indicator of CCP encoding / decoding (e.g., rather than CCP model parameters of such a block) can be stored as associated with each encoding / decoding unit and inherited into future blocks during the generation of the Merge list for future blocks.

[0430] d) Which CCP model is applied to the current codec unit could be: i) Inherited from the previous CCP codec unit.

[0431] (1) It can come from the same Merge candidate used to generate the motion compensation prediction for the current block.

[0432] (2) It can come from CCP candidates, especially for the CCP prediction part, which may be different from the Merge candidates used to generate motion compensation predictions for the current block.

[0433] ii) Derived / calculated instantly from neighboring (reconstructed) samples.

[0434] iii) A list of CCP candidates is derived based on a CCP model that includes inheritance and / or a CCP model that is derived / computed on the fly.

[0435] e) Such inter-frame CCP mode can be applied only to Merge skip mode.

[0436] i) For example, such a mode can only be allowed if the current block is in Merge skip mode.

[0437] ii) For example, syntax elements that specify such a mode can only be signaled if the current block is in Merge skip mode.

[0438] (1) Otherwise, a syntax element can be presumed to be a specific value that specifies that such a pattern is not used.

[0439] f) Block size limits can be applied to such inter-frame CCP modes.

[0440] i) For example, different block constraints can be applied depending on whether all transform blocks contain all-zero transform coefficient magnitudes (e.g., rootCbf = 0, etc.).

[0441] (1) For example, if there is at least one non-zero transform coefficient magnitude in the luminance or chrominance transform block, the first block constraint can be applied. If there is no non-zero transform coefficient magnitude in all luminance and chrominance transform blocks, the second block constraint can be applied.

[0442] (a) For example, the first constraint could be W c xH c >=T1 and W c xH c <=T2 (e.g., T1=16, T2=1024).

[0443] (b) For example, the second constraint could be WcxHc>=T3 and WcxHc<=T4 (such as T3=4, T4=4096).

[0444] 15) At least one syntax element may be transmitted via signal at the codec unit level (e.g., above the strip data level, such as SPS / PPS / PH / SH level) to indicate whether a particular mode (e.g., CCP mode, inter-frame CCP Merge mode with zero luminance CBF, etc.) is permitted for such codec unit.

[0445] a) For example, when the luminance transform block contains all-zero transform coefficient amplitudes, a syntax element (e.g., SPS / PPS / PH / SH flags, etc.) can be signaled to control the allow / disallow / application of inter-frame CCP Merge mode.

[0446] b) For example, a syntax element (e.g., SPS / PPS / PH / SH flags, etc.) can be signaled to control the permission / disallowment / application of all kinds of inter-frame CCP Merge modes (e.g., regardless of whether the luma and / or chroma transform blocks contain all-zero transform coefficient amplitudes).

[0447] c) For example, multiple syntax elements (e.g., SPS / PPS / PH / SH flags, etc.) can be signaled to control the permission / disallowment / application of different kinds of inter-frame CCP Merge modes (e.g., depending on whether the luma and / or chroma transform block contains all-zero transform coefficient amplitudes).

[0448] d) For example, in addition, the values ​​of (multiple) syntax elements can be determined on the encoder side (e.g., based on the hash value of a specific video unit (such as the first stripe, intra-frame stripe, etc.) of the encoded / decoded sequence).

[0449] i) For example, the values ​​of (multiple) syntax elements can be determined based on the selection ratio of a specific codec mode for a previously encoded video unit (e.g., how many blocks select a specific mode, etc.).

[0450] e) For example, alternatively, the values ​​of (multiple) syntax elements can be determined at both the encoder and decoder sides.

[0451] i) For example, the values ​​of (multiple) syntax elements can be set based on the selection ratio of the use of a specific mode (e.g., CCP mode, inter-frame CCP Merge mode with zero luminance CBF, etc.) in the previously encoded / decoded strips / pictures.

[0452] (1) For example, if the selection ratio is below a threshold, the value of the syntax element can be set to indicate that a particular pattern is not used in the current video unit (e.g., strip, picture, etc.).

[0453] (2) For example, in addition, the selection ratio can be calculated based on the number / region of video blocks encoded and decoded by a particular mode.

[0454] 16) How to apply the inter-frame CCP Merge mode to video units (e.g., codec blocks, etc.) may depend on the following information: a) Low-latency images (e.g., all reference images are displayed before the current image in the order they appear) b) Traditional B-images (e.g., reference images are displayed before and after the current image in the order they appear) c) POC distance between the current image and the reference image d) Inter-frame Merge e) Inter-frame AMVP f) IBC Merge g) IBC amvp h) Skip i) Block size / dimension j) Whether the luminance and / or chrominance transform blocks contain all-zero transform coefficient amplitudes. Regarding the use of statistics to determine the encoding / decoding mode based on previous encoding / decoding information: 17) How to use / apply a specific codec mode for the current video unit (e.g., strip, picture, picture group, etc.) can be determined based on statistics of previous codec information.

[0455] a) For example, statistics (e.g., selection area, selection ratio, etc.) of a specific codec mode can be calculated in at least one previously encoded video unit (e.g., strip, picture, picture group, etc.).

[0456] i) For example, a previously encoded video unit may be required to be decoded before the current video unit.

[0457] ii) For example, previously encoded or decoded video units can be required to be at the same temporal layer as the current video unit.

[0458] iii) For example, a previously encoded or decoded video unit can be required to be at a previous temporal layer of the current video unit.

[0459] iv) For example, statistics can be reset at each checkpoint (i.e., set to the initial value).

[0460] (1) For example, checkpoints could be each strip / image.

[0461] (2) For example, a checkpoint could be a group of pictures.

[0462] (3) For example, checkpoints can be based on intra-frame periods.

[0463] (4) For example, checkpoints can be based on random access cycles.

[0464] (5) For example, checkpoints can be based on the length of a GOP (i.e., a group of pictures).

[0465] b) For example, a determination can be made for each strip / image / image group.

[0466] c) For example, a determination can be made at the Nth strip / image in a strip / image group, and the determined strategy can be applied to other strips / images in the group.

[0467] i) For example, the Nth strip can be required to be an inter-frame (INTER) (or intra-frame (INTRA)) strip.

[0468] d) For example, it is possible to determine which elements are allowed to be used in a specific codec mode for the current video unit based on statistics of previous codec information.

[0469] i) For example, it can be determined whether and / or how to apply element X to the current strip / image based on the selection ratio of element X in the previous strip / image.

[0470] ii) For example, it may be determined whether and / or how to apply element X to the current temporal layer of the current GOP based on the selection ratio of element X in previous pictures of the current GOP (e.g., the first inter-frame picture in the same temporal layer or pictures in previous temporal layers, etc.).

[0471] iii) For example, element X could be: (1) Prediction techniques for IBC Merge blocks (2) Prediction techniques for IBC amvp blocks (e.g., inter-frame CCP Merge mode and / or its variants). (3) Prediction techniques for inter-frame merge blocks (e.g., inter-frame CCP merge mode and / or its variants). (4) Prediction techniques for inter-frame AMVP blocks (e.g., inter-frame CCP Merge mode and / or its variants). (5) Block size limitations of prediction techniques (e.g., inter-frame CCP Merge mode and / or its variants). (6) For example, prediction techniques can be: (a) Inter-frame CCP Merge mode in which all luma and / or chroma transform blocks contain all-zero transform coefficient magnitudes (b) Inter-frame CCP Merge mode where the luminance transform block contains all-zero transform coefficient magnitudes but the chrominance transform block contains at least one non-zero transform coefficient magnitude. (c) Inter-frame CCP Merge mode where the luma or chroma transform block contains at least one non-zero transform coefficient magnitude. (d) All types of inter-frame CCP Merge modes (e) CCP model (f) Intra-frame mode (g) Inter-frame mode (h) IBC mode e) For example, the parameters / thresholds for a specific codec mode for the current video unit can be set (if any) based on statistics of previous codec information.

[0472] f) For example, it is possible to determine, based on statistics of previous codec information, which syntax elements are transmitted via signaling for a specific codec mode for the current video unit.

[0473] g) For example, the same rules can be followed to make determinations on both the encoder and decoder sides.

[0474] Interaction between adaptive clipping and CCP modes (e.g., inter-frame CCP Merge mode): 18) For blocks encoded and decoded in CCP mode (e.g., inter-frame CCP Merge mode), the minimum / maximum value of the luminance channel transmitted by signal can be used as a limiting boundary to perform limiting during the reconstruction phase (when the residual signal is added to the prediction) and before the reconstructed picture is saved to the decoded picture buffer.

[0475] a) For example, the luminance reconstruction samples after being clipped can be used in subsequent encoding and decoding processes for the current CCP block.

[0476] i) For example, it can be used to calculate the chromaticity CCP model.

[0477] ii) For example, it can be used to compute template costs for multiple CCP candidates.

[0478] iii) For example, it can be used to predict the coefficient symbol for the current CCP block.

[0479] General aspects : 1) The disclosed methods can be used in a single tree.

[0480] 2) The disclosed method can be used in a two-tree system.

[0481] 3) The disclosed method can be used for chroma encoding and decoding.

[0482] 4) The disclosed method can be used for luminance encoding and decoding.

[0483] 5) The disclosed method can be used for intra-frame block encoding and decoding.

[0484] 6) The disclosed method can be used for inter-frame block encoding and decoding.

[0485] 7) The disclosed method can be used for IBC block encoding and decoding.

[0486] 8) The disclosed methods can be used in inter-frame (such as B or P) stripes.

[0487] 9) The disclosed method can be used in intra-frame (such as I) stripes.

[0488] 10) Whether and / or how the methods disclosed above can be applied to be transmitted via signaling at the sequence level / picture group level / picture level / strip level / piece group level, such as in the sequence header / picture header / SPS / VPS / DPS / DCI / PPS / APS / strip header / piece group header.

[0489] a. For example, whether the disclosed method is applied to a sequence (or image group, etc.) may depend on the SPS (or PPS, etc.) flag.

[0490] b. For example, the disclosed method can be applied only to SCC sequences.

[0491] i. For example, it can be controlled by the SPS / PPS flag.

[0492] ii. For example, it can be determined based on implicit rules that do not require syntactic element signaling (e.g., implicit SCC content detection, etc.).

[0493] 11) Whether and / or how the methods disclosed above can be applied to transmit signals at PB / TB / CB / PU / TU / CU / VPDU / CTU / CTU lines / strips / films / sub-images / other types of areas containing more than one sample point or pixel.

[0494] 12) Whether and / or how the methods disclosed above are applied may depend on the encoded / decoded information, such as block size, color format, single / dual tree segmentation, color components, and stripe / picture type.

[0495] Figure 34 A flowchart of a method 3400 for video processing according to an embodiment of the present disclosure is shown. Method 3400 is implemented during the conversion between video units of a video and a bitstream of a video.

[0496] At box 3410, for the conversion between video units and video bitstreams, an indication mode is provided to determine whether at least one syntax element for a video unit is determined to be transmitted via signaling at the codec unit level. For example, the codec unit level can be higher than the stripe data level. As an example, the codec unit level may include one of the following: Sequence Parameter Set (SPS) level, Picture Parameter Set (PPS) level, Picture Header (PH) level, or Strip Header (SH) level. In some examples, the mode may include at least one of the following: Cross-Component Prediction (CCP) mode or inter-frame CCP Merge mode with a Zero Luminance Coefficient Block Flag (CBF).

[0497] At box 3420, the conversion is performed based on determination. In some embodiments, the conversion may include encoding video units into a bitstream. Alternatively, the conversion may include decoding video units from a bitstream.

[0498] Method 3400 enables the signal transmission at the codec unit level of at least one syntax element indicating whether a mode is permitted for use in a video unit. Compared to conventional solutions, Method 3400 advantageously improves codec efficiency and performance.

[0499] In some embodiments, if the luma transform block includes all-zero transform coefficient amplitudes, syntax elements can be signaled to control at least one of the following: enabling, disabling, or applying inter-frame CCP Merge mode. For example, the syntax element can control / indicate whether inter-frame CCP mode is allowed. Alternatively or additionally, the syntax element can indicate / control whether inter-frame CCP mode is applied to the block. The syntax element can indicate / control which type of inter-frame CCP mode is used. In some other embodiments, syntax elements can be signaled to control at least one of the following: enabling, disabling, or applying inter-frame CCP Merge mode, regardless of whether the luma and / or chroma transform block includes all-zero transform coefficient amplitudes. For example, the syntax element can include one of the following: SPS flag, PPS flag, PH flag, or SH flag.

[0500] In some embodiments, multiple syntax elements may be signaled to control at least one of the following: enabling multiple types of inter-frame CCP Merge modes, disabling multiple types of inter-frame CCP Merge modes, or applying multiple types of inter-frame CCP Merge modes. In this case, the multiple syntax elements may include one of the following: SPS flag, PPS flag, PH flag, or SH flag.

[0501] In some embodiments, the value of at least one syntax element can be determined on the encoder side. For example, the value of at least one syntax element can be determined based on the hash value of the target video unit (such as the first stripe, intra-frame stripe, etc.) of the encoded / decoded sequence. In some examples, the value of at least one syntax element is determined based on the selection ratio of the encoding / decoding modes of the previously encoded / decoded video units, e.g., how many blocks select the target mode.

[0502] Alternatively, the value of at least one syntax element can be determined on both the encoder and decoder sides. In some embodiments, the value of at least one syntax element can be determined based on the selection ratio of the use of a mode (such as a CCP mode, an inter-frame CCP Merge mode with zero-luminosity CBF, etc.) in previously encoded or decoded strips or pictures. In some embodiments, if the selection ratio is below a threshold, the value of at least one syntax element can be determined as a first value indicating that the mode is not used in the current video unit, such as a strip, picture, etc. In some other embodiments, the selection ratio can be determined based on at least one of the following: the number of video blocks encoded or decoded by the mode or the area of ​​the video blocks encoded or decoded by the mode.

[0503] In some embodiments, the way the inter-frame CCP Merge mode is applied to a video unit may depend on at least one of the following information: low-latency picture (e.g., all reference pictures are displayed before the current picture in the order they are displayed), conventional B picture (e.g., reference pictures are displayed before and after the current picture in the order they are displayed), picture order count (POC) distance between the current picture and the reference pictures, inter-frame merge, inter-frame advanced motion vector prediction (AMVP), intra-frame block copy (IBC) merge, IBC AMVP, skip, block size, block dimension, or whether the luma transform block and / or chroma transform block includes information on all-zero transform coefficient magnitudes.

[0504] In some embodiments, determining that at least one syntax is transmitted at the codec unit level via signaling can be used in at least one of the following: single-tree or dual-tree. In some other embodiments, determining that at least one syntax is transmitted at the codec unit level via signaling can be used in at least one of the following: chroma coding, luma coding, intra-block coding, inter-block coding, or IBC block coding. In some embodiments, determining that at least one syntax is transmitted at the codec unit level via signaling can be used in an inter-frame stripe. For example, the inter-frame stripe can be a B-strip or a P-strip. In some other embodiments, determining that at least one syntax is transmitted at the codec unit level via signaling can be used in an intra-frame stripe. For example, the intra-frame stripe can be an I-strip.

[0505] In some embodiments, the indication of whether at least one syntax is determined to be transmitted at the codec unit level and / or how at least one syntax is determined to be transmitted at the codec unit level may be indicated at one of the following: sequence level, picture group level, picture level, stripe level, or slice group level. In some other embodiments, the indication of whether at least one syntax is determined to be transmitted at the codec unit level and / or how at least one syntax is determined to be transmitted at the codec unit level may be indicated at one of the following: sequence header, picture header, sequence parameter set (SPS), video parameter set (VPS), dependency parameter set (DPS), decoding capability information (DCI), picture parameter set (PPS), adaptive parameter set (APS), stripe header, or slice group header. In some embodiments, whether determining that at least one syntax is transmitted at the codec unit level is applied to at least one of the sequences or picture groups may depend on at least one of the SPS flag or PPS flag. In some embodiments, determining that at least one syntax is transmitted at the codec unit level may be applied only to screen content codec (SCC) sequences. For example, whether it is determined that at least one syntax is applied at the codec unit level via signaling based on at least one of the SPS or PPS flags. Alternatively, whether it is determined that at least one syntax is applied at the codec unit level via signaling based on rules that do not require syntax element signaling. For example, the rules may include SCC content detection.

[0506] In some embodiments, an indication of whether at least one syntax is determined to be transmitted via signaling at the codec unit level and / or how at least one syntax is determined to be transmitted via signaling at the codec unit level may be included in one of the following: prediction block (PB), transform block (TB), codec block (CB), prediction unit (PU), transform unit (TU), codec unit (CU), virtual pipeline data unit (VPDU), codec tree unit (CTU), CTU row, strip, slice, sub-picture, or region containing more than one sample point or pixel.

[0507] In some embodiments, method 3400 further includes: based on the encoded and decoded information of video units, determining whether at least one syntax is determined to be transmitted via signal at the encoding and decoding unit level and / or how at least one syntax is determined to be transmitted via signal at the encoding and decoding unit level, wherein the encoded and decoded information includes at least one of the following: block size, color format, single and / or dual tree segmentation, color components, stripe type, or picture type.

[0508] According to another embodiment of this disclosure, a non-transitory computer-readable recording medium is provided. This non-transitory computer-readable recording medium stores a bitstream of video generated by a method performed by means of a video processing apparatus. The method includes: determining whether an indication mode is permitted for at least one syntax element of a video unit to be transmitted via signaling at the codec unit level; and generating a bitstream based on the determination.

[0509] According to further embodiments of this disclosure, a method for storing a bitstream of video is provided. The method includes: determining whether an indication mode is permitted for at least one syntax element of a video unit to be transmitted via signaling at the codec unit level; generating a bitstream based on the determination; and storing the bitstream in a non-transitory computer-readable recording medium.

[0510] Figure 35 A flowchart of a method 3500 for video processing according to an embodiment of the present disclosure is shown. Method 3500 is implemented during the conversion between video units of a video and a bitstream of a video.

[0511] At box 3510, for the conversion between video units and video bitstreams, the manner in which the codec mode is applied to the video unit is determined based on statistics from previous codec information. For example, a video unit may include one of the following: a stripe, a picture, or a group of pictures. In some example embodiments, the video unit may be the current video unit.

[0512] At box 3520, the conversion is performed based on determination. In some embodiments, the conversion may include encoding video units into a bitstream. Alternatively, the conversion may include decoding video units from a bitstream.

[0513] Method 3500 enables the determination of how the encoding / decoding mode is applied to the video unit. Compared to conventional solutions, Method 3500 advantageously improves encoding / decoding efficiency and performance.

[0514] In some embodiments, statistics of the codec patterns in at least one previously encoded video unit can be determined. For example, the statistics of the codec patterns may include at least one of selection area or selection ratio. In some examples, at least one previously encoded video unit may include at least one of the following: stripe, picture, or picture group.

[0515] In some embodiments, at least one previously encoded / decoded video unit may be required to be decoded before the video unit. In some other embodiments, at least one previously encoded / decoded video unit may be required to be at the same temporal layer as the video unit. Alternatively, at least one previously encoded / decoded video unit may be required to be at a previous temporal layer of the video unit.

[0516] In some embodiments, the statistics of the codec mode can be reset at each checkpoint. For example, the statistics of the codec mode can be set to an initial value. In some embodiments, each checkpoint may include at least one of the following: stripe, picture, picture group, intra-period-based checkpoint, random access period-based checkpoint, or picture group (GOP) length-based checkpoint.

[0517] In some embodiments, it is determined that an action can be taken for each of the following: a strip, a picture, or a group of pictures. In some embodiments, it is determined that an action can be taken on the Nth strip of a strip group and / or the Nth picture of a picture group. In this case, N represents an integer. Additionally, the determined strategy can be applied to other strips in a strip group and / or other pictures in a picture group. For example, the Nth strip can be required to be an inter-frame strip or an intra-frame strip.

[0518] In some embodiments, the elements permitted for use in the encoding / decoding mode for a video unit can be determined based on statistics of previous encoding / decoding information. For example, whether and / or how to apply the first element for the current slice can be determined based on the selection ratio of the first element in the previous slice, and / or whether and / or how to apply the first element for the current image can be determined based on the selection ratio of the first element in the previous image. In some other embodiments, whether and / or how to apply the first element of the image in the current temporal layer of the current GOP can be determined based on the selection ratio of the first element in the previous image of the current GOP. For example, the previous image of the current GOP may include one of the following: a first inter-frame image of the same temporal layer or an image from a previous temporal layer.

[0519] In some embodiments, the first element may include one of the following: a prediction technique for intra-block copy (IBC) merge blocks, a prediction technique for IBC advanced motion vector prediction (AMVP) blocks, a prediction technique for inter-frame merge blocks, a prediction technique for inter-frame AMVP blocks, or a block size limitation for the prediction technique. For example, the prediction technique may include an inter-frame CCP merge mode and / or a variant of the inter-frame CCP merge mode.

[0520] In some embodiments, the prediction technique may include at least one of the following: an inter-frame CCP Merge mode in which all luma and / or chroma transform blocks include all-zero transform coefficient magnitudes; an inter-frame CCP Merge mode in which luma transform blocks include all-zero transform coefficient magnitudes but chroma transform blocks contain at least one non-zero transform coefficient magnitude; an inter-frame CCP Merge mode in which either luma or chroma transform blocks contain at least one non-zero transform coefficient magnitude; all types of inter-frame CCP Merge modes; CCP modes; intra-frame modes; inter-frame modes; or IBC modes.

[0521] In some embodiments, the method of setting parameters and / or thresholds for the codec mode of a video unit can be determined based on statistics of previous codec information. In some other embodiments, the syntax elements transmitted via signals for the codec mode of a video unit can be determined based on statistics of previous codec information. In some embodiments, the determination can be made following the same rules on both the encoder and decoder sides.

[0522] In some embodiments, the statistical determination of the codec mode applied to a video unit based on prior codec information can be used in at least one of the following: single-tree or dual-tree. In some other embodiments, the statistical determination of the codec mode applied to a video unit based on prior codec information can be used in at least one of the following: chroma codec, luma codec, intra-block codec, inter-block codec, or IBC block codec. In some embodiments, the statistical determination of the codec mode applied to a video unit based on prior codec information can be used in inter-frame stripes. For example, an inter-frame stripe can be a B-strip or a P-strip. In some other embodiments, the statistical determination of the codec mode applied to a video unit based on prior codec information can be used in intra-frame stripes. For example, an intra-frame stripe can be an I-strip.

[0523] In some embodiments, the indication of whether and / or how to determine the application of the codec mode for a video unit based on statistics of previous codec information may be indicated at one of the following: sequence level, picture group level, picture level, stripe level, or slice group level. In some other embodiments, the indication of whether and / or how to determine the application of the codec mode for a video unit based on statistics of previous codec information may be indicated at one of the following: sequence header, picture header, sequence parameter set (SPS), video parameter set (VPS), dependency parameter set (DPS), decoding capability information (DCI), picture parameter set (PPS), adaptive parameter set (APS), stripe header, or slice group header. In some embodiments, whether the method of determining the application of the codec mode for a video unit based on statistics of previous codec information is applied to at least one of the sequences or picture groups may depend on at least one of the SPS flag or PPS flag. In some embodiments, the method of statistically determining the codec mode applied to a video unit based on prior codec information may be applied only to screen content codec (SCC) sequences. For example, whether the method of statistically determining the codec mode applied to a video unit based on prior codec information is applied is based on at least one of the SPS flag or PPS flag. Alternatively, whether the method of statistically determining the codec mode applied to a video unit based on prior codec information is applied is based on rules that do not require syntax element signaling. For example, the rules may include SCC content detection.

[0524] In some embodiments, an indication of whether the method of applying the codec mode for a video unit is determined based on statistics of previous codec information and / or how the method of applying the codec mode for a video unit is determined based on statistics of previous codec information may be included in one of the following: prediction block (PB), transform block (TB), codec block (CB), prediction unit (PU), transform unit (TU), codec unit (CU), virtual pipeline data unit (VPDU), codec tree unit (CTU), CTU row, strip, slice, sub-picture, or region containing more than one sample point or pixel.

[0525] In some embodiments, method 3500 further includes: determining, based on the encoded and decoded information of the video unit, whether to statistically determine the manner in which the encoding and decoding mode is applied to the video unit based on previous encoding and decoding information and / or how to statistically determine the manner in which the encoding and decoding mode is applied to the video unit based on previous encoding and decoding information, wherein the encoded and decoded information includes at least one of the following: block size, color format, single and / or dual tree segmentation, color components, stripe type, or picture type.

[0526] According to another embodiment of this disclosure, a non-transitory computer-readable recording medium is provided. This non-transitory computer-readable recording medium stores video data through a method generated by means of a video processing apparatus. The method includes: statistically determining, based on prior encoding / decoding information, how to apply encoding / decoding modes to video units of the video; and generating the bitstream based on the determination.

[0527] According to further embodiments of this disclosure, a method for storing a bitstream of video is provided. The method includes: statistically determining, based on prior encoding / decoding information, how to apply encoding / decoding modes to video units of the video; generating a bitstream based on the determination; and storing the bitstream in a non-transitory computer-readable recording medium.

[0528] Figure 36 A flowchart of a method 3600 for video processing according to an embodiment of the present disclosure is shown. Method 3600 is implemented during the conversion between video units of a video and a bitstream of a video.

[0529] At box 3610, the conversion between video units and the video bitstream for the video is determined by the minimum or maximum value of the luminance channel transmitted via signal transmission as a clipping boundary. In this case, the video unit comprises a block encoded and decoded in a cross-component prediction (CCP) mode. For example, the CCP mode may include an inter-frame CCP Merge mode. In some embodiments, clipping may be performed during the reconstruction phase. Alternatively or additionally, clipping may be performed before the reconstructed image is saved to the decoded image buffer.

[0530] At box 3620, limiting is performed on the video unit based on the limiting boundary.

[0531] At box 3630, the conversion is performed based on clipping. In some embodiments, the conversion may include encoding video units into a bitstream. Alternatively, the conversion may include decoding video units from a bitstream.

[0532] Method 3600 allows the minimum or maximum value of the luminance channel transmitted through the signal to be used as a limiting boundary. Compared to conventional solutions, Method 3600 advantageously improves encoding and decoding efficiency and performance.

[0533] In some embodiments, the clipped luminance reconstruction samples can be used in subsequent encoding and decoding processes for the current CCP block. In some embodiments, the clipped luminance reconstruction samples can be used to determine the chroma CCP model. In some other embodiments, the clipped luminance reconstruction samples can be used to determine the template cost for multiple CCP candidates. Alternatively, the clipped luminance reconstruction samples can be used to predict the coefficient sign for the current CCP block.

[0534] In some embodiments, determining the minimum or maximum value of the luminance channel transmitted through the signal as a limiting boundary to perform limiting can be used in at least one of the following: single-tree or dual-tree. In some other embodiments, determining the minimum or maximum value of the luminance channel transmitted through the signal as a limiting boundary to perform limiting can be used in at least one of the following: chroma codec, luma codec, intra-block codec, inter-block codec, or IBC block codec. In some embodiments, determining the minimum or maximum value of the luminance channel transmitted through the signal as a limiting boundary to perform limiting can be used in inter-frame stripes. For example, an inter-frame stripe can be a B-strip or a P-strip. In some other embodiments, determining the minimum or maximum value of the luminance channel transmitted through the signal as a limiting boundary to perform limiting can be used in intra-frame stripes. For example, an intra-frame stripe can be an I-strip.

[0535] In some embodiments, the indication of whether to determine if the minimum or maximum value of the luminance channel transmitted by the signal is used as a limiting boundary to perform limiting and / or how to determine if the minimum or maximum value of the luminance channel transmitted by the signal is used as a limiting boundary to perform limiting may be indicated at one of the following: sequence level, picture group level, picture level, strip level, or slice group level. In some other embodiments, the indication of whether to determine if the minimum or maximum value of the luminance channel transmitted by the signal is used as a limiting boundary to perform limiting and / or how to determine if the minimum or maximum value of the luminance channel transmitted by the signal is used as a limiting boundary to perform limiting may be indicated at one of the following: sequence header, picture header, sequence parameter set (SPS), video parameter set (VPS), dependency parameter set (DPS), decoding capability information (DCI), picture parameter set (PPS), adaptive parameter set (APS), strip header, or slice group header. In some embodiments, determining whether the minimum or maximum value of the luminance channel transmitted via signaling is used as a limiting boundary to perform limiting is applied to at least one of a sequence or picture group, may depend on at least one of the SPS flag or PPS flag. In some embodiments, determining whether the minimum or maximum value of the luminance channel transmitted via signaling is used as a limiting boundary to perform limiting may be applied only to Screen Content Codec (SCC) sequences. For example, whether the minimum or maximum value of the luminance channel transmitted via signaling is used as a limiting boundary to perform limiting is based on the application of at least one of the SPS flag or PPS flag. Alternatively, whether the minimum or maximum value of the luminance channel transmitted via signaling is used as a limiting boundary to perform limiting is based on the application of rules that do not require syntax element signaling. For example, the rules may include SCC content detection.

[0536] In some embodiments, an indication of whether to determine whether the minimum or maximum value of the luminance channel transmitted by the signal is used as a limiting boundary to perform limiting and / or how to determine whether the minimum or maximum value of the luminance channel transmitted by the signal is used as a limiting boundary to perform limiting may be included in one of the following: prediction block (PB), transform block (TB), codec block (CB), prediction unit (PU), transform unit (TU), codec unit (CU), virtual pipeline data unit (VPDU), codec tree unit (CTU), CTU row, strip, slice, sub-picture, or region containing more than one sample point or pixel.

[0537] In some embodiments, method 3600 further includes: encoded and decoded information of video units based on video, determining whether to determine whether the minimum or maximum value of the luminance channel transmitted by the signal is used as a limiting boundary to perform limiting and / or how to determine whether the minimum or maximum value of the luminance channel transmitted by the signal is used as a limiting boundary to perform limiting, wherein the encoded and decoded information includes at least one of the following: block size, color format, single and / or dual tree segmentation, color components, stripe type, or picture type.

[0538] According to another embodiment of this disclosure, a non-transitory computer-readable recording medium is provided. This non-transitory computer-readable recording medium stores a bitstream of video generated by a method performed by means of an apparatus for video processing. The method includes: determining a minimum or maximum value of a luminance channel transmitted through a signal, which is used as a clipping boundary, wherein video units of the video comprise blocks encoded and decoded using cross-component prediction (CCP) mode; performing clipping on the video units based on the clipping boundary; and generating a bitstream based on the clipping.

[0539] According to further embodiments of this disclosure, a method for storing a bitstream of video is provided. The method includes: determining a minimum or maximum value of a luminance channel transmitted via a signal, which is used as a clipping boundary, wherein video units of the video comprise blocks encoded and decoded using cross-component prediction (CCP) mode; performing clipping on the video units based on the clipping boundary; generating a bitstream based on the clipping; and storing the bitstream in a non-transitory computer-readable recording medium.

[0540] Figure 37 A flowchart of a method 3700 for video processing according to an embodiment of the present disclosure is shown. Method 3700 is implemented during the conversion between video units of a video and a bitstream of a video.

[0541] At box 3710, for the conversion between video units and the video bitstream, low-pass filtered cross-component prediction (CCP) candidates are determined and inserted into the candidate list. In this case, the candidate list is at least one of the following: a CCP list or a fusion candidate list. In some example embodiments, the video unit may be the current codec unit.

[0542] At block 3720, the state of the low-pass filter for the CCP candidate is inherited from the previously encoded / decoded block. For example, the inherited state may include at least one of the following: an indicator, a filter tap, or a filter coefficient.

[0543] At box 3730, the conversion is performed based on the inherited state. In some embodiments, the conversion may include encoding video units into a bitstream. Alternatively, the conversion may include decoding video units from a bitstream.

[0544] Method 3700 allows the state of the low-pass filter for CCP candidates to be inherited from previously encoded / decoded blocks. Compared to conventional solutions, Method 3500 advantageously improves encoding / decoding efficiency and performance.

[0545] In some embodiments, if neighboring blocks are encoded and decoded using low-pass filters in a predetermined inspection order, and the CCP model of the neighboring blocks is used as a CCP candidate for the current block, the state of the low-pass filters of the neighboring blocks can be inherited as CCP candidate information for the current block.

[0546] In some embodiments, whether low-pass filter information for video units (such as the currently encoded / decoded unit) that are not intra-frame (such as inter-frame and / or IBC) can be inherited may depend on whether the luma transform block of the video unit includes all-zero transform coefficient magnitudes (e.g., luma_cbf == 0, or tu_y_coded_flag == 0, etc.). For example, if the luma transform block of the video unit includes all-zero transform coefficient magnitudes, the low-pass filter information may not be inherited.

[0547] In some other embodiments, whether low-pass filter information for video units (such as the currently encoded / decoded unit) that are not intra-frame (such as inter-frame and / or IBC) can be inherited may depend on whether the luma transform block and all chroma transform blocks of the video unit include all-zero transform coefficient magnitudes (e.g., rootCbf == 0, cu_skip_flag, etc.). For example, if the luma transform block and all chroma transform blocks of the video unit include all-zero transform coefficient magnitudes, the low-pass filter information may not be inherited.

[0548] In some embodiments, if the luma transform block of the current video unit includes all-zero transform coefficient magnitudes, a CCP-based prediction for the current video unit can be generated. In some embodiments, the CCP-based prediction for the current video unit can be performed based on syntax elements. In this case, the syntax elements can be context-coded. For example, a Transform Unit (TU) level inter-frame CCP Merge mode can be context-coded, depending on whether the luma transform block includes at least one transform coefficient magnitude that is not equal to zero.

[0549] In some embodiments, if the luma transform block and all chroma transform blocks of the current video unit include all-zero transform coefficient magnitudes, a CCP-based prediction for the current video unit can be generated. In some embodiments, the CCP-based prediction for the current video unit can be performed based on syntax elements. In this case, syntax elements can be context-coded. For example, a codec unit (CU) level inter-frame CCP merge mode can be context-coded, depending on whether the current CU is encoded in skip mode.

[0550] In some embodiments, the state of the low-pass filter for a CCP candidate inherited from a previously encoded block can be used in at least one of the following: single-tree or dual-tree. In some other embodiments, the state of the low-pass filter for a CCP candidate inherited from a previously encoded block can be used in at least one of the following: chroma encoding, luma encoding, intra-block encoding, inter-block encoding, or IBC block encoding. In some embodiments, the state of the low-pass filter for a CCP candidate inherited from a previously encoded block can be used in an inter-frame stripe. For example, the inter-frame stripe can be a B-strip or a P-strip. In some other embodiments, the state of the low-pass filter for a CCP candidate inherited from a previously encoded block can be used in an intra-frame stripe. For example, the intra-frame stripe can be an I-strip.

[0551] In some embodiments, an indication of whether and / or how the state of a low-pass filter for a CCP candidate is inherited from a previously encoded block may be indicated at one of the following: sequence level, picture group level, picture level, stripe level, or slice group level. In some other embodiments, an indication of whether and / or how the state of a low-pass filter for a CCP candidate is inherited from a previously encoded block may be indicated at one of the following: sequence header, picture header, sequence parameter set (SPS), video parameter set (VPS), dependency parameter set (DPS), decoding capability information (DCI), picture parameter set (PPS), adaptive parameter set (APS), stripe header, or slice group header. In some embodiments, whether the state of a low-pass filter for a CCP candidate inherited from a previously encoded block is applied to at least one of the sequences or picture groups may depend on at least one of the SPS flag or PPS flag. In some embodiments, the state of the low-pass filter for a CCP candidate inherited from a previously encoded block may be applied only to the Screen Content Codec (SCC) sequence. For example, whether the state of the low-pass filter for a CCP candidate inherited from a previously encoded block is applied is based on at least one of the SPS flag or the PPS flag. Alternatively, whether the state of the low-pass filter for a CCP candidate inherited from a previously encoded block is applied is based on a rule that does not require syntax element signaling. For example, the rule may include SCC content detection.

[0552] In some embodiments, an indication of whether and / or how the state of a low-pass filter candidate CCP is inherited from a previously encoded / decoded block may be included in one of the following: prediction block (PB), transform block (TB), codec block (CB), prediction unit (PU), transform unit (TU), codec unit (CU), virtual pipeline data unit (VPDU), codec tree unit (CTU), CTU row, strip, slice, sub-picture, or region containing more than one sample point or pixel.

[0553] In some embodiments, method 3700 further includes: based on the encoded information of video units of the video, determining whether and / or how the state of the low-pass filter of the CCP candidate is inherited from the previously encoded block, the encoded information including at least one of the following: block size, color format, single and / or dual tree segmentation, color components, stripe type, or picture type.

[0554] According to another embodiment of this disclosure, a non-transitory computer-readable recording medium is provided. This non-transitory computer-readable recording medium stores a bitstream of video generated by a method performed by means of an apparatus for video processing. The method includes: determining that low-pass filtered cross-component prediction (CCP) candidates are inserted into a candidate list, wherein the candidate list is at least one of: a CCP list or a fusion candidate list; inheriting the state of a low-pass filter from a previously encoded / decoded block of CCP candidates; and generating a bitstream based on the inherited state.

[0555] According to further embodiments of this disclosure, a method for storing a bitstream of video is provided. The method includes: determining that low-pass filtered cross-component prediction (CCP) candidates are inserted into a candidate list, wherein the candidate list is at least one of: a CCP list or a fusion candidate list; inheriting the state of a low-pass filter from a previously encoded / decoded block of CCP candidates; generating a bitstream based on the inherited state; and storing the bitstream in a non-transitory computer-readable recording medium.

[0556] The embodiments of this disclosure can be described according to the following entries, and their features can be combined in any reasonable manner.

[0557] Item 1. A method for video processing, comprising: conversion between video units and a bitstream of video; determining whether an indication mode is permitted for at least one syntax element of the video unit to be signaled at the codec unit level; and performing the conversion based on the determination.

[0558] Item 2. According to the method of Item 1, wherein the encoding / decoding unit level is higher than the strip data level, and the encoding / decoding unit level includes one of the following: Sequence Parameter Set (SPS) level, Picture Parameter Set (PPS) level, Picture Header (PH) level, or Strip Header (SH) level.

[0559] Item 3. According to the method of Item 1, wherein the mode includes at least one of the following: cross-component prediction (CCP) mode or inter-frame CCP Merge mode with zero luminance coefficient block flag (CBF).

[0560] Item 4. According to the method of Item 1, wherein if the luminance transform block includes all-zero transform coefficient amplitudes, the syntax element is transmitted via signal to control at least one of the following: permission of inter-frame CCP Merge mode, disallowment of inter-frame CCP Merge mode, or application of inter-frame CCP Merge mode.

[0561] Item 5. According to the method of Item 1, wherein syntax elements are transmitted by signaling to control at least one of the following: permission of inter-frame CCP Merge mode, disallowment of inter-frame CCP Merge mode, or application of inter-frame CCP Merge mode.

[0562] Item 6. According to the method of Item 4 or 5, the syntax element includes one of the following: SPS mark, PPS mark, PH mark or SH mark.

[0563] Item 7. According to the method of Item 1, wherein multiple syntax elements are transmitted by signaling to control at least one of the following: permission of multiple types of inter-frame CCP Merge modes, disallowing of multiple types of inter-frame CCP Merge modes, or application of multiple types of inter-frame CCP Merge modes, wherein the multiple syntax elements include one of the following: SPS flag, PPS flag, PH flag, or SH flag.

[0564] Item 8. According to the method of Item 1, the value of at least one syntax element is determined on the encoder side.

[0565] Item 9. According to the method of Item 8, the value of at least one syntax element is determined based on the hash value of the target video unit of the encoded / decoded sequence.

[0566] Item 10. According to the method of Item 8, the value of at least one syntax element is determined based on the selection ratio of the encoding / decoding mode of the previously encoded / decoded video unit.

[0567] Item 11. According to the method of Item 1, the value of at least one syntax element is determined on both the encoder and decoder sides.

[0568] Item 12. According to the method of Item 11, the value of at least one syntax element is determined based on the selection ratio of the use of patterns in a previously encoded or decoded strip or picture.

[0569] Item 13. According to the method of Item 12, wherein if the selection ratio is lower than a threshold, the value of at least one syntax element is determined as a first value, the first value indicating that the mode is not used in the current video unit.

[0570] Item 14. The method according to Item 12, wherein the selection ratio is determined based on at least one of the following: the number of video blocks encoded by the mode or the area of ​​the video blocks encoded by the mode.

[0571] Item 15. According to the method of Item 1, the way in which the inter-frame CCP Merge mode is applied to the video unit depends on at least one of the following information: low-latency picture, conventional B picture, picture order count (POC) distance between the current picture and the reference picture, inter-frame merge, inter-frame advanced motion vector prediction (AMVP), intra-frame block copy (IBC) merge, IBCAMVP, skip, block size, block dimension, or whether the luma transform block and / or chroma transform block includes information on the magnitude of all-zero transform coefficients.

[0572] Item 16. The method according to any one of Items 1 to 15, wherein at least one syntax is determined to be used at the codec unit level via signal transmission in at least one of the following: single tree or dual tree.

[0573] Item 17. The method according to any one of Items 1 to 15, wherein at least one syntax is determined to be used at the codec unit level via signal transmission for at least one of: chroma codec, luma codec, intra-block codec, inter-block codec, or IBC block codec.

[0574] Item 18. The method of any one of Items 1 to 15, wherein at least one syntax is determined to be used in the inter-frame stripe by signal transmission at the codec unit level.

[0575] Item 19. According to the method of Item 18, where the inter-frame stripe is a B stripe or a P stripe.

[0576] Item 20. The method according to any one of Items 1 to 15, wherein at least one syntax is determined to be used in an intra-frame stripe by signal transmission at the codec unit level.

[0577] Item 21. According to the method of Item 20, where the intra-frame stripe is an I stripe.

[0578] Item 22. The method according to any one of Items 1 to 21, wherein an indication of whether at least one syntax is determined to be transmitted by signal at the codec unit level and / or how at least one syntax is determined to be transmitted by signal at the codec unit level is indicated at one of the following: sequence level, picture group level, picture level, strip level, or slice group level.

[0579] Item 23. The method of any one of Items 1 to 21, wherein an indication of whether at least one syntax is determined to be transmitted via signal at the codec unit level and / or how at least one syntax is determined to be transmitted via signal at the codec unit level is indicated in one of the following: sequence header, picture header, sequence parameter set (SPS), video parameter set (VPS), dependency parameter set (DPS), decoding capability information (DCI), picture parameter set (PPS), adaptive parameter set (APS), strip header, or slice header.

[0580] Item 24. The method according to any one of Items 22 to 23, wherein determining whether at least one syntax is applied to at least one of the sequences or picture groups at the codec unit level via signal transmission depends on at least one of the SPS flag or PPS flag.

[0581] Item 25. The method according to any one of Items 22 to 23, wherein at least one syntax is determined to be applied to the screen content codec (SCC) sequence by signal transmission at the codec unit level.

[0582] Item 26. The method according to Item 25, wherein at least one syntax is determined to be applied at the codec unit level via signal transmission based on at least one of the SPS flag or the PPS flag.

[0583] Item 27. The method according to Item 25, wherein at least one syntax is determined at the codec unit level by signal transmission based on rules that do not require syntax element signaling, wherein the rules include SCC content detection.

[0584] Item 28. The method according to any one of Items 1 to 21, wherein an indication of whether at least one syntax is determined to be transmitted via signal at the codec unit level and / or how at least one syntax is determined to be transmitted via signal at the codec unit level is included in one of the following: prediction block (PB), transform block (TB), codec block (CB), prediction unit (PU), transform unit (TU), codec unit (CU), virtual pipeline data unit (VPDU), codec tree unit (CTU), CTU line, strip, slice, sub-picture, or region containing more than one sample point or pixel.

[0585] Item 29. The method according to any one of Items 1 to 21 further includes: based on the encoded and decoded information of the video unit, determining whether at least one syntax is determined to be transmitted by signal at the encoding and decoding unit level and / or how at least one syntax is determined to be transmitted by signal at the encoding and decoding unit level, wherein the encoded and decoded information includes at least one of the following: block size, color format, single and / or dual tree segmentation, color components, stripe type, or picture type.

[0586] Item 30. A method for video processing, comprising: conversion between video units of a video and a bitstream of a video; statistically determining, based on prior encoding / decoding information, how to apply encoding / decoding modes to the video units; and performing the conversion based on the determination.

[0587] Item 31. According to the method of Item 30, the video unit includes one of the following: strip, picture, or group of pictures.

[0588] Item 32. According to the method of Item 30, statistics of the encoding and decoding modes in at least one previously encoded and decoded video unit are determined.

[0589] Item 33. According to the method of Item 32, the statistics of the encoding and decoding modes include at least one of the following: selection area or selection ratio.

[0590] Item 34. According to the method of Item 32, at least one previously encoded video unit comprises at least one of the following: strip, picture, or group of pictures.

[0591] Item 35. According to the method of Item 32, at least one previously encoded video unit is required to be decoded before the video unit.

[0592] Item 36. According to the method of Item 32, at least one previously encoded / decoded video unit is required to be in the same temporal layer as the video unit.

[0593] Item 37. According to the method of Item 32, at least one previously encoded / decoded video unit is required to be in the previous temporal layer of the video unit.

[0594] Item 38. According to the method of Item 32, the statistics of the encoding / decoding mode are reset at each checkpoint.

[0595] Item 39. According to the method of Item 38, the statistics of the encoding / decoding mode are set to initial values.

[0596] Item 40. According to the method of Item 38, wherein each checkpoint includes at least one of the following: stripe, picture, picture group, checkpoint based on intra-frame period, checkpoint based on random access period, or checkpoint based on the length of picture group (GOP).

[0597] Item 41. According to the method of Item 30, wherein it is determined that a strip, a picture, or a group of pictures is made.

[0598] Item 42. The method according to Item 30, wherein it is determined that the decision is made on the Nth strip of the strip group and / or the Nth picture of the picture group, where N represents an integer, and the determined strategy is used for other strips in the strip group and / or other pictures in the picture group.

[0599] Item 43. According to the method of Item 42, the Nth stripe is required to be an inter-frame stripe or an intra-frame stripe.

[0600] Item 44. According to the method of Item 30, wherein the elements of a video unit that are permitted for use in a codec mode are determined based on statistics of prior codec information.

[0601] Item 45. According to the method of Item 44, wherein whether to apply the first element for the current strip and / or how to apply the first element for the current strip is determined based on the selection ratio of the first element in the previous strip, and / or whether to apply the first element for the current image and / or how to apply the first element for the current image is determined based on the selection ratio of the first element in the previous image.

[0602] Item 46. According to the method of Item 44, whether to apply the first element of the picture in the current temporal layer for the current GOP and / or how to apply the first element of the picture in the current temporal layer for the current GOP is determined based on the selection ratio of the first element in the previous picture of the current GOP.

[0603] Item 47. According to the method of Item 46, the previous picture of the current GOP includes one of the following: the first inter-frame picture of the same temporal layer or a picture in a previous temporal layer.

[0604] Item 48. The method according to Item 44, wherein the first element includes one of the following: a prediction technique for intra-block copy (IBC) merge blocks, a prediction technique for IBC advanced motion vector prediction (AMVP) blocks, a prediction technique for inter-frame merge blocks, a prediction technique for inter-frame AMVP blocks, or a block size limitation of the prediction technique.

[0605] Item 49. The method according to Item 48, wherein the prediction technique includes inter-frame CCP Merge mode and / or variants of inter-frame CCP Merge mode.

[0606] Item 50. The method according to Item 48, wherein the prediction technique includes at least one of the following: an inter-frame CCP Merge mode in which all luma and / or chroma transform blocks include all-zero transform coefficient magnitudes, an inter-frame CCP Merge mode in which luma transform blocks include all-zero transform coefficient magnitudes but chroma transform blocks include at least one non-zero transform coefficient magnitude, an inter-frame CCP Merge mode in which either luma or chroma transform blocks include at least one non-zero transform coefficient magnitude, all kinds of inter-frame CCP Merge modes, CCP modes, intra-frame modes, inter-frame modes, or IBC modes.

[0607] Item 51. According to the method of Item 30, the manner in which parameters and / or thresholds for the encoding / decoding mode of the video unit are set is determined based on statistics of previous encoding / decoding information.

[0608] Item 52. According to the method of Item 30, the syntax elements of the encoding / decoding mode for a video unit transmitted by the signal are determined based on statistics of previous encoding / decoding information.

[0609] Item 53. The method according to Item 30, wherein the determination that the same rules are followed on both the encoder and decoder sides is made.

[0610] Item 54. The method according to any one of Items 30 to 53, wherein the method of determining the use or application of the encoding / decoding mode for the video unit based on statistics of prior encoding / decoding information is used in at least one of the following: single-tree or dual-tree.

[0611] Item 55. The method according to any one of Items 30 to 53, wherein the manner in which the coding or decoding mode for a video unit is determined statistically based on prior coding or decoding information is used for at least one of: chroma coding or decoding, luma coding or decoding, intra-block coding or decoding, inter-block coding or decoding, or IBC block coding or decoding.

[0612] Item 56. The method of any one of Items 30 to 53, wherein the manner in which the use or application of the encoding / decoding mode for the video unit is determined based on statistics of prior encoding / decoding information is used in the inter-frame stripe.

[0613] Item 57. According to the method of Item 56, where the inter-frame stripe is a B stripe or a P stripe.

[0614] Item 58. The method of any one of Items 30 to 53, wherein the manner of determining the use or application of the encoding / decoding mode for the video unit based on statistics of prior encoding / decoding information is used in the intra-frame stripe.

[0615] Item 59. According to the method of Item 58, where the intra-frame stripe is an I stripe.

[0616] Item 60. The method according to any one of Items 30 to 59, wherein the indication of whether the manner of using or applying the codec mode for the video unit is based on statistics of prior codec information and / or how the manner of using or applying the codec mode for the video unit is based on statistics of prior codec information is indicated at one of the following: sequence level, picture group level, picture level, strip level, or slice group level.

[0617] Item 61. The method according to any one of Items 30 to 59, wherein the indication of whether the manner of using or applying the codec mode for a video unit is based on statistics of prior codec information and / or how the manner of using or applying the codec mode for a video unit is based on statistics of prior codec information is indicated in one of the following: sequence header, picture header, sequence parameter set (SPS), video parameter set (VPS), dependency parameter set (DPS), decoding capability information (DCI), picture parameter set (PPS), adaptive parameter set (APS), strip header, or slice header.

[0618] Item 62. The method according to any one of Items 60 to 61, wherein determining whether the manner in which the codec mode for a video unit is used or applied is applied to at least one of the sequences or picture groups based on statistics of prior codec information depends on at least one of the SPS flag or PPS flag.

[0619] Item 63. The method according to any one of Items 60 to 61, wherein the manner in which the use or application of the encoding / decoding mode for the video unit is determined based on statistics of prior encoding / decoding information is applied to the screen content encoding / decoding (SCC) sequence.

[0620] Item 64. The method according to Item 63, wherein the manner of determining the use or application of the encoding / decoding mode for the video unit based on statistics of prior encoding / decoding information is based on at least one of the SPS flag or the PPS flag.

[0621] Item 65. The method according to Item 63, wherein the method of using or applying the codec mode for the video unit is determined based on statistics of prior codec information and is determined based on rules that do not require syntax element signaling, wherein the rules include SCC content detection.

[0622] Item 66. According to any one of Items 30 to 59, the indication of whether the manner of using or applying the codec mode for the video unit is based on statistics of prior codec information and / or how the manner of using or applying the codec mode for the video unit is based on statistics of prior codec information is included in one of the following: prediction block (PB), transform block (TB), codec block (CB), prediction unit (PU), transform unit (TU), codec unit (CU), virtual pipeline data unit (VPDU), codec tree unit (CTU), CTU line, strip, slice, sub-picture, or region containing more than one sample or pixel.

[0623] Item 67. The method according to any one of Items 30 to 59 further includes: based on the encoded information of the video unit of the video, determining whether the manner of using or applying the encoding or decoding mode for the video unit is based on statistics of prior encoding or decoding information and / or how the manner of using or applying the encoding or decoding mode for the video unit is based on statistics of prior encoding or decoding information, wherein the encoded information includes at least one of the following: block size, color format, single and / or dual tree segmentation, color components, stripe type, or picture type.

[0624] Item 68. A method for video processing, comprising: conversion between video units and a bitstream of video; determining a minimum or maximum value of a luminance channel transmitted by signaling as a limiting boundary, wherein the video unit comprises a block encoded and decoded in a cross-component prediction (CCP) mode; performing limiting on the video unit based on the limiting boundary; and performing a conversion based on the limiting.

[0625] Item 69. According to the method of Item 68, wherein limiting is performed during the reconstruction phase, or wherein limiting is performed before the reconstructed image is saved to the decoded image cache.

[0626] Item 70. According to the method of Item 68, the CCP mode includes the inter-frame CCP Merge mode.

[0627] Item 71. According to the method of Item 68, wherein the clipped luminance reconstruction samples are used for subsequent encoding and decoding processes for the current CCP block.

[0628] Item 72. According to the method of Item 71, wherein the luminance reconstruction samples with limiting are used to determine the chromaticity CCP model.

[0629] Item 73. According to the method of Item 71, wherein the calibrated brightness reconstruction samples are used to determine the template cost for multiple CCP candidates.

[0630] Item 74. According to the method of Item 71, wherein the calibrated brightness reconstruction samples are used to predict the coefficient sign for the current CCP block.

[0631] Item 75. The method according to any one of Items 68 to 74, wherein determining the minimum or maximum value of the luminance channel transmitted by the signal as a limiting boundary to perform limiting is used in at least one of: single-tree or dual-tree.

[0632] Item 76. The method according to any one of Items 68 to 74, wherein determining the minimum or maximum value of the luminance channel transmitted through the signal as a limiting boundary to perform limiting is used in at least one of: chroma coding, luminance coding, intra-block coding, inter-block coding, or IBC block coding.

[0633] Item 77. The method according to any one of Items 68 to 74, wherein the minimum or maximum value of the luminance channel transmitted through the signal is used as the limiting boundary to perform limiting in the inter-frame stripe.

[0634] Item 78. According to the method of Item 77, where the inter-frame stripe is a B stripe or a P stripe.

[0635] Item 79. The method of any one of Items 68 to 74, wherein determining the minimum or maximum value of the luminance channel transmitted through the signal is used as a limiting boundary to perform limiting in an intra-frame strip.

[0636] Item 80. According to the method of Item 79, where the intra-frame stripe is an I stripe.

[0637] Item 81. The method of any one of Items 68 to 80, wherein an indication of whether or not a minimum or maximum value of the luminance channel transmitted by the signal is used as a limiting boundary to perform limiting and / or how to determine whether a minimum or maximum value of the luminance channel transmitted by the signal is used as a limiting boundary to perform limiting is indicated at one of the following: sequence level, picture group level, picture level, strip level, or slice group level.

[0638] Item 82. The method of any one of Items 68 to 80, wherein an indication of whether or not a minimum or maximum value of a luminance channel transmitted through a signal is used as a limiting boundary to perform limiting and / or how to determine that a minimum or maximum value of a luminance channel transmitted through a signal is used as a limiting boundary to perform limiting is indicated in one of the following: sequence header, picture header, sequence parameter set (SPS), video parameter set (VPS), dependency parameter set (DPS), decoding capability information (DCI), picture parameter set (PPS), adaptive parameter set (APS), strip header, or slice header.

[0639] Item 83. The method according to any one of Items 81 to 82, wherein determining whether the minimum or maximum value of the luminance channel transmitted by the signal is used as a limiting boundary to perform limiting is applied to at least one of the sequences or picture groups, depends on at least one of the SPS flag or PPS flag.

[0640] Item 84. The method of any one of Items 81 to 82, wherein the minimum or maximum value of the luminance channel transmitted by the signal is determined as a limiting boundary to perform limiting applied to the screen content codec (SCC) sequence.

[0641] Item 85. The method according to Item 84, wherein determining the minimum or maximum value of the luminance channel transmitted by the signal is used as a limiting boundary to perform limiting based on at least one of the SPS flag or PPS flag being applied.

[0642] Item 86. The method according to Item 84, wherein determining the minimum or maximum value of the luminance channel transmitted by the signal is used as the limiting boundary to perform limiting is applied based on rules determined without requiring syntax element signaling, wherein the rules include SCC content detection.

[0643] Item 87. The method of any one of Items 68 to 80, wherein an indication of whether or not the minimum or maximum value of the luminance channel transmitted by the signal is used as a limiting boundary to perform limiting and / or how the minimum or maximum value of the luminance channel transmitted by the signal is used as a limiting boundary to perform limiting is included in one of the following: prediction block (PB), transform block (TB), codec block (CB), prediction unit (PU), transform unit (TU), codec unit (CU), virtual pipeline data unit (VPDU), codec tree unit (CTU), CTU row, strip, slice, sub-picture, or region containing more than one sample point or pixel.

[0644] Item 88. The method according to any one of Items 68 to 80 further includes: encoded and decoded information of video units based on video, determining whether to determine whether a minimum or maximum value of the luminance channel transmitted through the signal is used as a limiting boundary to perform limiting and / or how to determine whether a minimum or maximum value of the luminance channel transmitted through the signal is used as a limiting boundary to perform limiting, wherein the encoded and decoded information includes at least one of the following: block size, color format, single and / or dual tree segmentation, color components, stripe type, or picture type.

[0645] Item 89. A method for video processing, comprising: for a conversion between video units and a bitstream of video, determining that low-pass filtered cross-component prediction (CCP) candidates are inserted into a candidate list, wherein the candidate list is at least one of: a CCP list or a fused candidate list; inheriting the state of a low-pass filter of the CCP candidates from a previously encoded / decoded block; and performing a conversion based on the inherited state.

[0646] Item 90. According to the method of Item 89, the inherited state includes at least one of the following: an indicator, a filter tap, or a filter coefficient.

[0647] Item 91. The method according to Item 89, wherein if neighboring blocks are encoded and decoded using low-pass filters in a predetermined inspection order, and the CCP model of the neighboring blocks is used as a CCP candidate for the current block, the state of the low-pass filters of the neighboring blocks is inherited as CCP candidate information for the current block.

[0648] Item 92. According to the method of Item 89, whether or not low-pass filter information for video units that are not intra-frame encoded depends on whether the luminance transform block of the video unit includes all-zero transform coefficient magnitudes.

[0649] Item 93. According to the method of Item 92, where if the luminance transform block of the video unit includes all-zero transform coefficient amplitudes, the low-pass filter information is not inherited.

[0650] Item 94. According to the method of Item 89, whether or not low-pass filter information for video units not encoded intra-frame is inherited depends on whether the luminance transform block and all chrominance transform blocks of the video unit include all-zero transform coefficient magnitudes.

[0651] Item 95. According to the method of Item 94, where if the luminance transform block and all chrominance transform blocks of the video unit include all-zero transform coefficient amplitudes, the low-pass filter information is not inherited.

[0652] Item 96. According to the method of Item 89, wherein if the luminance transform block of the current video cell includes all-zero transform coefficient magnitudes, a CCP-based prediction for the current video cell is generated.

[0653] Item 97. According to the method of Item 96, wherein CCP-based prediction of the current video unit is performed based on syntax elements, wherein the syntax elements are context-encoded.

[0654] Item 98. According to the method of Item 97, wherein the inter-frame CCP Merge mode at the Transform Unit (TU) level is context-coded, depending on whether the luminance transform block includes at least one transform coefficient magnitude that is not equal to 0.

[0655] Item 99. According to the method of Item 89, wherein if the luminance transform block and all chrominance transform blocks of the current video unit include all-zero transform coefficient magnitudes, a CCP-based prediction for the current video unit is generated.

[0656] Item 100. According to the method of Item 99, wherein CCP-based prediction of the current video unit is performed based on syntax elements, wherein the syntax elements are context-encoded.

[0657] Item 101. According to the method of Item 100, the inter-frame CCP Merge mode at the codec unit (CU) level is context-coded, depending on whether the current CU is encoded as skip mode.

[0658] Item 102. According to the method of Item 89, wherein the state of the low-pass filter of the CCP candidate inherited from the previously encoded / decoded block is used in at least one of the following: single-tree or dual-tree.

[0659] Item 103. The method according to Item 89, wherein the state of the low-pass filter of the CCP candidate inherited from the previously encoded block is used for at least one of: chroma encoding, luma encoding, intra-block encoding, inter-block encoding, or IBC block encoding.

[0660] Item 104. According to the method of Item 89, the state of the low-pass filter of the CCP candidate inherited from the previously encoded / decoded block is used in the inter-frame stripe.

[0661] Item 105. According to the method of Item 104, where the inter-frame stripe is a B stripe or a P stripe.

[0662] Item 106. According to the method of Item 89, the state of the low-pass filter of the CCP candidate inherited from the previously encoded / decoded block is used in the intra-frame stripe.

[0663] Item 107. According to the method of Item 106, where the intra-frame stripe is an I-strip.

[0664] Item 108. According to the method of any one of Items 89 to 107, wherein an indication of whether and / or how the state of the low-pass filter of the CCP candidate is inherited from a previously encoded block is indicated at one of the following: sequence level, picture group level, picture level, strip level, or slice group level.

[0665] Item 109. According to the method of any one of Items 89 to 107, wherein the indication of whether and / or how the state of the low-pass filter of the CCP candidate is inherited from the previously encoded / decoded block is indicated in one of the following: sequence header, picture header, sequence parameter set (SPS), video parameter set (VPS), dependency parameter set (DPS), decoding capability information (DCI), picture parameter set (PPS), adaptive parameter set (APS), strip header, or slice header.

[0666] Item 110. The method according to any one of Items 108 to 109, wherein whether the state of the low-pass filter of the CCP candidate inherited from the previously encoded / decoded block is applied to at least one of the sequences or picture groups depends on at least one of the SPS flag or the PPS flag.

[0667] Item 111. The method according to any one of Items 108 to 109, wherein the state of a low-pass filter inherited from a previously encoded block is applied to a screen content encoding / decoding (SCC) sequence.

[0668] Item 112. According to the method of Item 111, the state of the low-pass filter of the CCP candidate inherited from the previously encoded / decoded block is applied based on at least one of the SPS flag or the PPS flag.

[0669] Item 113. According to the method of Item 111, the state of the low-pass filter of the CCP candidate inherited from the previously encoded / decoded block is determined based on rules that do not require syntax element signaling, wherein the rules include SCC content detection.

[0670] Item 114. According to the method of any one of Items 89 to 107, wherein an indication of whether and / or how the state of a low-pass filter of a CCP candidate is inherited from a previously encoded / decoded block is included in one of the following: prediction block (PB), transform block (TB), codec block (CB), prediction unit (PU), transform unit (TU), codec unit (CU), virtual pipeline data unit (VPDU), codec tree unit (CTU), CTU row, strip, slice, sub-picture, or region containing more than one sample or pixel.

[0671] Item 115. The method according to any one of items 89 to 107 further includes: encoded information of video units based on video, determining whether and / or how the state of low-pass filters of CCP candidates is inherited from previously encoded blocks, the encoded information including at least one of the following: block size, color format, single and / or dual tree segmentation, color components, stripe type, or picture type.

[0672] Item 116. The method according to any one of items 1 to 115, wherein the conversion includes encoding video units into a bitstream.

[0673] Item 117. The method according to any one of items 1 to 115, wherein the conversion includes decoding video units from a bitstream.

[0674] Item 118. An apparatus for video processing, comprising a processor and a non-transitory memory having instructions thereon, wherein the instructions, when executed by the processor, cause the processor to perform a method according to any one of items 1-117.

[0675] Item 119. A non-transitory computer-readable storage medium storing instructions that cause a processor to execute a method according to any one of items 1-117.

[0676] Item 120. A non-transitory computer-readable recording medium storing a bitstream of video generated by a method performed by means of a video processing apparatus, wherein the method includes: determining whether an indication mode is permitted for use in the video; at least one syntax element of a video unit is transmitted via signal at the encoding / decoding unit level; and generating the bitstream based on the determination.

[0677] Item 121. A method for storing a bitstream of video, comprising: determining whether an indication mode is permitted for use in video; at least one syntax element of a video unit is transmitted via signaling at the codec unit level; generating a bitstream based on the determination; and storing the bitstream in a non-transitory computer-readable recording medium.

[0678] Item 122. A non-transitory computer-readable recording medium storing video by a method for generating a bitstream by means of means for video processing, wherein the method includes: statistically determining, based on prior encoding and decoding information, how to apply encoding and decoding modes to video units of the video; and generating the bitstream based on the determination.

[0679] Item 123. A method for storing a bitstream of video, comprising: statistically determining, based on prior encoding and decoding information, how to apply encoding and decoding modes to video units of the video; generating a bitstream based on the determination; and storing the bitstream in a non-transitory computer-readable recording medium.

[0680] Item 124. A non-transitory computer-readable recording medium storing a bitstream of video generated by a method performed by means of a video processing apparatus, wherein the method includes: determining a minimum or maximum value of a luminance channel transmitted through a signal as a limiting boundary, wherein video units of the video comprise blocks encoded and decoded in a cross-component prediction (CCP) mode; performing limiting on the video units based on the limiting boundary; and generating a bitstream based on the limiting.

[0681] Item 125. A method for storing a bitstream of video, comprising: determining a minimum or maximum value of a luminance channel transmitted by a signal as a limiting boundary, wherein video units of the video comprise blocks encoded and decoded in a cross-component prediction (CCP) mode; performing limiting on the video units based on the limiting boundary; generating a bitstream based on the limiting; and storing the bitstream in a non-transitory computer-readable recording medium.

[0682] Item 126. A non-transitory computer-readable recording medium storing a bitstream of video generated by a method performed by means of a video processing apparatus, wherein the method includes: determining that low-pass filtered cross-component prediction (CCP) candidates are inserted into a candidate list, wherein the candidate list is at least one of: a CCP list or a fusion candidate list; inheriting the state of a low-pass filter of CCP candidates from a previously encoded / decoded block; and generating a bitstream based on the inherited state.

[0683] Item 127. A method for storing a bitstream of video, comprising: determining that low-pass filtered cross-component prediction (CCP) candidates are inserted into a candidate list, wherein the candidate list is at least one of: a CCP list or a fusion candidate list; inheriting the state of a low-pass filter of the CCP candidates from a previously encoded / decoded block; generating a bitstream based on the inherited state; and storing the bitstream in a non-transitory computer-readable recording medium.

[0684] Example device Figure 38 A block diagram of a computing device 3800 in which various embodiments of the present disclosure may be implemented is shown. The computing device 3800 may be implemented as a source device 110 (or video encoder 114 or 200) or a destination device 120 (or video decoder 124 or 300), or may be included in a source device 110 (or video encoder 114 or 200) or a destination device 120 (or video decoder 124 or 300).

[0685] It should be understood that, Figure 38 The computing device 3800 shown is for illustrative purposes only and is not intended to imply any limitation on the functionality and scope of the embodiments of this disclosure.

[0686] like Figure 38 As shown, computing device 3800 includes general-purpose computing device 3800. Computing device 3800 may include at least one or more processors or processing units 3810, memory 3820, storage unit 3830, one or more communication units 3840, one or more input devices 3850, and one or more output devices 3860.

[0687] In some embodiments, the computing device 3800 can be implemented as any user terminal or server terminal with computing capabilities. The server terminal can be a server provided by a service provider, a large computing device, etc. The user terminal can be, for example, any type of mobile terminal, fixed terminal, or portable terminal, including mobile phones, stations, units, devices, multimedia computers, multimedia tablet computers, internet nodes, communicators, desktop computers, laptop computers, notebook computers, netbook computers, tablet computers, personal communication system (PCS) devices, personal navigation devices, personal digital assistants (PDAs), audio / video players, digital cameras / camcorders, positioning devices, television receivers, radio receivers, e-book devices, gaming devices, or any combination thereof, and includes accessories and peripherals of these devices, or any combination thereof. It is conceivable that the computing device 3800 can support any type of interface to the user (such as "wearable" circuitry devices, etc.).

[0688] Processing unit 3810 can be a physical processor or a virtual processor, and can perform various processes based on programs stored in memory 3820. In a multiprocessor system, multiple processing units execute computer-executable instructions in parallel to improve the parallel processing capabilities of computing device 3800. Processing unit 3810 may also be referred to as a central processing unit (CPU), microprocessor, controller, or microcontroller.

[0689] Computing device 3800 typically includes various computer storage media. Such media can be any media accessible by computing device 3800, including but not limited to volatile and non-volatile media, or removable and non-removable media. Memory 3820 can be volatile memory (e.g., registers, cache, random access memory (RAM)), non-volatile memory (such as read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), or flash memory) or any combination thereof. Storage cell 3830 can be any removable or non-removable media and may include machine-readable media, such as memory, flash drives, disks, or other media that can be used to store information and / or data and can be accessed within computing device 3800.

[0690] The computing device 3800 may also include additional removable / non-removable storage media, volatile / non-volatile storage media. Although in Figure 38 Not shown, but may provide disk drives for reading from and / or writing to removable non-volatile disks, and optical disc drives for reading from and / or writing to removable non-volatile optical discs. In this case, each drive may be connected to a bus (not shown) via one or more data media interfaces.

[0691] The communication unit 3840 communicates with another computing device via a communication medium. Furthermore, the functionality of components in the computing device 3800 can be implemented by a single computing cluster or by multiple computing machines communicating via communication connections. Therefore, the computing device 3800 can operate in a networked environment using logical connections to one or more other servers, networked personal computers (PCs), or other general-purpose network nodes.

[0692] Input device 3850 can be one or more of various input devices, such as a mouse, keyboard, trackball, voice input device, etc. Output device 3860 can be one or more of various output devices, such as a monitor, speaker, printer, etc. With the aid of communication unit 3840, computing device 3800 can also communicate with one or more external devices (not shown), such as storage devices and display devices. Computing device 3800 can also communicate with one or more devices that enable a user to interact with computing device 3800, or any device that enables computing device 3800 to communicate with one or more other computing devices (e.g., network card, modem, etc.), if needed. Such communication can be performed via input / output (I / O) interface (not shown).

[0693] In some embodiments, some or all components of computing device 3800 are not integrated into a single device, but may be deployed within a cloud computing architecture. In a cloud computing architecture, components may be provided remotely and work together to achieve the functionality described herein. In some embodiments, cloud computing provides computing, software, data access, and storage services without requiring end users to know the physical location or configuration of the systems or hardware providing these services. In various embodiments, cloud computing provides services via a wide area network (WAN), such as the Internet, using suitable protocols. For example, cloud computing providers offer applications via a WAN that can be accessed through a web browser or any other computing component. The software or components of the cloud computing architecture, along with the corresponding data, may be stored on servers at remote locations. Computing resources in a cloud computing environment may be consolidated or distributed across locations in remote data centers. Cloud computing infrastructure may be provided through shared data centers, although they may appear as a single access point for users. Therefore, cloud computing architectures can be used to provide the components and functionality described herein from service providers at remote locations. Alternatively, they may be provided from conventional servers or installed directly or otherwise on client devices.

[0694] In embodiments of this disclosure, computing device 3800 can be used to implement video encoding / decoding. Memory 3820 may include one or more video codec modules 3825 having one or more program instructions. These modules can be accessed and executed by processing unit 3810 to perform the functions of the various embodiments described herein.

[0695] In an example embodiment of performing video encoding, input device 3850 may receive video data as input 3870 to be encoded. The video data may be processed, for example, by video codec module 3825 to generate an encoded bitstream. The encoded bitstream may be provided as output 3880 via output device 3860.

[0696] In an example embodiment of performing video decoding, input device 3850 may receive an encoded bitstream as input 3870. The encoded bitstream may be processed, for example, by a video codec module 3825 to generate decoded video data. The decoded video data may be provided as output 3880 via output device 3860.

[0697] While this disclosure has been specifically shown and described with reference to preferred embodiments, those skilled in the art will understand that various changes in form and detail may be made without departing from the spirit and scope of this application as defined by the appended claims. These changes are intended to be covered by the scope of this application. Therefore, the foregoing description of embodiments of this application is not intended to be limiting.

Claims

1. A method for video processing, comprising: For the conversion between video units and the bitstream of the video, determine whether an indication mode is allowed for at least one syntax element of the video unit to be transmitted via signal at the codec unit level; as well as The conversion is performed based on the determination.

2. The method according to claim 1, wherein the encoding / decoding unit level is higher than the stripe data level, and the encoding / decoding unit level includes one of the following: Sequence Parameter Set (SPS) level, Picture Parameter Set (PPS) level, Picture Header (PH) level, or Strip Header (SH) level.

3. The method of claim 1, wherein the mode comprises at least one of the following: cross-component prediction (CCP) mode or inter-frame CCP Merge mode with zero luminance coefficient block flag (CBF).

4. The method of claim 1, wherein if the luminance transform block includes all-zero transform coefficient amplitudes, the syntax element is transmitted via signal to control at least one of the following: enabling inter-frame CCP Merge mode, disabling inter-frame CCP Merge mode, or applying inter-frame CCP Merge mode.

5. The method of claim 1, wherein the syntax element is transmitted via signaling to control at least one of the following: enabling inter-frame CCP Merge mode, disabling inter-frame CCP Merge mode, or applying inter-frame CCP Merge mode.

6. The method according to claim 4 or 5, wherein the syntax element includes one of the following: SPS flag, PPS flag, PH flag, or SH flag.

7. The method of claim 1, wherein a plurality of syntax elements are transmitted via signaling to control at least one of the following: enabling a plurality of types of inter-frame CCP Merge modes, disallowing a plurality of types of inter-frame CCP Merge modes, or applying a plurality of types of inter-frame CCP Merge modes, wherein the plurality of syntax elements includes one of the following: an SPS flag, a PPS flag, a PH flag, or an SH flag.

8. The method of claim 1, wherein the value of the at least one syntax element is determined on the encoder side.

9. The method of claim 8, wherein the value of the at least one syntax element is determined based on the hash value of the target video unit of the encoded / decoded sequence.

10. The method of claim 8, wherein the value of the at least one syntax element is determined based on the selection ratio of the encoding / decoding modes of the previously encoded / decoded video unit.

11. The method of claim 1, wherein the value of the at least one syntax element is determined on the encoder side and the decoder side.

12. The method of claim 11, wherein the value of the at least one syntax element is determined based on the selection ratio of the use of patterns in a previously encoded or decoded strip or picture.

13. The method of claim 12, wherein if the selection ratio is below a threshold, the value of the at least one syntax element is determined to be a first value, the first value indicating that a mode is not used in the current video unit.

14. The method of claim 12, wherein the selection ratio is determined based on at least one of the following: the number of video blocks encoded by the mode or the area of ​​video blocks encoded by the mode.

15. The method of claim 1, wherein the method of applying the inter-frame CCP Merge mode to the video unit depends on at least one of the following: Low latency images, Traditional B-image, Image order count (POC) distance between the current image and the reference image. Inter-frame merge Inter-frame advanced motion vector prediction (AMVP). Intra-block copy (IBC) Merge IBC AMVP jump over, Block size, Block dimension, or Does the luminance transform block and / or chrominance transform block include information about the magnitude of the all-zero transform coefficients? 16. The method according to any one of claims 1 to 15, wherein the determination of the at least one syntax is used by signal transmission at the codec unit level in at least one of: single-tree or dual-tree.

17. The method according to any one of claims 1 to 15, wherein the determination that the at least one syntax is used by signal transmission at the codec unit level for at least one of: chroma codec, luma codec, intra-block codec, inter-block codec, or IBC block codec.

18. The method according to any one of claims 1 to 15, wherein the determination of the at least one syntax is used in the inter-frame stripe via signal transmission at the codec unit level.

19. The method of claim 18, wherein the inter-frame stripe is a B-strip or a P-strip.

20. The method according to any one of claims 1 to 15, wherein the determination of the at least one syntax is used in an intra-frame stripe via signal transmission at the codec unit level.

21. The method of claim 20, wherein the intra-frame stripe is an I-strip.

22. The method according to any one of claims 1 to 21, wherein an indication of whether it is determined that the at least one syntax is transmitted via signaling at the codec unit level and / or how it is determined that the at least one syntax is transmitted via signaling at the codec unit level is indicated at one of the following: sequence level, Image group level, Image quality, strip level, or Film series level.

23. The method according to any one of claims 1 to 21, wherein an indication of whether it is determined that the at least one syntax is transmitted via signaling at the codec unit level and / or how to determine that the at least one syntax is transmitted via signaling at the codec unit level is indicated in one of the following: Sequence header, Image header, Sequence Parameter Set (SPS) Video Parameter Set (VPS) Dependency Parameter Set (DPS) Decoding Capability Information (DCI) Image Parameter Set (PPS) Adaptive Parameter Set (APS) strip head, or The beginning of the film.

24. The method of any one of claims 22 to 23, wherein determining whether the at least one syntax is applied to at least one of the sequences or picture groups by signal transmission at the codec unit level depends on at least one of the SPS flag or PPS flag.

25. The method according to any one of claims 22 to 23, wherein determining that the at least one syntax is applied to the screen content codec (SCC) sequence via signal transmission at the codec unit level.

26. The method of claim 25, wherein the determination that the at least one syntax is applied at the codec unit level via signal transmission based on at least one of the SPS flag or the PPS flag.

27. The method of claim 25, wherein determining that the at least one syntax is applied at the codec unit level via signal transmission is based on rules that do not require syntax element signaling, wherein the rules include SCC content detection.

28. The method according to any one of claims 1 to 21, wherein an indication of whether it is determined that the at least one syntax is transmitted via signaling at the codec unit level and / or how to determine that the at least one syntax is transmitted via signaling at the codec unit level is included in one of the following: Predicted blocks (PB). Transform block (TB) Code block (CB) Prediction Unit (PU) Transformer Unit (TU) Codec Unit (CU) Virtual Pipeline Data Unit (VPDU). Code-decode tree unit (CTU) CTU line, strip, piece, Sub-images, or A region containing more than one sample point or pixel.

29. The method according to any one of claims 1 to 21, further comprising: Based on the encoded and decoded information of the video unit of the video, determine whether it is determined that the at least one syntax is transmitted via signal at the codec unit level and / or how it is determined that the at least one syntax is transmitted via signal at the codec unit level, wherein the encoded and decoded information includes at least one of the following: Block size, Color format, Single and / or dual tree partitioning Color components, Strip type, or Image type.

30. A method for video processing, comprising: For the conversion between video units and the bitstream of the video, the method of applying the encoding / decoding mode to the video unit is determined based on statistics of previous encoding / decoding information; as well as The conversion is performed based on the determination.

31. The method of claim 30, wherein the video unit comprises one of the following: a strip, a picture, or a group of pictures.

32. The method of claim 30, wherein statistics of the encoding / decoding modes in at least one previously encoded / decoded video unit are determined.

33. The method of claim 32, wherein the statistics of the encoding / decoding mode include at least one of the following: selection area or selection ratio.

34. The method of claim 32, wherein the at least one previously encoded video unit comprises at least one of the following: stripe, picture, or group of pictures.

35. The method of claim 32, wherein the at least one previously encoded video unit is required to be decoded before the video unit.

36. The method of claim 32, wherein the at least one previously encoded / decoded video unit is required to be in the same temporal layer as the video unit.

37. The method of claim 32, wherein the at least one previously encoded / decoded video unit is required to be in a previous temporal layer of the video unit.

38. The method of claim 32, wherein the statistics of the encoding / decoding mode are reset at each checkpoint.

39. The method of claim 38, wherein the statistics of the encoding / decoding mode are set to an initial value.

40. The method of claim 38, wherein each checkpoint comprises at least one of the following: strip, picture, Image group Checkpoints based on intra-frame periods Checkpoints based on random access cycles, or Checkpoints based on the length of a group of pictures (GOP).

41. The method of claim 30, wherein the determination is made for each of the following: a strip, a picture, or a group of pictures.

42. The method of claim 30, wherein the determination is made on the Nth strip of the strip group and / or the Nth image of the image group, where N represents an integer, and the determination strategy is applied to other strips in the strip group and / or other images in the image group.

43. The method of claim 42, wherein the Nth strip is required to be an inter-frame stripe or an intra-frame stripe.

44. The method of claim 30, wherein the elements of the video unit permitted for the codec mode are determined based on the statistics of the previous codec information.

45. The method of claim 44, wherein whether and / or how to apply the first element for the current strip is determined based on the selection ratio of the first element in previous strips, and / or Whether to apply the first element for the current image and / or how to apply the first element for the current image is determined based on the selection ratio of the first element in the previous image.

46. ​​The method of claim 44, wherein whether to apply the first element of the image in the current temporal layer for the current GOP and / or how to apply the first element of the image in the current temporal layer for the current GOP is determined based on the selection ratio of the first element in previous images of the current GOP.

47. The method of claim 46, wherein the previous picture of the current GOP includes one of the following: a first inter-frame picture in the same temporal layer or a picture in a previous temporal layer.

48. The method of claim 44, wherein the first element comprises one of the following: Prediction techniques for intra-block copying (IBC) merge blocks Prediction techniques used in the Advanced Motion Vector Prediction (AMVP) block of IBC. Prediction techniques for inter-frame merge blocks Prediction techniques for inter-frame AMVP blocks, or Block size limitations of prediction techniques.

49. The method of claim 48, wherein the prediction technique comprises an inter-frame CCP Merge mode and / or a variant of the inter-frame CCP Merge mode.

50. The method of claim 48, wherein the prediction technique comprises at least one of the following: All luma and / or chroma transform blocks include inter-frame CCP Merge modes with all-zero transform coefficient magnitudes. The luminance transform block includes all-zero transform coefficient magnitudes, but the chrominance transform block includes at least one non-zero transform coefficient magnitude in the inter-frame CCP Merge mode. The luminance or chrominance transform block includes an inter-frame CCP Merge mode with at least one non-zero transform coefficient magnitude. All types of inter-frame CCP Merge modes CCP model In-frame mode, Inter-frame mode, or IBC mode.

51. The method of claim 30, wherein the manner in which parameters and / or thresholds are set for the encoding / decoding mode of the video unit is determined based on the statistics of the previous encoding / decoding information.

52. The method of claim 30, wherein the syntax elements of the encoding / decoding mode of the video unit transmitted via signal are determined based on the statistics of the previous encoding / decoding information.

53. The method of claim 30, wherein the determination is made following the same rules on both the encoder and decoder sides.

54. The method according to any one of claims 30 to 53, wherein the statistical determination of the manner in which the encoding or decoding mode for the video unit is used based on the prior encoding and decoding information is performed in at least one of the following: single-tree or dual-tree.

55. The method according to any one of claims 30 to 53, wherein the statistical determination of the manner in which the encoding or decoding mode for the video unit is used based on the prior encoding and decoding information is performed using at least one of: chroma encoding / decoding, luma encoding / decoding, intra-block encoding / decoding, inter-block encoding / decoding, or IBC block encoding / decoding.

56. The method of any one of claims 30 to 53, wherein the statistical determination of the manner in which the encoding / decoding mode for the video unit is used or applied based on the prior encoding / decoding information is used in the inter-frame stripe.

57. The method of claim 56, wherein the inter-frame stripe is a B-strip or a P-strip.

58. The method according to any one of claims 30 to 53, wherein the statistical determination of the manner in which the encoding / decoding mode for the video unit is used or applied based on the prior encoding / decoding information is used in an intra-frame stripe.

59. The method of claim 58, wherein the intra-frame stripe is an I-strip.

60. The method of any one of claims 30 to 59, wherein an indication of whether the manner of using or applying the codec mode for the video unit is based on the statistics of the prior codec information and / or how the manner of using or applying the codec mode for the video unit is based on the statistics of the prior codec information is indicated at one of the following: sequence level, Image group level, Image quality, strip level, or Film series level.

61. The method of any one of claims 30 to 59, wherein an indication of whether the manner of using or applying the codec mode for the video unit is based on the statistics of the prior codec information and / or how the manner of using or applying the codec mode for the video unit is based on the statistics of the prior codec information is indicated in one of the following: Sequence header, Image header, Sequence Parameter Set (SPS) Video Parameter Set (VPS) Dependency Parameter Set (DPS) Decoding Capability Information (DCI) Image Parameter Set (PPS) Adaptive Parameter Set (APS) strip head, or The beginning of the film.

62. The method according to any one of claims 60 to 61, wherein the statistical determination based on the prior codec information as to whether the manner in which the codec mode for the video unit is used or applied is applied to at least one of the sequences or picture groups depends on at least one of the SPS flag or the PPS flag.

63. The method according to any one of claims 60 to 61, wherein the statistical determination of the manner of using or applying the codec mode for the video unit based on the prior codec information is applied to the screen content codec (SCC) sequence.

64. The method of claim 63, wherein the statistical determination of the manner in which the codec mode for the video unit is used or applied based on the prior codec information is based on at least one of the SPS flag or the PPS flag.

65. The method of claim 63, wherein the statistical determination of the manner of using or applying the codec mode for the video unit based on the prior codec information is applied based on rules that do not require syntax element signaling, wherein the rules include SCC content detection.

66. The method of any one of claims 30 to 59, wherein an indication of whether the manner of using or applying the codec mode for the video unit is based on the statistics of the prior codec information and / or how the manner of using or applying the codec mode for the video unit is based on the statistics of the prior codec information is included in one of the following: Predicted blocks (PB). Transform block (TB) Code block (CB) Prediction Unit (PU) Transformer Unit (TU) Codec Unit (CU) Virtual Pipeline Data Unit (VPDU). Code-decode tree unit (CTU) CTU line, strip, piece, Sub-images, or A region containing more than one sample point or pixel.

67. The method according to any one of claims 30 to 59, further comprising: Based on the encoded and decoded information of the video unit of the video, it is determined whether the manner of using or applying the codec mode for the video unit is determined based on the statistics of the previous codec information and / or how the manner of using or applying the codec mode for the video unit is determined based on the statistics of the previous codec information, wherein the encoded and decoded information includes at least one of the following: Block size, Color format, Single and / or dual tree partitioning Color components, Strip type, or Image type.

68. A method for video processing, comprising: For the conversion between video units and the bitstream of the video, the minimum or maximum value of the luminance channel transmitted through the signal is determined as a limiting boundary, wherein the video unit includes blocks encoded and decoded in Cross Component Prediction (CCP) mode; Amplification of the video unit is performed based on the amplitude limiting boundary; as well as The conversion is performed based on the stated amplitude limit.

69. The method of claim 68, wherein the limiting is performed during the reconstruction phase, or The aforementioned limiting is performed before the reconstructed image is saved to the decoded image cache.

70. The method of claim 68, wherein the CCP mode includes an inter-frame CCP Merge mode.

71. The method of claim 68, wherein the clipped luminance reconstruction samples are used in subsequent encoding and decoding processes for the current CCP block.

72. The method of claim 71, wherein the limited luminance reconstruction samples are used to determine the chromaticity CCP model.

73. The method of claim 71, wherein the clipped brightness reconstruction samples are used to determine the template cost for a plurality of CCP candidates.

74. The method of claim 71, wherein the clipped brightness reconstruction samples are used to predict the coefficient sign for the current CCP block.

75. The method according to any one of claims 68 to 74, wherein determining the minimum or maximum value of the luminance channel transmitted by the signal as the limiting boundary to perform the limiting is used in at least one of: single-tree or dual-tree.

76. The method according to any one of claims 68 to 74, wherein determining the minimum or maximum value of the luminance channel transmitted by the signal as the limiting boundary to perform the limiting is performed using at least one of: chroma coding, luminance coding, intra-block coding, inter-block coding, or IBC block coding.

77. The method according to any one of claims 68 to 74, wherein determining the minimum or maximum value of the luminance channel transmitted by the signal is used as the clipping boundary to perform the clipping in the inter-frame stripe.

78. The method of claim 77, wherein the inter-frame stripe is a B-strip or a P-strip.

79. The method according to any one of claims 68 to 74, wherein determining the minimum or maximum value of the luminance channel transmitted by the signal is used as the clipping boundary to perform the clipping in an intra-frame strip.

80. The method of claim 79, wherein the intra-frame stripe is an I-strip.

81. The method according to any one of claims 68 to 80, wherein an indication of whether to determine whether the minimum or maximum value of the luminance channel transmitted by the signal is used as the limiting boundary to perform the limiting and / or how to determine whether the minimum or maximum value of the luminance channel transmitted by the signal is used as the limiting boundary to perform the limiting is indicated at one of the following: sequence level, Image group level, Image quality, strip level, or Film series level.

82. The method according to any one of claims 68 to 80, wherein an indication of whether to determine whether the minimum or maximum value of the luminance channel transmitted by the signal is used as the limiting boundary to perform the limiting and / or how to determine whether the minimum or maximum value of the luminance channel transmitted by the signal is used as the limiting boundary to perform the limiting is indicated in one of the following: Sequence header, Image header, Sequence Parameter Set (SPS) Video Parameter Set (VPS) Dependency Parameter Set (DPS) Decoding Capability Information (DCI) Image Parameter Set (PPS) Adaptive Parameter Set (APS) strip head, or The beginning of the film.

83. The method according to any one of claims 81 to 82, wherein determining whether the minimum or maximum value of the luminance channel transmitted by the signal is used as the limiting boundary to perform the limiting is applied to at least one of the sequence or picture group depends on at least one of the SPS flag or PPS flag.

84. The method according to any one of claims 81 to 82, wherein determining the minimum or maximum value of the luminance channel transmitted by the signal is used as the limiting boundary to perform the limiting applied to the screen content codec (SCC) sequence.

85. The method of claim 84, wherein determining the minimum or maximum value of the luminance channel transmitted by the signal is used as the limiting boundary to perform the limiting based on at least one of the SPS flag or PPS flag being applied.

86. The method of claim 84, wherein determining the minimum or maximum value of the luminance channel transmitted by signal as the limiting boundary to perform the limiting is applied based on a rule determined that does not require syntax element signaling, wherein the rule includes SCC content detection.

87. The method according to any one of claims 68 to 80, wherein an indication of whether to determine whether the minimum or maximum value of the luminance channel transmitted by the signal is used as the limiting boundary to perform the limiting and / or how to determine whether the minimum or maximum value of the luminance channel transmitted by the signal is used as the limiting boundary to perform the limiting is included in one of the following: Predicted blocks (PB). Transform block (TB) Code block (CB) Prediction Unit (PU) Transformer Unit (TU) Codec Unit (CU) Virtual Pipeline Data Unit (VPDU). Code-decode tree unit (CTU) CTU line, strip, piece, Sub-images, or A region containing more than one sample point or pixel.

88. The method according to any one of claims 68 to 80, further comprising: Based on the encoded and decoded information of the video unit of the video, it is determined whether the minimum or maximum value of the luminance channel transmitted through the signal is used as the limiting boundary to perform the limiting and / or how to determine whether the minimum or maximum value of the luminance channel transmitted through the signal is used as the limiting boundary to perform the limiting, wherein the encoded and decoded information includes at least one of the following: Block size, Color format, Single and / or dual tree partitioning Color components, Strip type, or Image type.

89. A method for video processing, comprising: For the conversion between video units of the video and the bitstream of the video, low-pass filtered cross-component prediction (CCP) candidates are determined and inserted into a candidate list, wherein the candidate list is at least one of the following: a CCP list or a fusion candidate list; The state of the low-pass filter of the CCP candidate is inherited from the previously encoded / decoded block; as well as The transition is performed based on the inherited state.

90. The method of claim 89, wherein the inherited state comprises at least one of the following: an indicator, a filter tap, or a filter coefficient.

91. The method of claim 89, wherein if neighboring blocks in a predetermined inspection order are encoded and decoded using the low-pass filter, and the CCP model of the neighboring blocks is used as a CCP candidate for the current block, the state of the low-pass filter of the neighboring blocks is inherited as CCP candidate information for the current block.

92. The method of claim 89, wherein whether low-pass filter information for a non-intra-frame encoded video unit is inherited depends on whether the luminance transform block of the video unit includes all-zero transform coefficient magnitudes.

93. The method of claim 92, wherein if the brightness transformation block of the video unit includes all-zero transformation coefficient amplitudes, the low-pass filter information is not inherited.

94. The method of claim 89, wherein whether low-pass filter information for a non-intra-frame encoded video unit is inherited depends on whether the luminance transform block and all chrominance transform blocks of the video unit include all-zero transform coefficient magnitudes.

95. The method of claim 94, wherein if the luminance transform block and all chrominance transform blocks of the video unit include all-zero transform coefficient amplitudes, the low-pass filter information is not inherited.

96. The method of claim 89, wherein if the luminance transform block of the current video unit includes all-zero transform coefficient magnitudes, a CCP-based prediction for the current video unit is generated.

97. The method of claim 96, wherein the CCP-based prediction of the current video unit is performed based on syntax elements, wherein the syntax elements are context-encoded.

98. The method of claim 97, wherein the Transform Unit (TU) level inter-frame CCP Merge mode is context-coded, depending on whether the luminance transform block includes at least one transform coefficient magnitude that is not equal to 0.

99. The method of claim 89, wherein if the luminance transform block and all chrominance transform blocks of the current video unit include all-zero transform coefficient magnitudes, a CCP-based prediction for the current video unit is generated.

100. The method of claim 99, wherein the CCP-based prediction of the current video unit is performed based on syntax elements, wherein the syntax elements are context-encoded.

101. The method of claim 100, wherein the codec unit (CU) level inter-frame CCP Merge mode is context-coded, depending on whether the current CU is encoded as a skip mode.

102. The method of claim 89, wherein the state of the low-pass filter of the CCP candidate inherited from the previously encoded / decoded block is used in at least one of the following: single-tree or dual-tree.

103. The method of claim 89, wherein the state of the low-pass filter of the CCP candidate inherited from the previously encoded block is used for at least one of: chroma encoding / decoding, luma encoding / decoding, intra-block encoding / decoding, inter-block encoding / decoding, or IBC block encoding / decoding.

104. The method of claim 89, wherein the state of the low-pass filter of the CCP candidate inherited from the previously encoded / decoded block is used in the inter-frame stripe.

105. The method of claim 104, wherein the inter-frame stripe is a B-strip or a P-strip.

106. The method of claim 89, wherein the state of the low-pass filter of the CCP candidate inherited from the previously encoded / decoded block is used in the intra-frame stripe.

107. The method of claim 106, wherein the intra-frame stripe is an I-strip.

108. The method according to any one of claims 89 to 107, wherein an indication of whether the state of the low-pass filter of the CCP candidate is inherited from the previously encoded / decoded block and / or how the state of the low-pass filter of the CCP candidate is inherited from the previously encoded / decoded block is indicated at one of the following: sequence level, Image group level, Image quality, strip level, or Film series level.

109. The method according to any one of claims 89 to 107, wherein an indication of whether the state of the low-pass filter of the CCP candidate is inherited from the previously encoded / decoded block and / or how the state of the low-pass filter of the CCP candidate is inherited from the previously encoded / decoded block is indicated in one of the following: Sequence header, Image header, Sequence Parameter Set (SPS) Video Parameter Set (VPS) Dependency Parameter Set (DPS) Decoding Capability Information (DCI) Image Parameter Set (PPS) Adaptive Parameter Set (APS) strip head, or The beginning of the film.

110. The method of any one of claims 108 to 109, wherein whether the state of the low-pass filter of the CCP candidate inherited from the previously encoded / decoded block is applied to at least one of the sequences or picture groups depends on at least one of the SPS flag or the PPS flag.

111. The method of any one of claims 108 to 109, wherein the state of the low-pass filter of the CCP candidate inherited from the previously encoded block is applied to the screen content codec (SCC) sequence.

112. The method of claim 111, wherein the state of the low-pass filter of the CCP candidate inherited from the previously encoded / decoded block is applied based on at least one of the SPS flag or the PPS flag.

113. The method of claim 111, wherein the state of the low-pass filter of the CCP candidate inherited from the previously encoded / decoded block is determined based on a rule that does not require syntax element signaling, wherein the rule includes SCC content detection.

114. The method according to any one of claims 89 to 107, wherein an indication of whether the state of the low-pass filter of the CCP candidate is inherited from the previously encoded / decoded block and / or how the state of the low-pass filter of the CCP candidate is inherited from the previously encoded / decoded block is included in one of the following: Predicted blocks (PB). Transform block (TB) Code block (CB) Prediction Unit (PU) Transformer Unit (TU) Codec Unit (CU) Virtual Pipeline Data Unit (VPDU). Code-decode tree unit (CTU) CTU line, strip, piece, Sub-images, or A region containing more than one sample point or pixel.

115. The method according to any one of claims 89 to 107, further comprising: Based on the encoded and decoded information of the video units of the video, it is determined whether and / or how the state of the low-pass filter of the CCP candidate is inherited from the previously encoded and decoded block, wherein the encoded and decoded information includes at least one of the following: Block size, Color format, Single and / or dual tree partitioning Color components, Strip type, or Image type.

116. The method according to any one of claims 1 to 115, wherein the conversion comprises encoding the video unit into the bitstream.

117. The method according to any one of claims 1 to 115, wherein the conversion comprises decoding the video unit from the bitstream.

118. An apparatus for video processing, comprising a processor and a non-transitory memory having instructions thereon, wherein the instructions, when executed by the processor, cause the processor to perform the method according to any one of claims 1 to 117.

119. A non-transitory computer-readable storage medium storing instructions that cause a processor to execute the method according to any one of claims 1 to 117.

120. A non-transitory computer-readable recording medium storing a bitstream of video generated by a method performed by means of a video processing apparatus, wherein the method includes: Determine whether the indication mode is allowed for at least one syntax element of the video unit of the video to be transmitted via signal at the codec unit level; as well as The bit stream is generated based on the determination.

121. A method for storing a bitstream of video, comprising: Determine whether the indication mode is allowed for at least one syntax element of the video unit of the video to be transmitted via signal at the codec unit level; The bit stream is generated based on the determination; as well as The bitstream is stored in a non-transitory computer-readable recording medium.

122. A non-transitory computer-readable recording medium storing video data generated by a method performed by means of a video processing apparatus, wherein the method comprises: The method of applying the encoding / decoding mode to the video unit of the video is determined based on statistics of previous encoding / decoding information. as well as The bit stream is generated based on the determination.

123. A method for storing a bitstream of video, comprising: The method of applying the encoding / decoding mode to the video unit of the video is determined based on statistics of previous encoding / decoding information. The bit stream is generated based on the determination; as well as The bitstream is stored in a non-transitory computer-readable recording medium.

124. A non-transitory computer-readable recording medium storing a bitstream of video generated by a method performed by means of a video processing apparatus, wherein the method includes: The minimum or maximum value of the luminance channel transmitted through the signal is determined and used as the limiting boundary, wherein the video unit of the video comprises a block encoded and decoded in cross-component prediction (CCP) mode; Amplification of the video unit is performed based on the amplitude limiting boundary; as well as The bit stream is generated based on the amplitude limiting.

125. A method for storing a bitstream of video, comprising: The minimum or maximum value of the luminance channel transmitted through the signal is determined and used as the limiting boundary, wherein the video unit of the video comprises a block encoded and decoded in cross-component prediction (CCP) mode; Amplification of the video unit is performed based on the amplitude limiting boundary; The bit stream is generated based on the aforementioned amplitude limiting; as well as The bitstream is stored in a non-transitory computer-readable recording medium.

126. A non-transitory computer-readable recording medium storing a bitstream of video generated by a method performed by means of a video processing apparatus, wherein the method includes: Low-pass filtered cross-component prediction (CCP) candidates are determined and inserted into a candidate list, wherein the candidate list is at least one of the following: a CCP list or a fusion candidate list; The state of the low-pass filter of the CCP candidate is inherited from the previously encoded / decoded block; as well as The bit stream is generated based on the inherited state.

127. A method for storing a bitstream of video, comprising: Low-pass filtered cross-component prediction (CCP) candidates are determined and inserted into a candidate list, wherein the candidate list is at least one of the following: a CCP list or a fusion candidate list; The state of the low-pass filter of the CCP candidate is inherited from the previously encoded / decoded block; The bit stream is generated based on the inherited state; as well as The bitstream is stored in a non-transitory computer-readable recording medium.