Intra mode candidate configuration method and video decoding device
By configuring candidate intra-frame modes for chroma blocks, the problem of insufficient encoding efficiency of existing video compression technologies when faced with increased data volume is solved, achieving more efficient video encoding and decoding effects.
Patent Information
- Application Number
- CN202080039428.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-11-06
- Filing Date
- 2020-05-27
- Publication Date
- 2025-12-16
- Estimated Expiration
- 2040-05-27
AI Technical Summary
Existing video compression technologies are insufficient in improving encoding efficiency and image quality when faced with increasing video data volumes, necessitating more efficient video encoding and decoding methods.
By configuring candidate intra-frame modes for chroma blocks, it is determined whether there are available encoding modes in the luma region. When the encoding mode in the luma region is unavailable, the direct mode (DM) is set as the default mode, thereby improving the efficiency of video encoding and decoding.
It achieves efficient selection and accurate prediction of chroma blocks, thus improving video compression performance.
Smart Images

Figure CN113892262B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] In some embodiments, the present disclosure relates to encoding and decoding of images or videos. More specifically, the present disclosure relates to a method of configuring candidate intra modes and an apparatus for encoding / decoding a video to improve encoding and decoding efficiency. BACKGROUND
[0002] Since video data has a large amount of data compared to audio data or still image data, a large amount of hardware resources (including memory) is required to store or transmit the data in its original form before undergoing a compression process.
[0003] Accordingly, storing or transmitting video data is usually accompanied by compressing it by using an encoder before a decoder can receive, decompress, and reproduce the compressed video data. Existing video compression techniques include H.264 / AVC and High Efficiency Video Coding (HEVC), which improves the encoding efficiency of H.264 / AVC by about 40%.
[0004] However, the increasing size, resolution, and frame rate of videos and the resulting increase in the amount of data to be encoded require a superior new compression technique that has better encoding efficiency and higher improvement in image quality than existing compression techniques. SUMMARY
[0005] TECHNICAL PROBLEM
[0006] The present disclosure seeks to provide an improved video encoding and decoding technique to meet these needs, and specifically, at least one aspect of the present disclosure is to provide a technique for improving the efficiency of video encoding and decoding by configuring candidate intra modes for a chroma block with a new method.
[0007] TECHNICAL SOLUTION
[0008] At least one aspect of the present disclosure provides a method of configuring candidate intra modes for a chroma block, the method including the steps of determining whether a luma region corresponding to the chroma block has an available coding mode, setting a direct mode (DM) among the candidate intra modes as a default mode when the coding mode of the luma region is not available, and configuring the candidate intra modes by including the DM.
[0009] Another aspect of the disclosure provides a video decoding apparatus including a determining unit, a setting unit, and a configuring unit. The determining unit is configured to determine whether a luma region corresponding to a chroma block has an available coding mode. The setting unit is configured to set a direct mode (DM) among candidate intra modes of the chroma block as a default mode when the coding mode of the luma region is not available. The configuring unit is configured to configure the candidate intra modes by including the DM.
[0010] Advantageous Effects
[0011] As described above, according to at least one embodiment of the disclosure, efficient selection of candidate intra modes for a chroma block and more accurate prediction of the chroma block can result in improved compression performance. BRIEF DESCRIPTION OF DRAWINGS
[0012] FIG. 1 is a block diagram illustrating a video encoding apparatus that can implement the techniques of the disclosure.
[0013] FIG. 2 is a diagram for explaining a method of partitioning or splitting a block by using a QTBTTT structure.
[0014] FIG. 3 is a diagram of various intra prediction modes.
[0015] FIG. 4 is a block diagram illustrating a video decoding apparatus that can implement the techniques of the disclosure.
[0016] FIG. 5 to FIG. 7 is a diagram for explaining a conventional method for intra prediction.
[0017] FIG. 8 is a diagram for explaining a partitioning form of a luma block and a chroma block.
[0018] FIG. 9 is a block diagram of an example intra predictor that can implement the techniques of the disclosure.
[0019] FIG. 10 is a flowchart for explaining at least one embodiment of the disclosure for configuring candidate intra modes.
[0020] FIG. 11 is a diagram illustrating a luma region corresponding to a chroma block and reference samples.
[0021] FIG. 12 is a diagram illustrating a coding mode of a luma region.
[0022] FIG. 13 to FIG. 18 is a diagram illustrating various embodiments for configuring candidate intra modes. DETAILED DESCRIPTION
[0023] Hereinafter, some embodiments of the disclosure will be described in detail with reference to the accompanying drawings. In the following description, like reference numerals designate like elements, although the elements are shown in different drawings. Also, in the following description of some embodiments, a detailed description of related known components and functions incorporated herein will be omitted for clarity and conciseness.
[0024] FIG. 1 is a block diagram illustrating a video encoding apparatus that can implement the techniques of the disclosure. Hereinafter, the video encoding apparatus will be described with reference to FIG. 1 The video encoding apparatus and sub-components of the apparatus will be described.
[0025] The video encoding apparatus can be configured to include a block partitioner 110, a prediction unit 120, a subtractor 130, a transformer 140, a quantizer 145, an encoder 150, a dequantizer 160, an inverse transformer 165, an adder 170, a filter unit 180, and a memory 190.
[0026] The respective components of the video encoding apparatus can be implemented as hardware or software or a combination of hardware and software. Also, the functions of each component can be implemented by software, and the software functions of each component can be implemented by a microprocessor.
[0027] A video is composed of a plurality of pictures. The pictures are each partitioned into a plurality of regions, and encoding is performed for each region. For example, one picture is partitioned into one or more tiles and / or slices. Here, the one or more tiles can be defined as a tile group. Each tile or / and slice is partitioned into one or more coding tree units (CTUs). And, each CTU is partitioned into one or more coding units (CUs) in a tree structure. Information applied to a respective CU is encoded as syntax of the CU, and information commonly applied to CUs included in one CTU is encoded as syntax of the CTU. Also, information commonly applied to all blocks in one tile is encoded as syntax of the tile or as syntax of a tile group that is a tile set, and information applied to all blocks constituting one picture is encoded in a picture parameter set (PPS) or a picture header. Furthermore, information commonly referred to by a plurality of pictures is encoded in a sequence parameter set (SPS). Also, information commonly referred to by one or more SPSs is encoded in a video parameter set (VPS).
[0028] The block partitioner 110 determines the size of a coding tree unit (CTU). Information about the CTU size (CTU size) is encoded as syntax of the SPS or the PPS and is transmitted to the video decoding apparatus.
[0029] The block partitioner 110 partitions each picture constituting a video into a plurality of coding tree units (CTUs) having a predetermined size, and then recursively partitions the CTUs using a tree structure. A leaf node in the tree structure becomes a coding unit (CU), which is a basic unit of encoding.
[0030] The tree structure for use can be a quad tree (QT) in which an upper node (or parent node) is partitioned into four lower nodes (or child nodes) of the same size, a binary tree (BT) in which an upper node is partitioned into two lower nodes, a ternary tree (TT) or QT structure in which an upper node is partitioned into three lower nodes in a size ratio of 1:2:1, or a mixture of two or more of the QT structure, the BT structure, and the TT structure. For example, a quad tree plus binary tree (QTBT) structure can be used, or a quad tree plus binary tree ternary tree (QTBTTT) structure can be used. Here, the BTTT can be collectively referred to as a multi-type tree (MTT).
[0031] FIG. 2 A QTBTTT partition tree structure is shown. As shown in FIG. 2 As shown in FIG. 2 , when MTT partitioning starts, a second flag (mtt_split_flag) indicating whether a node is partitioned and, if so, other flags indicating a partitioning direction (vertical or horizontal) and / or a flag indicating a split or partition type (binary or ternary) are encoded by the encoder 150 and signaled to the video decoding apparatus.
[0032] As another example of tree structure, when a QTBTTT structure is used to partition a block, information on a CU split flag (split_cu_flag) indicating whether a node is split is first encoded and signaled, and then QT split flag (split_qt_flag) information indicating whether the split type is QT split is encoded by the encoder 150 and signaled to the video decoding apparatus. When the CU split flag (split_cu_flag) value indicates that the node is not split, the block of the node becomes a leaf node in the split tree structure and becomes a coding unit (CU) as a basic unit of encoding. When the CU split flag (split_cu_flag) value indicates that the node is split, the video encoding apparatus classifies the split type into QT split or MTT split. When the split type is QT split, no additional information is present. When the split type is MTT split, one or two of the following flags are additionally encoded and signaled by the encoder 150 and signaled to the video decoding apparatus, which are a flag (mtt_split_cu_vertical_flag) indicating the MTT split direction (vertical or horizontal) and a flag (mtt_split_cu_binary_flag) indicating the MTT split type (binary or ternary).
[0033] As yet another example of tree structure, when QTBT is used, there can be two types of partitioning, including a type of partitioning a block of a related node horizontally into two blocks of equal size (i.e., symmetric horizontal split) and a type of partitioning a block of a related node vertically (i.e., symmetric vertical split). What is encoded by the encoder 150 and transmitted to the video decoding apparatus is a split flag (split_flag) indicating whether each node of the BT structure is split into blocks of a lower layer and partition type information indicating the partition type thereof. In addition, there can be other types in which a block of a related node is split into two blocks formed in an asymmetric manner. The asymmetric manner can include a manner in which a block of a related node is split into two rectangular blocks having a size ratio of 1:3 or a manner in which a block of a related node is split in a diagonal direction.
[0034] According to the QTBT or QTBTTT partitioning of a CTU, a CU can have various sizes. Hereinafter, a block corresponding to a CU to be encoded or decoded (i.e., a leaf node of QTBTTT) is referred to as a "current block".
[0035] The prediction unit 120 predicts the current block to generate a prediction block. The prediction unit 120 includes an intra predictor 122 and an inter predictor 124.
[0036] In general, the current blocks in a picture can each be predictively coded. The prediction of the current blocks can be performed using either an intra prediction technique or an inter prediction technique. The intra prediction technique uses data from the picture containing the current block, and the inter prediction technique uses data from a previous picture that was coded before the picture containing the current block. The inter prediction includes both uni-directional prediction and bi-directional prediction.
[0037] The intra predictor 122 predicts the pixels in the current block by using neighboring pixels (reference pixels) located around the current block in the current picture. There are a plurality of intra prediction modes depending on different prediction directions. For example, as shown in FIG. 1, the plurality of intra prediction modes can include two non-directional modes of Planar mode and DC mode, and 65 directional modes. For each prediction mode, the formula to be used and the neighboring pixels are defined differently. FIG. 3
[0038] The intra predictor 122 can determine the intra prediction mode to be used for coding the current block. In some examples, the intra predictor 122 can code the current block by using a number of intra prediction modes, and select the appropriate intra prediction mode to be used from among the tested modes. For example, the intra predictor 122 can calculate rate-distortion values through rate-distortion analysis of a number of intra prediction modes being tested, and select the intra prediction mode having the best rate-distortion characteristics from among the tested modes.
[0039] The intra predictor 122 selects one of the plurality of intra prediction modes, and predicts the current block by using at least one neighboring pixel (reference pixel) determined according to the selected intra prediction mode and a calculation formula. Information about the selected intra prediction mode is coded by the encoder 150 and transmitted to the video decoding apparatus.
[0040] The inter predictor 124 generates a prediction block for the current block through a motion compensation process. The inter predictor 124 searches for a block most similar to the current block among reference pictures that were coded and decoded before the current picture, and generates a prediction block of the current block by using the searched block. Then, the inter predictor 124 generates a motion vector corresponding to the displacement between the current block in the current picture and the prediction block in the reference picture. In general, motion estimation is performed for the luma component, and the motion vector calculated based on the luma component is used for both the luma component and the chroma component. Motion information including information about the reference picture and information about the motion vector used to predict the current block is coded by the encoder 150 and transmitted to the video decoding apparatus.
[0041] The subtracter 130 generates a residual block by subtracting the prediction block generated by the intra predictor 122 or the inter predictor 124 from the current block.
[0042] The transformer 140 transforms a residual signal in a residual block having pixel values in a spatial domain into transform coefficients in a frequency domain. The transformer 140 can transform the residual signal in the residual block by using a full-size residual block as a transform unit, or separate the residual block into two sub-blocks as a transform region and a non-transform region, and transform the residual signal using only the transform region sub-block as a transform unit. Here, the transform region sub-block can be one of two rectangular blocks having a size ratio of 1:1 based on a horizontal axis (or a vertical axis). In this case, a flag (cu_sbt_flag) indicating that only the sub-block is transformed, a direction or vertical / horizontal information (cu_sbt_horizontal_flag), and / or position information (cu_sbt_pos_flag) are encoded by the encoder 150 and signaled to the video decoding apparatus. In addition, the size of the transform region sub-block can have a size ratio of 1:3 based on the horizontal axis (or the vertical axis), in which a flag (cu_sbt_quad_flag) identifying the partition is additionally encoded by the encoder 150 and signaled to the video decoding apparatus.
[0043] The quantizer 145 quantizes the transform coefficients output from the transformer 140 and outputs the quantized transform coefficients to the encoder 150.
[0044] The encoder 150 encodes the quantized transform coefficients using various encoding methods such as a context-based adaptive binary arithmetic code (CABAC) or the like to generate a bitstream. The encoder 150 encodes information about block partitioning such as a CTU size related to block partitioning, a CU split flag, a QT split flag, an MTT split type, and an MTT split direction to allow the video decoding apparatus to split a block in the same manner as the video encoding apparatus.
[0045] In addition, the encoder 150 encodes information related to a prediction type indicating whether the current block is encoded by intra prediction or inter prediction, and encodes intra prediction information (i.e., information about an intra prediction mode) or inter prediction information (i.e., information about a reference picture and a motion vector) according to the prediction type.
[0046] The inverse quantizer 160 inverse-quantizes the quantized transform coefficients output from the quantizer 145 to generate transform coefficients. The inverse transformer 165 transforms the transform coefficients output from the inverse quantizer 160 from the frequency domain to the spatial domain to reconstruct a residual block.
[0047] The adder 170 adds the reconstructed residual block and the prediction block generated by the prediction unit 120 to reconstruct the current block. Pixels in the reconstructed current block are used as reference pixels when intra-predicting a next block.
[0048] The filter unit 180 performs filtering on the reconstructed pixels to reduce block artifacts, ringing artifacts, blurring artifacts, etc. that are generated due to block-based prediction and transform / quantization. The filter unit 180 can include a deblocking filter 182 and a sample adaptive offset (SAO) filter 184.
[0049] The deblocking filter 180 filters boundaries between reconstructed blocks to remove block artifacts caused by block-based encoding / decoding, and the SAO filter 184 additionally filters the deblocking-filtered video. The SAO filter 184 is a filter for compensating for differences between reconstructed pixels and original pixels caused by lossy encoding.
[0050] The reconstructed blocks are filtered through the deblocking filter 182 and the SAO filter 184, and 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 prediction of blocks in a next picture to be encoded.
[0051] FIG. 4 is a functional block diagram illustrating a video decoding apparatus capable of implementing the techniques of the disclosure. Hereinafter, the video decoding apparatus and sub-components of the apparatus will be described with reference to FIG. 4 The video decoding apparatus and sub-components of the apparatus will be described with reference to
[0052] The video decoding apparatus can be configured to include a decoder 410, a dequantizer 420, an inverse transformer 430, a prediction unit 440, an adder 450, a filter unit 460, and a memory 470.
[0053] As with the video encoding apparatus of FIG. 1 The respective components of the video decoding apparatus can be implemented as hardware or software or a combination of hardware and software. In addition, the functions of each component can be implemented by software, and the software functions of each component can be implemented by a microprocessor.
[0054] The decoder 410 decodes a bitstream generated by a video encoding apparatus, and extracts information on block division to determine a current block to be decoded, and prediction information and information on a residual signal required to reconstruct the current block, etc.
[0055] The decoder 410 extracts information on a CTU size from a sequence parameter set (SPS) or a picture parameter set (PPS), determines the size of a CTU, and divides a picture into CTUs of the determined size. Then, the decoder 410 determines a CTU as a highest layer (i.e., a root node) of a tree structure, and extracts division information of the CTU, thereby dividing the CTU by using the tree structure.
[0056] For example, when a CTU is partitioned by using a QTBT structure, the decoder 410 first extracts a first flag (QT_split_flag) related to QT partitioning and partitions each node into four nodes of a lower layer. For a node corresponding to a leaf node of QT, the decoder 410 extracts a second flag (MTT_split_flag) related to partitioning of MTT and information of a partition direction (vertical / horizontal) and / or a partition type (binary / ternary) to partition the leaf node into an MTT structure. This allows the corresponding node under the leaf node of QT to be recursively partitioned into a BT or TT structure.
[0057] As another example, when a CTU is partitioned by using a QTBT structure, the decoder 410 first extracts a CU split flag (split_cu_flag) indicating whether a CU is partitioned, and, after partitioning the related block, it extracts a QT split flag (split_qt_flag). When the partition type is MTT rather than QT, the decoder 410 further extracts a flag (mtt_split_cu_vertical_flag) indicating an MTT partition direction (vertical or horizontal) and / or a flag (mtt_split_cu_binary_flag) indicating an MTT partition type (binary or ternary). In the partitioning process, each node can have zero or more recursive QT partitions followed by zero or more recursive MTT partitions. For example, a CTU can immediately enter an MTT partition, or, conversely, there can be multiple QT partitions alone.
[0058] As yet another example, when a CTU is partitioned by using a QTBT structure, the decoder 410 extracts a first flag (QT_split_flag) related to QT partitioning to partition each node into four nodes of a lower layer. And, for a node corresponding to a leaf node of QT, the decoder 410 extracts a split flag (split_flag) indicating whether the node is further partitioned into a BT and partition direction information.
[0059] Further, when the decoder 410 determines a current block to be decoded through tree structure partitioning, it extracts information related to prediction type indicating whether the current block is intra-predicted or inter-predicted. When the prediction type information indicates intra-prediction, the decoder 410 extracts syntax elements of intra-prediction information (intra-prediction mode) of the current block. When the prediction type information indicates inter-prediction, the decoder 410 extracts syntax elements of inter-prediction information, i.e., information indicating a motion vector and a reference picture for reference of the motion vector.
[0060] Further, the decoder 410 extracts information on quantized transform coefficients of the current block as information on a residual signal.
[0061] The dequantizer 420 dequantizes the quantized transform coefficients. The inverse transformer 430 inverse-transforms the dequantized transform coefficients from the frequency domain to the spatial domain to reconstruct the residual signal, and thereby generates a reconstructed residual block of the current block.
[0062] In addition, when the inverse transformer 430 inverse-transforms only a partial region (sub-block) of the transform block, it extracts a flag indicating that only the sub-block of the transform block has been transformed (cu_sbt_flag), direction (vertical / horizontal) information of the sub-block (cu_sbt_horizontal_flag), and / or position information of the sub-block (cu_sbt_pos_flag), and inverse-transforms the transform coefficients of the sub-block from the frequency domain to the spatial domain to reconstruct the residual signal. Meanwhile, the inverse transformer 430 fills the remaining region of the transform block, which has not been inverse-transformed, with "0" values of the residual signal, thereby generating a final residual block of the current block.
[0063] The prediction unit 440 can include an intra-predictor 442 and an inter-predictor 444. The intra-predictor 442 is activated when the prediction type of the current block is intra-prediction, and the inter-predictor 444 is activated when the prediction type of the current block is inter-prediction.
[0064] The intra-predictor 442 determines an intra-prediction mode of the current block among a plurality of intra-prediction modes according to syntax elements of the intra-prediction mode extracted by the decoder 410, and, according to the determined intra-prediction mode, it predicts the current block by using neighboring reference pixels of the current block.
[0065] The inter-predictor 444 determines a motion vector of the current block and a reference picture for reference of the motion vector using syntax elements of inter-prediction information extracted by the decoder 410, and it predicts the current block by using the determined motion vector and the reference picture.
[0066] The adder 450 adds the residual block output from the inverse transformer to the prediction block output from the inter-predictor or the intra-predictor to reconstruct the current block. Pixels in the reconstructed current block are used as reference pixels when intra-predicting an upcoming block to be decoded.
[0067] The filter unit 460 can include a deblocking filter 462 and an SAO filter 464. The deblocking filter 462 performs deblocking and filtering on boundaries between reconstructed blocks to remove block artifacts caused by block-based decoding. The SAO filter 464 performs additional filtering on the reconstructed blocks after deblocking filtering to compensate for differences between reconstructed pixels and original pixels caused by lossy encoding. The reconstructed blocks are filtered by the deblocking filter 462 and the SAO filter 464, and are stored in the memory 470. When all blocks in a picture have been reconstructed, the reconstructed picture is used as a reference picture for inter-prediction of blocks in pictures to be encoded thereafter.
[0068] In an intra prediction method of predicting a current block using information on a reference sample, there are a plurality of intra prediction modes. A video encoding apparatus selects one mode applied to the current block from among the plurality of intra prediction modes, and signals the selected mode to a video decoding apparatus.
[0069] As FIG. 5 indicated, a conventional method (HEVC) uses 35 intra prediction modes. Among the 35 intra prediction modes, there are 33 directional prediction modes and 2 non-directional prediction modes.
[0070] In the case of a luma block consisting of a luma component in a current block, in order to encode a final intra prediction mode, three MPMs are selected for the block by using modes of neighboring blocks of the block and a statistically most frequently used mode. A 1-bit MPM flag is transmitted to indicate whether the final mode of the block is identical to one of the MPMs, and if the final mode is one of the MPMs, an MPM index value is also transmitted. If the final mode is not an MPM, a non-MPM index value is transmitted to indicate which mode among the remaining modes is the final mode.
[0071] Further, for a chroma block consisting of a chroma component in a current block, candidate intra modes consist of some of a total of 35 intra prediction modes, and an intra prediction mode of the chroma block is selected from among the candidate consistencies. Then, information indicating the selected candidate is signaled. As shown in Table 1 below, the candidate intra mode (intra_chroma_pred_mode[xCb][yCb]) consists of 0: Planar mode, 1: Vertical mode, 2: Horizontal mode, 3: DC mode, and 4: Direct mode (DM). Here, the DM refers to an intra prediction mode (IntraPredModeY[xCb][yCb]) of a luma block or a luma region corresponding to the chroma block.
[0072]
Table 1
[0073]
[0074] When the DM is identical to one of the remaining modes, i.e., 0: Planar mode, 1: Vertical mode, 2: Horizontal mode, and 3: DC mode, a 34th directional mode is added to provide consistencies of a total of 5 candidate intra modes. For example, when the intra prediction mode of the luma block is the vertical mode, the DM becomes the vertical mode, whereby the candidate intra mode consists of 0: Planar mode, 1: 34th directional mode, 2: Horizontal mode, 3: DC mode, and 4: DM mode. In other words, the 34th directional mode fills the position of the vertical mode.
[0075] Mode indices and codewords of the 5 candidate intra modes are shown in Table 2 below.
[0076] [Table 2]
[0077] value of intra_chroma_pred_mode bin string 4 0 0 100 1 101 2 110 3 111
[0078] Among the intra prediction methods, there is a current picture reference (cpr) mode used in the HEVC extension. In this mode, also called intra block copy (ibc), the prediction information of a current block is obtained from another block (reference block) located in the same picture (i.e. the current picture), as shown in FIG. 6
[0079] Among the blocks included in the current picture of FIG. 6 the blocks marked with the hatched pattern correspond to blocks or areas whose decoding has been completed (coded areas), while the blocks not marked with the pattern correspond to blocks or areas whose decoding has not been completed (not yet coded). Thus, the reference blocks used to allow the prediction information of the current block to be obtained correspond to coded blocks. The reference blocks are indicated by a motion vector (MV), and in the ibc mode this motion vector can be referred to as a block vector.
[0080] In the ibc mode, the prediction information of the current block is obtained from the reference block indicated by the MV, while in the intra mode the prediction information is obtained from the pixels adjacent to the current block. In addition, in the ibc mode the prediction information is obtained from the reference block located in the same picture, while in the inter mode the prediction information is obtained from the reference block located in a different picture. The ibc mode can be a coding method more suitable for screen content coding (SCC) of contents such as animations, rather than ordinary live-action videos.
[0081] Although the ibc mode is an intra prediction method, the syntax and semantics of the blocks coded in ibc mode use the structure and meaning of the inter prediction method as is. In other words, although it is an intra prediction method, the ibc mode is represented as a unique type of inter prediction method in which the reference picture is the current picture. For the ibc mode, the current picture is added to the reference picture list 0.
[0082] The video decoding device can determine whether the current block has been coded in ibc mode based on whether the reference picture used to predict the current block is the current picture. For example, the current block is coded with inter prediction and the signaled reference picture information indicates the current picture, indicating that the block has been coded in ibc mode.
[0083] FIG. 7 Syntax structures for determining an inter prediction mode and an intra prediction mode of a current block are shown. The inter prediction mode can be classified into a skip mode, a merge mode, and an AMVP (or inter) mode, and the ibc mode can be implemented in all inter prediction modes. In the skip mode and the merge mode, there is no explicit signaling of information indicating that they are the ibc mode, and the current block is decoded in the ibc mode when a signaled merge_idx indicates that its reference picture is a merge candidate of the current picture. In the AMVP mode, the current block is decoded in the ibc mode when a signaled ref_idx_10 indicates the current picture.
[0084] Whether the ibc mode is on or off can be defined by separate flags (sps_curr_pic_ref_enabled_flag and pps_curr_pic_ref_enabled_flag), and Tables 3 and 4 below exemplify examples of defining whether the ibc mode is on or off by each of the flags.
[0085]
Table 3
[0086]
[0087]
Table 4
[0088] pps_sce_extension(){ descriptor pps_curr_pie_ref_enabled_flag u(1) residual_adaptive_colour_transform_enabled_flag u(1) if(residual_adaptive_colour_transform_enabled_flag){ } pps_palette_predietor_initializer_present_flag u(1) }
[0089] In Tables 3 and 4, "palette_mode_enabled_flag" is a flag indicating whether the palette mode, which is another coding method suitable for SCC, is on or off, and "pps_palette_predictor_initializer_present_flag" is a flag indicating initial value setting.
[0090] The video encoding apparatus can signal information (palette_mode_flag) indicating whether the current block is coded in the palette mode to the video decoding apparatus, and the video decoding apparatus can use the information (palette_mode_flag) to determine whether the current block is coded in the palette mode.
[0091] Both the ibc mode and the palette mode are coding methods suitable for SCC, and are coding methods in which it is possible to provide high coding efficiency in an image or region in which the same color or pattern is repeated.
[0092] The present disclosure relates to a method of configuring a candidate intra mode for a chroma block in intra prediction. Specifically, the present disclosure provides a method of deriving a candidate intra mode including a DM for a chroma block in a case where block partitioning of a luma block and a chroma block are different from each other.
[0093] Before describing various embodiments of the present disclosure, main parameters referred to throughout the specification will be described.
[0094] classification of intra prediction method (mode)
[0095] Intra modes for intra prediction of a chroma block can be classified as a regular intra prediction mode, a cross-component linear model (CCLM) mode, etc.
[0096] Here, the regular intra prediction mode can refer to the above-described 35 types of intra prediction modes. However, in the present specification, the present disclosure will be described based on a total of 67 types of intra prediction modes. The 67 types of intra prediction modes can consist of two non-directional modes (a planar mode and a DC mode) and 65 directional modes, as described in FIG. 3 In Table 5 below, index values of the 67 types of intra prediction modes corresponding to index 0 to index 66 are shown.
[0097]
Table 5
[0098] intra prediction mode related name 0 INTRA_PLANAR 1 INTRA_DC 2..66 INTRA_ANGULAR2..INTRA_ANGULAR66 81..83 INTRA_LT_CCLM, INTRA_L_CCLM, INTRA_T_CCLM
[0099] Indices 81 to 83 of Table 5 indicate index values of CCLM modes. The CCLM mode refers to a mode of encoding / decoding a chroma block by using a correlation between luma and chroma. The CCLM mode generates a prediction value of a chroma block using a reconstructed value of a luma block on the premise that there is a linear relationship between luma and chroma.
[0100] The CCLM mode can be classified into three types according to a position of a reference sample used to set a linear relationship between luma and chroma. Specifically, the CCLM mode can be classified into LT_CCLM using both left (L) and top (T) reference samples, L_CCLM using only a left reference sample, and T_CCLM using only a top reference sample. Index values 81 to 83 can be assigned to each of the LT_CCLM, the L_CCLM, and the T_CCLM. A flag (cclm_enabled_flag) indicating on / off of the CCLM mode can be defined in one or more positions of a sequence level header, a picture level header, and a slice header. When cclm_enabled_flag = 1 (CCLM function is on), the indices 81 to 83 can be regarded as one of intra prediction methods and signaled from a video encoding apparatus to a video decoding apparatus.
[0101] block partition form
[0102] In intra-frame prediction, luma blocks and chroma blocks can be divided into blocks with different shapes (dual-tree).
[0103] FIG. 8 An example block partitioning form in a dual tree is shown. FIG. 8 (a) shows the block partitioning of the luma blocks in the CTU (Code Tree Unit), and (b) shows the partitioning of the chroma blocks (cb and cr) that correspond to but differ from the luma blocks in the CTU. The two chroma blocks, cb and cr, share a common block partitioning form, as shown in (a). FIG. 8 As shown in (b). FIG. 8 In this model, based on the YUV 420 (4:2:0) format, the CTU size of the luma block is set to 32×32, and the CTU size of the chroma blocks (cb and cr) is set to 16×16.
[0104] Whether a luma block and a chroma block have different dual trees can be defined in one or more locations at the sequence-level header, picture-level header, slice header, or tile group header. Whether they have a dual tree can be indicated using a separate flag (qtbtt_dual_tree_intra_flag). For example, qtbtt_dual_tree_intra_flag = 1 can mean that the luma block and the chroma block are dual trees, while qtbtt_dual_tree_intra_flag = 0 can mean that the luma block and the chroma block are not dual trees (they have the same block partitioning structure).
[0105] This specification describes various embodiments of the present disclosure with IBC mode or palette mode enabled and luma blocks and chroma blocks divided into different block partitions (with dual trees).
[0106] like FIG. 9 As shown, the video encoding / decoding device may include a determining unit 910, a setting unit 920, and a configuration unit 930.
[0107] 1. Determining unit 910 can determine whether the encoding mode of the luminance region corresponding to the chroma block is available for use. FIG. 10 Step S1010).
[0108] luma region corresponding to chroma block
[0109] Whether an encoding mode is available can be determined on the luma region corresponding to a chroma block. The correspondence between chroma blocks and luma regions can be determined based on whether the chroma blocks and luma regions are in corresponding positions. FIG. 11 The diagram shows an example of the correspondence between luminance regions and chrominance blocks. FIG. 11A CTU composed of one or more luma regions or luma blocks is shown in (a), and FIG. 11 A CTU composed of one or more chroma regions or chroma blocks is shown in (b). The hatched region indicates the correspondence of a plurality of luma regions to one chroma block. In FIG. 11 In (a) of FIG. 1, the region indicated by the solid line and the dashed line represents a luma block.
[0110] As shown in (a) of FIG. 1, one or more luma blocks can exist in a luma region corresponding in position to one chroma block. For example, a total of 11 luma blocks can be included in a luma region corresponding in position to the chroma block (chroma region) indicated by hatching. As another example, one luma block can be included in a luma region corresponding in position to a chroma block. In this case, when it can be determined whether the coding mode of the luma block corresponding to the chroma block is available, the luma region composed of one luma block can be referred to as a luma block. FIG. 11
[0111] coding mode (intra prediction mode) of luma region
[0112] The coding mode of the luma region can be determined by the coding mode of any one of the luma blocks located in the luma region. For example, the luma block used to determine the coding mode can be a luma block including or covering one or more reference samples located in the luma region. The luma block including one or more reference samples can be referred to as a reference luma block.
[0113] Since the coding mode of the luma region is determined by the coding mode of the luma block included therein, step S1010 can be a process of "determining the availability of the coding mode of the luma block corresponding to the chroma block."
[0114] In FIG. 11 In (a) of FIG. 1, the region indicated by the solid line and the dashed line represents a luma block.
[0115] Equations 1 to 5 respectively represent a method of setting the coding mode of a luma block including a reference sample (i.e., a reference luma block) to DM among the candidate intra-frame modes of the chroma block.
[0116] [Equation 1]
[0117] DmTl = IntraPredModeY[xPb][yPb]
[0118] [Equation 2]
[0119] DmTl = IntraPredModeY[xPb][yPb]
[0120] [Equation 3]
[0121] DmCr = IntraPredModeY[xPb + (nPbW » 1)][yPb + (nPbH » 1)]
[0122] [Equation 4]
[0123] DmBl = IntraPredModeY[xPb][yPb + (nPbH - 1)]
[0124] [Equation 5]
[0125] DmBr = IntraPredModeY[xPb + (nPbW - 1)][yPb + (nPbH - 1)]
[0126] In the above equations, xPb and yPb represent the top-left position of the luma region, and nPbW and nPbH represent the width and height of the luma region, respectively. IntraPredModeY[x][y] means the intra prediction information of the luma block at the (x, y) position. For example, in Equation 3, the CR reference sample can be the sample at the position shifted by half of nPbW on the horizontal axis and by half of nPbH on the vertical axis from (xPb, yPb).
[0127] Since the position of the TL reference sample is (xPb, yPb), Equation 1 indicates that the coding mode of the reference luma block including the TL reference sample is set to DM (DmTl). Since the position of the TR reference sample is (xPb + (nPbW - 1), yPb), Equation 2 indicates that the coding mode of the reference luma block including the TR reference sample is set to DM (DmTr). Since the position of the CR reference sample is (xPb + (nPbW » 1), yPb + (nPbH » 1)), Equation 3 indicates that the coding mode of the reference luma block including the CR reference sample is set to DM (DmCr). Since the position of the BL reference sample is (xPb, yPb + (nPbH - 1)), Equation 4 indicates that the coding mode of the reference luma block including the BL reference sample is set to DM (DmBl). Since the position of the BR reference sample is (xPb + (nPbW - 1), yPb + (nPbH - 1)), Equation 5 indicates that the coding mode of the reference luma block including the BR reference sample is set to DM (DmBr).
[0128] availability of coding mode
[0129] As described above, the intra modes for intra prediction of a chroma block can be classified as regular intra modes, CCLM mode, and the like. The intra modes for intra prediction of a luma block can be classified as regular intra modes, ibc mode, palette mode, and the like.
[0130] In the present disclosure, when the coding mode of a luma region (reference luma block) corresponds to a regular intra mode, it can be determined that the same coding mode is available as a DM mode for a chroma block. On the other hand, when the coding mode of a luma region corresponds to an ibc mode or a palette mode (not to a regular intra mode), it can be determined that the coding mode of the corresponding luma region is not available.
[0131] The order of the determination of availability can be changed. For example, it can be first determined whether the coding mode of a luma region corresponds to an ibc mode or a palette mode, and then it can be determined whether the coding mode corresponds to a regular intra mode. As another example, it can be first determined whether the coding mode of a luma region corresponds to a regular intra mode, and then it can be determined whether the coding mode corresponds to an ibc mode or a palette mode.
[0132] When it is first determined whether the coding mode of a luma region corresponds to an ibc mode or a palette mode, if yes, it can be determined that the coding mode of the luma region is not available. In contrast, if the coding mode does not correspond to an ibc mode or a palette mode, it can be determined that the coding mode of the luma region can be determined to be available as a DM mode.
[0133] The information (ibc_enabled_flag) for controlling the enablement or disablement of the ibc mode can be defined in one or more locations among a sequence level header, a picture level header, a slice header, or a tile group header. Similarly, the information (pcm_enabled_flag) indicating the enablement / disablement of the palette mode can also be defined in one or more locations among a sequence level header, a picture level header, a slice header, or a tile group header.
[0134] Further, in order to determine the coding mode of a luma region (luma block), it is necessary to pre-set or store the coding mode (coding information) of the luma region. FIG. 12 An example in which the coding mode of a luma block is pre-stored in the memory 190, 470 in units of NxN (N is a positive integer) is shown.
[0135] FIG. 12 In (a), the luma blocks #1 to #16 separated by solid lines are shown, FIG. 12 In (b), a format in which the coding mode of a luma block is stored for a total of 64 division regions of a 4x4 unit is shown. As an example, when the coding mode of a luma block corresponding to #2, #9, and #12 of (a) in FIG. 10 belongs to an unavailable mode, in (b), the coding mode of the luma block is not stored in the 4x4 unit. FIG. 12 In (b), a format in which the coding mode of a luma block is stored for a total of 64 division regions of a 4x4 unit is shown. As an example, when the coding mode of a luma block corresponding to #2, #9, and #12 of (a) in FIG. 10 belongs to an unavailable mode, in (b), the coding mode of the luma block is not stored in the 4x4 unit.FIG. 12 In (b) of the above, the specific mode can be stored in four #2 regions, four #9 regions, and one #12 region. The specific mode can be a mode prepared in a case where the coding mode of the luma block is not available.
[0136] 2. When determining whether the coding mode of the luma region is available, the setting unit 920 can set the coding mode (DM) for any one of the candidate intra modes (step S1020 of the above). The target of the setting unit 920 to set the coding mode can be a DM included in the candidate intra modes of the chroma region. FIG. 10
[0137] When the coding mode of the luma region is available (encoding is performed in the normal intra mode), the setting unit 920 can set the DM as the coding mode of the relevant luma region. In contrast, when the coding mode of the luma region is not available (encoding is performed in the ibc mode or the palette mode), the setting unit 920 can set the DM as the default mode.
[0138] default mode
[0139] Any one of the normal intra modes can be set as the default mode. In particular, the default mode can be the planar mode, the DC mode, or the directional mode. The following description assumes that the default mode is equivalent to the DC mode.
[0140] 3. The configuration unit 930 can configure the candidate intra modes (step S1030 of the above) by including the candidate intra mode (DM) set as the default mode (DC mode). FIG. 10
[0141] Tables 6 and 7 show examples of configuring the candidate intra modes for the chroma block. Table 6 shows the candidate intra modes when the CCLM mode is off, and Table 7 shows the candidate intra modes when the CCLM mode is on.
[0142]
Table 6
[0143]
[0144]
Table 7
[0145]
[0146] In Tables 6 and 7, the fourth index indicates the DM. The candidate intra modes not including the CCLM mode can include five candidate intra modes (planar, vertical, horizontal, DC, and DM). When the DM matches any one of the planar, vertical, horizontal, and DC, the directional mode of No. 66 is added to configure five candidate intra modes.
[0147] For example, when the DM is set to planar, the candidate intra modes can include the 66 directional mode, vertical, horizontal, DC, and DM (planar). When the DM is set to DC, the candidate intra modes can include planar, vertical, horizontal, 66 directional mode, and DM (DC).
[0148] Table 8 shows binarization methods of Table 6 (when the CCLM mode is off), and Table 9 shows binarization methods of Table 7 (when the CCLM mode is on). As shown in Tables 8 and 9, the bits assigned to the DM are relatively small, thereby showing that the compression performance of the DM is superior to that of other mode candidates.
[0149] [Table 8]
[0150] value of intra_chroma_pred_mode bin string 4 0 0 100 1 101 2 110 3 111
[0151] [Table 9]
[0152] value of intra_chroma_pred_mode bin string 5 10 6 110 7 111 4 00 0 0100 1 0101 2 0110 3 0111
[0153] When the CCLM mode is on (Table 9), the signaling differs according to the flag (cclm_mode_flag) value indicating whether it is a regular intra mode or a CCLM mode. When in the regular intra mode (cclm_mode_flag = 0), the intra mode index value is signaled. When in the CCLM mode (cclm_mode_flag = 1), the CCLM mode index (cclm_mode_idx) value is additionally signaled. In the regular intra mode, the same codewords as in Table 8 are assigned to the regular intra mode indexes 0 to 4, and in the CCLM mode, a truncated rice (TR) method is applied such that the codewords "0", "10", and "11" are assigned to the CCLM mode indexes 5 to 7.
[0154] embodiment 1
[0155] The intra predictor 122 / 442 can determine whether an encoding mode (mode_luma) of a luma region corresponding to the chroma block is a regular intra mode (whether the encoding mode is available) (S1310). The encoding mode of the luma region can be an encoding mode of any one of a luma block including a CR reference sample, a luma block including a TL reference sample, a luma block including a TR reference sample, a luma block including a BL reference sample, and a luma block including a BR reference sample.
[0156] When the coding mode of the luma region is the regular intra mode, the intra predictor 122 / 442 can set the coding mode of the luma region as the DM (S1320). In contrast, when the coding mode of the luma region is not the regular intra mode (but corresponds to the ibc mode or the palette mode), the intra predictor 122 / 442 can set the DC mode (default mode) as the DM (S1330).
[0157] When the DM is set, the intra predictor 122 / 442 can configure the candidate intra modes of the chroma block by including the DM (S1340 to S1358). When the DM matches any one of the other candidate intra modes (planar, vertical, horizontal, and DC), the 66th direction mode can be added to configure five candidate intra modes. Steps S1340, S1342, S1344, and S1346 are processes of comparing the DM with the other candidate intra modes to determine whether they are identical. Although FIG. 13 It is exemplified that the DM is determined whether it is identical to the other candidate intra modes in the order of planar → DC → vertical → horizontal, but the order can be changed.
[0158] Table 10 below shows an example of the candidate intra modes configured according to the DM in the case where the coding mode of the luma region is determined as the coding mode of the reference luma block including the CR reference sample. As shown in Table 10, when the DM is set as DC (1), the candidate intra modes can include 0: planar (0), 1: vertical (50), 2: horizontal (18), 3: 66th direction mode, and 4: DM (DC=1).
[0159]
Table 10
[0160]
[0161] FIG. 14 An example of applying the method of Embodiment 1 is exemplified. FIG. 14 The luma region is shown in (a), and the chroma region is shown in (b). It is assumed that the coding mode of the luma region is each determined by the coding mode of the reference luma block including the CR reference sample included in each luma region. In addition, it is assumed that the coding mode of the luma region ① and the coding mode of the luma region ② are the ibc mode, and the coding mode of the luma region ③ is the intra mode.
[0162] Since the coding mode of the luma region 1 corresponding to the position of the chroma block 1 is the ibc mode, the DM of the chroma block 1 can be set to the DC mode (default mode). Since the coding mode of the luma region 2 corresponding to the position of the chroma block 2 is the ibc mode, the DM of the chroma block 2 can also be set to the DC mode. The coding mode of the luma region 3 corresponding to the position of the chroma block 3 is the intra mode, and thus the DM of the chroma block 3 can be set to the same as the coding mode of the luma region 3.
[0163] embodiment 2
[0164] Embodiment 2 is a method of determining the coding mode of a luma region by using a plurality of reference samples.
[0165] As described above, a luma region can include one or more reference samples. When there are a plurality of reference samples in one luma region, there can be one or more reference luma blocks including the reference samples. When there are a plurality of reference luma blocks for one luma region, the coding mode of each of the plurality of reference luma blocks is checked to determine the coding mode of the luma region.
[0166] The intra predictor 122 / 442 can determine whether the coding mode (mode_luma) of the luma region corresponding to the chroma block is the regular intra mode (S1510, S1512). The intra predictor 122 / 442 can search a plurality of reference samples in a preset order and determine whether the coding mode of the reference luma block is available for use. For example, when there are a CR reference sample and a TL reference sample in the luma region, the intra predictor 122 / 442 can search the reference samples in the order of CR→TL or TL→CR and determine the availability of the coding mode of the reference luma block including the corresponding reference sample (S1510 and S1512). The preset order can vary, for example, it can be a raster scan order of 4x4 units. For example, when the coding mode of the reference luma block including the CR reference sample is not available in step S1510, step S1512 can be performed.
[0167] Upon detecting a reference luma block encoded in the regular intra mode in the process of determining the availability in the preset order, the coding mode of the relevant luma region can be determined to be available. Upon detecting a plurality of reference luma blocks encoded in the regular intra mode, the coding mode of the first searched reference luma block can be regarded as the coding mode of the luma region. In contrast, in the case where no reference luma block encoded in the regular intra mode is detected (when the coding modes of the reference luma blocks are all not available for use), it can be determined that the coding mode of the relevant luma region is not available.
[0168] When the coding mode of the luma region is coded in the regular intra mode, the intra predictor 122 / 442 can set the coding mode of the luma region to the DM (S1520, S1522). For example, when the coding mode of the luma region is the coding mode of the reference luma block including the CR reference sample, the DM can be set to the coding mode of the reference luma block including the CR reference sample (S1520). As another example, when the coding mode of the luma region is the coding mode of the reference luma block including the TL reference sample, the DM can be set to the coding mode of the reference luma block including the TL reference sample (S1522).
[0169] In contrast, when the coding mode of the luma region is not the regular intra mode, the intra predictor 122 / 442 can set the DC mode (default mode) to the DM (S1530).
[0170] When the DM is set, the intra predictor 122 / 442 can configure the candidate intra modes by including the DM (S1540 to S1558). When the DM is equal to any one of the other candidate intra modes (planar, vertical, horizontal, and DC), the 66th direction mode is added to configure five candidate intra modes. Steps S1540, S1542, S1544, and S1546 are processes of comparing the DM with the other candidate intra modes to determine whether they are identical. Although FIG. 15 It is exemplified that the DM is determined whether it is identical to the other candidate intra modes in the order of planar→DC→vertical→horizontal, but the order can be changed.
[0171] FIG. 16 An example of applying the method of Embodiment 2 is exemplified. FIG. 16 The luma region is shown in (a), and the chroma region is shown in (b). It is assumed that the luma region includes the CR reference sample and the TL reference sample, and the availability of the coding mode of the luma region is determined by searching the reference samples in the order of CR→TL.
[0172] In the luma region ① corresponding to the position of the chroma block ①, the coding mode of the reference luma block including the CR reference sample is the ibc mode, and the coding mode of the reference luma block including the TL reference sample is the intra mode. Accordingly, the DM of the chroma block ① can be set to the intra mode of the reference luma block including the TL reference sample (intra(TL)).
[0173] In the luma region ② corresponding to the position of the chroma block ②, the coding mode of the reference luma block including the CR reference sample is the ibc mode, and the coding mode of the reference luma block including the TL reference sample is the intra mode. Accordingly, the DM of the second chroma block can be set to the intra mode of the reference luma block including the TL reference sample (intra(TL)).
[0174] In the luma region ③ corresponding to the chroma block ③, the coding mode of the reference luma block including the CR reference sample and the coding mode of the reference luma block including the TL reference sample are intra modes. Thus, the DM of the chroma block ③ can be set to the intra mode of the reference luma block including the CR reference sample (intra(CR)).
[0175] As described above, the embodiment 2 checks the coding modes of the plurality of luma blocks to determine the coding mode of the luma region, so that a more accurate setting of the DM can be provided.
[0176] embodiment 3
[0177] The embodiment 3 is a method of additionally checking the coding modes of the neighboring blocks adjacent to the relevant chroma block when the coding mode of the luma region is not available.
[0178] As shown in the embodiment 2, the neighboring blocks adjacent to the chroma block (current block) can include a neighboring block L located at the left side of the chroma block and a neighboring block A located above the chroma block. FIG. 18
[0179] The intra predictor 122 / 442 can determine whether the coding mode (mode_luma) of the luma region corresponding to the chroma block is a regular intra mode (S1710). If so, the intra predictor 122 / 442 can set the coding mode of the luma region as the DM (S1720).
[0180] On the contrary, when the coding mode of the luma region is not the regular intra mode, the intra predictor 122 / 442 can further determine whether the coding modes of one or more neighboring blocks adjacent to the chroma block are available (S1712, S1714).
[0181] The intra predictor 122 / 442 can determine whether the coding modes of the neighboring blocks are available by sequentially searching the neighboring blocks. For example, the intra predictor 122 / 442 can first determine whether the coding mode (mode_chroma(L)) of the neighboring block L is available (S1712), and if not, can proceed to determine whether the coding mode (mode_chroma(A)) of the neighboring block A is available (S1714).
[0182] In step S1712, when the coding mode of the neighboring block L is available, the DM can be set to the coding mode of the neighboring block L. In step S1714, when the coding mode of the neighboring block A is available, the DM can be set to the coding mode of the neighboring block A. When the coding modes of the neighboring blocks are not available, the DC mode (default mode) can be set as the DM (S1730).
[0183] When the DM is set, the intra predictor 122 / 442 can configure the candidate intra modes by including the DM (S1740 to S1758). When the DM matches any one of the other candidate intra modes (planar, vertical, horizontal, and DC), the 66th direction mode is added to configure five candidate intra modes. Steps S1740, S1742, S1744, and S1746 are processes of comparing the DM with the other candidate intra modes to determine whether they are identical. Although FIG. 17 Although it is exemplified that the DM is determined whether it is identical to the other candidate intra modes in the order of planar→DC→vertical→horizontal, the order can be changed.
[0184] embodiment 4
[0185] Embodiment 4 is about a method of exclusively selecting the ibc mode, the palette mode, and the enable / disable or apply / non-apply of the DM mode.
[0186] The selection can be performed at the sequence, picture, slice, tile group, and / or CTU level. For example, the slice header (or tile group header) can be arranged to hold information (flag information) indicating whether the ibc mode is applied to determine whether the ibc mode is used in the relevant slice. According to the information indicating whether the ibc mode is applied, the ibc mode can be exclusively enabled (the DM or palette mode is disabled) in a specific slice, and the DM or palette mode can be exclusively enabled (in the case of disabling the ibc mode) in other slices. As another example, the CTU header can be arranged to hold information (flag information) indicating whether the DM is applied to determine whether the DM is used for each CTU unit.
[0187] The information (dm_enabled_flag) capable of enabling / disabling the DM can be located in one or more of the sequence level header, the picture level header, the slice header, or the tile group header. When the DM is on (dm_enabled_flag = 0), the process of setting the DM itself can be omitted.
[0188] In this case, the number of candidate intra modes can be changed, and the binarization method for representing them can also be changed. For example, when only the DM is enabled (ibc and palette are disabled), the candidate intra modes can be configured as shown in Table 6, and the DM can be set as in steps S1358, S1558, and S1758. As another example, when only the ibc mode or the palette mode is enabled (the DM is disabled), the candidate intra modes can be configured as shown in Tables 11 and 12 below. Table 11 shows the case where the CCLM mode is off, and Table 12 shows the case where the CCLM mode is on.
[0189]
Table 11
[0190] intra_chroma_pred_mode[xCb][yCb] mode bin string 0 0 00 1 50 01 2 18 10 3 1 11
[0191]
Table 12
[0192] intra_chroma_pred_mode[xCb][yCb] mode bin string 0 0 1000 1 50 1001 2 18 1010 3 1 1011 4 81 0 5 82 110 6 83 111
[0193] While example embodiments of the present disclosure have been described for illustrative purposes, those skilled in the art will appreciate that various modifications, additions and substitutions are possible, without departing from the concept and scope of the claimed invention. Therefore, example embodiments of the present disclosure have been described in order to be clear and concise, and the scope of the technical idea of the present embodiments is not limited by the examples. Accordingly, those of ordinary skill in the art will understand that the scope of the claimed invention is not limited by the explicitly described embodiments above, but by the claims and their equivalents.
[0194] Cross Reference to Related Applications
[0195] This application claims priority to Korean Patent Application No. 10-2019-0061736, filed May 27, 2019, and Korean Patent Application No. 10-2019-0140649, filed November 6, 2019, the disclosures of both of which are incorporated herein by reference in their entireties.
Claims
1. A video coding method for intra-frame prediction of chroma blocks, the video coding method comprising the following steps: Multiple intra-frame modes are used to configure candidate intra-frame modes for the chroma block, including a direct mode DM, where DM is the intra-frame mode of the luma region corresponding to the chroma block. The intra-mode of the chroma block is selected from the candidate intra-modes; as well as The information used to indicate the selected intra-frame mode is encoded. The step of configuring the candidate intra-frame mode includes the following steps: Determine whether the luminance region corresponding to the chroma block has a coding mode that can be used as the intra-frame mode of the chroma block. Wherein, when the encoding mode of the brightness region is intra-block copy (ibc) mode, the encoding mode of the brightness region is determined to be unavailable. In the iBC mode, intra-frame prediction is performed using a reference block in the current image indicated by a motion vector; and When the encoding mode of the brightness region is unavailable, the DM is set to a predefined default mode.
2. The video encoding method according to claim 1, wherein, The default mode is intra-frame DC mode.
3. The video encoding method according to claim 1, wherein, The encoding mode of the brightness region includes: The encoding pattern of a reference luminance block that covers at least one reference sample located in the luminance region, one or more luminance blocks included in the luminance region.
4. The video encoding method according to claim 3, wherein, The reference sample includes: The central CR reference sample is located in the center of the brightness region.
5. The video encoding method according to claim 1, wherein, Setting up the DM includes the following steps: When the encoding mode of the brightness region is available, the DM is set to the encoding mode of the brightness region.
6. The video encoding method according to claim 1, wherein, The steps for configuring the candidate intra-frame mode include the following: The candidate intra-frame mode is configured by setting the candidate intra-frame mode that is the same as the DM in the candidate intra-frame mode to directional mode 66.
7. A video decoding apparatus for intra-frame prediction of chroma blocks, the video decoding apparatus comprising: A configuration unit is configured to use multiple intra-frame modes to configure candidate intra-frame modes for the chroma block, the candidate intra-frame modes including a direct mode DM, the DM being an intra-frame mode for the lumen region corresponding to the chroma block; A decoder configured to decode information indicating the intra-mode of the chroma block among the candidate intra-modes, to determine the intra-mode of the chroma block based on the decoded information. The video decoding device further includes: A determining unit, configured to determine whether the luminance region corresponding to the chroma block has a coding mode that can be used as the intra-frame mode of the chroma block. Wherein, when the encoding mode of the brightness region is intra-block copy (ibc) mode, the encoding mode of the brightness region is determined to be unavailable. In the iBC mode, intra-frame prediction is performed using a reference block in the current image indicated by a motion vector; and The setting unit is configured to set the DM to a predefined default mode when the encoding mode of the brightness region is unavailable.
8. The video decoding device according to claim 7, wherein, The default mode is intra-frame DC mode.
9. The video decoding device according to claim 7, wherein, The encoding mode of the brightness region includes: The encoding pattern of a reference luminance block that covers at least one reference sample located in the luminance region, one or more luminance blocks included in the luminance region.
10. The video decoding device according to claim 9, wherein, The reference sample includes: The central CR reference sample is located in the center of the brightness region.
11. The video decoding device according to claim 7, wherein, The setting unit is configured to set the DM to the encoding mode of the brightness region when the encoding mode of the brightness region is available.
12. The video decoding device according to claim 7, wherein, The configuration unit is configured to configure the candidate intra-frame mode by setting the candidate intra-frame mode that is the same as the DM among the candidate intra-frame modes to directional mode 66.
13. A method for transmitting a bitstream including encoded video data, the method comprising the steps of: The bitstream is generated by performing intra-frame prediction on chroma blocks; as well as Send the bit stream, The step of generating the bit stream includes the following steps: Multiple intra-frame modes are used to configure candidate intra-frame modes for the chroma block, including a direct mode DM, where DM is the intra-frame mode of the luma region corresponding to the chroma block. Select the intra-mode of the chroma block from the candidate intra-modes; and The information used to indicate the selected intra-frame mode is encoded. The step of configuring the candidate intra-frame mode includes the following steps: Determine whether the luminance region corresponding to the chroma block has a coding mode that can be used as the intra-frame mode of the chroma block. Wherein, when the encoding mode of the brightness region is the intra-block copy (ibc) mode, the encoding mode of the brightness region is determined to be unavailable. In the iBC mode, intra-frame prediction is performed using a reference block in the current image indicated by a motion vector. When the encoding mode of the brightness region is unavailable, the DM is set to a predefined default mode.
Citation Information
Patent Citations
Porous implant with bone immount structure by freeze casting and method for manufacturing the same
KR1020190061736A
Image forming apparatus for driving pickup roller
KR1020190140649A