Intra-prediction-based video signal processing method and apparatus

By employing PDPC and LFNST in ISP-divided blocks, the method enhances video signal processing efficiency and accuracy, addressing limitations in existing technologies.

JP2025092552AActive Publication Date: 2025-06-19VIDAXIO LLC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2025051762
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2019-03-27
Filing Date
2025-03-26
Publication Date
2025-06-19
Estimated Expiration
2040-02-28

AI Technical Summary

Technical Problem

Existing video signal processing methods struggle to improve coding efficiency and prediction accuracy, particularly due to limitations in intra prediction and transform techniques.

Method used

The proposed method involves performing Position-Dependent Intra Prediction Combination (PDPC) and Low-Frequency Non-Separable Transform (LFNST) in units of blocks divided by Intra Sub-Partitions (ISP), enhancing prediction and restoration processes.

Benefits of technology

This approach significantly increases coding efficiency, improves prediction accuracy, and enhances compression performance by optimizing intra prediction and transform processes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025092552000001_ABST
    Figure 2025092552000001_ABST
Patent Text Reader

Abstract

To provide video signal processing method and apparatus for encoding or decoding video signals.SOLUTION: A video signal processing method includes the steps of determining whether an intra sub-partition (ISP) mode is applied to the current block, dividing the current block into a plurality of horizontal or vertical rectangular transform blocks when the ISP mode is applied to the current block, generating predictive blocks for the transform blocks by performing intra prediction on each of the transform blocks, and reconstructing the current block on the basis of the residual block of the transform block and the predictive block.SELECTED DRAWING: Figure 20
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a method and apparatus for processing video signals, and more particularly, to a method and apparatus for encoding or decoding video signals based on intra prediction.

Background Art

[0002] Compression encoding refers to a series of signal processing techniques for transmitting digitized information via a communication line or storing it in a form suitable for a storage medium. The targets of compression encoding include audio, video, characters, etc., and in particular, the technique of performing compression encoding on video is called video compression. Compression encoding of video signals is performed by removing redundant information in consideration of spatial correlation, temporal correlation, probabilistic correlation, etc. However, due to the recent development of various media and data transmission media, there is a demand for more efficient video signal processing methods and apparatuses.

Summary of the Invention

Problems to be Solved by the Invention

[0003] An object of the present invention is to improve the coding efficiency of video signals. Specifically, the present invention proposes a method of performing PDPC (position-dependent intra prediction combination) and LFNST (Low-Frequency Non-Separable Transform) in units where prediction and restoration are performed by applying Intra sub-partitions.

Means for Solving the Problems

[0004] In order to solve the above problems, the present invention provides a video signal processing apparatus and a video signal processing method as follows.

[0005] According to an embodiment of the present invention, a video signal processing method includes: determining whether an Intra Sub-Partitions (ISP) mode is applied to a current block; when the ISP mode is applied to the current block, dividing the current block into a plurality of rectangular transform blocks in horizontal or vertical directions; generating a prediction block of the transform block by performing intra prediction on each of the transform blocks; and restoring the current block based on a residual block and the prediction block of the transform block. The step of generating the prediction block may include performing position-dependent intra prediction sample filtering in units of the transform blocks divided from the current block.

[0006] As an example, the step of generating the prediction block may further include determining whether to apply the position-dependent intra prediction sample filtering based on at least one of the width and height of the transform block.

[0007] As an example, the step of determining whether to apply the position-dependent intra prediction sample filtering may be performed by determining to apply the position-dependent intra prediction sample filtering when the width of the transform block is greater than or equal to a preset reference value and the height of the transform block is greater than or equal to the preset reference value.

[0008] As an example, the residual block of the transform block may be derived by performing an inverse secondary transform and an inverse primary transform in units of the transform block.

[0009] As an example, a step of determining whether a secondary conversion is applied to the current block; when the secondary conversion is applied to the current block, deriving a secondary conversion kernel set applied to the current block from among a predefined secondary conversion kernel set based on the intra prediction mode of the current block; determining a secondary conversion kernel applied to the current block within the determined secondary conversion kernel set; generating a secondarily inverse-transformed block of the transform block by performing a secondary inverse transform in units of the transform block; and generating a residual block of the transform block by performing a primary inverse transform on the secondarily inverse-transformed block may be included.

[0010] According to an embodiment of the present invention, there is provided a video signal processing apparatus including a processor, the processor determining whether an intra sub-partitions (ISP) mode is applied to a current block, and when the ISP mode is applied to the current block, dividing the current block into a plurality of rectangular transform blocks in a plurality of horizontal or vertical directions, generating a predicted block of the transform block by performing intra prediction on each of the transform blocks, restoring the current block based on the residual block and the predicted block of the transform block, and the processor performing position-dependent intra prediction sample filtering in units of the transform blocks divided from the current block.

[0011] As an example, the processor may determine whether the position-dependent intra prediction sample filtering is applied based on at least one of the width and height of the transform block.

[0012] As an example, when the width of the conversion block is greater than or equal to a preset reference value and the height of the conversion block is greater than or equal to the preset reference value, the processor can determine to apply the position-dependent intra prediction sample filtering.

[0013] As an example, the residual block of the conversion block may be derived by performing an inverse secondary transform and an inverse primary transform in units of the conversion block.

[0014] As an example, the processor determines whether a secondary transform is applied to the current block. When the secondary transform is applied to the current block, based on the intra prediction mode of the current block, a set of secondary transform kernels applicable to the current block is derived from a predefined set of secondary transform kernels, a secondary transform kernel applicable to the current block is determined within the determined set of secondary transform kernels, a secondarily inverse-transformed block of the conversion block is generated by performing a secondary inverse transform in units of the conversion block, and a residual block of the conversion block can be generated by performing a primary inverse transform on the secondarily inverse-transformed block.

[0015] According to an embodiment of the present invention, there is provided a video signal processing method including: determining whether an Intra Sub-Partitions (ISP) mode is applied to a current block; when the ISP mode is applied to the current block, dividing the current block into a plurality of rectangular transform blocks in horizontal or vertical directions; generating a prediction block of the transform block by performing intra prediction on each of the transform blocks; and generating a residual block of the transform block by subtracting the prediction block from an original block, wherein the step of generating the prediction block includes performing position-dependent intra prediction sample filtering in units of transform blocks divided from the current block.

[0016] According to an embodiment of the present invention, there is provided a non-transitory computer-readable medium storing computer-executable components configured to be executed by one or more processors of a computing device, the computer-executable components determining whether an Intra Sub-Partitions (ISP) mode is applied to a current block, dividing the current block into a plurality of rectangular transform blocks in horizontal or vertical directions when the ISP mode is applied to the current block, generating a prediction block of the transform block by performing intra prediction on each of the transform blocks, restoring the current block based on the residual block and the prediction block of the transform block, and the computer-executable components being characterized by performing position-dependent intra prediction sample filtering in units of transform blocks divided from the current block. [Effects of the Invention]

[0017] According to an embodiment of the present invention, the coding efficiency of a video signal can be increased. Further, according to an embodiment of the present invention, the accuracy of prediction can be increased and the compression performance can be improved by performing PDPC (position-dependent intra prediction combination) and LFNST in units of conversion blocks divided by Intra sub-partitions.

Brief Description of the Drawings

[0018]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Figure 14

Figure 15

Figure 16

Figure 17

Figure 18

Figure 19

Figure 20

Modes for Carrying Out the Invention

[0019] The terms used in this specification are chosen to be as general as currently widely used while considering the functions in the present invention, but this may vary depending on the intentions of those skilled in the art, conventions, or the emergence of new technologies. In some cases, there are terms arbitrarily selected by the applicant, and in such cases, the meaning is described in the part of the embodiments for implementing the relevant invention. Therefore, it is clarified that the terms used in this specification should be interpreted based not only on the names of the terms but also on the substantial meanings of the terms and the content throughout this specification.

[0020] In this specification, some terms are interpreted as follows. Coding may, in some cases, be interpreted as encoding or decoding. In this specification, a device that performs encoding (encoding) of a video signal to generate a bitstream of the video signal is called an encoding device or an encoder, and a device that performs decoding (decoding) of the video signal bitstream to restore the video signal is called a decoding device or a decoder. Also, in this specification, a video signal processing device is used as a term for a concept that includes both an encoder and a decoder. Information is a term that includes values, parameters, coefficients, elements, etc., and may be interpreted differently in some cases, so the present invention is not limited thereto. 'Unit' is used to represent the basic unit of video processing or a specific position in a picture, and refers to an image region that includes at least one of the luma component and the chroma component. Also, 'block' refers to an image region that includes a specific component among the luminance component and the color difference components (i.e., Cb and Cr). However, depending on the embodiments, terms such as 'unit', 'block', 'partition', and'region' may be used interchangeably. Also, in this specification, a unit is used as a concept that includes both a coding unit, a prediction unit, and a transformation unit. Picture refers to a field or a frame, and depending on the embodiments, the above terms may be used interchangeably.

[0021] FIG. 1 is a schematic block diagram of a video signal encoding apparatus 100 according to an embodiment of the present invention. Referring to FIG. 1, the encoding apparatus 100 of the present specification includes a conversion unit 110, a quantization unit 115, an inverse quantization unit 120, an inverse conversion unit 125, a filtering unit 130, a prediction unit 150, and an entropy coding unit 160.

[0022] The conversion unit 110 converts a residual signal, which is the difference between the input video signal and the prediction signal generated by the prediction unit 150, to obtain conversion coefficient values. For example, a Discrete Cosine Transform (DCT), a Discrete Sine Transform (DST), or a Wavelet Transform is used. The Discrete Cosine Transform and the Discrete Sine Transform perform the conversion by dividing the input picture signal into blocks. In the conversion, the coding efficiency may vary depending on the distribution and characteristics of the values within the conversion region. The quantization unit 115 quantizes the values of the conversion coefficients output within the conversion unit 110.

[0023] In order to improve the coding efficiency, instead of directly coding the picture signal, a method is used in which the picture is predicted by using a region that has been previously coded via the prediction unit 150, and a residual value between the original picture and the predicted picture is added to the predicted picture to obtain a restored picture. In order to prevent a mismatch from occurring between the encoder and the decoder, information that can also be used by the decoder should be used when performing prediction in the encoder. For this purpose, the encoder performs a process of further restoring the coded current block. In the inverse quantization unit 120, the transform coefficient values are inverse quantized, and in the inverse transform unit 125, the residual values are restored by using the inverse quantized transform coefficient values. On the other hand, the filtering unit 130 performs filtering operations for improving the quality of the restored picture and enhancing the coding efficiency. For example, it may include a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter. The picture that has undergone filtering is stored in the decoded picture buffer (DPB) 156 either for output or for use as a reference picture.

[0024] In order to improve coding efficiency, instead of directly coding the picture signal, a method is used in which the picture is predicted using the areas that have already been coded in the prediction unit 150, and a residual value between the original picture and the predicted picture is added to the predicted picture to obtain a restored picture. In the intra prediction unit 152, intra-picture prediction is performed within the current picture, and in the inter prediction unit 154, the current picture is predicted using the reference pictures stored in the decoded picture buffer 156. The intra prediction unit 152 performs intra-picture prediction from the restored areas within the current picture and transmits the intra-picture coding information to the entropy coding unit 160. The inter prediction unit 154 may further include a motion estimation unit 154a and a motion compensation unit 154b. In the motion estimation unit 154a, the motion vector value of the current area is obtained by referring to the restored specific area. In the motion estimation unit 154a, the position information (such as the reference frame, motion vector, etc.) of the reference area is transmitted to the entropy coding unit 160 so that it can be included in the bitstream. Using the motion vector value transmitted from the motion estimation unit 154a, the motion compensation unit 154b performs inter-picture motion compensation.

[0025] The prediction unit 150 includes an intra prediction unit 152 and an inter prediction unit 154. The intra prediction unit 152 performs intra prediction within the current picture, and the inter prediction unit 154 performs inter prediction for predicting the current picture using the reference buffer stored in the decoded picture buffer 156. The intra prediction unit 152 performs intra prediction from the restored samples within the current picture and transmits the intra-coded information to the entropy coding unit 160. The intra-coded information includes at least one of an intra prediction mode, an MPM (Most Probable Mode) flag, and an MPM index. The intra-coded information can include information regarding the reference samples. The intra-coded information includes information regarding the reference samples. The inter prediction unit 154 includes a motion estimation unit 154a and a motion compensation unit 154b. The motion estimation unit 154a obtains a motion vector value for the current region by referring to a specific region of the restored reference signal picture. The motion estimation unit 154a transmits a set of motion information (reference picture index, motion vector information) for the reference region to the entropy coding unit 160. The motion compensation unit 154b performs motion compensation using the motion vector value transmitted from the motion compensation unit 154a. The inter prediction unit 154 transmits inter-coded information including motion information for the reference region to the entropy coding unit 160.

[0026] According to a further embodiment, the prediction unit 150 includes an intra block copy (BC) prediction unit (not shown). The intra BC prediction unit performs intra BC prediction from the restored samples within the current picture and transmits the intra BC coded information to the entropy coding unit 160. The intra BC prediction unit obtains a block vector value indicating a reference region used for predicting the current region by referring to a specific region within the current picture. The intra BC prediction unit performs intra BC prediction using the obtained block vector value. The intra BC prediction unit transmits the intra BC coded information to the entropy coding unit 160. The intra BC prediction unit includes block vector information.

[0027] When the above-mentioned picture prediction is performed, the conversion unit 110 converts the residual value between the original picture and the predicted picture to obtain a conversion coefficient value. At this time, the conversion is performed in units of specific blocks within the picture, and the size of the specific block varies within a preset range. The quantization unit 115 quantizes the value of the conversion coefficient generated by the conversion unit 110 and transmits it to the entropy coding unit 160.

[0028] The entropy coding unit 160 performs entropy coding on information indicating the quantized conversion coefficient, intra-coding information, inter-coding information, etc. to generate a video signal bitstream. In the entropy coding unit 160, a variable length coding (VLC) method, an arithmetic coding method, etc. are used. The variable length coding (VLC) method converts the input symbol into a continuous codeword, but the length of the codeword is variable. For example, frequently occurring symbols are represented by short codewords, and infrequently occurring symbols are represented by long codewords. As the variable length coding method, a context-based adaptive variable length coding (CAVLC) method is used. Arithmetic coding converts a continuous data symbol into a single prime number, and arithmetic coding obtains the optimal prime number bits required to represent each symbol. As arithmetic coding, a context-based adaptive binary arithmetic coding (CABAC) method is used. For example, the entropy coding unit 160 can binaryize the information indicating the quantized conversion coefficient. Also, the entropy coding unit 160 can perform arithmetic coding on the binaryized information to generate a bitstream.

[0029] The generated bitstream is encapsulated in units of NAL (Network Abstraction Layer) units. An NAL unit contains an integer number of encoded coding tree units. To decode the bitstream in a video decoder, first, the bitstream should be separated into NAL units, and then each separated NAL unit should be decoded. On the other hand, information necessary for decoding the video signal bitstream is transmitted via upper-level sets of RBSP (Raw Byte Sequence Payload) such as a Picture Parameter Set (PPS), a Sequence Parameter Set (SPS), and a Video Parameter Set (VPS).

[0030] On the other hand, the block diagram of FIG. 1 shows an encoding apparatus 100 according to an embodiment of the present invention, and the separately shown blocks logically distinguish the elements of the encoding apparatus 100. Therefore, the elements of the encoding apparatus 100 described above are attached to one chip or a plurality of chips according to the design of the device. According to one embodiment, the operations of each element of the encoding apparatus 100 described above are performed by a processor (not shown).

[0031] FIG. 2 is a schematic block diagram of a video signal decoding apparatus 200 according to an embodiment of the present invention. Referring to FIG. 2, the decoding apparatus 200 in this specification includes an entropy decoding unit 210, an inverse quantization unit 220, an inverse transform unit 225, a filtering unit 230, and a prediction unit 250.

[0032] The entropy decoding unit 210 entropy decodes the video signal bitstream to extract transform coefficient information, intra-coding information, inter-coding information, etc. for each region. For example, the entropy decoding unit 210 may obtain a binary code for transform coefficient information of a specific region from the video signal bitstream. The entropy decoding unit 210 also de-binarizes the binary code to obtain quantized transform coefficients. The inverse quantization unit 220 inverse quantizes the quantized transform coefficients, and the inverse transform unit 225 restores residual values ​​using the inverse quantized transform coefficients. The video signal processing device 200 combines the residual values ​​obtained from the inverse transform unit 225 with the predicted values ​​obtained from the prediction unit 250 to restore original pixel values.

[0033] Meanwhile, the filtering unit 230 performs filtering on the picture to improve image quality, including a deblocking filter for reducing block distortion and / or an adaptive loop filter for removing distortion of the entire picture, etc. The filtered picture is output or stored in a decoded picture buffer (DPB) 256 to be used as a reference picture for the next picture.

[0034] The prediction unit 250 includes an intra prediction unit 252 and an inter prediction unit 254. The prediction unit 250 generates a predicted picture by utilizing the encoded type decoded through the entropy decoding unit 210 described above, the conversion coefficients for each region, the intra / inter encoding information, etc. To restore the current block for which decoding is performed, the decoded regions of the current picture or other pictures containing the current block can be used. A picture (or tile / slice) that uses only the current picture for restoration, that is, performs intra prediction or intra BC prediction, is called an intra picture or I picture (or tile / slice). A picture (or tile / slice) that can perform all of intra prediction, inter prediction, and intra BC prediction is called an inter picture (or tile / slice). Among the inter pictures (or tiles / slices), a picture (or tile / slice) that uses at most one motion vector and a reference picture index to predict the sample values of each block is called a predictive picture or P picture (or tile / slice), and a picture (or tile / slice) that uses at most two motion vectors and a reference picture index is called a Bi-predictive picture or B picture (or tile / slice). In other words, the P picture (or tile / slice) uses at most one set of motion information to predict each block, and the B picture (or tile / slice) uses at most two sets of motion information to predict each block. Here, a set of motion information includes one or more motion vectors and one reference picture index.

[0035] The intra prediction unit 252 generates a prediction block by using the intra-coded information and the restored samples in the current picture. As described above, the intra-coded information includes at least one of an intra prediction mode, an MPM (MOST Probable Mode) flag, and an MPM index. The intra prediction unit 252 predicts the sample values of the current block by using the restored samples located on the left side and / or the upper side of the current block as reference samples. In the present disclosure, the restored samples, the reference samples, and the samples of the current block indicate pixels. Also, the sample value indicates a pixel value.

[0036] In one embodiment, the reference sample is a sample included in a peripheral block of the current block. For example, the reference sample is a sample adjacent to the left boundary of the current block and / or a sample adjacent to the upper boundary of the current block. Also, the reference sample is a sample located on a line within a preset distance from the left boundary of the current block and / or a sample located on a line within a preset distance from the upper boundary of the current block among the samples of the peripheral block of the current block. At this time, the peripheral block of the current block includes at least one of a left (L) block adjacent to the current block, an upper (A) block, a below left (BL) block, an above right (AR) block, or an above left (AL) block.

[0037] The inter prediction unit 254 generates a prediction block by using the reference pictures and the inter-coded information stored in the decoded picture buffer 256. The inter-coded information includes a set of motion information (such as a reference picture index, a motion vector, etc.) for the current block with respect to the reference block. There are L0 prediction, L1 prediction, and bi-prediction for inter prediction. The L0 prediction is a prediction using one reference picture included in the L0 picture list, and the L1 prediction means a prediction using one reference picture included in the L1 picture list. For this purpose, a set of motion information (for example, a motion vector and a reference picture index) is required. In the bi-prediction method, a maximum of two reference areas are used, and these two reference areas may exist in the same reference picture or in different pictures respectively. That is, in the bi-prediction method, a maximum of two sets of motion information (for example, a motion vector and a reference picture index) are used, and the two motion vectors may correspond to the same reference picture index or to different reference picture indexes. At this time, the reference picture is displayed (or output) either before or after the current picture in time. According to one embodiment, in the bi-prediction method, the two reference areas used may be areas selected from the L0 picture list and the L1 picture list respectively.

[0038] The inter prediction unit 254 acquires the current reference block by using the motion vector and the reference picture index. The reference block exists in the reference picture corresponding to the reference picture index. Also, the sample value of the block specified by the motion vector or the interpolated value thereof is used as the predictor of the current block. For motion prediction with pixel accuracy in sub-pel units, for example, an 8-tap interpolation filter is used for the luminance signal, and a 4-tap interpolation filter is used for the color difference signal. However, the interpolation filter for motion prediction in sub-pel units is not limited to this. Thus, the inter prediction unit 254 performs motion compensation to predict the texture of the current unit from the previously restored picture. At this time, the inter prediction unit uses a set of motion information.

[0039] According to a further embodiment, the prediction unit 250 can include an intra BC prediction unit (not shown). The intra BC prediction unit can restore the current region by referring to a specific region including the restored samples in the current picture. The intra BC prediction unit acquires the intra BC coding information for the current region from the entropy decoding unit 210. The intra BC prediction unit acquires the block vector value of the current region indicating the specific region in the current picture. The intra BC prediction unit can perform intra BC prediction by using the acquired block vector value. The intra BC coding information can include block vector information.

[0040] The predicted value output from the intra prediction unit 252 or the inter prediction unit 254 and the residual value output from the inverse conversion unit 225 are added together to generate a restored video picture. That is, the video signal decoding device 200 restores the current block by using the predicted block generated by the prediction unit 250 and the residual acquired from the inverse conversion unit 225.

[0041] On the one hand, the block diagram of FIG. 2 shows a decoding apparatus 200 according to an embodiment of the present invention, and the blocks shown separately logically distinguish the elements of the decoding apparatus 200. Therefore, the elements of the decoding apparatus 200 described above are attached to one chip or a plurality of chips according to the design of the device. According to one embodiment, the operations of each element of the decoding apparatus 200 described above are performed by a processor (not shown).

[0042] FIG. 3 shows an example in which a Coding Tree Unit (CTU) is divided into Coding Units (CUs) within a picture. In the coding process of a video signal, a picture is divided into a sequence of Coding Tree Units (CTUs). A coding tree unit consists of an NXN block of luminance samples and two blocks of corresponding chrominance samples. The coding tree unit is divided into a plurality of coding units. The coding tree unit may become a leaf node without being divided. In this case, the coding tree unit itself can become a coding unit. A coding unit refers to a basic unit for processing a picture in the above-described video signal processing process, that is, processes such as intra / inter prediction, conversion, quantization, and / or entropy coding. Within one picture, the size and pattern of the coding units are not constant. The coding unit has a square or rectangular pattern. A rectangular coding unit (or rectangular block) includes a vertical coding unit (or vertical block) and a horizontal coding unit (or horizontal block). In this specification, a vertical block is a block whose height is greater than its width, and a horizontal block is a block whose width is greater than its height. Also, in this specification, a non-square block refers to a rectangular block, but the present invention is not limited thereto.

[0043] Referring to FIG. 3, the coding tree unit is first divided into a Quad Tree (QT) structure. That is, in the quad tree structure, one node having a size of 2N×2N is divided into four nodes having a size of N×N. In this specification, the quad tree is also referred to as a quaternary tree. The quad tree division is performed recursively, and not all nodes need to be divided to the same depth.

[0044] On the other hand, the leaf node of the above-mentioned quad tree is further divided into a Multi-Type Tree (MTT) structure. According to an embodiment of the present invention, in the multi-type tree structure, one node is divided into a binary or ternary tree structure of horizontal or vertical division. That is, in the multi-type tree structure, there are four division structures: vertical binary division, horizontal binary division, vertical ternary division, and horizontal ternary division. According to an embodiment of the present invention, in each of the above tree structures, both the width and height of the node have a value that is a power of 2. For example, in a binary tree (BT) structure, a node having a size of 2N×2N is divided into two nodes of N×2N by vertical binary division and into two nodes of 2N×N by horizontal binary division. Also, in a ternary tree (TT) structure, a node having a size of 2N×2N is divided into nodes of (N / 2)×2N, N×2N, and (N / 2)×2N by vertical ternary division and into nodes of 2N×(N / 2), 2N×N, and 2N×(N / 2) by horizontal ternary division. Such multi-type tree division is performed recursively.

[0045] The leaf nodes of the multi-type tree can be coding units. If no split is indicated for the coding unit or the coding unit is not larger than the maximum transform length, the corresponding coding unit is used as a prediction and transformation unit without further splitting. On the other hand, in the above-mentioned quad tree and multi-type tree, at least one of the following parameters is predefined or transmitted via the RBSP of the upper-level set such as PPS, SPS, VPS, etc. 1) CTU size: the size of the root node of the quad tree, 2) Minimum QT size (MinQtSize): the size of the smallest allowable QT leaf node, 3) Maximum BT size (MaxBtSize): the size of the largest allowable BT root node, 4) Maximum TT size (MaxTtSize): the size of the largest allowable TT root node, 5) Maximum MTT depth (MaxMttDepth): the maximum allowable depth of MTT splitting from the leaf node of the QT, 6) Minimum BT size (MinBtSize): the size of the smallest allowable BT leaf node, 7) Minimum TT size: the size of the smallest allowable TT leaf node.

[0046] Figure 4 illustrates an embodiment of a method for signaling the splitting of the quad tree and multi-type tree. Flags that have been set can be used to signal the splitting of the above-mentioned quad tree and multi-type tree. Referring to Figure 4, at least one of the flag 'qt_split_flag' indicating whether to split the quad tree node, the flag'mtt_split_flag' indicating whether to split the multi-type tree node, the flag'mtt_split_vertical_flag' indicating the splitting direction of the multi-type tree node, or the flag'mtt_split_binary_flag' indicating the splitting form of the multi-type tree node can be used.

[0047] According to an embodiment of the present invention, the coding tree unit is the root node of a quad tree and can be split into a quad tree structure first. In the quad tree structure, a 'qt_split_flag' is signaled for each node 'QT_node'. When the value of 'qt_split_flag' is 1, the corresponding node is split into four square nodes. When the value of 'qt_split_flag' is 0, the corresponding node becomes a leaf node 'QT_leaf_node' of the quad tree.

[0048] Each quad tree leaf node 'QT_leaf_node' can be further split into a multi-type tree structure. In the multi-type tree structure, an'mtt_split_flag' is signaled for each node 'MTT_node'. When the value of'mtt_split_flag' is 1, the corresponding node is split into a plurality of rectangular nodes. When the value of'mtt_split_flag' is 0, the corresponding node becomes a leaf node 'MTT_leaf_node' of the multi-type tree. When the multi-type tree node 'MTT_node' is split into a plurality of rectangular nodes (i.e., when the value of'mtt_split_flag' is 1), an'mtt_split_vertical_flag' and an'mtt_split_binary_flag' for the node 'MTT_node' can be additionally signaled. When the value of'mtt_split_vertical_flag' is 1, a vertical split of the node 'MTT_node' is indicated. When the value of'mtt_split_vertical_flag' is 0, a horizontal split of the node 'MTT_node' is indicated. Also, when the value of'mtt_split_binary_flag' is 1, the node 'MTT_node' is split into two rectangular nodes. When the value of'mtt_split_binary_flag' is 0, the node 'MTT_node' is split into three rectangular nodes.

[0049] Picture prediction (motion compensation) for coating is performed on a coding unit that cannot be further divided (i.e., a leaf node of the coding unit tree). The basic unit for performing such prediction is hereinafter referred to as a prediction unit or a prediction block.

[0050] Hereinafter, the term "unit" used in this specification is used as a term to replace the prediction unit that is the basic unit for performing prediction. However, the present invention is not limited thereto, and in a broader sense, it is understood as a concept including the coding unit.

[0051] FIGS. 5 and 6 are diagrams showing in more detail the intra prediction method according to an embodiment of the present invention. As described above, the intra prediction unit uses the restored samples located on the left side and / or the upper side of the current block as reference samples to predict the sample values of the current block.

[0052] First, FIG. 5 shows an example of reference samples used to predict the current block in the intra prediction mode. According to an example, the reference samples are samples adjacent to the left boundary of the current block and / or samples adjacent to the upper boundary of the current block. As shown in FIG. 5, if the size of the current block is W×H and the samples of a single reference line adjacent to the current block are used for intra prediction, the reference samples are set using a maximum of 2W+2H+1 peripheral samples located on the left side and / or the upper side of the current block.

[0053] Also, if at least some of the samples used as reference samples have not yet been restored, the intra prediction unit performs a reference sample padding process to obtain the reference samples. Further, the intra prediction unit performs a reference sample filtering process to reduce the error of intra prediction. That is, filtering is performed on the neighboring samples and / or the reference samples obtained by the reference sample padding process to obtain the filtered reference samples. The intra prediction unit predicts the samples of the current block using the reference samples thus obtained. The intra prediction unit predicts the samples of the current block using the unfiltered reference samples or the filtered reference samples. In the present disclosure, the neighboring samples can include samples on at least one reference line. For example, the neighboring samples can include adjacent samples on the line adjacent to the boundary of the current block.

[0054] Next, FIG. 6 illustrates an embodiment of the prediction mode used for intra prediction. For intra prediction, intra prediction mode information indicating the intra prediction direction can be signaled. The intra prediction mode information indicates any one of a plurality of intra prediction modes constituting the intra prediction mode set. When the current block is an intra-predicted block, the decoder receives the intra prediction mode information of the current block from the bitstream. The intra prediction unit of the decoder performs intra prediction on the current block based on the extracted intra prediction mode information.

[0055] According to an embodiment of the present invention, the intra prediction mode set includes all intra prediction modes used for intra prediction (for example, a total of 67 intra prediction modes). More specifically, the intra prediction mode set includes a planar mode, a DC mode, and a plurality of (for example, 65) angular modes (i.e., direction modes). Each intra prediction mode is indicated via a preset index (i.e., an intra prediction mode index). For example, as shown in FIG. 6, the intra prediction mode index 0 indicates the planar mode, and the intra prediction mode index 1 indicates the DC mode. Also, the intra prediction mode indices 2 to 66 respectively indicate different angular modes. The angular modes respectively indicate different angles within a preset angle range. For example, the angular mode can indicate an angle within an angle range of 45° to -135° in the clockwise direction (i.e., the first angle range). The angular mode may be defined based on the 12 o'clock direction. At this time, the intra prediction mode index 2 indicates the Horizontal Diagonal (HDIA) mode, the intra prediction mode index 18 indicates the Horizontal (HOR) mode, the intra prediction mode index 34 indicates the Diagonal (DIA) mode, the intra prediction mode index 50 indicates the Vertical (VER) mode, and the intra prediction mode index 66 indicates the Vertical Diagonal (VDIA) mode.

[0056] Hereinafter, with reference to FIG. 7, an inter prediction method according to an embodiment of the present invention will be described. In the present invention, the inter prediction method can include a general inter prediction method optimized for translational motion and an affine model-based inter prediction method. Also, the motion vector can usually include at least one of a general motion vector for motion compensation based on the inter prediction method and a control point motion vector for affine motion compensation.

[0057] FIG. 7 illustrates an inter prediction method according to an embodiment of the present invention. As described above, the decoder can predict the current block by referring to the restored samples of other decoded pictures. Referring to FIG. 7, the decoder obtains a reference block 702 in a reference picture 720 based on the motion information set of the current block 701. At this time, the motion information set can include a reference picture index and a motion vector 703. The reference picture index indicates the reference picture 720 in which the reference block for inter prediction of the current block is included in the reference picture list. According to one embodiment, the reference picture list can include at least one of the L0 picture list or the L1 picture list described above. The motion vector indicates an offset between the coordinate value of the current block 701 in the current picture 710 and the coordinate value of the reference block 702 in the reference picture 720. The decoder obtains a predictor of the current block 701 based on the sample value of the reference block 702, and restores the current block 701 using the predictor.

[0058] Specifically, the encoder can search for a block similar to the current block in a picture with an earlier restoration order to obtain the reference block described above. For example, the encoder can search for a reference block with the minimum sum of differences between the current block and the sample values within a preset search area. At this time, at least one of SAD (Sum Of Absolute Difference) or SATD (Sum of Hadamard Transformed Difference) can be used to measure the similarity between the samples of the current block and the reference block. Here, SAD can be a value obtained by summing up all the absolute values of the differences between the sample values included in the two blocks. Also, SATD can be a value obtained by summing up all the absolute values of the Hadamard transform coefficients obtained by performing a Hadamard transform on the differences between the sample values included in the two blocks.

[0059] On the one hand, the current block can also be predicted using one or more reference regions. As described above, the current block can be inter-predicted by a dual prediction method using two or more reference regions. According to one embodiment, the decoder can obtain two reference blocks based on two motion information sets of the current block. Further, the decoder can obtain a first predictor and a second predictor of the current block based on the sample values of each of the two obtained reference blocks. Further, the decoder can restore the current block using the first predictor and the second predictor. For example, the decoder can restore the current block based on the sample-by-sample average of the first predictor and the second predictor.

[0060] As described above, for motion compensation of the current block, one or more motion information sets can be signaled. At this time, the similarity between the motion information sets for motion compensation of each of the plurality of blocks can be utilized. For example, the motion information set used for prediction of the current block can be derived from the motion information set used for prediction of any one of the other already-restored samples. Through this, the encoder and the decoder can reduce the signaling overhead. Hereinafter, various embodiments in which the motion information set of the current block is signaled will be described.

[0061] For example, there may be a plurality of candidate blocks that may be predicted based on a motion information set identical or similar to the motion information set of the current block. The decoder can generate a merge candidate list based on the plurality of candidate blocks. Here, the merge candidate list can include candidates corresponding to samples that may be predicted based on a motion information set related to the motion information set of the current block among the samples restored prior to the current block. The encoder and the decoder can configure the merge candidate list of the current block based on a predefined rule. At this time, the merge candidate lists configured by the encoder and the decoder may be the same as each other. For example, the encoder and the decoder can configure the merge candidate list of the current block based on the position of the current block within the current picture. A method for the encoder and the decoder to configure the merge candidate list of the current block will be described later with reference to FIG. 9. In the present disclosure, the position of a specific block represents the relative position of the top-left sample of the specific block within the picture including the specific block.

[0062] On the other hand, in order to improve coding efficiency, instead of directly coding the aforementioned residual signal, a method can be used in which the conversion coefficient values obtained by converting the residual signal are quantized, and the quantized conversion coefficients are coded. As described above, the conversion unit can obtain conversion coefficient values by converting the residual signal. At this time, the residual signal of a specific block may be distributed over the entire area of the current block. Thereby, the energy can be concentrated in the low-frequency region by using frequency-domain conversion for the residual signal, and the coding efficiency can be improved. Hereinafter, a method in which the residual signal is converted or inverse-converted will be specifically described.

[0063] FIG. 8 is a diagram specifically showing a method by which an encoder converts a residual signal. As described above, the residual signal in the spatial domain may be converted into the frequency domain. The encoder can convert the acquired residual signal to obtain conversion coefficients. First, the encoder can obtain at least one residual block including the residual signal for the current block. The residual block may be either the current block or one of the blocks divided from the current block. In the present disclosure, the residual block may be referred to as a residual array or a residual matrix including the residual samples of the current block. Also, in the present disclosure, the residual block represents a block having the same size as the size of the conversion unit or the conversion block.

[0064] Next, the encoder can convert the residual block using a conversion kernel. The conversion kernel used for the conversion of the residual block may be a conversion kernel having separable characteristics of vertical conversion and horizontal conversion. In this case, the conversion of the residual block may be performed separately for vertical conversion and horizontal conversion. For example, the encoder can perform vertical conversion by applying a conversion kernel in the vertical direction of the residual block. Also, the encoder can perform horizontal conversion by applying a conversion kernel in the horizontal direction of the residual block. In the present disclosure, the conversion kernel may be used as a term representing a parameter set used for the conversion of the residual signal such as a conversion matrix, a conversion array, a conversion function, a conversion. According to one embodiment, the conversion kernel may be any one of a plurality of available kernels. Also, conversion kernels based on different conversion types may be used for each of the vertical conversion and the horizontal conversion. A method for selecting any one of the plurality of available conversion kernels will be described later with reference to FIGS. 12 to 26.

[0065] The encoder can transmit the conversion block converted from the residual block to the quantization unit for quantization. At this time, the conversion block can include a plurality of conversion coefficients. Specifically, the conversion block may be composed of a plurality of conversion coefficients arranged in a two-dimensional array. The size of the conversion block may be the same as any one of the current block or a block divided from the current block, similar to the residual block. The conversion coefficients transmitted to the quantization unit may be represented by quantized values.

[0066] Also, the encoder can perform additional conversion before the conversion coefficients are quantized. As shown in FIG. 8, the above-described conversion method can be called a primary transform, and the additional conversion can be called a secondary transform. The secondary transform can be selective for each residual block. According to one embodiment, the encoder can perform a secondary transform on a region where it is difficult to concentrate energy in the low-frequency region only by the primary transform, thereby improving the coding efficiency. For example, a secondary transform may be added to a block in which the residual value appears significantly in a direction other than the horizontal or vertical direction of the residual block. The probability that the residual value of the intra-predicted block changes in a direction other than the horizontal or vertical direction may be higher than that of the residual value of the inter-predicted block. Accordingly, the encoder can further perform a secondary transform on the residual signal of the intra-predicted block. Also, the encoder can omit the secondary transform on the residual signal of the inter-predicted block.

[0067] As another example, whether to perform a secondary conversion may be determined according to the size of the current block or the residual block. Also, conversion kernels of different sizes may be used according to the size of the current block or the residual block. For example, for a block whose length of the shorter side among the width or the height is greater than or equal to a first preset length, an 8×8 secondary conversion may be applied. Also, for a block whose length of the shorter side among the width or the height is greater than or equal to a second preset length and less than the first preset length, a 4×4 secondary conversion may be applied. At this time, the first preset length may be a value greater than the second preset length, but the present disclosure is not limited thereto. Also, unlike the primary conversion, the secondary conversion does not have to be performed separately for vertical conversion and horizontal conversion. Such a secondary conversion can be called a Low Frequency Non-Separable Transform (LFNST).

[0068] Also, in the case of a video signal in a specific region, due to a sudden brightness change, the high-frequency band energy may not decrease even when frequency conversion is performed. As a result, the compression performance due to quantization may deteriorate. Also, when conversion is performed on a region where residual values rarely exist, the encoding time and the decoding time may increase unnecessarily. For this reason, the conversion for the residual signal in the specific region may be omitted. Whether to perform the conversion for the residual signal in the specific region may be determined by a syntax element related to the conversion in the specific region. For example, the syntax element may include transform skip information. The transform skip information may be a transform skip flag. When the transform skip information for the residual block indicates a transform skip, the conversion for the residual block is not performed. In this case, the encoder can immediately quantize the residual signal for which the conversion in the region is not performed. The operation of the encoder described with reference to FIG. 8 can be performed in the conversion unit of FIG. 1.

[0069] The above-described conversion-related syntax elements may be information parsed from a video signal bitstream. The decoder can entropy-decode the video signal bitstream to obtain the conversion-related syntax elements. Also, the encoder can entropy-code the conversion-related syntax elements to generate a video signal bitstream.

[0070] FIG. 9 is a diagram specifically showing a method in which an encoder and a decoder inverse-transform conversion coefficients to obtain a residual signal. Hereinafter, for convenience of explanation, it will be described assuming that the inverse-transform operation is performed in each inverse-transform unit of the encoder and the decoder. The inverse-transform unit can inverse-transform the inverse-quantized conversion coefficients to obtain a residual signal. First, the inverse-transform unit can detect whether inverse transformation for a specific region is to be performed from the conversion-related syntax elements of the specific region. According to one embodiment, when the conversion-related syntax elements for a specific conversion block indicate conversion skip, the conversion for the conversion block may be omitted. In this case, all of the above-described primary inverse transformation and secondary inverse transformation for the conversion block may be omitted. Also, the inverse-quantized conversion coefficients may be used as the residual signal. For example, the decoder can restore the current block using the inverse-quantized conversion coefficients as the residual signal.

[0071] According to another embodiment, the conversion-related syntax elements for a specific conversion block may not be able to represent conversion skip. In this case, the inverse-transform unit can determine whether to perform the secondary inverse transformation for the secondary transformation. For example, when the conversion block is a conversion block of an intra-predicted block, the secondary inverse transformation for the conversion block may be performed. Also, based on the intra-prediction mode corresponding to the conversion block, the secondary conversion kernel used for the conversion block may be determined. As another example, it may be determined whether to perform the secondary inverse transformation based on the size of the conversion block. The secondary inverse transformation may be performed after the inverse-quantization process and before the primary inverse transformation is performed.

[0072] The inverse transform unit can perform an inverse transform on the inverse quantized transform coefficients or the transform coefficients after the second inverse transform. In the case of the first inverse transform, similar to the first transform, it may be performed separately for the vertical transform and the horizontal transform. For example, the inverse transform unit can perform a vertical inverse transform and a horizontal inverse transform on the transform block to obtain a residual block. The inverse transform unit can inverse-transform the transform block based on the transform kernel used for the transform of the transform block. For example, the encoder can signal explicitly or implicitly information indicating the transform kernel currently applied to the transform block among a plurality of available transform kernels. The decoder can select the transform kernel used for the inverse transform of the transform block from among a plurality of available transform kernels using the information indicating the signaled transform kernel. The inverse transform unit can restore the current block using the residual signal obtained by the inverse transform on the transform coefficients.

[0073] FIG. 10 is a diagram for explaining a method of applying an intra prediction mode when a coding block according to an embodiment of the present invention is divided into a plurality of transform blocks. According to an embodiment of the present invention, the intra prediction mode may be determined in units of a coding unit (or a coding block) (hereinafter, may be abbreviated as a block). And the coding unit may be divided into a plurality of transform blocks. As an example, the intra prediction mode may be modified (or analyzed, determined, improved) based on the form of the coding block.

[0074] In one embodiment, when it is not a square (or regular quadrilateral) block, a method for re-analyzing the intra prediction mode will be described. Referring to FIG. 10, nTbW may be a variable indicating the width of the conversion block, and nTbH may be a variable indicating the height of the conversion block. Alternatively, nTbW may be a variable indicating the width of the coding block, and nTbH may be a variable indicating the height of the coding block. Alternatively, in a block to which ISP (Intra subpartitions) is applied, nTbW may be a variable indicating the width of the coding block, and nTbH may be a variable indicating the height of the coding block. Also, in the present invention, whRatio is a variable indicating the ratio of width to height. As an example, whRatio may be set (or defined) to Abs(Log2(nTbW / nTbH)). Hereinafter, the intra prediction mode signaled from the encoder to the decoder is referred to as the first prediction mode (or the first intra prediction mode), and the modified (or re-analyzed, determined, improved) mode can be referred to as the second prediction mode (or the second intra prediction mode). Hereinafter, abs() represents an operator (or function) that takes the absolute value. The modified intra prediction mode may be derived based on the following conditions.

[0075] - First condition: nTbW > nTbH

[0076] - Second condition: Is the first prediction mode greater than or equal to 2?

[0077] - Third condition: When the first prediction mode is such that whRatio > 1, is it less than (8 + 2 * whRatio), and when whRatio < 1, is it less than 8?

[0078] When the decoder satisfies the three conditions of the first condition to the third condition, it can set wideAngle to 1 and set the second prediction mode to (the first prediction mode + 65). Here, wideAngle is a variable indicating whether the wide-angle mode is used.

[0079] - Fourth condition: nTbH > nTbW

[0080] - Fifth condition: Whether the first prediction mode is less than or equal to 66

[0081] - Sixth condition: When the first prediction mode is whRatio > 1, whether it is greater than (60 - 2 * whRatio), and when whRatio < 1, whether it is greater than 60

[0082] When the decoder satisfies all of the fourth to sixth conditions, it can set the variable wideAngle to 1 and set the second prediction mode to (the first prediction mode - 67).

[0083] According to an embodiment of the present invention, the intra prediction mode can be distinguished into a basic angle mode and an extended angle mode. The basic angle mode may be an angle mode within the range of ±45° with respect to the vertical mode / horizontal mode reference, and the extended angle mode may be an angle mode exceeding ±45° with respect to the vertical mode / horizontal mode reference. Therefore, the signaled mode information may use the basic angle mode or the extended angle mode depending on the form of the coding block. The number of available modes for the extended angle mode may be defined by the horizontal and vertical ratio (or the vertical and horizontal ratio) based on the form of the coding block. As an example, the ratio may be defined (or set) as 2:1, 4:1, 8:1, 16:1, etc.

[0084] For example, as shown in FIG. 10(a), the cbWidth × cbHeight coding block determined as the intra prediction mode 2 may be divided into two transform blocks in the horizontal direction as shown in FIG. 10(b). Assuming that tbWidht_1 is greater than tbHeight_1, the first transform block having the tbWidht_1 × tbHeight_1 size can have a vertical rectangular block form. Here, cbWidth is a variable indicating the width of the coding block, and cbHeight is a variable indicating the height of the coding block. tbWidth is a variable indicating the width of the transform block, and tbHeight is a variable indicating the height of the transform block.

[0085] At this time, the signaled intra prediction mode 2 may be re-analyzed based on the form of the first transformation block and modified to an extended angle mode, resulting in (2 + 65) according to the above-described analysis method, and the second prediction mode may be derived (or determined) as 67. That is, the intra prediction mode determined in the coding block unit may not be used identically in the transformation block unit. In this case, there may be a performance change due to this.

[0086] Therefore, according to an embodiment of the present invention, a method for determining a wide-angle mode for applying the intra prediction mode determined for a coding block identically in a transformation block is proposed as follows. As an example, when deriving the second prediction mode, the encoder / decoder can set nTbW and nTbH to cbWidth and cbHeight of the coding block. The encoder / decoder can determine (or decide) whether to use the wide-angle mode using the height and width of the coding block including the transformation block. In FIG. 10, the case where the transformation block is divided into a horizontal rectangular form is taken as an example, but the present invention is not limited thereto. That is, the proposed embodiment may be similarly applied when divided into various forms such as a vertical rectangle, a square, or a combination.

[0087] FIG. 11 is a diagram for explaining a method of applying PDPC (position-dependent intra prediction combination) according to an embodiment of the present invention. PDPC may be applied to an intra block when all of the following conditions are satisfied.

[0088] Condition 1. IntraSubPartitionsSplitType (ISP split type) is ISP_NO_SPLIT, or cIdx (component index) is not the same as 0

[0089] Condition 2. refIdx (reference sample line index) is the same as 0, or cIdx is not the same as 0

[0090] Condition 3. If any one of the following conditions is met:

[0091] - predModeIntra (intra prediction mode) is INTRA_PLANAR

[0092] - predModeIntra (intra prediction mode) is INTRA_DC

[0093] - predModeIntra (intra prediction mode) is INTRA_ANGULAR18

[0094] - predModeIntra (intra prediction mode) is INTRA_ANGULAR50

[0095] - When predModeIntra (intra prediction mode) is less than or equal to INTRA_ANGULAR10

[0096] - When predModeIntra (intra prediction mode) is equal to or greater than INTRA_ANGULAR58

[0097] According to an embodiment of the present invention, the PDPC operation may be applied by the method described below. The PDPC described in the present invention is not limited to its name, and at all times, the PDPC may be referred to as position-dependent intra prediction sample filtering.

[0098] As an example, the predicted sample pred(x, y) at the (x, y) position may be predicted using a linear combination of the intra prediction mode (e.g., DC, planar, directional mode) and the reference samples by PDPC as shown in Equation 1 below.

[0099] [Equation 1] pred(x,y) = ( wL × R -1,y + wT × Rx,-1 - wTL × R -1,-1 + (64 - wL - wT + wTL) × pred(x,y) + 32 ) >> 6

[0100] Here, R x,-1 and R -1,y each represent a reference sample located on the left and above the current sample (x, y), and R -1,-1 represents a reference sample located at the top-left of the current block. When the DC mode is applied to the current block, a weighted value (also referred to as the PDPC weighted value) may be calculated based on the following Equation 2.

[0101] [Equation 2] wT = 32 >> ( ( y<<1 ) >> shift ), wL = 32 >> ( ( x<<1 ) >> shift ), wTL = ( wL>>4 ) + ( wT>>4 )

[0102] In Equation 2, shift may be set to (log2(width)-2+log2(height)-2+2)>>2. And for the planar mode, wTL may be set to 0, for the horizontal mode, wTL may be set to wT, and for the vertical mode, wTL may be set to wL. The PDPC weighted value may be calculated based only on addition and shift operations. The pred(x,y) value may be calculated in a single step using Equation 1 described above.

[0103] If PDPC is applied to the DC, planar, horizontal and / or vertical modes, additional boundary filtering is not required. As an example, the additional boundary filtering can include the DC mode boundary filter of conventional video compression techniques (e.g., HEVC) or the edge filter for the horizontal / vertical modes.

[0104] FIG. 12 is a diagram illustrating reference samples used for PDPC in an intra prediction mode as an example of an embodiment of the present invention. Referring to FIG. 12, (a) of FIG. 12 assumes that the intra prediction mode is prediction mode 2, and (b) of FIG. 12 assumes that the intra prediction mode is prediction mode 66. Specifically, FIG. 12 shows reference samples R x,-1 , R -1,y and R -1,-1 when PDPC is applied to the top-right diagonal mode. The prediction sample pred(x’, y’) represents the prediction sample located at (x’, y’) within the prediction block. The coordinate x of the reference sample R x,-1 is given by x = x’ + y’ + 1. And the coordinate y of the reference sample R -1,y is similarly given by y = x’ + y’ + 1.

[0105] According to an embodiment of the present invention, the PDPC weight value for the top-right diagonal mode may be determined by the following Equation 3.

[0106] [Equation 3] wT = 16 >> ( ( y’<<1 ) >> shift ), wL = 16 >> ( ( x’<<1 ) >> shift ), wTL = 0

[0107] FIG. 13 is a diagram illustrating reference samples used for PDPC in an intra prediction mode as an example of an embodiment of the present invention. Referring to FIG. 13, (a) of FIG. 13 assumes that the mode number (or mode index) of the intra prediction mode is any one of 3 to 10, and (b) of FIG. 13 assumes that the mode number of the intra prediction mode is any one of 58 to 65. Similar to FIG. 12 described above, FIG. 13 shows reference samples R x,-1 , R -1,y and R -1,-1is shown. The prediction sample pred(x’, y’) represents the prediction sample located at (x’, y’) within the prediction block. The reference sample R x,-1 has its coordinate x given by x = x’ + y’ + 1. And the reference sample R -1,y has its coordinate y similarly given by y = x’ + y’ + 1.

[0108] According to an embodiment of the present invention, the PDPC weighting value for the lower left diagonal mode may be determined by the following Equation 4.

[0109] [Equation 4] wT = 16 >> ( ( y’<<1 ) >> shift ), wL = 16 >> ( ( x’<<1 ) >> shift ), wTL = 0

[0110] For the case of (a) in FIG. 13 for the upper right diagonal mode, the PDPC weighting value may be defined as in the following Equation 5.

[0111] [Equation 5] wT = 32 >> ( ( y’<<1 ) >> shift ), wL = 0, wTL = 0

[0112] Similarly, for the case of (b) in FIG. 13 for the lower left diagonal mode, the PDPC weighting value may be defined as in the following Equation 6.

[0113] [Equation 6] wL = 32 >> ( ( x’<<1 ) >> shift ), wT =0, wTL = 0

[0114] Referring to FIGS. 12 and 13, as an example, similar to the case where PDPC is applied to the DC, planar, horizontal and / or vertical modes, additional boundary filtering is not required for the diagonal mode and the adjacent modes of the diagonal mode shown in FIG. 13.

[0115] The exemplary reference sample coordinates shown in FIG. 13 may be derived based on a table defined for directional mode intra prediction. As described above, since the table may be defined with diagonals and their adjacent modes, there is an advantage that no additional table is required for the PDPC implementation described in the present invention. Also, when calculating the coordinates x and y, multiplication operations may not be used. Further, in one embodiment, when fractional reference sample coordinates are used, linear interpolation may be performed on the reference samples.

[0116] FIG. 14 is a diagram illustrating a method of applying ISP (Intra subpartitions) and PDPC (position-dependent intra prediction combination) to a coding block according to an embodiment to which the present invention is applied. Referring to FIG. 14(a), the current coding block may be expressed as W×H using the width W and the height H. FIG. 14(b) shows an example in which the current coding block is divided into four transform blocks in the vertical direction when the ISP mode is applied. And FIG. 14(c) shows an example of applying PDPC for each of the transform blocks divided in FIG. 14(b).

[0117] In one embodiment, the encoder / decoder can use (or apply) an interpolation filter in units of conversion blocks to which ISP is applied in FIG. 14(b). The interpolation filter represents a method of obtaining sample values from reference samples. As an example, the encoder / decoder can use cubic interpolation filter coefficients if the filter flag is 0, and Gaussian interpolation filter coefficients if the filter flag is 1. The encoder / decoder can determine reference sample values using the determined interpolation filter coefficients and use these values as predicted values. Also, in one embodiment, the encoder / decoder can set the filter flag to 1 for blocks to which the conversion block is a luma component and ISP is applied. As another example, the encoder / decoder can also determine whether to apply an interpolation filter based on the filter flag.

[0118] Also, in one embodiment, the encoder / decoder is a luma component, and for a conversion block to which ISP is applied, it can set (or determine) a filter flag value based on the values of the width W and height H of the block. As one embodiment, the encoder / decoder can compare the number of samples W*H of the block with a predefined (or preset) specific reference value to set the flag value. For example, the encoder / decoder can compare W*H > reference value, W*H >= reference value, W*H < reference value, W*H <= reference value. As another method, the encoder / decoder can compare the block width and height with the reference value respectively to set the filter flag values differently. As one embodiment, the conditions for determining the filter flag value may be defined as (W > reference value and H > reference value), (W > reference value or H > reference value). In the above examples, the inequality signs are not limited to being greater than the reference value, and may also be defined as equal, greater than or equal, less than, less than or equal. The reference values applied to W and H may be different from each other, and different inequality signs may be applied. Or, the filter flag value may be set according to whether it belongs to a specific block size range.

[0119] Referring to FIG. 14(c), in one embodiment of the present invention, the encoder / decoder can apply PDPC to the block to which ISP is applied. As an example, the encoder / decoder can determine whether to apply PDPC to the block to which ISP is applied based on the number of samples W*H of the block. In one embodiment, a condition for determining whether to apply PDPC based on the number of samples of the block may be defined. For example, the condition may be W*H > reference value, W*H >= reference value, W*H < reference value, W*H <= reference value, etc. The reference value may be a preset value. As another embodiment, the condition for determining whether to apply PDPC may be defined as (W > reference value and H > reference value), or may be defined as (W > reference value or H > reference value). At this time, in the above example, the inequality sign is not limited to being greater than the reference value, and may be defined as equal, greater than or equal, less than, or less than or equal. For example, the condition for determining whether to apply PDPC may be defined as (W ≧ reference value and H ≧ reference value), or may be defined as (W ≧ reference value or H ≧ reference value). As an example, the reference values applied to W and H may be defined as the same value, may be defined as different values from each other, may be defined as the same sign (or inequality sign), or may be defined as different signs from each other.

[0120] Also referring to FIG. 14(c), in one embodiment of the present invention, the block to which ISP is applied may be divided into a plurality of rectangular transformation blocks, and the process of encoding / decoding may be performed in units of the divided transformation blocks. In one embodiment, when applying PDPC, the encoder / decoder can also apply it in units of coding blocks instead of units of transformation blocks. That is, the encoder / decoder can perform PDPC on the coding block to which ISP is applied in units of coding blocks instead of units of transformation blocks.

[0121] Referring to FIG. 14(c), in one embodiment of the present invention, when applying PDPC to a block to which ISP is applied, the encoder / decoder can apply PDPC only when specific conditions defined for some of the modes to which PDPC is applied are satisfied. For example, as in the above-described embodiment, when determining whether to apply PDPC based on the number of samples or width / height, the reference values for the planar mode, horizontal mode, and vertical mode may be set to be different.

[0122] Also, according to one embodiment of the present invention, when determining whether to apply reference sample filtering, the encoder / decoder can set a filter flag indicating whether to apply filtering based on whether the block is a block to which ISP and / or PDPC is applied. For example, for a block to which ISP and PDPC are applied, the filter flag may be set to a fixed value of 0 or 1. Or, for a block to which ISP and PDPC are applied, the filter flag value may be determined by MDIS (Mode dependent Intra smoothing) conditions. Or, the encoder / decoder can apply the filter flag value of the block to which ISP and PDPC are applied and the filter flag value of the block to which only ISP is applied to be different from each other.

[0123] Also, according to an embodiment of the present invention, when determining the wide-angle mode, the encoder / decoder can reset the intra prediction mode based on the width and height of the coding block. For example, the encoder / decoder can perform a re-analysis process of the wide-angle mode on the block to which the ISP is applied based on the width and height of the coding block, and set the reference sample filter flag based on this. Alternatively, the encoder / decoder can individually set the wide-angle mode application method based on the division direction / size of the block to which the ISP is applied. As an embodiment, a specific division direction can be applied based on the width / height of the conversion block or the width / height of the coding block, and otherwise, it can be applied in other ways. As another embodiment, the encoder / decoder can apply the wide-angle mode based on the width and height values of the divided conversion blocks. For example, if the minimum value of the width and height of the conversion block is greater than or equal to a reference value, or greater, the wide-angle mode can be applied using the height and width of the coding block, and if it is equal to or less than the reference value, or less, the wide-angle mode can be applied using the width and height of the conversion block. Alternatively, conversely, if the minimum value of the width and height of the conversion block is greater than or equal to a reference value, or greater, the wide-angle mode can be applied using the height and width of the conversion block, and if it is equal to or less than the reference value, or less, the wide-angle mode can be applied using the width and height of the coding block.

[0124] As described above, the embodiments described with reference to FIGS. 10 to 14 may be applied in combination of one or more embodiments, or may be applied independently. Also, the above-described embodiments may be applied in substantially the same manner in the decoder and the encoder.

[0125] FIG. 15 is a diagram for explaining a conversion unit splitting process according to an embodiment of the present invention. Referring to FIG. 15, in an embodiment of the present invention, an encoder / decoder can split a current block (coding block, coding unit) into a plurality of conversion blocks for encoding / decoding. As an example, when the Intra subpartitions (ISP) mode is applied, the coding block may be split into a plurality of conversion blocks. Alternatively, when the size of the coding block is larger than the maximum conversion size, the coding block may be split into a plurality of conversion blocks. When the Intra subpartition mode is applied, as shown in FIG. 15, the coding block may be split into rectangular conversion blocks in the horizontal or vertical direction, and may be split into two or four conversion blocks.

[0126] FIG. 16 is a diagram showing a process of encoding / decoding through a primary transform and a secondary transform according to an embodiment to which the present invention is applied. As described above, the coding block may be split into a plurality of conversion blocks, and the encoder / decoder can apply a conversion to the split conversion blocks. FIG. 16 shows an example of applying two conversions to the conversion block. The Forward Primary Transform in FIG. 16 indicates the first applied conversion based on the encoder side, and may be called the primary transform in the present invention. The Forward Secondary Transform in FIG. 16 indicates the second applied conversion based on the encoder side, and may be called the secondary transform in the present invention. A secondary transform (i.e., secondary inverse transform) and a primary transform (i.e., primary inverse transform) may be sequentially performed on the conversion block inverse quantized based on the decoder side. As described above, the secondary transform can be called a Low Frequency Non-Separable Transform (LFNST).

[0127] In one embodiment of the present invention, the conversion matrix (or conversion kernel, conversion type) used for primary conversion may be a known conversion matrix in conventional video compression technologies such as DCT-2, DST-7, DCT-8, etc. The secondary conversion may be applied to a partial area within the conversion block depending on the size of the coding block. For example, the partial area may be a 4×4 area or an 8×8 area. The position of the partial area may be the upper left area of the coding block (or conversion block). As an example, when both the width and height of the coding block are greater than 4, it may be applied to the upper left 8×8 area, and when either one of the width and height is equal to 4, it may be applied to the upper left 4×4 area. The secondary conversion may be applied to the luma component and chroma component of the block coded in the intra mode.

[0128] FIG. 17 is a diagram for explaining a method of selecting a conversion kernel used for secondary conversion according to an embodiment of the present invention. Referring to FIG. 17, a conversion kernel set (or conversion type set, conversion matrix set) may be determined based on the prediction mode used for intra prediction, and the table shown in FIG. 17 may be defined in the encoder / decoder. In this embodiment, the intra prediction mode may be defined from -14 to 83. As shown in FIG. 17, a conversion kernel set may be determined for each grouped intra prediction mode. The same index may be applied to the luma component and chroma component. Since the secondary conversion kernel set is determined based on the intra prediction mode, the conversion kernel set can be determined after obtaining (or determining) the intra prediction mode. This causes a dependency problem. Therefore, in one embodiment of the present invention, a method of eliminating such dependency is described.

[0129] As an example, the encoder / decoder can determine the conversion kernel set applied to the current block according to the intra prediction mode in consideration of the following matters.

[0130] - The horizontal-to-vertical ratio or vertical-to-horizontal ratio of the CU

[0131] - Size of CU

[0132] - Type of primary conversion

[0133] - MTS index

[0134] - Whether implicit MTS is applied or not

[0135] The encoder / decoder can determine a set of conversion kernels based on the above-mentioned matters, and the above-mentioned matters may be used for determining the set of conversion kernels in one or more combinations.

[0136] FIG. 18 is a diagram illustrating a method for applying secondary conversion in units of conversion blocks according to an embodiment of the present invention. According to an embodiment of the present invention, an encoder / decoder can divide a coding block (or a coding unit) into a plurality of conversion blocks (or conversion units), and apply secondary conversion to each of the conversion blocks. Secondary conversion can be applied to each conversion block divided from one coding unit into a plurality of conversion blocks. The size of each conversion block is determined based on the division method for the coding unit. The size of each conversion block of the coding unit to which ISP is applied may be determined by vertical division or horizontal division as shown in FIG. 15, and its size may be further determined by the number of further divisions. The number of divisions in the block to which ISP is applied may be 2 or 4. In FIG. 18, a case where one coding unit is divided vertically as a block to which ISP is applied and the number of divisions is 4 is illustrated. As shown in (b) of FIG. 14 described above, if the size of the coding unit is W×H, the size of each conversion block may be W / 4×H. The size of the conversion block may be used as the width and height for determining whether secondary conversion is applied or not.

[0137] According to an embodiment of the present invention, the encoder / decoder can use the same set of transform kernels for each transform block or different sets of transform kernels. The divided transform blocks can use the same transform kernel if the intra prediction mode and the size of the divided blocks are the same. In the opposite case, the encoder / decoder can determine and use a set of kernels for each transform block. For a coding unit to which the intra sub-partition mode is applied, the luma component is converted into a plurality of transform blocks, but the chroma component may not be divided. In this case, both the luma transform block and the chroma transform block can use the same set of secondary transform kernels, and the size of the coding block to which the secondary transform block is applied must be satisfied. Also, the sizes of the luma and chroma transform blocks may be different. At this time, the encoder / decoder can be applied to a 4×4 or 8×8 region according to the block size condition to which the secondary transform block is applied. As another method, the encoder / decoder can use the region applied to the luma transform for the chroma as well. Since the intra prediction modes of the luma and chroma of the encoder / decoder can be different from each other, different sets of transform kernels can be used. Although described as a method for determining the set of kernels based on the intra prediction mode, any method for determining the set of secondary transform kernels described in FIG. 17 may be applied.

[0138] According to an embodiment of the present invention, if the size of the coding unit is larger than the maximum transform size, the coding unit may be divided into a plurality of transform blocks without additional signaling. In this case, applying secondary transform may increase performance degradation and complexity, and the maximum coding block to which secondary transform is applied can be limited. The size of the maximum coding block may be the same as the maximum transform size. Or, a preset coding block size can be used. The preset values may be 64, 32, 16, but are not limited thereto. It may be the length of the long side, a value, or the total number of samples.

[0139] Also, in one embodiment, the encoder / decoder does not limit the secondary transformation block size to the upper left 4×4 or 8×8 region of the coding unit, and may define it as 2×8, 8×2, 4×16, 16×4, 2×32, 32×2. The encoder / decoder can determine the region to which the secondary transformation is applied adaptively / without signaling, considering the horizontal-to-vertical ratio / vertical-to-horizontal ratio of the coding block.

[0140] FIG. 19 is a diagram showing a method of applying PDPC to a current coding block to which an intra prediction mode according to an embodiment to which the present invention is applied is applied. According to an embodiment of the present invention, when the current block is not a square block, in the case of the DC mode among the intra prediction modes, the encoder / decoder can perform prediction using only the reference samples of the long side. In this case, the sample values of the short side may not be reflected at all in the prediction of the current coding block. In this case, the difference between the predicted value of the current block and the reference samples of the short side may become large. Therefore, when performing intra prediction, the encoder / decoder may perform sample position-based filtering. As described above, in the present invention, such a sample position-based filtering method can be called PDPC. When PDPC is applied, the encoder / decoder can perform filtering based on weighted values using the first reference sample, the second reference sample, and the reference sample value adjacent to the upper left end in the DC mode. At this time, the reference samples and / or the weighted values applied to the respective reference samples can be derived using the following equations 7 to 12.

[0141] [Equation 7] refL[x][y] = p[-1][y]

[0142] [Equation 8] refT[x][y] = p[x][-1]

[0143] [Equation 9] wT[y] = 32 >> ((y << 1) >> nScale)

[0144] [Number 10] wL[x] = 32 >> ((x << 1) >> nScale)

[0145] [Number 11] wTL[x][y] = (predModeIntra == INTRA_DC)? ((wL[x] >> 4) + (wT[y] >> 4)) : 0

[0146] [Number 12] predSamples[x][y] = clip1Cmp(((refL[x][y] * wL[x] + refT[x][y] * wT[y] - p[-1][-1] * wTL[x][y] + (64 - wL[x] - wT[y] + wTL[x][y]) * predSamples[x][y] + 32) >> 6))

[0147] Specifically, the left reference sample can be derived using Equation 7, and the right reference sample can be derived using Equation 8. The weighting value applied to the right reference sample can be derived using Equation 9, the weighting value applied to the left reference sample can be derived using Equation 10, and the weighting value applied to the reference sample located at the upper left corner can be derived using Equation 11. Then, the encoder / decoder can generate the predicted sample according to Equation 12 based on the determined weighting value.

[0148] According to an embodiment of the present invention, when the encoder / decoder is a non-square block other than a square block, the weighting values of the relatively long side and the short side can be set differently. For example, the encoder / decoder can set the weighting value applied to the relatively long side to be smaller than the weighting value of the short side. In the above-mentioned equations (9) and (10), if it belongs to the short side, the weighting value can be set differently from the case of the long side. As an example, the weighting value may be set to 16, 8, 4, etc. instead of 32. Or, the scale variable nScale used in the above-mentioned equations (9) and (10) can be used. The encoder / decoder can set its value according to the positions of the long side and the short side.

[0149] In one embodiment, when using a plurality of reference line samples, the encoder / decoder can apply PDPC in the vertical mode and / or the horizontal mode. Or, the encoder / decoder can apply PDPC in the vertical, horizontal, DC, and PLANAR modes.

[0150] FIG. 20 is a flowchart showing a video signal processing method according to an embodiment of the present invention. Referring to FIG. 20, for the sake of convenience of explanation, the decoder will be mainly described, but the present invention is not limited thereto, and the video signal processing method according to this embodiment can be applied to the encoder in substantially the same manner.

[0151] Referring to FIG. 20, the decoder determines whether the intra sub-partition (ISP) mode is applied to the current block (S2001).

[0152] When the ISP mode is applied to the current block, the decoder divides the current block into a plurality of rectangular conversion blocks in the horizontal or vertical direction (S2002).

[0153] The decoder generates a predicted block of the conversion block by performing intra prediction on each of the conversion blocks (S2003).

[0154] The decoder restores the current block based on the residual block of the conversion block and the prediction block (S2004).

[0155] As described above, the step of generating the prediction block may include performing position-dependent intra prediction sample filtering in units of conversion blocks divided from the current block.

[0156] Also, as described above, the step of generating the prediction block may further include determining whether to apply the position-dependent intra prediction sample filtering based on at least one of the width and height of the conversion block.

[0157] Also, as described above, the step of determining whether to apply the position-dependent intra prediction sample filtering may be performed by determining to apply the position-dependent intra prediction sample filtering when the width of the conversion block is greater than or equal to a preset reference value and the height of the conversion block is greater than or equal to the preset reference value.

[0158] Also, as described above, the residual block of the conversion block may be derived by performing an inverse secondary transform and an inverse primary transform in units of the conversion blocks.

[0159] Also, as described above, a step of determining whether or not the secondary conversion is applied to the current block; when the secondary conversion is applied to the current block, based on the intra prediction mode of the current block, deriving a set of secondary conversion kernels to be applied to the current block from a predefined set of secondary conversion kernels; a step of determining a secondary conversion kernel to be applied to the current block within the determined set of secondary conversion kernels; a step of generating a secondarily inverse-transformed block of the transform block by performing inverse secondary transformation in units of the transform block; and a step of generating a residual block of the transform block by performing primary inverse transformation on the secondarily inverse-transformed block can be included.

[0160] The embodiments of the present invention described above are implemented through various means. For example, the embodiments of the present invention are implemented by hardware, firmware, software, or a combination thereof.

[0161] In the case of implementation by hardware, the method according to the embodiments of the present invention is implemented by one or more ASICs (Application Specific Integrated Circuits), DSPs (Digital Signal Processors), DSDPs (Digital Signal Processing Devices), PDLs (Programmable Logic Devices), FPGAs (Field Programmable Gate Arrays), processors, controllers, microcontrollers, microprocessors, and the like.

[0162] In the case of implementation by firmware or software, the method according to the embodiments of the present invention is implemented in the form of modules, procedures, functions, etc. that perform the above-described functions or operations. The software code is stored in a memory and implemented by a processor. The memory is located inside or outside the processor and exchanges data with the processor by various means already known.

[0163] Some embodiments are also embodied in the form of a recording medium including computer-executable instructions such as program modules executed by a computer. A computer-readable medium is any available medium that can be accessed by a computer and includes both volatile and non-volatile media, removable and non-removable media. Also, a computer-readable medium includes both storage media and communication media. A computer storage medium is any method or technology embodied in volatile and non-volatile media, removable and non-removable media for the storage of information such as computer-readable instructions, data structures, program modules, or other data. A communication medium typically includes modulated data signals such as computer-readable instructions, data structures, or other data of program modules, or other transmission mechanisms, and includes any information delivery medium.

[0164] The above description of the present invention is for illustrative purposes, and those with ordinary knowledge in the technical field to which the present invention pertains should be able to understand that it can be easily changed into other specific forms without changing the technical idea and essential features of the present invention. Therefore, it should be understood that the above-described embodiments are exemplary in all aspects and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as being distributed may also be implemented in a combined form.

[0165] The scope of the present invention is indicated by the claims hereinafter rather than the above detailed description, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts should be construed as being included in the scope of the present invention.

Industrial Applicability

[0166] The above-described preferred embodiments of the present invention are disclosed for illustrative purposes, and those skilled in the art will be able to make improvements, modifications, substitutions, additions, etc. as various other embodiments within the technical idea and technical scope of the present invention disclosed in the appended claims.

Claims

1. 1. A method for processing a video signal, comprising the steps of: determining whether an Intra Sub-Partitions (ISP) mode is applied to the current block; if an ISP mode is applied to the current block, dividing the current block into a plurality of horizontal or vertical rectangular transformation blocks; generating a prediction block of the transform block by performing intra prediction on each of the transform blocks; and reconstructing the current block based on a residual block of the transformed block and the predicted block; The step of generating the predicted block comprises: A video signal processing method comprising: performing position-dependent intra prediction sample filtering in units of transform blocks divided from the current block.

2. The step of generating the predicted block comprises: The method of claim 1 , further comprising determining whether the position-dependent intra-prediction sample filtering is applied based on at least one of a width and a height of the transform block.

3. The step of determining whether position-dependent intra-prediction sample filtering is applied includes: The video signal processing method of claim 2, wherein the method is performed by determining to apply the position-dependent intra-prediction sample filtering if the width of the transform block is greater than or equal to a predetermined reference value and the height of the transform block is greater than or equal to the predetermined reference value.

4. The method of claim 1 , wherein the residual block of the transform block is derived by performing an inverse secondary transform and an inverse primary transform on a transform block basis.

5. determining whether a secondary transformation is to be applied to the current block; deriving a secondary transformation kernel set to be applied to the current block from among predefined secondary transformation kernel sets based on an intra prediction mode of the current block, if the secondary transformation is applied to the current block; determining a secondary transformation kernel to be applied to the current block from the determined set of secondary transformation kernels; generating a secondary inverse transformed block of the transform block by performing a secondary inverse transform on the transform block unit; and 2. The method of claim 1, further comprising the step of: generating a residual block of the transformed block by performing a linear inverse transform on the secondary inverse transformed block.

6. 1. A video signal processing device, comprising: A processor is included. The processor, Determine whether Intra Sub-Partitions (ISP) mode is applied to the current block; If an ISP mode is applied to the current block, the current block is divided into a plurality of horizontal or vertical rectangular transformation blocks; performing intra prediction on each of the transform blocks to generate a predicted block of the transform block; reconstructing the current block based on a residual block of the transformation block and the prediction block; The processor, The video signal processing apparatus performs position-dependent intra prediction sample filtering in units of transformation blocks divided from the current block.

7. The processor, The video signal processing apparatus according to claim 6 , further comprising: determining whether or not to apply the position-dependent intra-prediction sample filtering based on at least one of a width and a height of the transform block.

8. The processor, The video signal processing device of claim 7 , further comprising: determining to apply the position-dependent intra-prediction sample filtering when the width of the transform block is greater than or equal to a preset reference value and the height of the transform block is greater than or equal to the preset reference value.

9. The video signal processing apparatus of claim 6 , wherein the residual block of the transform block is derived by performing an inverse secondary transform and an inverse primary transform in units of the transform block.

10. The processor, determining whether a secondary transformation is to be applied to the current block; If the secondary transformation is applied to the current block, deriving a secondary transformation kernel set to be applied to the current block from among predefined secondary transformation kernel sets based on an intra prediction mode of the current block; determining a secondary transformation kernel to be applied to the current block from the determined set of secondary transformation kernels; generating a secondary inverse transformed block of the transform block by performing a secondary inverse transform on the transform block unit; The video signal processing apparatus according to claim 6 , further comprising: a linear inverse transform being performed on the secondary inverse transformed block to generate a residual block of the transformed block.

11. 1. A method for processing a video signal, comprising the steps of: determining whether an Intra Sub-Partitions (ISP) mode is applied to the current block; if an ISP mode is applied to the current block, dividing the current block into a plurality of horizontal or vertical rectangular transformation blocks; generating a prediction block of the transform block by performing intra prediction on each of the transform blocks; and generating a residual block of the transformed block by subtracting the predicted block from an original block; The step of generating the predicted block comprises: A video signal processing method comprising: performing position-dependent intra prediction sample filtering in units of transform blocks divided from the current block.

12. A non-transitory computer-readable medium having stored thereon computer-executable components configured to execute on one or more processors of a computing device, the computer-executable components comprising: Determine whether Intra Sub-Partitions (ISP) mode is applied to the current block; If an ISP mode is applied to the current block, the current block is divided into a plurality of horizontal or vertical rectangular transformation blocks; performing intra prediction on each of the transform blocks to generate a predicted block of the transform block; reconstructing the current block based on a residual block of the transformation block and the prediction block; The computer executable components include:

13. A non-transitory computer-readable medium, comprising: a transform block unit that is divided from the current block, and a position-dependent intra prediction sample filtering is performed on the transform block unit that is divided from the current block.

Citation Information

Patent Citations

  • Intra-prediction-based video signal processing method and apparatus

    JP7659009B2

  • Method for encoding / decoding image signal and device for same

    WO2020076125A1