Intra-prediction-based video signal processing method and apparatus

By applying position-dependent intra prediction combination and low-frequency non-separable transform on intra sub-partitions of video blocks, the method addresses the challenge of achieving high coding efficiency in video signal processing, resulting in improved prediction accuracy and compression performance.

JP7659009B2Active Publication Date: 2025-04-08VIDAXIO LLC

Patent Information

Application Number
JP2023093523
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-03-27
Filing Date
2023-06-06
Publication Date
2025-04-08
Estimated Expiration
2040-02-28

AI Technical Summary

Technical Problem

Existing video signal processing methods struggle to achieve high coding efficiency, particularly in handling spatial and temporal correlations in video signals.

Method used

The proposed method involves performing position-dependent intra prediction combination (PDPC) and low-frequency non-separable transform (LFNST) on intra sub-partitions (ISPs) of video blocks, which allows for more accurate prediction and improved compression performance.

Benefits of technology

This approach enhances coding efficiency by improving prediction accuracy and compression performance, specifically by optimizing the processing of video signals in units of transformed blocks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007659009000001
    Figure 0007659009000001
  • Figure 0007659009000002
    Figure 0007659009000002
  • Figure 0007659009000003
    Figure 0007659009000003
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 a video signal, and more particularly to a method and apparatus for processing a video signal for encoding or decoding a video signal based on intra prediction. [Background technology]

[0002] Compression coding 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 objects of compression coding include voice, video, text, etc., and the technology for compressing and coding video in particular is called video compression. Compression coding of video signals is performed by removing redundant information by considering spatial correlation, temporal correlation, probabilistic correlation, etc. However, with the recent development of various media and data transmission media, there is a demand for more efficient video signal processing methods and devices. Summary of the Invention [Problem to be solved by the invention]

[0003] An object of the present invention is to improve the coding efficiency of a video signal. Specifically, the present invention proposes a method for performing position-dependent intra prediction combination (PDPC) and low-frequency non-separable transform (LFNST) in a unit where prediction and restoration are performed by applying intra sub-partitions. [Means for solving the problem]

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

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

[0006] In an embodiment, the generating of the prediction block may further include 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 transformation block.

[0007] As an example, the step of determining whether or not 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 predetermined reference value and the height of the transform block is greater than or equal to the predetermined 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 on a transform block basis.

[0009] As an embodiment, the method may include a step of determining whether a secondary transform is applied to the current block; a step of deriving a secondary transform kernel set to be applied to the current block from among predefined secondary transform kernel sets based on an intra prediction mode of the current block if the secondary transform is applied to the current block; a step of determining a secondary transform kernel to be applied to the current block from the determined secondary transform kernel set; a step of generating a secondary inverse transformed block of the transformed block by performing a secondary inverse transform on a transform block basis; and a step of generating a residual block of the transformed block by performing a primary inverse transform on the secondary inverse transformed block.

[0010] According to one embodiment of the present invention, there is provided a video signal processing device, comprising a processor, the processor determining whether an Intra Sub-Partitions (ISP) mode is applied to a current block, and if the ISP mode is applied to the current block, dividing the current block into a plurality of horizontal or vertical rectangular transform 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 transform block and the prediction block, and the processor performing position-dependent intra prediction sample filtering on a transform block unit divided from the current block.

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

[0012] As an example, the processor may decide to apply the position-dependent intra-prediction sample filtering when 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.

[0013] As an example, the residual block of the transform block may be derived by performing an inverse secondary transform and an inverse primary transform on a transform block basis.

[0014] As an example, the processor may determine whether a secondary transform is applied to the current block, and if the secondary transform is applied to the current block, derive a secondary transform kernel set to be applied to the current block from among predefined secondary transform kernel sets based on an intra prediction mode of the current block, determine a secondary transform kernel to be applied to the current block from the determined secondary transform kernel set, generate a secondary inverse transformed block of the transform block by performing a secondary inverse transform on a transform block basis, and generate a residual block of the transform block by performing a primary inverse transform on the secondary inverse transformed block.

[0015] According to one embodiment of the present invention, there is provided a video signal processing method, comprising: determining whether an Intra Sub-Partitions (ISP) mode is applied to a current block; dividing the current block into a plurality of horizontal or vertical rectangular transform blocks if 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; and generating a residual block of the transform block by subtracting the prediction block from an original block, wherein the generating the prediction block includes performing position-dependent intra prediction sample filtering on a transform block unit divided from the current block.

[0016] According to one embodiment of the present invention, there is provided a non-transitory computer-readable medium having stored thereon a computer-executable component configured to execute on one or more processors of a computing device, the computer-executable component determining whether an Intra Sub-Partitions (ISP) mode is applied to a current block, and if the ISP mode is applied to the current block, dividing the current block into a plurality of horizontally or vertically oriented rectangular transform 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 transform block and the prediction block, and the computer-executable component performing position-dependent intra prediction sample filtering on a transform block unit divided from the current block. Effect of the Invention

[0017] According to an embodiment of the present invention, it is possible to improve the coding efficiency of a video signal. Also, according to an embodiment of the present invention, it is possible to improve the prediction accuracy and compression performance by performing position-dependent intra prediction combination (PDPC) and LFNST in units of transform blocks divided by intra sub-partitions. [Brief description of the drawings]

[0018] [Figure 1] 1 is a schematic block diagram of a video signal encoding apparatus according to an embodiment of the present invention; [Diagram 2] 1 is a schematic block diagram of a video signal decoding device according to an embodiment of the present invention; [Diagram 3] FIG. 2 shows an example of how coding tree units are divided into coding units within a picture. [Figure 4] FIG. 1 illustrates an embodiment of a method for signaling splits of quad trees and multi-type trees. [Diagram 5] FIG. 2 illustrates in more detail an intra-prediction method according to an embodiment of the present invention; [Figure 6] FIG. 2 illustrates in more detail an intra-prediction method according to an embodiment of the present invention; [Figure 7] 1 illustrates an inter-prediction method according to an embodiment of the present invention. [Figure 8] FIG. 2 illustrates how an encoder converts a residual signal. [Figure 9] FIG. 2 illustrates how an encoder and a decoder inversely transform transform coefficients to obtain a residual signal. [Figure 10] 1 is a diagram illustrating a method of applying an intra prediction mode when a coding block is divided into a plurality of transform blocks according to an embodiment of the present invention. [Figure 11]FIG. 2 is a diagram illustrating a method for applying PDPC (position-dependent intra prediction combination) in accordance with one embodiment of the present invention. [Figure 12] FIG. 2 illustrates reference samples used in PDPC according to intra prediction modes as an embodiment of the present invention. [Figure 13] FIG. 2 illustrates reference samples used in PDPC according to intra prediction modes as an embodiment of the present invention. [Figure 14] FIG. 1 is a diagram illustrating a method of applying Intra subpartitions (ISP) and position-dependent intra prediction combination (PDPC) to a coding block in accordance with an embodiment of the present invention. [Figure 15] 1 is a diagram illustrating a transform unit division processing method according to an embodiment of the present invention. [Figure 16] FIG. 2 is a diagram showing a process of encoding / decoding via a primary transform and a secondary transform in one embodiment to which the present invention is applied. [Figure 17] 10A and 10B are diagrams illustrating a method for selecting a transformation kernel used in a secondary transformation according to an embodiment of the present invention. [Figure 18] 1 is a diagram illustrating a method of applying a transform block-wise secondary transform according to an embodiment of the present invention; [Figure 19] 1 is a diagram illustrating a method of applying PDPC to a current coding block to which an intra prediction mode is applied, according to an embodiment of the present invention. [Figure 20] 4 is a flowchart illustrating a video signal processing method according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0019] The terms used in this specification are selected from currently widely used general terms as much as possible while taking into consideration the functions in the present invention, but this may vary depending on the intentions of the engineers in this field, customs, or the emergence of new technologies. In addition, in certain cases, the applicant may arbitrarily select terms, and in this case, the meanings of the terms will be described in the corresponding embodiment of the invention. Therefore, it is made clear that the terms used in this specification should be interpreted based on the substantial meanings of the terms and the contents of this specification as a whole, rather than simply the names of the terms.

[0020] In this specification, some terms are interpreted as follows. Coding may be interpreted as encoding or decoding depending on the circumstances. In this specification, an apparatus for encoding a video signal to generate a video signal bitstream is referred to as an encoding apparatus or encoder, and an apparatus for decoding a video signal bitstream to restore a video signal is referred to as a decoding apparatus or decoder. In this specification, a video signal processing apparatus is used as a term including both an encoder and a decoder. Information is a term including values, parameters, coefficients, elements, etc., and may be interpreted differently depending on the circumstances, so the present invention is not limited thereto. A 'unit' is used to mean a basic unit of image processing or a specific position of a picture, and refers to an image area including at least one of a luma component and a chroma component. In addition, a 'block' refers to an image area including a specific component of a luminance component and a chrominance component (i.e., Cb and Cr). However, depending on the embodiment, the terms 'unit', 'block', 'partition', and 'area' may be used interchangeably. In this specification, a unit is used as a concept including a coding unit, a prediction unit, and a transform unit, and a picture refers to a field or a frame, and the terms are used interchangeably depending on the embodiment.

[0021] 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 transform unit 110, a quantization unit 115, an inverse quantization unit 120, an inverse transform unit 125, a filtering unit 130, a prediction unit 150, and an entropy coding unit 160.

[0022] The transform unit 110 transforms a residual signal, which is a difference between an input video signal and a prediction signal generated by the prediction unit 150, to obtain transform 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 divide the input picture signal into blocks and perform the transform. In the transform, the coding efficiency may vary depending on the distribution and characteristics of values ​​in the transform domain. The quantizer 115 quantizes the transform coefficient values ​​output from the transform unit 110.

[0023] In order to improve coding efficiency, a method is used in which a picture signal is not directly coded, but a picture is predicted using a previously coded area through a prediction unit 150, and a residual value between an original picture and a predicted picture is added to the predicted picture to obtain a reconstructed picture. In order to prevent mismatch between the encoder and the decoder, when the encoder performs prediction, information that can also be used by the decoder should be used. For this purpose, the encoder performs a process of further reconstructing the current block that has been coded. The inverse quantization unit 120 inversely quantizes the transform coefficient values, and the inverse transform unit 125 reconstructs the residual values ​​using the inversely quantized transform coefficient values. Meanwhile, the filtering unit 130 performs a filtering operation to improve the quality of the reconstructed picture and the coding efficiency. For example, a deblocking filter, a sample adaptive offset (SAO), an adaptive loop filter, etc. may be included. The filtered picture is stored in a decoded picture buffer (DPB) 156 to be output or used as a reference picture.

[0024] In order to improve coding efficiency, a method is used in which a picture signal is not coded as it is, but a picture is predicted using an already coded area 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. The intra prediction unit 152 performs intra prediction within the current picture, and the inter prediction unit 154 predicts the current picture using a reference picture stored in the decoded picture buffer 156. The intra prediction unit 152 performs intra prediction from a restored area in the current picture, and transmits intra 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. The motion estimation unit 154a obtains a motion vector value of the current area by referring to a specific restored area. The motion estimation unit 154a transmits position information (reference frame, motion vector, etc.) of the reference area to the entropy coding unit 160 so that it can be included in the bitstream. Using the motion vector values ​​transmitted from the motion estimation unit 154a, the motion compensation unit 154b performs inter-frame 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 a current picture, and the inter prediction unit 154 performs inter prediction to predict the current picture using a reference buffer stored in a decoded picture buffer 156. The intra prediction unit 152 performs intra prediction from reconstructed samples within the current picture, and transmits intra coding information to the entropy coding unit 160. The intra coding information includes at least one of an intra prediction mode, a Most Probable Mode (MPM) flag, and an MPM index. The intra coding information may include information about a reference sample. The intra coding information may include information about a reference sample. 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 of a current region by referring to a specific region of a reconstructed reference signal picture. The motion estimation unit 154a transmits a motion information set (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 coding information including the 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 reconstructed samples in the current picture and transmits intra BC coding information to the entropy coding unit 160. The intra BC prediction unit obtains block vector values ​​indicating a reference region to be used for predicting the current region by referring to a specific region in the current picture. The intra BC prediction unit performs intra BC prediction using the obtained block vector values. The intra BC prediction unit transmits the intra BC coding information to the entropy coding unit 160. The intra BC prediction unit includes the block vector information.

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

[0028] The entropy coding unit 160 generates a video signal bit stream by entropy coding information indicating quantized transform coefficients, intra-coding information, and inter-coding information. The entropy coding unit 160 uses a variable length coding (VLC) method, an arithmetic coding method, and the like. The variable length coding (VLC) method converts input symbols into continuous code words, and the length of the code words is variable. For example, frequently occurring symbols are represented by short code words, and infrequently occurring symbols are represented by long code words. As the variable length coding method, a context-based adaptive variable length coding (CAVLC) method is used. In arithmetic coding, continuous data symbols are converted into one prime number, and arithmetic coding obtains optimal prime number bits required to represent each symbol. As the arithmetic coding, a context-based adaptive binary arithmetic coding (CABAC) method is used. For example, the entropy coding unit 160 may binarize information indicating the quantized transform coefficients, and may arithmetically code the binarized information to generate a bitstream.

[0029] The generated bitstream is encapsulated in a basic unit of Network Abstraction Layer (NAL) units. An NAL unit includes an integer number of coded coding tree units. In order for a video decoder to decode the bitstream, the bitstream must first be separated into NAL units and then each separated NAL unit must be decoded. Meanwhile, information required for decoding the video signal bitstream is transmitted via Raw Byte Sequence Payload (RBSP) of higher level sets such as a Picture Parameter Set (PPS), a Sequence Parameter Set (SPS), a Video Parameter Set (VPS), etc.

[0030] 1 illustrates an encoding apparatus 100 according to one embodiment of the present invention, with separate blocks illustrating logically distinct elements of encoding apparatus 100. Thus, the elements of encoding apparatus 100 described above may be implemented on a single chip or multiple chips depending on the device design. According to one embodiment, the operation of each element of encoding apparatus 100 described above is performed by a processor (not shown).

[0031] 2 is a schematic block diagram of a video signal decoding device 200 according to an embodiment of the present invention. Referring to FIG. 2, the decoding device 200 of the present invention 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 using the coding type, the transform coefficient for each region, the intra / inter coding information, etc., decoded through the entropy decoding unit 210. To reconstruct the current block to be decoded, the current picture including the current block or a decoded region of another picture can be used. A picture (or tile / slice) that uses only the current picture for reconstruction, i.e., performs intra prediction or intra BC prediction, is called an intra picture or I picture (or tile / slice), and 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 interpictures (or tiles / slices), a picture (or tile / slice) that uses at most one motion vector and reference picture index to predict 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 reference picture indexes is called a bi-predictive picture or B picture (or tile / slice). In other words, a P picture (or tile / slice) uses at most one motion information set to predict each block, and a B picture (or tile / slice) uses at most two motion information sets to predict each block. Here, a motion information set includes one or more motion vectors and one reference picture index.

[0035] The intra prediction unit 252 generates a prediction block using intra coding information and reconstructed samples in the current picture. As described above, the intra coding information includes at least one of an intra prediction mode, a MOST Probable Mode (MPM) flag, and an MPM index. The intra prediction unit 252 predicts sample values ​​of the current block using reconstructed samples located to the left and / or above the current block as reference samples. In the present disclosure, the reconstructed samples, the reference samples, and the samples of the current block refer to pixels. Also, a sample value refers to a pixel value.

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

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

[0038] The inter prediction unit 254 obtains a current reference block using a motion vector and a reference picture index. The reference block exists in a reference picture corresponding to the reference picture index. In addition, a sample value of a block identified by the motion vector or an interpolated value thereof is used as a predictor of the current block. For motion prediction with pixel accuracy in sub-pel units, for example, an 8-tab interpolation filter is used for a luminance signal, and a 4-tab interpolation filter is used for a chrominance signal. However, the interpolation filter for sub-pel unit motion prediction is not limited thereto. In this way, the inter prediction unit 254 performs motion compensation to predict the texture of the current unit from a previously restored picture. In this case, the inter prediction unit uses a motion information set.

[0039] According to a further embodiment, the prediction unit 250 may include an intra BC prediction unit (not shown). The intra BC prediction unit may reconstruct the current region by referring to a specific region including reconstructed samples in the current picture. The intra BC prediction unit obtains intra BC coding information for the current region from the entropy decoding unit 210. The intra BC prediction unit obtains block vector values ​​of the current region indicating the specific region in the current picture. The intra BC prediction unit may perform intra BC prediction using the obtained block vector values. The intra BC coding information may include block vector information.

[0040] A reconstructed video picture is generated by summing the predicted value output from the intra prediction unit 252 or the inter prediction unit 254 and the residual value output from the inverse transformation unit 225. That is, the video signal decoding apparatus 200 reconstructs a current block using the predicted block generated by the prediction unit 250 and the residual obtained from the inverse transformation unit 225.

[0041] 2 shows a block diagram of a decoding apparatus 200 according to an embodiment of the present invention, with separate blocks illustrating the logically distinct elements of the decoding apparatus 200. Thus, the elements of the decoding apparatus 200 described above may be implemented on a single chip or multiple chips depending on the device design. According to an embodiment, the operation of each element of the decoding apparatus 200 described above is performed by a processor (not shown).

[0042] FIG. 3 illustrates an embodiment in which a coding tree unit (CTU) is divided into coding units (CUs) in a picture. In the process of coding a video signal, a picture is divided into a sequence of coding tree units (CTUs). A coding tree unit consists of two blocks, an NXN block of luma samples and a corresponding chroma sample. A coding tree unit is divided into a plurality of coding units. A coding tree unit may be a leaf node without being divided. In this case, the coding tree unit itself may be a coding unit. A coding unit refers to a basic unit for processing a picture in the above-mentioned video signal processing process, i.e., in the process of intra / inter prediction, transformation, quantization, and / or entropy coding. In one picture, the size and pattern of the coding units are not constant. The coding units have 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. In addition, in this specification, a non-square block refers to a rectangular block, but the present invention is not limited to this.

[0043] Referring to Figure 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 x 2N is divided into four nodes having a size of N x N. In this specification, the quad tree is also referred to as a quaternary tree. The quad tree division is performed recursively, and it is not necessary that all nodes are divided to the same depth.

[0044] Meanwhile, 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 horizontally or vertically divided binary or ternary tree structure. That is, the Multi-Type Tree structure has four division structures, namely, 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 tree structures, the width and height of the node are both powers of 2. For example, in a Binary Tree (BT) structure, a node of size 2N×2N is divided into two N×2N nodes by vertical binary division and divided into two 2N×N nodes by horizontal binary division. In addition, in a Ternary Tree (TT) structure, a node of size 2N x 2N is divided into (N / 2) x 2N, N x 2N, and (N / 2) x 2N nodes by vertical ternary division, and into 2N x (N / 2), 2N x N, and 2N x (N / 2) nodes by horizontal ternary division. Such multi-type tree division is performed recursively.

[0045] A leaf node of a multi-type tree can be a coding unit. If no division is indicated for a coding unit or the coding unit is not larger than the maximum transform length, the coding unit is used as a unit of prediction and transformation without further division. Meanwhile, 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 a higher level set such as PPS, SPS, VPS, etc. 1) CTU size: size of the root node of the quad tree, 2) MinQT size (MinQtSize): size of the minimum QT leaf node allowed, 3) MaxBt size (MaxBtSize): size of the maximum BT root node allowed, 4) MaxTt size (MaxTtSize): size of the maximum TT root node allowed, 5) MaxMttDepth (MaxMttDepth): maximum allowed depth of MTT division from the QT leaf node, 6) MinBt size (MinBtSize): size of the minimum BT leaf node allowed, 7) MinTT size: size of the minimum TT leaf node allowed.

[0046] 4 illustrates an embodiment of a method for signaling the split of a quad tree and a multi-type tree. A preset flag may be used to signal the split of the quad tree and the multi-type tree. Referring to FIG. 4, at least one of a flag 'qt_split_flag' indicating whether to split a quad tree node, a flag 'mtt_split_flag' indicating whether to split a multi-type tree node, a flag 'mtt_split_vertical_flag' indicating the split direction of a multi-type tree node, or a flag 'mtt_split_binary_flag' indicating the split type of a multi-type tree node may 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 in advance. In the quad tree structure, 'qt_split_flag' is signaled for each node 'QT_node'. If the value of 'qt_split_flag' is 1, the corresponding node is split into four regular square nodes, and if 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, 'mtt_split_flag' is signaled for each node 'MTT_node'. If the value of 'mtt_split_flag' is 1, the corresponding node is split into multiple rectangular nodes, and if the value of 'mtt_split_flag' is 0, the corresponding node becomes the leaf node 'MTT_leaf_node' of the multi-type tree. If the multi-type tree node 'MTT_node' is split into multiple rectangular nodes (i.e., if the value of 'mtt_split_flag' is 1), 'mtt_split_vertical_flag' and 'mtt_split_binary_flag' can be additionally signaled for the node 'MTT_node'. If the value of 'mtt_split_vertical_flag' is 1, the node 'MTT_node' is split vertically, and if the value of 'mtt_split_vertical_flag' is 0, the node 'MTT_node' is split horizontally. If the value of 'mtt_split_binary_flag' is 1, the node 'MTT_node' is split into two rectangular nodes, and if 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 coding is performed on coding units that cannot be further divided (i.e., leaf nodes of a 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 an alternative term to the prediction unit, which is a basic unit for performing prediction, but the present invention is not limited thereto, and in a broader sense, the term "unit" is understood as a concept including the coding unit.

[0051] 5 and 6 are diagrams illustrating in more detail an intra prediction method according to an embodiment of the present invention. As described above, the intra prediction unit predicts sample values ​​of a current block using reconstructed samples located to the left and / or above the current block as reference samples.

[0052] First, Fig. 5 shows an example of a reference sample used to predict a current block in an intra prediction mode. According to an example, the reference sample is a sample adjacent to the left boundary and / or the top boundary of the current block. As shown in Fig. 5, if the size of the current block is W x H and a sample of a single reference line adjacent to the current block is used for intra prediction, the reference sample is set using up to 2W + 2H + 1 neighboring samples located to the left and / or top of the current block.

[0053] Also, if at least some samples used as reference samples have not yet been restored, the intra prediction unit performs a reference sample padding process to obtain reference samples. Also, the intra prediction unit performs a reference sample filtering process to reduce an error in 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 filtered reference samples. The intra prediction unit predicts samples of the current block using the reference samples obtained in this manner. The intra prediction unit predicts samples of the current block using unfiltered reference samples or filtered reference samples. In the present disclosure, the neighboring samples may include samples on at least one reference line. For example, the neighboring samples may include neighboring samples on lines adjacent to the boundary of the current block.

[0054] Next, FIG. 6 illustrates an embodiment of a prediction mode used in intra prediction. For intra prediction, intra prediction mode information indicating an intra prediction direction can be signaled. The intra prediction mode information indicates one of a plurality of intra prediction modes constituting an intra prediction mode set. If 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 (e.g., a total of 67 intra prediction modes) used in intra prediction. More specifically, the intra prediction mode set includes a planar mode, a DC mode, and a plurality of (e.g., 65) angle modes (i.e., directional modes). Each intra prediction mode is indicated by a preset index (i.e., intra prediction mode index). For example, as shown in FIG. 6, an intra prediction mode index 0 indicates a planar mode, and an intra prediction mode index 1 indicates a DC mode. In addition, intra prediction mode indexes 2 to 66 indicate different angle modes. The angle modes indicate different angles within a preset angle range. For example, the angle modes may indicate angles within an angle range of 45° to −135° in a clockwise direction (i.e., a first angle range). The angle modes may be defined based on a 12 o'clock direction. In this case, intra-prediction mode index 2 indicates horizontal diagonal (HDIA) mode, intra-prediction mode index 18 indicates horizontal (HOR) mode, intra-prediction mode index 34 indicates diagonal (DIA) mode, intra-prediction mode index 50 indicates vertical (VER) mode, and intra-prediction mode index 66 indicates vertical diagonal (VDIA) mode.

[0056] Hereinafter, an inter prediction method according to an embodiment of the present invention will be described with reference to Fig. 7. In the present invention, the inter prediction method may include a general inter prediction method optimized for translation motion and an affine model-based inter prediction method. In addition, the motion vector may 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, a decoder can predict a current block by referring to a reconstructed sample of another decoded picture. Referring to FIG. 7, the decoder obtains a reference block 702 in a reference picture 720 based on a motion information set of a current block 701. In this case, the motion information set may include a reference picture index and a motion vector 703. The reference picture index indicates a reference picture 720 including a reference block for inter prediction of the current block in a reference picture list. According to an embodiment, the reference picture list may include at least one of the above-mentioned L0 picture list or L1 picture list. 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 a sample value of the reference block 702, and reconstructs the current block 701 using the predictor.

[0058] Specifically, the encoder may obtain the reference block by searching for a block similar to the current block in a picture with an earlier reconstruction order. For example, the encoder may search for a reference block in which the sum of differences between the current block and sample values ​​is the smallest within a preset search area. In this case, at least one of SAD (Sum Of Absolute Difference) and SATD (Sum of Hadamard Transformed Difference) may be used to measure the similarity between the current block and the reference block samples. Here, SAD may be a value obtained by adding up all absolute values ​​of differences between sample values ​​included in two blocks. Also, SATD may be a value obtained by adding up all absolute values ​​of Hadamard transform coefficients obtained by performing Hadamard transform on the differences between sample values ​​included in two blocks.

[0059] Meanwhile, the current block may be predicted using one or more reference regions. As described above, the current block may be inter-predicted by a bi-prediction method using two or more reference regions. According to an embodiment, the decoder may obtain two reference blocks based on two sets of motion information of the current block. Also, the decoder may obtain a first predictor and a second predictor of the current block based on sample values ​​of each of the obtained two reference blocks. Also, the decoder may reconstruct the current block using the first predictor and the second predictor. For example, the decoder may reconstruct the current block based on a sample-by-sample average of the first predictor and the second predictor.

[0060] As described above, one or more motion information sets can be signaled for motion compensation of the current block. In this case, similarity between the motion information sets for each of the motion compensation of a plurality of blocks can be used. For example, the motion information set used for predicting the current block can be derived from the motion information set used for predicting one of the other samples that have already been reconstructed. Through this, the encoder and decoder can reduce 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 that is the same as or similar to the motion information set of the current block. The decoder may generate a merge candidate list based on the plurality of candidate blocks. Here, the merge candidate list may 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 samples reconstructed before the current block. The encoder and the decoder may configure the merge candidate list of the current block based on a predefined rule. In this case, the merge candidate lists respectively configured by the encoder and the decoder may be the same as each other. For example, the encoder and the decoder may configure the merge candidate list of the current block based on the position of the current block in the current picture. The method of the encoder and the decoder configuring 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 a relative position of a top-left sample of the specific block in a picture including the specific block.

[0062] Meanwhile, in order to improve coding efficiency, a method may be used in which the residual signal is not directly coded, but the transform coefficient values ​​obtained by transforming the residual signal are quantized, and the quantized transform coefficients are coded. As described above, the transform unit may obtain transform coefficient values ​​by transforming the residual signal. In this case, the residual signal of a specific block may be distributed over the entire region of the current block. Thus, energy may be concentrated in a low frequency region using a frequency domain transform on the residual signal, thereby improving coding efficiency. Hereinafter, a method of transforming or inverse transforming the residual signal will be described in detail.

[0063] FIG. 8 is a diagram specifically illustrating a method in which an encoder transforms a residual signal. As described above, a residual signal in the spatial domain may be transformed into a frequency domain. The encoder may transform the obtained residual signal to obtain transform coefficients. First, the encoder may obtain at least one residual block including a residual signal for a current block. The residual block may be either the current block or a block 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 residual samples of the current block. In addition, in the present disclosure, the residual block refers to a block having the same size as the size of a transform unit or a transform block.

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

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

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

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

[0068] In addition, in the case of a video signal of a specific region, high frequency band energy may not be reduced even if frequency transformation is performed due to a sudden brightness change. This may result in a decrease in compression performance due to quantization. In addition, when transformation is performed on a region where residual values ​​rarely exist, encoding time and decoding time may be unnecessarily increased. For this reason, transformation of the residual signal of the specific region may be omitted. Whether or not to transform the residual signal of the specific region may be determined by a syntax element related to the transformation of the specific region. For example, the syntax element may include transform skip information. The transform skip information may be a transform skip flag. If the transform skip information for a residual block indicates a transform skip, the transformation of the residual block is not performed. In this case, the encoder may immediately quantize the residual signal of the corresponding region that is not transformed. The operation of the encoder described with reference to FIG. 8 may be performed by the transform unit of FIG. 1.

[0069] The aforementioned transform-related syntax elements may be information parsed from a video signal bitstream. A decoder may entropy decode the video signal bitstream to obtain the transform-related syntax elements. An encoder may entropy code the transform-related syntax elements to generate a video signal bitstream.

[0070] FIG. 9 is a diagram specifically illustrating a method in which an encoder and a decoder inversely transform transform coefficients to obtain a residual signal. For convenience of explanation, it will be described below that an inverse transform operation is performed in each inverse transform unit of an encoder and a decoder. The inverse transform unit may inversely transform the inverse quantized transform coefficients to obtain a residual signal. First, the inverse transform unit may detect whether an inverse transform is performed on a specific region from a transform-related syntax element of the specific region. According to an embodiment, if a transform-related syntax element for a specific transform block indicates a transform skip, a transform for the specific transform block may be omitted. In this case, the above-mentioned first inverse transform and second inverse transform may both be omitted for the transform block. Also, the inverse quantized transform coefficients may be used as a residual signal. For example, the decoder may restore a current block using the inverse quantized transform coefficients as a residual signal.

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

[0072] The inverse transform unit may perform a primary inverse transform on the inverse quantized transform coefficients or the transform coefficients that have been subjected to the secondary inverse transform. In the case of the primary inverse transform, the primary inverse transform may be performed separately into a vertical transform and a horizontal transform, as in the primary transform. For example, the inverse transform unit may perform a vertical inverse transform and a horizontal inverse transform on the transform block to obtain a residual block. The inverse transform unit may inverse transform the transform block based on a transform kernel used in transforming the transform block. For example, the encoder may explicitly or implicitly signal information indicating a transform kernel applied to a current transform block from among a plurality of available transform kernels. The decoder may select a transform kernel to be used for inverse transforming the transform block from among a plurality of available transform kernels using the information indicating the signaled transform kernel. The inverse transform unit may restore the current block using a residual signal obtained by inverse transforming the transform coefficients.

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

[0074] In one embodiment, a method of reanalyzing an intra prediction mode when a block is not a square (or regular rectangle) block will be described. Referring to FIG. 10, nTbW may be a variable indicating the width of a transform block, and nTbH may be a variable indicating the height of the transform block. Alternatively, nTbW may be a variable indicating the width of a 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 a coding block, and nTbH may be a variable indicating the height of the coding block. In addition, 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 may be referred to as the first prediction mode (or the first intra prediction mode), and the modified (or reanalyzed, determined, improved) mode may be referred to as the second prediction mode (or the second intra prediction mode). In the following, abs() represents an operator (or a function) that takes an absolute value. The modified intra prediction mode may be derived based on the following condition:

[0075] - First condition: nTbW>nTbH

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

[0077] - Third condition: If the first prediction mode is whRatio>1, it is smaller than (8+2*whRatio), and if the first prediction mode is whRatio<1, it is smaller than 8.

[0078] When the first to third conditions are satisfied, the decoder can set wideAngle to 1 and set the second prediction mode to (first prediction mode + 65), where wideAngle is a variable indicating whether or not the wide-angle mode is used.

[0079] - Fourth condition: nTbH>nTbW

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

[0081] - 6th condition: If the first prediction mode is whRatio>1, it is greater than (60-2*whRatio), and if whRatio<1, it is greater than 60.

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

[0083] According to an embodiment of the present invention, the intra prediction mode may be classified into a basic angle mode and an extended angle mode. The basic angle mode may be an angle mode within a range of +-45° based on a vertical mode / horizontal mode, and the extended angle mode may be an angle mode exceeding +-45° based on a vertical mode / horizontal mode. Therefore, the signaled mode information may use the basic angle mode or the extended angle mode according to the shape of the coding block. The number of available modes of the extended angle mode may be defined according to the width-to-height ratio (or the height-to-width ratio) based on the shape 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 (a) of FIG. 10, a cbWidth×cbHeight coding block determined as intra prediction mode 2 may be divided into two transform blocks in the horizontal direction as shown in (b) of FIG. 10. Assuming that tbWidht_1 is greater than tbHeight_1, the first transform block having a size of tbWidht_1×tbHeight_1 may be divided into two transform blocks in the horizontal direction as shown in (b) of FIG. horizontal The block may have a rectangular block shape, where cbWidth is a variable indicating the width of a coding block, cbHeight is a variable indicating the height of a coding block, tbWidth is a variable indicating the width of a transform block, and tbHeight is a variable indicating the height of a transform block.

[0085] In this case, the signaled intra prediction mode 2 may be reanalyzed based on the shape of the first transform block and modified to an extended angle mode, which becomes (2+65) according to the above-mentioned 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 in the same way in the transform block unit, and in this case, performance changes may occur.

[0086] Therefore, according to an embodiment of the present invention, a method for determining a wide-angle mode is proposed in order to apply the intra prediction mode determined for a coding block to a transform block in the same manner as described below. As an embodiment, when deriving a second prediction mode, an encoder / decoder may set nTbW and nTbH to cbWidth and cbHeight of a coding block. The encoder / decoder may determine (or decide) whether to use a wide-angle mode using the height and width of a coding block including a transform block. Although FIG. 10 illustrates a case in which a transform block is divided into a horizontal rectangular shape, the present invention is not limited thereto. That is, the proposed embodiment may be similarly applied to a case in which a transform block is divided into a vertical rectangular shape, a square shape, or a combination of various shapes.

[0087] 11 is a diagram illustrating a method for applying position-dependent intra prediction combination (PDPC) 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 equal to 0

[0089] Condition 2. refIdx (reference sample line index) is equal to 0 or cIdx is not equal to 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] - predModeIntra (intra prediction mode) is less than or equal to INTRA_ANGULAR10

[0096] - if 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 the name, and PDPC may be always called Position-dependent intra prediction sample filtering.

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

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

[0100] Here, R x,-1 and R -1,y represent the reference samples located to the left and above the current sample (x, y), respectively, 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 weighting value (also referred to as a PDPC weighting value) may be calculated based on the following Equation 2.

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

[0102] In Equation 2, shift may be set as (log2(width)-2+log2(height)-2+2)>>2, and wTL may be set as 0 for planar mode, wTL=wT for horizontal mode, and wTL=wL for vertical mode. The PDPC weights may be calculated based only on sum and shift operations. The pred(x,y) values ​​may be calculated in a single step using Equation 1 above.

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

[0104] 12 is a diagram illustrating reference samples used in PDPC according to an intra prediction mode according to 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 illustrates a case where the reference sample R x,-1 , R -1,y and R -1,-1 The predicted sample pred(x', y') represents the predicted sample located at (x', y') in the predicted block. x,-1 The coordinate x of is given as x=x'+y'+1. And the reference sample R -1,y The coordinate y of is given similarly as y=x'+y'+1.

[0105] According to one embodiment of the present invention, the PDPC weight for the upper right diagonal mode may be determined according to Equation 3 below.

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

[0107] FIG 13 is a diagram illustrating reference samples used in PDPC according to intra prediction modes according to 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 one of 3 to 10, and (b) of FIG 13 assumes that the mode number of the intra prediction mode is one of 58 to 65. Similar to FIG 12, FIG 13 illustrates the reference sample R when PDPC is applied to the bottom-left diagonal mode. x,-1 , R -1,y and R -1,-1The predicted sample pred(x', y') represents the predicted sample located at (x', y') in the predicted block. x,-1 The coordinate x of is given as x=x'+y'+1. And the reference sample R -1,y The coordinate y of is given similarly as y=x'+y'+1.

[0108] According to one embodiment of the present invention, the PDPC weighting for the lower left diagonal mode may be determined according to Equation 4 below.

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

[0110] In the case of FIG. 13(a) for the upper right diagonal mode, the PDPC weights may be defined as Equation 5 below.

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

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

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

[0114] 12 and 13, as an example, similar to when PDPC is applied to DC, planar, horizontal and / or vertical modes, no additional boundary filtering is required for the diagonal modes and adjacent modes of the diagonal modes 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 a table may be defined for a diagonal line and its adjacent modes, there is an advantage that an additional table is not required for the PDPC implementation described in the present invention. In addition, multiplication operations may not be used when calculating coordinates x and y. In addition, in one embodiment, when fractional reference sample coordinates are used, linear interpolation may be performed on the reference sample.

[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), a current coding block may be expressed as W×H with a width W and a height H. FIG. 14(b) illustrates an example in which a current coding block is divided into four transform blocks in the vertical direction when the ISP mode is applied. FIG. 14(c) illustrates an example in which PDPC is applied to each transform block unit divided in FIG. 14(b).

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

[0118] Also, in one embodiment, the encoder / decoder may set (or determine) a filter flag value for a transform block that is a luma component and to which an ISP is applied, based on the values ​​of the block width W and height H. As one embodiment, the encoder / decoder may set the flag value by comparing the number of samples W*H of the block with a predefined (or preset) specific reference value. For example, the encoder / decoder may compare W*H>reference value, W*H>=reference value, W*H<reference value, and W*H<=reference value. As another method, the encoder / decoder may compare the block width and height with the reference value, respectively, and set the filter flag value differently. As one embodiment, the condition 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 example, the inequality sign is not limited to being greater than the reference value, and may be defined as being equal, greater or equal, smaller, or smaller or equal. The reference values ​​applied to W and H may be different from each other, and different inequality signs may be applied. Alternatively, the filter flag value may be set depending on whether or not the block size falls within a specific block size range.

[0119] Referring to (c) of FIG. 14, in one embodiment of the present invention, the encoder / decoder may apply PDPC to a block to which ISP is applied. As an example, the encoder / decoder may determine whether PDPC is applied to a block to which ISP is applied based on the number of samples of the block, W*H. In one embodiment, a condition for determining whether PDPC is applied 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. In another embodiment, the condition for determining whether PDPC is applied may be defined as (W>reference value and H>reference value) or (W>reference value or H>reference value). In this case, in the above example, the inequality sign is not limited to being greater than the reference value, and may be defined as being equal, greater or equal, smaller, or smaller or equal. For example, the condition for determining whether the PDPC is applied may be defined as (W≧reference value and H≧reference value), or (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, may be defined as the same sign (or unequal sign), or may be defined as different signs.

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

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

[0122] According to an embodiment of the present invention, when determining whether to apply reference sample filtering, the encoder / decoder may set a filter flag indicating whether filtering is applied based on whether the block is to have ISP and / or PDPC 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. Alternatively, for a block to which ISP and PDPC are applied, the filter flag value may be determined according to a Mode Dependent Intra Smoothing (MDIS) condition. Alternatively, the encoder / decoder may apply a filter flag value for a block to which ISP and PDPC are applied differently from a filter flag value for a block to which only ISP is applied.

[0123] According to an embodiment of the present invention, the encoder / decoder may reset the intra prediction mode based on the width and height of the coding block when determining the wide-angle mode. For example, the encoder / decoder may perform a wide-angle mode reanalysis process for 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 the reanalysis process. Alternatively, the encoder / decoder may individually set a 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 may be applied based on the width / height of the transform block or the width / height of the coding block, and the other may be applied in other manners. As another embodiment, the encoder / decoder may apply the wide-angle mode based on the width and height values ​​of the divided transform block. For example, if the minimum value of the width and height of the transform block is greater than or equal to a reference value, or is greater than the reference value, the wide-angle mode may be applied using the height and width of the coding block, and if the minimum value is equal to or smaller than the reference value, the wide-angle mode may be applied using the width and height of the transform block. Or, conversely, if the minimum value of the width and height of the transform block is greater than, equal to, or larger than the reference value, the wide-angle mode can be applied using the height and width of the transform block, and if the minimum value is equal to, smaller than, or smaller than the reference value, the wide-angle mode can be applied using the width and height of the coding block.

[0124] The embodiments described above in Figures 10 to 14 may be applied in combination of one or more embodiments, or may be applied independently. Also, the above-mentioned embodiments may be applied in substantially the same manner in a decoder and an encoder.

[0125] FIG. 15 is a diagram for explaining a transform unit division processing method according to an embodiment of the present invention. Referring to FIG. 15, in an embodiment of the present invention, an encoder / decoder may divide a current block (coding block, coding unit) into a plurality of transform blocks for encoding / decoding. As an example, when an intra subpartition (ISP) mode is applied, a coding block may be divided into a plurality of transform blocks. Or, when the size of a coding block is larger than a maximum transform size, the coding block may be divided into a plurality of transform blocks. When an intra subpartition mode is applied, as shown in FIG. 15, a coding block may be divided into rectangular transform blocks in a horizontal or vertical direction, or may be divided into two or four transform blocks.

[0126] FIG. 16 is a diagram illustrating 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, a coding block may be divided into a plurality of transform blocks, and an encoder / decoder may apply transform to the divided transform blocks. FIG. 16 illustrates an example of applying two transforms to a transform block. The forward primary transform in FIG. 16 indicates a transform applied first based on an encoder side, and may be referred to as a primary transform in the present invention. The forward secondary transform in FIG. 16 indicates a transform applied second based on an encoder side, and may be referred to as a secondary transform in the present invention. A secondary transform (i.e., a secondary inverse transform) and a primary transform (i.e., a primary inverse transform) may be sequentially performed on a transform block that has been inversely quantized based on a decoder side. As described above, the secondary transform may be referred to as a Low Frequency Non-Separable Transform (LFNST).

[0127] In one embodiment of the present invention, a transform matrix (or a transform kernel, a transform type) used in the primary transform may be a known transform matrix in conventional video compression techniques such as DCT-2, DST-7, DCT-8, etc. The secondary transform may be applied to a partial region in a transform block according to a size of the coding block. For example, the partial region may be a 4×4 region or an 8×8 region. The partial region may be located at the upper left corner of the coding block (or the transform block). In one embodiment, if both the width and height of the coding block are greater than 4, the secondary transform may be applied to the upper left corner 8×8 region, and if either one of the width and height is equal to 4, the secondary transform may be applied to the upper left corner 4×4 region. The secondary transform may be applied to luma and chroma components of a block coded in intra mode.

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

[0129] As an example, the encoder / decoder may determine a set of transform kernels to be applied to a current block according to an intra prediction mode, taking into account the following:

[0130] - CU width-to-height ratio or height-to-width ratio

[0131] - CU size

[0132] - Primary transformation types

[0133] - MTS Index

[0134] - Whether or not implicit MTS applies

[0135] The encoder / decoder may determine the transform kernel set based on the above-mentioned items, and the above-mentioned items may be used in one or more combinations to determine the transform kernel set.

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

[0137] According to an embodiment of the present invention, the encoder / decoder may use the same transform kernel set for each transform block or may use different transform kernel sets. If the intra prediction mode and the size of the divided block are the same, the divided transform blocks may use the same transform kernel. In the opposite case, the encoder / decoder may determine and use a kernel set for each transform block. In a coding unit to which the intra sub-partition mode is applied, the luma component may be transformed 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 may use the same secondary transform kernel set, and the size of the coding block to which the secondary transform block is applied must be satisfied. In addition, the transform block sizes of the luma and chroma may be different. In this case, the encoder / decoder may apply the secondary transform block to a 4×4 or 8×8 region according to the block size condition to which the secondary transform block is applied. Alternatively, the encoder / decoder may use the region applied to the luma transform for the same region for the chroma. Since the intra prediction modes of the luma and chroma may be different from each other, the encoder / decoder may use different transform kernel sets. Although the method for determining the intra-prediction mode-based kernel set has been described, any method for determining the secondary transformation kernel set described in FIG. 17 may be applied.

[0138] According to an embodiment of the present invention, if the size of a 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, the application of a secondary transform may result in a decrease in performance and an increase in complexity, so the maximum coding block to which the secondary transform is applied may be limited. The size of the maximum coding block may be the same as the maximum transform size. Alternatively, a preset coding block size may be used. The preset value may be, but is not limited to, 64, 32, or 16. The length of the long side may be a value or a total number of samples.

[0139] Also, in one embodiment, the encoder / decoder may define the secondary transform block size as 2×8, 8×2, 4×16, 16×4, 2×32, or 32×2, rather than being limited to the upper left 4×4 or 8×8 region of the coding unit. The encoder / decoder may determine the region to which the secondary transform is applied adaptively / without signaling, taking into account the width-to-height / height-to-width ratio of the coding block.

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

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

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

[0143] [Number 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 may be derived using Equation 7, and the right reference sample may be derived using Equation 8. The weight applied to the right reference sample may be derived using Equation 9, the weight applied to the left reference sample may be derived using Equation 10, and the weight applied to the reference sample located at the upper left corner may be derived using Equation 11. Then, the encoder / decoder may generate a predicted sample according to Equation 12 based on the determined weights.

[0148] According to an embodiment of the present invention, in the case of a non-square block other than a square block, the encoder / decoder may set the weighting values ​​of the relatively long side and the short side to be different. For example, the encoder / decoder may 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 a short side, the weighting value may be set to be different from that of the long side. For example, the weighting value may be set to 16, 8, 4, etc. instead of 32. Alternatively, the scale variable nScale used in the above-mentioned Equations 9 and 10 may be used. The encoder / decoder may set the value according to the positions of the long side and the short side.

[0149] In one embodiment, when using multiple reference line samples, the encoder / decoder can apply PDPC to vertical and / or horizontal modes, or the encoder / decoder can apply PDPC to vertical, horizontal, DC, and PLANAR modes.

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

[0151] Referring to FIG. 20, the decoder determines whether an Intra Sub-Partitions (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 horizontal or vertical rectangular transform blocks (S2002).

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

[0154] The decoder reconstructs the current block based on a residual block of the transformed block and the predicted block (S2004).

[0155] As described above, generating the prediction block may include performing position-dependent intra prediction sample filtering on a transform block basis divided from the current block.

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

[0157] Also, as described above, the step of determining whether or not to apply the position-dependent intra-prediction sample filtering may be 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.

[0158] Also, as described above, the residual block of the transform block may be derived by performing an inverse secondary transform and an inverse primary transform on a transform block basis.

[0159] Also, as described above, the method may include a step of determining whether a secondary transform is applied to the current block; a step of deriving a secondary transform kernel set to be applied to the current block from among predefined secondary transform kernel sets based on an intra prediction mode of the current block if the secondary transform is applied to the current block; a step of determining a secondary transform kernel to be applied to the current block from the determined secondary transform kernel set; a step of generating a secondary inverse transformed block of the transformed block by performing a secondary inverse transform on a transform block basis; and a step of generating a residual block of the transformed block by performing a primary inverse transform on the secondary inverse transformed block.

[0160] The above-described embodiments of the present invention may be implemented in a variety of ways, for example, in hardware, firmware, software, or a combination thereof.

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

[0162] In the case of implementation by firmware or software, the method according to the embodiment of the present invention may be implemented in the form of modules, procedures, or functions performing the functions or operations described above. The software code is stored in a memory and implemented by a processor. The memory may be located inside or outside the processor and may exchange data with the processor by various means known in the art.

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

[0164] The above description of the present invention is for illustrative purposes only, and those skilled in the art will understand that the present invention can be easily modified into other specific forms without changing the technical idea or essential features of the present invention. Therefore, it should be understood that the above-described embodiments are illustrative in all respects and are not limiting. For example, each component described as a single type may be implemented in a distributed form, and each component described as a distributed form may be implemented in a combined form.

[0165] The scope of the present invention is indicated by the claims set forth below rather than by the above detailed description, and all modifications and variations derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention. [Industrial Applicability]

[0166] The above-described preferred embodiments of the present invention have been disclosed for illustrative purposes, and those skilled in the art may make improvements, modifications, substitutions, or additions to various other embodiments within the technical spirit and scope of the present invention as disclosed in the appended claims.

Claims

1. 1. An apparatus for decoding a video signal, comprising: A processor is included. The processor, If an Intra Sub-Partitions (ISP) mode is applied to the current block, the current block is partitioned into a plurality of transformation blocks; the plurality of transform blocks includes a first transform block and a second transform block; Obtaining a first prediction block of the first transform block and a second prediction block of the second transform block; obtaining a first residual block of the first transform block and a second residual block of the second transform block; The first residual block and the second residual block are obtained by performing a low frequency non-separable transform (LFNST) on the first transform block and the second transform block, respectively; a transform kernel of the low band non-separable transform is determined based on an intra prediction mode of the current block; reconstructing the current block based on the first predicted block, the second predicted block, the first residual block, and the second residual block; The first prediction block and the second prediction block are obtained by applying position-dependent intra prediction sample filtering.

2. 2. The apparatus of claim 1, wherein a width of each of the plurality of transform blocks is greater than or equal to a preset value, and a height of each of the plurality of transform blocks is greater than or equal to the preset value.

3. The apparatus of claim 1 , wherein the position-dependent intra-prediction sample filtering is applied by a weighted combination of reference samples of each of the plurality of transform blocks.

4. The apparatus of claim 1 , wherein the intra-prediction mode of the current block is a DC mode, a planar mode, or an angular mode.

5. 1. An apparatus for encoding a video signal, comprising: A processor is included. The processor, obtaining a bitstream to be decoded by a decoder using the decoding method; The decoding method includes: partitioning the current block into a plurality of transform blocks when an Intra Sub-Partitions (ISP) mode is applied to the current block, the plurality of transform blocks including a first transform block and a second transform block; obtaining a first prediction block of the first transform block and a second prediction block of the second transform block; obtaining a first residual block of the first transform block and a second residual block of the second transform block, the first residual block and the second residual block being obtained by performing a low frequency non-separable transform (LFNST) on each of the first transform block and the second transform block, and a transform kernel of the low frequency non-separable transform is determined based on an intra prediction mode of the current block; and reconstructing the current block based on the first predicted block, the second predicted block, the first residual block, and the second residual block; The first prediction block and the second prediction block are obtained by applying position-dependent intra prediction sample filtering.

6. 6. The apparatus of claim 5, wherein a width of each of the plurality of transform blocks is greater than or equal to a preset value, and a height of each of the plurality of transform blocks is greater than or equal to the preset value.

7. The apparatus of claim 5 , wherein the position-dependent intra-prediction sample filtering is applied by a weighted combination of reference samples of each of the plurality of transform blocks.

8. The apparatus of claim 5 , wherein the intra-prediction mode of the current block is a DC mode, a planar mode, or an angular mode.

9. 1. A method for obtaining a bitstream, comprising the steps of: partitioning the current block into a plurality of transform blocks when an Intra Sub-Partitions (ISP) mode is applied to the current block, the plurality of transform blocks including a first transform block and a second transform block; obtaining a first prediction block of the first transform block and a second prediction block of the second transform block; obtaining a first residual block of the first transform block and a second residual block of the second transform block, the first residual block and the second residual block being obtained by performing a low frequency non-separable transform (LFNST) on each of the first transform block and the second transform block, and a transform kernel of the low frequency non-separable transform is determined based on an intra prediction mode of the current block; reconstructing the current block based on the first prediction block, the second prediction block, the first residual block, and the second residual block, wherein the first prediction block and the second prediction block are obtained by applying position-dependent intra prediction sample filtering; The method includes obtaining a bitstream by encoding information for the plurality of transform blocks.

10. 10. The method of claim 9, wherein a width of each of the plurality of transform blocks is greater than or equal to a preset value, and a height of each of the plurality of transform blocks is greater than or equal to the preset value.

11. The method of claim 9 , wherein the position-dependent intra-prediction sample filtering is applied by a weighted combination of reference samples of each of the multiple transform blocks.

12. The method of claim 9 , wherein the intra-prediction mode of the current block is a DC mode, a planar mode, or an angular mode.

13. 1. A method for processing a video signal, comprising the steps of: partitioning the current block into a plurality of transform blocks when an Intra Sub-Partitions (ISP) mode is applied to the current block, the plurality of transform blocks including a first transform block and a second transform block; obtaining a first prediction block of the first transform block and a second prediction block of the second transform block; obtaining a first residual block of the first transform block and a second residual block of the second transform block, the first residual block and the second residual block being obtained by performing a low frequency non-separable transform (LFNST) on each of the first transform block and the second transform block, and a transform kernel of the low frequency non-separable transform is determined based on an intra prediction mode of the current block; and reconstructing the current block based on the first predicted block, the second predicted block, the first residual block, and the second residual block; A method for processing a video signal, wherein the first prediction block and the second prediction block are obtained by applying position-dependent intra prediction sample filtering.

Citation Information

Patent Citations

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

    WO2020076125A1

Cited By

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

    JP2025092552A