Encoding / decoding methods, bitstreams, encoders, decoders, and storage media
By selectively encoding and decoding syntax element identifiers for chroma components based on prediction mode reference information, the method addresses functional redundancy in DM and IntraDBV modes, improving encoding and decoding efficiency in video standards like H.266/VVC.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
- Filing Date
- 2023-07-04
- Publication Date
- 2026-07-08
Smart Images

Figure 2026522705000001_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of video encoding and decoding technologies, and particularly to encoding and decoding methods, bitstreams, encoders, decoders, and storage media.
Background Art
[0002] The DM mode is a chroma intra prediction mode in which chroma depends on luminance. For example, when a chroma block selects the DM mode, the chroma block detects the luminance block at the corresponding position and determines its own prediction mode based on the intra prediction mode of the detected luminance block.
[0003] In the search model ECM of the next-generation encoding standard H.266 / VVC, the IntraDBV mode is added for chroma prediction of intra blocks. The IntraDBV mode is also a chroma intra prediction mode in which chroma depends on luminance. Since the BV of the chroma block is determined based on the block vector (BV) of the luminance block at the corresponding position, the reference block of the chroma block is determined.
[0004] However, due to the functional redundancy between the DM mode and the IntraDBV mode, the encoding and decoding efficiency of the existing DM mode and IntraDBV mode is low.
Summary of the Invention
Means for Solving the Problems
[0005] This application provides an encoding and decoding method, a bitstream, an encoder, a decoder, and a storage media.
[0006] The technical solution of this application can be realized as follows. In a first aspect, an embodiment of this application provides a decoding method, which is applied to a decoder, a step of obtaining prediction mode reference information of a current chroma block, and If the prediction mode reference information satisfies the conditions for using the first intra prediction mode, the first syntax element identifier is decoded. A step of determining whether the current chroma block uses the first intra-prediction mode based on the first syntax element identifier, If the prediction mode reference information does not satisfy the conditions for using the first intra prediction mode, the steps include: decrypting the second syntax element identifier; The process includes determining whether the current chroma block uses a second intra-prediction mode based on the second syntax element identifier.
[0007] In a second embodiment, the embodiments of this application provide a decoding method that is applied to a decoder. The steps include: decoding the third syntax element identifier of the current chroma block, If, based on the aforementioned third syntax element identifier, it is determined that the current chroma block allows the use of the first intra-prediction mode and the second intra-prediction mode, the steps include obtaining the prediction mode reference information for the current chroma block, If the prediction mode reference information satisfies the conditions for using the first intra prediction mode, the step of determining that the current chroma block will use the first intra prediction mode, The step includes determining that the current chroma block will use the second intra-prediction mode if the prediction mode reference information does not satisfy the conditions for using the first intra-prediction mode.
[0008] In a third embodiment, an embodiment of the present application provides an encoding method applied to an encoder, comprising the steps of obtaining prediction mode reference information for the current chroma block, If the aforementioned prediction mode reference information satisfies the conditions for using the first intra prediction mode, the steps include encoding the first syntax element identifier, A step of determining whether the current chroma block uses the first intra-prediction mode based on the first syntax element identifier, If the prediction mode reference information does not satisfy the conditions for using the first intra prediction mode, the steps include encoding the second syntax element identifier, The process includes determining whether the current chroma block uses the second intra-prediction mode based on the second syntax element identifier.
[0009] In a fourth embodiment, an embodiment of the present application provides an encoding method applied to an encoder, comprising the steps of encoding a third syntax element identifier of the current chroma block, If, based on the third syntax element identifier, it is determined that the current chroma block allows the use of the first intra-prediction mode and the second intra-prediction mode, the steps include obtaining the prediction mode reference information for the current chroma block, If the prediction mode reference information satisfies the conditions for using the first intra prediction mode, the step of determining that the current chroma block will use the first intra prediction mode, The step of determining that the current chroma block will use the second intra-prediction mode if the prediction mode reference information does not satisfy the conditions for using the first intra-prediction mode.
[0010] In a fifth embodiment, an embodiment of the present application provides a bitstream generated by bit encoding based on information to be encoded, wherein the information to be encoded includes at least one of a first syntax element identifier indicating whether or not to use a first intra-prediction mode, a second syntax element identifier indicating whether or not to use a second intra-prediction mode, a third syntax element identifier indicating whether or not to allow the use of the first and second intra-prediction modes, a syntax element identifier indicating a weighted prediction mode, another syntax element identifier indicating another intra-prediction mode, and a syntax element identifier indicating a cross-component intra-prediction mode.
[0011] In a sixth embodiment, the embodiment of the present application provides an encoder including a first acquisition unit, a coding unit, and a first determination unit. The first acquisition unit is configured to acquire prediction mode reference information for the current chroma block. The coding unit is configured as a first decision unit and is configured to encode a first syntax element identifier when the prediction mode reference information satisfies the conditions for using the first intra-prediction mode. The first decision unit is configured to determine whether the current chroma block uses the first intra-prediction mode based on the first syntax element identifier. The coding unit is further configured to encode the second syntax element identifier if the prediction mode reference information does not satisfy the conditions for using the first intra prediction mode. The first decision unit is configured to further determine, based on the second syntax element identifier, whether the current chroma block uses the second intra-prediction mode.
[0012] In a seventh embodiment, the embodiment of the present application provides an encoder including a first acquisition unit, a coding unit, and a first determination unit. The coding unit is configured to encode the third syntax element identifier of the current chroma block, The first acquisition unit is configured to acquire prediction mode reference information for the current chroma block if it is determined, based on the third syntax element identifier, that the current chroma block allows the use of the first intra-prediction mode and the second intra-prediction mode. The first decision unit is configured to determine that the current chroma block should use the first intra-prediction mode if the prediction mode reference information satisfies the conditions for using the first intra-prediction mode. The first decision unit is further configured to determine that the current chroma block should use the second intra-prediction mode if the prediction mode reference information does not satisfy the conditions for using the first intra-prediction mode.
[0013] In the eighth embodiment, the embodiment of the present application provides an encoder including a first memory and a first processor. The first memory is configured to store a computer program that can be executed by the first processor. The first processor is configured to perform the methods described in the third and fourth embodiments when executing a computer program.
[0014] In the ninth embodiment, the embodiment of the present application provides a decoder, A second acquisition unit configured to acquire prediction mode reference information for the current chroma block, A decoding unit configured to decode a first syntax element identifier when the prediction mode reference information satisfies the conditions for using the first intra prediction mode, The system includes a second decision unit configured to determine whether the current chroma block uses the first intra-prediction mode based on the first syntax element identifier, The decoding unit is further configured to decode the second syntax element identifier if the prediction mode reference information does not satisfy the conditions for using the first intra prediction mode. The second decision unit is further configured to determine whether the current chroma block uses the second intra-prediction mode, based on the second syntax element identifier.
[0015] In a tenth embodiment, the embodiment of the present application provides a decoder, A decoding unit configured to decode the third syntax element identifier of the current chroma block, Based on the third syntax element identifier, when it is determined that the current chroma block permits the use of the first intra prediction mode and the second intra prediction mode, a second acquisition unit configured to acquire prediction mode reference information of the current chroma block; a second determination unit configured to determine that the current chroma block uses the first intra prediction mode when the prediction mode reference information satisfies the use conditions of the first intra prediction mode, and includes: The second determination unit is further configured to determine that the current chroma block uses the second intra prediction mode when the prediction mode reference information does not satisfy the use conditions of the first intra prediction mode.
[0016] In an eleventh aspect, an embodiment of the present application provides a decoder including a second memory and a second processor. The second memory is configured to store a computer program executable by the second processor, The second processor is configured to execute the methods described in the first aspect and the second aspect when executing the computer program.
[0017] In a twelfth aspect, an embodiment of the present application provides a computer-readable storage medium storing a computer program. When the computer program is executed, the methods described in the first aspect to the fourth aspect are executed.
[0018] Embodiments of this application provide an encoding / decoding method, a bitstream, an encoder, a decoder, and a storage medium. When encoding / decoding chroma components, considering the functional redundancy of some intra-prediction modes, if the prediction mode reference information satisfies the conditions for using the first intra-prediction mode, only the first syntax element identifier is encoded / decoded, and based on the first syntax element identifier, it is determined whether the current chroma block uses the first intra-prediction mode, and the encoding / decoding of syntax element identifiers related to the second intra-prediction mode is skipped. That is, the current chroma block does not use the second intra-prediction mode. If the conditions are not met, only the second syntax element identifier is encoded / decoded, and based on the second syntax element identifier, it is determined whether the current chroma block uses the second intra-prediction mode, and the encoding / decoding of syntax element identifiers related to the first intra-prediction mode is skipped, that is, the current chroma block does not use the first intra-prediction mode. In this way, when encoding and decoding chroma components, the number of encoded and decoded codewords for the two intra-prediction modes is reduced, improving compression efficiency.
[0019] Furthermore, the third syntax element identifier can be used to simultaneously indicate whether the use of the first intra-prediction mode and the second intra-prediction mode is permitted. If permitted, the prediction mode reference information determines whether the conditions for using the first intra-prediction mode are met. If they are met, it can be directly determined that the current chroma block will use the first intra-prediction mode. If they are not met, it is determined that the current chroma block will use the second intra-prediction mode. In this way, the third syntax element identifier can be used to enable these two intra-prediction modes during the encoding and decoding of chroma components. Moreover, since the same syntax element identifier can be used to identify identical or similar prediction information in different intra-prediction modes, the number of encoding and decoding codewords for chroma prediction modes can be reduced, improving compression efficiency. [Brief explanation of the drawing]
[0020] [Figure 1] This is a schematic diagram of the reference area of IntraTMP. [Figure 2] This is a schematic diagram of the template types. [Figure 3] This is a schematic diagram of a dual tree partition tree structure for chroma and luminance. [Figure 4A] This is a schematic block diagram of an encoder according to an embodiment of the present application. [Figure 4B] This is a schematic block diagram of a decoder according to an embodiment of this application. [Figure 5] This is a schematic diagram of the network architecture of the encoding / decoding system according to an embodiment of this application. [Figure 6] This is flowchart 1 of the decoding method according to the embodiment of this application. [Figure 7] This is flowchart 2 of the decoding method according to an embodiment of this application. [Figure 8] This is flowchart 1 of the encoding method according to an embodiment of this application. [Figure 9] This is flowchart 2 of the encoding method according to an embodiment of this application. [Figure 10] This is a schematic diagram showing the structure of an encoder according to an embodiment of this application. [Figure 11] This is a schematic diagram of the specific hardware structure of the encoder according to the embodiment of this application. [Figure 12] This is a schematic diagram showing the structure of a decoder according to an embodiment of this application. [Figure 13] This is a schematic diagram of the specific hardware structure of the decoder according to the embodiment of this application. [Figure 14] This is a schematic diagram showing the configuration structure of the encoding / decoding system according to an embodiment of this application. [Modes for carrying out the invention]
[0021] To provide a more detailed understanding of the features and technical content of the embodiments of this application, the implementation of the embodiments of this application will be described in detail below with reference to the attached drawings. The attached drawings are for reference only and do not limit the embodiments of this application.
[0022] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which this application pertains. The terms used herein are for illustrative purposes only and are not intended to limit this application.
[0023] In the following description, “Several Embodiments” describes a subset of all possible embodiments, but it is understood that “Several Embodiments” may be the same subset or different subsets of all possible embodiments and can be combined with each other without contradiction. Also, the terms “First / Second / Third” used in the embodiments of this application are used solely to distinguish similar subjects and do not represent a particular order of subjects. Since “First / Second / Third” is interchangeable with a particular order or sequence where permitted, it is understood that the embodiments of this application described herein may be carried out in an order other than the order illustrated or described herein.
[0024] Before describing the embodiments of this application in detail, the nouns and terms used in the embodiments of this application will be explained. The nouns and terms used in the embodiments of this application shall be interpreted as follows. Coding Block (CB) Block Matching (BM) Coding Unit (CU) Block vector (BV) Sum of Absolute Difference (SAD) Sum of Absolute Transformed Difference (SATD) Mean Squared Error (MSE) Sum of Squared Differences (SSD) Mean Absolute Deviation (MAD) Mean Square Differences (MSD) Rate-distortion optimization (RDO) Normalized Correlation Coefficient (NCC) Peak Signal to Noise Ratio (PSNR) Single tree structure (ST) Dual tree structure (DT) Chroma Direct Derivation Prediction Mode (Direct Mode, DM) Chroma Direct Derivation Block Vector Prediction Mode (Intra Direct Block Vector, intraDBV) H.265 / High Efficiency Video Coding (HEVC) H.265 / HEVC Screen Content Coding (SCC) Essential Video Coding (EVC) H.266 / Versatile Video Coding (VVC) VVC Reference Software Test Platform (VVC Test Model, VTM) Intrablock Copy (IBC) Intra Template Matching Prediction (Intra TMP) Cross-Component Linear Model (CCLM) Cross-component mode for multi-linear models (Multi-models CCLM, MMLM) Convolutional Cross-Component Intra Prediction Model (CCCM) Beyond VVC's reference software testing platform (Enhanced Compression Model, ECM).
[0025] In video images, it is generally understood that the first, second, and third color components are used to characterize coding blocks. Here, these three color components are the luminance component, the blue chroma component, and the red chroma component, respectively. Specifically, the luminance component is usually represented by the symbol Y, the blue chroma component by the symbol Cb or U, and the red chroma component by the symbol Cr or V. Thus, video images are represented in YCbCr format or YUV format.
[0026] A single tree configuration uses the same partition tree structure when luminance and chroma components code an intraframe. Specifically, it allows luminance blocks and chroma blocks within a single CTU to be partitioned into the same tree structure.
[0027] Dual tree uses different partition tree structures when coding intraframes for luminance and chroma components. Because luminance and chroma components have fundamentally different levels of detail, luminance components have richer detail and therefore require partitioning into smaller blocks for finer predictions. On the other hand, chroma components are relatively flat and do not require partitioning into smaller blocks for finer predictions. VVC introduces different partitioning techniques for luminance and chroma components. Dual Tree is enabled in the coding tree unit and is only enabled for intra-coding frames. When coding intra-frames, luminance and chroma continue to use a single partition tree structure (single tree). The introduction of Dual Tree technology allows both luminance and chroma components to achieve better coding performance.
[0028] IBC technology has been used since the HEVC extension stage and is an effective tool for encoding screen content. IBC technology searches for the best reference block from the allowed reference area to predict the current block, copies the best reference block, and predicts the current block. The difference in coordinate positions between the reference block and the current block is called the Block Vector. The Block Vector consists of horizontal and vertical directions. The BV is expressed as follows: JPEG2026522705000024.jpg19152
[0029] However, iHor represents the horizontal coordinate difference, and iVer represents the vertical coordinate difference.
[0030] Block vectors are written to the bitstream through binarization symbols and are used to instruct the decoder to find reference blocks when predicting using IBC techniques. Each coding unit has its own type. In VVC and ECM, these types include Intra, Inter, and IBC. In dual-tree partition mode, possible chroma coding units are of type Intra, and the luminance coding unit at the corresponding location is of type IBC. In single-tree mode, luminance and chroma are partitioned similarly, so a single coding unit contains both luminance and chroma components. Therefore, if the coding unit type is IBC, both the luminance and chroma components are of type IBC. In this case, the block vector used for prediction in chroma prediction mode is directly derived from the block vector of the luminance block.
[0031] For example, the process for deriving chroma BV based on luminance BV is as follows: Input: Brightness bvL (1 / 16 pixel precision) Output: Chroma bvC (Block Vector Chroma) (1 / 32 pixel precision) The derivation process may involve direct scaling or refinement using TM after scaling. Examples of scaling operations are given below. bvC[0]=((bvL[0]>>(3+SubWidthC))*32) bvC[1]=((bvL[1]>>(3+SubHeightC))*32) The variables SubWidthC and SubHeightC depend on the sampling structure of the chroma format specified by the syntax element sps_chroma_format_idc, and the specific correspondence is as follows:
[0032] JPEG2026522705000025.jpg81168
[0033] The refinement process can also be performed as follows: The TM process refines the image; that is, after obtaining the luminance BV, the offset position is detected using the chroma block position and BV. A template is then used to perform a detailed search near the corresponding offset position, and the optimal BV is obtained based on the minimum TM cost.
[0034] IBC technology is used as an important tool for screen video coding in coding standards such as H.265 / HEVCSCC, H.266 / VVC, AV1, AVS3, and EVC. In the next-generation coding standard H.266 / VVC's search model ECM, IBC technology will continue to be adopted as a screen video coding tool and will be expanded into a toolset that can be used in combination with multiple modes. It will also be introduced into the field of general natural video coding, becoming a more versatile video coding tool.
[0035] In addition, ECM also includes DualTree technology, IntraTMP technology, DM technology, and IntraDBV technology.
[0036] IntraTMP technology is a special intra-prediction mode. Both the encoder and decoder use the reconfiguration region around the coding block as a template, detect the best-matching template from a predefined reconfiguration region, and use the reconfiguration value of the block corresponding to the best-matching template as the current block prediction value.
[0037] The principle of IntraTMP is similar to IBC technology. For the current prediction block, one reference block needs to be found and then copied to the current block's position to obtain the prediction value. The difference from IBC is that the block vector is not represented as a bitstream after binarization, but rather found from a predefined region through a template matching mechanism.
[0038] As shown in Figure 1, R1, R2, R3, and R4 are reference regions for detecting the current block, and the L-shaped reconstruction region around the current block is the current block template. Depending on a pre-configured cost function, one or more L-shaped regions with the highest degree of match to the current block template are detected within the reference region, and the detected L-shaped reconstruction block is used as the predicted block for the current block. When IntraTMP is used for luminance, the type of luminance coding block is Intra.
[0039] In one embodiment of this application, the pre-set cost function is, but is not limited to, the absolute error sum SAD, absolute transformation difference sum SATD, mean squared error MSE, squared error sum SSD, mean absolute difference MAD, mean squared error sum MSD, rate distortion optimization RDO, normalized correlation coefficient NCC, etc.
[0040] For example, taking absolute error and SAD as examples, the cost function in this case is as follows:
[0041] JPEG2026522705000026.jpg32154
[0042] Here, T i is a template in the search process, and M represents the number of pixels in the template.
[0043] The following section provides a detailed explanation of the prediction process of IntraTMP technology in related technologies.
[0044] The inputs for the IntraTMP technique are the current block position (xTbCmp, yTbCmp), the current block width nTbW, and the current block height nTbH.
[0045] Output of IntraTMP technology: Predicted values of the current block predSamples[x][y], where x=0..nTbW-1 and y=0..nTbH-1.
[0046] Specifically, the prediction process of IntraTMP technology is divided into four steps: determining the type of the current template, obtaining the reconstructed pixels of the current template, determining the block vectors within a predefined search range, and generating the predicted values. In this way, the predicted values of the current block can be obtained through the above process. It should be noted that IntraTMP technology can be used to predict either the luminance component or the chroma component, but is not limited to this.
[0047] In the embodiments of this application, there are multiple sections relating to the use of templates and template matching costs, but these will be explained uniformly. refTemplateType represents the template type. The template types include, but are not limited to, the six types shown in Figure 2. Figure 2 shows a schematic diagram of the template types. As shown in Figure 2, the block filled with a grid is the current block, and the adjacent region of the current block is template T. Here, six template types are shown, and they can be enabled simultaneously and selected and used by syntax elements, or used individually (for example, only type (a) is used in Figure 2).
[0048] As an example, the six template types are as follows: If the top-left reference pixel, the top reference pixel, and the left reference pixel are all available, the value of refTemplateType will be 1, and the shape of the template will be as shown in Figure 2(a). If only the leftmost reference pixel is available, the value of refTemplateType will be 2, and the shape of the template will be as shown in Figure 2(b). If only the upper reference pixels are available, the value of refTemplateType will be 3, and the shape of the template will be as shown in Figure 2(C). If only the leftmost and top-leftmost reference pixels are available, the value of refTemplateType will be 4, and the template shape will be as shown in Figure 2(d). If only the leftmost and bottom-leftmost reference pixels are available, the value of refTemplateType will be 5, and the template shape will be as shown in Figure 2(e). If only the upper and upper right reference pixels are available, the value of refTemplateType will be 6, and the template shape will be as shown in Figure 2(f).
[0049] The template may consist of reconstructed pixels within one or more regions of the current block: the top, top right, left, bottom left, and top left sides. The template may also have a predetermined size. For example, to retrieve the left-side template, the template width, TemplateW_size, can be set to 4, and to retrieve the top-side template, the template height, TemplateH_size, can be set to 4.
[0050] Furthermore, the value of refTemplateType determines which parts of the reconstructed pixels to retrieve. For example, if refTemplateType is 1, the left, upper left, and top reconstructed pixels of the current block are retrieved. If refTemplateType is 2, only the leftmost four columns of reconstructed pixels of the current block are retrieved. If refTemplateType is 3, only the top four rows of reconstructed pixels of the current block are retrieved.
[0051] DM mode is a chroma intra-prediction mode in which chroma depends on luminance. For example, if a chroma block selects DM mode, the chroma block detects the luminance block at the corresponding position (the specific method for detecting the luminance block at the corresponding position is to detect the corresponding luminance position based on the chroma block's center position, and the luminance block to which that position belongs is the luminance block at the corresponding position; for example, in a YUV420 video sequence, the coordinates of the chroma block's center position in the current frame are (x, y), the corresponding luminance position is (2x, 2y), and the corresponding luminance block is the luminance block to which position (2x, 2y) belongs). The chroma block directly uses the intra-prediction mode of the detected luminance block. These modes are Planar, DC, or angle prediction modes, and are also called conventional intra-prediction modes.
[0052] In ECM, since there is no corresponding conventional intra-predictive mode for the above-mentioned IBC and IntraTMP technologies, the current DM mode is handled as follows: 1. When partitioning the current coding tree unit into a dual tree: If the chromintra prediction block uses DM mode and the corresponding luminance block uses IBC mode, predict the current chroma block in DC prediction mode. 2. When partitioning the current coding tree unit into a dual tree: If the chromin intra prediction block uses DM mode and the luminance block at the corresponding position uses IntraTMP mode, predict the current chromin block in Planar prediction mode. 3. When partitioning the current coding tree unit into a single tree: If the chromin intra prediction block uses DM mode and the luminance block at the corresponding position uses IntraTMP mode, predict the current chromin block in Planar prediction mode.
[0053] Furthermore, if the current coding tree unit is partitioned into a single tree, and the luminance coding unit selects IBC mode, the chroma block type will also be set to an IBC type coding unit. DM mode is intra-predictive mode, and no IBC type coding unit exists. In other words, DM mode does not exist for IBC type coding units.
[0054] In ECM, for dual-tree configurations, an IntraDBV mode is added to intracoding type chroma prediction.
[0055] As shown in Figure 3, in a dual-tree partition, the chroma coding unit detects the corresponding luminance region and sequentially checks whether at least one luminance block at the next five pixel positions (C->TL->TR->BL->BR) uses IBC or IntraTMP mode. If at least one luminance block at these five pixel positions uses IBC or IntraTMP mode, the first block vector detected in sequence is used as the block vector used for chroma block prediction. The reconstructed block at the position pointed to by the chroma block vector is used to predict the current chroma block.
[0056] Based on the predicted values obtained above, weighted predictions can also be performed using other intra-prediction methods, and the results after weighted prediction are used as the final prediction result.
[0057] Chroma prediction allows for weighting of non-cross-component prediction modes and cross-component prediction modes to generate the final prediction result, thereby improving prediction accuracy. In ECM, weighting modes allow for weighting of DM mode, DIMD mode, the conventional intra-prediction mode, and the cross-component prediction mode. The cross-component model modes used for weighting are divided into three types depending on the mode type and weighting, as shown in Table 1-2.
[0058] JPEG2026522705000027.jpg71154
[0059] In addition to the weighting modes in ECM described above, it is also possible to extend this to weighting modes using other cross-component models and other weighted and non-cross-component models.
[0060] The embodiments of this application will be described in detail below with reference to the attached drawings.
[0061] Referring to Figure 4A, a schematic block diagram of the encoder configuration according to the embodiment of this application is shown. As shown in Figure 4A, the encoder (specifically, the "video encoder") 100 may include a conversion / quantization unit 101, an intra-estimation unit 102, an intra-prediction unit 103, a motion compensation unit 104, a motion estimation unit 105, an inverse conversion / inverse quantization unit 106, a filter control analysis unit 107, a filtering unit 108, a coding unit 109, a decoding image buffer unit 110, and the like. Here, the filtering unit 108 can perform deblocking filtering and sample adaptive offset (SAO) filtering, and the coding unit 109 can perform header information coding and context-based adaptive binary arithmetic coding (CABAC). The input original video signal is partitioned by a coding tree unit (CTU) to obtain one video coding block. Next, the residual pixel information obtained after intra-prediction or inter-prediction for the relevant video coding block is converted by the conversion / quantization unit 101. The conversion / quantization unit 101 converts the residual information from the pixel region to the conversion region and further reduces the bitrate by quantizing the obtained conversion coefficients. The intra-prediction units 102 and 103 perform intra-prediction on the video coding block. Specifically, the intra-prediction units 102 and 103 determine the intra-prediction mode to be used when encoding the video coding block. The motion compensation unit 104 and motion estimation unit 105 inter-predict and code the received video coding block for one or more blocks of one or more reference intras and provide time prediction information.Motion estimation by the motion estimation unit 105 is a process that generates motion vectors that can estimate the motion of the video coding block. Subsequently, the motion compensation unit 104 performs motion compensation based on the motion vectors determined by the motion estimation unit 105. The intra-prediction unit 103 is further configured to provide selected intra-prediction data to the coding unit 109 after determining the intra-prediction mode, and the motion estimation unit 105 also sends the calculated motion vector data to the coding unit 109. Furthermore, the inverse transform / inverse quantization unit 106 is configured to reconstruct the video coding block and reconstruct the residual block in the pixel region. The reconstructed residual block has block artifacts removed via the filter control analysis unit 107 and the filtering unit 108. The reconstructed residual block is added to the prediction block of the frame in the decoding image buffer unit 110 to generate the reconstructed video coding block. The coding unit 109 is configured to code various coding parameters and quantization transformation coefficients. In the CABAC-based coding algorithm, contextual content is used to encode information indicating the determined intra-prediction mode based on adjacent coding blocks, and the bitstream of the corresponding video signal is output. The decoding image buffer unit 110 is configured to store the reconstructed video coding blocks for prediction reference. As the coding of the video image progresses, new reconstructed video coding blocks are continuously generated, and these reconstructed video coding blocks are stored in the decoding image buffer unit 110.
[0062] Referring to Figure 4B, a schematic block diagram of the decoder configuration according to an embodiment of this application is shown. As shown in Figure 4B, the decoder (specifically, the "video decoder") 200 includes a decoding unit 201, an inverse transform / inverse quantization unit 202, an intra-prediction unit 203, a motion compensation unit 204, a filtering unit 205, and a decoding image buffer unit 206, the decoding unit 201 can perform header information decoding and CABAC decoding, and the filtering unit 205 can perform deblocking filtering and SAO filtering. After the input video signal is encoded as shown in Figure 4A, a bitstream of the video signal is output. The bitstream is input to the decoder 200, and the decoded transformation coefficients are obtained via the decoding unit 201. The transformation coefficients are processed by the inverse transform / inverse quantization unit 202 to generate residual blocks of the pixel region. The intra-prediction unit 203 is used to generate prediction data for the current video decoding block based on the determined intra-prediction mode and data from previously decoded blocks of the current frame or image. The motion compensation unit 204 determines prediction information for the video decode block by analyzing the motion vector and other relevant syntax elements, and uses this prediction information to generate a prediction block for the video decode block to be decoded. The decoded video block is formed by adding the residual block from the inverse transform / inverse quantization unit 202 to the corresponding prediction block generated by the intra-prediction unit 203 or the motion compensation unit 204. The decoded video signal is filtered through the filtering unit 205 to remove block artifacts and improve video quality. The decoded video block is then stored in the decoding image buffer unit 206. The decoding image buffer unit 206 stores a reference image used for subsequent intra-prediction or motion compensation, and is also used for outputting the video signal to obtain the restored original video signal.
[0063] Furthermore, embodiments of this application also provide a network architecture for an encoding / decoding system including an encoder and a decoder, and Figure 5 shows a schematic diagram of the network architecture of the encoding / decoding system provided by embodiments of this application. As shown in Figure 5, the network architecture includes one or more electronic devices 13 to 1N and a communication network 01, and the electronic devices 13 to 1N can perform video interaction via the communication network 01. In the implementation process, the electronic devices may be various types of devices equipped with video encoding and decoding capabilities. For example, electronic devices include, but are not limited to, smartphones, tablet computers, personal computers, personal digital assistants, car navigation systems, digital telephones, video phones, televisions, sensor devices, and servers. Also, the decoder or encoder described in embodiments of this application may be one of the above-mentioned electronic devices.
[0064] The method of the embodiment of this application is mainly applied to the intra-prediction unit 103 shown in Figure 4A and the intra-prediction unit 203 shown in Figure 4B. In other words, the embodiment of this application can be applied to both encoders and decoders, and can also be applied to both encoders and decoders simultaneously, but the embodiment of this application is not particularly limited.
[0065] Furthermore, when applied to the intra-prediction unit 103, "current block" specifically refers to the luminance coding block or chroma coding block currently being predicted intra-, and when applied to the intra-prediction unit 203, "current block" specifically refers to the luminance decoding block or chroma decoding block currently being predicted intra-.
[0066] To facilitate understanding of the technical solutions of the embodiments of this application, the technical solutions of the embodiments of this application will be described in detail below with specific examples. The related technologies described above can be optionally combined with the technical solutions of the embodiments of this application as optional solutions and are all covered within the scope of protection of the embodiments of this application. The embodiments of this application include at least some of the following: This application provides an encoding and decoding method, and more specifically, provides an encoding and decoding technique for intrachroma blocks.
[0067] In one embodiment of this application, with reference to Figure 6, a flowchart of the decoding method according to the embodiment of this application is shown. As shown in Figure 6, the method may include the following:
[0068] Step 601: Obtain the prediction mode reference information for the current chroma block.
[0069] The prediction mode reference information is used to determine the current intra-prediction mode of the chroma block.
[0070] In some embodiments, the predictive mode reference information includes relevant information about the luminance block corresponding to the current chroma block. Exemplaryly, the predictive mode reference information may be intra-predictive mode information for the luminance block corresponding to the current chroma block.
[0071] In some embodiments, the predictive mode reference information may further include the partition mode of the image unit in which the current chroma block is located. Exemplaryly, the image unit in which the current chroma block is located may be the current coding tree unit (CTU), the current frame, or another coding unit. The partition mode is used to indicate the partition tree structure used for luminance blocks and chroma blocks when coding an intraframe. The partition tree structure may be a single-tree structure or a dual-tree structure.
[0072] In some embodiments, obtaining prediction mode reference information for the current chroma block includes partitioning the luminance block and chroma block using a single-tree structure in the image unit where the current chroma block is located, obtaining the prediction mode of the first luminance block corresponding to the current chroma block, determining that the luminance block corresponding to the current chroma block will use the third intra-prediction mode if the prediction mode of the first luminance block is the third intra-prediction mode, and determining that the luminance block corresponding to the current chroma block will not use the third intra-prediction mode if the prediction mode of the first luminance block is not the third intra-prediction mode.
[0073] In some embodiments, obtaining prediction mode reference information for the current chroma block includes partitioning luminance blocks and chroma blocks using a dual-tree structure in the image unit where the current chroma block is located, detecting luminance blocks at multiple locations in the luminance region corresponding to the current chroma block in a first order, determining that the luminance block corresponding to the current chroma block will use the third intra-prediction mode if the prediction mode of the first luminance block is detected to be the third intra-prediction mode, and determining that the luminance block corresponding to the current chroma block will not use the third intra-prediction mode if the prediction mode of the luminance block is not detected to be the third intra-prediction mode.
[0074] In some embodiments, the prediction mode reference information may further include the size of the current chroma block and the associated syntax elements of the current chroma block.
[0075] Step 602: If the prediction mode reference information satisfies the conditions for using the first intra-prediction mode, decode the first syntax element identifier.
[0076] The conditions for using the first intra-prediction mode are used to determine whether the current chroma block can use the first intra-prediction mode. For example, the first intra-prediction mode may be any of the chroma intra-prediction modes. For instance, the first intra-prediction mode may be the chroma direct derivation block vector prediction mode (IntraDBV mode) or the chroma direct derivation prediction mode (DM mode).
[0077] In some embodiments, if the intra-predictive mode information of a luminance block corresponds to the current chroma block, the usage conditions may include the luminance block corresponding to the current chroma block using a third intra-predictive mode. That is, if the intra-predictive mode of the luminance block corresponding to the current chroma block is the third intra-predictive mode, it is determined that the current chroma block can use the first intra-predictive mode; otherwise, it is determined that the current chroma block cannot use the first intra-predictive mode.
[0078] For example, the first intra prediction mode may be IntraDBV mode, and the third intra prediction mode may be intrablock copy prediction mode (IBC mode) or intratemplate matching prediction mode (IntraTMP mode).
[0079] For example, the first intra-prediction mode may be the DM mode, and the third intra-prediction mode may be a conventional intra-prediction mode such as the Planar mode, DC mode, or angle prediction mode.
[0080] In some embodiments, the prediction mode reference information includes the partition mode of the image unit in which the current chroma block is located, and the usage conditions further include that the partition mode of the image unit in which the current chroma block is located is a dual-tree structure.
[0081] In some embodiments, the predictive mode reference information includes the partition mode of the image unit in which the current chroma block is located, and the usage conditions further include the fact that the partition mode of the image unit in which the current chroma block is located is a single-tree structure.
[0082] If the prediction mode reference information does not include the partition mode of the image unit in which the current chroma block is located, the usage conditions do not restrict the partition mode. In other words, the first intra-prediction mode is applicable to any partition mode.
[0083] Step 603: Based on the first syntax element identifier, determine whether the current chroma block uses the first intra-prediction mode.
[0084] The first syntax element identifier is used to indicate whether the current chroma block uses the first intra-prediction mode. For example, if the first syntax element identifier is value 1, it is determined that the current chroma block does not use the first intra-prediction mode, and if the first syntax element identifier is value 2, it is determined that the current chroma block uses the first intra-prediction mode.
[0085] Furthermore, in some embodiments, the first intra-prediction mode is a chroma direct derivation block vector prediction mode (intraDBV), and the method further includes obtaining the block vector of a first luminance block corresponding to the current chroma block when it is determined that the current chroma block uses the first intra-prediction mode; determining the block vector of the current chroma block based on the block vector of the first luminance block; and determining the first predicted block of the current chroma block based on the block vector of the current chroma block.
[0086] As an example, as shown in Figure 3, when the current chroma block is predicted using IntraDBV, under the partitioning by the dual tree, the chroma block detects the corresponding luminance region and checks whether at least one of the luminance blocks at the following five locations in the first order (C->TL->TR->BL->BR) uses IBC or IntraTMP mode. If at least one luminance block at these five locations uses IBC or IntraTMP, the first block vector detected in the first order (C->TL->TR->BL->BR) is used to derive the chroma block vector, and the current chroma block is predicted using the reconstructed block at the location pointed to by the chroma block vector.
[0087] More specifically, determining the block vector of the current chroma block based on the block vector of the first luminance block includes downsampling the block vector of the first luminance block to determine the downsampled block vector, and then performing a fine-grained search based on the downsampled block vector to determine the block vector of the current chroma block. Exemplaryly, a detailed search based on template matching is performed according to the downsampled block vector to determine the optimal block vector for the current chroma block.
[0088] Furthermore, if it is determined that the current chroma block uses the first intra-prediction mode, other syntax elements associated with the first intra-prediction mode are also decoded and used to further determine other submodes of the current chroma block.
[0089] In some embodiments, the method further includes, if it is determined that the current chroma block uses a first intra-prediction mode, decoding the syntax element identifier of the weighted prediction mode of the current chroma block; determining a fourth intra-prediction mode to be used for weighted prediction of the current chroma block based on the syntax element identifier of the weighted prediction mode; determining a second prediction block to be obtained by the current chroma block under the fourth intra-prediction mode; and performing a weighted calculation based on the first and second prediction blocks to obtain a final prediction block for the current chroma block.
[0090] For illustrative purposes, the syntax element identifier for a weighted prediction mode is used to indicate whether or not a weighted prediction mode is used, and if so, at least one of the types of weighted prediction modes used.
[0091] In some embodiments, the weighted prediction mode type is used to indicate the weights and the fourth intra-prediction mode. Exemplary examples of weighted prediction mode types include weighting without using prediction results from the cross-component mode, weighting using prediction results from the MMLM mode, weighting using one set of self-adaptive weights and luminance reconstruction values, and weighting using two sets of self-adaptive weights and luminance reconstruction values.
[0092] In some embodiments, the weighted prediction mode type may further include weighting the prediction results of a CCLM mode, weighting the prediction results of a CCCM mode, and weighting the prediction results of multiple CCCM modes. That is, the fourth intra-prediction mode may be a cross-component intra-prediction mode. For example, the fourth intra-prediction mode may be a CCLM mode, an MMLM mode, or a CCCM mode. Alternatively, the fourth intra-prediction mode may be a prediction mode that uses luminance reconstruction values for weighting.
[0093] Step 604: If the prediction mode reference information does not meet the conditions for using the first intra-prediction mode, decode the second syntax element identifier.
[0094] Step 605: Based on the second syntax element identifier, determine whether the current chroma block uses the second intra-prediction mode.
[0095] The second syntax element identifier is used to indicate whether the current chroma block uses the second intra-prediction mode. For example, if the second syntax element identifier is value 1, it is determined that the current chroma block does not use the second intra-prediction mode; if the second syntax element identifier is value 2, it is determined that the current chroma block uses the second intra-prediction mode.
[0096] Furthermore, in some embodiments, the second intra-prediction mode is a chroma direct derivation prediction mode (DM), and the method further includes, if it is determined that the current chroma block uses the second intra-prediction mode, obtaining the intra-prediction mode of the luminance block corresponding to the current chroma block, setting the intra-prediction mode of the luminance block as the intra-prediction mode of the current chroma block, and determining the first prediction block of the current chroma block based on the intra-prediction mode of the current chroma block.
[0097] Furthermore, if it is determined that the current chroma block will use DM mode, the luminance block corresponding to the current chroma block will not use the third intra-prediction mode. That is, if there are no available BVs for the luminance block corresponding to the current chroma block, the intra-prediction mode of the luminance block can be directly used as the intra-prediction mode of the current chroma block. These modes may be conventional intra-prediction modes such as Planar mode, DC mode, or angle prediction mode.
[0098] Furthermore, if it is determined that the current chroma block uses the second intra-prediction mode, other syntax elements associated with the second intra-prediction mode are also decoded and used to determine other submodes of the current chroma block.
[0099] In some embodiments, the method further includes, if it is determined that the current chroma block uses a second intra-prediction mode, decoding the syntax element identifier of the weighted prediction mode of the current chroma block; determining a fourth intra-prediction mode to be used for weighted prediction of the current chroma block based on the syntax element identifier of the weighted prediction mode; determining a second prediction block to be obtained by the current chroma block under the fourth intra-prediction mode; and performing a weighted calculation based on the first and second prediction blocks to obtain a final prediction block for the current chroma block.
[0100] As an example, the syntax element identifier for a weighted prediction mode is used to indicate whether or not a weighted prediction mode is used, and if so, at least one of the types of weighted prediction modes. Here, the type of weighted prediction mode is used to indicate the weights and the fourth intra-prediction mode.
[0101] In some embodiments, the weighted prediction mode type is used to indicate the weights and the fourth intra-prediction mode. Exemplary examples of weighted prediction mode types include weighting without using prediction results from the cross-component mode, weighting using prediction results from the MMLM mode, weighting using one set of self-adaptive weights and luminance reconstruction values, and weighting using two sets of self-adaptive weights and luminance reconstruction values.
[0102] In some embodiments, the weighted prediction mode type may further include weighting the prediction results of a CCLM mode, weighting the prediction results of a CCCM mode, and weighting the prediction results of multiple CCCM modes. That is, the fourth intra-prediction mode may be a cross-component intra-prediction mode. For example, the fourth intra-prediction mode may be a CCLM mode, an MMLM mode, or a CCCM mode. Alternatively, the fourth intra-prediction mode may be a prediction mode that uses luminance reconstruction values for weighting.
[0103] In some embodiments, the method further includes the steps of: decoding a syntax element identifier for a cross-component intra-prediction mode; determining, based on the syntax element identifier for the cross-component intra-prediction mode, that the current chroma block uses the cross-component intra-prediction mode to decode the cross-component intra-prediction mode information; determining, based on the syntax element identifier for the cross-component intra-prediction mode, whether the current chroma block uses the cross-component intra-prediction mode, and determining whether the prediction mode reference information satisfies the conditions for using the first intra-prediction mode.
[0104] In other words, before decoding the first and second syntax element identifiers, the syntax element identifiers of the current chroma block's cross-component intra-prediction mode are decoded, and based on the syntax element identifiers, it is determined whether the current chroma block uses the cross-component intra-prediction mode. If it does not, a further decision is made, based on the prediction mode reference information, whether to decode the first syntax element identifier or the second syntax element identifier.
[0105] In some embodiments, the method further includes determining that if the prediction mode reference information satisfies the conditions for using a first intra-predictive mode, the second syntax element identifier is used to indicate a preset value in which the current chroma block does not use the second intra-predictive mode; and determining that if the prediction mode reference information does not satisfy the conditions for using a first intra-predictive mode, the first syntax element identifier is used to indicate a preset value in which the current chroma block does not use the first intra-predictive mode.
[0106] In some embodiments, the method may further include the steps of decoding other syntax element identifiers of the current chroma block if it is determined, based on a first syntax element identifier, that the current chroma block does not use a first intra-prediction mode, and based on a second syntax element identifier, that the current chroma block does not use a second intra-prediction mode, and determining other intra-prediction modes of the current chroma block based on the other syntax element identifiers.
[0107] In other words, if the intra-prediction mode of the current chroma block cannot be determined based on the first and second syntax element identifiers, another intra-prediction mode is further decoded. Exemplary examples of other intra-prediction modes may include DIMD mode, Planar mode, DC mode, or angle prediction mode.
[0108] For example, a description of the related syntax elements of a single intra-encoded chromacoding unit is shown in Table 2-1.
[0109] JPEG2026522705000028.jpg178163
[0110] The conditions for using the IntraDBV mode shown in Table 2-1 are as follows: 1. The current frame is partitioned into a dual tree (dual trees are only allowed to be enabled when coding intraframes). 2. The luminance blocks located at five positions within the corresponding luminance region of the chroma block have at least one available BV. That is, at least one luminance block uses either IntraTMP mode or IBC mode.
[0111] When the conditions for using IntraDBV mode are met, DM mode is skipped. If the conditions for using IntraDBV mode are not met, IntraDBV mode is skipped. In other words, IntraDBV mode is used for chroma blocks where it is available, and other intra-prediction modes are used for chroma blocks where IntraDBV mode is not available.
[0112] In ECM reference software, for intra-encoded chromacoding units, the intra-prediction modes used to predict the chromacoding unit must be encoded and decoded in a specific order. The encoding and decoding order of these modes is as follows: 1. If cross-component prediction mode is permitted, decode the cross-component intra-prediction mode, which predicts chroma using luminance. 2. Determine whether the conditions for using IntraDBV mode are met when cross-component prediction mode is not used. If the conditions are met, decode the DBV flag (corresponding to the first syntax element identifier). If the DBV flag is 1, the use of DBV mode is determined, meaning that one chroma BV is determined using the BV detected in the luminance region corresponding to the current chroma coding unit, and the chroma mode is predicted. 3. If the condition is not met, decode the DMflag (corresponding to the second syntax element identifier). If DMflag=1, the use of DM mode is determined, and the chroma coding unit is predicted using the conventional intra-mode selected by the luminance coding unit corresponding to the current chroma coding unit. 4. If neither DM mode nor DBV mode is used, decoding is performed in DIMD mode. The decoder analyzes the gradient of the reconstructed portion based on the reconstructed portion around the current block, converts the corresponding gradient into an angle in angle mode, and uses the corresponding angle mode to predict the current block. 5. Do not use any of the intra-prediction modes mentioned above, and decode other conventional prediction modes, including conventional prediction modes not used in steps 2-4 above.
[0113] For example, a description of the related syntax elements of a single intracoding chromacoding unit is shown in Table 2-2.
[0114] JPEG2026522705000029.jpg177166
[0115] The conditions for using the IntraDBV mode shown in Table 2-2 are as follows: 1. There is a BV available for at least one luminance block corresponding to the chroma block. That is, the luminance block uses either IntraTMP mode or IBC mode.
[0116] In other words, the conditions for using IntraDBV mode do not restrict the partition tree structure. If the partition tree is a single tree, each partitioned luminance block and chroma block has a one-to-one correspondence, and there are no multiple luminance blocks in the region corresponding to a single chroma block. In a single tree, if a luminance block selects IBC mode or IntraTMP, the chroma block uses IntraDBV mode, so the chroma can be predicted with a chroma block vector derived using the block vector detected by luminance. In a dual tree, if at least one luminance block in the five positions of the luminance region to which a chroma block corresponds selects IBC mode or IntraTMP, the chroma block uses IntraDBV mode, so the chroma can be predicted with a chroma block vector derived using the block vector detected by luminance.
[0117] In another embodiment of this application, see Figure 7. Figure 7 shows a flowchart of another decoding method according to an embodiment of this application. As shown in Figure 7, the method may include the following:
[0118] Step 701: Decode the third syntax element identifier of the current chroma block.
[0119] The third syntax element identifier is used to indicate whether the use of the first intra-prediction mode and the second intra-prediction mode is permitted. In other words, the embodiments of this application can use a single syntax element identifier to indicate both the use of the first and second intra-prediction modes simultaneously, or to indicate that neither the first nor the second intra-prediction mode will be used.
[0120] For example, if the third syntax element is identified as the first value, it is decided that the current chroma block will not use the first and second intra-prediction modes; if the third syntax element is identified as the second value, it is decided that the current chroma block will use the first and second intra-prediction modes.
[0121] For illustrative purposes, the third syntax element may be an existing syntax element. That is, the usage of the first intra-prediction mode and the second intra-prediction mode is indicated by extending the meaning of an existing syntax element. For example, the third syntax element identifier may be a DMflag for enabling DM mode.
[0122] For illustrative purposes, the third syntax element may be a newly added syntax element.
[0123] If the third syntax element indicates that the use of the first and second intra-prediction modes is permitted, the prediction mode reference information determines whether the conditions for using the first intra-prediction mode are met. If they are met, it can be directly determined that the current chroma block will use the first intra-prediction mode. If they are not met, it is determined that the current chroma block will use the second intra-prediction mode. In this way, when encoding and decoding chroma components, the third syntax element flag is used to enable the two intra-prediction modes and reduce the number of encode / decode bits.
[0124] Step 702, if it is determined that the current chroma block allows the use of the first intra-prediction mode and the second intra-prediction mode based on the third syntax element identifier, obtain the prediction mode reference information for the current chroma block.
[0125] Prediction mode reference information is used to determine the intra-prediction mode of the current chroma block.
[0126] In some embodiments, the predictive mode reference information includes relevant information about the luminance block corresponding to the current chroma block. Exemplaryly, the predictive mode reference information may be intra-predictive mode information for the luminance block corresponding to the current chroma block.
[0127] In some embodiments, the predictive mode reference information may further include the partition mode of the image unit in which the current chroma block is located. Exemplarily, the image unit in which the current chroma block is located may be the current coding tree unit (CTU), the current frame, or another coding unit. The partition mode is used to indicate the partition tree structure used for luminance blocks and chroma blocks when coding an intraframe. The partition tree structure may be a single-tree structure or a dual-tree structure.
[0128] In some embodiments, obtaining prediction mode reference information for the current chroma block includes partitioning the luminance block and chroma block using a single-tree structure in the image unit where the current chroma block is located, obtaining the prediction mode of the first luminance block corresponding to the current chroma block, determining that the luminance block corresponding to the current chroma block will use the third intra-prediction mode if the prediction mode of the first luminance block is the third intra-prediction mode, and determining that the luminance block corresponding to the current chroma block will not use the third intra-prediction mode if the prediction mode of the first luminance block is not the third intra-prediction mode.
[0129] In some embodiments, obtaining prediction mode reference information for the current chroma block includes partitioning luminance blocks and chroma blocks using a dual-tree structure in the image unit where the current chroma block is located, detecting luminance blocks at multiple locations in the luminance region corresponding to the current chroma block in a first order, determining that the luminance block corresponding to the current chroma block uses the third intra-prediction mode if the prediction mode of the detected first luminance block is a third intra-prediction mode, and determining that the luminance block corresponding to the current chroma block does not use the third intra-prediction mode if the prediction mode of the luminance block is not detected to be a third intra-prediction mode.
[0130] In some embodiments, the prediction mode reference information may further include the size of the current chroma block and the associated syntax elements of the current chroma block.
[0131] Step 703: If the prediction mode reference information satisfies the conditions for using the first intra-prediction mode, it is determined that the current chroma block will use the first intra-prediction mode.
[0132] The conditions for using the first intra-prediction mode are used to determine whether the current chroma block can use the first intra-prediction mode. Illustratively, the first intra-prediction mode may be any chroma intra-prediction mode. For example, the first intra-prediction mode may be the chroma direct derivation block vector prediction mode (IntraDBV mode) or the chroma direct derivation prediction mode (DM mode).
[0133] In some embodiments, for intra-predictive mode information of a luminance block corresponding to the current chroma block, the usage conditions may include the luminance block corresponding to the current chroma block using a third intra-predictive mode. That is, if the intra-predictive mode of the luminance block corresponding to the current chroma block is the third intra-predictive mode, it is determined that the current chroma block can use the first intra-predictive mode; otherwise, it is determined that the current chroma block cannot use the first intra-predictive mode.
[0134] For example, the first intra prediction mode may be IntraDBV mode, and the third intra prediction mode may be intrablock copy prediction mode (IBC mode) or intratemplate matching prediction mode (IntraTMP mode).
[0135] For example, the first intra-prediction mode may be DM mode, and the third intra-prediction mode may be a conventional intra-prediction mode such as Planar mode, DC mode, or angle prediction mode.
[0136] In some embodiments, the prediction mode reference information includes the partition mode of the image unit in which the current chroma block is located, and the usage conditions further include the fact that the partition mode of the image unit in which the current chroma block is located is a dual-tree structure.
[0137] In some embodiments, the prediction mode reference information includes the partition mode of the image unit in which the current chroma block is located, and the usage conditions further include the fact that the partition mode of the image unit in which the current chroma block is located is a single-tree structure.
[0138] If the prediction mode reference information does not include the partition mode of the image unit in which the current chroma block is located, the usage conditions do not restrict the partition mode. In other words, the first intra-prediction mode is applicable to any partition mode.
[0139] Furthermore, in some embodiments, the first intra-prediction mode is a chroma direct derivation block vector prediction mode (intraDBV), the method comprising: obtaining the block vector of a first luminance block corresponding to the current chroma block when it is determined that the current chroma block uses the first intra-prediction mode; determining the block vector of the current chroma block based on the block vector of the first luminance block; and determining the first predicted block of the current chroma block based on the block vector of the current chroma block.
[0140] As an example, as shown in Figure 3, if the current chroma block is predicted using IntraDBV, under the partitioning by the dual tree, the chroma block detects the corresponding luminance region and checks whether at least one luminance block among the luminance blocks at the following five positions in the first order (C->TL->TR->BL->BR) uses IBC or IntraTMP mode. If at least one luminance block at these five positions uses IBC or IntraTMP, the first block vector detected in the first order (C->TL->TR->BL->BR) is used to derive the chroma block vector, and the current chroma block is predicted using the reconstructed block at the position pointed to by the chroma block vector.
[0141] More specifically, determining the block vector of the current chroma block based on the block vector of the first luminance block includes downsampling the block vector of the first luminance block to determine the downsampled block vector, and then performing a fine-grained search based on the downsampled block vector to determine the block vector of the current chroma block. Exemplaryly, a detailed search based on template matching is performed according to the downsampled block vector to determine the optimal block vector for the current chroma block.
[0142] Furthermore, if it is determined that the current chroma block uses the first intra-prediction mode, other syntax elements associated with the first intra-prediction mode are also decoded and used to further determine other submodes of the current chroma block.
[0143] In some embodiments, the method includes, if it is determined that the current chroma block uses a first intra-prediction mode, the steps of: decoding the syntax element identifier of the weighted prediction mode of the current chroma block; determining a fourth intra-prediction mode to be used for weighted prediction of the current chroma block based on the syntax element identifier of the weighted prediction mode; determining a second prediction block to be obtained by the current chroma block under the fourth intra-prediction mode; and performing a weighted calculation based on the first and second prediction blocks to obtain a final prediction block for the current chroma block.
[0144] As an example, the syntax element identifier for a weighted prediction mode is used to indicate whether or not a weighted prediction mode is used, and, if so, at least one of the types of weighted prediction modes. Here, the type of weighted prediction mode is used to indicate the weights and the fourth intra-prediction mode.
[0145] In some embodiments, the weighted prediction mode type is used to indicate the weights and the fourth intra-prediction mode. Exemplary examples of weighted prediction mode types include weighting without using prediction results from the cross-component mode, weighting using prediction results from the MMLM mode, weighting using one set of self-adaptive weights and luminance reconstruction values, and weighting using two sets of self-adaptive weights and luminance reconstruction values.
[0146] In some embodiments, the weighted prediction mode type may further include weighting the prediction results of a CCLM mode, weighting the prediction results of a CCCM mode, and weighting the prediction results of multiple CCCM modes. That is, the fourth intra-prediction mode may be a cross-component intra-prediction mode. For example, the fourth intra-prediction mode may be a CCLM mode, an MMLM mode, or a CCCM mode. Alternatively, the fourth intra-prediction mode may be a prediction mode that uses luminance reconstruction values for weighting.
[0147] Step 704: If the prediction mode reference information does not meet the conditions for using the first intra-prediction mode, it is determined that the current chroma block will use the second intra-prediction mode.
[0148] Furthermore, in some embodiments, the second intra-prediction mode is a chroma direct derivation prediction mode (DM), and the method includes, if it is determined that the current chroma block uses the second intra-prediction mode, obtaining the intra-prediction mode of the luminance block corresponding to the current chroma block, setting the intra-prediction mode of the luminance block as the intra-prediction mode of the current chroma block, and determining the first prediction block of the current chroma block based on the intra-prediction mode of the current chroma block. These modes may be conventional intra-prediction modes such as Planar mode, DC mode, or angle prediction mode.
[0149] Furthermore, if it is determined that the current chroma block uses the second intra-prediction mode, other syntax elements associated with the second intra-prediction mode are also decoded and used to further determine other submodes of the current chroma block.
[0150] In some embodiments, the method includes, if it is determined that the current chroma block uses a second intra-prediction mode, the steps of: decoding the syntax element identifier of the weighted prediction mode of the current chroma block; determining a fourth intra-prediction mode to be used for weighted prediction of the current chroma block based on the syntax element identifier of the weighted prediction mode; determining a second prediction block to be obtained by the current chroma block under the fourth intra-prediction mode; and performing a weighted calculation based on the first and second prediction blocks to obtain a final prediction block for the current chroma block.
[0151] As an example, the syntax element identifier for a weighted prediction mode is used to indicate whether or not a weighted prediction mode is used, and, if so, at least one of the types of weighted prediction modes. Here, the type of weighted prediction mode is used to indicate the weights and the fourth intra-prediction mode.
[0152] In some embodiments, the weighted prediction mode type is used to indicate the weights and the fourth intra-prediction mode. Exemplary examples of weighted prediction mode types include weighting without using prediction results from the cross-component mode, weighting using prediction results from the MMLM mode, weighting using one set of self-adaptive weights and luminance reconstruction values, and weighting using two sets of self-adaptive weights and luminance reconstruction values.
[0153] In some embodiments, the weighted prediction mode type may further include weighting the prediction results of a CCLM mode, weighting the prediction results of a CCCM mode, and weighting the prediction results of multiple CCCM modes. That is, the fourth intra-prediction mode may be a cross-component intra-prediction mode. For example, the fourth intra-prediction mode may be a CCLM mode, an MMLM mode, or a CCCM mode. Alternatively, the fourth intra-prediction mode may be a prediction mode that uses luminance reconstruction values for weighting.
[0154] In some embodiments, the method includes the steps of: decoding a syntax element identifier for the cross-component intra-predictive mode; determining whether the current chroma block uses the cross-component intra-predictive mode based on the syntax element identifier for the cross-component intra-predictive mode and decoding the cross-component intra-predictive mode information; and determining whether the current chroma block does not use the cross-component intra-predictive mode and decoding a third syntax element identifier based on the syntax element identifier for the cross-component intra-predictive mode.
[0155] In other words, before decoding the third syntax element identifier, the syntax element identifier of the current chroma block's cross-component intra-prediction mode is decoded, and based on that syntax element identifier, it is determined whether the current chroma block uses the cross-component intra-prediction mode. If it does not, the third syntax element identifier is decoded further.
[0156] In some embodiments, the method includes determining that the current chroma block uses the cross-component intra-prediction mode based on the syntax element identifier of the cross-component intra-prediction mode, and determining that a third syntax element identifier is used to indicate a preset value to indicate that the current chroma block does not use the first intra-prediction mode or the second intra-prediction mode.
[0157] In some embodiments, the method may further include the steps of decoding other syntax element identifiers of the current chroma block if it is determined, based on a third syntax element identifier, that the current chroma block does not permit the use of the first intra-prediction mode and the second intra-prediction mode, and determining other intra-prediction modes of the current chroma block based on the other syntax element identifiers.
[0158] In other words, if it is determined, based on the third syntax element identifier, that the current chroma block does not use the first intra-prediction mode or the second intra-prediction mode, then other intra-prediction modes are further decoded. Exemplary examples of other intra-prediction modes may include DIMD mode, Planar mode, DC mode, or angle prediction mode.
[0159] For example, a description of the related syntax elements of a single intra-encoded chromacoding unit is shown in Table 2-3.
[0160] JPEG2026522705000030.jpg135166
[0161] In ECM reference software, for intra-encoded chromacoding units, the intra-prediction modes used to predict the chromacoding unit must be encoded and decoded in a specific order. The encoding and decoding order of these modes is as follows:
[0162] 1. If cross-component prediction mode is permitted, decode the cross-component intra-prediction mode, which predicts chroma using luminance. 2. If the cross-component prediction mode is not used, the DMflag (corresponding to the third syntax element identifier) is decoded. If DMflag=1, it is decided to use the DM mode and to determine whether the conditions for using the IntraDBV mode are met. If the conditions are met, it is decided to use the DBV mode. That is, one chroma BV is determined using the BV detected in the luminance region corresponding to the current chroma coding unit, and the chroma mode is predicted. 3. If this condition is not met, the system decides to use DM mode and predicts the chroma coding unit using the conventional intra mode selected by the luminance coding unit corresponding to the current chroma coding unit.
[0163] Specifically, if the current frame uses dual-tree partitioning and there are one or more available block vectors at five positions in the luminance region corresponding to a chroma block, this block vector is downsampled, optimized with sub-pixel precision, and then used to predict the current chroma block.
[0164] If the current frame uses single-tree partitioning and the luminance block corresponding to the current chroma block is predicted using IntraTMP mode, the block vector detected by IntraTMP is downsampled, optimized to sub-pixel precision, and then used to predict the current chroma block.
[0165] If there is no luminance block vector at the corresponding position in the current chroma block (i.e., in a dual tree, there are no blocks in the luminance region that use IBC or intra-TMP mode, or in a single tree, the corresponding luminance block does not use intra-TMP), then it is determined that DM mode is used. That is, the intra-prediction mode of the chroma block is determined according to the intra-prediction mode of the corresponding luminance block.
[0166] 4. If DMflag=0, it is determined that DIMD mode is being decoded, neither DM mode nor DBV mode. The decoder analyzes the gradient of the reconstructed portion by the reconstructed portion around the current block, converts the gradient to an angle in angle mode, and uses the angle mode to predict the current block.
[0167] 5. Do not use any of the intra-prediction modes mentioned above, and decode other conventional prediction modes, including conventional prediction modes not used in steps 2-4 above.
[0168] The beneficial effects of adopting the above technical plan are as follows: (1) Under a dual-tree partition, if there are luminance blocks using IBC or IntraTMP in the luminance region corresponding to a chroma block, the use of IntraDBV technology is permitted when using one block vector detected in a predefined order, and the use of DM technology is skipped. (2) Extend the IntraDBV technology to the use of a single tree. Under a single tree, if the luminance region at the corresponding position of a chroma block uses IntraTMP and there is an available block vector, IntraDBV can use that block vector to derive a block vector for chroma prediction and use it for prediction. (3) Since the Chroma DM prediction mode and IntraDBV mode have a certain degree of functional redundancy, the DMflag can be used to simultaneously indicate that IntraDBV is enabled, and the IntraDBV flag can also be deactivated.
[0169] In one embodiment of this application, with reference to Figure 8, a flowchart of the encoding method according to one embodiment of this application is shown. As shown in Figure 8, the method may include the following:
[0170] Step 801: Obtain the prediction mode reference information for the current chroma block. The prediction mode reference information is used to determine the current intra-prediction mode of the chroma block.
[0171] In some embodiments, the predictive mode reference information includes relevant information about the luminance block corresponding to the current chroma block. Exemplaryly, the predictive mode reference information may be intra-predictive mode information for the luminance block corresponding to the current chroma block.
[0172] In some embodiments, the predictive mode reference information may further include the partition mode of the image unit in which the current chroma block is located. Exemplarily, the image unit in which the current chroma block is located may be the current coding tree unit (CTU), the current frame, or another coding unit. The partition mode is used to indicate the partition tree structure used for luminance blocks and chroma blocks when coding an intraframe. The partition tree structure may be a single-tree structure or a dual-tree structure.
[0173] In some embodiments, obtaining prediction mode reference information for the current chroma block includes partitioning the image unit in which the current chroma block is located into luminance blocks and chroma blocks using a single-tree structure, obtaining the prediction mode of the first luminance block corresponding to the current chroma block, determining that the luminance block corresponding to the current chroma block will use the third intra-prediction mode if the prediction mode of the first luminance block is the third intra-prediction mode, and determining that the luminance block corresponding to the current chroma block will not use the third intra-prediction mode if it is not detected that the prediction mode of the first luminance block is the third intra-prediction mode.
[0174] In some embodiments, obtaining prediction mode reference information for the current chroma block includes partitioning luminance blocks and chroma blocks using a dual-tree structure in the image unit where the current chroma block is located, detecting luminance blocks at multiple locations in the luminance region corresponding to the current chroma block in a first order, determining that the luminance block corresponding to the current chroma block will use the third intra-prediction mode if the prediction mode of the first luminance block is detected to be the third intra-prediction mode, and determining that the luminance block corresponding to the current chroma block will not use the third intra-prediction mode if the prediction mode of the luminance block is not detected to be the third intra-prediction mode.
[0175] In some embodiments, the prediction mode reference information may further include the size of the current chroma block and the associated syntax elements of the current chroma block.
[0176] Step 802: If the prediction mode reference information satisfies the conditions for using the first intra-prediction mode, encode the first syntax element identifier.
[0177] The conditions for using the first intra-prediction mode are used to determine whether the current chroma block can use the first intra-prediction mode. Illustratively, the first intra-prediction mode may be any chroma intra-prediction mode. For example, the first intra-prediction mode may be the chroma direct derivation block vector prediction mode (IntraDBV mode) or the chroma direct derivation prediction mode (DM mode).
[0178] In some embodiments, when intra-predictive mode information for the luminance block corresponding to the current chroma block is used, the usage conditions may include the luminance block corresponding to the current chroma block using a third intra-predictive mode. That is, if the intra-predictive mode of the luminance block corresponding to the current chroma block is the third intra-predictive mode, it is determined that the current chroma block can use the first intra-predictive mode; otherwise, it is determined that the current chroma block cannot use the first intra-predictive mode.
[0179] For example, the first intra prediction mode may be IntraDBV mode, and the third intra prediction mode may be intrablock copy prediction mode (IBC mode) or intratemplate matching prediction mode (IntraTMP mode).
[0180] For example, the first intra-prediction mode may be DM mode, and the third intra-prediction mode may be a conventional intra-prediction mode such as Planar mode, DC mode, or angle prediction mode.
[0181] In some embodiments, the prediction mode reference information includes the partition mode of the image unit in which the current chroma block is located, and the usage conditions further include the fact that the partition mode of the image unit in which the current chroma block is located is a dual-tree structure.
[0182] In some embodiments, the prediction mode reference information includes the partition mode of the image unit in which the current chroma block is located, and the usage conditions further include the fact that the partition mode of the image unit in which the current chroma block is located is a single-tree structure.
[0183] If the prediction mode reference information does not include the partition mode of the image unit in which the current chroma block is located, the usage conditions do not restrict the partition mode. In other words, the first intra-prediction mode is applicable to any partition mode.
[0184] Step 803: Based on the first syntax element identifier, determine whether the current chroma block uses the first intra-prediction mode.
[0185] The first syntax element identifier is used to indicate whether the current chroma block uses the first intra-prediction mode. For example, if the first syntax element identifier is value 1, it is determined that the current chroma block does not use the first intra-prediction mode; if the first syntax element identifier is value 2, it is determined that the current chroma block uses the first intra-prediction mode.
[0186] Furthermore, in some embodiments, the first intra-prediction mode is a chroma direct derivation block vector prediction mode (intraDBV), the method comprising: obtaining the block vector of a first luminance block corresponding to the current chroma block when it is determined that the current chroma block uses the first intra-prediction mode; determining the block vector of the current chroma block based on the block vector of the first luminance block; and determining the first predicted block of the current chroma block based on the block vector of the current chroma block.
[0187] As an example, as shown in Figure 3, if the current chroma block is predicted using IntraDBV, under the partitioning by the dual tree, the chroma block detects the corresponding luminance region and checks whether at least one luminance block among the luminance blocks at the following five positions in the first order (C->TL->TR->BL->BR) uses IBC or IntraTMP mode. If at least one luminance block at these five positions uses IBC or IntraTMP, the first block vector detected in the first order (C->TL->TR->BL->BR) is used to derive the chroma block vector, and the current chroma block is predicted using the reconstructed block at the position pointed to by the chroma block vector.
[0188] More specifically, determining the block vector of the current chroma block based on the block vector of the first luminance block includes downsampling the block vector of the first luminance block to determine the downsampled block vector, and then performing a fine-grained search based on the downsampled block vector to determine the block vector of the current chroma block. Exemplaryly, depending on the downsampled block vector, a detailed search based on template matching is performed to determine the optimal block vector for the current chroma block.
[0189] Furthermore, if it is determined that the current chroma block uses the first intra-prediction mode, other syntax elements associated with the first intra-prediction mode are also encoded and used to further determine other submodes of the current chroma block.
[0190] In some embodiments, the method includes determining a syntax element identifier for encoding a weighted prediction mode for the current chroma block when the current chroma block uses a first intra-prediction mode; determining a fourth intra-prediction mode for weighted prediction of the current chroma block based on the syntax element identifier of the weighted prediction mode; determining a second prediction block obtained in the fourth intra-prediction mode of the current chroma block; and performing a weighted calculation based on the first and second prediction blocks to obtain a final prediction block for the current chroma block.
[0191] As an example, the syntax element identifier for a weighted prediction mode is used to indicate whether or not a weighted prediction mode is used, and, if so, at least one of the types of weighted prediction modes. Here, the type of weighted prediction mode is used to indicate the weights and the fourth intra-prediction mode.
[0192] In some embodiments, the weighted prediction mode type is used to indicate the weights and the fourth intra-prediction mode. Exemplary examples of weighted prediction mode types include weighting without using prediction results from the cross-component mode, weighting using prediction results from the MMLM mode, weighting using one set of self-adaptive weights and luminance reconstruction values, and weighting using two sets of self-adaptive weights and luminance reconstruction values.
[0193] In some embodiments, the weighted prediction mode type may further include weighting the prediction results of a CCLM mode, weighting the prediction results of a CCCM mode, and weighting the prediction results of multiple CCCM modes. That is, the fourth intra-prediction mode may be a single cross-component intra-prediction mode. For example, the fourth intra-prediction mode may be a CCLM mode, an MMLM mode, or a CCCM mode. Alternatively, the fourth intra-prediction mode may be a prediction mode that uses luminance reconstruction values for weighting.
[0194] Step 804: If the prediction mode reference information does not meet the conditions for using the first intra-prediction mode, encode the second syntax element identifier.
[0195] Step 805: Based on the second syntax element identifier, determine whether the current chroma block uses the second intra-prediction mode.
[0196] The second syntax element identifier is used to indicate whether the current chroma block uses the second intra-prediction mode. For example, if the second syntax element identifier is value 1, it is determined that the current chroma block does not use the second intra-prediction mode; if the second syntax element identifier is value 2, it is determined that the current chroma block uses the second intra-prediction mode.
[0197] Furthermore, in some embodiments, the second intra-prediction mode is a chroma direct derivation prediction mode (DM), and the method includes, when it is determined that the current chroma block uses the second intra-prediction mode, obtaining the intra-prediction mode of the luminance block corresponding to the current chroma block, setting the intra-prediction mode of the luminance block as the intra-prediction mode of the current chroma block, and determining the first prediction block of the current chroma block based on the intra-prediction mode of the current chroma block.
[0198] Furthermore, if it is determined that the current chroma block will use DM mode, the luminance block corresponding to the current chroma block will not use the third intra-prediction mode. That is, if there are no available BVs for the luminance block corresponding to the current chroma block, the intra-prediction mode of the luminance block can be directly used as the intra-prediction mode of the current chroma block. These modes may be conventional intra-prediction modes such as Planar mode, DC mode, or angle prediction mode.
[0199] Furthermore, if it is determined that the current chroma block uses the second intra-prediction mode, other syntax elements associated with the second intra-prediction mode are also encoded and used to further determine other submodes of the current chroma block.
[0200] In some embodiments, the method includes the steps of: determining whether the current chroma block uses a second intra-prediction mode; encoding a syntax element identifier for the weighted prediction mode of the current chroma block; determining a fourth intra-prediction mode to be used for weighted prediction of the current chroma block based on the syntax element identifier for the weighted prediction mode; determining a second prediction block to be obtained by the current chroma block under the fourth intra-prediction mode; and performing a weighted calculation based on the first and second prediction blocks to obtain a final prediction block for the current chroma block.
[0201] As an example, the syntax element identifier for a weighted prediction mode is used to indicate whether or not a weighted prediction mode is used, and, if so, at least one of the types of weighted prediction modes. Here, the type of weighted prediction mode is used to indicate the weights and the fourth intra-prediction mode.
[0202] In some embodiments, the weighted prediction mode type is used to indicate the weights and the fourth intra-prediction mode. Exemplary examples of weighted prediction mode types include weighting without using prediction results from the cross-component mode, weighting using prediction results from the MMLM mode, weighting using one set of self-adaptive weights and luminance reconstruction values, and weighting using two sets of self-adaptive weights and luminance reconstruction values.
[0203] In some embodiments, the weighted prediction mode type may further include weighting the prediction results of a CCLM mode, weighting the prediction results of a CCCM mode, and weighting the prediction results of multiple CCCM modes. That is, the fourth intra-prediction mode may be a cross-component intra-prediction mode. For example, the fourth intra-prediction mode may be a CCLM mode, an MMLM mode, or a CCCM mode. Alternatively, the fourth intra-prediction mode may be a prediction mode that uses luminance reconstruction values for weighting.
[0204] In some embodiments, the method further includes encoding a syntax element identifier for a cross-component intra-prediction mode, determining whether the current chroma block uses a cross-component intra-prediction mode based on the syntax element identifier for the cross-component intra-prediction mode, encoding cross-component intra-prediction mode information, determining whether the current chroma block uses a cross-component intra-prediction mode based on the syntax element identifier for the cross-component intra-prediction mode, and determining whether the prediction mode reference information satisfies the conditions for using a first intra-prediction mode.
[0205] In other words, before encoding the first and second syntax element identifiers, encode the syntax element identifiers for the current chroma block's cross-component intra-predictive mode. Based on the syntax element identifiers, determine whether the current chroma block uses the cross-component intra-predictive mode. If not, further determine whether to encode the first or second syntax element identifier based on the predictive mode reference information.
[0206] In some embodiments, the method further includes determining that if the prediction mode reference information satisfies the conditions for using a first intra-predictive mode, the second syntax element identifier is used to indicate a preset value in which the current chroma block does not use the second intra-predictive mode; and determining that if the prediction mode reference information does not satisfy the conditions for using a first intra-predictive mode, the first syntax element identifier is used to indicate a preset value in which the current chroma block does not use the first intra-predictive mode.
[0207] In some embodiments, the method may further include the steps of encoding other syntax element identifiers for the current chroma block if it is determined, based on a first syntax element identifier, that the current chroma block does not use a first intra-prediction mode, and based on a second syntax element identifier, that the current chroma block does not use a second intra-prediction mode, and determining other intra-prediction modes for the current chroma block based on the other syntax element identifiers.
[0208] In other words, if the intra-prediction mode of the current chroma block cannot be determined based on the first and second syntax element identifiers, another intra-prediction mode is further encoded. Exemplary examples of other intra-prediction modes may include DIMD mode, Planar mode, DC mode, or angle prediction mode.
[0209] For illustrative purposes, a description of the relevant syntax elements of one intra-encoded chromacoding unit is shown in Tables 2-1 and 2-2.
[0210] In another embodiment of this application, see Figure 9. Figure 9 shows a flowchart of another encoding method according to an embodiment of this application. As shown in Figure 9, the method may include the following:
[0211] Step 901: Encode the third syntax element identifier of the current chroma block.
[0212] The third syntax element identifier is used to indicate whether the use of the first intra-prediction mode and the second intra-prediction mode is permitted. In other words, embodiments of this application can use a single syntax element identifier to indicate both the use of the first and second intra-prediction modes simultaneously, or to indicate that neither the first nor the second intra-prediction mode will be used.
[0213] For example, if the third syntax element is identified as the first value, it is decided that the current chroma block will not use the first and second intra-prediction modes; if the third syntax element is identified as the second value, it is decided that the current chroma block will use the first and second intra-prediction modes.
[0214] For illustrative purposes, the third syntax element may be an existing syntax element. That is, the usage of the first intra-prediction mode and the second intra-prediction mode is indicated by extending the meaning of an existing syntax element. For example, the third syntax element identifier may be a DMflag for enabling DM mode.
[0215] For illustrative purposes, the third syntax element may be a newly added syntax element.
[0216] If the third syntax element indicates that the use of the first and second intra-prediction modes is permitted, the prediction mode reference information determines whether the conditions for using the first intra-prediction mode are met. If they are met, it can be directly determined that the current chroma block will use the first intra-prediction mode. If they are not met, it is determined that the current chroma block will use the second intra-prediction mode. In this way, when encoding and decoding chroma components, the third syntax element flag is used to enable the two intra-prediction modes and reduce the number of encode and decode bits.
[0217] Step 902, if it is determined that the current chroma block allows the use of the first intra-prediction mode and the second intra-prediction mode based on the third syntax element identifier, obtain the prediction mode reference information for the current chroma block.
[0218] The prediction mode reference information is used to determine the current intra-prediction mode of the chroma block.
[0219] In some embodiments, the predictive mode reference information includes relevant information about the luminance block corresponding to the current chroma block. Exemplaryly, the predictive mode reference information may be intra-predictive mode information for the luminance block corresponding to the current chroma block.
[0220] In some embodiments, the predictive mode reference information may further include the partition mode of the image unit in which the current chroma block is located. Exemplarily, the image unit in which the current chroma block is located may be the current coding tree unit (CTU), the current frame, or another coding unit. The partition mode is used to indicate the partition tree structure used for luminance blocks and chroma blocks when coding an intraframe. The partition tree structure may be a single-tree structure or a dual-tree structure.
[0221] In some embodiments, obtaining prediction mode reference information for the current chroma block includes partitioning the luminance block and chroma block using a single-tree structure in the image unit where the current chroma block is located, obtaining the prediction mode of the first luminance block corresponding to the current chroma block, determining that the luminance block corresponding to the current chroma block will use the third intra-prediction mode if the prediction mode of the first luminance block is the third intra-prediction mode, and determining that the luminance block corresponding to the current chroma block will not use the third intra-prediction mode if the prediction mode of the first luminance block is not the third intra-prediction mode.
[0222] In some embodiments, obtaining prediction mode reference information for the current chroma block includes partitioning luminance blocks and chroma blocks using a dual-tree structure in the image unit where the current chroma block is located, detecting luminance blocks at multiple locations in the luminance region corresponding to the current chroma block in a first order, determining that the luminance block corresponding to the current chroma block will use the third intra-prediction mode if the prediction mode of the first luminance block is detected to be the third intra-prediction mode, and determining that the luminance block corresponding to the current chroma block will not use the third intra-prediction mode if the prediction mode of the luminance block is not detected to be the third intra-prediction mode.
[0223] In some embodiments, the prediction mode reference information may further include the size of the current chroma block and the associated syntax elements of the current chroma block.
[0224] Step 903: If the prediction mode reference information satisfies the conditions for using the first intra-prediction mode, it is determined that the current chroma block will use the first intra-prediction mode.
[0225] The conditions for using the first intra-prediction mode are used to determine whether the current chroma block can use the first intra-prediction mode. Illustratively, the first intra-prediction mode may be any chroma intra-prediction mode. For example, the first intra-prediction mode may be the chroma direct derivation block vector prediction mode (IntraDBV mode) or the chroma direct derivation prediction mode (DM mode).
[0226] In some embodiments, if the intra-predictive mode information is for the luminance block corresponding to the current chroma block, the usage conditions may include the luminance block corresponding to the current chroma block using a third intra-predictive mode. That is, if the intra-predictive mode of the luminance block corresponding to the current chroma block is the third intra-predictive mode, it is determined that the current chroma block can use the first intra-predictive mode; otherwise, it is determined that the current chroma block cannot use the first intra-predictive mode.
[0227] For example, the first intra prediction mode may be IntraDBV mode, and the third intra prediction mode may be intrablock copy prediction mode (IBC mode) or intratemplate matching prediction mode (IntraTMP mode).
[0228] In some embodiments, the prediction mode reference information includes the partition mode of the image unit in which the current chroma block is located, and the usage conditions further include the fact that the partition mode of the image unit in which the current chroma block is located is a dual-tree structure.
[0229] In some embodiments, the prediction mode reference information includes the partition mode of the image unit in which the current chroma block is located, and the usage conditions further include the fact that the partition mode of the image unit in which the current chroma block is located is a single-tree structure.
[0230] If the prediction mode reference information does not include the partition mode of the image unit in which the current chroma block is located, the usage conditions do not restrict the partition mode. In other words, the first intra-prediction mode is applicable to any partition mode.
[0231] Furthermore, in some embodiments, the first intra-prediction mode is a chroma direct derivation block vector prediction mode (intraDBV), the method comprising: obtaining the block vector of a first luminance block corresponding to the current chroma block when it is determined that the current chroma block uses the first intra-prediction mode; determining the block vector of the current chroma block based on the block vector of the first luminance block; and determining the first predicted block of the current chroma block based on the block vector of the current chroma block.
[0232] For example, the first intra-prediction mode may be DM mode, and the third intra-prediction mode may be a conventional intra-prediction mode such as Planar mode, DC mode, or angle prediction mode.
[0233] As an example, as shown in Figure 3, if the current chroma block is predicted using IntraDBV, under the partitioning by the dual tree, the chroma block detects the corresponding luminance region and checks whether at least one luminance block among the luminance blocks at the following five positions in the first order (C->TL->TR->BL->BR) uses IBC or IntraTMP mode. If at least one luminance block at these five positions uses IBC or IntraTMP, the first block vector detected in the first order (C->TL->TR->BL->BR) is used to derive the chroma block vector, and the current chroma block is predicted using the reconstructed block at the position pointed to by the chroma block vector.
[0234] More specifically, determining the block vector of the current chroma block based on the block vector of the first luminance block includes downsampling the block vector of the first luminance block to determine the downsampled block vector, and then performing a fine-grained search based on the downsampled block vector to determine the block vector of the current chroma block. Exemplaryly, depending on the downsampled block vector, a detailed search based on template matching is performed to determine the optimal block vector for the current chroma block.
[0235] Furthermore, if it is determined that the current chroma block uses the first intra-prediction mode, other syntax elements associated with the first intra-prediction mode are also encoded and used to further determine other submodes of the current chroma block.
[0236] In some embodiments, the method includes determining a syntax element identifier for encoding a weighted prediction mode for the current chroma block when the current chroma block uses a first intra-prediction mode; determining a fourth intra-prediction mode for weighted prediction of the current chroma block based on the syntax element identifier of the weighted prediction mode; determining a second prediction block obtained in the fourth intra-prediction mode of the current chroma block; and performing a weighted calculation based on the first and second prediction blocks to obtain a final prediction block for the current chroma block.
[0237] As an example, the syntax element identifier for a weighted prediction mode is used to indicate whether or not a weighted prediction mode is used, and, if so, at least one of the types of weighted prediction modes. Here, the type of weighted prediction mode is used to indicate the weights and the fourth intra-prediction mode.
[0238] In some embodiments, the weighted prediction mode type is used to indicate the weights and the fourth intra-prediction mode. Exemplary examples of weighted prediction mode types include weighting without using prediction results from the cross-component mode, weighting using prediction results from the MMLM mode, weighting using one set of self-adaptive weights and luminance reconstruction values, and weighting using two sets of self-adaptive weights and luminance reconstruction values.
[0239] In some embodiments, the weighted prediction mode type may further include weighting the prediction results of a CCLM mode, weighting the prediction results of a CCCM mode, and weighting the prediction results of multiple CCCM modes. That is, the fourth intra-prediction mode may be a cross-component intra-prediction mode. For example, the fourth intra-prediction mode may be a CCLM mode, an MMLM mode, or a CCCM mode. Alternatively, the fourth intra-prediction mode may be a prediction mode that uses luminance reconstruction values for weighting.
[0240] Step 904: If the prediction mode reference information does not meet the conditions for using the first intra-prediction mode, it is determined that the current chroma block will use the second intra-prediction mode.
[0241] Furthermore, in some embodiments, the second intra-prediction mode is a chroma direct derivation prediction mode (DM), and the method includes, if it is determined that the current chroma block uses the second intra-prediction mode, obtaining the intra-prediction mode of the luminance block corresponding to the current chroma block, setting the intra-prediction mode of the luminance block as the intra-prediction mode of the current chroma block, and determining the first prediction block of the current chroma block based on the intra-prediction mode of the current chroma block. These modes may be conventional intra-prediction modes such as Planar mode, DC mode, or angle prediction mode.
[0242] Furthermore, if it is determined that the current chroma block uses the second intra-prediction mode, other syntax elements associated with the second intra-prediction mode are also encoded and used to further determine other submodes of the current chroma block.
[0243] In some embodiments, the method includes the steps of: determining whether the current chroma block uses a second intra-prediction mode; encoding a syntax element identifier for the weighted prediction mode of the current chroma block; determining a fourth intra-prediction mode to be used for weighted prediction of the current chroma block based on the syntax element identifier for the weighted prediction mode; determining a second prediction block to be obtained by the current chroma block under the fourth intra-prediction mode; and performing a weighted calculation based on the first and second prediction blocks to obtain a final prediction block for the current chroma block.
[0244] As an example, the syntax element identifier for a weighted prediction mode is used to indicate whether or not a weighted prediction mode is used, and, if so, at least one of the types of weighted prediction modes. Here, the type of weighted prediction mode is used to indicate the weights and the fourth intra-prediction mode.
[0245] In some embodiments, the weighted prediction mode type is used to indicate the weights and the fourth intra-prediction mode. Exemplary examples of weighted prediction mode types include weighting without using prediction results from the cross-component mode, weighting using prediction results from the MMLM mode, weighting using one set of self-adaptive weights and luminance reconstruction values, and weighting using two sets of self-adaptive weights and luminance reconstruction values.
[0246] In some embodiments, the weighted prediction mode type may further include weighting the prediction results of a CCLM mode, weighting the prediction results of a CCCM mode, and weighting the prediction results of multiple CCCM modes. That is, the fourth intra-prediction mode may be a cross-component intra-prediction mode. For example, the fourth intra-prediction mode may be a CCLM mode, an MMLM mode, or a CCCM mode. Alternatively, the fourth intra-prediction mode may be a prediction mode that uses luminance reconstruction values for weighting.
[0247] In some embodiments, the method includes encoding a syntax element identifier for a cross-component intra-predictive mode, determining whether the current chroma block uses a cross-component intra-predictive mode based on the syntax element identifier for the cross-component intra-predictive mode, encoding cross-component intra-predictive mode information, and determining, based on the syntax element identifier for the cross-component intra-predictive mode, that the current chroma block does not use a cross-component intra-predictive mode and encodes a third syntax element identifier.
[0248] In other words, before encoding the third syntax element identifier, the syntax element identifier of the current chroma block's cross-component intra-prediction mode is encoded, and based on this syntax element identifier, it is determined whether the current chroma block uses the cross-component intra-prediction mode. If it does not, the third syntax element identifier is further encoded.
[0249] In some embodiments, the method includes determining that a current chroma block uses a cross-component intra prediction mode based on a syntax element identifier of the cross-component intra prediction mode, and determining that a third syntax element identifier is used to indicate a preset value for indicating that the current chroma block does not use a first intra prediction mode and a second intra prediction mode.
[0250] In some embodiments, the method may further include encoding other syntax element identifiers of the current chroma block when it is determined based on the third syntax element identifier that the current chroma block is not permitted to use the first intra prediction mode and the second intra prediction mode, and determining other intra prediction modes of the current chroma block based on the other syntax element identifiers.
[0251] That is, when it is determined based on the third syntax element identifier that the current chroma block does not use the first intra prediction mode and the second intra prediction mode, other intra prediction modes are further encoded. By way of example, the other intra prediction mode may be a DIMD mode, a Planar mode, a DC mode, or an angular prediction mode.
[0252] For example, the description of the relevant syntax elements of an intra-coded chroma coding unit is shown in Table 2-3.
[0253] In yet another embodiment of the present application, a bit stream generated by bit encoding according to the information to be encoded is further provided, and the information to be encoded includes at least one of a first syntax element identifier indicating whether to use a first intra prediction mode, a second syntax element identifier indicating whether to use a second intra prediction mode, a third syntax element identifier indicating whether the first intra prediction mode and the second intra prediction mode are permitted, a syntax element identifier indicating a weighted prediction mode, another syntax element identifier indicating another intra prediction mode, and a syntax element identifier indicating a cross-component intra prediction mode.
[0254] Note that the bit stream includes only one of the first syntax element identifier or the second syntax element identifier.
[0255] In yet another embodiment of the present application, based on the same inventive concept as the foregoing embodiment, referring to FIG. 10, a schematic diagram of the configuration structure of an encoder according to an embodiment of the present application is shown. As shown in FIG. 10, the encoder 110 includes a first acquisition unit 111, a coding unit 112, and a first determination unit 113.
[0256] In some embodiments, the first acquisition unit 111 is configured to acquire prediction mode reference information of a current chroma block.
[0257] The coding unit 112 is configured as a first determination unit and is configured to encode a first syntax element identifier when the prediction mode reference information satisfies the usage conditions of the first intra prediction mode.
[0258] The first determination unit 113 is configured to determine whether the current chroma block uses the first intra prediction mode based on the first syntax element identifier.
[0259] The coding unit 112 is further configured to encode a second syntax element identifier if the prediction mode reference information does not satisfy the conditions for using the first intra-prediction mode.
[0260] The first decision unit 113 is further configured to determine whether the current chroma block uses the second intra-prediction mode based on the second syntax element identifier.
[0261] In some embodiments, the coding unit 112 is configured to encode the third syntax element identifier of the current chroma block.
[0262] The first acquisition unit 111 is configured to acquire prediction mode reference information for the current chroma block if it is determined, based on the third syntax element identifier, that the current chroma block allows the use of the first intra-prediction mode and the second intra-prediction mode.
[0263] The first decision unit 113 is configured to determine that the current chroma block should use the first intra-prediction mode if the prediction mode reference information satisfies the conditions for using the first intra-prediction mode.
[0264] The first decision unit 113 is further configured to determine that the current chroma block should use the second intra-prediction mode if the prediction mode reference information does not meet the conditions for using the first intra-prediction mode.
[0265] It should be understood that each functional unit of the encoder also performs the encoding method described in one of the embodiments described above. This will not be explained in detail here.
[0266] In the embodiments of this application, "unit" may be part of a circuit, part of a processor, part of a program or software, and may be a module or a non-module. Furthermore, each component in these embodiments may be integrated into a single processing unit, each unit may exist physically separately, or two or more units may be integrated into a single unit. The integrated unit described above can be implemented in the form of hardware or as a software functional module.
[0267] If the integrated unit is implemented in the form of a software function module and is not sold or used as an independent product, it can be stored on a computer-readable storage medium. Based on this understanding, the technical solution of this embodiment, either in essence, in part, or in whole or in part, can be embodied in the form of a software product. The computer software product is stored on a storage medium and includes a set of instructions that enable a computer device (such as a personal computer, server, or network device) or processor to perform all or part of the steps of the method described in this embodiment. The aforementioned storage media include USB flash drives, mobile hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks or optical disks, and other media capable of storing program code.
[0268] Accordingly, one embodiment of the present application provides a computer-readable storage medium applicable to an encoder 110. The computer-readable storage medium stores a computer program, and when the computer program is executed by a first processor, it realizes the encoding method described in any one of the above embodiments.
[0269] Please refer to Figure 11 for the configuration of the encoder 110 and the computer-readable storage medium. Figure 11 shows a schematic diagram of the specific hardware structure of the encoder 110 according to an embodiment of the present application. As shown in Figure 11, the encoder 110 may include a first memory 115, a first processor 116, a first communication interface 117, and a first bus system 118. The first memory 115, the first processor 116, and the first communication interface 117 are interconnected via the first bus system 118. It should be understood that the first bus system 118 is used to enable connection and communication between these components. The first bus system 118 includes not only a data bus, but also a power bus, a control bus, and a status signal bus. For ease of understanding, in Figure 20, various buses are identified as the first bus system 118.
[0270] The first communication interface 117 is configured to send and receive signals when sending and receiving information with other external network elements.
[0271] The first memory 115 is configured to store a computer program that can be executed on the first processor.
[0272] In some embodiments, the first processor 116 executes a computer program, Obtain the current chroma block prediction mode reference information, If the prediction mode reference information satisfies the conditions for using the first intra-prediction mode, the first syntax element identifier is encoded, Based on the first syntax element identifier, it is determined whether the current chroma block uses the first intra-prediction mode, If the prediction mode reference information does not meet the conditions for using the first intra-prediction mode, the second syntax element identifier is encoded, Based on the second syntax element identifier, determine whether the current chroma block uses the second intra-prediction mode and perform the following:
[0273] In some embodiments, when the first processor 116 executes a computer program, encoding the third syntax element identifier of the current chroma block, based on the third syntax element identifier, when it is determined that the current chroma block permits the use of the first intra prediction mode and the second intra prediction mode, obtaining prediction mode reference information of the current chroma block; when the prediction mode reference information satisfies the usage conditions of the first intra prediction mode, determining that the current chroma block uses the first intra prediction mode; when the prediction mode reference information does not satisfy the usage conditions of the first intra prediction mode, determining that the current chroma block uses the second intra prediction mode.
[0274] It should be understood that the first memory 115 in the embodiments of the present application may be a volatile memory or a non-volatile memory, or may include both a volatile memory and a non-volatile memory. The non-volatile memory is a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory is a random access memory (RAM) that functions as an external cache memory. By way of example and not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), extended synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct RAMbUS RAM (DRRAM). The first memory 115 of the systems and methods described in the present application is intended to include these and other suitable types of memory, but is not limited thereto.
[0275] The first processor 116 may be an integrated circuit chip with signal processing capabilities. In implementation, each step of the above method can be completed by an integrated logic circuit of hardware within the first processor 116 or by instructions in software form. The first processor 116 may be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic device, individual gate or transistor logic devices, or individual hardware components. Various methods, steps, and logic diagrams disclosed in the embodiments of this application can be implemented or executed. The general-purpose processor may be a microprocessor, and the processor may be a conventional processor, etc. The steps of the methods disclosed in the embodiments of this application may be implemented directly by a hardware decode processor, or by a combination of hardware modules and software modules within the decode processor. The software modules may be located in storage media that are mature in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, or electrically erasable programmable memory, registers, etc. The storage medium is placed in the first memory 115, and the first processor 116 reads the information in the first memory 115 and completes the steps of the above method by combining it with its hardware.
[0276] It is understood that the embodiments described in this application can be implemented by hardware, software, firmware, middleware, microcode, or a combination thereof. In hardware implementations, the processing unit can be implemented as one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSP devices, DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), general-purpose processors, controllers, microcontrollers, microprocessors, other electronic units for performing the functions described herein, or a combination thereof. In software implementations, the technology described herein can be implemented through modules (procedures, functions, etc.) that perform the functions described herein. The software code may be stored in memory and executed by the processor. The memory may be implemented inside or outside the processor.
[0277] In some embodiments, the first processor 116 obtains prediction mode reference information for the current chroma block when executing a computer program.
[0278] This embodiment provides an encoder that, during the search process of the reconstruction region, makes maximum use of the reconstruction block information of different matching templates, rather than simply considering the reconstruction block information corresponding to the template with the lowest matching cost, thereby improving prediction accuracy and coding efficiency. Furthermore, by making maximum use of the matching template information, it adaptively assigns weight values to the reference blocks, taking into account the different importance of various reconstruction block information to the current block prediction, further improving prediction accuracy and coding efficiency.
[0279] In yet another embodiment of this application, based on the same inventive concept as described above, Figure 12 shows a schematic diagram of the configuration of a decoder 120 according to an embodiment of this application. As shown in Figure 12, the decoder 120 includes a second acquisition unit 121, a decoding unit 122, and a second determination unit 123.
[0280] In some embodiments, the second acquisition unit 121 is configured to acquire predictive mode reference information for the current chroma block.
[0281] The decoding unit 122 is configured to decode the first syntax element identifier when the prediction mode reference information satisfies the conditions for using the first intra-prediction mode.
[0282] In some embodiments, the first processor 116 obtains prediction mode reference information for the current chroma block when executing a computer program.
[0283] The second decision unit 123 is configured to determine whether the current chroma block uses the first intra-prediction mode based on the first syntax element identifier.
[0284] The decoding unit 122 is further configured to decode the second syntax element identifier if the prediction mode reference information does not satisfy the conditions for using the first intra-prediction mode.
[0285] The second decision unit 123 is further configured to determine whether the current chroma block uses the second intra-prediction mode, based on the second syntax element identifier.
[0286] In some embodiments, the first processor 116 obtains prediction mode reference information for the current chroma block when executing a computer program.
[0287] In some embodiments, the decoding unit 122 is configured to decode the third syntax element identifier of the current chroma block.
[0288] The second acquisition unit 121 is configured to acquire prediction mode reference information for the current chroma block if it is determined, based on the third syntax element identifier, that the current chroma block allows the use of the first intra-prediction mode and the second intra-prediction mode.
[0289] The second decision unit 123 is configured to determine that the current chroma block will use the first intra-prediction mode if the prediction mode reference information satisfies the conditions for using the first intra-prediction mode.
[0290] The second decision unit 123 is further configured to determine that the current chroma block should use the second intra-prediction mode if the prediction mode reference information does not meet the conditions for using the first intra-prediction mode.
[0291] It can be understood that each functional unit of the decoder also performs the decoding method described in any of the embodiments described above, which will not be explained in detail here.
[0292] In this embodiment, it is understood that a "unit" may be part of a circuit, part of a processor, part of a program or software, and may be a module or non-modular. Furthermore, each component in this embodiment may be integrated into a single processing unit, each unit may exist physically separately, or two or more units may be integrated into a single unit. The above-mentioned integrated unit can be implemented in the form of hardware or as a software function module.
[0293] When an integrated unit is implemented in the form of a software function module and is not sold or used as an independent product, it can be stored on a computer-readable storage medium. Based on this understanding, this embodiment provides a computer-readable storage medium applicable to the decoder 120. A computer program is stored on this computer-readable storage medium. When this computer program is executed by the second processor, the decoding method described in any of the above embodiments is performed.
[0294] Please refer to Figure 13 for the configuration of the decoder 120 and the computer-readable storage medium. Figure 13 shows a schematic diagram of the specific hardware structure of the decoder 120 according to an embodiment of this application. As shown in Figure 13, the decoder 120 may include a second memory 127, a second processor 124, a second communication interface 125, and a second bus system 126. The second memory 127, the second processor 124, and the second communication interface 125 are interconnected via the second bus system 126. It should be understood that the second bus system 126 is used to enable connection and communication between these components. The second bus system 126 includes not only a data bus, but also a power bus, a control bus, and a status signal bus. For ease of understanding, in Figure 22, various buses are identified as the second bus system 126.
[0295] The second communication interface 125 is used to send and receive signals during the process of sending and receiving information with other external network elements.
[0296] The second memory 127 is used to store executable computer programs for the second processor.
[0297] In some embodiments, the second processor 124 executes a computer program. Obtain the current chroma block prediction mode reference information, If the prediction mode reference information satisfies the conditions for using the first intra prediction mode, the first syntax element identifier is decoded, Based on the first syntax element identifier, it is determined whether the current chroma block uses the first intra-prediction mode, If the prediction mode reference information does not meet the conditions for using the first intra-prediction mode, the second syntax element identifier is decoded, The system is configured to determine whether the current chroma block uses the second intra-prediction mode based on the second syntax element identifier.
[0298] In some embodiments, the second processor 124 executes a computer program. Decoding the third syntax element identifier of the current chroma block, If, based on the third syntax element identifier, it is determined that the current chroma block allows the use of the first intra-prediction mode and the second intra-prediction mode, the prediction mode reference information for the current chroma block is retrieved. If the prediction mode reference information satisfies the conditions for using the first intra-prediction mode, it is determined that the current chroma block will use the first intra-prediction mode. The system is configured to determine that the current chroma block will use the second intra-prediction mode if the prediction mode reference information does not meet the conditions for using the first intra-prediction mode.
[0299] Selectively, in another embodiment, the second processor 124 is further configured to perform the decoding method described in any of the above embodiments when executing a computer program.
[0300] The hardware functions of the second memory 127 and the first memory 115 are similar, and the hardware functions of the second processor 124 and the first processor 116 are also similar, so they will not be explained in detail here.
[0301] This embodiment provides a decoder. This decoder improves prediction accuracy and decoding efficiency by not simply considering the reconstructed block information corresponding to the template with the lowest matching cost during the reconstruction region search process, but by making maximum use of the reconstructed block information of different matching templates. Furthermore, it further improves prediction accuracy and decoding efficiency by making maximum use of the matching template information to adaptively assign weight values to reference blocks and considering the different importance of various reconstructed block information to the current block prediction.
[0302] In yet another embodiment of this application, with reference to Figure 14, a schematic diagram of the configuration of the encoding and decoding system according to an embodiment of this application is shown. As shown in Figure 14, the encoding and decoding system 140 may include an encoder 1401 and a decoder 1402.
[0303] In the embodiments of the present application, encoder 1401 is the encoder described in any of the above embodiments, and decoder 1402 is the decoder described in any of the above embodiments.
[0304] In this application, “including” or other variations thereof are intended to cover non-exclusive inclusion, and it should be noted that a process, method, article, or apparatus containing a set of elements includes not only those elements but also other elements not explicitly enumerated, or elements specific to such a process, method, article, or apparatus. Unless further restricted, an element defined by the phrase “...equipped with” does not preclude the presence of other identical elements in a process, method, article, or apparatus containing that element.
[0305] The numbering of the above embodiments in this application is for illustrative purposes only and does not indicate any ranking of the embodiments.
[0306] The methods disclosed in the embodiments of several methods relating to this application can be arbitrarily combined in a consistent manner to obtain embodiments of new methods.
[0307] The features disclosed in several product embodiments relating to this application can be combined arbitrarily and without contradiction to obtain new product embodiments.
[0308] The features disclosed in some embodiments of the methods or devices relating to this application can be combined in any way without contradiction to obtain new embodiments of the methods or devices.
[0309] The above is merely one example of a specific method of implementation of the present application, and the scope of protection of this application is not limited thereto. A person skilled in the art can easily conceive of modifications and substitutions within the technical scope disclosed herein, and these should be included within the scope of protection of this application. Therefore, the scope of protection of this application must be based on the scope of protection of the claims.
[0310] In this application, “including” or other variations thereof are intended to cover non-exclusive inclusion, and it should be noted that a process, method, article, or apparatus containing a set of elements includes not only those elements but also other elements not explicitly enumerated, or elements specific to such a process, method, article, or apparatus. Unless further restricted, an element defined by the phrase “...equipped with” does not preclude the presence of other identical elements in a process, method, article, or apparatus containing that element. [Industrial applicability]
[0311] Embodiments of this application provide an encoding / decoding method, a bitstream, an encoder, a decoder, and a storage medium. When encoding / decoding chroma components, considering the functional redundancy of some intra-prediction modes, if the prediction mode reference information satisfies the conditions for using the first intra-prediction mode, only the first syntax element identifier is encoded / decoded, and based on the first syntax element identifier, it is determined whether the current chroma block uses the first intra-prediction mode, and the encoding / decoding of syntax element identifiers related to the second intra-prediction mode is skipped. That is, the current chroma block does not use the second intra-prediction mode. If the conditions are not met, only the second syntax element identifier is encoded / decoded, and based on the second syntax element identifier, it is determined whether the current chroma block uses the second intra-prediction mode, and the encoding / decoding of syntax element identifiers related to the first intra-prediction mode is skipped, that is, the current chroma block does not use the first intra-prediction mode. In this way, when encoding and decoding chroma components, the number of encoded and decoded codewords for the two intra-prediction modes is reduced, improving compression efficiency.
[0312] Furthermore, the third syntax element identifier can be used to simultaneously indicate whether the use of the first intra-prediction mode and the second intra-prediction mode is permitted. If permitted, the prediction mode reference information is used to determine whether the conditions for using the first intra-prediction mode are met. If the conditions are met, it can be directly determined that the current chroma block will use the first intra-prediction mode. If the conditions are not met, it is determined that the current chroma block will use the second intra-prediction mode. In this way, the third syntax element identifier can be used to enable these two intra-prediction modes during the encoding and decoding of chroma components. Moreover, since the same syntax element identifier can be used to identify identical or similar prediction information in different intra-prediction modes, the number of encoding and decoding codewords for chroma prediction modes can be reduced, improving compression efficiency.
Claims
1. A decoding method, which is applied to a decoder, Steps include obtaining the current chroma block prediction mode reference information, If the aforementioned prediction mode reference information satisfies the conditions for using the first intra prediction mode, the first syntax element identifier is decoded. A step of determining whether the current chroma block uses the first intra-prediction mode based on the first syntax element identifier, If the prediction mode reference information does not satisfy the conditions for using the first intra prediction mode, the steps include: decrypting the second syntax element identifier; The process includes the step of determining whether the current chroma block uses a second intra-prediction mode based on the second syntax element identifier, Decryption method.
2. The aforementioned prediction mode reference information includes intra-prediction mode information for the luminance block corresponding to the current chroma block, The method according to claim 1, wherein the usage conditions include the luminance block corresponding to the current chroma block using a third intra-predictive mode.
3. The aforementioned prediction mode reference information includes the partition mode of the image unit in which the current chroma block is located. The method according to claim 2, wherein the usage conditions further include a dual-tree structure in the partition mode of the image unit in which the current chroma block is located.
4. The step of obtaining the prediction mode reference information for the current chroma block is: The image unit in which the current chroma block is located partitions the luminance block and chroma block using a dual tree structure, and detects luminance blocks located at multiple positions in the luminance region corresponding to the current chroma block in a first order. If it is detected that the prediction mode of the first luminance block is the third intra-prediction mode, the luminance block corresponding to the current chroma block is determined to use the third intra-prediction mode. The method according to claim 2, comprising the step of determining that if the prediction mode of a luminance block is not detected to be a third intra-prediction mode, the luminance block corresponding to the current chroma block does not use the third intra-prediction mode.
5. The first intra prediction mode is a chroma direct derivation block vector prediction mode, and the method is If it is determined that the current chroma block uses the first intra-prediction mode, the steps are to obtain the block vector of the first luminance block corresponding to the current chroma block, The steps include determining the block vector of the current chroma block according to the block vector of the first luminance block, The method according to any one of claims 1 to 4, comprising the step of determining a first predicted block of the current chroma block according to the block vector of the current chroma block.
6. The step of determining the block vector of the current chroma block according to the block vector of the first luminance block is: The steps include downsampling the block vector of the first luminance block and determining the downsampled block vector, The method according to claim 5, wherein a detailed search is performed based on the downsampled block vector to determine the block vector of the current chroma block.
7. The aforementioned method, If it is determined that the current chroma block uses the first intra prediction mode, the steps are to decode the syntax element identifier of the weighted prediction mode of the current chroma block, The steps include determining a fourth intra prediction mode to be used for weighted prediction of the current chroma block based on the syntax element identifier of the weighted prediction mode, The current chroma block is determined to be the second prediction block acquired in the fourth intra prediction mode, The method according to claim 5, further comprising the step of performing a weighted calculation according to the first prediction block and the second prediction block to obtain the final prediction block of the current chroma block.
8. The second intra prediction mode is a chroma direct derivation prediction mode, and the method is If it is determined that the current chroma block will use the second intra-prediction mode, the steps include obtaining the intra-prediction mode of the luminance block corresponding to the current chroma block, The steps include setting the intra-prediction mode of the luminance block to the current intra-prediction mode of the chroma block, The method according to any one of claims 1 to 4, further comprising the step of determining a first prediction block of the current chroma block according to the intra prediction mode of the current chroma block.
9. The aforementioned method, If it is determined that the current chroma block uses the second intra prediction mode, the steps include decoding the syntax element identifier of the weighted prediction mode of the current chroma block, The steps include determining a fourth intra prediction mode to be used for weighted prediction of the current chroma block based on the syntax element identifier of the weighted prediction mode, The current chroma block is determined to be the second prediction block acquired in the fourth intra prediction mode, The method according to claim 8, further comprising the step of performing a weighted calculation according to the first prediction block and the second prediction block to obtain the final prediction block of the current chroma block.
10. The method according to any one of claims 2 to 4, wherein the third intra prediction mode is an intra block copy prediction mode or an intra template matching prediction mode.
11. The aforementioned method, If, based on the first syntax element identifier, it is determined that the current chroma block does not use the first intra-prediction mode, and based on the second syntax element identifier, it is determined that the current chroma block does not use the second intra-prediction mode, the steps include decoding the other syntax element identifiers of the current chroma block. The method according to claim 1, further comprising the step of determining other intra-prediction modes of the current chroma block based on the other syntax element identifiers.
12. The aforementioned method, The steps include decoding the syntax elements of the cross-component intra-prediction mode, The steps include determining, based on the syntax element identifier of the cross-component intra-prediction mode, that the current chroma block uses the cross-component intra-prediction mode to decode the cross-component intra-prediction mode information, The method according to claim 1, further comprising the steps of determining, based on the syntax element identifier of the cross-component intra-prediction mode, that the current chroma block does not use the cross-component intra-prediction mode, and determining whether the prediction mode reference information satisfies the conditions for using the first intra-prediction mode.
13. A decoding method, which is applied to a decoder, The steps include: decoding the third syntax element identifier of the current chroma block, If, based on the aforementioned third syntax element identifier, it is determined that the current chroma block allows the use of the first intra-prediction mode and the second intra-prediction mode, the steps include obtaining the prediction mode reference information for the current chroma block, If the prediction mode reference information satisfies the conditions for using the first intra prediction mode, the step of determining that the current chroma block will use the first intra prediction mode, The step of determining that the current chroma block will use the second intra-prediction mode if the prediction mode reference information does not satisfy the conditions for using the first intra-prediction mode, includes the step of determining that the current chroma block will use the second intra-prediction mode. Decryption method.
14. The aforementioned prediction mode reference information includes intra-prediction mode information for the luminance block corresponding to the current chroma block, The method according to claim 13, wherein the usage conditions include the luminance block corresponding to the current chroma block using a third intra-predictive mode.
15. The aforementioned prediction mode reference information includes the partition mode of the image unit in which the current chroma block is located. The method according to claim 14, wherein the usage conditions further include the partition mode of the image unit in which the current chroma block is located being a dual-tree structure.
16. The step of obtaining the prediction mode reference information for the current chroma block is: The image unit in which the current chroma block is located partitions the luminance block and chroma block using a dual tree structure, and detects luminance blocks located at multiple positions in the luminance region corresponding to the current chroma block in a first order. If it is detected that the prediction mode of the first luminance block is the third intra-prediction mode, the step of determining that the luminance block corresponding to the current chroma block will use the third intra-prediction mode, The method according to claim 13, comprising the step of determining that the luminance block corresponding to the current chroma block does not use the third intra-prediction mode if the prediction mode of the luminance block is not detected to be the third intra-prediction mode.
17. The first intra prediction mode is a chroma direct derivation block vector prediction mode, and the method is If it is determined that the current chroma block uses the first intra-prediction mode, the steps are to obtain the block vector of the first luminance block corresponding to the current chroma block, The steps include determining the block vector of the current chroma block according to the block vector of the first luminance block, The method according to any one of claims 13 to 16, further comprising the step of determining a first predicted block of the current chroma block in accordance with the block vector of the current chroma block.
18. The step of determining the block vector of the current chroma block according to the block vector of the first luminance block is: The steps include downsampling the block vector of the first luminance block and determining the downsampled block vector, The method according to claim 17, comprising the step of performing a detailed search based on the downsampled block vector to determine the block vector of the current chroma block.
19. The second intra prediction mode is a chroma direct derivation prediction mode, and the method is If the current chroma block is determined to use the second intra-prediction mode, the steps include obtaining the intra-prediction mode of the luminance block corresponding to the current chroma block, The steps include setting the intra-prediction mode of the luminance block to the current intra-prediction mode of the chroma block, The method according to any one of claims 13 to 16, further comprising the step of determining a first prediction block of the current chroma block according to the intra prediction mode of the current chroma block.
20. If, based on the aforementioned third syntax element identifier, it is determined that the current chroma block allows the use of the first intra-prediction mode and the second intra-prediction mode, the steps include decoding the syntax element identifier of the weighted prediction mode of the current chroma block, The steps include determining a fourth intra prediction mode to be used for weighted prediction of the current chroma block based on the syntax element identifier of the weighted prediction mode, The current chroma block is determined by the second prediction block acquired in the fourth intra-prediction mode, The method according to any one of claims 13 to 19, further comprising the step of performing a weighted calculation in accordance with the first prediction block and the second prediction block to obtain the final prediction block of the current chroma block.
21. The method according to any one of claims 14 to 16, wherein the third intra prediction mode is an intra block copy prediction mode or an intra template matching prediction mode.
22. The aforementioned method, If it is determined that the current chroma block does not permit the use of the first intra-prediction mode and the second intra-prediction mode based on the third syntax element identifier, the steps include decoding the other syntax element identifiers of the current chroma block, The method according to claim 13, further comprising the step of determining other intra-prediction modes of the current chroma block based on the other syntax element identifiers.
23. The aforementioned method, The steps include decoding the syntax elements of the cross-component intra-prediction mode, The steps include determining, based on the syntax element identifier of the cross-component intra-prediction mode, that the current chroma block uses the cross-component intra-prediction mode to decode the cross-component intra-prediction mode information, The method according to claim 13, further comprising the step of determining, based on the syntax element identifier of the cross-component intra-prediction mode, that the current chroma block does not use the cross-component intra-prediction mode and decodes the third syntax element identifier.
24. An encoding method, which is applied to an encoder. Steps include obtaining the current chroma block prediction mode reference information, If the aforementioned prediction mode reference information satisfies the conditions for using the first intra prediction mode, the steps include encoding the first syntax element identifier, The steps include determining whether the current chroma block uses the first intra-prediction mode based on the first syntax element identifier, If the prediction mode reference information does not satisfy the conditions for using the first intra prediction mode, the steps include encoding a second syntax element identifier, An encoding method comprising the step of determining whether the current chroma block uses a second intra-prediction mode based on the second syntax element identifier.
25. The aforementioned prediction mode reference information includes intra-prediction mode information for the luminance block corresponding to the current chroma block, The method according to claim 24, wherein the usage conditions include the luminance block corresponding to the current chroma block using a third intra-predictive mode.
26. The aforementioned prediction mode reference information includes the partition mode of the image unit in which the current chroma block is located. The method according to claim 25, wherein the usage conditions further include the partition mode of the image unit in which the current chroma block is located being a dual-tree structure.
27. The first intra prediction mode is a chroma direct derivation block vector prediction mode, and the method is If it is determined that the current chroma block uses the first intra-prediction mode, the steps are to obtain the block vector of the first luminance block corresponding to the current chroma block, The steps include determining the block vector of the current chroma block according to the block vector of the first luminance block, The method according to any one of claims 24 to 26, comprising the step of determining a first predicted block of the current chroma block according to the block vector of the current chroma block.
28. The step of determining the block vector of the current chroma block according to the block vector of the first luminance block is: The steps include downsampling the block vector of the first luminance block and determining the downsampled block vector, The method according to claim 27, comprising the step of performing a detailed search based on the downsampled block vector to determine the block vector of the current chroma block.
29. The aforementioned method, If it is determined that the current chroma block uses the first intra prediction mode, the steps are to encode the syntax element identifier of the weighted prediction mode of the current chroma block, The steps include determining a fourth intra prediction mode to be used for weighted prediction of the current chroma block based on the syntax element identifier of the weighted prediction mode, The current chroma block is determined to be the second prediction block acquired in the fourth intra prediction mode, The method according to claim 27, further comprising the step of performing a weighted calculation according to the first prediction block and the second prediction block to obtain the final prediction block of the current chroma block.
30. The second intra prediction mode is a chroma direct derivation prediction mode, and the method is If it is determined that the current chroma block will use the second intra-prediction mode, the steps include obtaining the intra-prediction mode of the luminance block corresponding to the current chroma block, The steps include setting the intra-prediction mode of the luminance block to the current intra-prediction mode of the chroma block, The method according to any one of claims 24 to 26, further comprising the step of determining a first prediction block of the current chroma block according to the intra prediction mode of the current chroma block.
31. The aforementioned method, If it is determined that the current chroma block uses the first intra prediction mode, the steps are to encode the syntax element identifier of the weighted prediction mode of the current chroma block, The steps include determining a fourth intra prediction mode to be used for weighted prediction of the current chroma block based on the syntax element identifier of the weighted prediction mode, The current chroma block is determined to be the second prediction block acquired in the fourth intra prediction mode, The method according to claim 30, further comprising the step of performing a weighted calculation according to the first prediction block and the second prediction block to obtain the final prediction block of the current chroma block.
32. The method according to claim 25, wherein the third intra prediction mode is an intra block copy prediction mode or an intra template matching prediction mode.
33. The aforementioned method, If, based on the first syntax element identifier, it is determined that the current chroma block does not use the first intra-prediction mode, and based on the second syntax element identifier, it is determined that the current chroma block does not use the second intra-prediction mode, then the steps are to encode the other syntax element identifiers of the current chroma block. The method according to claim 24, further comprising the step of determining other intra-prediction modes of the current chroma block based on the other syntax element identifiers.
34. The aforementioned method, The steps include encoding the syntax element identifiers for the cross-component intra-prediction mode, The steps include determining, based on the syntax element identifier of the cross-component intra-prediction mode, that the current chroma block uses the cross-component intra-prediction mode to encode the cross-component intra-prediction mode information, The method according to claim 24, comprising the steps of determining whether the current chroma block uses the cross-component intra-prediction mode based on the syntax element identifier of the cross-component intra-prediction mode, and determining whether the prediction mode reference information satisfies the conditions for using the first intra-prediction mode.
35. An encoding method, which is applied to an encoder. The steps include encoding the third syntax element identifier of the current chroma block, If, based on the aforementioned third syntax element identifier, it is determined that the current chroma block allows the use of the first intra-prediction mode and the second intra-prediction mode, the steps include obtaining the prediction mode reference information for the current chroma block, If the prediction mode reference information satisfies the conditions for using the first intra prediction mode, the step of determining that the current chroma block will use the first intra prediction mode, The step of determining that the current chroma block will use the second intra-prediction mode if the prediction mode reference information does not satisfy the conditions for using the first intra-prediction mode, includes the step of determining that the current chroma block will use the second intra-prediction mode. Encoding method.
36. The aforementioned prediction mode reference information includes intra-prediction mode information for the luminance block corresponding to the current chroma block, The method according to claim 35, wherein the usage conditions include the luminance block corresponding to the current chroma block using a third intra-predictive mode.
37. The aforementioned prediction mode reference information includes the partition mode of the image unit in which the current chroma block is located. The method according to claim 36, wherein the usage conditions further include the partition mode of the image unit in which the current chroma block is located being a dual-tree structure.
38. The first intra prediction mode is a chroma direct derivation block vector prediction mode, and the method is If it is determined that the current chroma block uses the first intra-prediction mode, the steps are to obtain the block vector of the first luminance block corresponding to the current chroma block, The steps include determining the block vector of the current chroma block according to the block vector of the first luminance block, The method according to any one of claims 34 to 37, further comprising the step of determining a first predicted block of the current chroma block in accordance with the block vector of the current chroma block.
39. The step of determining the block vector of the current chroma block based on the block vector of the first luminance block is: The steps include downsampling the block vector of the first luminance block and determining the downsampled block vector, The method of claim 38, comprising the step of performing a detailed search based on the downsampled block vector to determine the block vector of the current chroma block.
40. The second intra prediction mode is a chroma direct derivation prediction mode, and the method is If it is determined that the current chroma block will use the second intra-prediction mode, the steps include obtaining the intra-prediction mode of the luminance block corresponding to the current chroma block, The steps include setting the intra-prediction mode of the luminance block to the current intra-prediction mode of the chroma block, The method according to any one of claims 34 to 37, further comprising the step of determining a first prediction block of the current chroma block according to the intra prediction mode of the current chroma block.
41. The aforementioned method, If it is determined that the current chroma block is permitted to use the first intra-prediction mode and the second intra-prediction mode based on the third syntax element identifier, the steps are to encode the syntax element identifier of the weighted prediction mode of the current chroma block, The steps include determining a fourth intra prediction mode to be used for weighted prediction of the current chroma block based on the syntax element identifier of the weighted prediction mode, The current chroma block is determined to be the second prediction block acquired in the fourth intra prediction mode, The method according to any one of claims 34 to 40, further comprising the step of performing a weighted calculation according to the first prediction block and the second prediction block to obtain the final prediction block of the current chroma block.
42. The method according to claim 36, wherein the third intra prediction mode is an intra block copy prediction mode or an intra template matching prediction mode.
43. The aforementioned method, If, based on the third syntax element identifier, it is determined that the current chroma block does not permit the use of the first intra-prediction mode and the second intra-prediction mode, the steps include encoding other syntax element identifiers of the current chroma block, The method according to claim 35, further comprising the step of determining other intra-prediction modes of the current chroma block based on the other syntax element identifiers.
44. The aforementioned method, The steps include encoding the syntax element identifiers for the cross-component intra-prediction mode, The steps include determining, based on the syntax element identifier of the cross-component intra-prediction mode, that the current chroma block uses the cross-component intra-prediction mode to encode the cross-component intra-prediction mode information, The method according to claim 35, further comprising the step of determining, based on the syntax element identifier of the cross-component intra-prediction mode, that the current chroma block does not use the cross-component intra-prediction mode and encodes a third syntax element identifier.
45. A bitstream generated by bit encoding based on information to be encoded, wherein the information to be encoded is A syntax element identifier including at least one of the following: a first syntax element identifier indicating whether or not to use a first intra-prediction mode; a second syntax element identifier indicating whether or not to use a second intra-prediction mode; a third syntax element identifier indicating whether or not the first and second intra-prediction modes are permitted; a syntax element identifier indicating a weighted prediction mode; another syntax element identifier indicating another intra-prediction mode; and a syntax element identifier indicating a cross-component intra-prediction mode. Bitstream.
46. It is an encoder, A first acquisition unit configured to acquire prediction mode reference information for the current chroma block, A coding unit configured as a first decision unit, wherein the coding unit is configured to encode a first syntax element identifier when the prediction mode reference information satisfies the conditions for using the first intra prediction mode, The system includes a first decision unit configured to determine whether the current chroma block uses the first intra-prediction mode based on the first syntax element identifier, The coding unit is further configured to encode a second syntax element identifier if the prediction mode reference information does not satisfy the conditions for using the first intra-prediction mode. The first decision unit is further configured to determine, based on the second syntax element identifier, whether the current chroma block uses the second intra-prediction mode. Encoder.
47. It is an encoder, A coding unit configured to encode the third syntax element identifier of the current chroma block, A first acquisition unit is configured to acquire prediction mode reference information for the current chroma block when it is determined, based on the third syntax element identifier, that the current chroma block allows the use of the first intra-prediction mode and the second intra-prediction mode. A first decision unit is configured to determine that the current chroma block should use the first intra-prediction mode if the prediction mode reference information satisfies the conditions for using the first intra-prediction mode, The first decision unit is further configured to determine that the current chroma block should use the second intra-prediction mode if the prediction mode reference information does not satisfy the conditions for using the first intra-prediction mode. encoder
48. An encoder comprising a first memory and a first processor, The first memory is used to store computer programs that can be executed on the first processor. The first processor is configured to perform the method described in any one of claims 24 to 44 when executing a computer program. Encoder.
49. It is a decoder, A second acquisition unit configured to acquire the prediction mode reference information of the current chroma block, A decoding unit configured to decode a first syntax element identifier when the prediction mode reference information satisfies the conditions for using the first intra prediction mode, A second decision unit configured to determine whether the current chroma block uses a first intra-prediction mode based on a first syntax element identifier, is included, The decoding unit is further configured to decode the second syntax element identifier if the prediction mode reference information does not satisfy the conditions for using the first intra-prediction mode. The second decision unit is further configured to determine whether the current chroma block uses a second intra-prediction mode based on a second syntax element identifier. decoder.
50. It is a decoder, A decoding unit configured to decode the third syntax element identifier of the current chroma block, A second acquisition unit is configured to acquire prediction mode reference information for the current chroma block when it is determined, based on the third syntax element identifier, that the current chroma block allows the use of the first intra-prediction mode and the second intra-prediction mode. A second decision unit is configured to determine that the current chroma block should use the first intra-prediction mode if the prediction mode reference information satisfies the conditions for using the first intra-prediction mode, The second decision unit is further configured to determine that the current chroma block should use the second intra-prediction mode if the prediction mode reference information does not satisfy the conditions for using the first intra-prediction mode. decoder.
51. A decoder comprising a second memory and a second processor, The second memory is used to store a computer program that can be executed by the second processor. The second processor is used to perform the method according to any one of claims 1 to 23 when executing a computer program. decoder.
52. A computer-readable storage medium on which computer programs are stored, When the computer program is executed, the method according to any one of claims 1 to 23 or the method according to any one of claims 24 to 44 is realized. A computer-readable storage medium.