Method and apparatus for selecting reference samples for deriving cross-component relationship model in intra prediction

By using the brightness component of the current block or the information of adjacent samples to derive the temporary sampling position, it solves the problem in the existing technology that the derivation of the cross-component relationship model relies on the preset sample position, and achieves higher video encoding and decoding efficiency and quality.

CN119343921APending Publication Date: 2025-01-21HYUNDAI MOTOR CO LTD +2
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202380040845.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-04-27
Filing Date
2023-05-02
Publication Date
2025-01-21

AI Technical Summary

Technical Problem

When deriving the cross component relationship model, the existing cross component prediction technology relies on the preset reference sample location, which makes it difficult to improve the encoding efficiency and video quality.

Method used

By utilizing the luminance component of the current block or the spatial and statistical information of adjacent samples, the temporary sampling position is derived, and the cross-component relationship model is derived through the samples at the final position.

Benefits of technology

Improved video encoding and decoding efficiency and enhanced video quality through more accurate reference sample selection and model derivation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119343921A_ABST
    Figure CN119343921A_ABST
Patent Text Reader

Abstract

A method of selecting reference samples for deriving a cross-component relationship model in intra prediction is disclosed. In this embodiment, a video decoding device derives a temporary sampling position from neighboring samples of a current block by utilizing a pre-reconstructed luminance component of the current block or characteristics of the neighboring samples. The image decoding apparatus selects a final position by evaluating and adjusting the temporary sampling position, and then derives a luma-chroma cross-component relationship model by using samples of the final position. An image decoding device predicts a chroma component of a current block by applying a cross-component relationship model to a pre-reconstructed luma component.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a method for selecting reference samples for deriving a cross-component relationship model in intra-frame prediction. Background Art

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

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

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

[0005] However, as image size, resolution and frame rate gradually increase, the amount of data to be encoded will also increase. Accordingly, new compression technologies are needed that provide higher encoding and decoding efficiency and improved image enhancement effects than existing compression technologies.

[0006] On the other hand, the cross-component prediction technology mainly predicts the chrominance component based on the similarity between the luminance component and the chrominance component of the constituent block. The latest standard VVC applies a cross-component prediction technology based on a linear model to predict the chrominance component. For example, a technology is applied to predict the chrominance component block from the luminance component block to perform cross-component prediction. However, in the existing cross-component prediction technology, reference samples at preset positions are used based on the sizes of the luminance component block and the chrominance component block to derive a linear model. Therefore, an efficient method is needed to derive a cross-component relationship model to improve video coding efficiency and video quality. Summary of the invention

[0007] Technical issues

[0008] The present invention is dedicated to providing a video coding method and apparatus, which is used to extract reference samples based on the spatial and statistical information of the luminance component or adjacent samples of the current block when predicting the current chrominance block using a luminance-chrominance cross-component relationship model. The video coding method and apparatus derive the cross-component relationship model by using the extracted reference samples.

[0009] Technical Solution

[0010] At least one aspect of the present invention provides a method for reconstructing the chrominance component of a current block performed by a video decoding device. The method includes deriving a temporary sampling position from adjacent samples of the current block by utilizing the characteristics of the reconstructed luminance component or adjacent samples of the current block. Here, the current block includes a luminance component and a chrominance component. The method also includes evaluating and adjusting the temporary sampling position to select a final position for deriving a cross-component relationship model between the luminance component and the chrominance component. The method also includes deriving the cross-component relationship model by utilizing the samples at the final position. The method also includes generating a chrominance prediction value for the chrominance component by applying the cross-component relationship model to the luminance component.

[0011] Another aspect of the present invention provides a method for predicting the chrominance component of a current block performed by a video encoding device. The method includes deriving a temporary sampling position from adjacent samples of the current block by utilizing the characteristics of the reconstructed luminance component or adjacent samples of the current block. Here, the current block includes a luminance component and a chrominance component. The method also includes evaluating and adjusting the temporary sampling position to select a final position for deriving a cross-component relationship model between the luminance component and the chrominance component. The method also includes deriving the cross-component relationship model by utilizing the samples at the final position. The method also includes generating a chrominance prediction value for the chrominance component by applying the cross-component relationship model to the luminance component.

[0012] Another aspect of the present invention provides a computer-readable recording medium that stores a bitstream generated by a video encoding method. The video encoding method includes deriving a temporary sampling position from adjacent samples of the current block by utilizing the reconstructed brightness component of the current block or the characteristics of adjacent samples. Here, the current block includes a brightness component and a chrominance component. The video encoding method also includes evaluating and adjusting the temporary sampling position to select a final position for deriving a cross-component relationship model between the brightness component and the chrominance component. The video encoding method also includes deriving the cross-component relationship model by utilizing samples at the final position. The video encoding method also includes generating a chrominance prediction value of the chrominance component by applying the cross-component relationship model to the brightness component.

[0013] Beneficial Effects

[0014] As described above, the present invention provides a video coding method and apparatus, which is used to extract reference samples based on the spatial and statistical information of the luminance component or adjacent samples of the current block when predicting the current chrominance block using the luminance-chrominance cross-component relationship model. The video coding method and apparatus derive the cross-component relationship model by using the extracted reference samples. Therefore, the video coding method and apparatus improve the video coding efficiency and enhance the video quality. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] Figure 1 is a block diagram of a video encoding device that can implement the technology of the present invention.

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

[0017] Figure 3a and Figure 3b Multiple intra prediction modes are shown including a wide-angle intra prediction mode.

[0018] Figure 4 Shows the neighboring blocks of the current block.

[0019] Figure 5 is a block diagram of a video decoding device that can implement the technology of the present invention.

[0020] Figure 6 is a flowchart illustrating a cross-component prediction method for chroma components performed by a video decoding apparatus according to an embodiment of the present invention.

[0021] Figures 7a to 7c is a schematic diagram illustrating temporary sampling positions based on a direction pattern according to an embodiment of the present invention.

[0022] Figure 8 is a schematic diagram showing temporary sampling locations according to an embodiment of the present invention.

[0023] Figure 9a and Figure 9b is a schematic diagram showing a temporary sampling position according to another embodiment of the present invention.

[0024] Fig.10a and Fig.10b is a schematic diagram illustrating temporary sampling positions based on an adjusted orthogonal projection range according to an embodiment of the present invention.

[0025] Fig.11 is a schematic diagram illustrating temporary sampling positions based on an adjusted orthogonal projection range according to another embodiment of the present invention.

[0026] Fig.12 is a schematic diagram showing an orthogonal projection range and a temporary sampling position based on a non-directional mode according to an embodiment of the present invention.

[0027] Fig.13 is a schematic diagram showing a temporary sampling position for each sub-block according to an embodiment of the present invention.

[0028] Fig.14 is a schematic diagram illustrating a corresponding luminance region of a current chrominance region according to an embodiment of the present invention.

[0029] Fig.15 is a schematic diagram illustrating an evaluation block of a temporary sampling position according to an embodiment of the present invention.

[0030] Fig.16 is a schematic diagram illustrating correction of a relational model according to an embodiment of the present invention. DETAILED DESCRIPTION

[0031] Hereinafter, some embodiments of the present invention will be described in detail with reference to the attached illustrative 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, when it is considered that the detailed description of related known components and functions obscures the subject matter of the present invention, the detailed description of related known components and functions may be omitted for the sake of clarity and brevity.

[0032] Figure 1 is a block diagram of a video encoding device that can implement the technology of the present invention. Figure 1 A video encoding device and components of the device are described in detail.

[0033] The encoding device may include: an image 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 filtering unit 180 and a memory 190.

[0034] 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 the microprocessor can also be implemented to execute the function of the software corresponding to each component.

[0035] A video consists of one or more sequences including multiple images. Each image is divided into multiple regions, and encoding is performed on each region. For example, an image 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 (coding tree unit, CTU). In addition, each CTU is divided into one or more coding units (coding unit, CU) through a tree structure. The information applied to each coding unit (CU) is encoded as the syntax of the CU, and the information commonly 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 images is encoded as a picture parameter set (Picture Parameter Set, PPS) or a picture header. In addition, the information commonly referenced by multiple images is encoded as a sequence parameter set (Sequence Parameter Set, SPS). In addition, the information commonly referenced by one or more SPSs is encoded as a video parameter set (Video Parameter Set, VPS). In addition, information commonly applied to one tile or tile group may also be encoded as syntax of the tile or tile group header.The syntax included in the SPS, PPS, slice header, tile or tile group header may be referred to as a high-level syntax.

[0036] The image divider 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 transmitted to a video decoding device.

[0037] The image divider 110 divides each image 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 coding.

[0038] The tree structure can be a quadtree (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 (binarytree, BT), in which a higher node is split into two lower nodes. The tree structure can also be a ternary tree (ternarytree, 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 in which two or more structures in the QT structure, BT structure and TT structure are mixed. For example, a quadtree plus binary tree (quadtree plus binarytree, QTBT) structure can be used, or a quadtree plus binary tree ternary tree (quadtree plus binarytreeternarytree, QTBTTT) structure can be used. Here, a binary tree ternary tree (BTTT) is added to the tree structure to be called a multiple-type tree (multiple-type tree, MTT).

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

[0040] like Figure 2 As shown, the CTU can be first 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 notified to the video decoding device with 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 a BT structure or a 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, a direction for horizontally splitting blocks of the corresponding node and a direction for vertically splitting blocks of the corresponding node. As Figure 2 As shown, when MTT splitting starts, the entropy encoder 155 encodes a second flag (mtt_split_flag) indicating whether the node is split, and when the node is split, a flag additionally indicating the splitting direction (vertical or horizontal) and / or a flag indicating the splitting type (binary or trifurcated) and notifies the video decoding device of the same by signal.

[0041] Alternatively, before encoding the first flag (QT_split_flag) indicating whether each node is split into four nodes of the lower layer, the 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, which is the 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 in the above scheme.

[0042] 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). The entropy encoder 155 encodes 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, and transmits them to the video decoding device. On the other hand, there may be another type in which the block of the corresponding node is split into two blocks that are asymmetric to each other. The asymmetric form may include a form in which the block of the corresponding node is split into two rectangular blocks with 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.

[0043] The CU may have various sizes according to the QTBT or QTBTTT partitioned from the CTU. Hereinafter, the block corresponding to the CU to be encoded or decoded (i.e., the leaf node of the QTBTTT) is referred to as the "current block". When QTBTTT partitioning is adopted, the shape of the current block may also be a rectangular shape in addition to a square shape.

[0044] 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.

[0045] Typically, each of the current blocks in an image may be predictively encoded. Typically, the prediction of the current block may be performed by utilizing an intra-prediction technique (which utilizes data from an image including the current block) or an inter-prediction technique (which utilizes data from an image encoded prior to the image including the current block). Inter-prediction includes both unidirectional prediction and bidirectional prediction.

[0046] The intra-frame predictor 122 predicts pixels in the current block by using pixels (reference pixels) located adjacent to the current block in the current image including the current block. There are multiple intra-frame prediction modes according to the prediction direction. For example, Figure 3aAs shown, the plurality of intra prediction modes may include two non-directional modes including a planar mode and a DC mode, and may include 65 directional modes. Neighboring pixels and algorithm equations to be used are defined differently according to each prediction mode.

[0047] In order to perform efficient directional prediction for a current block with a rectangular shape, it is possible to additionally use Figure 3b The directional modes are shown in the dashed arrows (#67 to #80, intra-frame prediction modes #-1 to #-14). The directional modes can be called "wide angle intra-frame prediction modes". Figure 3b In the figure, the arrows indicate the corresponding reference samples used for prediction, rather than representing 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 the specific direction mode without additional bit transmission. In this case, in the wide-angle intra prediction mode, some wide-angle intra prediction modes available for the current block can be determined by the ratio of the width to the 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 modes #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 is available.

[0048] 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 utilizing 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 utilizing a rate-distortion analysis of multiple tested intra-frame prediction modes, and may also select an intra-frame prediction mode having the best rate-distortion characteristic in the test mode.

[0049] 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 adjacent pixels (reference pixels) and an algorithm 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 transmitted to the video decoding device.

[0050] 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 that is most similar to the current block in a reference image that has been encoded and decoded earlier than the current image, 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 image and the prediction block in the reference image. Typically, motion estimation is performed on the luminance (luma) component, and the motion vector calculated based on the luminance component is used for both the luminance component and the chrominance component. The motion information including information of the reference image and information about the motion vector used to predict the current block is encoded by the entropy encoder 155 and transmitted to the video decoding device.

[0051] The inter-frame predictor 124 may also perform interpolation of a reference image or a reference block to increase the accuracy of the prediction. In other words, a subsample is interpolated between two consecutive integer samples by applying a 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 on the interpolated reference image, a decimal unit precision may be represented for the motion vector instead of an integer sample unit precision. For each target region to be encoded, for example, a unit such as a slice, a tile, a CTU, a CU, etc., the precision or resolution of the motion vector may be set differently. When such an 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.

[0052] On the other hand, the inter-frame predictor 124 may perform inter-frame prediction by utilizing bidirectional prediction. In the case of bidirectional prediction, two reference images and two motion vectors representing the block positions most similar to the current block in each reference image are used. The inter-frame predictor 124 selects a first reference image and a second reference image from a reference image list 0 (RefPicList0) and a reference image list 1 (RefPicList1), respectively. The inter-frame predictor 124 also searches for a block most similar to the current block in the corresponding reference image 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 images used to predict the current block and including information about two motion vectors is transmitted to the entropy encoder 155. Here, the reference image list 0 may be composed of images that are before the current image in the display order in the pre-reconstructed image, and the reference image list 1 may be composed of images that are after the current image in the display order in the pre-reconstructed image. However, although not particularly limited thereto, the pre-reconstructed image that is after the current image in the display order may be additionally included in the reference image list 0. Conversely, a pre-reconstructed image preceding the current image may also be additionally included in the reference image list 1 .

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

[0054] For example, when the reference image 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 transmit the motion information of the current block to the video decoding device. This method is called merge mode.

[0055] 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.

[0056] As the neighboring blocks for deriving the merge candidate, 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 image may be used, such as Figure 4 As shown. In addition, in addition to the current image where the current block is located, a block located in a reference image (which may be the same as or different from the reference image used to predict the current block) may also be used as a merge candidate. For example, a co-located block of the current block in the reference image or a block adjacent to the co-located block may be additionally used as a merge candidate. If the number of merge candidates selected by the above method is less than the preset number, a zero vector is added to the merge candidate.

[0057] The inter-frame predictor 124 configures a merge list including a predetermined number of merge candidates by using adjacent blocks. A merge candidate to be used as motion information of the current block is selected from among 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 transmitted to the video decoding device.

[0058] Merge skip mode is a special case of merge mode. After quantization, when all transform coefficients for entropy coding are close to zero, only the neighbor block selection information is transmitted without the 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.

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

[0060] Another method for encoding motion information is the advanced motion vector prediction (AMVP) mode.

[0061] In the AMVP mode, the inter-frame predictor 124 derives a motion vector prediction candidate for a motion vector of a current block by using neighboring blocks of the current block. As neighboring blocks for deriving motion vector prediction candidates, the neighboring blocks may be used. Figure 4 All 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 image shown. In addition, in addition to the current image where the current block is located, blocks located in a reference image (which may be the same as or different from the reference image used to predict the current block) may also be used as adjacent blocks for deriving motion vector prediction candidates. For example, a co-located block of the current block in the reference image or a block adjacent to the co-located block 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.

[0062] The inter-frame predictor 124 derives a motion vector prediction candidate by using the motion vectors of the neighboring blocks, and determines a motion vector prediction of the motion vector of the current block by using the motion vector prediction candidate. In addition, a motion vector difference is calculated by subtracting the motion vector prediction from the motion vector of the current block.

[0063] The motion vector prediction can be obtained by applying a predefined function (e.g., median and mean calculations, etc.) to the motion vector prediction 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 prediction 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 prediction candidate. Accordingly, in this case, information about the motion vector difference and information about the reference image used to predict the current block are encoded.

[0064] On the other hand, the motion vector prediction can also be determined by selecting any one of the motion vector prediction candidates. In this case, information for identifying the selected motion vector prediction candidate is additionally encoded together with information about the motion vector difference used to predict the current block and information about the reference image.

[0065] 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.

[0066] The transformer 140 transforms the residual signal in the residual block having the pixel value of the spatial domain into the transform coefficient of the frequency domain. The transformer 140 may transform the residual signal in the residual block by using the entire size of the residual block as the transform unit, or may also divide the residual block into a plurality of sub-blocks, and may perform the transform by using the sub-block as the transform unit. Alternatively, the residual block is divided into two sub-blocks, namely, a transform region and a non-transform region, so as to transform the residual signal by using only the transform region sub-block as the 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 the vertical axis). In this case, the entropy encoder 155 encodes a flag (cu_sbt_flag) indicating that only the sub-block is transformed, and direction (vertical / horizontal) information (cu_sbt_horizontal_flag) and / or position information (cu_sbt_pos_flag), and notifies the video decoding device with a signal. In addition, the size of the transform region subblock 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 dividing the corresponding partition is additionally encoded by the entropy encoder 155 and signaled to the video decoding apparatus.

[0067] On the other hand, the transformer 140 may perform transformation of the residual block separately in the horizontal direction and the vertical direction. For the transformation, various types of transformation functions or transformation matrices may be used. For example, paired transformation functions for horizontal transformation and vertical transformation may be defined as a multiple transform set (MTS). The transformer 140 may select a transformation function pair with the highest transformation efficiency in the MTS, and may transform the residual block in each of the horizontal and vertical directions. The information (mts_idx) about the transformation function pair in the MTS is encoded by the entropy encoder 155 and notified to the video decoding device with a signal.

[0068] 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 may also quantize the relevant residual block immediately without transforming any block or frame. The quantizer 145 may also apply different quantization coefficients (scaling values) according to the position of the transform coefficients in the transform block. The quantization matrix applied to the quantized transform coefficients arranged in two dimensions may be encoded and signaled to the video decoding device.

[0069] The rearrangement unit 150 may perform rearrangement of coefficient values ​​on the quantized residual value.

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

[0071] The entropy encoder 155 encodes the sequence of 1D quantized transform coefficients output from the rearrangement unit 150 by using various encoding schemes including Context-based Adaptive Binary Arithmetic Code (CABAC), Exponential Golomb, etc. to generate a bitstream.

[0072] In addition, the entropy encoder 155 encodes information related to block segmentation (e.g., CTU size, CTU segmentation flag, QT segmentation flag, MTT segmentation type, and MTT segmentation direction, etc.) so that the video decoding device can segment the block equivalent 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 (merge index in the case of merge mode, and information about reference image index and motion vector difference in the case of AMVP mode) 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).

[0073] The inverse quantizer 160 inversely quantizes 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.

[0074] The adder 170 adds the reconstructed residual block and the prediction block generated by the predictor 120 to reconstruct the current block. When intra-prediction is performed on the next block, the pixels in the reconstructed current block are used as reference pixels.

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

[0076] The deblocking filter 182 filters the boundaries between the reconstructed blocks to remove blocking artifacts that occur due to block unit encoding / decoding, and the SAO filter 184 and the ALF 186 perform additional filtering on 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 that occur due to lossy coding. The SAO filter 184 applies an offset in units of CTU to enhance subjective image quality and encoding efficiency. On the other hand, the ALF 186 performs block unit filtering and applies different filters to compensate for distortion by dividing the boundaries of the corresponding blocks and the degree of the amount of change. Information about the filter coefficients to be used for the ALF can be encoded and notified to the video decoding device with a signal.

[0077] 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 image are reconstructed, the reconstructed image can be used as a reference image for inter-frame prediction of blocks within an image to be subsequently encoded.

[0078] The video encoding device may store a bit stream of encoded video data in a nonvolatile storage medium or transmit the bit stream to a video decoding device through a communication network.

[0079] Figure 5 is a functional block diagram of a video decoding device that can implement the technology of the present invention. Figure 5 , describes a video decoding device and components of the device.

[0080] The video decoding apparatus 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 filtering unit 560 , and a memory 570 .

[0081] Similar to Figure 1 Each component of the video encoding device and 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 the microprocessor can also be implemented to execute the function of the software corresponding to each component.

[0082] The entropy decoder 510 extracts information related to block partitioning by decoding a bitstream 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.

[0083] 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 divides the image into CTUs of the determined size. In addition, the CTU is determined as the highest level (i.e., the root node) of the tree structure, and the partition information of the CTU can be extracted to partition the CTU by using the tree structure.

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

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

[0086] As another example, when CTU is segmented by 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 BT and the segmentation direction information are extracted.

[0087] On the other hand, when the entropy decoder 510 determines the current block to be decoded by using the partitioning of the tree structure, the entropy decoder 510 extracts information about the 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 of inter-prediction information, that is, a motion vector and a reference image to which the motion vector refers.

[0088] In addition, 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.

[0089] 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.

[0090] The inverse quantizer 520 inversely quantizes the quantized transform coefficients, and inversely quantizes 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 inverse quantization by applying a matrix of quantization coefficients (scaling values) from a video encoding device to a 2D array of quantized transform coefficients.

[0091] The inverse transformer 530 reconstructs a residual signal by inversely transforming the inversely quantized transform coefficient from the frequency domain to the spatial domain to generate a residual block of the current block.

[0092] In addition, when the inverse transformer 530 inversely transforms a partial region (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 of the current block.

[0093] In addition, when MTS is applied, the inverse transformer 530 determines the transform index or transform matrix to be applied in each of the horizontal and vertical directions by using the 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.

[0094] 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.

[0095] The intra predictor 542 determines an intra prediction mode of a current block among a plurality of intra prediction modes according to syntax elements 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.

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

[0097] 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-predicting a subsequent block to be decoded, pixels within the reconstructed current block are used as reference pixels.

[0098] The loop filtering unit 560 as an in-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 block artifacts that occur 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 occur due to lossy encoding. The filter coefficients of the ALF are determined by using information about the filter coefficients decoded from the bitstream.

[0099] 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 image are reconstructed, the reconstructed image can be used as a reference image for inter-frame prediction of blocks within an image to be subsequently encoded.

[0100] In some embodiments, the present invention relates to encoding and decoding video images as described above. More specifically, the present invention provides a video encoding and decoding method and apparatus, which extracts reference samples based on the spatial and statistical information of the luminance component or neighboring samples of the current block in the prediction of the current chrominance block using the luminance-chrominance cross-component relationship model. The video encoding and decoding method and apparatus derive the cross-component relationship model by using the extracted reference samples.

[0101] 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.

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

[0103] 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 some areas of a coding unit.

[0104] In addition, a flag value of true indicates a case where the flag is set to 1. In addition, a flag value of false indicates a case where the flag is set to 0.

[0105] The following embodiments are described based on a video decoding apparatus, but they may also be performed by a video encoding apparatus as described above.

[0106] In the following, the current block includes a luminance component and a chrominance component. The current block according to the single tree structure includes a current luminance block and a current chrominance block. Since the current block and the current luminance block have the same size, the current block and the current luminance block can be used interchangeably in the description according to the present invention. On the other hand, from the perspective of prediction of the chrominance component, the current block according to the dual tree structure may include a current chrominance block and a corresponding luminance region.

[0107] Figure 5 The inverse transformer 530, the intra predictor 542, and the adder 550 in the video decoding device shown in FIG. 5 may operate as follows with respect to the luminance-chrominance cross component prediction. First, the inverse transformer 530 generates luminance and chrominance residual blocks, and the intra predictor 542 generates a luminance prediction block. The adder 550 adds the luminance residual block and the prediction block to generate a luminance restoration block. Thereafter, the intra predictor 542 may generate a chrominance prediction block using the luminance restoration block, and the adder 550 may generate a chrominance restoration block by adding the chrominance prediction block and the chrominance residual block.

[0108] The present embodiment relates to the process of predicting the corresponding chrominance component by utilizing the reconstructed luminance component. In other words, the chrominance component prediction based on the luminance-chrominance cross-component relationship model is described. When deriving the cross-component relationship model between the luminance component and the chrominance component, the intra-frame predictor 542 can select the best sample for deriving the cross-component relationship by utilizing the luminance component characteristics of the current block and the statistical characteristics of the adjacent samples.

[0109] Figure 6 is a flowchart illustrating a cross-component prediction method for chroma components performed by a video decoding apparatus according to an embodiment of the present invention.

[0110] The video decoding apparatus derives a temporary sampling position from neighboring samples of the current block by using a reconstructed luminance component of the current block or characteristics of neighboring samples ( S600 ).

[0111] The video decoding device can derive N temporary sampling positions from the luma and chroma neighboring samples. At this time, N depends on the size of the current block and can be predetermined according to the agreement between the video encoding device and the video decoding device.

[0112] Since the luma component is reconstructed first, the intra predictor 542 first derives the temporary sampling position of the luma component. Thereafter, the intra predictor 542 may derive the temporary sampling position of the chroma component by using the temporary sampling position of the luma component.

[0113] The video decoding apparatus evaluates and adjusts a temporary sampling position ( S602 ).

[0114] The video decoding device evaluates the appropriateness of the temporary sampling position by using the statistical characteristics of the temporary sampling position and the adjacent samples at the temporary sampling position. According to the evaluation result, the video decoding device can use only some temporary sampling positions or adjust some positions. Finally, the video decoding device can select the position for deriving the cross-component relationship model.

[0115] The video decoding apparatus derives a luminance-chrominance cross-component relationship model (S604). The video decoding apparatus may derive a luminance-chrominance cross-component relationship model by using samples at the finally selected positions.

[0116] The video decoding apparatus predicts the chrominance component of the current block by applying the cross-component relationship model to the reconstructed luminance component (S606).

[0117] The chroma component prediction based on the luminance-chroma cross-component relationship model can be performed in units of the current chroma block, the luminance block corresponding to the current chroma block (hereinafter referred to as the "corresponding luminance block" or the "current luminance block"), the luminance region corresponding to the current chroma block (hereinafter referred to as the "corresponding luminance region"), the current chroma sub-block, the luminance sub-block corresponding to the current chroma sub-block (hereinafter referred to as the "corresponding luminance sub-block" or the "current luminance sub-block"), or the luminance sub-region corresponding to the current chroma sub-block (hereinafter referred to as the "corresponding luminance sub-region"). Accordingly, the chroma component of the current block may be the current chroma block or the current chroma sub-block. In addition, the luminance component of the current block may be the corresponding luminance block, the corresponding luminance region, the corresponding luminance sub-block, or the corresponding luminance sub-region. On the other hand, the corresponding luminance block and the current luminance block may be used interchangeably.

[0118] On the other hand, the intra-frame predictor 542 in the video decoding device may perform Figure 6 In addition, the intra-frame predictor 122 in the video encoding device may also perform Figure 6 The flowchart shown in .

[0119] In addition, the video encoding device may signal a 1-bit flag (hereinafter referred to as a "cross-component prediction flag") to the video decoding device to indicate whether to use chroma component prediction based on the luminance-chroma cross-component relationship model. For example, if the cross-component prediction flag is true, the intra-frame predictor 542 performs cross-component prediction on the current chroma block. On the other hand, if the cross-component prediction flag is false, the intra-frame predictor 542 may perform intra-frame prediction using reference samples of the current chroma block.

[0120] Hereinafter, the operation of deriving the temporary sampling position is described in detail.

[0121] As described above, the intra predictor 542 may derive a position for sampling an adjacent luminance component or an adjacent chrominance component based on characteristics of the current block or adjacent samples. The derived temporary sampling position may be a point in the region where the reference sample exists, and may be an integer pixel or a sub-pixel. In the case of a sub-pixel, an interpolation or predefined filter may be used to extract the corresponding pixel value.

[0122] Positions for sampling neighboring samples of a corresponding luma block based on characteristics of a luma component of a current block may be derived as in the following example.

[0123] Figures 7a to 7c is a schematic diagram illustrating temporary sampling positions based on a direction pattern according to an embodiment of the present invention.

[0124] For example, as in Figures 7a to 7c In the example of , when the luminance component prediction mode of the current block is a directional mode, the intra predictor 542 can obtain an orthogonal projection range of the current block (i.e., the corresponding luminance block) orthogonally projected onto a straight line perpendicular to the prediction direction. The intra predictor 542 can derive the positions of the reference samples projected at the points that evenly divide the projection range as temporary sampling positions according to the following example.

[0125] Figure 8 is a schematic diagram showing temporary sampling locations according to an embodiment of the present invention.

[0126] For example, as in Figure 8 In the example of , the intra predictor 542 may divide the orthogonal projection range into N-1 segments (where N is a positive integer of 2 or greater) having the same width, and then determine N points corresponding to boundaries of the segments as temporary sampling positions.

[0127] Alternatively, as in Figure 9aIn the example of , the intra-frame predictor 542 may divide the orthogonal projection range into N+1 segments with a constant width, and set the width of the segments at both ends to half the width of the other segments. The intra-frame predictor 542 determines N points at the boundaries of the segments as temporary sampling positions, but the sampling positions do not include the two ends of the orthogonal projection range. On the other hand, in Figures 7a to 7c In the example, use Figure 9a The temporary sampling location of the sample.

[0128] on the other hand, Figure 9a An example could be similar to Figure 9b to express it with examples.

[0129] As in Figure 9b In the example of , the intra predictor 542 may divide the orthogonal projection range into N segments having the same width, and then determine N points located at the center of the segments as temporary sampling positions.

[0130] Figure 9b An example of can also be expressed as follows. In other words, the intra predictor 542 may divide the orthogonal projection range into 2N partitions having the same width, and then determine N points located at the boundaries of the odd-numbered partitions and the even-numbered partitions as temporary sampling positions.

[0131] Fig.10a and Fig.10b is a schematic diagram illustrating temporary sampling positions based on an adjusted orthogonal projection range according to an embodiment of the present invention.

[0132] On the other hand, if the prediction direction of the corresponding luma block of the current chroma block is less than 45° or greater than 225°, the intra predictor 542 may select a reference sample closer to the current block (i.e., the corresponding luma block) as a temporary sampling position instead of a reference sample that can be used in actual directional prediction. Fig.10a In the example of , if the prediction direction of the luminance component is less than 45°, the upper reference sample used according to the actual prediction direction may be located too far away. The intra predictor 542 adjusts the projection range so that the upper reference sample and the left reference sample adjacent to the current block can be used, as in Fig.10b In the example of . The intra-frame predictor 542 can determine the temporary sampling position for the adjusted projection range, such as in Figure 8 or Figure 9b In this case, the intra predictor 542 may include a left reference sample that is closer to the current block in the temporary sampling position, such as in Fig.10b In the example.

[0133] Fig.11is a schematic diagram illustrating temporary sampling positions based on an adjusted orthogonal projection range according to another embodiment of the present invention.

[0134] In addition, if there is no Fig.11 In the example of , if the chroma reference sample corresponding to the temporary sampling position selected for the prediction direction of the luma block, the intra predictor 542 may determine the temporary sampling position only in the luma reference sample area corresponding to the area where the chroma reference sample exists. Fig.11 In the example of , the intra predictor 542 may adjust the orthogonal projection range to fit the luma reference sample region corresponding to the region where the chroma reference samples are located. The intra predictor 542 may determine a temporary sampling position for the adjusted orthogonal projection range, such as in Figure 8 or Figure 9b In the example.

[0135] As an example, if the luminance component prediction mode of the current block is a non-directional mode (such as DC or planar mode), the intra predictor 542 can derive the temporary sampling position by assuming that the luminance component prediction mode has an arbitrary prediction direction. At this time, the arbitrary direction can be a preset value or determined according to the size or aspect ratio of the block.

[0136] Fig.12 is a schematic diagram showing an orthogonal projection range and a temporary sampling position based on a non-directional mode according to an embodiment of the present invention.

[0137] For example, if the luminance component prediction mode of the current block is a non-directional mode, the temporary sampling position can be determined according to the size of the current block. Fig.12 In the example of , if the height of the current block (i.e., the corresponding luminance block) is H and the width is W, the region having the upper reference sample with a width of (W+H) may be set as the above-mentioned orthogonal projection range. According to the following embodiment, the intra predictor 542 may derive a temporary sampling position by evenly dividing the orthogonal projection range and arranging the sampling position that is not adjacent to the current block on the left side of the block.

[0138] First, as in Figure 8 In the example of , the intra predictor 542 may divide the orthogonal projection range into N-1 segments having the same width, and then determine N points located on the boundaries of the segments as temporary sampling positions.

[0139] Alternatively, as in Figure 9b In the example of , the intra predictor 542 may divide the orthogonal projection range into N segments having the same width, and then determine N points located at the center of the segments as temporary sampling positions.

[0140] As an example, a description is given of a case where a chroma component of a current block is predicted using two or more cross-component relationship models.

[0141] Fig.13 is a schematic diagram showing a temporary sampling position for each sub-block according to an embodiment of the present invention.

[0142] Whether to use two or more cross-component relationship models can be determined based on flag signaling, the result of detecting the edge component of the reconstructed luminance block, or the discontinuity of the reference sample. When M (here, M is a positive integer of 2 or more) cross-component relationship models are used, the intra predictor 542 can determine the sub-block partitioning structure and the temporary sampling position based on the luminance component characteristics of the current block, the characteristics of the luminance reference sample, or the characteristics of the chrominance reference sample according to the following example.

[0143] First, as in Fig.13 In the example of , the reconstructed luminance component can be used to determine the temporary sampling position. The intra-frame predictor 542 can detect an edge included in the reconstructed current luminance block, and divide the current block (i.e., the corresponding luminance block) into M sub-blocks based on the detected edge. The intra-frame predictor 542 can divide the reference sample into M regions based on the position where the boundary or edge of the divided sub-block meets the reference sample.

[0144] Alternatively, the reference samples may be divided into M regions based on the discontinuity of the luma reference samples or the chroma reference samples of the current block. For example, if the difference between adjacent reference samples is greater than a preset threshold, the intra predictor 542 may determine the difference between adjacent reference samples as the boundary between the divided regions. At this time, the threshold may be implicitly determined from the luminance distribution of the adjacent samples. Alternatively, the threshold may be a preset value. The current block may be divided into M sub-blocks by a straight line including the boundary of the region of the divided reference samples and parallel to the prediction direction of the luminance component.

[0145] On the other hand, the intra-frame predictor 542 may be similar to Figure 6The intra-frame predictor 542 performs cross-component prediction on the sub-blocks in the order shown. In other words, the intra-frame predictor 542 can determine the temporary sampling position for the sub-block according to the partition structure of the current block or reference sample area and the prediction mode of the luminance component. The intra-frame predictor 542 can extract the final sample for model derivation from the temporary sampling position for each sub-block, and derive the cross-component relationship model separately based on the samples of each sub-block. The intra-frame predictor 542 can predict the chrominance component corresponding to each sub-block respectively by utilizing the cross-component relationship model derived for each sub-block. Alternatively, the intra-frame predictor 542 performs chrominance component prediction of the entire block for each relationship model by utilizing the cross-component relationship model of each sub-block. Thereafter, the intra-frame predictor 542 can mix the predicted chrominance components according to the sub-block partition structure (e.g., weighted sum), and can use the mixed predicted chrominance components as the predicted values ​​of the chrominance block.

[0146] As an example, a case where a current chrominance block and a corresponding luminance block are divided differently, such as a dual-tree structure, is described.

[0147] Fig.14 is a schematic diagram illustrating a corresponding luminance region of a current chrominance region according to an embodiment of the present invention.

[0148] As in Fig.14 In the example of , the intra predictor 542 may determine the temporary sampling position according to the prediction mode of an area adjacent to a reference sample in a corresponding luma area of ​​a current chroma block to be predicted, as in the following embodiments.

[0149] For example, the intra-frame predictor 542 may count the prediction directions used in the region adjacent to the reference sample in the corresponding brightness region, and determine the most commonly used prediction direction as the representative direction of the corresponding brightness region. Thereafter, the intra-frame predictor 542 may determine the temporary sampling position of the corresponding brightness region based on the representative direction as described above.

[0150] Alternatively, the intra predictor 542 may average the prediction directions used in the region adjacent to the reference sample in the corresponding luminance region and determine the average direction as the representative direction of the corresponding luminance region. Thereafter, the intra predictor 542 may determine the temporary sampling position of the corresponding luminance region based on the representative direction as described above.

[0151] Alternatively, if the prediction directions between neighboring blocks in an area adjacent to the reference sample in the corresponding brightness area differ by a threshold angle or more, the intra predictor 542 may divide the corresponding brightness area into M corresponding brightness sub-areas based on the boundary between the neighboring blocks. The threshold angle may be determined according to the size, aspect ratio, or prediction direction of the neighboring blocks. Alternatively, the threshold angle may be a preset angle. As described above, different cross-component relationship models may be derived for different corresponding brightness sub-areas.

[0152] As an example, the temporary sampling position according to the characteristics of the luminance component can be expressed by a lookup table according to a previous agreement between the video encoding device and the video decoding device. Here, the lookup table may include a temporary sampling position determined according to the prediction mode, block size, and aspect ratio of the luminance component that are pre-optimized and defined in the video encoding device and the video decoding device.

[0153] On the other hand, the temporary sampling position of the chroma component corresponding to the temporary sampling position of the luma component may be determined based on the chroma subsampling format of the chroma component, as in the following example.

[0154] As an example, if the current image is sub-sampled in YUV 4:4:4 format, the temporary sampling position of the chroma component may be the same as the temporary sampling position of the luma component.

[0155] In addition, if the current image is sub-sampled in YUV 4:2:0 format, for the temporary sampling position (XL, YL) of the luma component, the temporary sampling position of the chroma component may be ((XL+1)>>1, (YL+1)>>1).

[0156] Hereinafter, the operation of evaluating and adjusting the temporary sampling position is described in detail.

[0157] The intra predictor 542 evaluates the selected temporary sampling positions by using the luma and chroma temporary sampling positions and the neighboring samples of the temporary sampling positions, as in the following embodiments. Depending on the evaluation results, the intra predictor 542 may use only some selected temporary sampling positions or adjust some positions.

[0158] Fig.15 is a schematic diagram illustrating an evaluation block of a temporary sampling position according to an embodiment of the present invention.

[0159] As an example, if included in a Fig.15If the difference between the average pixel value of the pixels in the evaluation block of the example and the pixel value of the temporary sampling position included in the evaluation block is greater than the threshold value, the intra-frame predictor 542 may not use the corresponding temporary sampling position in the derivation of the cross-component relationship model. Alternatively, the corresponding position may be adjusted as in the following embodiment. Here, the evaluation block may include a single temporary sampling position and may have a fixed size. Alternatively, the evaluation block may have a size determined according to the size of the luminance block, the aspect ratio, or the prediction direction. In addition, the threshold value may be determined based on the distribution of pixel values ​​in the luminance block or the evaluation block, or may be a preset value.

[0160] For example, the temporary sampling position may be adjusted based on the above evaluation result. If the temporary sampling position to be adjusted exists on the upper side of the current block, the intra predictor 542 may adjust the sampling position by L pixels (here, L is a positive integer of 1 or greater) in the left or right direction. If the temporary sampling position to be adjusted exists on the left side of the current block, the intra predictor 542 may adjust the sampling position by L pixels in the upper or bottom direction. The direction (left or right or upper and lower) of the sampling position adjustment may be a direction pre-agreed between the video encoding device and the video decoding device, or may be determined based on the characteristics of the adjacent reference samples. The size L of the sampling position adjustment may be determined based on the size of the current block or the amount of brightness change of the sampling position. The intra predictor 542 may repeatedly perform sampling position adjustment and evaluation until the difference between the average pixel value of the pixels included in the evaluation block and the temporary sampling position pixel value is less than a threshold value.

[0161] Finally, the intra predictor 542 may evaluate and adjust the temporary sampling positions to determine K (where K is a positive integer of 2 or greater) luma-chroma sample pairs for model derivation.

[0162] Hereinafter, the operation of deriving the luminance-chrominance cross-component relationship model is described in detail.

[0163] The intra predictor 542 may derive parameters expressing a luminance-chrominance cross-component relationship model in units of a luminance block, a chrominance block, or a sub-block by using the finally determined K luminance-chrominance sample pairs.

[0164] As an example, after sorting K final luma-chroma sample pairs in descending order based on the pixels of the luma component or the chroma component, the sample pairs from the first to the (K>>1)th are defined as a set S a And the sample pairs from ((K+1>>1)+1) to the Kth are defined as set S b Included in S a The average of the luminance component and chrominance component of the sample pair in is defined as X a and Y a , and included in Sb The average of the luminance component and chrominance component of the sample pair in is defined as X b and Y b The parameters α and β representing the linear relationship of the cross components using two average luma-chroma sample pairs can be expressed as in Equation 1.

[0165] [Equation 1]

[0166]

[0167] As an example, the video decoding device may parse a flag indicating whether to correct the cross-component relationship model, and then may correct the cross-component relationship model if the parsed flag is true. At this time, the parameters for correction may be determined according to a lookup table and index signaling pre-agreed between the video encoding device and the video decoding device. If the luminance-chrominance cross-component linear model is corrected according to the flag, the intra-frame predictor 542 may adjust the values ​​of the parameters α and β of the linear model according to the following example.

[0168] Fig.16 is a schematic diagram illustrating correction of a relational model according to an embodiment of the present invention.

[0169] For example, the intra predictor 542 may determine a parameter Δα for correcting the slope α of the linear model using a lookup table and a signaled index. The lookup table may include a preset value or a value determined based on α. ​​In the case where α is adjusted to α′ using the correction parameter Δα, the intra predictor 542 may adjust β to β′ so that the adjusted model includes the average value (L avg ,C avg ), such as in Fig.16 Here, L avg is the average value of the brightness samples used to derive the model, and C avg is the average value of the chrominance samples used to derive the model. The method of adjusting α and β to α′ and β′ using Δα can be expressed as Equation 2.

[0170] [Equation 2]

[0171] α′=α+Δα,β′=C avg -α′·L avg

[0172] Hereinafter, an operation of predicting a chrominance component is described.

[0173] The intra predictor 542 may predict the chrominance component by converting the reconstructed luminance component based on a luminance-chrominance cross-component relationship model.

[0174] As an example, if the luminance-chrominance cross-component relationship model is expressed by linear relationship parameters α and β, then the chrominance component prediction value pred at the (i, j) position is C (i, j) can be obtained by using the corresponding reconstructed brightness component value rec L (i, j) is expressed as in Mathematical Expression 3.

[0175] [Equation 3]

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

[0177] Although the steps in the various flowcharts are described as being performed sequentially, these steps merely illustrate the technical ideas of some embodiments of the present invention. Therefore, a person of ordinary skill in the art to which the present invention belongs can perform the steps by changing the order described in the various figures or by performing two or more steps in parallel. Therefore, the steps in the various flowcharts are not limited to the order shown in the order in which they occur.

[0178] 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 their combination. It should also be understood that the functional components described in the present invention are marked as "... units" to highlight the possibility of their independent implementation.

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

[0180] Although exemplary embodiments of the present invention are described for illustrative purposes, it will be appreciated by those skilled in the art that various modifications, additions and substitutions may be made without departing from the spirit and scope of the present invention. Therefore, embodiments of the present invention are described for simplicity and clarity. The scope of the technical ideas of the embodiments of the present invention are not limited by the examples. Accordingly, it will be appreciated by those skilled in the art that the scope of the present invention should not be limited by the embodiments clearly described above, but by the claims and their equivalents.

[0181] Reference numerals:

[0182] 122: Intra-frame predictor

[0183] 155: Entropy Encoder

[0184] 510: Entropy Decoder

[0185] 542: Intra-frame predictor.

[0186] CROSS-REFERENCE TO RELATED APPLICATIONS

[0187] This application claims priority to and the benefit of Korean Patent Application No. 10-2022-0060670, filed on May 18, 2022, and Korean Patent Application No. 10-2023-0055540, filed on April 27, 2023, the entire contents of each of which are incorporated herein by reference.

Claims

1. A method for reconstructing a chrominance component of a current block performed by a video decoding device, the method comprising: Deriving a temporary sampling position from neighboring samples of a current block by utilizing a reconstructed luma component of the current block or a characteristic of neighboring samples, wherein the current block includes a luma component and a chroma component; evaluating and adjusting temporary sampling positions to select final positions for deriving a cross-component relationship model between luma components and chroma components; deriving a cross-component relationship model by utilizing samples at the final positions; and Chroma prediction values ​​for chroma components are generated by applying a cross-component relationship model to the luma component.

2. The method according to claim 1, wherein: The chroma component is a current chroma block or a current chroma sub-block, and the luma component is a corresponding luma block, a corresponding luma region, a corresponding luma sub-block, or a corresponding luma sub-region.

3. The method according to claim 2, wherein: When the prediction mode of the luma component is directional mode, deriving the temporary sampling position includes: Obtaining an orthogonal projection range of the corresponding luminance block orthogonally projected onto a straight line perpendicular to a prediction direction of the luminance component; and The orthogonal projection range is divided into N segments having the same width, and then the positions of reference samples projected onto N points located at the center of the segments are determined as temporary sampling positions, where N is a positive integer of 2 or greater.

4. The method according to claim 3, wherein: Derivation of temporary sampling locations includes: When the prediction direction is less than a preset first angle or greater than a preset second angle, the orthogonal projection range is adjusted so that an upper reference sample and a left reference sample adjacent to the corresponding luminance block are used, and reference samples that are closer to the corresponding luminance block in a temporary sampling position are included, rather than reference samples that can be used based on the prediction direction.

5. The method according to claim 3, wherein: Derivation of temporary sampling locations includes: When there is no chroma reference sample corresponding to the temporary sampling position selected based on the prediction direction, the orthogonal projection range is adjusted to fit the luma reference sample region corresponding to the region where the chroma reference sample exists.

6. The method according to claim 2, wherein: When the prediction mode of the luma component is directional mode, deriving the temporary sampling position includes: Obtaining an orthogonal projection range of the corresponding luminance block orthogonally projected onto a straight line perpendicular to a prediction direction of the luminance component; and The orthogonal projection range is divided into N-1 segments having the same width, and then the positions of reference samples projected onto N points located at the boundaries of the segments are determined as temporary sampling positions, where N is a positive integer of 2 or greater.

7. The method according to claim 2, wherein: When the prediction mode of the luma component is a non-directional mode, deriving the temporary sampling position includes: Obtaining an orthogonal projection range of the corresponding luminance block onto a straight line perpendicular to any prediction direction; and The orthogonal projection range is divided into N segments having the same width, and then the positions of reference samples orthogonally projected onto N points located at the center of the segments are determined as temporary sampling positions, where N is a positive integer of 2 or greater, The arbitrary prediction direction is a preset value or is determined based on the size or aspect ratio of the corresponding luminance block.

8. The method according to claim 2, wherein: Derivation of temporary sampling locations includes: Dividing the corresponding luma block into M corresponding luma sub-blocks based on an edge included in the corresponding luma block, discontinuity of a reference sample of the corresponding luma block, or discontinuity of a reference sample of the current chroma block, where M is a positive integer of 2 or more; and The temporary sampling position of each corresponding luma sub-block is derived from the neighboring samples of each corresponding luma sub-block by using the reconstructed luma component of each corresponding luma sub-block or the characteristics of the neighboring samples.

9. The method according to claim 2, wherein: Derivation of temporary sampling locations includes: determining a representative direction by utilizing a prediction direction used in a region adjacent to a reference sample in a corresponding luma region; and A temporary sampling position of the corresponding brightness region is determined based on the representative direction.

10. The method according to claim 1, wherein: Derivation of temporary sampling locations includes: The temporary sampling positions of the chroma components are derived from the temporary sampling positions of the luma components based on the chroma subsampling format of the chroma components.

11. The method according to claim 1, wherein: Selecting the final location includes: When a difference between an average pixel value of pixels included in the evaluation block and a pixel value at a temporary sampling position included in the evaluation block is greater than a threshold value, the temporary sampling position is not used to derive a cross-component relationship model or the temporary sampling position is adjusted, The threshold is determined based on the distribution of the pixel values ​​in the brightness component or the evaluation block, or is a preset value.

12. The method according to claim 11, wherein: The evaluation block comprises a single temporal sampling position and has a fixed size or a size determined by the size of the luma component, the aspect ratio or the prediction direction.

13. A method for predicting a chrominance component of a current block performed by a video encoding device, the method comprising: Deriving a temporary sampling position from neighboring samples of a current block by utilizing a reconstructed luma component of the current block or a characteristic of neighboring samples, wherein the current block includes a luma component and a chroma component; evaluating and adjusting temporary sampling positions to select final positions for deriving a cross-component relationship model between luma components and chroma components; deriving a cross-component relationship model by utilizing samples at the final positions; and Chroma prediction values ​​for chroma components are generated by applying a cross-component relationship model to the luma component.

14. The method according to claim 13, wherein: The chroma component is a current chroma block or a current chroma sub-block, and the luma component is a corresponding luma block, a corresponding luma region, a corresponding luma sub-block, or a corresponding luma sub-region.

15. The method according to claim 14, wherein: When the prediction mode of the luma component is directional mode, deriving the temporary sampling position includes: Obtaining an orthogonal projection range of the corresponding luminance block orthogonally projected onto a straight line perpendicular to a prediction direction of the luminance component; and The orthogonal projection range is divided into N segments having the same width, and then the positions of reference samples projected onto N points located at the center of the segments are determined as temporary sampling positions, where N is a positive integer of 2 or greater.

16. The method according to claim 14, wherein: Derivation of temporary sampling locations includes: Dividing the corresponding luma block into M corresponding luma sub-blocks based on an edge included in the corresponding luma block, discontinuity of a reference sample of the corresponding luma block, or discontinuity of a reference sample of the current chroma block, where M is a positive integer of 2 or more; and The temporary sampling position of each corresponding luma sub-block is derived from the neighboring samples of each corresponding luma sub-block by using the reconstructed luma component of each corresponding luma sub-block or the characteristics of the neighboring samples.

17. The method according to claim 14, wherein: Derivation of temporary sampling locations includes: determining a representative direction using a prediction direction used in a region adjacent to a reference sample in a corresponding luma region; and A temporary sampling position of the corresponding brightness region is determined based on the representative direction.

18. The method according to claim 13, wherein: Derivation of temporary sampling locations includes: The temporary sampling positions of the chroma components are derived from the temporary sampling positions of the luma components based on the chroma subsampling format of the chroma components.

19. A computer-readable recording medium storing a bit stream generated by a video encoding method, the video encoding method comprising: Deriving a temporary sampling position from neighboring samples of a current block by utilizing a reconstructed luma component of the current block or a characteristic of neighboring samples, wherein the current block includes a luma component and a chroma component; evaluating and adjusting temporary sampling positions to select final positions for deriving a cross-component relationship model between luma components and chroma components; deriving a cross-component relationship model by utilizing samples at the final positions; and Chroma prediction values ​​for chroma components are generated by applying a cross-component relationship model to the luma component.

Citation Information

Patent Citations

  • Home appliance and Method for controlling thereof

    KR1020220060670A

  • Apparatus for storaging magazine rack

    KR1020230055540A