Intra prediction method using plurality of reference lines, and video encoding and decoding device for performing same

The intra prediction method using multiple reference lines in video encoding and decoding devices addresses the challenge of high data volume in high-resolution images by selecting and utilizing specific reference lines for improved compression performance, reducing data requirements.

WO2025005753A1PCT designated stage expired Publication Date: 2025-01-02ATINS INC

Patent Information

Application Number
PCT/KR2024/009151
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-06-30
Filing Date
2024-06-29
Publication Date
2025-01-02

AI Technical Summary

Technical Problem

High-resolution video encoding and decoding face challenges in reducing the amount of encoded data, leading to increased transmission and storage costs due to the higher information content compared to low- or medium-resolution images.

Method used

An intra prediction method using multiple reference lines, where the video encoding and decoding devices select and utilize a first reference line on the upper side and a second reference line on the left side for generating prediction blocks, with the selection flags and index values being transmitted in the bitstream as High-Level Syntax (HLS), allowing for improved compression performance and reduced information transmission.

Benefits of technology

This approach enhances video compression performance by efficiently using reference lines for intra prediction, thereby reducing the amount of data required for high-resolution image encoding and decoding.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2024009151_02012025_PF_FP_ABST
    Figure KR2024009151_02012025_PF_FP_ABST
Patent Text Reader

Abstract

The present invention relates to an intra prediction method using a plurality of reference lines, and a video encoding and decoding device for performing same, the method comprising the steps of: selecting a first reference line of an upper side and a second reference line of a left side from among a plurality of reference lines having reference samples adjacent to a target block; and using reference samples belonging to the selected first and / or second reference lines, so as to generate a prediction block for the target block.
Need to check novelty before this filing date? Find Prior Art

Description

Intra prediction method using multiple reference lines, and image encoding and decoding device performing the same

[0001] The present invention relates to a method for selecting reference samples for generating a prediction block in an intra prediction process.

[0002] Compression encoding of video signals is achieved by removing redundant information by considering spatial correlation, temporal correlation, and probabilistic correlation.

[0003] Among the prediction methods used in image encoding, intra prediction is a method of predicting the current block by referring to samples that have already been reconstructed around the block to be encoded.

[0004] Recently, due to the development of various media and data transmission media, user demand for high-resolution, high-quality images is increasing.

[0005] Since the encoded data of a high-resolution image contains more information than the encoded data of a low-resolution or medium-resolution image, the cost of transmitting or storing it increases.

[0006] To solve this problem, research is ongoing on encoding and decoding methods to effectively reduce the amount of encoding data for high-resolution images.

[0007] The purpose of the present invention is to provide an encoding and decoding method and device capable of improving image compression performance by efficiently performing intra prediction.

[0008] An intra prediction method according to one embodiment of the present invention performs intra prediction using a plurality of reference lines, and includes the steps of: selecting a first reference line on the upper side and a second reference line on the left side from among a plurality of reference lines composed of reference samples adjacent to a target block; and generating a prediction block for the target block using reference samples belonging to at least one of the selected first and second reference lines.

[0009] The video encoding device according to one embodiment of the present invention performs the intra prediction method as described above, and inserts a flag indicating that the first reference line on the upper side and the second reference line on the left side can be selected separately, and an index value for each of the first and second reference lines into the bitstream as HLS (High-Level Syntax) and transmits the same.

[0010] The image decoding device according to one embodiment of the present invention performs the intra prediction method as described above, and when a flag included in the bitstream as HLS (High-Level Syntax) indicates that the first reference line on the upper side and the second reference line on the left side can be selected separately, the device parses index values ​​for each of the first and second reference lines from the bitstream to select the first and second reference lines.

[0011] Meanwhile, at least some steps of the above methods may be implemented as a computer-readable recording medium recording a program for execution on a computer, or may be provided as a program itself.

[0012] According to one embodiment of the present invention, when performing intra prediction for encoding and decoding an image, a prediction block is generated by selecting a first reference line on the upper side and a second reference line on the left side from among a plurality of reference lines composed of reference samples adjacent to a target block, thereby improving the compression performance of the image.

[0013] According to another embodiment of the present invention, a reference line for intra prediction can be selected using information of surrounding blocks adjacent to a target block, thereby reducing the amount of information transmitted for intra prediction.

[0014] Figure 1 is a block diagram illustrating the configuration and operation of a video encoder for encoding an image.

[0015] Figure 2 is a drawing for explaining an embodiment of a method for dividing blocks of an image.

[0016] Figures 3 and 4 are drawings for explaining embodiments of an intra prediction method.

[0017] Figure 5 is a block diagram illustrating the configuration and operation of a video decoder for decoding an image.

[0018] Figure 6 is a flowchart illustrating an intra prediction method according to an embodiment of the present invention.

[0019] FIGS. 7 to 14 are drawings for explaining embodiments of a method for selecting a reference line for intra prediction.

[0020] Hereinafter, with reference to the attached drawings, a method and device for encoding and decoding an image according to an embodiment of the present invention will be described in detail.

[0021] In the following description of the present invention, detailed descriptions of related known functions or configurations will be omitted if they are deemed to unnecessarily obscure the gist of the invention. Furthermore, the terms described below are defined in light of their functions within the present invention and may vary depending on the intent or custom of the user or operator. Therefore, their definitions should be based on the overall content of the present invention.

[0022] In addition, in order to efficiently explain the technical components that make up the present invention, the preferred embodiments of the present invention implemented below omit, as much as possible, the system functional components that are already provided in each system functional configuration or are commonly provided in the technical field to which the present invention belongs, and focus on explaining the functional components that must be additionally provided for the present invention.

[0023] Anyone having ordinary skill in the art to which the present invention pertains will be able to easily understand the functions of components that have been conventionally used among the functional configurations that are not illustrated below, and will also be able to clearly understand the relationship between the components omitted as described above and the components added for the present invention.

[0024] In this specification, a device that encodes an image to generate a video signal bitstream is referred to as an encoding device, an encoding device, or an encoder, and a device that decodes the video signal bitstream to restore an image is referred to as a decoding device, a decoding device, or a decoder.

[0025] A pixel or pel is the smallest unit that constitutes an image, and the terms pixel and sample can be used interchangeably. A sample can generally represent a pixel or a pixel value, or it can represent only a pixel or pixel value of the luminance component, or only a pixel or pixel value of the chroma component.

[0026] In addition, the unit is used to refer to a basic unit of image processing or a specific location of a picture, and represents an image area including at least one of a luminance component and a chrominance component. Specifically, the unit can be used as a concept including a coding tree unit (CTU), a coding unit (CU), a prediction unit (PU), and a transform unit (TU). In addition, a block represents an image area including a specific component among luminance components and chrominance components, and an MxN block can represent a set of samples or transform coefficients consisting of M columns and N rows. Here, the terms unit, block, partition, signal, and area may be used interchangeably.

[0027] Meanwhile, a picture refers to a field or a frame, and these can be used interchangeably. For example, if the image is an interlaced image, one frame is divided into an odd (or odd, top) field and an even (or even, bottom) field, and each field is composed of a single picture unit, which can be encoded or decoded. If the image is a progressive image, one frame can be composed as a picture, which can be encoded or decoded.

[0028]

[0029] FIG. 1 is a block diagram illustrating an encoding device according to an embodiment of the present invention, and is intended to explain the configuration and operation of a video encoder for encoding an image.

[0030] Referring to FIG. 1, a video encoder (100) may be configured to include a transformation unit (110), a quantization unit (120), an inverse quantization unit (130), an inverse transformation unit (140), a filtering unit (150), a prediction unit (160), a DPB (Decoded Picture Buffer, 170), and an entropy coding unit (180).

[0031] The conversion unit (110) converts the residual signal, which is the difference between the input video signal and the prediction signal generated by the prediction unit (160), to obtain a conversion coefficient value.

[0032] For example, the Discrete Cosine Transform (DCT), the Discrete Sine Transform (DST), or the Wavelet Transform can be used.

[0033] The transform kernel used for transforming the residual block may be a transform kernel having separable vertical and horizontal transform properties. In this case, the transform for the residual block may be performed separately as vertical and horizontal transforms. For example, the encoder may perform a vertical transform by applying the transform kernel in the vertical direction of the residual block. Alternatively, the encoder may perform a horizontal transform by applying the transform kernel in the horizontal direction of the residual block.

[0034] Meanwhile, the transform kernel may be used as a term referring to a set of parameters used for transforming the residual signal, such as a transform matrix, a transform array, a transform function, or a transform, and may be any one of a plurality of available kernels, and transform kernels based on different transform types may be used for each of the vertical transform and the horizontal transform.

[0035] The transformation coefficients may be distributed such that higher coefficients are distributed toward the upper left corner of the block, and coefficients closer to '0' are distributed toward the lower right corner of the block. Furthermore, as the current block size increases, there is a possibility that many '0' coefficients exist in the lower right area. To reduce the transformation complexity of large blocks, only the upper left area can be left, and the remaining areas can be reset to '0'.

[0036] Additionally, error signals may exist only in some regions of a coding block, in which case the conversion process may be performed only on some arbitrary regions. For example, in a block of size 2Nx2N, error signals may exist only in the first 2NxN block, in which case the conversion process may be performed only on the first 2NxN block, but the conversion process may not be performed on the second 2NxN block and may not be encoded or decoded.

[0037] The encoder may perform additional transformations before the transform coefficients are quantized. The transformation method described above may be referred to as a primary transform, and the additional transformation may be referred to as a secondary transform.

[0038] The secondary transform can be optional for each residual block, for example, the encoder can improve coding efficiency by performing the secondary transform for areas where it is difficult to concentrate energy in the low-frequency region using the primary transform alone.

[0039] Specifically, a secondary transformation may be additionally performed on blocks in which residual values ​​appear significantly in directions other than the horizontal or vertical direction of the residual block, and the secondary transformation may not be performed separately into vertical transformation and horizontal transformation, unlike the primary transformation. The secondary transformation as described above may be referred to as a low frequency non-separable transform (LFNST).

[0040] The quantization unit (120) quantizes the transformation coefficient value output from the transformation unit (110).

[0041] In order to increase coding efficiency, a method is used in which, instead of coding the picture signal as is, a picture is predicted using an already coded area through a prediction unit (160), and a restored picture is obtained by adding a residual value between the original picture and the predicted picture to the predicted picture.

[0042] To avoid mismatches between the encoder and decoder, when performing prediction in the encoder, information available in the decoder must also be used, and for this purpose, the encoder can perform a process of reconstructing the current block that it has encoded.

[0043] The inverse quantization unit (130) inversely quantizes the transform coefficient values, and the inverse transformation unit (140) restores the residual values ​​using the inverse quantized transform coefficient values.

[0044] The filtering unit (150) performs filtering operations using a deblocking filter, a sample adaptive offset (SAO), an adaptive loop filter (ALF), etc. to improve the quality of the restored picture and enhance encoding efficiency.

[0045] A deblocking filter is a filter for removing distortion within a block generated at the boundary between blocks in a restored picture. The encoder can determine whether to apply a deblocking filter to a boundary based on the distribution of pixels included in several columns or rows based on an arbitrary boundary within a block.

[0046] When a deblocking filter is applied, the filtering unit (150) can apply a long filter, a strong filter, or a weak filter depending on the deblocking filtering strength, and can process horizontal filtering and vertical filtering in parallel.

[0047] Sample Adaptive Offset (SAO) can be used to correct the offset from the original image on a pixel-by-pixel basis for a residual block to which a deblocking filter is applied. In order to correct the offset for a specific picture, the filtering unit (150) can use a method (Band Offset) that divides the pixels included in the image into a certain number of regions, determines the regions to perform offset correction, and applies the offset to the regions. In addition, the filtering unit (150) can use a method (Edge Offset) that applies the offset by considering the edge information of each pixel.

[0048] Adaptive Loop Filtering (ALF) is a method that divides pixels in an image into predetermined groups, determines a filter to be applied to each group, and performs differential filtering for each group. Information regarding whether to apply an adaptive loop filter can be signaled on a coding unit basis, and the shape and filter coefficients of the ALF filter to be applied can vary depending on the block. Furthermore, the same adaptive loop filter can be applied regardless of the characteristics of the target block.

[0049] The filtered picture can be stored in DPB (170) to be used as a reference picture.

[0050] The prediction unit (160) includes an intra / IBC prediction unit (161) and an inter prediction unit (165). The intra / IBC prediction unit (161) performs intra prediction and IBC prediction within the current picture, and the inter prediction unit (165) performs inter prediction to predict the current picture using a reference picture stored in the DPB (170).

[0051] The intra / IBC prediction unit (161) performs intra prediction from restored areas within the current picture and transmits intra encoding information to the entropy coding unit (180). Here, the intra encoding information may include at least one of an intra prediction mode, an MPM (Most Probable Mode) flag, an MPM index, and information about a reference sample.

[0052] Additionally, the intra / IBC prediction unit (161) can perform IBC (Intra BLock Copy) prediction from restored samples within the current picture and transmit IBC encoding information to the entropy coding unit (180).

[0053] In this case, the intra / IBC prediction unit (161) obtains a block vector value indicating a reference area used for prediction of the current area by referring to a specific area within the current picture, and can perform IBC prediction using the obtained block vector value.

[0054] The intra / IBC prediction unit (161) can transmit IBC encoding information including at least one of the size information of the reference area and block vector information (index information for block vector prediction of the current block within the motion candidate list, block vector difference information) to the entropy coding unit (160).

[0055] The inter prediction unit (165) refers to a specific area of ​​the restored reference picture to find the part most similar to the current area, obtains a motion vector value which is the distance between the areas, and transmits motion information (reference direction indication information (L0 prediction, L1 prediction, bidirectional prediction), reference picture index, motion vector information, etc.) for the obtained reference area to the entropy coding unit (180).

[0056] Additionally, the inter prediction unit (165) performs motion compensation using motion information to generate a prediction block for the current block, and transmits inter encoding information including motion information for the reference area to the entropy coding unit (180).

[0057] Meanwhile, the quantized transform coefficients in the form of a two-dimensional array can be rearranged into a one-dimensional array for entropy coding.

[0058] The method of scanning the quantized transform coefficients can be determined according to the size of the transform block and the intra prediction mode, and diagonal, vertical, and horizontal scans can be applied, and the scan information can be signaled on a block-by-block basis or derived from the decoder according to a set rule.

[0059] The entropy coding unit (180) generates a bitstream by entropy coding information representing quantized transform coefficients, intra-coding information, and inter-coding information, and for this purpose, a variable length coding (VLC) method and an arithmetic coding method can be used.

[0060] Variable-length coding (VLC) converts input symbols into a series of codewords, each of which can be of variable length. For example, frequently occurring symbols can be represented by shorter codewords, while less frequently occurring symbols can be represented by longer codewords.

[0061] As a variable length coding method, a context-based adaptive variable length coding (CAVLC) method can be used.

[0062] Arithmetic coding converts consecutive data symbols into a single prime number using the probability distribution of each data symbol, thereby obtaining the optimal prime number bits required to express each symbol.

[0063] As an arithmetic coding method, the context-based adaptive binary arithmetic code (CABAC) method can be used.

[0064] CABAC is a binary arithmetic encoding method that utilizes multiple context models generated based on experimentally derived probabilities. The context models can also be referred to as context models. First, if the symbols are not in binary form, the encoder binarizes each symbol using methods such as exp-Golomb. The binarized 0s and 1s can be represented as bins.

[0065] The CABAC initialization process is divided into context initialization and arithmetic coding initialization. Context initialization initializes the occurrence probability of each symbol, determined by the symbol type, quantization parameter (QP), and slice type (I, P, B). A context model with this initialization information can use probability-based values ​​obtained through experiments.

[0066] The context model provides the probability of occurrence of the Least Probable Symbol (LPS) or Most Probable Symbol (MPS) for the symbol currently being coded, and information (valMPS) on which empty value between 0 and 1 corresponds to the MPS.

[0067] One of several context models is selected through a context index (ctxIdx), and the context index can be derived through information of the block currently to be encoded or information of surrounding blocks.

[0068] Initialization for binary arithmetic coding is performed based on the probability model selected from the context model. Binary arithmetic coding is performed by dividing the data into probability intervals based on the occurrence probabilities of 0 and 1, and then encoding the probability interval corresponding to the bin to be processed becomes the entire probability interval for the bin to be processed next.

[0069] The location information within the probability interval processed for the last bin is output. However, since the probability interval cannot be infinitely divided, if it shrinks to a certain size, a renormalization process is performed to expand the probability interval and output the corresponding location information. Furthermore, after each bin is processed, a probability update process can be performed, which sets a new probability for the next bin to be processed based on the information from the processed bin.

[0070] As described above, the generated bitstream is encapsulated into NAL (Network Abstraction Layer) units as basic units.

[0071] NAL units are divided into VCL (Video Coding Layer) NAL units that contain video data and non-VCL NAL units that contain parameter information for decoding video data, and there may be various types of VCL or non-VCL NAL units.

[0072] A NAL unit consists of NAL header information and data, a Raw Byte Sequence Payload (RBSP). The NAL header information includes summary information about the RBSP. The RBSP of a VCL NAL unit contains an integer number of encoded coding tree units.

[0073] In order to decode a bitstream in a decoder, the bitstream must first be divided into NAL units, and then each divided NAL unit must be decoded. Meanwhile, the information required for decoding the bitstream can be transmitted as part of a picture parameter set (PPS), a sequence parameter set (SPS), a video parameter set (VPS), etc.

[0074] Meanwhile, the configuration and operation of the encoder described with reference to FIG. 1 are according to one embodiment of the present invention, and some configurations may be omitted or added as needed.

[0075] Additionally, a single picture may be encoded by dividing it into sub-pictures, slices, tiles, etc. A sub-picture may include one or more slices or tiles. When a single picture is encoded by dividing it into multiple slices or tiles, all slices or tiles within the picture must be decoded before it can be displayed on the screen.

[0076] When a single picture is encoded into multiple subpictures, only any subpicture can be decoded and displayed on the screen. A slice can contain multiple tiles or subpictures, and a tile can contain multiple subpictures or slices.

[0077] Subpictures, slices, and tiles can be encoded or decoded independently of each other, which is effective for parallel processing and processing speed improvement, but the amount of bits may increase because the encoded information of adjacent subpictures, slices, and tiles cannot be used.

[0078] And subpictures, slices, and tiles can be encoded by being divided into multiple coding tree units (CTUs).

[0079] A coding tree unit can be composed of a luminance coding tree block (CTB) of size 128x128 and two chrominance coding tree blocks of size 64x64.

[0080] A single coding tree unit may be undivided and constitute a single coding unit (CU) itself, or may be divided into multiple coding units as illustrated in Fig. 2. A coding unit may be composed of a luminance coding block (CB) and two chrominance coding blocks.

[0081] A coding unit may consist of one transform unit (TU), or may be split into multiple transform units. A transform unit may consist of a luminance transform block (TB) and two chrominance transform blocks.

[0082] Here, a coding unit represents a basic unit for processing a picture in the process of prediction, transformation, quantization, entropy coding, and decoding, and the size and shape of a coding unit within a picture may not be constant.

[0083] A coding unit may have a square or non-square shape, and a rectangular coding unit may include a vertical coding unit whose height is greater than its width and a horizontal coding unit whose width is greater than its height.

[0084] The coding tree unit is first partitioned into a Quad Tree (QT) structure, such that a single node of size 2NX2N can be partitioned into four nodes of size NXN. Furthermore, the Quad Tree partitioning can be performed recursively, and not all nodes need to be partitioned to the same depth.

[0085] Leaf nodes of a quadtree can be further partitioned into a multi-type tree (MTT) structure. For example, in a multi-type tree structure, a single node can be partitioned into a binary or ternary tree structure with horizontal or vertical partitioning. Accordingly, a multi-type tree structure can have four partitioning structures: vertical binary partitioning, horizontal binary partitioning, vertical ternary partitioning, and horizontal ternary partitioning.

[0086] In each tree structure, both the width and height of a node can have a power of 2. For example, in a binary tree (BT) structure, a node of size 2NX2N can be split into two NX2N nodes by vertical binary splitting, and into two 2NXN nodes by horizontal binary splitting.

[0087] Also, in the Ternary Tree (TT) structure, a node of size 2NX2N can be split into nodes of size (N / 2)X2N, NX2N, and (N / 2)X2N by vertical ternary splitting, and into nodes of size 2NX(N / 2), 2NXN, and 2NX(N / 2) by horizontal ternary splitting. This multi-type tree splitting can be performed recursively.

[0088] A leaf node of a multi-type tree can be a coding unit. If the coding unit is no larger than the maximum transformation length, the coding unit can be used as a unit for prediction and transformation without further splitting. On the other hand, if the width or height of the coding unit is larger than the maximum transformation length, the coding unit can be split into multiple transformation units without explicit signaling regarding the splitting.

[0089] The tree partitioning structure as described above may have the same shape (Single Tree) for the luminance block and the chrominance block, or different shapes (Dual Tree) for the luminance block and the chrominance block.

[0090] Meanwhile, the block division from the coding tree unit (CTU) to the coding unit (CU) as described above can be performed through a rate-distortion optimization (RDO) process, whereby the division structure with the smallest rate-distortion cost (RD cost) value within the allowable size and depth conditions is selected to determine the final coding unit.

[0091] Hereinafter, embodiments of the intra prediction method will be described in more detail with reference to FIGS. 3 and 4.

[0092] For intra prediction, intra prediction mode information indicating an intra prediction direction may be signaled, and the intra prediction mode information indicates any one of a plurality of intra prediction modes constituting an intra prediction mode set.

[0093] As illustrated in FIG. 3, the intra prediction mode set may include a planar mode, a DC mode, and 65 directional modes, and each intra prediction mode may be indicated through an intra prediction mode index.

[0094] For example, intra prediction mode index "0" indicates planar mode, intra prediction mode index "1" indicates DC mode, and intra prediction mode indexes "2" to "66" can indicate different directional modes, respectively.

[0095] The directional modes each indicate different angles within a preset angular range, for example, a directional mode can indicate an angle within an angular range from 45 degrees to -135 degrees clockwise.

[0096] In this case, the intra prediction mode index "2" may indicate the Horizontal Diagonal (HDIA) mode, the intra prediction mode index "18" may indicate the Horizontal (HOR) mode, the intra prediction mode index "34" may indicate the Diagonal (DIA) mode, the intra prediction mode index "50" may indicate the Vertical (VER) mode, and the intra prediction mode index "66" may indicate the Vertical Diagonal (VDIA) mode.

[0097] If the current block is a non-square block, 20 additional wide angular modes can be used, indicating angles greater than 45 degrees clockwise or less than -135 degrees.

[0098] Based on the intra prediction mode information as described above, reference samples to be used for intra prediction for the current block are determined.

[0099] For example, if the intra prediction mode index indicates a specific directional mode, the reference sample corresponding to that angle from the current sample of the current block is used for prediction for the current sample.

[0100] As described above, for intra prediction, surrounding already restored samples are used as reference samples, and the reference samples may be restored samples located to the left or above the current block.

[0101] Referring to FIG. 4, the reference samples may be samples adjacent to the left boundary and upper boundary of the current block.

[0102] For example, if the size of the current block is NxN and samples of a single reference line adjacent to the current block are used for intra prediction, reference samples can be set using (2N*2+1) surrounding samples located on the left (L, Left), top (T, Top), and top-left (TL, Top-left) of the current block.

[0103] Meanwhile, samples of multiple reference lines (MRL) may be used for intra prediction of the current block, and the multiple reference lines may be composed of n reference lines located within a preset range from the current block. In this case, separate reference line index information indicating the reference lines to be set as reference pixels may be signaled.

[0104] Additionally, if at least some of the samples to be used as reference samples have not yet been restored, reference samples can be obtained through a reference sample padding process, and a reference sample filtering process can be performed to reduce errors in intra prediction.

[0105] FIG. 5 is a block diagram illustrating a decoding device according to an embodiment of the present invention, and is intended to explain the configuration and operation of a video decoder for encoding an image.

[0106] Referring to FIG. 5, a video decoder (200) may be configured to include an entropy decoding unit (210), an inverse quantization unit (220), an inverse transformation unit (230), a filtering unit (240), a prediction unit (260), and a DPB (Decoded Picture Buffer, 270).

[0107] The entropy decoding unit (210) entropy decodes the bitstream to extract transform coefficient information, intra-coding information, inter-coding information, etc. for each region.

[0108] For example, the entropy decoding unit (210) can obtain a binary code for transform coefficient information of a specific area from a bitstream, and can obtain a quantized transform coefficient by de-binarizing the binary code.

[0109] The inverse quantization unit (220) inversely quantizes the quantized transform coefficients, and the inverse transformation unit (230) restores the residual value using the inverse quantized transform coefficients.

[0110] Meanwhile, the residual value obtained from the inverse transformation unit (230) is combined with the predicted value obtained from the prediction unit (260) to restore the original pixel value.

[0111] The filtering unit (240) performs a filtering operation using a deblocking filter, a sample adaptive offset, an adaptive loop filter, etc. to improve the image quality of the restored picture, and the filtered picture can be output or stored in the DPB (270) to be used as a reference picture for the next picture.

[0112] The prediction unit (260) includes an intra / IBC prediction unit (261) and an inter prediction unit (265), and generates a prediction picture by utilizing the encoding type decoded through the entropy decoding unit (210), the transform coefficient for each region, and the intra / inter encoding information.

[0113] To restore the current block in which decoding is performed, the decoded region of the current picture or other pictures containing the current block can be used. A picture (or tile / slice) that performs intra prediction or intra BC prediction using only the current picture for restoration 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).

[0114] Meanwhile, a picture (or tile / slice) that uses at most one motion vector and reference picture index to predict sample values ​​of each block among inter-pictures (or tiles / slices) 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 indices is called a bi-predictive picture or B-picture (or tile / slice).

[0115] That is, 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 may include one or more motion vectors and one reference picture index.

[0116] The intra / IBC prediction unit (261) generates a prediction block using intra encoding information and restored samples within the current picture, and the intra encoding information may include at least one of an intra prediction mode, an MPM (Most Probable Mode) flag, and an MPM index.

[0117] The intra / IBC prediction unit (261) can predict sample values ​​of the current block using restored samples located on the left and / or upper side of the current block as reference samples.

[0118] For example, the reference samples may be samples adjacent to the left boundary of the current block and / or samples adjacent to the upper boundary, and may be samples located on a line within a preset distance from the left boundary of the current block among samples of neighboring blocks of the current block and / or samples located on a line within a preset distance from the upper boundary of the current block. In this case, the neighboring blocks of the current block may 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.

[0119] Additionally, the intra / IBC prediction unit (261) can restore the current region by referring to a specific region including restored samples within the current picture. To this end, the intra / IBC prediction unit (261) can perform IBC prediction using IBC encoding information obtained from the entropy decoding unit (210), and the IBC encoding information can include block vector information.

[0120] The inter prediction unit (265) generates a prediction block using the reference picture and inter encoding information stored in the DPB (270), and the inter encoding information may include a set of motion information (reference picture index, motion vector information, etc.) of the current block for the reference block.

[0121] Meanwhile, inter prediction can include L0 prediction, L1 prediction, and bi-prediction.

[0122] L0 prediction refers to prediction using a single reference picture included in the L0 picture list, and L1 prediction refers to prediction using a single reference picture included in the L1 picture list. For this, a set of motion information (e.g., motion vector and reference picture index) may be required.

[0123] In the biprediction method, up to two reference regions can be used. These two reference regions may exist in the same reference picture or in different pictures. Accordingly, in the two sets of motion information used in the biprediction method, two motion vectors may correspond to the same reference picture index or to different reference picture indices.

[0124] At this time, the reference pictures are pictures that are located temporally before or after the current picture, and may be completed pictures that have already been restored, and the two reference areas used in the pair prediction method may be areas selected from the L0 picture list and the L1 picture list, respectively.

[0125] The inter prediction unit (265) can obtain a reference block of the current block using a motion vector and a reference picture index, and the reference block exists in a reference picture corresponding to the reference picture index.

[0126] Additionally, the sample values ​​of a block specified by a motion vector or their interpolated values ​​can be used as a predictor of the current block. For motion prediction with subpel-level pixel accuracy, an 8-tap interpolation filter can be used for the luminance signal, and a 4-tap interpolation filter can be used for the chrominance signal.

[0127] Meanwhile, the configuration and operation of the decoder described with reference to FIG. 5 are according to one embodiment of the present invention, and some configurations may be omitted or added as needed, and the decoder may decode an image by performing the reverse process of the encoding method of the encoder described above.

[0128]

[0129] FIG. 6 is a flowchart illustrating an intra prediction method according to an embodiment of the present invention. A description of the same intra prediction method as that described with reference to FIGS. 1 to 5 will be omitted.

[0130] Referring to FIG. 6, among a plurality of reference lines composed of reference samples adjacent to a target block, a first reference line on the upper side and a second reference line on the left side are selected (step S600).

[0131] After that, a prediction block for the target block is generated using reference samples belonging to at least one of the first and second reference lines selected in step S600 (step S610).

[0132] For example, as illustrated in FIG. 7, a plurality of reference lines (reference lines 0, 1, 2) are configured with samples around a target block to be encoded or decoded, and reference samples belonging to reference lines selected from among reference lines 0, 1, and 2 can be used for intra prediction.

[0133] In this case, the MRL index value (intra_luma_ref_idx) for a reference line selected from among multiple reference lines (MRL) can be transmitted using a syntax as shown in Table 1 below.

[0134]

[0135] Referring to Table 2 below, when the target block uses reference line 0, one of the 67 intra prediction modes is used, and accordingly, the intra prediction mode for the target block may be one of the Most Probable Mode (MPM) modes including the planar mode or one of the remainder modes.

[0136] Meanwhile, if the target block uses reference line 1 or 2, one of the MPM (Most Probable Mode) modes, excluding the planar mode among the 67 intra prediction modes, is used, and accordingly, the target block is not predicted by the planar mode and the remainder modes.

[0137]

[0138] As shown in Table 3 below, MRL index values ​​are assigned to the 0th, 1st, and 2nd reference lines respectively, and can be binarized in the truncated rice (TR) method.

[0139]

[0140] According to one embodiment of the present invention, when a first reference line on the upper side and a second reference line on the left side that are optimized for the target block are selected in step S600, an index value may be separately specified and transmitted for each of the first and second reference lines.

[0141] Here, the first reference line may be a line of samples located on the upper side of the target block and extending in the horizontal axis, and the second reference line may be a line of samples located on the left side of the target block and extending in the vertical axis.

[0142] For example, as illustrated in FIG. 8, reference line 1 (T1) may be selected as the upper reference line for the target block and used for intra prediction, and reference line 0 (L0) may be selected as the left reference line and used for intra prediction.

[0143] Meanwhile, the upper left (TL) sample value may be set to the leftmost restored sample value (p1) among the upper 1st reference line (T1), the uppermost restored sample value (p2) among the left 0th reference line (L0), or a processed value of the two sample values ​​(p1, p2), such as a weighted average value of the two sample values ​​(p1, p2).

[0144] And as mentioned above, the function of separately selecting reference lines for the target block as the first reference line on the upper side and the second reference line on the left side can be enabled using a separate flag. At this time, when the flag (hls_mrl_enabled_flag) value indicating whether to use multiple reference lines is enabled, the flag (hls_mrl_ver_hor_enabled_flag) that activates the corresponding function can be enabled or disabled.

[0145] For example, as shown in Tables 4 and 5 below, a flag (hls_mrl_ver_hor_enabled_flag) for activating the function may be included in the bitstream as a high-level syntax (HLS), and may be included in one or more of the Sequence Parameter Set (SPS), the Picture Parameter Set (PPS), the Picture Header (PH), and the Slice Header (SH). When the flag (hls_mrl_ver_hor_enabled_flag) value is activated, reference lines for the target block may be separately selected as the first reference line on the upper side and the second reference line on the left, and transmitted in the form of an index.

[0146]

[0147]

[0148] As shown in Tables 6 and 7 below, a separate flag (mrl_ver_hor_enabled_flag) that activates the feature may be signaled at the level of the target block, in which case the syntax for the coding unit (CU) may include the flag (mrl_ver_hor_enabled_flag).

[0149]

[0150]

[0151]

[0152] According to another embodiment of the present invention, a reference line of a block to be encoded can be specified using correlations with surrounding blocks.

[0153] For example, the reference line of a target block is likely to be similar to the block adjacent to the left in a straight line or the block adjacent to the top in a straight line.

[0154] Accordingly, the first reference line on the upper side of the target block may be selected as the upper reference line of the first block adjacent to the left side of the target block, and the second reference line on the left may be selected as the left reference line of the second block adjacent to the upper side of the target block.

[0155] Referring to Fig. 9, if the target block is block 11, the block adjacent to the left of the target block may be block 10, and the block adjacent to the top may be block 4.

[0156] The upper reference line of the target block, block 11, is likely to match the upper reference line of the adjacent block 10 to the left, and the left reference line of block 11 is likely to match the left reference line of the adjacent block 4 to the top.

[0157] Using these features, the upper reference line of the target block, block 11, can be selected as the upper reference line of block 10, and the left reference line of block 11 can be selected as the left reference line of block 4.

[0158] In this case, when transmitting the MRL index value for the target block, a flag value indicating whether it matches the reference line of the surrounding block is transmitted, and if the reference line matches, the reference line of the target block can be specified with a 1-bit flag value.

[0159] Meanwhile, when one reference line is used as the upper and left reference lines for the target block, priority is given to the first block adjacent to the left over the second block adjacent to the left, so that the reference line of the first block adjacent to the left is preferentially designated as the representative reference line for the reference line of the target block, and when reference line information for the block adjacent to the left of the target block is not available, the reference line of the second block adjacent to the upper can be designated as the representative reference line.

[0160] Conversely, by giving priority to the second block adjacent to the top over the first block adjacent to the left, the reference line of the second block adjacent to the top is preferentially designated as the representative reference line for the reference line of the target block, and when reference line information for the block adjacent to the top of the target block is not available, the reference line of the first block adjacent to the left can be designated as the representative reference line.

[0161] And if the reference line information of at least one of the first block adjacent to the left of the target block and the second block adjacent to the upper side cannot be used, at least one of the first reference line on the upper side and the second reference line on the left side can be selected as a preset reference line.

[0162] Referring to Fig. 10, when one reference line is used as an upper and left reference line for a target block, it is first checked whether there is a left block that is adjacent to the target block in a straight line (step S1000).

[0163] Here, it is confirmed that the left block is located in a straight line adjacent to the target block and is encoded using the intra prediction method.

[0164] If a left block exists, the reference line of the left block is designated as a representative reference line (step S1010).

[0165] If the left block does not exist, it is checked whether there is an upper block that is directly adjacent to the target block (step S1020).

[0166] Here, it is confirmed that the upper block is located in a straight line adjacent to the target block and is encoded using the intra prediction method.

[0167] As a result of the verification, if an upper block exists, the reference line of the upper block is designated as a representative reference line (step S1030).

[0168] Meanwhile, if the upper block does not exist, the reference line "0" is designated as the representative reference line (step S1040).

[0169] In the above, it has been described as an example that the reference line "0" is designated as the representative reference line when neither the left block nor the upper block exists, but the present invention is not limited thereto, and a reference line at a preset position (default reference line) may also be designated as the representative reference line.

[0170] Referring to Fig. 11, when separate upper reference lines and left reference lines are used for a target block, it is first checked whether there is a left block that is adjacent to the target block in a straight line (step S1100).

[0171] Here, it is confirmed that the left block is located in a straight line adjacent to the target block and is encoded using the intra prediction method.

[0172] If a left block exists, the reference line of the left block is designated as the representative upper reference line (T reference line) (step S1110).

[0173] If the left block does not exist, the reference line "0" is designated as the representative upper reference line (T reference line) (step S1120).

[0174] Next, it is checked whether there is an upper block that is directly adjacent to the target block (step S1130).

[0175] Here, it is confirmed that the upper block is located in a straight line adjacent to the target block and is encoded using the intra prediction method.

[0176] As a result of the verification, if an upper block exists, the reference line of the upper block is designated as the representative left reference line (L reference line) (step S1140).

[0177] Meanwhile, if the upper block does not exist, the reference line "0" is designated as the representative left reference line (L reference line) (step S1150).

[0178] In the above, it has been described as an example that the "0" reference line is designated as the representative upper reference line or the representative left reference line when the left block or the upper block does not exist, but the present invention is not limited thereto, and in addition, a reference line at a preset position (default reference line) may be designated as the representative upper reference line or the representative left reference line.

[0179] And a flag may be signaled indicating whether the reference line of the target block matches the representative reference line specified as above.

[0180] Hereinafter, an example is described in which five reference lines are used, but the present invention is not limited thereto, and four or fewer or six or more reference lines may be used for intra prediction.

[0181] Referring to Fig. 12, a flag value (ref_idx_flag) indicating whether it matches the representative reference line is parsed, and it is checked whether the flag value (ref_idx_flag) is “true” (step S1200).

[0182] If the flag value (ref_idx_flag) is "true", the representative reference line is designated as the reference line for the target block (step S1210).

[0183] If the flag value (ref_idx_flag) is "false", the reference line of the target block is designated according to the index value (remainder_ref_idx) among the four reference lines excluding the representative reference line (step S1220).

[0184] Referring to Table 8 below, if the flag value (ref_idx_flag) is "true (1)", the designated representative reference line can be designated as the reference line for the target block without separate index value parsing.

[0185] Conversely, if the flag value (ref_idx_flag) is "false (0)", a separate index value (remainder_ref_idx) is parsed, and the reference line corresponding to the index value can be designated as the reference line for the target block.

[0186]

[0187] In this case, the remaining four reference lines, excluding the representative reference line, can be arranged in the order of their proximity to the target block.

[0188] Additionally, when separate upper reference lines and left reference lines are used for the target block, separate flag values ​​(ref_idx_flag) may be transmitted for the upper reference line and left reference line so that reference line designation as described above can be performed respectively.

[0189]

[0190] According to another embodiment of the present invention, a candidate list including a plurality of reference lines is constructed, and a reference line for a target block can be selected from the candidate list.

[0191] In this case, the priority of reference lines entered into the candidate list can be managed using information about surrounding blocks.

[0192] That is, reference lines used in one or more surrounding blocks adjacent to the target block to the left, upper, upper left, upper right, and lower left can be added to the candidate list for reference lines of the target block.

[0193] In this case, the search for surrounding blocks is performed in a predetermined order, and it is confirmed that the surrounding block represents a block containing a specific pixel value determined based on the target block, and that the surrounding block is encoded using an intra prediction method.

[0194] Additionally, duplicate reference lines that have already been added to the candidate list may not be added again.

[0195] For example, reference lines may be added to the candidate list in the following order: a reference line of one of the first block adjacent to the left of the target block and the second block adjacent to the upper side of the target block, a reference line of the other of the first and second blocks, a reference line of the third block adjacent to the upper left of the target block, a reference line of the fourth block adjacent to the upper right of the target block, and a reference line of the fifth block adjacent to the lower left of the target block.

[0196] In the case illustrated in FIG. 9, the candidate list for the target block, block 11, includes, in order, the reference line of block 10, which is the left block, the reference line of block 4, which is the upper block, the reference line of block 3, which is the upper left block, the reference line of block 6, which is the upper right block, and the reference line of block 12, which is the lower left block.

[0197] The remaining reference lines, excluding the already input reference lines, can be input in the order adjacent to the target block. Here, the positions of the left, upper, upper-left, upper-right, and lower-left blocks are determined as blocks containing specific pixel values ​​based on the target block.

[0198] Referring to Fig. 13, it is confirmed whether there is a left block adjacent to the left of the target block (step S1300).

[0199] Here, it is confirmed that the left block is located in a straight line adjacent to the target block and is encoded using the intra prediction method.

[0200] If a left block exists, the reference line of the left block is added to the candidate list (step S1310).

[0201] Next, it is checked whether there is an upper block adjacent to the target block (step S1320).

[0202] Here, it is confirmed that the upper block is located in a straight line adjacent to the target block and is encoded using the intra prediction method.

[0203] If an upper block exists, a reference line of the upper block is added to the candidate list (step S1330).

[0204] After that, the remaining reference lines, excluding the reference lines added in steps S1310 and S1330, are added to the candidate list (step S1340).

[0205] Between steps S1330 and S1340, a reference line of an upper left block adjacent to the target block to the upper left may be added to the candidate list.

[0206] Meanwhile, the remaining reference lines added in step S1330 can be added to the candidate list in the order in which they are adjacent to the target block.

[0207] In the method of constructing a candidate list as described with reference to FIG. 13, the reference line of the upper block may be added to the candidate list before the reference line of the left block.

[0208] Here, the order in which the reference lines of the left block and the upper block are added to the candidate list can be determined based on at least one of the position, shape (square, horizontal / vertical rectangle, etc.), and size (width, height) of the target block.

[0209] Additionally, when constructing a candidate list, reference lines of surrounding blocks adjacent to the target block to the upper left, upper right, and lower left may not be considered separately.

[0210] In the case illustrated in FIG. 9, for example, when five reference lines are used, reference line 2, which is the reference line of block 10 on the left, is input into the candidate list of block 11, which is the target block, and reference line 4, which is the reference line of block 4 on the upper side, is input, and then the remaining reference lines 0, 1, and 3 can be input sequentially.

[0211] In this case, the candidate list for the reference line of the target block may be composed of {2, 4, 0, 1, 3}, and a reference line index value (ref_idx) corresponding to the reference line used in the target block among the candidate list may be transmitted.

[0212] Meanwhile, the reference line index value (ref_idx) can be binarized and transmitted in the truncated rice (TR) manner.

[0213] For example, as shown in Table 9 below, when the reference line index value (ref_idx) is binarized in adjacent order from the target block, the binarized reference line index value (ref_idx) for reference line 2 is “110” and 3 bits are transmitted.

[0214]

[0215] In contrast, as shown in Table 10 below, if the reference line index values ​​(ref_idx) are binarized in order of high probability of being used as reference lines of the target block, the binarized reference line index value (ref_idx) for reference line 2 can be transmitted as “0”, i.e., 1 bit.

[0216]

[0217] Therefore, by binarizing the reference line index values ​​(ref_idx) included in the candidate list in the order of high probability of being used as reference lines of the target block, the bits transmitted for selecting reference lines can be reduced.

[0218] The method for selecting a reference line for intra prediction as described above can be performed for each of the luma block and the chroma block.

[0219] According to another embodiment of the present invention, a reference line for a target block can be transmitted by giving priority to a reference line that is closest to the target block to be encoded among a plurality of reference lines.

[0220] In this case, a flag (intra_luma_0_ref_idx_flag) may be signaled indicating whether the reference line 0 closest to the target block is used as the reference line of the target block.

[0221] Referring to Table 11 below, if the flag value (intra_luma_0_ref_idx_flag) is “true”, reference line 0 is designated as the reference line of the target block without a separate index value. On the other hand, if the flag value is “false”, the reference line of the target block is designated according to the index value among the reference lines excluding reference line 0.

[0222]

[0223] In the above, the reference line having the highest probability of being used as the reference line of the target block is described as an example in which the number "0" is designated, but the present invention is not limited thereto, and in addition, a separate flag may be set for a reference line at a preset position (default reference line) to designate whether the reference line is used as the reference line of the target block.

[0224]

[0225] According to another embodiment of the present invention, a reference line for a chrominance block may be selected using a reference line of a corresponding luminance block.

[0226] For example, if the target block is a chrominance block, the reference line for the chrominance block can be selected using the reference line of the luminance block corresponding to the chrominance block, depending on the format of the image.

[0227] Specifically, when the image is in YUV420 format, if reference line 0 or 1 is used in the luminance block, the chrominance block corresponding to the luminance block can use reference line 0, and if reference line 2 or 3 is used in the luminance block, the corresponding chrominance block can use reference line 1.

[0228] If the format of the image is one of YUV411, YUV422, and YUV444, the same reference line used in the luminance block may also be used in the chrominance block corresponding to the luminance block.

[0229] This takes into account the fact that the location of the chrominance block corresponding to the luminance block varies depending on the video format.

[0230] As described above, when selecting a reference line for a chrominance block using a reference line of a luminance block, there may be no need to transmit reference line information for the chrominance block.

[0231] Alternatively, by always using the reference line 0 as the reference line for the chrominance block and selecting the reference line for the chrominance block using the reference line of the luminance block, the accuracy of intra prediction for the chrominance block can be improved.

[0232] Meanwhile, a coding tree unit (CTU) has a fixed size (e.g., 64x64 or 128x128), and for a target block located at the upper boundary, which is the upper edge of the coding tree unit (CTU), an upper reference line does not exist within the same coding tree unit (CTU), and for a target block located at the left boundary, which is the left edge of the coding tree unit (CTU), a left reference line does not exist within the same coding tree unit (CTU).

[0233] In the case illustrated in FIG. 14, the upper reference lines of blocks 1, 4, and 5 located at the upper boundary of the current coding tree unit (CTU) exist outside the corresponding coding tree unit (CTU), and the left reference lines of blocks 1, 2, 3, 7, and 12 located at the left boundary also exist outside the corresponding coding tree unit (CTU).

[0234] In this case, in order to use reference lines that exist outside the current coding tree unit (CTU), separate memory may be required to store the restored sample values ​​for the surrounding five coding tree units (CTUs).

[0235] According to one embodiment of the present invention to solve this problem, when a target block is located at the upper or left boundary of a coding tree unit (CTU), a reference line for the target block can be selected as a preset reference line.

[0236] For example, for blocks located at the upper or left boundary of a coding tree unit (CTU), the multiple reference line (MRL) function using multiple reference lines as described above may not be allowed and may be restricted to using only reference line 0.

[0237] As another example, for blocks located at the upper or left boundary of a coding tree unit (CTU), only some of the multiple reference lines (MRL) using the above-described multiple reference lines may be restricted to be used. For example, if a total of five reference lines are used, for blocks located at the upper or left boundary of a coding tree unit (CTU), only reference lines adjacent to the target block or a number less than a pre-specified number of five (e.g., two) may be used.

[0238] According to another embodiment of the present invention, when a target block is located at the upper or left border of a coding tree unit, only reference lines included in some of a first coding tree unit (CTU) adjacent to the upper left side of the coding tree unit (CTU) to which the target block belongs, a second coding tree unit (CTU) adjacent to the upper left side, a third coding tree unit (CTU) adjacent to the upper right side, a fourth coding tree unit (CTU) adjacent to the left side, and a fifth coding tree unit (CTU) adjacent to the lower left side may be allowed as reference lines for the target block.

[0239] In this case, the reference lines included in the remaining first to fifth coding tree units (CTUs) may be restricted to not be allowed as reference lines for the target block, or to only be allowed as reference lines for the target block if they are preset.

[0240] For example, for coding tree units (CTUs) located at (1), (2), and (4), only reference line 0 may be allowed as a reference line for the target block, and for coding tree units (CTUs) located at (3) and (5), reference lines may not be allowed as a reference line for the target block.

[0241] As another example, for coding tree units (CTUs) located at (1), (2), and (4), multiple reference lines (MRLs) for the target block may be allowed, and for coding tree units (CTUs) located at (3) and (5), multiple reference lines (MRLs) for the target block may not be allowed and only reference line 0 may be allowed.

[0242] As another example, multiple reference lines (MRLs) for the target block may be allowed for coding tree units (CTUs) located at (1), (2), and (4), and reference lines for the target block may not be allowed for coding tree units (CTUs) located at (3) and (5).

[0243] As another example, multiple reference lines (MRLs) for the target block may be allowed for all five surrounding coding tree units (CTUs).

[0244] Meanwhile, in the examples described above, the coding tree unit (CTU) located at (1) may be restricted from being allowed as a reference line for the target block, in which case the restored sample values ​​of the coding tree unit (CTU) located at (1) cannot be used for blocks located at the upper or left boundary of the current coding tree unit (CTU).

[0245]

[0246] The intra prediction method described with reference to FIGS. 6 to 14 can be performed by a video encoding device and a video decoding device according to an embodiment of the present invention, and can be performed, for example, by an intra / IBC prediction unit (161) of a video encoder (100) illustrated in FIG. 1 or an intra / IBC prediction unit (261) of a video decoder (200) illustrated in FIG. 4.

[0247]

[0248] The methods described herein may be performed by a processor of a video encoder or video decoder. Furthermore, the encoder may generate a bitstream that is decoded by a video signal processing method, and the bitstream generated by the encoder may be stored in a computer-readable, non-transitory storage medium (recording medium).

[0249] The embodiments of the present invention described above may be implemented through various means. For example, the embodiments of the present invention may be implemented using hardware, firmware, software, or a combination thereof.

[0250] Some embodiments may also be implemented in the form of a computer-executable storage medium containing computer-executable instructions, such as program modules executed by a computer. Computer-readable media may be any available media that can be accessed by a computer, and includes both volatile and nonvolatile media, removable and non-removable media.

[0251] Additionally, computer-readable media may include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storing information, such as computer-readable instructions, data structures, program modules, or other data. Communication media typically includes other data, such as computer-readable instructions, data structures, or program modules, in a modulated data signal, or other transport mechanism, and includes any information delivery media.

[0252] In addition, although the preferred embodiments of the present invention have been illustrated and described above, the present invention is not limited to the specific embodiments described above, and various modifications can be made by a person having ordinary skill in the art to which the invention pertains without departing from the gist of the present invention as claimed in the claims, and such modifications should not be understood individually from the technical idea or prospect of the present invention.

Claims

1. A method for performing intra prediction using multiple reference lines, A step of selecting a first reference line on the upper side and a second reference line on the left side among a plurality of reference lines consisting of reference samples adjacent to the target block; and An intra prediction method comprising: a step of generating a prediction block for the target block using reference samples belonging to at least one of the first and second reference lines selected above; 2. In paragraph 1, An intra prediction method in which an index value is specified for each of the first and second reference lines.

3. In paragraph 1, The above first reference line is selected as the upper reference line of the first block adjacent to the left of the target block, An intra prediction method in which the second reference line is selected as the left reference line of the second block adjacent to the upper side of the target block.

4. In paragraph 3, If the above first and second reference lines are the same, The above first and second reference lines An intra prediction method in which the first block is selected with priority over the second block.

5. In paragraph 3, An intra prediction method in which at least one of the first and second reference lines is selected as a preset reference line when at least one of the first and second blocks does not exist.

6. In paragraph 1, Further comprising a step of constructing a candidate list including the plurality of reference lines; An intra prediction method in which a reference line of one of a first block adjacent to the left of the target block and a second block adjacent to the upper side of the target block, a reference line of another of the first and second blocks, and a reference line of a third block adjacent to the upper left of the target block are added to the candidate list in that order.

7. In paragraph 1, If the target block above is a chroma block, The reference line for the above color difference block is An intra prediction method selected using a reference line of a luminance block corresponding to the chrominance block, depending on the format of the image.

8. In paragraph 1, If the target block is located on the upper or left boundary of the coding tree unit (CTU), An intra prediction method in which a reference line for the above target block is selected as a preset reference line.

9. In paragraph 1, If the target block is located on the upper or left border of the coding tree unit, An intra prediction method in which only reference lines included in some of the first coding tree unit adjacent to the upper left, the second coding tree unit adjacent to the upper right, the third coding tree unit adjacent to the upper left, the fourth coding tree unit adjacent to the left, and the fifth coding tree unit adjacent to the lower left of the coding tree unit to which the target block belongs are allowed as reference lines for the target block.

10. In paragraph 9, For the reference lines included in the remaining of the first to fifth coding tree units, An intra prediction method in which reference lines for the target block are not allowed, or only preset reference lines are allowed as reference lines for the target block.

11. An image encoding device performing the method of any one of claims 1 to 10.

12. In paragraph 11, A video encoding device that transmits a flag indicating that the first reference line on the upper side and the second reference line on the left side can be selected separately and an index value for each of the first and second reference lines by inserting the flag into the bitstream as HLS (High-Level Syntax).

13. An image decoding device performing the method of any one of claims 1 to 10.

14. In paragraph 13, A video decoding device that selects the first and second reference lines by parsing index values ​​for each of the first and second reference lines from the bitstream, when a flag included in the bitstream as HLS (High-Level Syntax) indicates that the first reference line on the upper side and the second reference line on the left side can be selected separately.

Citation Information

Patent Citations

  • Automatic fish cake fryer through prefabricated heater block

    KR102464495B1

  • Image decoding method and device in an image coding system, image encoding method and device

    KR102476277B1

  • Method and apparatus for encoding / decoding image, recording medium for stroing bitstream

    KR102540171B1

  • Method for enhancing object detecting performance using reverse tracking and object tracking device therefor

    KR102593676B1

  • KR20210016472A

Cited By

  • Encoding method, decoding method, encoder, decoder, storage medium, and bitstream

    WO2026143740A1