Method and apparatus for encoding intra prediction mode for each chroma component

By independently determining the intra prediction mode for each chroma channel in the video encoding technology, the problem of insufficient adaptation of Cb channels and Cr channels in the prior art is solved, and the efficiency and quality of video encoding are improved.

CN119137946APending Publication Date: 2024-12-13HYUNDAI MOTOR CO LTD +2
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202380038143.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-04-12
Filing Date
2023-04-17
Publication Date
2024-12-13

AI Technical Summary

Technical Problem

When the existing video encoding technology encodes the chromaticity components of the Cb channel and the Cr channel in intra prediction, it is difficult to effectively distinguish and adapt their unique features, resulting in poor encoding efficiency and image quality.

Method used

By independently determining and encoding intra prediction modes for each chroma channel, using technologies such as cross-component linear model mode (CCLM mode) and export mode (DM), appropriate prediction modes are adaptively set to improve encoding efficiency and images quality.

Benefits of technology

The efficiency and quality of video encoding are improved, and the accuracy and efficiency of intra prediction are enhanced by adaptive encoding and decoding for different characteristics of the Cb channel and the Cr channel.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119137946A_ABST
    Figure CN119137946A_ABST
Patent Text Reader

Abstract

A method and apparatus for encoding an intra prediction mode for each chroma component are disclosed. In a disclosed embodiment, a video decoding device decodes, from a bitstream, first intra prediction mode information for a first chroma channel of a current chroma block. The video decoding device decodes, from the bitstream, second intra prediction mode information of a second chroma channel of the current chroma block. Here, the first intra prediction mode information includes at least one of a first CCLM (Cross-Component Linear Model) mode flag, a first CCLM mode index, and a first chroma intra prediction mode indicator, and the second intra prediction mode information includes at least one of a second CCLM mode flag, a second CCLM mode index, and a second chroma intra prediction mode indicator.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a method and apparatus for encoding an intra prediction mode for each chrominance component. Background Art

[0002] The statements in this section merely provide background information related to the present disclosure and may not constitute prior art.

[0003] Since video data has a large amount of data compared to audio or still image data, the video data requires a large amount of hardware resources (including memory) to store or transmit the video data without a process for compression.

[0004] Thus, an encoder is generally used to compress and store or transmit video data. A decoder receives compressed video data, decompresses the received compressed video data, and plays the decompressed video data. Video compression technologies include H.264 / Advanced Video Coding (AVC), High Efficiency Video Coding (HEVC), and Versatile Video Coding (VVC) which has an improved coding efficiency of about 30% or more compared to HEVC.

[0005] However, as image size, resolution and frame rate gradually increase, the amount of data to be encoded also increases. Thus, a new compression technology that provides higher encoding efficiency and improved image enhancement effect than existing compression technologies is needed.

[0006] Intra-frame prediction to predict the pixel value of the current block to be encoded utilizes pixel information within the same picture. In intra-frame prediction of multiple intra-frame prediction modes, an appropriate one can be selected for the characteristics of the video and used to predict the current block. The encoder selects and uses one of many intra-frame prediction modes to encode the current block. The encoder can then pass information about the mode to the decoder.

[0007] HEVC technology uses a total of 35 intra-frame prediction modes for intra-frame prediction, including 33 angular modes with directionality and two non-angular modes without directionality. However, as the spatial resolution of the video increases from 720×480 to 2048×1024 or 8192×4096, the unit size of the prediction block becomes larger and larger, which requires adding more types of intra-frame prediction modes. As illustrated in FIG. 3A, VVC technology uses 67 intra-frame prediction modes for intra-frame prediction, which are further subdivided for intra-frame prediction, thereby allowing more types of prediction directions than in the prior art.

[0008] Typically, an image to be encoded is divided into coding units (CUs) of various shapes and sizes and then encoded as CUs. In this case, the tree structure is the information that specifies the division. The encoder passes the tree information to the decoder, indicating how the image is split into CUs of different shapes and sizes. In this process, luma (Y) and chroma (Cb, Cr) images can be split into separate CUs with different structures. Alternatively, luma and chroma images can be split into CUs of the same shape.

[0009] The technology of providing luminance and chrominance images with different partitioning structures is called the chrominance separation tree (CST) technology or the dual tree technology. Therefore, when the CST technology is used, the chrominance image can be divided according to a different partitioning method from the luminance image. On the other hand, the technology of providing luminance and chrominance images with the same partitioning structure is called the single tree technology. When the single tree technology is used, the chrominance image can have the same partitioning structure as the luminance image.

[0010] Conventional intra prediction techniques (whether using dual trees or single trees) set an intra prediction mode without distinguishing between the Cb channel and the Cr channel. Thereafter, the prior art performs intra prediction and encoding by applying the same intra prediction mode to the Cb and Cr channels. However, since the images of the Cb channel and the Cr channel may generally exhibit different characteristics, when the two chrominance channels are predicted and encoded by using the same intra prediction mode according to the prior art, equal image quality may not always be obtained. Therefore, it is necessary to consider a method for effectively encoding / decoding the intra prediction modes of the Cb channel and the Cr channel to improve video coding efficiency and enhance video quality. Summary of the invention

[0011]

Technical issues

[0012] The present disclosure attempts to provide a video encoding method and apparatus for encoding / decoding a component-specific prediction mode adapted to each of video characteristics of chroma components of a Cb channel and a Cr channel in intra-predicting a current chroma block.

[0013]

Technical solution

[0014] At least one aspect of the present invention provides a method performed by a video decoding device for decoding an intra-frame prediction mode of a current chroma block. The method includes: decoding first intra-frame prediction mode information for a first chroma channel of the current chroma block according to a bitstream. The method also includes: decoding second intra-frame prediction mode information for a second chroma channel of the current chroma block according to the bitstream. Here, the first intra-frame prediction mode information includes at least one of a first cross-component linear model mode flag (CCLM mode flag), a first cross-component linear model mode index (CCLM mode index), and a first chroma intra-frame prediction mode indicator, and the second intra-frame prediction mode information includes at least one of a second CCLM mode flag, a second CCLM mode index, and a second chroma intra-frame prediction mode indicator. The first CCLM mode index indicates a preset CCLM mode candidate, and the first chroma intra-frame prediction mode indicator indicates a preset intra-frame prediction mode candidate.

[0015] Another aspect of the present invention provides a method performed by a video encoding device for encoding an intra-frame prediction mode of a current chroma block. The method includes: determining first intra-frame prediction mode information for a first chroma channel of the current chroma block. The method also includes: determining second intra-frame prediction mode information for a second chroma channel of the current chroma block. Here, the first intra-frame prediction mode information includes at least one of a first cross-component linear model mode flag (CCLM mode flag), a first cross-component linear model mode index (CCLM mode index), and a first chroma intra-frame prediction mode indicator, and the second intra-frame prediction mode information includes at least one of a second CCLM mode flag, a second CCLM mode index, and a second chroma intra-frame prediction mode indicator. The first CCLM mode index indicates a preset CCLM mode candidate, and the first chroma intra-frame prediction mode indicator indicates a preset intra-frame prediction mode candidate.

[0016] Another aspect of the present invention provides a computer-readable recording medium storing a bitstream generated by a video encoding method. The video encoding method includes: determining first intra-frame prediction mode information for a first chroma channel of a current chroma block. The video encoding method also includes: determining second intra-frame prediction mode information for a second chroma channel of the current chroma block. Here, the first intra-frame prediction mode information includes at least one of a first cross-component linear model mode flag (CCLM mode flag), a first cross-component linear model mode index (CCLM mode index), and a first chroma intra-frame prediction mode indicator, and the second intra-frame prediction mode information includes at least one of a second CCLM mode flag, a second CCLM mode index, and a second chroma intra-frame prediction mode indicator. The first CCLM mode index indicates a preset CCLM mode candidate, and the first chroma intra-frame prediction mode indicator indicates a preset intra-frame prediction mode candidate.

[0017]

Beneficial Effects

[0018] As described above, the present disclosure provides a video encoding method and apparatus, which encodes / decodes a component-specific prediction mode adapted to each of the video features of the Cb channel and the Cr channel chrominance components in intra-frame prediction of the current chrominance block, thereby improving the video encoding efficiency and enhancing the video quality. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] Figure 1 is a block diagram of a video encoding device that may implement the techniques of this disclosure.

[0020] Figure 2 A method for partitioning blocks using a quadtree plus binary tree ternary tree (QTBTTT) structure is shown.

[0021] 3A and 3B illustrate a plurality of intra prediction modes including a wide-angle intra prediction mode.

[0022] Figure 4 Neighboring blocks of the current block are shown.

[0023] Figure 5 is a block diagram of a video decoding device that may implement the techniques of this disclosure.

[0024] Figure 6 is a diagram showing a case where a derivation mode (DM) is applied to a corresponding luminance block.

[0025] Figure 7 is a diagram illustrating the use of DM and Chroma Derivation Mode (CDM) techniques in accordance with at least one embodiment of the present disclosure.

[0026] Figure 8 is a diagram illustrating the structure of a chrominance Most Probable Pattern Set (MPMS) according to at least one embodiment of the present invention. DETAILED DESCRIPTION

[0027] Hereinafter, some embodiments of the present disclosure are described in detail with reference to the accompanying drawings. In the following description, the same reference numerals represent the same elements, although the elements are shown in different drawings. In addition, in the following description of some embodiments, for the purpose of clarity and brevity, detailed descriptions of related known parts and functions may be omitted when it is considered to obscure the subject matter of the present disclosure.

[0028] Figure 1 is a block diagram of a video encoding device that can implement the technology of the present disclosure. Figure 1 A diagram of a video encoding apparatus and components of the apparatus is described.

[0029] The encoding device may include a picture divider 110, a predictor 120, a subtractor 130, a transformer 140, a quantizer 145, a rearrangement unit 150, an entropy encoder 155, an inverse quantizer 160, an inverse transformer 165, an adder 170, a loop filter unit 180 and a memory 190.

[0030] Each component of the encoding device can be implemented as hardware or software or as a combination of hardware and software. In addition, the function of each component can be implemented as software, and a microprocessor can also be implemented to execute the function of the software corresponding to each component.

[0031] A video is composed of one or more sequences including multiple pictures. Each picture is divided into multiple regions, and encoding is performed on each region. For example, a picture is divided into one or more tiles or / and slices. Here, one or more tiles can be defined as a tile group. Each tile or / and slice is divided into one or more coding tree units (CTUs). In addition, each CTU is divided into one or more coding units (CUs) through a tree structure. The information to be applied to each coding unit (CU) is encoded as the syntax of the CU, and the information to be applied to the CU included in a CTU is encoded as the syntax of the CTU. In addition, the information commonly applied to all blocks in a slice is encoded as the syntax of the slice header, and the information applied to all blocks constituting one or more pictures is encoded as a picture parameter set (PPS) or a picture header. In addition, the information commonly referenced by multiple pictures is encoded into a sequence parameter set (SPS). In addition, the information commonly referenced by one or more SPSs is encoded into a video parameter set (VPS). In addition, the information commonly applied to a tile or tile group can also be encoded as the syntax of a tile or tile group header. The syntax included in an SPS, a PPS, a slice header, a tile, or a tile group header may be referred to as a high-level syntax.

[0032] The picture partitioner 110 determines the size of a coding tree unit (CTU). Information on the size of the CTU (CTU size) is encoded as a syntax of an SPS or a PPS and delivered to a video decoding device.

[0033] The picture divider 110 divides each picture constituting a video into a plurality of coding tree units (CTUs) having a predetermined size, and then recursively divides the CTUs by using a tree structure. A leaf node in the tree structure becomes a coding unit (CU), which is a basic unit of encoding.

[0034] The tree structure can be a quadtree (QT), in which a higher node (or parent node) is split into four lower nodes (or child nodes) of the same size. The tree structure can also be a binary tree (BT), in which a higher node is split into two lower nodes. The tree structure can also be a ternary tree (TT), in which a higher node is split into three lower nodes at a ratio of 1:2:1. The tree structure can also be a structure that mixes two or more structures among the QT structure, the BT structure, and the TT structure. For example, a quadtree plus a binary tree (QTBT) structure can be used or a quadtree plus a binary tree ternary tree (QTBTTT) structure can be used. Here, a binary tree ternary tree (BTTT) is added to the tree structure to be referred to as a multi-type tree (MTT).

[0035] Figure 2 is a diagram for describing a method of partitioning a block by using a QTBTTT structure.

[0036] like Figure 2 As shown in , the CTU can first be split into a QT structure. The quadtree splitting can be recursive until the size of the split block reaches the minimum block size (MinQTSize) of the leaf node allowed in QT. The first flag (QT_split_flag) indicating whether each node of the QT structure is split into four nodes of the lower layer is encoded by the entropy encoder 155 and sent to the video decoding device as a signal. When the leaf node of QT is not larger than the maximum block size (MaxBTSize) of the root node allowed in BT, the leaf node can be further split into at least one of the BT structure and the TT structure. There may be multiple splitting directions in the BT structure and / or the TT structure. For example, there may be two directions, namely, the direction in which the blocks of the corresponding nodes are split horizontally and the direction in which the blocks of the corresponding nodes are split vertically. As Figure 2 As shown, when MTT splitting starts, a second flag (mtt_split_flag) indicating whether the node is split and a flag indicating the split direction (vertical or horizontal) and / or a flag indicating the split type (binary or ternary) if the node is split are encoded by the entropy encoder 155 and sent to the video decoding device as a signal.

[0037] Optionally, before encoding the first flag (QT_split_flag) indicating whether each node is split into four nodes of the lower layer, a CU split flag (split_cu_flag) indicating whether the node is split may also be encoded. When the value of the CU split flag (split_cu_flag) indicates that each node is not split, the block of the corresponding node becomes a leaf node in the split tree structure and becomes a CU as a basic unit of encoding. When the value of the CU split flag (split_cu_flag) indicates that each node is split, the video encoding device first starts encoding the first flag through the above scheme.

[0038] When QTBT is used as another example of a tree structure, there may be two types, namely, a type in which the block of the corresponding node is horizontally split into two blocks of the same size (i.e., symmetrical horizontal splitting) and a type in which the block of the corresponding node is vertically split into two blocks of the same size (i.e., symmetrical vertical splitting). A split flag (split_flag) indicating whether each node of the BT structure is split into blocks of the lower layer and split type information indicating the split type are encoded by the entropy encoder 155 and delivered to the video decoding device. At the same time, a type in which the block of the corresponding node is split into two blocks that are asymmetric to each other may be presented additionally. The asymmetric form may include a form in which the block of the corresponding node is split into two rectangular blocks having a size ratio of 1:3, or may also include a form in which the block of the corresponding node is split in a diagonal direction.

[0039] A CU may have different sizes depending on the QTBT or QTBTTT partition from a CTU. Hereinafter, a block corresponding to a CU to be encoded or decoded (i.e., a leaf node of a QTBTTT) is referred to as a "current block". Due to the adoption of QTBTTT partitioning, the shape of the current block may be a rectangular shape in addition to a square shape.

[0040] The predictor 120 predicts the current block to generate a predicted block. The predictor 120 includes an intra predictor 122 and an inter predictor 124.

[0041] In general, each current block in a picture is predictably encoded. Typically, the prediction of the current block can be performed using intra-prediction techniques (using data from the picture including the current block) or inter-prediction techniques (using data from pictures encoded before the picture including the current block). Inter-prediction includes both unidirectional prediction and bidirectional prediction.

[0042] The intra-frame predictor 122 predicts the pixels in the current block by using the pixels (reference pixels) located on the neighbors of the current block in the current picture including the current block. According to the prediction direction, there are multiple intra-frame prediction modes. For example, as shown in FIG. 3A, the multiple intra-frame prediction modes may include 2 non-directional modes including a plane mode and a DC mode, and may include 65 directional modes. The neighboring pixels and the operation equations to be used are defined differently according to each prediction mode.

[0043] In order to perform effective directional prediction for the current block having a rectangular shape, a directional mode (#67 to #80, intra prediction mode #-1 to #-14) as shown by the dotted arrows in FIG. 3B may be additionally used. The directional mode may be referred to as a "wide-angle intra prediction mode". In FIG. 3B, the arrow indicates the corresponding reference sample used for prediction and does not indicate the prediction direction. The prediction direction is opposite to the direction indicated by the arrow. When the current block has a rectangular shape, the wide-angle intra prediction mode is a mode in which prediction is performed in a direction opposite to a specific directional mode without additional bit transmission. In this case, in the wide-angle intra prediction mode, some wide-angle intra prediction modes that can be used for the current block may be determined by the ratio of the width and height of the current block having a rectangular shape. For example, when the current block has a rectangular shape with a height less than the width, a wide-angle intra prediction mode (intra prediction mode #67 to #80) with an angle less than 45 degrees is available. When the current block has a rectangular shape with a width greater than the height, a wide-angle intra prediction mode with an angle greater than -135 degrees may be used.

[0044] The intra-frame predictor 122 may determine an intra-frame prediction to be used for encoding the current block. In some examples, the intra-frame predictor 122 may encode the current block by using multiple intra-frame prediction modes, and may also select an appropriate intra-frame prediction mode to be used from a test mode. For example, the intra-frame predictor 122 may calculate a rate-distortion value by using a rate-distortion analysis for multiple tested intra-frame prediction modes, and may also select an intra-frame prediction mode with the best rate-distortion characteristics in the test mode.

[0045] The intra-frame predictor 122 selects an intra-frame prediction mode among a plurality of intra-frame prediction modes and predicts the current block by using neighboring pixels (reference pixels) and an operation equation determined according to the selected intra-frame prediction mode. Information about the selected intra-frame prediction mode is encoded by the entropy encoder 155 and delivered to the video decoding device.

[0046] The inter-frame predictor 124 generates a prediction block for the current block by using a motion compensation process. The inter-frame predictor 124 searches for a block most similar to the current block in a reference picture that is encoded and decoded earlier than the current picture, and generates a prediction block for the current block by using the searched block. In addition, a motion vector (MV) is generated, which corresponds to the displacement between the current block in the current picture and the prediction block in the reference picture. Typically, motion estimation is performed on the luminance component, and the motion vector calculated based on the luminance component is used for both the luminance component and the chrominance component. Motion information including information about the reference picture and information about the motion vector for predicting the current block is encoded by the entropy encoder 155 and delivered to the video decoding device.

[0047] The inter-frame predictor 124 may also perform interpolation on a reference picture or a reference block in order to increase the accuracy of the prediction. In other words, the sub-sampling between two consecutive integer samples is interpolated by applying the filter coefficient to a plurality of consecutive integer samples including two integer samples. When performing a process of searching for a block most similar to the current block for an interpolated reference picture, decimal unit precision may be expressed for a motion vector instead of integer sample unit precision. The precision or resolution of the motion vector may be set differently for each target region to be encoded (e.g., units such as slices, tiles, CTUs, CUs, etc.). When this adaptive motion vector resolution (AMVR) is applied, information about the motion vector resolution to be applied to each target region should be signaled for each target region. For example, when the target region is a CU, information about the motion vector resolution applied to each CU is signaled. The information about the motion vector resolution may be information representing the precision of the motion vector difference to be described below.

[0048] Meanwhile, the inter-frame predictor 124 may perform inter-frame prediction by using bidirectional prediction. In the case of bidirectional prediction, two reference pictures and two motion vectors representing the block position most similar to the current block in each reference picture are used. The inter-frame predictor 124 selects a first reference picture and a second reference picture from a reference picture list 0 (RefPicList0) and a reference picture list 1 (RefPicList1), respectively. The inter-frame predictor 124 also searches for a block most similar to the current block in the corresponding reference picture to generate a first reference block and a second reference block. In addition, a prediction block of the current block is generated by averaging or weighted averaging the first reference block and the second reference block. In addition, motion information including information about two reference pictures for predicting the current block and including information about two motion vectors is delivered to the entropy encoder 155. Here, the reference picture list 0 may be composed of pictures before the current picture in the display order among the pre-reconstructed pictures, and the reference picture list 1 may be composed of pictures after the current picture in the display order among the pre-reconstructed pictures. However, although not particularly limited thereto, a pre-reconstructed picture after the current picture in the display order may be additionally included in the reference picture list 0. Conversely, a pre-reconstructed picture before the current picture may also be additionally included in the reference picture list 1.

[0049] In order to minimize the number of bits consumed for encoding motion information, various methods may be used.

[0050] For example, when the reference picture and motion vector of the current block are the same as those of the neighboring block, information capable of identifying the neighboring block is encoded to deliver the motion information of the current block to the video decoding device. This method is called merge mode.

[0051] In the merge mode, the inter predictor 124 selects a predetermined number of merge candidate blocks (hereinafter, referred to as 'merge candidates') from neighboring blocks of the current block.

[0052] As in Figure 4 As shown in , all or some of the left block A0, the lower left block A1, the upper block B0, the upper right block B1, and the upper left block B2 adjacent to the current block in the current picture can be used as neighboring blocks for deriving merge candidates. Further, blocks other than the current picture where the current block is located, which are located in a reference picture (which may be the same as or different from the reference picture used to predict the current block), can also be used as merge candidates. For example, a block co-located with the current block or a block adjacent to a block co-located with the current block in the reference picture can be used as a merge candidate in addition. If the number of merge candidates selected by the method described above is less than the preset number, a zero vector is added to the merge candidate.

[0053] The inter-frame predictor 124 configures a merge list including a predetermined number of merge candidates by using neighboring blocks. A merge candidate to be used as motion information of the current block is selected from the merge candidates included in the merge list, and merge index information for identifying the selected candidate is generated. The generated merge index information is encoded by the entropy encoder 155 and delivered to the video decoding device.

[0054] Merge skip mode is a special case of merge mode. After quantization, when all transform coefficients for entropy coding are close to zero, only neighbor block selection information is transmitted without residual signal. By using merge skip mode, relatively high coding efficiency can be achieved for images with slight motion, still images, screen content images, etc.

[0055] Hereinafter, the merge mode and the merge skip mode are collectively referred to as the merge / skip mode.

[0056] Another method for encoding motion information is the Advanced Motion Vector Prediction (AMVP) mode.

[0057] In the AMVP mode, the inter-frame predictor 124 derives a motion vector predictor candidate for a motion vector of the current block by using a neighboring block of the current block. As a neighboring block for deriving a motion vector predictor candidate, the neighboring block Figure 4All or some of the left block A0, lower left block A1, upper block B0, upper right block B1, and upper left block B2 adjacent to the current block in the current picture shown in . In addition, blocks other than the current picture where the current block is located, which are located within a reference picture (which may be the same as or different from the reference picture used to predict the current block), may also be used as neighboring blocks for deriving motion vector predictor candidates. For example, blocks co-located with the current block within the reference picture or blocks adjacent to the co-located blocks may be used. If the number of motion vector candidates selected by the above method is less than the preset number, a zero vector is added to the motion vector candidates.

[0058] The inter predictor 124 derives a motion vector predictor candidate by using the motion vector of the neighboring block, and determines a motion vector predictor for the motion vector of the current block by using the motion vector predictor candidate. In addition, a motion vector difference is calculated by subtracting the motion vector predictor from the motion vector of the current block.

[0059] The motion vector predictor can be obtained by applying a predefined function (e.g., center value and average value calculation, etc.) to the motion vector predictor candidate. In this case, the video decoding device also knows the predefined function. In addition, since the neighboring blocks used to derive the motion vector predictor candidate are blocks that have completed encoding and decoding, the video decoding device may also already know the motion vectors of the neighboring blocks. Therefore, the video encoding device does not need to encode the information for identifying the motion vector predictor candidate. Thus, in this case, information about the motion vector difference and information about the reference picture used to predict the current block are encoded.

[0060] Meanwhile, the motion vector predictor may also be determined by selecting any one of the motion vector predictor candidates. In this case, information for identifying the selected motion vector predictor candidate is additionally encoded jointly with information about the motion vector difference and information about the reference picture used to predict the current block.

[0061] The subtractor 130 generates a residual block by subtracting a prediction block generated by the intra predictor 122 or the inter predictor 124 from the current block.

[0062] The transformer 140 converts the residual signal in the residual block having the pixel value in the spatial domain into a transform coefficient in the frequency domain. The transformer 140 may transform the residual signal in the residual block by using the total size of the residual block as a transform unit, or may further divide the residual block into a plurality of sub-blocks, and may perform the transform by using the sub-block as a transform unit. Optionally, the residual block is split into two sub-blocks, namely a transform region and a non-transform region, so as to transform the residual signal using only the transform region sub-block as a transform unit. Here, the transform region sub-block may be one of two rectangular blocks having a size ratio of 1:1 based on the horizontal axis (or vertical axis). In this case, the flag (cu_sbt_flag) indicates that only the sub-block is transformed, and the directional (vertical / horizontal) information (cu_sbt_horizontal_flag) and / or the position information (cu_sbt_pos_flag) are encoded by the entropy encoder 155 and sent to the video decoding device by a signal. In addition, the size of the transform region sub-block may have a size ratio of 1:3 based on the horizontal axis (or vertical axis). In this case, a flag (cu_sbt_quad_flag) for separating the corresponding partitions is additionally encoded by the entropy encoder 155 and signaled to the video decoding apparatus.

[0063] Meanwhile, the transformer 140 may perform transformation on the residual block separately in the horizontal direction and the vertical direction. For the transformation, different types of transformation functions or transformation matrices may be used. For example, a pair of transformation functions for horizontal transformation and vertical transformation may be defined as a multiple transformation set (MTS). The transformer 140 may select a transformation function pair having the highest transformation efficiency in the MTS, and may transform the residual block in each of the horizontal and vertical directions. Information (mts_idx) of the transformation function pair in the MTS is encoded by the entropy encoder 155 and sent to the video decoding device as a signal.

[0064] The quantizer 145 quantizes the transform coefficients output from the transformer 140 using the quantization parameters and outputs the quantized transform coefficients to the entropy encoder 155. The quantizer 145 can also immediately quantize the relevant residual block without the need for transforming any block or frame. The quantizer 145 can also apply different quantization coefficients (scaling values) according to the position of the transform coefficient in the transform block. The quantization matrix applied to the quantized transform coefficients arranged in 2 dimensions can be encoded and sent to the video decoding device as a signal.

[0065] The rearrangement unit 150 may perform rearrangement with respect to coefficient values ​​of the quantized residual values.

[0066] The rearrangement unit 150 may change the 2D coefficient array into a 1D coefficient sequence by using coefficient scanning. For example, the rearrangement unit 150 may output a 1D coefficient sequence by scanning the DC coefficient into a high frequency domain coefficient using a zigzag scan or a diagonal scan. Depending on the size of the transform unit and the intra prediction mode, a vertical scan that scans the 2D coefficient array in the column direction and a horizontal scan that scans the 2D block type coefficients in the row direction may also be used instead of the zigzag scan. In other words, depending on the size of the transform unit and the intra prediction mode, the scanning method to be used may be determined among zigzag scanning, diagonal scanning, vertical scanning, and horizontal scanning.

[0067] The entropy encoder 155 generates a bit stream by encoding the sequence of 1D quantized transform coefficients output from the rearrangement unit 150 using various encoding schemes including context-based adaptive binary arithmetic coding (CABAC), Exponential Golomb, and the like.

[0068] In addition, the entropy encoder 155 encodes information related to block segmentation (such as CTU size, CTU segmentation mark, QT segmentation mark, MTT segmentation type, MTT segmentation direction, etc.) to allow the video decoding device to equally segment the block to the video encoding device. In addition, the entropy encoder 155 encodes information about the prediction type indicating whether the current block is encoded by intra-frame prediction or inter-frame prediction. The entropy encoder 155 encodes intra-frame prediction information (i.e., information about intra-frame prediction mode) or inter-frame prediction information (in the case of merge mode, merge index, and in the case of AMVP mode, information about reference picture index and motion vector difference) according to the prediction type. In addition, the entropy encoder 155 encodes information related to quantization (i.e., information about quantization parameters and information about quantization matrices).

[0069] The inverse quantizer 160 dequantizes the quantized transform coefficient output from the quantizer 145 to generate a transform coefficient. The inverse transformer 165 transforms the transform coefficient output from the inverse quantizer 160 from the frequency domain to the spatial domain to reconstruct a residual block.

[0070] The adder 170 reconstructs the current block by adding the reconstructed residual block and the prediction block generated by the predictor 120. When intra-prediction is performed on the next sequential block, pixels in the reconstructed current block may be used as reference pixels.

[0071] The loop filter unit 180 performs filtering on the reconstructed pixels in order to reduce block artifacts, ringing artifacts, blur artifacts, etc. that occur due to block-based prediction and transform / quantization. The loop filter unit 180 as a loop filter may include all or part of a deblocking filter 182, a sample adaptive offset (SAO) filter 184, and an adaptive loop filter (ALF) 186.

[0072] The deblocking filter 182 filters the boundaries between the reconstructed blocks to remove the blocking artifacts that occur due to block unit encoding / decoding, and the SAO filter 184 and the ALF 186 perform additional filtering for the deblocking filtered video. The SAO filter 184 and the ALF 186 are filters for compensating for the difference between the reconstructed pixels and the original pixels, which occurs due to lossy encoding. The SAO filter 184 applies an offset as a CTU unit to enhance subjective image quality and coding efficiency. On the other hand, the ALF 186 performs block unit filtering and applies different filters to compensate for distortion by splitting the boundaries of the corresponding blocks and the degree of change. Information about the filter coefficients to be used for the ALF can be encoded and sent to the video decoding device as a signal.

[0073] The reconstructed blocks filtered by the deblocking filter 182, the SAO filter 184, and the ALF 186 are stored in the memory 190. When all blocks in one picture are reconstructed, the reconstructed picture can be used as a reference picture for inter-frame prediction of blocks in a picture to be encoded later.

[0074] Figure 5 is a functional block diagram of a video decoding device that can implement the technology of the present disclosure. Figure 5 , describing a video decoding apparatus and components of the apparatus.

[0075] The video decoding device may include an entropy decoder 510 , a rearrangement unit 515 , an inverse quantizer 520 , an inverse transformer 530 , a predictor 540 , an adder 550 , a loop filter unit 560 , and a memory 570 .

[0076] and Figure 1 Similar to the video encoding device of the present invention, each component of the video decoding device can be implemented as hardware or software or as a combination of hardware and software. In addition, the function of each component can be implemented as software, and a microprocessor can also be implemented to execute the function of the software corresponding to each component.

[0077] The entropy decoder 510 extracts information related to block partitioning by decoding a bit stream generated by a video encoding apparatus to determine a current block to be decoded, and extracts prediction information required to reconstruct the current block and information about a residual signal.

[0078] The entropy decoder 510 determines the size of the CTU by extracting information about the CTU size from a sequence parameter set (SPS) or a picture parameter set (PPS), and partitions the picture into CTUs of the determined size. In addition, the CTU is determined to be the highest level of the tree structure, i.e., the root node, and partition information of the CTU can be extracted to partition the CTU by using the tree structure.

[0079] For example, when a CTU is segmented using a QTBTTT structure, a first flag (QT_split_flag) associated with the segmentation of the QT is first extracted to segment each node into four nodes of the lower layer. In addition, for a node corresponding to a leaf node of the QT, a second flag (mtt_split_flag) associated with the segmentation of the MTT, a segmentation direction (vertical / horizontal) and / or a segmentation type (binary / ternary) are extracted to segment the corresponding leaf node into the MTT structure. As a result, each node below the leaf node of the QT is recursively segmented into a BT or TT structure.

[0080] As another example, when a CTU is segmented by using a QTBTTT structure, a CU segmentation flag (split_cu_flag) indicating whether the CU is segmented is extracted. When the corresponding block is segmented, a first flag (QT_split_flag) may also be extracted. During the segmentation process, for each node, 0 or more recursive MTT segmentations may occur after 0 or more recursive QT segmentations. For example, for a CTU, MTT segmentation may occur immediately, or conversely, only multiple QT segmentations may occur.

[0081] For another example, when the CTU is segmented using the QTBT structure, the first flag (QT_split_flag) related to the segmentation of the QT is extracted to segment each node into four nodes of the lower layer. In addition, the segmentation flag (split_flag) indicating whether the node corresponding to the leaf node of the QT is further segmented into BTs and the segmentation direction information are extracted.

[0082] Meanwhile, when the entropy decoder 510 determines the current block to be decoded by partitioning using a tree structure, the entropy decoder 510 extracts information about a prediction type indicating whether the current block is intra-predicted or inter-predicted. When the prediction type information indicates intra-prediction, the entropy decoder 510 extracts syntax elements of intra-prediction information (intra-prediction mode) for the current block. When the prediction type information indicates inter-prediction, the entropy decoder 510 extracts information representing syntax elements for inter-prediction information (i.e., motion vectors and reference pictures referenced by motion vectors).

[0083] Furthermore, the entropy decoder 510 extracts quantization-related information and extracts information on a quantized transform coefficient of the current block as information on a residual signal.

[0084] The rearrangement unit 515 may change the sequence of 1D quantized transform coefficients entropy-decoded by the entropy decoder 510 into a 2D coefficient array (ie, block) again in the reverse order of the coefficient scanning order performed by the video encoding device.

[0085] The inverse quantizer 520 dequantizes the quantized transform coefficients and dequantizes the quantized transform coefficients by using quantization parameters. The inverse quantizer 520 may also apply different quantization coefficients (scaling values) to the quantized transform coefficients arranged in 2D. The inverse quantizer 520 may perform dequantization by applying a matrix (scaling value) of quantization coefficients from a video encoding device to a 2D array of quantized transform coefficients.

[0086] The inverse transformer 530 generates a residual block for the current block by reconstructing a residual signal by inversely transforming the dequantized transform coefficients from the frequency domain into the spatial domain.

[0087] In addition, when the inverse transformer 530 inversely transforms a partial domain (sub-block) of the transform block, the inverse transformer 530 extracts a flag (cu_sbt_flag) that only the sub-block of the transform block is transformed, direction (vertical / horizontal) information (cu_sbt_horizontal_flag) of the sub-block, and / or position information (cu_sbt_pos_flag) of the sub-block. The inverse transformer 530 also inversely transforms the transform coefficient of the corresponding sub-block from the frequency domain to the spatial domain to reconstruct the residual signal and fills the region that is not inversely transformed with a value of "0" as the residual signal to generate a final residual block for the current block.

[0088] In addition, when MTS is applied, the inverse transformer 530 determines a transform index or a transform matrix applied in each of the horizontal and vertical directions by using MTS information (mts_idx) signaled from the video encoding device. The inverse transformer 530 also performs inverse transform on the transform coefficients in the transform block in the horizontal and vertical directions by using the determined transform function.

[0089] The predictor 540 may include an intra predictor 542 and an inter predictor 544. The intra predictor 542 is activated when the prediction type of the current block is intra prediction, and the inter predictor 544 is activated when the prediction type of the current block is inter prediction.

[0090] The intra predictor 542 determines an intra prediction mode of a current block among a plurality of intra prediction modes according to the syntax element of the intra prediction mode extracted from the entropy decoder 510. The intra predictor 542 also predicts the current block by using neighboring reference pixels of the current block according to the intra prediction mode.

[0091] The inter predictor 544 determines a motion vector of a current block and a reference picture to which the motion vector refers by using a syntax element for an inter prediction mode extracted from the entropy decoder 510 .

[0092] The adder 550 reconstructs the current block by adding the residual block output from the inverse transformer 530 and the prediction block output from the inter predictor 544 or the intra predictor 542. When intra prediction is performed on a block to be decoded later, pixels within the reconstructed current block are used as reference pixels.

[0093] The loop filter unit 560 as a loop filter may include a deblocking filter 562, an SAO filter 564, and an ALF 566. The deblocking filter 562 performs deblocking filtering on the boundary between the reconstructed blocks in order to remove the block effect that occurs due to block unit decoding. The SAO filter 564 and the ALF 566 perform additional filtering on the reconstructed blocks after deblocking filtering in order to compensate for the difference between the reconstructed pixels and the original pixels that occurs due to lossy encoding. The filter coefficients of the ALF are determined by using information about the filter coefficients decoded from the bitstream.

[0094] The reconstructed blocks filtered by the deblocking filter 562, the SAO filter 564, and the ALF 566 are stored in the memory 570. When all blocks in one picture are reconstructed, the reconstructed picture can be used as a reference picture for inter-frame prediction of blocks in a picture to be encoded later.

[0095] In some embodiments, the present invention relates to encoding and decoding a video image as described above. More specifically, the present disclosure provides a video encoding method and apparatus, in which, in intra-frame prediction of a current chrominance block, a component-specific prediction mode adapted to each of the video features of the chrominance component of the Cb channel and the chrominance component of the Cr channel is encoded / decoded. In addition, some embodiments provide a video encoding method and apparatus for encoding / decoding a chrominance component-specific prediction mode.

[0096] The following embodiments may be performed by the intra predictor 122 in the video encoding apparatus. The following embodiments may also be performed by the intra predictor 542 in the video decoding apparatus.

[0097] The video encoding device in the prediction of the current block may generate signaling information associated with the present embodiment in terms of optimizing rate distortion. The video encoding device may encode the signaling information using the entropy encoder 155 and send the encoded signaling information to the video decoding device. The video decoding device may decode the signaling information associated with the prediction of the current block from the bitstream using the entropy decoder 510.

[0098] In the following description, the term 'target block' may be used interchangeably with a current block or a coding unit (CU), or may refer to a certain region of a coding unit.

[0099] In addition, a value of a flag is true indicating when the flag is set to 1. In addition, a value of a flag is false indicating when the flag is set to 0.

[0100] I. Intra-frame prediction of chrominance channels

[0101] In VVC (Versatile Video Coding) technology, the intra prediction mode of the luma block has 65 subdivided angular modes (i.e., 2 to 66) in addition to non-angular modes (i.e., planar and DC), as shown in FIG3A . The 65 angular modes, planar mode, and DC are collectively referred to as 67 IPMs.

[0102] Depending on the prediction direction utilized by the luma block, the chroma block may also have limited access to these subdivided angular modes for intra prediction. However, the intra prediction of the chroma block may not always utilize the different angular modes available to the luma block in addition to the horizontal and vertical directions. In order to be able to use these various angular modes, the prediction mode of the current chroma block needs to be set to the derived mode (DM). By setting the prediction mode to DM, the current chroma block can utilize other angular modes of the luma block in addition to the horizontal and vertical modes.

[0103] When encoding a chroma block, the most commonly used or default intra prediction modes to maintain image quality include planar, DC, vertical, horizontal, and DM. In DM, the intra prediction mode of the luma block spatially corresponding to the current chroma block is used as the intra prediction mode of the chroma block.

[0104] The video encoding device may signal whether the intra-frame prediction mode of the chroma block is DM to the video decoding device. In doing so, the video encoding device may transmit DM to the video decoding device in any number of ways. For example, the video encoding device may indicate whether the intra-frame prediction mode of the chroma block is DM by setting intra_chroma_pred_mode, which is information for indicating the intra-frame prediction mode of the chroma block, to a specific value and sending intra_chroma_pred_mode to the video decoding device.

[0105] If the chroma block is encoded in the intra prediction mode, the video encoding apparatus may set the intra prediction mode IntraPredModeC of the chroma block according to Table 1.

[0106] Hereinafter, in order to distinguish IntraPredModeC from intra_chroma_pred_mode which is information about an intra prediction mode of a chroma block, they are respectively expressed as a chroma intra prediction mode and a chroma intra prediction mode indicator.

[0107]

Table 1

[0108]

[0109] Here, lumaIntraPredMode is an intra prediction mode of a luma block corresponding to a current chroma block (hereinafter, "luma intra prediction mode"). IntraPredModeC is a chroma intra prediction mode of a current chroma block. Intra prediction mode C is defined at spatial coordinates [xCb][yCb] of the current chroma block. Because the prior art uses the same intra prediction mode for Cb and Cr components constituting a chroma block, the spatial coordinates of the chroma block indicate only the coordinates of a Cb block representing Cb and Cr blocks.

[0110] lumaIntraPredMode indicates one of the prediction modes shown in FIG3A. For example, in Table 1, lumaIntraPredMode=0 indicates a planar prediction mode, and lumaIntraPredMode=1 indicates a DC prediction mode. The cases of lumaIntraPredMode=18, 50, and 66 indicate angular modes, referred to as horizontal, vertical, and VDIA, respectively.

[0111] Meanwhile, Table 2 shows a process of resolving an intra prediction mode of a chroma block performed by a video decoding apparatus.

[0112]

Table 2

[0113]

[0114] The video decoding device parses Cclm_mode_flag indicating whether to use the cross-component linear model mode (CCLM mode). If ccm_mode_flag is 1 to enable the CCLM mode, the video decoding device parses ccm_mode_idx, which indicates the CCLM mode. At this time, according to the value of ccm_mode_idx, the CCLM mode can be one of the three modes of CCLM_LT, CCLM_L and CCLM_T. In addition, ccm_mode_idx can be parsed according to Table 3.

[0115]

Table 3

[0116] Value of cclm_mode_idx Binary String 0(CCLM_LT) 10 1(CCLM_L) 110 2(CCLM_T) 111

[0117] In the binary string in Table 3, the leading 1 indicates cclim_mode_flag=1.

[0118] On the other hand, if ccm_mode_flag is 0, indicating that the CCLM mode is not used, the video decoding apparatus parses intra_chroma_pred_mode indicating the intra prediction mode according to Table 4.

[0119]

Table 4

[0120] Value of intra_chroma_pred_mode Binary String 0 0100 1 0101 2 0110 3 0111 4 00

[0121] In the binary string of Table 4, the leading 0 indicates CCLM_MODE_FLAG=0.

[0122] The video decoding apparatus determines IntraPredModeC according to Table 1 by referring to intra_chroma_pred_mode and lumaIntraPredMode. The cases of intra_chroma_pred_mode=0, 1, 2, and 3 indicate planar, vertical, horizontal, and DC prediction modes, respectively. The case of intra_chroma_pred_mode=4 is DM (derivation mode), in which the value of IntraPredModeC (chroma intra prediction mode) is set equal to the value of lumaIntraPredMode.

[0123] In the prior art, the same intra-frame prediction mode is used for the two channels that constitute the chrominance block, that is, the Cb channel and the Cr channel. However, because there may be a situation where the images of the Cb channel and the Cr channel are different, the methods of the prior art are not always optimal. This means that the optimal intra-frame prediction mode for each of the Cb channel and the Cr channel may be the same or different depending on the image. In order to solve this prior art problem, a method is needed to adaptively set the optimal intra-frame prediction mode for each of the Cb channel and the Cr channel to video features and effectively transmit the set information. According to the present disclosure, in order to increase coding efficiency, the intra-frame prediction mode can be adaptively encoded and adaptively decoded differently and efficiently for each of the Cb and Cr channels to reflect the different characteristics of the Cb and Cr videos. The preferred embodiments of the present disclosure are described below.

[0124] Hereinafter, the Cb channel and the Cr channel are referred to as the first chrominance channel and the second chrominance channel, respectively. Alternatively, the Cb channel and the Cr channel may be referred to as the second chrominance channel and the first chrominance channel, respectively.

[0125] Although the embodiments are described below centering on a video decoding apparatus, they are similarly applicable to a video encoding apparatus.

[0126] II. Implementations according to the present disclosure

[0127] <Implementation 1> Encoding the prediction mode of each chrominance channel by signaling flag

[0128] In this embodiment, the video decoding apparatus may use a separate prediction mode for each chroma channel by parsing chroma_shared_intra_mode_flag as shown in Table 5.

[0129]

Table 5

[0130]

[0131] Here, chroma_shared_intra_mode_flag indicates whether the Cb and Cr channels share the same intra prediction mode. Hereinafter, chroma_shared_intra_mode_flag is referred to as a chroma prediction mode sharing flag. In Table 5, if chroma_shared_intra_mode_flag is false=, the video decoding apparatus parses syntax elements of the Cb channel and the Cr channel in parallel.

[0132] The video decoding device may also parse chroma_shared_intra_mode_flag as shown in Table 6 to implement a separate prediction mode for each chroma channel. In Table 6, if chroma_shared_intra_mode_flag is false, the video decoding device parses syntax elements of the Cb channel and then parses syntax elements of the Cr channel.

[0133]

Table 6

[0134]

[0135]

[0136] If chroma_shared_intra_mode_flag is 1, the two chroma channels share the same value of the prediction mode. Therefore, the video decoding apparatus decodes the intra prediction mode of only one chroma channel and then shares the decoded intra prediction mode with the other chroma channel. On the other hand, if chroma_shared_intra_mode_flag is 0, the two chroma channels do not share the intra prediction mode, indicating that the intra prediction modes of the two chroma channels are different. Therefore, the video decoding apparatus decodes the prediction modes of the two channels separately.

[0137] On the other hand, when chroma_shared_intra_mode_flag is 0, to decode the prediction modes of the two chroma channels separately, the video decoding device may decode at least one of the syntax elements of ccm_mode_flag, ccm_mode_idx, and intra_chroma_pred_mode of the chroma channels based on each channel. For each chroma channel, ccm_mode_flag may be individually set to cb_cclm_mode_flag and cr_cclm_mode_flag, and ccm_mode_idx may be individually set to cb_cclm_mode_idx and cr_cclm_mode_idx. In addition, intra_chroma_pred_mode may be individually set to cb_intra_chroma_pred_mode and cr_intra_chroma_pred_mode.

[0138] As described above, when chroma_shared_intra_mode_flag is 1, the two chroma channels share the same value of the prediction mode. Therefore, only the intra prediction mode information corresponding to one of the Cb and Cr channels is encoded, and the encoded information can be shared as the intra prediction mode information for the other channel. Now, the case where the intra prediction mode is shared by two chroma channels is described, and ccm_mode_flag, ccm_mode_idx, and intra_chroma_pred_mode are encoded as the prediction mode information corresponding to the Cb channel. In this case, the video decoding device can be implemented as follows.

[0139]

[0140] On the other hand, if only the intra prediction mode information corresponding to the Cr channel is encoded, the video decoding apparatus may perform the above operation while switching the Cb channel and the Cr channel.

[0141] In the following, cclm_mode_flag is referred to as a CCLM mode flag, and cclm_mode_idx is referred to as a CCLM mode index. As described above, intra_chroma_pred_mode is referred to as a chroma intra prediction mode indicator. For the Cb channel, cb_cclm_mode_flag is named as a cb CCLM mode flag or a first CCLM mode flag, cb_cclm_mode_idx is named as a cb CCLM mode index or a first CCLM mode index, and cb_intra_chroma_pred_mode is named as a cb intra prediction mode indicator or a first chroma intra prediction mode indicator. In addition, for the Cr channel, cr_cclm_mode_flag is referred to as a cr CCLM mode flag or a second CCLM mode flag, cr_cclm_mode_idx is referred to as a cr CCLM mode index or a second CCLM mode index, and cr_intra_chroma_pred_mode is referred to as a cr intra prediction mode indicator or a second chroma intra prediction mode indicator. As described above, the terms "first" and "second" may be used interchangeably.

[0142] When chroma_shared_intra_mode_flag is 0, a more specific implementation of the method of decoding the prediction mode of two chroma channels is as follows.

[0143] <Implementation 1-1> Encoding the prediction mode of one chroma channel with reference to the prediction mode of another chroma channel

[0144] In this embodiment, the video decoding device decodes the prediction mode of another chroma channel (e.g., Cr channel) with reference to the prediction mode of one chroma channel (e.g., Cb channel). Hereinafter, for convenience, one chroma channel is defined as the Cb channel and another chroma channel is defined as the Cr channel, which does not limit the present disclosure. According to an embodiment, one chroma channel may be defined as the Cr channel and another chroma channel may be defined as the Cb channel.

[0145] The prediction mode of another channel, namely the Cr channel, can be one of the following modes: at least three CCLM modes of CCLM-LT, CCLM-L, CCLM-T, DM, and four default modes of DC, horizontal, and vertical. In addition, the selected prediction mode can be indicated by selectively using cr_cclm_mode_flag, cr_cclm_mode_idx, cr_intra_chroma_pred_mode, etc. For example, if the prediction mode of the Cr channel is one of the three CCLM modes, cr_cclm_mode_flag can have a value of 1, and cr_cclm_mode_idx can have a value of one of 0, 1, and 2. In addition, if the prediction mode of the Cr channel is not one of the CCLM modes, cr_cclm_mode_flag has a value of 0, and the value of cr_intra_chroma_pred_mode has a value of the intra-frame prediction mode corresponding to the Cr channel.

[0146] In order to further improve the coding efficiency, the values ​​of the set of cr_cclm_mode_flag, cr_cclm_mode_idx and cr_intra_chroma_pred_mode can be encoded with reference to the values ​​of cb_cclm_mode_flag, cb_cclm_mode_idx and cb_intra_chroma_pred_mode. For example, when chroma_shared_intra_mode_flag=0, it means that the Cb and Cr channels have different prediction modes. Implementation 1-1 can adaptively determine the method for encoding the prediction mode of the Cr channel based on the prediction mode of the Cb channel.

[0147] The following describes a method for adaptively decoding syntax elements associated with intra-frame prediction mode information of the Cr channel when (implementation 1-1-1) the prediction mode of the Cr channel is the CCLM mode and when (implementation 1-1-2) it is not the CCLM mode (i.e., DM and one of the four default modes).

[0148] <Implementation 1-1-1> When the prediction mode of the Cr channel is CCLM mode

[0149] In this embodiment, an efficient encoding (or decoding) method of cr_cclm_mode_idx is described.

[0150] As described above, according to the prior art, when the chroma channel is encoded in CCLM mode, the video encoding device sends a ccm_mode_flag indicating that it is encoded in one of the three CCLM modes, and further sends a ccm_mode_idx indicating one of the three CCLM modes. The CCLM prediction modes corresponding to ccm_mode_idx=0, 1, and 2 are CCLM_LT, CCLM_L, and CCLM_T modes in order. As shown in Table 3, each CCLM mode is binarized to a value of 0, 10, or 11, so the video encoding device finally entropy encodes the value of the binary string corresponding to ccm_mode_idx and sends the encoded binary string. In addition, the video decoding device parses ccm_mode_flag from the bitstream to determine whether the chroma channel is encoded in CCLM mode. If the chroma channel is encoded in CCLM mode, the video decoding device also parses ccm_mode_idx to determine whether the CCLM mode is CCLM_LT mode, CCLM_L mode, or CCLM_T mode.

[0151] However, in this embodiment, if chroma_shared_intra_mode_flag=0, the video decoding apparatus may adaptively decode the intra prediction mode information corresponding to the prediction mode of the Cr channel based on the prediction mode of the first decoded Cb channel as shown in Table 7. In other words, the video decoding apparatus may adaptively derive cr_cclm_mode_idx based on cb_cclm_mode_flag and cb_cclm_mode_idx.

[0152]

Table 7

[0153]

[0154] Here, the binary string for the value of cb_cclm_mode_idx may be set as in the prior art, as shown in Table 3.

[0155] The following example cb_cclm_mode_flag=1 describes the case where the prediction mode of the Cb channel is the CCLM mode. In order to adaptively set the decoding method of cr_cclm_mode_idx, this case uses the fact that the intra-frame prediction mode information of the Cb channel and the Cr channel is not shared based on the parsing performed on the value of chroma_shared_intra_mode_flag=0. After it is self-evidently inferred that the intra-frame prediction mode information of the Cr channel is not the same as the intra-frame prediction mode information of the Cb channel, the video decoding device can adaptively set the decoding method of cr_cclm_mode_idx corresponding to the prediction mode of the Cr channel according to the prediction mode of the Cb channel that has been decoded. Since chroma_shared_intra_mode_flag=0, it is obvious that the value of cr_cclm_mode_idx cannot be the same as the value of cb_cclm_mode_idx. Therefore, when decoding the cr_cclm_mode_idx value, the video decoding apparatus may reduce the number of candidates to be considered by eliminating the CCLM mode corresponding to the cb_cclm_mode_idx value, and may then decode the cr_cclm_mode_idx value using the reduced candidates.

[0156] A method for implementing the above is described in Table 7. The following example describes a case where chroma_shared_intra_mode_flag=0 and the prediction mode of the Cb channel is CCLM_LT, that is, cb_cclm_mode_flag=1 and cb_cclm_mode_idx=0. At this time, based on the fact that chroma_shared_intra_mode_flag=0, it goes without saying that if the prediction mode of the Cb channel is CCLM_LT, then the CCLM_LT mode is excluded for the Cr channel. Therefore, during encoding (or decoding), only the CCLM_L mode or the CCLM_T mode may be considered, while the CCLM_LT mode is excluded. For example, when decoding the CCLM mode of the Cr channel, if the prediction mode of the Cr channel is the CCLM_L mode, the video decoding device may parse cr_cclm_mode_idx as 0, as shown in Table 7. Alternatively, if the prediction mode of the Cr channel is the CCLM_T mode, cr_cclm_mode_idx may be parsed as 1.

[0157] Another example to be described is the case where chroma_shared_intra_mode_flag = 0 and the prediction mode of the Cb channel is not the CCLM mode, that is, when cb_cclm_mode_flag = 0. In this case, when the CCLM mode of the Cr channel is encoded (or decoded), for the CCLM_LT mode, cr_cclm_mode_idx may use a binary string of 0, for the CCLM_L mode, cr_cclm_mode_idx may use a binary string of 10, and for the CCLM_T mode, cr_cclm_mode_idx may use a binary string of 11. If chroma_shared_intra_mode_flag = 0 and the prediction mode of the Cb channel is not the CCLM mode, the binary string for cr_cclm_mode_idx may be set as in the prior art, as shown in Table 3.

[0158] <Implementation 1-1-2> When the prediction mode of the Cr channel is not CCLM mode

[0159] In this embodiment, an efficient encoding (or decoding) method of cr_intra_chroma_pred_mode is described.

[0160] As described above, according to the prior art, when the prediction mode of the chroma channel is not the CCLM mode, that is, when cclm_mode_flag=0, the intra prediction mode of the chroma channel is determined as one value according to the intra_chroma_pred_mode value in Table 4 and according to Table 1, and then, one value is used in common for the Cb and Cr channels. In this embodiment, when determining the values ​​of cb_intra_chroma_pred_mode and cr_intra_chroma_pred_mode, the video decoding device may determine the intra prediction mode of the Cb channel according to cb_intra_chroma_pred_mode instead of the intra_chroma_pred_mode value of Table 1. Similarly, instead of the intra_chroma_pred_mode value in Table 1, the intra prediction mode of the Cr channel may be determined according to cr_intra_chroma_pred_mode.

[0161] According to the present disclosure, it goes without saying that, based on chroma_shared_intra_mode_flag = 0, the cr_intra_chroma_pred_mode value cannot be the same as the cb_intra_chroma_pred_mode value. Therefore, when decoding the cr_intra_chroma_pred_mode value, the video decoding device can reduce the number of candidates to be considered by eliminating the prediction mode corresponding to the cb_intra_chroma_pred_mode value, and then can decode the cr_intra_chroma_pred_mode using the reduced candidates.

[0162] As one method for implementing the above, as shown in Table 8, a binary string for the value of cr_intra_chroma_pred_mode may be differently set according to the prediction mode of the Cb channel, that is, the values ​​of cb_cclm_mode_flag and cb_intra_chroma_pred_mode.

[0163]

Table 8

[0164]

[0165]

[0166] Here, the binary string of the cb_intra_chroma_pred_mode value may be set as in the prior art, as shown in Table 4.

[0167] The following example describes the case of chroma_shared_intra_mode_flag=0, cb_cclm_mode_flag=0, and cb_intra_chroma_pred_mode=4, that is, when the prediction mode of the Cb channel is DM. If cr_intra_chroma_pred_mode has a value of 0, that is, when the prediction mode of the Cr channel is planar, the video decoding apparatus may parse cr_intra_chroma_pred_mode as 00 according to Table 8.

[0168] <Implementation 1-2> Encoding the prediction modes of the two chrominance channels separately

[0169] In this embodiment, the video decoding device decodes the prediction mode of the Cr channel alone without referring to the prediction mode of the Cb channel. For example, consistent with the prior art in Tables 3 and 4, the video decoding device may decode the Cb channel and the Cr channel separately. The following example describes a case where the prediction mode of the Cb channel is the CCLM_LT mode and the prediction mode of the Cr channel is the CCLM_T mode. In this case, chroma_shared_intra_mode_flag=0, cb_cclm_mode_flag=1, cb_cclm_mode_idx=0, cr_cclm_mode_flag=1, and cr_cclm_mode_idx=2, and the value of cb_cclm_mode_idx can be decoded as 0 and cr_cclm_mode_idx can be decoded as 11.

[0170] <Implementation 2> Adaptive encoding of prediction mode for each chrominance channel

[0171] In this embodiment, the video decoding device decodes the prediction mode of the chroma channel separately without parsing the flag indicating whether the Cb and Cr channels share the same intra-frame prediction mode, which is chroma_shared_intra_mode_flag. In order to illustrate the operation of this embodiment, the method of encoding the intra-frame prediction mode information of the Cr channel is described below, assuming that conventional technology is used to encode the intra-frame prediction mode of the Cb channel. In addition, in this embodiment, the encoding (or decoding) method of the Cb channel and the Cr channel can be implemented with the roles of the two channels reversed.

[0172] One of the chroma channel prediction modes, DM (derived mode), has very good coding efficiency. As described above, the chroma block determined in DM inherits the prediction mode of the luminance block corresponding to the current chroma block as the prediction mode of the Cb and Cr chroma blocks. In this case, the corresponding luminance block means a luminance block including pixels of the luminance channel corresponding to the pixels at the center position of the current chroma block, as in Figure 6 as shown in the example.

[0173] When the characteristics of the Cb channel and the Cr channel are very similar to each other, DM is a very effective intra-frame prediction mode encoding technique for the chroma channel because it uses the prediction mode of the luma channel, just like the prediction mode of the current chroma channel. However, if the characteristics of the Cb channel and the Cr channel are different and do not use the same intra-frame prediction mode information, the DM technique cannot be used. This is because using the DM technique in this case may reduce video quality.

[0174] In this embodiment, the video decoding device can decode different intra-frame prediction mode information of the Cb channel and the Cr channel, but can also adaptively inherit (or share) the intra-frame prediction information between the chrominance channels. If the image properties between the chrominance channels are different, making the use of DM technology inefficient, only the Cb channel can share the intra-frame prediction mode information of the luminance channel. Alternatively, even if the Cb channel does not share the intra-frame prediction mode information with the luminance channel, the Cr channel can inherit the intra-frame prediction mode information of the Cb channel. As described above, the intra-frame prediction mode for each of the Cb and Cr channels can be effectively decoded for more diverse situations. Hereinafter, the above-mentioned technology is referred to as the chrominance derivation mode (CDM) technology.

[0175] In one example, when using the CDM technique, the Cr channel may selectively inherit the intra prediction mode of the Cb channel, such as Figure 7 As shown in the example of . That is, when the video characteristics of the Cb channel and the Cr channel are very similar, the video decoding device uses DM. Therefore, by setting the intra-frame prediction mode of the Cb and / or Cr channels according to inheritance, the coding efficiency can be increased. If the video characteristics of the Cb channel and the Cr channel are very different, the Cb channel and the Cr channel may not inherit the same intra-frame prediction mode. When using the CDM technology according to the present disclosure, the video decoding device can selectively inherit the intra-frame prediction mode of the Cb channel for the Cr channel, such as Figure 7 In addition, when compared with the luma channel, if the Cb channel is similar but the video characteristics of the Cr channel are very different, the Cb channel may inherit the intra-frame prediction mode information of the luma channel, but the Cr channel may not inherit the intra-frame prediction mode information of the luma channel. Alternatively, the Cb channel may not inherit the intra-frame prediction mode information of the luma channel, but the Cr channel may inherit the intra-frame prediction mode information of the Cb channel.

[0176] At the same time, whether or not in CDM (chrominance derivation mode) can be signaled by using cr_intra_inherit_mode_flag. For example, if cr_intra_inherit_mode_flag = 1, the video decoding device uses CDM. On the other hand, if cr_intra_inherit_mode_flag = 0, CDM is not used. In the case of adopting CDM, when decoding the prediction mode of the Cr channel block, the video decoding device inherits the prediction mode of the Cb channel block corresponding to the current Cr channel block and uses the prediction mode of the Cb channel as the prediction mode of the Cr channel. Figure 6Similar to the corresponding luminance block of the example of , the corresponding Cb channel block represents a block of the Cb channel including pixels of the Cb channel corresponding to the pixels at the center position of the current Cr channel block. For example, if the prediction mode of the Cr channel is CDM and the prediction mode of the corresponding Cb channel block is CCLM_LT, the latter can be used to effectively generate a predictor for the Cr channel block.

[0177] Hereinafter, cr_intra_inherit_mode_flag is referred to as a chroma prediction mode inheritance flag.

[0178] In this embodiment, depending on the relationship between DM and CDM, embodiment 2-1 or embodiment 2-2 may be implemented as shown in Table 9 and Table 10.

[0179]

Table 9

[0180]

[0181]

Table 10

[0182]

[0183] In embodiment 2-1 corresponding to Table 9, when DM is determined, the embodiment uses CDM without separately signaling whether CDM is in it. In this case, information indicating whether CDM is in it is not signaled. In other words, if DM is signaled in it, CDM is inferred to be used. In addition, if it is not in DM, the signaling of CDM information can signal whether CDM is used. On the other hand, embodiment 2-2 corresponding to Table 10 signals separate information indicating whether CDM is used, even if DM is determined to be in.

[0184] <Implementation 2-1> Encoding the prediction mode of the Cr channel with reference to the prediction mode of the Cb channel

[0185] This implementation corresponds to Table 9. In this embodiment, if the intra prediction mode of the Cb channel is DM, the video decoding device infers that the value of cr_intra_inherit_mode_flag is 1 without separately parsing the value of cr_intra_inherit_mode_flag indicating whether CDM is used. The video decoding device can adaptively decode the prediction mode of the Cr channel as shown in Table 11 by considering the prediction mode of the luminance channel and the prediction mode of the Cb channel.

[0186]

Table 11

[0187]

[0188]

[0189] The detailed operation of decoding the intra prediction mode of the chrominance channel according to Table 11 is as follows. After parsing the intra prediction mode of the Cb channel, the video decoding device decodes the intra prediction mode of the Cr channel. As described above, cr_intra_inherit_mode_flag is a flag indicating whether the prediction mode of the Cr channel inherits the prediction mode of the Cb channel. If cr_intra_inherit_mode_flag = 1, the video decoding device inherits the prediction mode of the Cb channel without a separate decoding process for the Cr channel.

[0190] In this embodiment, DM uses the prediction mode of the luminance channel in common in the Cb and Cr channels, as shown in Table 9, which is ultimately equivalent to the Cr channel inheriting the intra-frame prediction mode of the Cb channel. Therefore, if the intra-frame prediction mode of the Cb channel is DM, the video decoding device can infer the value of cr_intra_inherit_mode_flag to be 1 without separately parsing the value of cr_intra_inherit_mode_flag. This can further improve the coding efficiency of the system. Therefore, as shown in Table 11, the video decoding device checks whether "(cb_intra_chroma_pred_mode! = 4)" is correct. If (the value of cb_intra_chroma_pred_mode!) = 4) is true (that is, DM is not present), the video decoding device parses cr_intra_inherit_mode_flag. The situation signaled by cr_intra_inherit_mode_flag = 0 is neither DM nor CDM, so the intra-frame prediction mode of the Cr channel cannot inherit the intra-frame prediction mode of the Cb channel.

[0191] Meanwhile, if cr_intra_inherit_mode_flag is 1, the video decoding device inherits the prediction mode of the Cb channel to set the prediction mode of the Cr channel without parsing any additional information. On the other hand, if cr_intra_inherit_mode_flag is 0, the video decoding device parses the additional information to set the prediction mode of the Cr channel. For example, the video decoding device parses cr_cclm_mode_flag to determine whether the prediction mode of the Cr channel is CCLM mode (cross-component linear model mode), and then parses cr_cclm_mode_idx or cr_intra_chroma_pred_mode value according to the cr_cclm_mode_flag value. In short, if cr_cclm_mode_flag is 1, cr_cclm_mode_idx is parsed, and if cr_cclm_mode_flag is 0, cr_intra_chroma_pred_mode can be parsed. At this time, according to the fact that the value of cr_intra_inherit_mode_flag is 0, it goes without saying that the intra prediction mode information of the Cr channel, which is cr_cclm_mode_flag, cr_cclm_mode_idx, cr_intra_chroma_pred_mode, etc., is different from the intra prediction mode information of the Cb channel. Therefore, when decoding the intra prediction mode information of the Cr channel, the video decoding apparatus may remove the intra prediction mode information corresponding to the Cb channel to reduce the number of candidates to be considered, and then may decode the intra prediction mode information of the Cr channel using the reduced candidates.

[0192] The following describes a method for adaptively decoding syntax elements associated with intra-frame prediction mode information of the Cr channel based on the prediction mode of the Cb channel when (implementation 2-1-1) the prediction mode of the Cr channel is the CCLM mode and when (implementation 2-1-2) the prediction mode of the Cr channel is not the CCLM mode, that is, when the prediction mode of the Cr channel is DM and one of the four default modes.

[0193] <Implementation 2-1-1> When the prediction mode of the Cr channel is the cross-component linear model mode (CCLM mode)

[0194] In this embodiment, an efficient encoding (or decoding) method of cr_cclm_mode_idx is described.

[0195] When the prediction mode of the Cb channel is one of the CCLM modes, that is, when cb_cclm_mode_flag=1, the CDM information can be used to determine whether the prediction mode of the Cr channel is the one CCLM mode. Therefore, depending on the prediction mode of the Cb channel, that is, according to cb_cclm_mode_idx, the video decoding device can parse only two cr_cclm_mode_idx values ​​instead of three cr_cclm_mode_idx values. The decoding method of cr_cclm_mode_idx according to this embodiment is shown in Table 12.

[0196]

Table 12

[0197]

[0198]

[0199] For example, if the prediction mode of the Cb channel is CCLM_L (cb_cclm_mode_flag=1, cb_cclm_mode_idx=1), and the prediction mode of the Cr channel is CCLM_T (cr_cclm_mode_idx=2), the video decoding apparatus interprets cr_cclm_mode_idx as 1.

[0200] <Implementation 2-1-2> When the prediction mode of the Cr channel is not CCLM mode

[0201] In this embodiment, an efficient encoding (or decoding) method of cr_intra_chroma_pred_mode is described.

[0202] If cr_intra_chroma_pred_mode is 4 (ie, DM), cr_intra_inherit_mode_flag=1 may be inferred, and thus cr_intra_chroma_pred_mode may be decoded. Therefore, in this embodiment, the video decoding apparatus performs decoding of cr_intra_chroma_pred_mode for the case where the value of cr_intra_chroma_pred_mode is 0, 1, 2, or 3.

[0203] If cb_intra_chroma_pred_mode is one of 0, 1, 2, and 3, the video decoding apparatus decodes only three prediction modes because CDM is used to indicate cr_intra_chroma_pred_mode=one of 0, 1, 2, and 3. The decoding method of cr_cclm_mode_idx according to this embodiment is shown in Table 13.

[0204]

Table 13

[0205]

[0206]

[0207] For example, if the prediction mode of the Cb channel is CCLM_LT, that is, cb_cclm_mode_flag=1 and cb_cclm_mode_idx=0, and cr_intra_chroma_pred_mode=0, so that the prediction mode of the Cr channel is the planar mode, the video decoding device interprets cr_intra_chroma_pred_mode as 00. As another example, if cb_cclm_mode_flag=0 and cb_intra_chroma_pred_mode=3, so that the prediction mode of the Cb channel is DC, and if cr_intra_chroma_pred_mode=0, so that the prediction mode of the Cr channel is planar, the video decoding device may interpret cr_intra_chroma_pred_mode as 0.

[0208] <Implementation 2-2> Alternative method for encoding the prediction mode of the Cr channel by referring to the prediction mode of the Cb channel

[0209] This embodiment corresponds to Table 10. In this embodiment, the video decoding apparatus parses cr_intra_inherit_mode_flag indicating whether the intra prediction mode of the Cb channel is CDM, regardless of whether the intra prediction mode of the Cb channel is DM. The video decoding apparatus may adaptively decode the prediction mode of the Cr channel by considering the prediction mode of the luminance channel and the prediction mode of the Cb channel, as shown in Table 14.

[0210]

Table 14

[0211]

[0212]

[0213] The detailed operation of decoding the intra prediction mode of the chrominance channel according to Table 14 is as follows. After parsing the intra prediction mode of the Cb channel, the video decoding device decodes the intra prediction mode of the Cr channel. In order to parse the intra prediction mode of the Cr channel, the video decoding device first parses cr_intra_inherit_mode_flag. If the prediction mode of the Cr channel is CDM, cr_intra_inherit_mode_flag is parsed to 1. Otherwise, it is parsed to 0.

[0214] As an example, if cr_intra_inherit_mode_flag is 1, the video decoding apparatus does not separately parse the intra prediction mode information of the Cr channel, but directly inherits the corresponding information of the Cb channel.

[0215] In other words, the following processing can be performed.

[0216]

[0217] In addition, if cr_intra_inherit_mode_flag is 0, the video decoding device may parse cr_cclm_mode_flag indicating whether the prediction mode of the Cr channel is the CCLM mode, and then may parse cr_cclm_mode_idx or cr_intra_chroma_pred_mode according to the value of cr_cclm_mode_flag after parsing the latter. For example, if cr_cclm_mode_flag is 1, cr_cclm_mode_idx may be parsed; on the other hand, if cr_cclm_mode_flag is 0, cr_intra_chroma_pred_mode may be parsed. The video decoding device may adaptively parse cr_cclm_mode_idx and cr_intra_chroma_pred_mode according to the prediction mode of the Cb channel. As an adaptive parsing method, the methods of embodiments 2-1-1 and 2-2-2 described above may be used.

[0218] <Implementation 2-3> Another method of encoding the prediction mode of the Cr channel by referring to the prediction mode of the Cb channel

[0219] In the above-mentioned embodiments 2-1 and 2-2, cr_intra_inherit_mode_flag is a flag indicating whether the prediction mode of the Cr channel inherits the prediction mode of the Cb channel. However, in this embodiment, cr_intra_inherit_mode_flag indicates whether the prediction mode of the Cr channel inherits the prediction mode from another channel. Therefore, in this embodiment, the video decoding device parses cr_intra_inherit_mode_flag regardless of whether the intra-frame prediction mode of the Cb channel is DM (derivative mode). That is, when the prediction mode is inherited from the luminance channel or the Cb channel, cr_intra_inherit_mode_flag is set to 1. On the other hand, if cr_intra_inherit_mode_flag = 0, the prediction mode of the Cr channel is not inherited from either channel.

[0220] As described above, because the prediction mode of the Cr channel can be inherited from two channels, the video decoding device parses cr_intra_inherit_mode_idx to set the channel that inherits the prediction mode. For example, if cr_intra_inherit_mode_idx=0, the Cr channel inherits the prediction mode from the luminance channel. This is the same as when the prediction mode is DM in the prior art. In addition, if cr_intra_inherit_mode_idx=1, the Cr channel inherits the prediction mode from the Cb channel. This is the same as when the prediction mode is CDM as described above.

[0221] Hereinafter, cr_intra_inherit_mode_idx is referred to as a chroma prediction mode inheritance index.

[0222] However, if the prediction mode of the Cb channel is DM, that is, if the prediction mode of the Cb channel is inherited from the luma channel, the inheritance of the prediction mode of the Cr channel from the Cb channel is equivalent to inheriting the prediction mode of the luma channel. Therefore, when decoding cr_intra_inherit_mode_idx, the video decoding device may remove the intra prediction mode information corresponding to the Cb channel to reduce the number of candidates to be considered, and then the reduced candidates may be used to decode the intra prediction mode information of the Cr channel. When decoding cr_intra_inherit_mode_idx, if there is only one candidate, the video decoding device will infer that cr_intra_inherit_mode_idx is 0 or 1 without parsing cr_intra_inherit_mode_idx. For example, based on a conventional channel configuration, if the prediction mode of the Cb channel is DM, that is, if the Cb channel inherits the prediction mode from the luma channel, cr_intra_inherit_mode_idx may be inferred to be 0 or 1 without parsing. The video decoding apparatus may adaptively decode the prediction mode of the Cr channel by considering the prediction mode of the luminance channel and the prediction mode of the Cb channel, as shown in Table 15.

[0223]

Table 15

[0224] if (cclmEnabled) cb_cclm_mode_flag if (cb_cclm_mode_flag) cb_cclm_mode_idx otherwise cb_intra_chroma_pred_mode cr_intra_inherit_mode_flag if (cr_intra_inherit_mode_flag) { if (cb_intra_chroma_pred_mode != 4) cr_intra_inherit_mode_idx }otherwise{ if (cclmEnabled) cr_cclm_mode_flag if (cr_cclm_mode_flag) cr_cclm_mode_idx otherwise cr_intra_chroma_pred_mode }

[0225] The detailed operation of decoding the intra prediction mode of the chrominance channel according to Table 15 is as follows. After parsing the intra prediction mode of the Cb channel, the video decoding device decodes the intra prediction mode of the Cr channel. In order to parse the intra prediction mode of the Cr channel, the video decoding device first parses cr_intra_inherit_mode_flag. If the prediction mode of the Cr channel inherits the prediction mode from any one of the luminance channel and the Cb channel, cr_intra_inherit_mode_flag is parsed as 1. Otherwise, it is parsed as 0.

[0226] In addition, if cr_intra_inherit_mode_flag is 1, the video decoding device may further parse cr_intra_inherit_mode_idx. If cr_intra_inherit_mode_idx is 0, the video decoding device inherits the intra prediction mode of the Cr channel from the luma channel. On the other hand, if cr_intra_inherit_mode_idx is 1, the video decoding device may inherit the intra prediction mode of the Cr channel from the Cb channel. However, if the prediction mode of the Cb channel is DM, that is, if cb_intra_chroma_pred_mode=4, the Cr channel inherits the same prediction mode even if it inherits the prediction mode from any channel. Therefore, even if cr_intra_inherit_mode_flag is 1, the video decoding device does not parse cr_intra_inherit_mode_idx and inherits the prediction mode of the Cr channel from the Cb channel. As another example, the Cr channel may inherit the prediction mode from the luma channel.

[0227] As another example, if cr_intra_inherit_mode_flag is 1, the video decoding device may inherit the intra prediction mode information of the Cr channel directly from the luma channel or the Cb channel according to cr_intra_inherit_mode_idx without separately parsing the intra prediction mode information of the Cr channel. That is, if cr_intra_inherit_mode_idx=0, the prediction mode of the Cr channel is set to the prediction mode of the luma channel, and if cr_intra_inherit_mode_idx=1, the prediction mode of the Cr channel may be set to the prediction mode of the Cb channel.

[0228] On the other hand, if cr_intra_inherit_mode_flag is 0, the video decoding device may parse cr_cclm_mode_flag indicating whether the prediction mode of the Cr channel is the CCLM mode, and then may parse cr_cclm_mode_idx or cr_intra_chroma_pred_mode according to the value of cr_cclm_mode_flag. That is, if cr_cclm_mode_flag is 1, cr_cclm_mode_idx may be parsed; on the other hand, if cr_cclm_mode_flag is 0, cr_intra_chroma_pred_mode may be parsed. The video decoding device may adaptively parse cr_cclm_mode_idx and cr_intra_chroma_pred_mode according to the prediction mode of the Cb channel. As an adaptive parsing method, the methods of Embodiments 2-1-1 and 2-2-2 described above may be used.

[0229] <Implementation 2-4> Encoding the prediction modes of the two chrominance channels separately

[0230] In this embodiment, the video decoding device decodes the prediction mode of the Cr channel separately and independently of the prediction mode of the Cb channel. As in the prior art, for each chrominance channel, the prediction mode is encoded (or decoded) according to Table 2. Regardless of whether the prediction modes of the two channels Cb and Cr are the same, the video decoding device can parse the prediction mode of the Cb channel according to Table 16, and then parse the prediction mode of the Cr channel.

[0231]

Table 16

[0232]

[0233]

[0234] In this case, cb_cclm_mode_idx, cb_intra_chroma_pred_mode, cr_cclm_mode_idx, and cr_intra_chroma_pred_mode may be encoded as in the prior art, as shown in Table 3 or Table 4. For example, if the prediction mode of the Cb channel is CCLM_LT and the prediction mode of the Cr channel is also CCLM_LT, the values ​​of cb_cclm_mode_idx=0 and cr_cclm_mode_idx=0 are respectively decoded as 0 and 0. As another example, if the prediction mode of the Cb channel is the planar mode and the prediction mode of the Cr channel is the DC mode, the value of cb_intra_chroma_pred_mode=0 and the value of cr_intra_chroma_pred_mode=3 may be respectively decoded as 100 and 111.

[0235] <Implementation 3> Encoding the combination information of the prediction mode of each chrominance channel

[0236] In this embodiment, when N is the number of all prediction modes that can be signaled on the chrominance channel, the video decoding apparatus decodes all combinations (i.e., N prediction modes) that can be generated by setting N prediction modes on each of the Cb and Cr channels. 2 According to the prior art, N=8, so the number of possible prediction mode combinations is 64. The encoding of the intra prediction mode of the chrominance channel can (Implementation 3-1) consider all of these mode combinations or part of the (Implementation 3-1) mode combinations to signal the prediction modes of the two chrominance channels.

[0237] <Implementation 3-1> Consider all prediction mode combinations

[0238] In this embodiment, the video decoding apparatus decodes the prediction modes of the two chrominance channels by considering all the above prediction mode combinations.

[0239] First, the prediction mode combination can be encoded as a fixed-length binary string. The video decoding device parses all prediction mode combinations into binary strings of the same length. In this case, the length of the binary string can be set to ceil (log 2 N 2 Here, ceil(·) represents a ceiling function. For example, according to conventionally available prediction modes of the chroma channel (ie, N=8), a combination of prediction modes of the chroma channel according to this embodiment can be represented by a binary string as shown in Table 17.

[0240]

Table 17

[0241]

[0242]

[0243] Second, certain combinations of prediction modes may be encoded as short binary strings. It may not be efficient to encode all prediction mode combinations into binary strings of the same length. Therefore, the prediction mode combinations may be separated into a group of combinations encoded in relatively short binary strings and another group of combinations encoded in relatively long binary strings. The group encoded with a short binary string is called a chroma most probable mode set (MPMS), and the group encoded with a long binary string is called a chroma MPMS hint. In this embodiment, in order to decode the prediction mode of the chroma channel, the video decoding device parses the chroma_mpms_flag indicating whether the prediction mode is included in the chroma MPMS, as shown in Table 18.

[0244]

Table 18

[0245]

[0246] The chroma MPMS may be formed as follows. In addition, chroma_mpms_idx and chroma_mpms_reminder_idx indicating a combination of a prediction mode and a chroma MPMS reminder in the chroma MPMS may be encoded according to a fixed length method, a truncated binary method, a truncated Rice method, or the like.

[0247] In one example, a combination form preset as a chroma MPMS may be used. For example, K combinations of prediction modes (K=1, 2, 3, ...) may be included in the chroma MPMS. When K=4, the chroma MPMS may be formed as follows: Chroma MPMS={(Planar, Planar), (Planar, CCLM_LT), (CCLM_LT, Planar), (CCLM_LT, CCLM_LT)}. Here, each element of the chroma MPMS represents a pair of (prediction mode of the Cb channel, prediction mode of the Cr channel). When the chroma MPMS is formed as described above, 60 of the 64 prediction mode combinations are included in the chroma MPMS hint, excluding the 4 prediction mode combinations included in the chroma MPMS.

[0248] As another example, the video decoding device may form a chroma MPMS by using a combination of neighboring prediction modes for each channel in the current chroma block. The neighboring prediction mode represents one or more prediction modes of blocks adjacent to the top and left of the current block. Depending on the embodiment of the present disclosure, the number of neighboring prediction modes and the location of the derived prediction mode may change.

[0249] The following example describes a case where one prediction mode from the upper part of the current block and another prediction mode from the left side are set as neighboring prediction modes. If the coordinates of the upper left pixel of the current block are (0, 0), the upper prediction mode can be set to the prediction mode of the block containing the pixel at the position (W-1, -1), and the left prediction mode can be set to the prediction mode of the block containing the pixel at the position (-1, H-1). Here, W represents the width of the current block, and H represents the height of the current block. Under the above conditions, the chroma MPMS according to the neighboring prediction mode of the chroma block can be formed as follows Figure 8 as shown in the example.

[0250] <Implementation 3-2> Consider some prediction mode combinations

[0251] In this embodiment, the video decoding device parses the prediction mode combination included in the chroma MPMS according to the second method of implementation 3-1 (some prediction mode combinations are encoded as short binary strings). Therefore, the video decoding device parses chroma_mpms_idx but not chroma_mpms_flag. In other words, the prediction mode combination included in the chroma MPMS hint is not used.

[0252] Although the steps in each flowchart are described as being performed sequentially, these steps are merely illustrative of the technical concepts of some embodiments of the present disclosure. Therefore, a person of ordinary skill in the art to which the present disclosure belongs can perform the steps by changing the order described in each figure or by performing two or more steps in parallel. Therefore, the steps in each flowchart are not limited to the time series order shown.

[0253] It should be understood that the above description presents illustrative embodiments that can be implemented in various other ways. The functions described in some embodiments can be implemented by hardware, software, firmware and / or a combination thereof. It should also be understood that the functional components described in this disclosure are marked with "... units" to strongly emphasize the possibility of their independent implementation.

[0254] At the same time, the various methods or functions described in some embodiments may be implemented as instructions stored in a non-transitory recording medium that can be read and executed by one or more processors. For example, the non-transitory recording medium may include various types of recording devices, in which data is stored in a form readable by a computer system. For example, the non-transitory recording medium may include storage media such as erasable programmable read-only memory (EPROM), flash drives, optical drives, magnetic hard drives, and solid-state drives (SSDs).

[0255] Although the embodiments of the present disclosure have been described for illustrative purposes, however, those of ordinary skill in the art to which the present disclosure belongs should recognize that various modifications, additions, and substitutions are possible without departing from the concept and scope of the present disclosure. Therefore, for the sake of brevity and clarity, the embodiments of the present disclosure have been described. The scope of the technical concept of the embodiments of the present disclosure is not limited by the diagrams. Therefore, those of ordinary skill in the art to which the present disclosure belongs should understand that the scope of the present disclosure should not be limited by the embodiments explicitly described above, but by the claims and their equivalents.

[0256] (reference number)

[0257] 122 Intra-frame predictor

[0258] 155 Entropy Encoder

[0259] 510 Entropy Decoder

[0260] 544 Intra-frame predictor

[0261] CROSS-REFERENCE TO RELATED APPLICATIONS

[0262] This application claims priority to and the benefit of Korean Patent Application No. 10-2022-0058719 filed on May 13, 2022 and Korean Patent Application No. 10-2023-0048430 filed on April 12, 2023, the entire contents of each of which are incorporated herein by reference.

Claims

1. A method performed by a video decoding device for decoding an intra-frame prediction mode of a current chrominance block, the method include: decoding first intra prediction mode information for a first chroma channel of the current chroma block according to a bitstream; as well as decoding second intra prediction mode information for a second chroma channel of the current chroma block according to the bitstream, wherein the first intra-frame prediction mode information includes at least one of a first cross-component linear model mode flag (CCLM mode flag), a first cross-component linear model mode index (CCLM mode index), and a first chroma intra-frame prediction mode indicator, and the second intra-frame prediction mode information includes at least one of a second CCLM mode flag, a second CCLM mode index, and a second chroma intra-frame prediction mode indicator, and The first CCLM mode index indicates a preset CCLM mode candidate, and the first chroma intra prediction mode indicator indicates a preset intra prediction mode candidate.

2. The method according to claim 1, further comprising: include: decoding a chroma prediction mode sharing flag from the bitstream, the chroma prediction mode sharing flag indicating whether the first chroma channel and the second chroma channel share a common intra prediction mode; as well as Check the chroma prediction mode shared flag, Wherein, when the chroma prediction mode sharing flag is false, the method further includes: The first intra prediction mode information is decoded and the second intra prediction mode information is decoded.

3. The method according to claim 2, further comprising: include: When the chroma prediction mode shared flag is true, decoding the first intra prediction mode information for the first chrominance channel; and The second intra prediction mode information for the second chroma channel is replaced with the first intra prediction mode information.

4. The method according to claim 2, in, Decoding the second intra prediction mode information includes: when the chroma prediction mode sharing flag is false, The second intra prediction mode information is decoded by referring to the first intra prediction mode information.

5. The method according to claim 4, in, Decoding the second intra prediction mode information includes: when the chroma prediction mode sharing flag is false, the first CCLM mode flag is true, and the second CCLM mode flag is true, A reduced number of candidates are generated according to the preset CCLM mode candidates by removing the CCLM mode corresponding to the value of the first CCLM mode index, and then a second CCLM mode index indicating one of the reduced number of candidates is decoded.

6. The method according to claim 4, in, Decoding the second intra prediction mode information includes: when the chroma prediction mode sharing flag is false, the first CCLM mode flag is false, and the second CCLM mode flag is true, A second CCLM mode index indicating one of the preset CCLM mode candidates is decoded.

7. The method according to claim 4, in, Decoding the second intra prediction mode information includes: when the chroma prediction mode sharing flag is false, the first CCLM mode flag is true, and the second CCLM mode flag is false, A second chroma intra prediction mode indicator indicating one of the preset intra prediction mode candidates is decoded.

8. The method according to claim 4, in, Decoding the second intra prediction mode information includes: when the chroma prediction mode sharing flag is false, the first CCLM mode flag is false, and the second CCLM mode flag is false, A reduced number of candidates are generated according to preset intra prediction mode candidates by removing a prediction mode corresponding to a value of the first chroma intra prediction mode indicator, and then a second chroma intra prediction mode indicator indicating one of the reduced number of candidates is decoded.

9. The method according to claim 1, further comprising: include: decoding, according to the bitstream, a chroma prediction mode inheritance flag indicating whether the second chroma channel inherits the first intra prediction mode information of the first chroma channel; as well as Check the chroma prediction mode shared flags, When the chroma prediction mode inheritance flag is true, the second chroma channel inherits the first intra-frame prediction mode information.

10. The method according to claim 9, in, When the chroma prediction mode inheritance flag is false, the further comprising: The second intra-frame prediction mode information is decoded.

11. The method according to claim 9, in, When the first intra-frame prediction mode information does not inherit the intra-frame prediction mode information of the luminance channel, the method further includes: The chroma prediction mode inheritance flag is decoded.

12. A method performed by a video encoding device, for encoding an intra-frame prediction mode of a current chrominance block, the method include: Determining first intra prediction mode information for a first chroma channel of the current chroma block; as well as determining second intra prediction mode information for a second chroma channel of the current chroma block, wherein the first intra-frame prediction mode information includes at least one of a first cross-component linear model mode flag (CCLM mode flag), a first cross-component linear model mode index (CCLM mode index), and a first chroma intra-frame prediction mode indicator, and the second intra-frame prediction mode information includes at least one of a second CCLM mode flag, a second CCLM mode index, and a second chroma intra-frame prediction mode indicator, and The first CCLM mode index indicates a preset CCLM mode candidate, and the first chroma intra prediction mode indicator indicates a preset intra prediction mode candidate.

13. The method according to claim 12, further comprising: include: determining a chroma prediction mode sharing flag based on whether the first chroma channel and the second chroma channel share a common intra prediction mode; and The chroma prediction mode shared flag is encoded.

14. The method according to claim 13, further comprising: include: When the chroma prediction mode shared flag is true, The first intra-frame prediction mode information is encoded.

15. The method according to claim 13, further comprising: include: When the chroma prediction mode shared flag is false, Encoding the first intra-frame prediction mode information; and The second intra-frame prediction mode information is encoded.

16. The method according to claim 13, further comprising: include: When the chroma prediction mode shared flag is false, Encoding the first intra-frame prediction mode information; and The second intra prediction mode information is encoded by referring to the first intra prediction mode information.

17. A computer-readable recording medium storing a bit stream generated by a video encoding method, the video encoding method include: Determining first intra prediction mode information for a first chroma channel of a current chroma block; as well as determining second intra prediction mode information for a second chroma channel of the current chroma block, wherein the first intra-frame prediction mode information includes at least one of a first cross-component linear model mode flag (CCLM mode flag), a first cross-component linear model mode index (CCLM mode index), and a first chroma intra-frame prediction mode indicator, and the second intra-frame prediction mode information includes at least one of a second CCLM mode flag, a second CCLM mode index, and a second chroma intra-frame prediction mode indicator, and The first CCLM mode index indicates a preset CCLM mode candidate, and the first chroma intra prediction mode indicator indicates a preset intra prediction mode candidate.

Citation Information

Patent Citations

  • Injection mold of hinge gear for folder type portable computer

    KR1020220058719A

  • Simulation devices and simulation systems

    KR1020230048430A