WO2020171673A1 - Video signal processing method and apparatus for intra prediction - Google Patents

Video signal processing method and apparatus for intra prediction Download PDF

Info

Publication number
WO2020171673A1
WO2020171673A1 PCT/KR2020/002635 KR2020002635W WO2020171673A1 WO 2020171673 A1 WO2020171673 A1 WO 2020171673A1 KR 2020002635 W KR2020002635 W KR 2020002635W WO 2020171673 A1 WO2020171673 A1 WO 2020171673A1
Authority
WO
WIPO (PCT)
Prior art keywords
intra prediction
mode
mpm
current block
candidate list
Prior art date
Application number
PCT/KR2020/002635
Other languages
French (fr)
Korean (ko)
Inventor
허진
유선미
이령
최장원
최정아
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Publication of WO2020171673A1 publication Critical patent/WO2020171673A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • Embodiments of the present specification relate to a video/video compression coding system, and more particularly, to a method and apparatus for performing intra prediction in an encoding/decoding process of a video signal.
  • Compression coding refers to a series of signal processing techniques for transmitting digitized information through a communication line or storing it in a format suitable for a storage medium.
  • Media such as video, image, and audio may be subject to compression encoding.
  • a technique for performing compression encoding on an image is referred to as video image compression.
  • Next-generation video content will be characterized by high spatial resolution, high frame rate, and high dimensionality of scene representation. In order to process such content, it will bring a tremendous increase in terms of memory storage, memory access rate, and processing power.
  • Intra prediction is a method of performing prediction by referring to reconstructed samples around a current block to be encoded/decoded in a current picture.
  • a new intra prediction method and addition/extension of an intra prediction mode are being discussed.
  • An embodiment of the present specification provides a method and apparatus for reducing the amount of data and processing time required for constructing a most probable (MPM) candidate list in a process of encoding/decoding information for intra prediction.
  • MPM most probable
  • Embodiments of the present specification provide a method and apparatus for processing a video signal for intra prediction.
  • a video signal encoding method includes generating a most probable mode (MPM) candidate list based on a prediction mode of at least one neighboring block adjacent to a current block, and based on the intra prediction type. Changing the MPM candidate list by removing at least one mode from the MPM candidate list; and an intra prediction mode of the current block derived based on a rate-distortion rate from the MPM candidate list; and Determining a related MPM index, and encoding intra prediction information including information on the MPM index and the intra prediction type.
  • MPM most probable mode
  • the intra prediction type is a first type in which a reference sample located in a line adjacent to the current block is used, and the current block is not divided, and a reference sample located in a line separated by 2 sample distances or more from the current block. It may correspond to one of the used second type or a third type in which the reference sample located in a line adjacent to the current block is used and the current block is divided by an intra subpartition.
  • the planar mode and the DC mode may be removed from the MPM candidate list.
  • the DC mode when the intra prediction type corresponds to the third type, the DC mode may be removed from the MPM candidate list.
  • the planar mode may be removed from the MPM candidate list.
  • the intra prediction information further includes ISP direction information related to a division direction of the current block when the intra prediction type corresponds to a third type, and the intra prediction mode is horizontal direction division in the MPM candidate list. It may be a mode having a smaller rate-distortion cost among the modes determined for the and vertical division.
  • a method of decoding a video signal includes obtaining intra prediction information of a current block to which the intra prediction is applied, wherein the intra prediction information includes information on an intra prediction type of the current block and MPM Including an index, generating an MPM candidate list based on a prediction mode of at least one neighboring block adjacent to the current block, and by removing at least one mode from the MPM candidate list based on the intra prediction type.
  • Changing an MPM candidate list, determining an intra prediction mode related to the MPM index from the MPM candidate list, and generating a prediction sample of the current block based on the intra prediction mode and a reference sample in the current picture Includes steps.
  • the intra prediction type is a first type in which a reference sample located in a line adjacent to the current block is used, and the current block is not divided, and a reference sample located in a line separated by 2 sample distances or more from the current block. It may correspond to one of the used second type or a third type in which the reference sample located in a line adjacent to the current block is used and the current block is divided by an intra subpartition.
  • the planar mode and the DC mode may be removed from the MPM candidate list.
  • the DC mode when the intra prediction type corresponds to the third type, the DC mode may be removed from the MPM candidate list.
  • the planar mode may be removed from the MPM candidate list.
  • the intra prediction information may further include ISP direction information related to a division direction of the current block when the intra prediction type corresponds to a third type.
  • An encoding apparatus includes a memory for storing the video signal, and a processor coupled to the memory and processing the video signal.
  • the processor generates an MPM candidate list based on a prediction mode of at least one neighboring block adjacent to a current block, and removes at least one mode from the MPM candidate list based on an intra prediction type of the current block.
  • Intra including the MPM index and information on the intra prediction type by changing a candidate list and determining an MPM index related to an intra prediction mode of the current block derived based on a rate-distortion cost from the MPM candidate list It is set to encode prediction information.
  • a decoding apparatus includes a memory storing the video signal, and a processor coupled to the memory and processing the video signal.
  • the processor obtains intra prediction information of a current block to which the intra prediction is applied, wherein the intra prediction information includes information on an intra prediction type of the current block and a most probable mode (MPM) index, and the current Generate an MPM candidate list based on prediction modes of at least one neighboring block adjacent to the block, and change the MPM candidate list by removing at least one mode from the MPM candidate list based on the intra prediction type, and the MPM It is configured to determine an intra prediction mode related to the MPM index from a candidate list, and to generate a prediction sample of the current block based on the intra prediction mode and a reference sample in the current picture.
  • MPM most probable mode
  • An embodiment of the present specification provides a non-transitory computer-readable medium storing one or more instructions.
  • the one or more instructions executed by one or more processors generate a most probable mode (MPM) candidate list based on a prediction mode of at least one neighboring block adjacent to the current block, and the intra
  • the MPM candidate list is changed by removing at least one mode from the MPM candidate list based on a prediction type, and an intra of the current block derived based on a rate-distortion rate from the MPM candidate list
  • a video signal processing apparatus is controlled to determine an MPM index related to a prediction mode and encode intra prediction information including information on the MPM index and the intra prediction type.
  • the one or more instructions executed by one or more processors obtain intra prediction information including information on an intra prediction type of a current block and an MPM index, and at least one adjacent to the current block Generate an MPM candidate list based on a prediction mode of a neighboring block, and change the MPM candidate list by removing at least one mode from the MPM candidate list based on the intra prediction type, and the MPM index in the MPM candidate list
  • a video signal processing apparatus is controlled to determine an intra prediction mode related to the intra prediction mode, and to generate a prediction sample of the current block based on the intra prediction mode and a reference sample in the current picture.
  • the encoding/decoding structure of intra prediction information After generating the same MPM candidate list for various intra prediction types, by changing the MPM candidate list so that unusable MPM candidates are removed according to the intra prediction type, the encoding/decoding structure of intra prediction information It can simplify, and reduce the amount of data and computational complexity required for intra prediction.
  • FIG. 1 shows an example of an image coding system according to an embodiment of the present specification.
  • FIG. 2 shows an example of a schematic block diagram of an encoding apparatus in which encoding of a video signal is performed according to an embodiment of the present specification.
  • FIG. 3 shows an example of a schematic block diagram of a decoding apparatus for decoding an image signal according to an embodiment of the present specification.
  • FIG. 4 shows an example of a content streaming system according to an embodiment of the present specification.
  • FIG 5 shows an example of a video signal processing apparatus according to an embodiment of the present specification.
  • 6A to 6D illustrate examples of a block division structure according to an embodiment of the present specification.
  • FIG. 7 shows an example of a flowchart for encoding a picture constituting a video signal according to an embodiment of the present specification.
  • FIG. 8 shows an example of a flowchart for decoding a picture constituting a video signal according to an embodiment of the present specification.
  • FIG 9 shows an example of a flowchart for intra prediction in an encoding process of a video signal according to an embodiment of the present specification.
  • FIG. 10 illustrates an example of an intra prediction unit in an encoding device according to an embodiment of the present specification.
  • FIG. 11 shows an example of a flowchart for intra prediction in a process of decoding a video signal according to an embodiment of the present specification.
  • FIG. 12 illustrates an example of an intra prediction unit in a decoding apparatus according to an embodiment of the present specification.
  • FIG. 13 shows an example of a flowchart for encoding intra prediction information in a process of encoding a video signal according to an embodiment of the present specification.
  • FIG. 14 shows an example of a flowchart for decoding intra prediction information in a process of decoding a video signal according to an embodiment of the present specification.
  • FIG. 15 illustrates an example of a flowchart for determining an intra prediction mode in a process of decoding a video signal according to an embodiment of the present specification.
  • 16 illustrates an example of 33 directional intra prediction modes according to an embodiment of the present specification.
  • 17 illustrates an example of 65 directional intra prediction modes according to an embodiment of the present specification.
  • MCM most probable mode
  • FIG 19 shows examples of reference samples taking into account multi-reference line (MRL) intra prediction according to an embodiment of the present specification.
  • MRL multi-reference line
  • FIGS 20A and 20B illustrate an example of block division according to an intra sub-partition (ISP) according to an embodiment of the present specification.
  • ISP intra sub-partition
  • FIG. 21 is a diagram for explaining a multiple direct mode (DM) for intra prediction of a chroma block according to an embodiment of the present specification.
  • DM multiple direct mode
  • CCLM cross-component linear model
  • 23A to 23C illustrate examples of a method of configuring a most probable mode (MPM) candidate list based on an intra prediction type according to an embodiment of the present specification.
  • MPM most probable mode
  • 24A to 24C illustrate another example of a method of constructing an MPM candidate list based on an intra prediction type according to an embodiment of the present specification.
  • 25 illustrates an example of a flowchart for intra prediction in an encoding process of a video signal according to an embodiment of the present specification.
  • 26 shows an example of a flowchart for intra prediction in a process of decoding a video signal according to an embodiment of the present specification.
  • a'processing unit' means a unit in which an encoding/decoding process such as prediction, transformation, and/or quantization is performed.
  • the processing unit may be interpreted as including a unit for a luma component and a unit for a chroma component.
  • the processing unit may correspond to a block, a coding unit (CU), a prediction unit (PU), or a transform unit (TU).
  • the processing unit may be interpreted as a unit for a luminance component or a unit for a color difference component.
  • the processing unit may correspond to a coding tree block (CTB), a coding block (CB), a PU, or a transform block (TB) for a luminance component.
  • the processing unit may correspond to CTB, CB, PU or TB for the color difference component.
  • the present invention is not limited thereto, and the processing unit may be interpreted as including a unit for a luminance component and a unit for a color difference component.
  • processing unit is not necessarily limited to a square block, and may be configured in a polygonal shape having three or more vertices.
  • pixels or pixels are collectively referred to as samples.
  • using a sample may mean using a pixel value or a pixel value.
  • the image coding system may include a source device 10 and a reception device 20.
  • the source device 10 may transmit the encoded video/video information or data in a file or streaming format to the receiving device 20 through a digital storage medium or a network.
  • the source device 10 may include a video source 11, an encoding device 12, and a transmitter 13.
  • the receiving device 20 may include a receiver 21, a decoding device 22 and a renderer 23.
  • the encoding device 12 may be referred to as a video/image encoding device, and the decoding device 22 may be referred to as a video/image decoding device.
  • the transmitter 13 may be included in the encoding device 12.
  • the receiver 21 may be included in the decoding device 22.
  • the renderer 23 may include a display unit, and the display unit may be configured as a separate device or an external component.
  • the video source 11 may acquire a video/image through a process of capturing, synthesizing, or generating a video/image.
  • the video source 11 may include a video/image capturing device and/or a video/image generating device.
  • the video/image capturing device may include, for example, one or more cameras, and a video/image archive including previously captured video/images.
  • Video/image generating devices may include, for example, computers, tablets and smartphones, and may (electronically) generate video/images.
  • a virtual video/image may be generated through a computer, and in this case, a video/image capturing process may be substituted as a process of generating related data.
  • the encoding device 12 may encode an input video/video.
  • the encoding apparatus 12 may perform a series of procedures such as prediction, transformation, and quantization for compression and coding efficiency.
  • the encoded data (encoded video/video information) may be output in the form of a bitstream.
  • the transmitter 13 may transmit the encoded video/video information or data output in the form of a bitstream to the receiver 21 of the receiving device 20 through a digital storage medium or a network in a file or streaming form.
  • Digital storage media include USB (universal serial bus), SD card (secure digital card), CD (compact disc), DVD (digital versatile disc), Blu-ray disc, HDD (hard disk drive), SSD (solid state drive) may include a variety of storage media.
  • the transmitter 13 may include an element for generating a media file through a predetermined file format, and may include an element for transmission through a broadcast/communication network.
  • the receiver 21 may extract the bitstream and transmit it to the decoding device 22.
  • the decoding device 22 may decode the video/video by performing a series of procedures such as inverse quantization, inverse transformation, and prediction corresponding to the operation of the encoding device 12.
  • the renderer 23 may render the decoded video/image.
  • the rendered video/image may be displayed through the display unit.
  • FIG. 2 shows an example of a schematic block diagram of an encoding apparatus in which encoding of a video signal is performed according to an embodiment of the present specification.
  • the encoding device 100 of FIG. 2 may correspond to the encoding device 12 of FIG. 1.
  • the image partitioning module 110 may divide an input image (or picture, frame) input to the encoding apparatus 100 into one or more processing units.
  • the processing unit may be referred to as a coding unit (CU).
  • the coding unit may be recursively partitioned from a coding tree unit (CTU) or a largest coding unit (LCU) according to a quad-tree binary-tree (QTBT) structure.
  • CTU coding tree unit
  • LCU largest coding unit
  • QTBT quad-tree binary-tree
  • one coding unit may be divided into a plurality of coding units of a deeper depth based on a quad tree structure and/or a binary tree structure.
  • a quad tree structure may be applied first and a binary tree structure may be applied later.
  • the binary tree structure may be applied first.
  • a coding procedure according to an embodiment of the present specification may be performed based on a final coding unit that is no longer divided.
  • the maximum coding unit may be directly used as the final coding unit based on coding efficiency according to image characteristics.
  • the coding unit is recursively divided into coding units of a lower depth, so that a coding unit having an optimal size may be used as a final coding unit.
  • the coding procedure may include procedures such as prediction, transformation, and restoration described below.
  • the processing unit may further include a prediction unit (PU) or a transform unit (TU).
  • the prediction unit and the transform unit may be divided from the above-described coding units, respectively.
  • the prediction unit may be a unit of sample prediction
  • the transform unit may be a unit for inducing a transform coefficient or a unit for inducing a residual signal from the transform coefficient.
  • the term "unit” used in this document may be used interchangeably with terms such as "block” or "area” in some cases.
  • the MxN block may represent a set of samples or transform coefficients consisting of M columns and N rows.
  • a sample may generally represent a pixel or a value of a pixel, may represent a pixel/pixel value of a luminance component, or a pixel/pixel value of a saturation component.
  • a sample may be used as a term corresponding to one picture (or image) as a pixel or pel.
  • the encoding apparatus 100 includes a prediction signal (predicted block) output from an inter prediction module 180 or an intra prediction module 185 from an input video signal (original block, original sample array). , Predictive sample array), a residual signal (residual signal, residual block, residual sample array) may be generated. The generated residual signal is transmitted to the conversion unit 120.
  • a unit that subtracts a prediction signal (prediction block, prediction sample array) from an input video signal (original block, original sample array) in the encoding apparatus 100 is used as a subtraction module 115. May be referred to.
  • the prediction unit may perform prediction on a block to be processed (hereinafter, referred to as a current block) and generate a predicted block including prediction samples for the current block.
  • the prediction module may determine whether intra prediction or inter prediction is applied on a per CU basis.
  • the prediction unit may generate information about prediction, such as prediction mode information, as described later in the description of each prediction mode, and may transmit information about prediction to the entropy encoding unit 190.
  • Information about prediction is encoded by the entropy encoding unit 190 and may be output in the form of a bitstream.
  • the intra prediction unit 185 may predict the current block by referring to samples in the current picture.
  • the referenced samples may be located in the vicinity of the current block or may be located away from each other according to the prediction mode.
  • prediction modes may include a plurality of non-directional modes and a plurality of directional modes.
  • the non-directional mode may include, for example, a DC mode and a planar mode (Planar mode).
  • the directional mode may include, for example, 33 directional prediction modes or 65 directional prediction modes according to a detailed degree of the prediction direction. However, this is an example, and more or less directional prediction modes may be used depending on the setting.
  • the intra prediction unit 185 may determine a prediction mode applied to the current block by using the prediction mode applied to the neighboring block.
  • the inter prediction unit 180 may derive a predicted block for the current block based on a reference block (reference sample array) specified by a motion vector on the reference picture.
  • the inter prediction unit 180 may predict motion information in units of blocks, subblocks, or samples based on the correlation between motion information between neighboring blocks and the current block.
  • the motion information may include a motion vector and a reference picture index.
  • the motion information may further include inter prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.) information.
  • the neighboring block may include a spatial neighboring block existing in the current picture and a temporal neighboring block existing in the reference picture.
  • the reference picture including the reference block and the reference picture including the temporal neighboring block may be the same or different.
  • the temporal neighboring block may be referred to as a collocated reference block or a colCU (colCU), and a reference picture including the temporal neighboring block may be referred to as a collocated picture (colPic).
  • the inter prediction unit 180 constructs a motion information candidate list based on motion information of neighboring blocks, and indicates which candidate is used to derive a motion vector and/or a reference picture index of the current block. Can generate information. Inter prediction may be performed based on various prediction modes. For example, when a skip mode and a merge mode are used, the inter prediction unit 180 may use motion information of a neighboring block as motion information of a current block.
  • a residual signal is not transmitted.
  • MVP motion vector prediction
  • MVD motion vector difference
  • the prediction signal generated by the inter prediction unit 180 or the intra prediction unit 185 may be used to generate a reconstructed signal or may be used to generate a residual signal.
  • the transform module 120 may generate transform coefficients by applying a transform technique to the residual signal.
  • the transformation technique uses at least one of DCT (Discrete Cosine Transform), DST (Discrete Sine Transform), KLT (Karhunen-Loeve Transform), GBT (Graph-Based Transform), or CNT (Conditionally Non-linear Transform).
  • DCT Discrete Cosine Transform
  • DST Discrete Sine Transform
  • KLT Kerhunen-Loeve Transform
  • GBT Graph-Based Transform
  • CNT Supplementally Non-linear Transform
  • GBT refers to transformation obtained from a graph representing relationship information between pixels.
  • CNT refers to a transformation obtained based on the prediction signal and generating a prediction signal using all previously reconstructed pixels.
  • the conversion process may be applied to a pixel block having the same size of a square, or may be applied to a block that is not a square or has a variable size.
  • the quantization module 130 quantizes the transform coefficients and transmits the quantized transform coefficients to the entropy encoding module 190.
  • the entropy encoding unit 190 may encode a quantized signal (information on quantized transform coefficients) and output it as a bitstream. Information about the quantized transform coefficients may be referred to as residual information.
  • the quantization unit 130 may rearrange the quantized transform coefficients in a block form into a one-dimensional vector form based on a coefficient scan order, and quantize the quantized transform coefficients based on the characteristics of the quantized transform coefficients in a one-dimensional vector form. It is also possible to generate information about transform coefficients.
  • the entropy encoding unit 190 may perform various encoding techniques such as exponential Golomb, context-adaptive variable length coding (CAVLC), and context-adaptive binary arithmetic coding (CABAC).
  • the entropy encoding unit 190 may encode information necessary for video/image restoration (eg, values of syntax elements) in addition to quantized transform coefficients together or separately.
  • the encoded information (eg, video/video information) may be transmitted or stored in a bitstream format in units of network abstraction layer (NAL) units.
  • NAL network abstraction layer
  • the bitstream may be transmitted over a network or may be stored in a digital storage medium.
  • the network may include a broadcasting network and/or a communication network
  • the digital storage medium may include a storage medium such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD.
  • a transmission unit (not shown) for transmitting and/or a storage unit (not shown) for storing may be configured as internal/external elements of the encoding apparatus 100, or the transmission unit It may be a component of the entropy encoding unit 190.
  • the quantized transform coefficients output from the quantization unit 130 may be used to generate a reconstructed signal.
  • a residual signal can be restored by applying inverse quantization and inverse transform through the inverse quantization module 140 and the inverse transform module 150 in the loop for the quantized transform coefficients. have.
  • the addition module 155 adds the reconstructed residual signal to the prediction signal output from the inter prediction unit 180 or the intra prediction unit 185 to provide a reconstructed signal (reconstructed picture, a reconstructed block, and Sample array).
  • the predicted block may be used as a reconstructed block.
  • the addition unit 155 may be referred to as a restoration unit or a restoration block generation unit.
  • the generated reconstructed signal may be used for intra prediction of the next processing target block in the current picture, and may be used for inter prediction of the next picture through filtering as described later.
  • the filtering module 160 may improve subjective/objective image quality by applying filtering to the reconstructed signal.
  • the filtering unit 160 may apply various filtering methods to the reconstructed picture to generate a modified reconstructed picture, and may transmit the modified reconstructed picture to the decoded picture buffer 170.
  • Various filtering methods may include, for example, deblocking filtering, sample adaptive offset (SAO), adaptive loop filter (ALF), and bilateral filter.
  • the filtering unit 160 may generate filtering information and transmit the filtering information to the entropy encoding unit 190 as described later in the description of each filtering method.
  • the filtering information may be output in the form of a bitstream through entropy encoding in the entropy encoding unit 190.
  • the modified reconstructed picture transmitted to the decoded picture buffer (DBP) 170 may be used as a reference picture in the inter prediction unit 180.
  • the encoding apparatus 100 may avoid prediction mismatch between the encoding apparatus 100 and the decoding apparatus 200 by using the modified reconstructed picture, and may improve encoding efficiency.
  • the decoded picture buffer 170 may store the modified reconstructed picture to be used as a reference picture in the inter prediction unit 180.
  • FIG. 3 shows an example of a schematic block diagram of a decoding apparatus for decoding an image signal according to an embodiment of the present specification.
  • the decoding device 200 of FIG. 3 may correspond to the decoding device 22 of FIG. 1.
  • the decoding apparatus 200 includes an entropy decoding module 210, a de-quantization module 220, an inverse transform module 230, and an adder. (addition module) 235, filtering module 240, decoded picture buffer (DPB) 250, inter prediction module 260, and intra prediction module 265 ) Can be included.
  • the inter prediction unit 260 and the intra prediction unit 265 may be collectively referred to as a prediction module. That is, the prediction unit may include an inter prediction unit 180 and an intra prediction unit 185.
  • the inverse quantization unit 220 and the inverse transform unit 230 may be collectively referred to as a residual processing module.
  • the residual processing unit may include an inverse quantization unit 220 and an inverse transform unit 230.
  • the entropy decoding unit 210, the inverse quantization unit 220, the inverse transform unit 230, the addition unit 235, the filtering unit 240, the inter prediction unit 260, and the intra prediction unit 265 are implemented. It may be configured by one hardware component (eg, a decoder or a processor) according to an example. Also, the decoded picture buffer 250 may be configured by one hardware component (eg, a memory or a digital storage medium) according to an embodiment.
  • the decoding apparatus 200 may reconstruct an image in response to a process in which the video/image information is processed by the encoding apparatus 100 of FIG. 2.
  • the decoding apparatus 200 may perform decoding using a processing unit applied by the encoding apparatus 100.
  • the processing unit may be a coding unit, for example, and the coding unit may be divided from a coding tree unit or a maximum coding unit along a quad tree structure and/or a binary tree structure.
  • the reconstructed image signal decoded and output through the decoding device 200 may be reproduced through the playback device.
  • the decoding apparatus 200 may receive a signal output from the encoding apparatus 100 of FIG. 2 in the form of a bitstream, and the received signal may be decoded through the entropy decoding unit 210.
  • the entropy decoding unit 210 may parse the bitstream to derive information (eg, video/video information) necessary for image restoration (or picture restoration).
  • the entropy decoding unit 210 acquires information in the bitstream using a coding technique such as exponential Golomb coding, CAVLC, or CABAC, and a value of a syntax element required for image restoration, and a quantized value of a transform coefficient for a residual Can be printed.
  • a bin corresponding to each syntax element is received in a bitstream, and information about the syntax element to be decoded and decoding information of a block to be decoded and a neighbor or a symbol/bin decoded in a previous step
  • the symbol corresponding to the value of each syntax element is determined by determining the context model using the information of, and performing arithmetic decoding of the bin by predicting the probability of occurrence of the bin according to the determined context model.
  • the CABAC entropy decoding method may update the context model using information of the decoded symbol/bin for the context model of the next symbol/bin after the context model is determined.
  • the entropy decoding unit 210 Among the information decoded by the entropy decoding unit 210, information on prediction is provided to the prediction unit (inter prediction unit 260 and intra prediction unit 265), and the register on which entropy decoding is performed by the entropy decoding unit 210 Dual values, that is, quantized transform coefficients and related parameter information may be input to the inverse quantization unit 220. In addition, information about filtering among information decoded by the entropy decoding unit 210 may be provided to the filtering unit 240. Meanwhile, a receiving unit (not shown) for receiving a signal output from the encoding device 100 may be further configured as an inner/outer element of the decoding device 200, or the receiving unit may be a component of the entropy decoding unit 210. May be.
  • the inverse quantization unit 220 may output transform coefficients through inverse quantization of the quantized transform coefficients.
  • the inverse quantization unit 220 may rearrange the quantized transform coefficients into a two-dimensional block shape. In this case, the reordering may be performed based on the coefficient scan order performed by the encoding apparatus 100.
  • the inverse quantization unit 220 may perform inverse quantization on quantized transform coefficients by using a quantization parameter (eg, quantization step size information) and obtain transform coefficients.
  • a quantization parameter eg, quantization step size information
  • the inverse transform unit 230 inversely transforms the transform coefficients to obtain a residual signal (residual block, residual sample array).
  • the prediction unit may perform prediction on the current block and generate a predicted block including prediction samples for the current block.
  • the prediction unit may determine whether intra prediction or inter prediction is applied to the current block based on information on prediction output from the entropy decoding unit 210, and may determine a specific intra/inter prediction mode.
  • the intra prediction unit 265 may predict the current block by referring to samples in the current picture.
  • the referenced samples may be located near the current block or may be spaced apart according to the prediction mode.
  • prediction modes may include a plurality of non-directional modes and a plurality of directional modes.
  • the intra prediction unit 265 may determine a prediction mode applied to the current block by using the prediction mode applied to the neighboring block.
  • the inter prediction unit 260 may derive a predicted block for the current block based on a reference block (reference sample array) specified by a motion vector on the reference picture.
  • motion information may be predicted in units of blocks, subblocks, or samples based on correlation between motion information between neighboring blocks and current blocks.
  • the motion information may include a motion vector and a reference picture index.
  • the motion information may further include inter prediction direction (L0 prediction, L1 prediction, Bi prediction) information.
  • the neighboring block may include a spatial neighboring block existing in the current picture and a temporal neighboring block existing in the reference picture.
  • the inter prediction unit 260 may construct a motion information candidate list based on neighboring blocks, and derive a motion vector and/or a reference picture index of the current block based on the received candidate selection information.
  • Inter prediction may be performed based on various prediction modes, and information on prediction may include information indicating a mode of inter prediction for a current block.
  • the addition unit 235 adds the obtained residual signal to the prediction signal (predicted block, prediction sample array) output from the inter prediction unit 260 or the intra prediction unit 265 to provide a reconstructed signal (a reconstructed picture, a reconstructed block).
  • a reconstructed signal (a reconstructed picture, a reconstructed block).
  • Restoration sample array) can be generated.
  • the addition unit 235 may be referred to as a restoration unit or a restoration block generation unit.
  • the generated reconstructed signal may be used for intra prediction of the next processing target block in the current picture, and may be used for inter prediction of the next picture through filtering as described later.
  • the filtering unit 240 may improve subjective/objective image quality by applying filtering to the reconstructed signal. For example, the filtering unit 240 may apply various filtering methods to the reconstructed picture to generate a modified reconstructed picture, and may transmit the modified reconstructed picture to the decoded picture buffer 250.
  • Various filtering methods may include, for example, deblocking filtering, sample adaptive offset, adaptive loop filter, and bilateral filter.
  • the modified reconstructed picture delivered to the decoded picture buffer 250 may be used as a reference picture by the inter prediction unit 260.
  • embodiments described in the filtering unit 160, the inter prediction unit 180, and the intra prediction unit 185 of the encoding apparatus 100 are respectively the filtering unit 240 and the inter prediction unit 260 of the decoding apparatus.
  • the intra prediction unit 265 may be applied to be the same or correspond to each other.
  • FIG. 4 shows an example of a content streaming system according to an embodiment of the present specification.
  • Content streaming systems to which the embodiments of the present specification are applied are largely an encoding server 410, a streaming server 420, a web server 430, and a media storage 440. ), a user equipment 450, and a multimedia input device 460.
  • the encoding server 410 generates a bitstream by compressing content input from a multimedia input device 460 such as a smartphone, a camera, or a camcorder into digital data, and transmits the generated bitstream to the streaming server 420.
  • a multimedia input device 460 such as a smartphone, a camera, or a camcorder
  • the encoding server 410 may be omitted.
  • the bitstream may be generated by an encoding method or a bitstream generation method to which an embodiment of the present specification is applied, and the streaming server 420 may temporarily store the bitstream while transmitting or receiving the bitstream.
  • the streaming server 420 transmits multimedia data to the user device 450 based on a user request through the web server 430, and the web server 430 serves as an intermediary that informs the user of what kind of service exists.
  • the web server 430 transmits information on the requested service to the streaming server 420, and the streaming server 420 transmits multimedia data to the user.
  • the content streaming system may include a separate control server, and in this case, the control server serves to control commands/responses between devices in the content streaming system.
  • the streaming server 420 may receive content from the media storage 440 and/or the encoding server 410. For example, when content is received from the encoding server 410, the content may be received in real time. In this case, in order to provide a smooth streaming service, the streaming server 420 may store the bitstream for a predetermined time.
  • the user device 450 includes, for example, a mobile phone, a smart phone, a laptop computer, a digital broadcasting terminal, a personal digital assistants (PDA), a portable multimedia player (PMP), a navigation system, and a slate PC ( slate PC), tablet PC, ultrabook, wearable device, e.g., smartwatch, smart glass, head mounted display (HMD)), It can include digital TV, desktop computer, and digital signage.
  • PDA personal digital assistants
  • PMP portable multimedia player
  • HMD head mounted display
  • Each server in the content streaming system may be operated as a distributed server, and in this case, data received from each server may be distributedly processed.
  • FIG. 5 shows an example of a video signal processing apparatus according to an embodiment of the present specification.
  • the video signal processing apparatus of FIG. 5 may correspond to the encoding apparatus 100 of FIG. 1 or the decoding apparatus 200 of FIG. 2.
  • the video signal processing apparatus 500 for processing a video signal includes a memory 520 for storing a video signal, and a processor 510 for processing a video signal while being combined with the memory 520.
  • the processor 510 may be configured with at least one processing circuit for processing a video signal, and may process a video signal by executing instructions for encoding/decoding a video signal. That is, the processor 510 may encode original video data or decode an encoded video signal by executing encoding/decoding methods described below.
  • the processor 510 for encoding a video signal, for encoding a video signal, based on a prediction mode of at least one neighboring block adjacent to the current block, the MPM ( most probable mode) a candidate list is generated, and the MPM candidate list is changed by removing at least one mode from the MPM candidate list based on the intra prediction type of the current block, and rate-distortion cost in the MPM candidate list It is configured to determine an MPM index related to an intra prediction mode of the current block derived based on the current block, and to encode intra prediction information including information on the MPM index and the intra prediction type.
  • the intra prediction type is a first type in which a reference sample located in a line adjacent to the current block is used, and the current block is not divided, and a reference sample located in a line separated by 2 sample distances or more from the current block. It may correspond to one of the used second type or a third type in which a reference sample located in a line adjacent to the current block is used and the current block is divided by an intra sub-partition (ISP).
  • ISP intra sub-partition
  • the planar mode and the DC mode may be removed from the MPM candidate list.
  • the DC mode when the intra prediction type corresponds to the third type, the DC mode may be removed from the MPM candidate list.
  • the planar mode may be removed from the MPM candidate list.
  • the intra prediction information further includes ISP direction information related to a division direction of the current block when the intra prediction type corresponds to a third type, and the intra prediction mode is horizontal direction division in the MPM candidate list. It may be a mode having a smaller rate-distortion cost among the modes determined for the and vertical division.
  • the processor 510 acquires intra prediction information of a current block to which the intra prediction is applied, for decoding a video signal, wherein the intra prediction information is the current Including information on the intra prediction type of a block and an MPM index, generating an MPM candidate list based on a prediction mode of at least one neighboring block adjacent to the current block, and in the MPM candidate list based on the intra prediction type Change the MPM candidate list by removing at least one mode, determine an intra prediction mode related to the MPM index from the MPM candidate list, and predict the current block based on the intra prediction mode and a reference sample in the current picture It is set up to generate samples.
  • the intra prediction type is a first type in which a reference sample located in a line adjacent to the current block is used, and the current block is not divided, and a reference sample located in a line separated by 2 sample distances or more from the current block. It may correspond to one of the used second type or a third type in which the reference sample located in a line adjacent to the current block is used and the current block is divided by an intra subpartition.
  • the planar mode and the DC mode may be removed from the MPM candidate list.
  • the DC mode when the intra prediction type corresponds to the third type, the DC mode may be removed from the MPM candidate list.
  • the planar mode may be removed from the MPM candidate list.
  • the intra prediction information may further include ISP direction information related to a division direction of the current block when the intra prediction type corresponds to a third type.
  • 6A to 6D illustrate examples of a block division structure according to an embodiment of the present specification.
  • 6A is a QT (quadtree, QT)
  • FIG. 6B is a binary tree (BT)
  • FIG. 6C is a ternary tree (TT)
  • FIG. 6D shows an example of block division structures by an asymmetric tree (AT). do.
  • one block may be divided based on a QT division scheme.
  • one subblock divided by the QT division method may be further divided recursively according to the QT division method.
  • a leaf block that is no longer divided by the QT division method may be divided by at least one of BT, TT, or AT.
  • BT can have two types of division, such as horizontal BT (2NxN, 2NxN) and vertical BT (Nx2N, Nx2N).
  • TT may have two types of divisions, such as horizontal TT (2Nx1/2N, 2NxN, 2Nx1/2N) and vertical TT (1/2Nx2N, Nx2N, 1/2Nx2N).
  • AT is horizontal-up AT (2Nx1/2N, 2Nx3/2N), horizontal-down AT (2Nx3/2N, 2Nx1/2N), vertical-left AT ( It can have four types of division: 1/2Nx2N, 3/2Nx2N), and vertical-right AT (3/2Nx2N, 1/2Nx2N).
  • Each BT, TT, AT can be further divided recursively using BT, TT, AT.
  • Block A may be divided into four sub-blocks (A0, A1, A2, A3) by QT.
  • Sub-block A1 may be divided into four sub-blocks (B0, B1, B2, B3) by QT again.
  • Block B3 that is no longer divided by QT may be divided by vertical BT (C0, C1) or horizontal BT (D0, D1). Like block C0, each sub-block may be further divided recursively in the form of horizontal BT (E0, E1) or vertical BT (F0, F1).
  • Block B3 which is no longer divided by QT may be divided into vertical TT (C0, C1, C2) or horizontal TT (D0, D1, D2). Like block C1, each sub-block may be further divided recursively in the form of horizontal TT (E0, E1, E2) or vertical TT (F0, F1, F2).
  • Block B3 which is no longer divided by QT, can be divided into vertical ATs (C0, C1) or horizontal ATs (D0, D1). Like block C1, each sub-block can be further divided recursively in the form of a horizontal AT (E0, E1) or a vertical TT (F0, F1).
  • BT, TT, and AT division can be applied together in one block.
  • a sub-block divided by BT may be divided by TT or AT.
  • sub-blocks divided by TT may be divided by BT or AT.
  • Sub-blocks divided by AT may be divided by BT or TT.
  • each sub-block may be divided by vertical BT.
  • each sub-block may be divided by horizontal BT. In this case, the order of division is different, but the shape of the final division is the same.
  • the order of searching for the block may be variously defined.
  • a search is performed from left to right and from top to bottom, and searching for a block means the order of determining whether to divide additional blocks of each divided sub-block, or if the block is no longer divided, each sub It may mean an encoding order of a block, or a search order when a subblock refers to information of another neighboring block.
  • pictures constituting the video/video may be encoded/decoded according to a series of decoding orders.
  • a picture order corresponding to an output order of a decoded picture may be set differently from a decoding order, and based on this, not only forward prediction but also backward prediction may be performed during inter prediction.
  • step S710 may be performed by the prediction units 180 and 185 of the encoding apparatus 100 described in FIG. 2, and step S720 may be performed by the residual processing units 115, 120, and 130. , S730 may be performed by the entropy encoding unit 190.
  • Step S710 may include an inter/intra prediction procedure described in this document
  • step S720 may include a residual processing procedure described in this document
  • step S730 includes an information encoding procedure described in this document. can do.
  • the picture encoding procedure is not only a procedure of encoding information for picture restoration (eg, prediction information, residual information, partitioning information) schematically as described in FIG. 2 to output in a bitstream form,
  • a procedure for generating a reconstructed picture for the current picture and a procedure for applying in-loop filtering to the reconstructed picture (optional) may be included.
  • the encoding device 100 may derive (modified) residual samples from the quantized transform coefficients through the inverse quantization unit 140 and the inverse transform unit 150, and predictive samples corresponding to the output of step S710 and the ( A reconstructed picture may be generated based on the modified) residual samples.
  • the reconstructed picture generated in this way may be the same as the reconstructed picture generated by the decoding apparatus 200 described above.
  • a modified reconstructed picture can be generated through an in-loop filtering procedure for the reconstructed picture, which can be stored in the decoded picture buffer 170 or a memory, and, as in the case of the decoding device 200, subsequent picture encoding It can be used as a reference picture in a time inter prediction procedure. As described above, in some cases, some or all of the in-loop filtering procedure may be omitted.
  • (in-loop) filtering-related information may be encoded by the entropy encoding unit 190 and output in the form of a bitstream, and the decoding apparatus 200
  • the in-loop filtering procedure may be performed in the same manner as the encoding apparatus 100.
  • the encoding device 100 and the decoding device 200 can derive the same prediction result, and increase the reliability of picture coding. , It is possible to reduce the amount of data transmitted for picture coding.
  • Operation S810 may be performed by the entropy decoding unit 210 in the decoding apparatus 200 of FIG. 3, operation S820 may be performed by the prediction units 260 and 265, and operation S830 may be performed by the residual processing unit ( 220, 230), step S840 may be performed by the addition unit 235, step S850 may be performed by the filtering unit 240.
  • Step S810 may include the information decoding procedure described in this document
  • step S820 may include the inter/intra prediction procedure described in this document
  • step S830 includes the residual processing procedure described in this document.
  • step S840 may include the block/picture restoration procedure described in this document
  • step S850 may include the in-loop filtering procedure described in this document.
  • the picture decoding procedure is schematically a procedure for obtaining image/video information (through decoding) from a bitstream (S810), a picture restoration procedure (S820 to S840), and a reconstructed picture as described in FIG. It may include an in-loop filtering procedure (S850) for.
  • the picture restoration procedure is based on prediction samples and residual samples obtained through the process of inter/intra prediction (S820) and residual processing (S830, inverse quantization and inverse transformation of a quantized code or coefficient) described in this document. Can be done.
  • a modified reconstructed picture may be generated through an in-loop filtering procedure for a reconstructed picture generated through a picture restoration procedure, and the modified reconstructed picture may be output as a decoded picture, and the decoding apparatus 200 It is stored in the decoded picture buffer 250 or a memory, and may be used as a reference picture in inter prediction when decoding a picture later.
  • the in-loop filtering procedure may be omitted.
  • the reconstructed picture may be output as a decoded picture, and stored in the decoded picture buffer 250 of the decoding device 200 or in a memory to be It can be used as a reference picture in the prediction train.
  • the in-loop filtering procedure S850 may include a deblocking filtering procedure, a sample adaptive offset (SAO) procedure, an adaptive loop filter (ALF) procedure, and/or a bi-lateral filter procedure as described above. And some or all of them may be omitted.
  • one or some of the deblocking filtering procedure, the SAO procedure, the ALF procedure, and the bilateral filter procedure may be sequentially applied, or all may be sequentially applied.
  • the SAO procedure may be performed.
  • the ALF procedure may be performed. This may be similarly performed in the encoding device 100.
  • a reconstructed block may be generated based on intra prediction/inter prediction for each block, and a reconstructed picture including the reconstructed blocks may be generated.
  • the current picture/slice/tile group is an I picture/slice/tile group
  • blocks included in the current picture/slice/tile group may be reconstructed based only on intra prediction.
  • inter prediction may be applied to some blocks in the current picture/slice/tile group
  • intra prediction may be applied to the remaining some blocks.
  • the color component of a picture may include a luminance component and a chrominance component, and the methods and embodiments proposed in this document may be applied to the luminance component and the chrominance component unless explicitly limited in this document.
  • An embodiment of the present specification relates to an intra prediction method, and in the case of a decoder, the video/video decoding method based on intra prediction of FIG. 11 and the intra prediction unit 265 in the decoding apparatus 200 of FIG. 12 may be used.
  • the encoder may be represented by an intra prediction-based video/spiritual encoding method of FIG. 9 and an intra prediction unit in the encoding apparatus 100 of FIG. 10.
  • the data encoded by FIGS. 9 and 10 may be stored in the form of a bitstream.
  • Intra prediction may mean prediction in which prediction samples for a current block are generated based on reference samples in a picture to which the current block belongs (hereinafter, referred to as a current picture).
  • a current picture When intra prediction is applied to the current block, surrounding reference samples to be used for intra prediction of the current block may be derived.
  • the neighboring reference samples of the current block are a sample adjacent to the left boundary of the current block of size nWxnH and a total of 2xnH samples adjacent to the bottom-left, a sample adjacent to the top boundary of the current block, and A total of 2xnW samples adjacent to the top-right side and one sample adjacent to the top-left side of the current block may be included.
  • the peripheral reference samples of the current block may include upper peripheral samples of a plurality of columns and left peripheral samples of a plurality of rows.
  • the neighboring reference samples of the current block are a total of nH samples adjacent to the right boundary of the current block of size nWxnH, a total of nW samples adjacent to the bottom boundary of the current block, and the lower right ( It may include one sample adjacent to the bottom-right).
  • the decoder can construct surrounding reference samples to be used for prediction by substituting the samples that are not available with the available samples. Further, surrounding reference samples to be used for prediction may be constructed through interpolation of available samples.
  • prediction samples may be derived based on an average or interpolation of neighboring reference samples of the current block, and (ii) prediction among neighboring reference samples of the current block
  • the prediction sample may be derived based on a reference sample existing in a specific (prediction) direction with respect to the sample.
  • it may be referred to as a non-directional mode or a non-angular mode
  • it may be referred to as a directional mode or an angular mode.
  • a prediction sample may be generated.
  • LIP linear interpolation intra prediction
  • chrominance prediction samples may be generated based on luminance samples using a linear model. This case may be referred to as an LM mode.
  • a temporary prediction sample of the current block is derived based on the filtered surrounding reference samples, and at least one reference sample derived according to the intra prediction mode among existing surrounding reference samples, that is, unfiltered surrounding reference samples, and A prediction sample of the current block may be derived through a weighted sum of the temporary prediction samples. This case may be referred to as a position dependent prediction combination (PDPC).
  • PDPC position dependent prediction combination
  • the encoding apparatus 100 selects a reference sample line with the highest prediction accuracy among a plurality of reference sample lines located around the current block, and derives a prediction sample from the corresponding line using a reference sample located in the prediction direction.
  • intra prediction encoding may be performed by indicating (signaling) the used reference sample line to the decoding apparatus 200.
  • This case may be referred to as multi-reference line (MRL) intra prediction or MRL-based intra prediction.
  • MRL multi-reference line
  • the encoder/decoder divides the current block into vertical or horizontal subpartitions and performs intra prediction based on the same intra prediction mode, but may derive and use surrounding reference samples in units of subpartitions.
  • the intra prediction mode for the current block is equally applied to the subpartitions, but the intra prediction performance can be improved in some cases by deriving and using the surrounding reference samples in units of the subpartition.
  • This prediction method may be referred to as an ISP (intra sub-partition) or ISP-based intra prediction.
  • the above-described intra prediction methods may be referred to as an intra prediction type to distinguish them from the existing intra prediction modes.
  • the intra prediction type may be referred to in various terms such as an intra prediction technique or an additional intra prediction mode.
  • the intra prediction type (or additional intra prediction mode) may include at least one of the aforementioned LIP PDPC, MRL, and ISP. Meanwhile, post-processing filtering may be performed on the derived prediction samples as necessary.
  • the intra prediction procedure may include determining an intra prediction mode/type, deriving a neighboring reference sample, and deriving an intra prediction mode/type based prediction sample.
  • a post-processing filtering step may be performed on the derived prediction samples as necessary.
  • FIG. 9 shows an example of a flowchart for intra prediction in a process of encoding a video signal according to an embodiment of the present specification
  • FIG. 10 shows an example of an intra prediction unit in an encoding apparatus according to an embodiment of the present specification.
  • Operation S910 of FIG. 9 may be performed by the intra prediction unit 185 of the encoding apparatus 100, and operation S920 may be performed by the residual processing unit of the encoding apparatus 100. Specifically, step S920 may be performed by the subtraction unit 115 of the encoding device 100.
  • the prediction information may be derived by the intra prediction unit 185 and encoded by the entropy encoding unit 190.
  • the residual information may be derived by the residual processing unit and encoded by the entropy encoding unit 190.
  • the residual information is information about residual samples.
  • the residual information may include information on quantized transform coefficients for residual samples.
  • residual samples may be derived as transform coefficients through the transform unit 120 of the encoding apparatus 100, and transform coefficients may be derived as quantized transform coefficients through the quantization unit 130.
  • Information about the quantized transform coefficients may be encoded by the entropy encoding unit 190 through a residual coding procedure.
  • the encoding apparatus 100 performs intra prediction on the current block (S910).
  • the encoding apparatus 100 may derive an intra prediction mode/type for the current block, derive neighboring reference samples of the current block, and generate prediction samples in the current block based on the intra prediction mode/type and neighboring reference samples. do.
  • the procedure of determining the intra prediction mode/type, deriving neighboring reference samples, and generating prediction samples may be simultaneously performed, or one procedure may be performed before the other procedure.
  • the intra prediction unit 185 of the encoding apparatus 100 may include an intra prediction mode/type determiner 186, a reference sample derivation unit 187, and a prediction sample derivation unit 188.
  • the intra prediction mode/type determination unit 186 determines an intra prediction mode/type corresponding to the current block, the reference sample derivation unit 187 derives neighboring reference samples of the current block, and the prediction sample derivation unit 188 Predictive samples of the current block can be derived. Meanwhile, although not shown, when a prediction sample filtering procedure described later is performed, the intra prediction unit 185 may further include a prediction sample filter unit (not shown).
  • the encoding apparatus 100 may determine a mode/type applied to the current block from among a plurality of intra prediction modes/types. The encoding apparatus 100 may compare rate-distortion (RD) costs for intra prediction modes/types and determine an optimal intra prediction mode/type for the current block.
  • RD rate-distortion
  • the encoding apparatus 100 may perform a prediction sample filtering procedure.
  • Predictive sample filtering may be referred to as post filtering. Some or all of the prediction samples may be filtered by the prediction sample filtering procedure. In some cases, the prediction sample filtering procedure may be omitted.
  • the encoding apparatus 100 generates residual samples for the current block based on the (filtered) prediction samples (S920).
  • the encoding apparatus 100 may compare prediction samples from original samples of a current block based on a phase and derive residual samples.
  • the encoding apparatus 100 may encode image information including information on intra prediction (prediction information) and residual information on residual samples (S930).
  • the prediction information may include intra prediction mode information and intra prediction type information.
  • the encoding apparatus 100 may output the encoded image information in the form of a bitstream.
  • the output bitstream may be delivered to the decoding apparatus 200 through a storage medium or a network.
  • the residual information may include a residual coding syntax to be described later.
  • the encoding apparatus 100 may derive quantized transform coefficients by transforming/quantizing residual samples.
  • the residual information may include information on quantized transform coefficients.
  • the encoding apparatus 100 may generate a reconstructed picture (including reconstructed samples and a reconstructed block). To this end, the encoding apparatus 100 may perform inverse quantization/inverse transformation on the quantized transform coefficients again to derive (modified) residual samples. The reason for performing inverse quantization/inverse transformation after transforming/quantizing the residual samples in this way is to derive residual samples identical to the residual samples derived from the decoding apparatus 200 as described above.
  • the encoding apparatus 100 may generate a reconstructed block including reconstructed samples for the current block based on the prediction samples and (modified) residual samples. A reconstructed picture for the current picture may be generated based on the reconstructed block. As described above, the in-loop filtering procedure for the reconstructed picture may be further applied.
  • Steps S1110 to S1130 may be performed by the intra prediction unit 265 of the decoding apparatus 200, and the prediction information of step S1110 and the residual information of step S1140 are obtained from the bitstream by the entropy decoding unit 210 Can be.
  • the residual processing unit of the decoding apparatus 200 may derive residual samples for the current block based on the residual information.
  • the inverse quantization unit 220 of the residual processing unit derives the transformation coefficients by performing inverse quantization based on the quantized transformation coefficients derived based on the residual information, and the inverse transformation unit 230 of the residual processing unit performs transformation. Residual samples for the current block can be derived by performing inverse transformation on the coefficients. Operation S1150 may be performed by the addition unit 235 or the restoration unit of the decoding apparatus 200.
  • the decoding apparatus 200 may derive an intra prediction mode/type for the current block based on the received prediction information (intra prediction mode/type information) (S1110).
  • the decoding apparatus 200 may derive neighboring reference samples of the current block (S1120).
  • the decoding apparatus 200 generates prediction samples in the current block based on the intra prediction mode/type and surrounding reference samples (S1130).
  • the decoding apparatus 200 may perform a prediction sample filtering procedure. Predictive sample filtering may be referred to as post filtering. Some of the prediction samples or the government may be filtered by the prediction sample filtering procedure. In some cases, the prediction sample filtering procedure may be omitted.
  • the decoding apparatus 200 generates residual samples for the current block based on the received residual information.
  • the decoding apparatus 200 may generate a reconstructed sample for the current block based on the prediction samples and the residual samples, and derive a reconstructed block including the reconstructed samples (S1140).
  • a reconstructed picture for the current picture may be generated based on the reconstructed block.
  • the in-loop filtering procedure for the reconstructed picture may be further applied.
  • the intra prediction unit 265 of the decoding apparatus 200 may include an intra prediction mode/type determination unit 266, a reference sample derivation unit 267, and a prediction sample derivation unit 268, and the intra prediction mode
  • the /type determination unit 266 determines an intra prediction mode/type for the current block based on the intra prediction mode/type information generated and signaled by the intra prediction mode/type determination unit 186 of the encoding apparatus 100 .
  • the reference sample derivation unit 267 may derive neighboring reference samples of the current block, and the prediction sample derivation unit 267 may derive prediction samples of the current block.
  • the intra prediction unit 265 may further include a prediction sample filter unit (not shown).
  • Intra prediction mode information may include flag information (eg, intra_luma_mpm_flag) indicating whether, for example, most probable mode (MPM) is applied to a current block or a remaining mode is applied, MPM
  • the prediction mode information may further include index information (eg, intra_luma_mpm_idx) indicating one of intra prediction mode candidates (MPM candidates).
  • Intra prediction mode candidates may be composed of an MPM candidate list or an MPM list.
  • the intra prediction mode information may further include remaining mode information (eg, intra_luma_mpm_remainder) indicating one of the remaining intra prediction modes except for intra prediction mode candidates (MPM candidates). I can.
  • the decoding apparatus 200 may determine an intra prediction mode of the current block based on the intra prediction mode information.
  • the intra prediction type information may be implemented in various forms.
  • the intra prediction type information may include intra prediction type index information indicating one of the intra prediction types.
  • the intra prediction type information includes reference sample line information indicating whether the MRL is applied to the current block and the number of reference sample lines used when the MRL is applied (eg, intra_luma_ref_idx), and whether the ISP is applied to the current block.
  • ISP flag information e.g., intra_subpartitions_mode_flag
  • ISP type information indicating the split type of subpartitions when the ISP is applied
  • flag information indicating whether to apply PDPC, or indicating whether to apply LIP It may include at least one of flag information.
  • Intra prediction mode information and/or intra prediction type information may be encoded/decoded through the coding method described in this document.
  • intra prediction mode information and/or intra prediction type information may be encoded/decoded through entropy coding (eg, CABAC, CAVLC) based on a truncated (rice) binary code. have.
  • entropy coding eg, CABAC, CAVLC
  • an intra prediction mode applied to the current block may be determined using an intra prediction mode of a neighboring block.
  • the decoding apparatus 200 receives one of the MPM candidates in the MPM list derived based on the intra prediction mode of the neighboring block (eg, left and/or upper neighboring block) of the current block and additional candidate modes. It may be selected based on the index, or one of the remaining intra prediction modes that are not included in the MPM candidates may be selected based on the remaining intra prediction mode information. For example, whether the intra prediction mode applied to the current block is among MPM candidates or is in the remaining mode may be indicated based on an MPM flag (eg, intra_luma_mpm_flag).
  • an MPM flag eg, intra_luma_mpm_flag
  • the value of the MPM flag of 1 indicates that the intra prediction mode for the current block is in the MPM candidates (MPM list), and the value of the MPM flag is 0 indicates that the intra prediction mode for the current block is in the MPM candidates (MPM list). May indicate that it does not exist.
  • the MPM index may be signaled in the form of a syntax element such as mpm_idx or intra_luma_mpm_idx, and the remaining intra prediction mode information may be signaled in the form of a syntax element such as rem_intra_luma_pred_mode or intra_luma_mpm_remainder.
  • the remaining intra prediction mode information may index the remaining intra prediction modes that are not included in MPM candidates among all intra prediction modes and indicate one of them.
  • the intra prediction mode may be an intra prediction mode for a luminance component (sample).
  • the intra prediction mode information may include at least one of an MPM flag (eg, intra_luma_mpm_flag), an MPM index (eg, mpm_idx or intra_luma_mpm_idx), or remaining intra prediction mode information (eg, rem_intra_luma_pred_mode or intra_luma_mpm_remainder).
  • the MPM list may be referred to in various terms such as an MPM candidate list and candModeList.
  • the intra prediction mode signaling procedure in the encoding apparatus 100 and the intra prediction mode determination procedure in the decoding apparatus 200 may be performed as shown in FIGS. 13 and 14.
  • FIG. 13 shows an example of a flowchart for encoding intra prediction information in a process of encoding a video signal according to an embodiment of the present specification.
  • the encoding apparatus 100 constructs an MPM list for a current block (S1310).
  • the MPM list may include candidate intra prediction modes (MPM candidates) that are likely to be applied to the current block.
  • the MPM list may include intra prediction modes of neighboring blocks, or may further include specific intra prediction modes according to a predetermined method. A detailed MPM list construction method will be described later.
  • the encoding apparatus 100 determines an intra prediction mode of the current block (S1320).
  • the encoding apparatus 100 may perform prediction based on various intra prediction modes, and may determine an optimal intra prediction mode based on rate-distortion optimization (RDO) based thereon.
  • RDO rate-distortion optimization
  • the encoding apparatus 100 may determine the optimal intra prediction mode by using only the MPM candidates configured in the MPM list, or by further using the remaining intra prediction modes as well as the MPM candidates configured in the MPM list. You can decide.
  • the intra prediction type of the current block is a specific type (eg, LIP, MRL, or ISP)
  • the encoding apparatus 100 considers only MPM candidates as intra prediction mode candidates for the current block, The prediction mode can be determined.
  • the intra prediction mode for the current block may be determined only among MPM candidates, and encoding/signaling of the MPM flag may not be performed.
  • the decoding apparatus 200 may infer that the MPM flag is 1 without separately decoding the MPM flag.
  • the encoding apparatus 100 when the intra prediction mode of the current block is one of MPM candidates in the MPM list, the encoding apparatus 100 generates an MPM index (mpm_idx) indicating one of the MPM candidates. If the intra prediction mode of the current block is not in the MPM list, the encoding apparatus 100 remines intra prediction mode information indicating the same mode as the intra prediction mode of the current block among the remaining intra prediction modes not included in the MPM list. Create
  • the encoding apparatus 100 may encode intra prediction mode information and output it in the form of a bitstream.
  • the intra prediction mode information may include the above-described MPM flag, MPM index, and/or remaining intra prediction mode information. Since the MPM index and the remaining intra prediction mode information indicate an intra prediction mode for one block in an alternative relationship, they are not signaled at the same time. That is, the MPM flag value 1 and the MPM index are signaled together, or the MPM flag 0 and the remaining intra prediction mode information are signaled together. However, as described above, when a specific intra prediction type is applied to the current block, the MPM flag may not be signaled and only the MPM index may be signaled. That is, in this case, the intra prediction mode information may include only the MPM index.
  • the decoding device 200 may determine an intra prediction mode in response to intra prediction mode information determined and signaled by the encoding device 100.
  • the decoding apparatus 200 acquires intra prediction mode information from a bitstream (S1410).
  • the intra prediction mode information may include at least one of an MPM flag, an MPM index, and a remaining intra prediction mode index.
  • the decoding apparatus 200 constructs an MPM list (S1420).
  • the MPM list is configured in the same way as the MPM list configured in the encoding device 100. That is, the MPM list may include intra prediction modes of neighboring blocks, or may further include specific intra prediction modes according to a predetermined method. Specifically, the MPM list construction method will be described later.
  • step S1420 is performed after step S1410, this is only an example, and step S1420 may be performed before step S1410 or may be performed simultaneously.
  • the decoding apparatus 200 determines an intra prediction mode of the current block based on the MPM list and intra prediction mode information (S1430). For example, when the value of the MPM flag is 1, the decoding apparatus 200 may derive a candidate indicated by the MPM index from among MPM candidates in the MPM list as the intra prediction mode of the current block. As another example, when the value of the MPM flag is 0, the decoding apparatus 200 derives an intra prediction mode indicated by the remaining intra prediction information from among the remaining intra prediction modes not included in the MPM list as the intra prediction mode of the current block. can do.
  • the decoding apparatus 200 selects a candidate indicated by the MPM index in the MPM list without checking the MPM flag. It can also be derived as the intra prediction mode of the current block.
  • FIG. 15. 15 illustrates an example of a flowchart for determining an intra prediction mode in a process of decoding a video signal according to an embodiment of the present specification.
  • FIG. 16 shows an example of 33 directional intra prediction modes according to an embodiment of the present specification
  • FIG. 17 shows an example of 65 directional intra prediction modes according to an embodiment of the present specification.
  • the intra prediction mode may include, for example, two non-directional intra prediction modes and 33 directional intra prediction modes.
  • the non-directional intra prediction modes may include a planar intra prediction mode and a DC intra prediction mode, and the directional intra prediction modes may include 2 to 34 intra prediction modes.
  • the planar intra prediction mode may be referred to as a planner mode, and the DC intra prediction mode may be referred to as a DC mode.
  • directional intra prediction modes may be extended from 33 to 65 as shown in FIG. 17.
  • the intra prediction mode may include two non-directional intra prediction modes and 65 directional intra prediction modes.
  • the extended directional intra prediction modes can be applied to blocks of all sizes, and can be applied to both a luminance component and a color difference component.
  • the intra prediction mode may include two non-directional intra prediction modes and 129 directional intra prediction modes.
  • Non-directional intra prediction modes may include a planar intra prediction mode and a DC intra prediction mode, and the directional intra prediction modes may include intra prediction modes 2 to 130.
  • the intra prediction mode may further include a cross-component linear model (CCLM) mode for color difference samples in addition to the aforementioned intra prediction modes.
  • CCLM cross-component linear model
  • the CCLM mode can be classified into LT_CCLM, L_CCLM, and T_CCLM depending on whether a left sample is considered, an upper sample is considered, or both are considered to derive an LM parameter, and can be applied only to a color difference component.
  • the intra prediction mode may be indexed, for example, as shown in Table 1 below.
  • the intra prediction type (or additional intra prediction mode) may include at least one of the aforementioned LIP, PDPC, MRL, and ISP.
  • the intra prediction type may be indicated based on intra prediction type information, and the intra prediction type information may be implemented in various forms.
  • the intra prediction type information may include intra prediction type index information indicating one of the intra prediction types.
  • the intra prediction type information includes reference sample line information (e.g., intra_lumma_ref_idx) indicating whether MRL is applied to the current block and in which case the reference sample line is used, and when the ISP is applied, the split type of subpartitions It may include at least one of indicating ISP type information (eg, intra_subpartitions_split_flag), flag information indicating whether PDPC is applied, or flag information indicating whether LIP is applied.
  • reference sample line information e.g., intra_lumma_ref_idx
  • the split type of subpartitions It may include at least one of indicating ISP type information (eg, intra_subpartitions_split_flag), flag information indicating whether PDPC is applied, or flag information indicating whether LIP is applied.
  • the encoder can use the intra prediction mode of the neighboring block to encode the intra prediction mode of the current block.
  • the encoder/decoder may construct an MPM list for the current block.
  • the MPM list may also be referred to as an MPM candidate list.
  • MPM may mean a mode used to improve coding efficiency in consideration of similarity between a current block and a neighboring block when coding an intra prediction mode.
  • a method of configuring an MPM list including three MPM candidates may be used in order to keep the complexity for generating the MPM list low.
  • the MPM list may include 3 MPM candidates.
  • a remanufacturing mode may be used.
  • the remaining mode includes 64 remaining candidates, and information on the remaining intra prediction mode indicating one of the 64 remaining candidates may be signaled.
  • the remaining intra prediction mode information may include a 6-bit syntax element (eg, rem_intra_luma_pred_mode).
  • MCM most probable mode
  • the encoder may check or derive the prediction mode of the neighboring block (S1810). For example, the encoder may determine the prediction mode of the current block based on the prediction mode of the left neighboring block and the prediction mode of the upper neighboring block, and at this time, the prediction mode of the corresponding neighboring block may be determined as MPM. Determining the MPM may be expressed as listing up MPM candidates (or MPM list).
  • the encoder checks whether the prediction mode of the left neighboring block and the prediction mode of the upper neighboring block are the same (S1820).
  • the initial MPM list may be formed by performing a pruning process for intra prediction modes of two adjacent blocks.
  • the first MPM may be set as the prediction mode of the left neighboring block, and the second MPM may be determined as the prediction mode of the upper neighboring block.
  • the MPM may be set to one of an intra planner mode, an intra DC mode, or an intra vertical mode (50th intra prediction mode) (S1830).
  • the two intra prediction modes may be set as MPM, and one of the default intra modes is added to the MPM list after pruning check by MPMs.
  • the default intra modes may include an intra planner mode, an intra DC mode, and/or an intra vertical mode (50th intra prediction mode).
  • the MPM list may be configured as follows.
  • A denotes an intra prediction mode of the left neighboring block
  • B denotes an intra prediction mode of an upper neighboring block
  • 0 denotes an intra planner mode
  • 1 denotes an intra DC mode
  • 50 denotes an intra vertical mode
  • candModeList denotes an MPM list.
  • the encoder may determine whether the prediction mode of the left neighboring block is less than 2 (S1840).
  • the first MPM may be set to an intra planner mode
  • the second MPM may be set to an intra DC mode
  • the third MPM is an intra vertical mode (50th intra prediction mode). It may be set to (S1850).
  • the first MPM may be set as the prediction mode of the left neighboring block
  • the second MPM may be set to (prediction mode of the left neighboring block-1)
  • the third The MPM may be set to (prediction mode of the left neighboring block + 1) (S1860).
  • the MPM list may be configured as described later.
  • candModeList [3] ⁇ 0, 1, 50 ⁇ .
  • candModeList[3] (A, 2 + ((A + 61)% 64 ), 2 + ((A-1)% 64 ) ⁇
  • A denotes an intra prediction mode of the left neighboring block
  • B denotes an intra prediction mode of an upper neighboring block
  • 0 denotes an intra planner mode
  • 1 denotes an intra DC mode
  • 50 denotes an intra vertical mode
  • candModeList denotes an MPM list.
  • an additional pruning process may be performed to remove duplicate modes so that only unique modes can be included.
  • a 6-bit fixed length code (6-bit FLC) may be used for entropy coding of 64 non-MPM modes excluding 3 MPMs. That is, an index representing 64 non-MPM modes may be entropy-coded with a 6-bit fixed length code.
  • the encoder may determine whether an optimal intra prediction mode to be applied to the current block belongs to the previously configured MPM candidate. If the intra prediction mode of the current block belongs to the MPM candidate, the encoder may encode the MPM flag and the MPM index.
  • the MPM flag may indicate whether the intra prediction mode of the current block is derived from a neighboring intra-prediction block (ie, whether the intra prediction mode of the current block belongs to the MPM list).
  • the MPM index may indicate which MPM mode is applied as an intra prediction mode of the current block among MPM candidates. On the other hand, if the intra prediction mode of the current block does not belong to the MPM candidate, the encoder may encode the intra prediction mode of the current block.
  • the encoder/decoder may configure an MPM list including 6 MPMs.
  • the following three types of modes can be considered.
  • two neighboring blocks that is, a left neighboring block A and an upper neighboring block B may be considered.
  • the following initialized default MPM list may be considered.
  • 6-MPMs are updated by performing a pruning process for two neighboring intra modes. If the two neighboring modes are the same and larger than the DC mode (1), 6-MPMs are added to the three default modes (A, planner, DC) and the neighboring mode, and a predefined offset value is added to the modular operation. It will contain three derived modes obtained by. Otherwise, if the two neighboring modes are different from each other, the two neighboring modes are allocated to the first two MPM modes and the remaining four MPM modes are derived from the default modes and neighboring modes. During the 6-MPM list creation process, pruning is used to remove identical modes so that unique modes can be included in the MPM list. For entropy coding of 61 non-MPM modes, a truncated binary code (TBC) is used.
  • TBC truncated binary code
  • neighboring reference samples to be used for intra prediction of the current block may be derived.
  • the neighboring reference samples of the current block are a sample adjacent to the left boundary of the current block of size nWxnH and a total of 2xnH samples adjacent to the bottom-left, a sample adjacent to the top boundary of the current block, and A total of 2xnW samples adjacent to the top-right side and one sample adjacent to the top-left side of the current block may be included.
  • the peripheral reference samples of the current block may include upper peripheral samples of a plurality of columns and left peripheral samples of a plurality of rows.
  • the decoder may construct surrounding reference samples to be used for prediction through interpolation of available samples.
  • the decoder may construct surrounding reference samples to be used for prediction through extrapolation of available samples. Substitute or padding pixels that have not yet been decoded or available with the latest referenceable sample, updating the referenceable sample with the latest sample, starting at the bottom left and until reaching the top right reference sample. can do.
  • MDL Multiple reference line
  • intra prediction only neighboring samples of the upper first line and the neighboring samples of the left first line of the current block are used as reference samples for intra prediction.
  • intra prediction may be performed by using as reference samples neighboring samples located in sample lines separated by 1 to 3 sample distances in the upper and/or left direction of the current block.
  • 19 shows examples of reference samples taking into account multi-reference line (MRL) intra prediction according to an embodiment of the present specification.
  • 19 shows directly neighboring (closest) reference samples at reference line 0 and extended reference samples at reference lines 1 to 3 used in MRL intra prediction.
  • the MRL index (eg, mrl_idx) indicates which line is used for intra prediction for the current block.
  • the MRL index may be signaled through the coding unit syntax as shown in Table 2 below.
  • the MRL index may be signaled in the form of a syntax element intra_luma_ref_idx.
  • intra_luma_ref_idx [x0][y0] represents the intra reference line index IntraLumaRefLineIdx[x0][y0] defined as shown in Table 3 below.
  • intra_luma_ref_idx may be referred to as a (intra) reference sample line index, a reference line index, or mrl_idx. Also, intra_luma_ref_idx may be referred to as intra_luma_ref_line_idx.
  • Table 3 shows the values of IntraLumaRefLineIdx[x0][y0] according to intra_luma_ref_idx[x0][y0].
  • the MRL may be disabled for a block of the first line (row) in the CTU. This is to prevent samples of extended reference lines outside the current CTU line from being used. Also, when the above-described additional reference line is used, the PDPC may not be available.
  • ISP Intra Sub-Partition
  • a block to be currently encoded is regarded as one coding unit, and coding is performed without splitting.
  • the ISP method performs intra prediction encoding by dividing a block to be currently encoded in a horizontal direction or a vertical direction. In this case, a reconstructed block is generated by performing encoding/decoding in units of divided blocks, and the reconstructed block is used as a reference block of the next divided block.
  • blocks are divided as shown in Table 4 below based on the block size.
  • FIGS 20A and 20B illustrate an example of block division according to an intra sub-partition (ISP) according to an embodiment of the present specification.
  • ISP intra sub-partition
  • the ISP method determines an optimal mode by generating an MPM according to each division method (horizontal division and vertical division) in order to reduce coding complexity and comparing an appropriate prediction mode among prediction modes in the generated MPM list from an RDO perspective.
  • the ISP may not be used. That is, ISP intra prediction can be applied only when the 0th reference line is used (that is, when intra_luma_ref_idx is 0). Also, when the ISP method is used, the PDPC cannot be used.
  • the ISP intra prediction method first encodes/decodes information indicating whether the ISP is applied (e.g., intra_subparitions_mode_flag) in block units, and if the ISP is applied to the current block, information about whether it is horizontal or vertical (intra_subpartitions_split_flag) is encoded. /Decoded. Table 5 below shows an example of the syntax structure reflecting the ISP.
  • the intra prediction mode for the current block is equally applied to each subpartition (subblocks), and the intra prediction performance can be improved by deriving neighboring reference samples in units of subpartitions. That is, when ISP intra prediction is applied, a residual sample processing procedure is performed in units of sub-partitions.
  • intra prediction samples are derived for each subpartition, and reconstructed samples are obtained by adding a residual signal (residual samples) for the corresponding subpartition to this.
  • the residual signal (residual samples) may be derived through an inverse quantization/inverse transform procedure based on residual information (quantized transform coefficient information or residual coding syntax) in the above-described bitstream.
  • prediction samples for the first subpartition are derived and residual samples are derived, and reconstructed samples for the first subpartition may be derived based on this.
  • some of the reconstructed samples in the first subpartition eg, left or upper peripheral reference samples of the second subpartition
  • peripheral reference samples for the second subpartition e.g. left or upper peripheral reference samples of the second subpartition
  • prediction samples for the second subpartition and residual samples may be derived, and reconstructed samples for the second subpartition may be derived based on this.
  • some of the reconstructed samples eg, left or upper peripheral reference samples of the third subpartition
  • an interpolation filter for interpolation may be derived through various methods.
  • the interpolation filter may be determined based on at least one of a size of a current block and an intra prediction mode applied to the current block.
  • the interpolation filter may include, for example, a Gaussian filter and a Cubic filter.
  • a filter for mitigating a block boundary may be applied in order to reduce an error between prediction samples of the current block and neighboring samples that have already been reconstructed. For example, whether to apply an intra boundary filter and a filter type may be determined according to the predicted mode and the size of the block.
  • intra prediction When intra prediction is performed on the current block, prediction of a luminance component block (luminance block) of the current block and prediction of a chrominance component block (color difference block) may be performed.
  • the intra prediction mode may be set separately from the corresponding intra prediction mode in the luminance component (luminance block).
  • the intra prediction mode for the color difference component may be indicated based on intra chroma prediction mode information
  • the intra chroma prediction mode information may be indicated in the form of a syntax element intra_chroma_pred_mode
  • the intra chroma prediction mode information is a planar mode.
  • DC mode, vertical mode, horizontal mode, DM (Derived Mode) it may indicate one of the CCLM mode.
  • the planar mode may represent a 0th intra prediction mode, a DC mode 1st intra prediction mode, a vertical mode 26th intra prediction mode, and a horizontal mode 10th intra prediction mode.
  • DM may also be referred to as direct mode.
  • CCLM may be referred to as LM.
  • DM and CCLM are dependent intra prediction modes for predicting a color difference block using information on a luminance block.
  • the DM may represent a mode in which an intra prediction mode identical to an intra prediction mode for a luminance component is applied as an intra prediction mode for a color difference component.
  • the CCLM subsamples the reconstructed samples of the luminance block in the process of generating the predictive samples for the color difference block, and then applies the CCLM parameters ( ⁇ , ⁇ ) to the subsampled samples. Intra prediction mode used as prediction samples of may be indicated.
  • FIG. 21 is a diagram for explaining a multiple direct mode (DM) for intra prediction of a chroma block according to an embodiment of the present specification.
  • DM multiple direct mode
  • MDM Multiple direct mode
  • the DM mode which is an existing single mode, is extended and used in a plurality of modes. That is, when configuring the intra prediction mode of the color difference image, a plurality of DM modes may be selected as follows.
  • the CCLM mode can be applied to the current chroma block.
  • the CCLM mode is an intra prediction mode using correlation between a luminance block and a color difference block corresponding to the luminance block.
  • a linear model may be derived based on surrounding samples of the luminance block and the surrounding samples of the chrominance block, and prediction samples of the chrominance block may be derived based on the linear model and reconstructed samples of the luminance block. More specifically, when the CCLM mode is applied to the current chrominance block, parameters for the linear model are derived based on the surrounding samples used for intra prediction of the current chrominance block and the surrounding samples used for intra prediction of the current luminance block. Can be.
  • the linear model may be expressed based on Equation 1 below.
  • pred c (i,j) represents a predicted sample of the (i,j) locus of the current color difference block
  • rec L '(i,j) represents a reconstructed sample of the (i,j) coordinates of the current luminance block
  • rec L '(i,j) may represent a down-sampled reconstructed sample of the current luminance block.
  • CCLM cross-component linear model
  • the parameters ⁇ and ⁇ of the linear model may be derived based on surrounding samples used for intra prediction of the current luminance block and surrounding samples used for intra prediction of the current color difference block.
  • the parameters ⁇ and ⁇ may be derived based on Equations 2 and 3 below.
  • L(n) may represent upper peripheral samples and/or left peripheral samples of the current luminance block
  • C(n) may represent upper peripheral samples and/or left peripheral samples of the current color difference block
  • L(n) may represent down-sampled upper peripheral samples and/or left peripheral samples of the current luminance block
  • N may represent a value that is twice the smaller of the width and height of the current color difference block.
  • the 8 intra prediction modes may include 5 existing intra prediction modes and CCLM mode(s).
  • Table 6 below shows a mapping table for deriving intra-chroma prediction mode when CCLM is not available (sps_cclm_enabled_flag is 0), and Table 7 shows intra prediction when CCLM is enabled (sps_cclm_enabled_flag is 1) Represents a mapping table for mode derivation.
  • the intra-chroma prediction mode is an intra luma prediction mode and a signaled intra-chroma prediction mode for a luminance block (e.g., when DUAL_TREE is applied) covering a current block or a center-right lower sample of the chroma block It may be determined based on the value of (intra_chroma_pred_mode) information.
  • the indices of IntraPredModeC[xCb][yCb] derived from Tables 7 and 8 may correspond to the indexes of the intra prediction modes of Table 1.
  • Embodiments described below provide a method for constructing a unified MPM list according to.
  • Embodiments of the present specification provide a method of generating (modifying) an MPM list using a unified method when constructing an MPM list in a process of encoding/decoding intra prediction information.
  • a structure for encoding/decoding intra prediction information can be simplified and efficiency of encoding/decoding intra prediction information can be increased.
  • Embodiments described below provide a method of constructing an MPM list using a unified method for a plurality of intra prediction types (eg, MRL intra prediction, ISP intra prediction).
  • Example 1 is, after generating an MPM list using a unified method, constructing an MPM list for each of conventional intra prediction (first type), MRL intra prediction (second type), and ISP intra prediction (third type) Provides a way.
  • Embodiment 2 provides a method of generating an MPM list for MRL intra prediction and ISP intra prediction in consideration that a DC mode may be additionally used in MRL intra prediction after generating an MPM list using a unified method.
  • Embodiment 3 provides a method for performing optimal encoding/decoding based on a method of constructing an MPM list using the unified method proposed in Embodiments 1 and 2.
  • Embodiments of the present specification are a single unified method for generating an MPM candidate list used in conventional intra prediction (first type), MRL intra prediction (second type), and ISP intra prediction (third type). It should be done in a way.
  • Conventional intra prediction uses 67 intra prediction modes to encode/decode intra prediction information
  • MRL intra prediction uses 65 intra prediction modes excluding planar mode and DC mode to encode/decode intra prediction information.
  • ISP intra prediction performs encoding/decoding of intra prediction information using 66 intra prediction modes excluding the DC mode. Since the three types of intra predictions perform encoding/decoding of intra prediction information using different numbers of intra prediction modes, methods of generating an MPM candidate list for each prediction are different.
  • (conventional) intra prediction in which a reference sample located in a line adjacent to the current block is used and the current block is not divided by the ISP (hereinafter, first type intra prediction) is performed using all 67 intra prediction modes.
  • An MPM candidate list including two MPM candidates is constructed.
  • MRL intra prediction in which a reference sample located on a line separated by more than 2 samples from the current block is used (hereinafter, second type intra prediction) uses 65 intra prediction modes excluding planar mode and DC mode, so planar mode and DC mode
  • An MPM candidate list having 6 MPM candidates is constructed using 65 intra prediction modes except for.
  • an MPM candidate list having 6 MPM candidates is constructed by using the excluded 66 intra prediction modes.
  • an MPM candidate list is constructed in different ways according to horizontal division and vertical division. In this way, an MPM candidate list having six MPM candidates is generated through different methods for one intra prediction.
  • an embodiment of the present specification provides a method of generating an MPM candidate list using a unified method.
  • Example 1 is, after generating an MPM list using a unified method, constructing an MPM list for each of conventional intra prediction (first type), MRL intra prediction (second type), and ISP intra prediction (third type) Provides a way.
  • Embodiment 2 provides a method of generating an MPM list for MRL intra prediction and ISP intra prediction in consideration that a DC mode may be additionally used in MRL intra prediction after generating an MPM list using a unified method.
  • Embodiment 3 provides a method for performing optimal encoding/decoding based on a method of constructing an MPM list using the unified method proposed in Embodiments 1 and 2.
  • the present embodiment provides a method for constructing each MPM list for conventional intra prediction, MRL intra prediction, and ISP intra prediction after generating an MPM candidate list using a unified method.
  • a method of generating an MPM candidate list having 6 MPM candidates used in the first type intra prediction is divided into a second type intra prediction (MRL intra prediction) and a third type intra prediction ( The same applies to ISP intra prediction).
  • a method of generating an MPM candidate list having six MPM candidate lists used in the first type intra prediction may be a conventional MPM candidate list generating method or an improved method from the conventional MPM candidate list.
  • the method of generating the 6 MPM candidate lists used in the first type intra prediction includes a planar mode and a DC mode because the MPM candidate list is generated by considering all 67 intra prediction modes.
  • the second type intra prediction does not use the planar mode and the DC mode
  • the third type intra prediction ISP intra prediction
  • the MPM candidate list construction method includes a method of generating an MPM candidate list having six MPM candidates used in the first type intra prediction (or a method of generating six MPM candidate lists improved through various improvement methods).
  • An MPM candidate list having 6 MPM candidates is equally generated by applying the same to a method of generating an MPM candidate list of type 2 intra prediction and type 3 intra prediction.
  • MRL intra prediction does not use the planar mode and the DC mode
  • ISP intra prediction does not use the DC mode
  • the MPM candidate list is changed to be suitable for the corresponding prediction type by removing a mode that is not used for each prediction type from the MPM candidate list having.
  • FIG. 23A to 23C illustrate an example of a method of constructing an MPM candidate list based on an intra prediction type according to an embodiment of the present specification.
  • FIG. 23A is a method for configuring an MPM candidate list according to a first type intra prediction (existing intra prediction)
  • FIG. 23B is a method for configuring an MPM candidate list according to a second type intra prediction (MRL intra prediction)
  • FIG. 23C is a third type intra prediction.
  • ISP intra prediction An example of a method of constructing an MPM candidate list according to prediction
  • a method of generating an MPM candidate list having six candidates used in the first type intra prediction is applied equally to the method of generating an MPM candidate list of the second type intra prediction and the ISP intra prediction.
  • the MPM candidates in the MPM candidate list are rearranged after the planar mode and the DC mode are removed from the MPM candidate list having six candidates that are initially generated.
  • the planner mode corresponding to the 0th MPM index and the DC mode corresponding to the 2nd MPM index are removed from the MPM candidate list, and the remaining 4 MPM candidates are rearranged to have 4 MPM candidates.
  • a candidate list is constructed.
  • the MPM candidates are rearranged after the DC mode is removed from the initially generated MPM candidate list having 6 candidates. As shown in FIG. 23C, the DC mode corresponding to the second MPM index is removed from the MPM candidate list, and the remaining five MPM candidates are rearranged to form an MPM candidate having five MPM candidates.
  • 23A to 23C are diagrams for explaining an example of a method for constructing an MPM candidate list, and a method according to an embodiment of the present specification includes 6 candidates according to a first type intra prediction (existing intra prediction).
  • An MPM candidate list is generated, and the MPM candidate list is similarly used for the second type intra prediction (MRL intra prediction) and the third type intra prediction (ISP intra prediction).
  • MRL intra prediction second type intra prediction
  • ISP intra prediction third type intra prediction
  • the MPM candidate Rearrange the list since the planar mode and the DC mode are not used in the case of the second type intra prediction (MRL intra prediction), if there are planar mode and DC mode in the initially generated MPM candidate list, the MPM candidate Rearrange the list.
  • the planar mode and the DC mode are removed and the rearranged MPM candidate list may be used for a block to which the second type intra prediction is applied.
  • the MPM candidate list is rearranged while removing the DC mode.
  • the DC mode is removed and the rearranged MPM candidate list may be used for a block to which the third type intra prediction is applied.
  • the DC mode is enabled in the second type intra prediction (MRL intra prediction), and in consideration of this, the first type intra prediction (the existing intra prediction ), a second type intra prediction (MRL intra prediction), and a method of generating an MPM candidate list for a third type intra prediction (ISP intra prediction).
  • MRL intra prediction the second type intra prediction
  • ISP intra prediction a third type intra prediction
  • the method of generating an MPM candidate list having 6 MPM candidates used in the first type intra prediction is equally applied to the second type intra prediction and the third type intra prediction.
  • a method of generating an MPM candidate list having six MPM candidate lists used in the first type intra prediction may be a conventional MPM candidate list generating method or an improved method from the conventional MPM candidate list.
  • the DC mode can be used for the second type intra prediction
  • the second type intra prediction does not use the planar mode
  • the third type intra prediction does not use the DC mode.
  • each MPM candidate list is constructed (changed) in consideration of this.
  • the method according to the present embodiment is a second method of generating an MPM candidate list having six candidates used in the first type intra prediction (or a method of generating an MPM candidate list having six candidates improved through various improvement methods).
  • An MPM candidate list having the same 6 candidates is generated by applying the same to a method of generating an MPM candidate list for type intra prediction and third type intra prediction. Since the 1st type intra prediction does not use the planar mode and the 2nd type intra prediction does not use the DC mode, it is suitable for the corresponding prediction method by removing the mode not used in each prediction method from the 6 MPM lists generated identically. Reorganize (change) the MPM candidate list to do so.
  • FIG. 24A to 24C illustrate another example of a method of constructing an MPM candidate list based on an intra prediction type according to an embodiment of the present specification.
  • FIG. 24A is a method for configuring an MPM candidate list according to a first type intra prediction (existing intra prediction)
  • FIG. 24B is a method for configuring an MPM candidate list according to a second type intra prediction (MRL intra prediction)
  • FIG. 24C is a third type intra prediction.
  • ISP intra prediction An example of a method of constructing an MPM candidate list according to prediction
  • the method of generating an MPM candidate list having 6 candidates used in the first type intra prediction is the second type intra prediction (MRL intra prediction) and the third type.
  • MDL intra prediction second type intra prediction
  • ISP intra prediction intra prediction
  • the planner mode is removed in the MPM candidate list having 6 candidates initially generated, and the MPM candidates in the MPM candidate list are rearranged. As shown in FIG. 24B, the planar mode corresponding to the 0th MPM index is removed, and the remaining MPM candidates are rearranged to form an MPM candidate list having 5 MPM candidates.
  • the DC mode is not used. Accordingly, after the DC mode is removed from the MPM list having 6 candidates initially generated, the MPM candidates in the MPM candidate list are rearranged. As shown in FIG. 24C, the DC mode corresponding to the second MPM index is removed and the remaining MPM candidates are rearranged, thereby constructing an MPM list having five MPM candidates.
  • this embodiment Based on the method of generating an MPM candidate list using the unified method proposed in Embodiments 1 and 2, this embodiment provides a method of performing encoder optimization.
  • MPM candidate list in the existing third type intra prediction different MPM candidate lists are generated according to the division type (horizontal division or vertical division) of the current block. That is, the MPM candidate list for horizontal division and the MPM candidate list for vertical division are generated differently (separately).
  • the optimal intra prediction mode for the current block candidate modes generated from the first type intra prediction (existing intra prediction), candidate modes selected from the MPM candidate list generated for horizontal division, and vertical division The mode with the lowest cost is selected from the viewpoint of rate-distortion optimization (RDO) of candidate modes selected in the generated MPM candidate list.
  • RDO rate-distortion optimization
  • this embodiment provides a method of performing encoder optimization based on a method of generating an MPM candidate list using the unified method proposed in Embodiments 1 and 2.
  • Embodiment 3 can be applied to a decoder, and the computational complexity and hardware size of the decoder can be reduced by using a method of generating a unified MPM candidate list.
  • the method of constructing a unified MPM candidate list proposed in Embodiments 1 and 2 is, when generating an MPM candidate list for a third type intra prediction (ISP intra prediction), the current block division type (horizontal division or vertical division) Splitting) is not considered and one MPM candidate list is generated using a unified MPM candidate list generation method. That is, as shown in FIGS. 23A to 24C, the encoder/decoder creates one unified MPM list regardless of the division type of the current block. Therefore, in comparison with the method of generating each MPM candidate list in consideration of the partition type of the current block, according to the method proposed in this embodiment, the encoder/decoder is a block to which the third type intra prediction (ISP intra prediction) is applied.
  • ISP intra prediction third type intra prediction
  • a single MPM candidate list is generated for and for this purpose, one buffer is allocated.
  • candidate modes generated from a first type intra prediction conventional intra prediction
  • one generated for a third type intra prediction ISP intra prediction
  • the mode with the lowest cost is selected from the viewpoint of RDO, respectively.
  • ISP intra prediction when generating an MPM candidate list for third type intra prediction (ISP intra prediction), since only one MPM candidate list is generated regardless of the partition type, the complexity of the encoder required for MPM generation is reduced. Also, since only one buffer is used for the MPM candidate list, the hardware size of the encoder can be reduced.
  • the method proposed in the embodiments of the present specification may simplify the encoding/decoding structure for intra prediction by using a unified method in the process of constructing an MPM candidate list.
  • the encoded information (eg, encoded video/video information) derived by the encoding apparatus 100 based on the above-described embodiments of the present specification may be output in a bitstream form.
  • the encoded information may be transmitted or stored in a bitstream form in units of network abstraction layer (NAL) units.
  • NAL network abstraction layer
  • the bitstream may be transmitted over a network or may be stored in a non-transitory digital storage medium.
  • the bitstream is not directly transmitted from the encoding device 100 to the decoding device 200, but may be provided with a streaming/download service through an external server (eg, a content streaming server).
  • the network may include a broadcasting network and/or a communication network
  • the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD.
  • FIG. 25 illustrates an example of a flowchart for intra prediction in an encoding process of a video signal according to an embodiment of the present specification.
  • the operations of FIG. 25 may be performed by the encoding device 100 or the video signal processing device 500. More specifically, it may be performed by the intra prediction unit 185 (intra prediction mode/type determination unit 186 of FIG. 10) in the encoding apparatus 100 of FIG. 25, and the video signal processing apparatus 500 It can be performed by the processor 510 of.
  • steps S2510 to S2530 of FIG. 25 may correspond to an example of step S910 of FIG. 9, and step S2540 of FIG. 25 may correspond to an example of step S930 of FIG. 9.
  • the encoder generates an MPM candidate list based on a prediction mode of at least one neighboring block adjacent to the current block. For example, the encoder generates an MPM candidate list based on the intra prediction mode of the left neighboring block and the upper neighboring block of the current block.
  • the encoder generates a single MPM candidate list regardless of the intra prediction type of the current block (general intra prediction, MRL intra prediction, and ISP intra prediction).
  • the encoder may generate the same MPM candidate list regardless of the ISP division direction (vertical direction, horizontal direction).
  • step S2520 the encoder changes the MPM candidate list by removing at least one mode from the MPM candidate list based on the intra prediction type. That is, with respect to a single MPM candidate list generated regardless of the intra prediction type, the encoder checks whether or not an unused mode exists for each intra prediction type. If there is a mode that cannot be used in the corresponding intra prediction, the mode is removed from the MPM candidate list. Prior to or concurrently with step S2520, the encoder may determine the intra prediction type of the current block.
  • the intra prediction type is a first type in which a reference sample located in a line adjacent to the current block is used, and the current block is not divided (existing intra prediction), and a reference sample located in a line separated by 2 samples distance or more from the current block.
  • This may correspond to one of the used second type (MRL intra prediction) or the third type (ISP intra prediction) in which the current block is divided by the ISP using a reference sample located in a line adjacent to the current block.
  • the planar mode and the DC mode may be removed from the MPM candidate list.
  • the encoder may remove the planar mode and the DC mode from the MPM candidate list. For example, as shown in FIG. 23B, the encoder may reconstruct (change) the MPM candidate list by rearranging the remaining modes after removing the planar mode and the DC mode from the MPM candidate list.
  • the DC mode may be removed from the MPM candidate list.
  • the encoder can remove the DC mode from the MPM candidate list. For example, as shown in FIG. 23C, the encoder may reconstruct (change) the MPM candidate list by rearranging the remaining modes after removing the DC mode from the MPM candidate list.
  • the planner mode may be removed from the MPM candidate list.
  • the DC mode may be available and the planar mode may not be used.
  • the encoder may remove the planar mode from the MPM candidate list. For example, as shown in FIG. 24B, the encoder may reconfigure (change) the MPM candidate list by rearranging the remaining modes while removing the planar mode from the MPM candidate list.
  • step S2530 the encoder determines an MPM index related to the intra prediction mode of the current block derived based on the rate-distortion cost from the MPM candidate list.
  • the encoder may determine an optimal intra prediction mode from the MPM candidate list in consideration of rate-distortion cost and determine an MPM index corresponding to the optimal intra prediction mode.
  • the encoder encodes intra prediction information including information on an MPM index and an intra prediction type.
  • the information on the intra prediction type may further include a reference line index (eg, ref_idx) indicating the location of the reference sample and information indicating whether to divide the ISP.
  • the intra prediction information may further include ISP direction information related to the division direction of the current block.
  • the current block may be divided in a horizontal direction or a vertical direction, such as 20a and 20b.
  • the encoder may equally construct one MPM candidate list regardless of the division direction, and determine an intra prediction mode as an optimal mode (a mode having a smaller RD cost) among prediction modes determined according to each division direction. That is, the intra prediction mode may be a mode having a lower rate-distortion cost among modes determined for horizontal division and vertical division in the MPM candidate list.
  • FIG. 26 shows an example of a flowchart for intra prediction in a process of decoding a video signal according to an embodiment of the present specification.
  • the operations of FIG. 26 may be performed by the decoding apparatus 200 or the video signal processing apparatus 500. More specifically, the operations of FIG. 26 may be performed by the intra prediction unit 265 (intra prediction mode/type determination unit 266 of FIG. 10) in the decoding apparatus 200, and further, the video signal processing apparatus ( 500) may be performed by the processor 510.
  • steps S2610 to S2640 of FIG. 26 may correspond to an example of step S1110 of FIG. 11, and step S2650 may correspond to an example of step S1130 of FIG. 11.
  • the decoder acquires intra prediction information of a current block to which intra prediction is applied.
  • the intra prediction information includes information on an intra prediction type of the current block and an MPM index.
  • the information on the intra prediction type may further include a reference line index (eg, ref_idx) indicating the location of the reference sample and information indicating whether to divide the ISP. If the intra prediction type corresponds to the third type (ISP intra prediction), the intra prediction information may further include ISP direction information related to the division direction of the current block.
  • the decoder generates an MPM candidate list based on the prediction mode of at least one neighboring block adjacent to the current block. For example, the decoder generates an MPM candidate list based on the intra prediction mode of the left neighboring block and the upper neighboring block of the current block.
  • the decoder generates a single MPM candidate list regardless of the intra prediction type of the current block (general intra prediction, MRL intra prediction, and ISP intra prediction).
  • the decoder can generate the same MPM candidate list regardless of the ISP division direction (vertical direction, horizontal direction).
  • step S2630 the decoder changes the MPM candidate list by removing at least one mode from the MPM candidate list based on the intra prediction type. That is, with respect to a single MPM candidate list generated regardless of the intra prediction type, the decoder checks whether or not an unused mode exists for each intra prediction type. If there is a mode that cannot be used in the corresponding intra prediction, the mode is removed from the MPM candidate list.
  • the intra prediction type is a first type in which a reference sample located in a line adjacent to the current block is used, and the current block is not divided (existing intra prediction), and a reference sample located in a line separated by 2 samples distance or more from the current block
  • This may correspond to one of the used second type (MRL intra prediction) or the third type (ISP intra prediction) in which the current block is divided by the ISP using a reference sample located in a line adjacent to the current block.
  • the planar mode and the DC mode may be removed from the MPM candidate list.
  • the decoder can remove the planar mode and the DC mode from the MPM candidate list. For example, as shown in FIG. 23B, the decoder may reconstruct (change) the MPM candidate list by rearranging the remaining modes after removing the planar mode and the DC mode from the MPM candidate list.
  • the DC mode may be removed from the MPM candidate list.
  • the decoder can remove the DC mode from the MPM candidate list. For example, as shown in FIG. 23C, the decoder may reconstruct (change) the MPM candidate list by rearranging the remaining modes after removing the DC mode from the MPM candidate list.
  • the planner mode may be removed from the MPM candidate list.
  • the DC mode may be available and the planar mode may not be used.
  • the decoder may remove the planar mode from the MPM candidate list. For example, as shown in FIG. 24B, the decoder may reconfigure (change) the MPM candidate list by rearranging the remaining modes while removing the planar mode from the MPM candidate list.
  • the decoder determines an intra prediction mode related to the MPM index from the MPM candidate list.
  • the decoder may determine an MPM candidate (prediction mode) corresponding to the MPM index from the MPM candidate list reconstructed in consideration of the intra prediction type after being generated singly as the intra prediction mode of the current block.
  • step S2650 the decoder generates a prediction sample of the current block based on the intra prediction mode and the reference sample in the current picture.
  • the processing method to which the present invention is applied may be produced in the form of a program executed by a computer, and may be stored in a computer-readable recording medium.
  • Multimedia data having a data structure according to the present invention can also be stored in a computer-readable recording medium.
  • the computer-readable recording medium includes all kinds of storage devices and distributed storage devices in which computer-readable data is stored.
  • the computer-readable recording medium includes, for example, Blu-ray disk (BD), universal serial bus (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical It may include a data storage device.
  • the computer-readable recording medium includes media implemented in the form of a carrier wave (for example, transmission through the Internet).
  • the bitstream generated by the encoding method may be stored in a computer-readable recording medium or transmitted through a wired or wireless communication network.
  • an embodiment of the present invention may be implemented as a computer program product using a program code, and the program code may be executed in a computer according to the embodiment of the present invention.
  • the program code may be stored on a carrier readable by a computer.
  • a non-transitory computer-readable medium stores one or more instructions executed by one or more processors.
  • the one or more instructions generate a most probable mode (MPM) candidate list based on a prediction mode of at least one neighboring block adjacent to a current block for encoding a video signal, and the intra prediction type of the current block Change the MPM candidate list by removing at least one mode from the MPM candidate list based on the MPM candidate list, determine an MPM index related to the intra prediction mode of the current block derived based on a rate-distortion cost from the MPM candidate list, and ,
  • the video signal processing apparatus 500 (encoding apparatus 100) is controlled to encode intra prediction information including information on the MPM index and the intra prediction type.
  • the intra prediction type is a first type in which a reference sample located in a line adjacent to the current block is used, and the current block is not divided, and a reference sample located in a line separated by 2 sample distances or more from the current block. It may correspond to one of the used second type or a third type in which the reference sample located in a line adjacent to the current block is used and the current block is divided by an intra subpartition.
  • the planar mode and the DC mode may be removed from the MPM candidate list.
  • the DC mode when the intra prediction type corresponds to the third type, the DC mode may be removed from the MPM candidate list.
  • the planar mode may be removed from the MPM candidate list.
  • the intra prediction information further includes ISP direction information related to a division direction of the current block when the intra prediction type corresponds to a third type, and the intra prediction mode is horizontal direction division in the MPM candidate list. It may be a mode having a smaller rate-distortion cost among the modes determined for the and vertical division.
  • the instructions according to an embodiment of the present specification acquire intra prediction information of a current block to which the intra prediction is applied, for decoding a video signal, wherein the intra prediction information includes information on an intra prediction type of the current block and
  • the MPM includes an MPM index, generates an MPM candidate list based on a prediction mode of at least one neighboring block adjacent to the current block, and removes at least one mode from the MPM candidate list based on the intra prediction type.
  • a video signal processing apparatus to change a candidate list, determine an intra prediction mode related to the MPM index from the MPM candidate list, and generate a prediction sample of the current block based on the intra prediction mode and a reference sample in the current picture ( 500) (encoding device 100) is controlled.
  • the intra prediction type is a first type in which a reference sample located in a line adjacent to the current block is used, and the current block is not divided, and a reference sample located in a line separated by 2 sample distances or more from the current block. It may correspond to one of the used second type or a third type in which the reference sample located in a line adjacent to the current block is used and the current block is divided by an intra subpartition.
  • the planar mode and the DC mode may be removed from the MPM candidate list.
  • the DC mode when the intra prediction type corresponds to the third type, the DC mode may be removed from the MPM candidate list.
  • the planar mode may be removed from the MPM candidate list.
  • the intra prediction information may further include ISP direction information related to a division direction of the current block when the intra prediction type corresponds to a third type.
  • the embodiments described in the present invention may be implemented and performed on a processor, microprocessor, controller, or chip.
  • the functional units illustrated in each drawing may be implemented and executed on a computer, processor, microprocessor, controller, or chip.
  • the decoder and encoder to which the present invention is applied include a multimedia broadcasting transmission/reception device, a mobile communication terminal, a home cinema video device, a digital cinema video device, a surveillance camera, a video chat device, a real-time communication device such as video communication, a mobile streaming device, Storage media, camcorders, video-on-demand (VoD) service providers, OTT video (Over the top video) devices, Internet streaming service providers, three-dimensional (3D) video devices, video telephony video devices, and medical video devices. And can be used to process video signals or data signals.
  • an OTT video (Over the top video) device may include a game console, a Blu-ray player, an Internet-connected TV, a home theater system, a smartphone, a tablet PC, and a digital video recorder (DVR).
  • an embodiment of the present invention may be implemented by various means, for example, hardware, firmware, software, or a combination thereof.
  • an embodiment of the present invention is one or more ASICs (application specific integrated circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs ( field programmable gate arrays), processors, controllers, microcontrollers, microprocessors, etc.
  • ASICs application specific integrated circuits
  • DSPs digital signal processors
  • DSPDs digital signal processing devices
  • PLDs programmable logic devices
  • FPGAs field programmable gate arrays
  • processors controllers, microcontrollers, microprocessors, etc.
  • an embodiment of the present invention may be implemented in the form of a module, procedure, or function that performs the functions or operations described above.
  • the software code can be stored in a memory and driven by a processor.
  • the memory may be located inside or outside the processor, and may exchange data with the processor through various known means.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Embodiments of the present specification provide a video signal processing method and apparatus for intra prediction. A method for encoding a video signal, according to an embodiment of the present specification, comprises the steps of: generating a most probable mode (MPM) candidate list on the basis of a prediction mode of at least one neighboring block adjacent to a current block; changing the MPM candidate list by removing at least one mode from the MPM candidate list on the basis of an intra prediction type; determining an MPM index related to an intra prediction mode of the current block, which is derived from the MPM candidate list on the basis of a rate-distortion rate; and encoding intra prediction information including information about the MPM index and the intra prediction type. By generating the same MPM candidate list for various intra prediction types and then changing the MPM candidate list so as to remove an unavailable MPM candidate according to the intra prediction type, an encoding/decoding structure of intra prediction information can be simplified, and the data amount and computation complexity required for intra prediction can be reduced.

Description

인트라 예측을 위한 비디오 신호의 처리 방법 및 장치Video signal processing method and apparatus for intra prediction
본 명세서의 실시예는 비디오/영상 압축 코딩 시스템에 관한 것으로서, 보다 구체적으로 비디오 신호의 인코딩/디코딩 과정에서 인트라 예측(intra prediction)을 수행하기 위한 방법 및 장치에 관한 것이다. Embodiments of the present specification relate to a video/video compression coding system, and more particularly, to a method and apparatus for performing intra prediction in an encoding/decoding process of a video signal.
압축 부호화는 디지털화된 정보를 통신 회선을 통해 전송하거나, 저장 매체에 적합한 형태로 저장하기 위한 일련의 신호 처리 기술을 의미한다. 영상, 이미지, 음성 등의 미디어가 압축 부호화의 대상이 될 수 있으며, 특히 영상을 대상으로 압축 부호화를 수행하는 기술을 비디오 영상 압축이라고 일컫는다. Compression coding refers to a series of signal processing techniques for transmitting digitized information through a communication line or storing it in a format suitable for a storage medium. Media such as video, image, and audio may be subject to compression encoding. In particular, a technique for performing compression encoding on an image is referred to as video image compression.
차세대 비디오 컨텐츠는 고해상도(high spatial resolution), 고 프레임 율(high frame rate) 및 영상 표현의 고차원화(high dimensionality of scene representation)라는 특징을 갖게 될 것이다. 그러한 컨텐츠를 처리하기 위해서는 메모리 저장(memory storage), 메모리 액세스율(memory access rate) 및 처리 전력(processing power) 측면에서 엄청난 증가를 가져올 것이다. Next-generation video content will be characterized by high spatial resolution, high frame rate, and high dimensionality of scene representation. In order to process such content, it will bring a tremendous increase in terms of memory storage, memory access rate, and processing power.
인트라 예측(intra prediction)은 현재 픽처 내에서 인코딩/디코딩하고자 하는 현재 블록의 주변에 복원된 샘플들을 참조함으로써 예측을 수행하는 방법이다. 인트라 예측의 효율을 증대시키기 위하여, 새로운 인트라 예측 방법과 함께 인트라 예측 모드의 추가/확장 등이 논의되고 있다. Intra prediction is a method of performing prediction by referring to reconstructed samples around a current block to be encoded/decoded in a current picture. In order to increase the efficiency of intra prediction, a new intra prediction method and addition/extension of an intra prediction mode are being discussed.
본 명세서의 실시예는 인트라 예측을 위한 정보의 인코딩/디코딩 과정에서 MPM(most probable) 후보 리스트의 구성에 필요한 데이터 량과 처리 시간을 감소시키기 위한 방법 및 장치를 제공한다. An embodiment of the present specification provides a method and apparatus for reducing the amount of data and processing time required for constructing a most probable (MPM) candidate list in a process of encoding/decoding information for intra prediction.
본 명세서의 실시예에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 명세서의 실시예가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다. The technical problems to be achieved in the embodiments of the present specification are not limited to the technical problems mentioned above, and other technical problems that are not mentioned are those of ordinary skill in the technical field to which the embodiments of the present specification belong from the following description. Will be clearly understood.
본 명세서의 실시예들은 인트라 예측(intra prediction)을 위한 비디오 신호의 처리 방법 및 장치를 제공한다. 본 명세서의 실시예에 따른 비디오 신호의 인코딩 방법은, 현재 블록과 인접한 적어도 하나의 이웃 블록의 예측 모드에 기반하여 MPM(most probable mode) 후보 리스트를 생성하는 단계와, 상기 인트라 예측 타입에 기반하여 상기 MPM 후보 리스트에서 적어도 하나의 모드를 제거함으로써 상기 MPM 후보 리스트를 변경하는 단계와, 상기 MPM 후보 리스트에서 율-왜곡 비용(rate-distortion rate)에 기반하여 유도되는 상기 현재 블록의 인트라 예측 모드와 관련된 MPM 인덱스를 결정하는 단계와, 상기 MPM 인덱스와 상기 인트라 예측 타입에 대한 정보를 포함하는 인트라 예측 정보를 인코딩하는 단계를 포함한다.Embodiments of the present specification provide a method and apparatus for processing a video signal for intra prediction. A video signal encoding method according to an embodiment of the present specification includes generating a most probable mode (MPM) candidate list based on a prediction mode of at least one neighboring block adjacent to a current block, and based on the intra prediction type. Changing the MPM candidate list by removing at least one mode from the MPM candidate list; and an intra prediction mode of the current block derived based on a rate-distortion rate from the MPM candidate list; and Determining a related MPM index, and encoding intra prediction information including information on the MPM index and the intra prediction type.
일 실시예에서, 상기 인트라 예측 타입은, 상기 현재 블록에 인접한 라인에 위치한 참조 샘플이 사용되고 상기 현재 블록이 분할되지 않는 제1 타입, 상기 현재 블록으로부터 2 샘플 거리 이상 이격된 라인에 위치한 참조 샘플이 사용되는 제2 타입, 또는 상기 현재 블록에 인접한 라인에 위치한 참조 샘플이 사용되고 상기 현재 블록이 인트라 서브파티션에 의해 분할되는 제3 타입 중 하나에 해당할 수 있다.In one embodiment, the intra prediction type is a first type in which a reference sample located in a line adjacent to the current block is used, and the current block is not divided, and a reference sample located in a line separated by 2 sample distances or more from the current block. It may correspond to one of the used second type or a third type in which the reference sample located in a line adjacent to the current block is used and the current block is divided by an intra subpartition.
일 실시예에서, 상기 인트라 예측 타입이 제2 타입에 해당하면, 상기 MPM 후보 리스트에서 플래너 모드와 DC 모드가 제거될 수 있다.In an embodiment, if the intra prediction type corresponds to the second type, the planar mode and the DC mode may be removed from the MPM candidate list.
일 실시예에서, 상기 인트라 예측 타입이 제3 타입에 해당하면, 상기 MPM 후보 리스트에서 DC 모드가 제거될 수 있다.In an embodiment, when the intra prediction type corresponds to the third type, the DC mode may be removed from the MPM candidate list.
일 실시예에서, 상기 인트라 예측 타입이 상기 제2 타입에 해당하면, 상기 MPM 후보 리스트에서 플래너 모드가 제거될 수 있다.In an embodiment, if the intra prediction type corresponds to the second type, the planar mode may be removed from the MPM candidate list.
일 실시예에서, 상기 인트라 예측 정보는 상기 인트라 예측 타입이 제3 타입에 해당하면 상기 현재 블록의 분할 방향과 관련된 ISP 방향 정보를 더 포함하고, 상기 인트라 예측 모드는 상기 MPM 후보 리스트에서 수평 방향 분할과 수직 방향 분할에 대하여 결정된 모드들 중에서 더 작은 율-왜곡 비용을 갖는 모드일 수 있다.In one embodiment, the intra prediction information further includes ISP direction information related to a division direction of the current block when the intra prediction type corresponds to a third type, and the intra prediction mode is horizontal direction division in the MPM candidate list. It may be a mode having a smaller rate-distortion cost among the modes determined for the and vertical division.
본 명세서의 실시예에 따른 비디오 신호의 디코딩 방법은, 상기 인트라 예측이 적용되는 현재 블록의 인트라 예측 정보를 획득하는 단계와, 여기서 상기 인트라 예측 정보는 상기 현재 블록의 인트라 예측 타입에 대한 정보와 MPM 인덱스를 포함하고, 상기 현재 블록과 인접한 적어도 하나의 이웃 블록의 예측 모드에 기반하여 MPM 후보 리스트를 생성하는 단계와, 상기 인트라 예측 타입에 기반하여 상기 MPM 후보 리스트에서 적어도 하나의 모드를 제거함으로써 상기 MPM 후보 리스트를 변경하는 단계와, 상기 MPM 후보 리스트에서 상기 MPM 인덱스와 관련된 인트라 예측 모드를 결정하는 단계와, 상기 인트라 예측 모드 및 현재 픽처 내 참조 샘플에 기반하여 상기 현재 블록의 예측 샘플을 생성하는 단계를 포함한다.A method of decoding a video signal according to an embodiment of the present specification includes obtaining intra prediction information of a current block to which the intra prediction is applied, wherein the intra prediction information includes information on an intra prediction type of the current block and MPM Including an index, generating an MPM candidate list based on a prediction mode of at least one neighboring block adjacent to the current block, and by removing at least one mode from the MPM candidate list based on the intra prediction type. Changing an MPM candidate list, determining an intra prediction mode related to the MPM index from the MPM candidate list, and generating a prediction sample of the current block based on the intra prediction mode and a reference sample in the current picture Includes steps.
일 실시예에서, 상기 인트라 예측 타입은, 상기 현재 블록에 인접한 라인에 위치한 참조 샘플이 사용되고 상기 현재 블록이 분할되지 않는 제1 타입, 상기 현재 블록으로부터 2 샘플 거리 이상 이격된 라인에 위치한 참조 샘플이 사용되는 제2 타입, 또는 상기 현재 블록에 인접한 라인에 위치한 참조 샘플이 사용되고 상기 현재 블록이 인트라 서브파티션에 의해 분할되는 제3 타입 중 하나에 해당할 수 있다.In one embodiment, the intra prediction type is a first type in which a reference sample located in a line adjacent to the current block is used, and the current block is not divided, and a reference sample located in a line separated by 2 sample distances or more from the current block. It may correspond to one of the used second type or a third type in which the reference sample located in a line adjacent to the current block is used and the current block is divided by an intra subpartition.
일 실시예에서, 상기 인트라 예측 타입이 제2 타입에 해당하면, 상기 MPM 후보 리스트에서 플래너 모드와 DC 모드가 제거될 수 있다.In an embodiment, if the intra prediction type corresponds to the second type, the planar mode and the DC mode may be removed from the MPM candidate list.
일 실시예에서, 상기 인트라 예측 타입이 제3 타입에 해당하면, 상기 MPM 후보 리스트에서 DC 모드가 제거될 수 있다.In an embodiment, when the intra prediction type corresponds to the third type, the DC mode may be removed from the MPM candidate list.
일 실시예에서, 상기 인트라 예측 타입이 상기 제2 타입에 해당하면, 상기 MPM 후보 리스트에서 플래너 모드가 제거될 수 있다.In an embodiment, if the intra prediction type corresponds to the second type, the planar mode may be removed from the MPM candidate list.
일 실시예에서, 상기 인트라 예측 정보는, 상기 인트라 예측 타입이 제3 타입에 해당하면 상기 현재 블록의 분할 방향과 관련된 ISP 방향 정보를 더 포함할 수 있다.In an embodiment, the intra prediction information may further include ISP direction information related to a division direction of the current block when the intra prediction type corresponds to a third type.
본 명세서의 실시예에 따른 인코딩 장치는, 상기 비디오 신호를 저장하는 메모리와, 상기 메모리와 결합되고 상기 비디오 신호를 처리하는 프로세서를 포함한다. 상기 프로세서는, 현재 블록과 인접한 적어도 하나의 이웃 블록의 예측 모드에 기반하여 MPM 후보 리스트를 생성하고, 상기 현재 블록의 인트라 예측 타입에 기반하여 상기 MPM 후보 리스트에서 적어도 하나의 모드를 제거함으로써 상기 MPM 후보 리스트를 변경하고, 상기 MPM 후보 리스트에서 율-왜곡 비용에 기반하여 유도되는 상기 현재 블록의 인트라 예측 모드와 관련된 MPM 인덱스를 결정하고, 상기 MPM 인덱스와 상기 인트라 예측 타입에 대한 정보를 포함하는 인트라 예측 정보를 인코딩하도록 설정된다.An encoding apparatus according to an embodiment of the present specification includes a memory for storing the video signal, and a processor coupled to the memory and processing the video signal. The processor generates an MPM candidate list based on a prediction mode of at least one neighboring block adjacent to a current block, and removes at least one mode from the MPM candidate list based on an intra prediction type of the current block. Intra including the MPM index and information on the intra prediction type by changing a candidate list and determining an MPM index related to an intra prediction mode of the current block derived based on a rate-distortion cost from the MPM candidate list It is set to encode prediction information.
본 명세서의 실시예에 따른 디코딩 장치는, 상기 비디오 신호를 저장하는 메모리와, 상기 메모리와 결합되고 상기 비디오 신호를 처리하는 프로세서를 포함한다. 상기 프로세서는, 상기 인트라 예측이 적용되는 현재 블록의 인트라 예측 정보를 획득하고, 여기서 상기 인트라 예측 정보는 상기 현재 블록의 인트라 예측 타입에 대한 정보와 MPM(most probable mode) 인덱스를 포함하고, 상기 현재 블록과 인접한 적어도 하나의 이웃 블록의 예측 모드에 기반하여 MPM 후보 리스트를 생성하고, 상기 인트라 예측 타입에 기반하여 상기 MPM 후보 리스트에서 적어도 하나의 모드를 제거함으로써 상기 MPM 후보 리스트를 변경하고, 상기 MPM 후보 리스트에서 상기 MPM 인덱스와 관련된 인트라 예측 모드를 결정하고, 상기 인트라 예측 모드 및 현재 픽처 내 참조 샘플에 기반하여 상기 현재 블록의 예측 샘플을 생성하도록 설정된다.A decoding apparatus according to an embodiment of the present specification includes a memory storing the video signal, and a processor coupled to the memory and processing the video signal. The processor obtains intra prediction information of a current block to which the intra prediction is applied, wherein the intra prediction information includes information on an intra prediction type of the current block and a most probable mode (MPM) index, and the current Generate an MPM candidate list based on prediction modes of at least one neighboring block adjacent to the block, and change the MPM candidate list by removing at least one mode from the MPM candidate list based on the intra prediction type, and the MPM It is configured to determine an intra prediction mode related to the MPM index from a candidate list, and to generate a prediction sample of the current block based on the intra prediction mode and a reference sample in the current picture.
본 명세서의 실시예는 하나 또는 그 이상의 명령어들을 저장하는 비일시적 컴퓨터 판독가능한 매체(non-transitory computer-readable medium)를 제공한다. 하나 또는 그 이상의 프로세서들에 의해 실행되는 상기 하나 또는 그 이상의 명령어들은, 현재 블록과 인접한 적어도 하나의 이웃 블록의 예측 모드에 기반하여 MPM(most probable mode) 후보 리스트를 생성하고, 상기 현재 블록의 인트라 예측 타입에 기반하여 상기 MPM 후보 리스트에서 적어도 하나의 모드를 제거함으로써 상기 MPM 후보 리스트를 변경하고, 상기 MPM 후보 리스트에서 율-왜곡 비용(rate-distortion rate)에 기반하여 유도되는 상기 현재 블록의 인트라 예측 모드와 관련된 MPM 인덱스를 결정하고, 상기 MPM 인덱스와 상기 인트라 예측 타입에 대한 정보를 포함하는 인트라 예측 정보를 인코딩하도록 비디오 신호 처리 장치를 제어한다.An embodiment of the present specification provides a non-transitory computer-readable medium storing one or more instructions. The one or more instructions executed by one or more processors generate a most probable mode (MPM) candidate list based on a prediction mode of at least one neighboring block adjacent to the current block, and the intra The MPM candidate list is changed by removing at least one mode from the MPM candidate list based on a prediction type, and an intra of the current block derived based on a rate-distortion rate from the MPM candidate list A video signal processing apparatus is controlled to determine an MPM index related to a prediction mode and encode intra prediction information including information on the MPM index and the intra prediction type.
또한, 하나 또는 그 이상의 프로세서들에 의해 실행되는 상기 하나 또는 그 이상의 명령어들은, 현재 블록의 인트라 예측 타입에 대한 정보와 MPM 인덱스를 포함하는 인트라 예측 정보를 획득하고, 상기 현재 블록과 인접한 적어도 하나의 이웃 블록의 예측 모드에 기반하여 MPM 후보 리스트를 생성하고, 상기 인트라 예측 타입에 기반하여 상기 MPM 후보 리스트에서 적어도 하나의 모드를 제거함으로써 상기 MPM 후보 리스트를 변경하고, 상기 MPM 후보 리스트에서 상기 MPM 인덱스와 관련된 인트라 예측 모드를 결정하고, 상기 인트라 예측 모드 및 현재 픽처 내 참조 샘플에 기반하여 상기 현재 블록의 예측 샘플을 생성하도록 비디오 신호 처리 장치를 제어한다. In addition, the one or more instructions executed by one or more processors obtain intra prediction information including information on an intra prediction type of a current block and an MPM index, and at least one adjacent to the current block Generate an MPM candidate list based on a prediction mode of a neighboring block, and change the MPM candidate list by removing at least one mode from the MPM candidate list based on the intra prediction type, and the MPM index in the MPM candidate list A video signal processing apparatus is controlled to determine an intra prediction mode related to the intra prediction mode, and to generate a prediction sample of the current block based on the intra prediction mode and a reference sample in the current picture.
본 명세서의 실시예에 따르면, 다양한 인트라 예측 타입들에 동일한 MPM 후보 리스트를 생성한 이후 인트라 예측 타입에 따라 사용 불가능한 MPM 후보가 제거되도록 MPM 후보 리스트를 변경함으로써, 인트라 예측 정보의 인코딩/디코딩 구조를 단순화시키고, 인트라 예측에 필요한 데이터 량과 연산 복잡도를 감소시킬 수 있다.According to an embodiment of the present specification, after generating the same MPM candidate list for various intra prediction types, by changing the MPM candidate list so that unusable MPM candidates are removed according to the intra prediction type, the encoding/decoding structure of intra prediction information It can simplify, and reduce the amount of data and computational complexity required for intra prediction.
본 명세서의 실시예에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 명세서의 실시예가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects obtained in the embodiments of the present specification are not limited to the above-mentioned effects, and other effects not mentioned are clearly to those of ordinary skill in the art to which the embodiments of the present specification belong from the following description. It will be understandable.
본 명세서에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 명세서에 대한 실시예를 제공하고, 상세한 설명과 함께 본 명세서의 기술적 특징을 설명한다.The accompanying drawings, which are included as part of the detailed description to aid in understanding of the present specification, provide embodiments of the present specification, and describe technical features of the present specification together with the detailed description.
도 1은 본 명세서의 실시예에 따른 영상 코딩 시스템의 예를 도시한다.1 shows an example of an image coding system according to an embodiment of the present specification.
도 2는 본 명세서의 실시예에 따른 비디오 신호의 인코딩이 수행되는 인코딩 장치의 개략적인 블록도의 예를 도시한다.2 shows an example of a schematic block diagram of an encoding apparatus in which encoding of a video signal is performed according to an embodiment of the present specification.
도 3은 본 명세서의 실시예에 따른 영상 신호의 디코딩이 수행되는 디코딩 장치의 개략적인 블록도의 예를 도시한다.3 shows an example of a schematic block diagram of a decoding apparatus for decoding an image signal according to an embodiment of the present specification.
도 4는 본 명세서의 실시예에 따른 컨텐츠 스트리밍 시스템의 예를 도시한다.4 shows an example of a content streaming system according to an embodiment of the present specification.
도 5는 본 명세서의 실시예에 따른 비디오 신호 처리 장치의 예를 도시한다.5 shows an example of a video signal processing apparatus according to an embodiment of the present specification.
도 6a 내지 도 6d는 본 명세서의 실시예에 따른 블록 분할 구조의 예를 도시한다.6A to 6D illustrate examples of a block division structure according to an embodiment of the present specification.
도 7은 본 명세서의 실시예에 따른 비디오 신호를 구성하는 픽처의 인코딩을 위한 흐름도의 예를 도시한다.7 shows an example of a flowchart for encoding a picture constituting a video signal according to an embodiment of the present specification.
도 8은 본 명세서의 실시예에 따른 비디오 신호를 구성하는 픽처의 디코딩을 위한 흐름도의 예를 도시한다.8 shows an example of a flowchart for decoding a picture constituting a video signal according to an embodiment of the present specification.
도 9는 본 명세서의 실시예에 따른 비디오 신호의 인코딩 과정에서의 인트라 예측을 위한 흐름도의 예를 도시한다.9 shows an example of a flowchart for intra prediction in an encoding process of a video signal according to an embodiment of the present specification.
도 10은 본 명세서의 실시예에 따른 인코딩 장치 내 인트라 예측부의 예를 도시한다.10 illustrates an example of an intra prediction unit in an encoding device according to an embodiment of the present specification.
도 11은 본 명세서의 실시예에 따른 비디오 신호의 디코딩 과정에서의 인트라 예측을 위한 흐름도의 예를 도시한다.11 shows an example of a flowchart for intra prediction in a process of decoding a video signal according to an embodiment of the present specification.
도 12는 본 명세서의 실시예에 따른 디코딩 장치 내 인트라 예측부의 예를 도시한다.12 illustrates an example of an intra prediction unit in a decoding apparatus according to an embodiment of the present specification.
도 13은 본 명세서의 실시예에 따른 비디오 신호의 인코딩 과정에서 인트라 예측 정보의 인코딩을 위한 흐름도의 예를 도시한다.13 shows an example of a flowchart for encoding intra prediction information in a process of encoding a video signal according to an embodiment of the present specification.
도 14는 본 명세서의 실시예에 따른 비디오 신호의 디코딩 과정에서 인트라 예측 정보의 디코딩을 위한 흐름도의 예를 도시한다.14 shows an example of a flowchart for decoding intra prediction information in a process of decoding a video signal according to an embodiment of the present specification.
도 15는 본 명세서의 실시예에 따른 비디오 신호의 디코딩 과정에서 인트라 예측 모드를 결정하기 위한 흐름도의 예를 도시한다.15 illustrates an example of a flowchart for determining an intra prediction mode in a process of decoding a video signal according to an embodiment of the present specification.
도 16은 본 명세서의 실시예에 따른 33개의 방향성 인트라 예측 모드들의 예를 도시한다.16 illustrates an example of 33 directional intra prediction modes according to an embodiment of the present specification.
도 17은 본 명세서의 실시예에 따른 65개의 방향성 인트라 예측 모드들의 예를 도시한다.17 illustrates an example of 65 directional intra prediction modes according to an embodiment of the present specification.
도 18은 본 명세서의 실시예에 따른 MPM(most probable mode) 후보 리스트를 구성하기 위한 흐름도의 예를 도시한다.18 shows an example of a flowchart for configuring a most probable mode (MPM) candidate list according to an embodiment of the present specification.
도 19는 본 명세서의 실시예에 따른 다중 참조 라인(multi-reference line, MRL) 인트라 예측을 고려한 참조 샘플들의 예를 도시한다.19 shows examples of reference samples taking into account multi-reference line (MRL) intra prediction according to an embodiment of the present specification.
도 20a 및 도 20b는 본 명세서의 실시예에 따른 인트라 서브파티션(intra sub-partition, ISP)에 따른 블록 분할의 예를 도시한다.20A and 20B illustrate an example of block division according to an intra sub-partition (ISP) according to an embodiment of the present specification.
도 21은 본 명세서의 실시예에 따른 색차 블록(chroma block)의 인트라 예측을 위한 다중 DM(multiple direct mode)을 설명하기 위한 도면이다.21 is a diagram for explaining a multiple direct mode (DM) for intra prediction of a chroma block according to an embodiment of the present specification.
도 22는 본 명세서의 실시예에 따른 색차 블록의 인트라 예측을 위한 CCLM(cross-component linear model) 모드의 파라미터들을 도출하기 위한 샘플 위치의 예를 도시한다.22 illustrates an example of a sample location for deriving parameters of a cross-component linear model (CCLM) mode for intra prediction of a color difference block according to an embodiment of the present specification.
도 23a 내지 도 23c는 본 명세서의 실시예에 따른 인트라 예측 타입에 기반하여 MPM(most probable mode) 후보 리스트를 구성하는 방법의 예를 도시한다. 23A to 23C illustrate examples of a method of configuring a most probable mode (MPM) candidate list based on an intra prediction type according to an embodiment of the present specification.
도 24a 내지 도 24c는 본 명세서의 실시예에 따른 인트라 예측 타입에 기반하여 MPM 후보 리스트를 구성하는 방법의 다른 예를 도시한다.24A to 24C illustrate another example of a method of constructing an MPM candidate list based on an intra prediction type according to an embodiment of the present specification.
도 25는 본 명세서의 실시예에 따른 비디오 신호의 인코딩 과정에서 인트라 예측을 위한 흐름도의 예를 도시한다.25 illustrates an example of a flowchart for intra prediction in an encoding process of a video signal according to an embodiment of the present specification.
도 26은 본 명세서의 실시예에 따른 비디오 신호의 디코딩 과정에서 인트라 예측을 위한 흐름도의 예를 도시한다.26 shows an example of a flowchart for intra prediction in a process of decoding a video signal according to an embodiment of the present specification.
이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다. 이하의 상세한 설명은 본 발명의 완전한 이해를 제공하기 위해서 구체적 세부사항을 포함한다. 그러나, 당업자는 본 발명이 이러한 구체적 세부사항 없이도 실시될 수 있음을 안다. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. The detailed description to be disclosed hereinafter together with the accompanying drawings is intended to describe exemplary embodiments of the present invention, and is not intended to represent the only embodiments in which the present invention may be practiced. The following detailed description includes specific details to provide a thorough understanding of the present invention. However, one of ordinary skill in the art appreciates that the invention may be practiced without these specific details.
몇몇 경우, 본 발명의 개념이 모호해지는 것을 피하기 위하여 공지의 구조 및 장치는 생략되거나, 각 구조 및 장치의 핵심기능을 중심으로 한 블록도 형식으로 도시될 수 있다. In some cases, in order to avoid obscuring the concept of the present invention, well-known structures and devices may be omitted, or may be shown in a block diagram form centering on core functions of each structure and device.
아울러, 본 발명에서 사용되는 용어는 가능한 한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 특정한 경우는 출원인이 임의로 선정한 용어를 사용하여 설명한다. 그러한 경우에는 해당 부분의 상세 설명에서 그 의미를 명확히 기재하므로, 본 발명의 설명에서 사용된 용어의 명칭만으로 단순 해석되어서는 안 될 것이며 그 해당 용어의 의미까지 파악하여 해석되어야 함을 밝혀두고자 한다.In addition, as for terms used in the present invention, general terms that are currently widely used are selected as far as possible, but specific cases will be described using terms arbitrarily selected by the applicant. In such a case, since the meaning of the term is clearly described in the detailed description of the corresponding part, it should not be interpreted simply by the name of the term used in the description of the present invention, and it should be clarified that the meaning of the term should be understood and interpreted .
이하의 설명에서 사용되는 특정 용어들은 본 발명의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 본 발명의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다. 예를 들어, 신호, 데이터, 샘플, 픽처, 프레임, 블록 등의 경우 각 코딩 과정에서 적절하게 대체되어 해석될 수 있을 것이다.Specific terms used in the following description are provided to aid understanding of the present invention, and the use of these specific terms may be changed in other forms without departing from the technical spirit of the present invention. For example, signals, data, samples, pictures, frames, blocks, etc. may be appropriately replaced and interpreted in each coding process.
이하 본 명세서에서 '처리 유닛'은 예측, 변환 및/또는 양자화 등과 같은 인코딩/디코딩의 처리 과정이 수행되는 단위를 의미한다. 또한, 처리 유닛은 휘도(luma) 성분에 대한 단위와 색차(chroma) 성분에 대한 단위를 포함하는 의미로 해석될 수 있다. 예를 들어, 처리 유닛은 블록(block), 코딩 유닛(coding unit, CU), 예측 유닛(prediction unit, PU) 또는 변환 블록(transform unit, TU)에 해당될 수 있다. Hereinafter, in the present specification, a'processing unit' means a unit in which an encoding/decoding process such as prediction, transformation, and/or quantization is performed. Also, the processing unit may be interpreted as including a unit for a luma component and a unit for a chroma component. For example, the processing unit may correspond to a block, a coding unit (CU), a prediction unit (PU), or a transform unit (TU).
또한, 처리 유닛은 휘도 성분에 대한 단위 또는 색차 성분에 대한 단위로 해석될 수 있다. 예를 들어, 처리 유닛은 휘도 성분에 대한 코딩 트리 블록(coding tree block, CTB), 코딩 블록(coding block, CB), PU 또는 변환 블록(transform block, TB)에 해당될 수 있다. 또는, 처리 유닛은 색차 성분에 대한 CTB, CB, PU 또는 TB에 해당할 수 있다. 또한, 이에 한정되는 것은 아니며 처리 유닛은 휘도 성분에 대한 단위와 색차 성분에 대한 단위를 포함하는 의미로 해석될 수도 있다. Further, the processing unit may be interpreted as a unit for a luminance component or a unit for a color difference component. For example, the processing unit may correspond to a coding tree block (CTB), a coding block (CB), a PU, or a transform block (TB) for a luminance component. Alternatively, the processing unit may correspond to CTB, CB, PU or TB for the color difference component. Further, the present invention is not limited thereto, and the processing unit may be interpreted as including a unit for a luminance component and a unit for a color difference component.
또한, 처리 유닛은 반드시 정사각형의 블록으로 한정되는 것은 아니며, 3개 이상의 꼭지점을 가지는 다각형 형태로 구성될 수도 있다. Further, the processing unit is not necessarily limited to a square block, and may be configured in a polygonal shape having three or more vertices.
또한, 이하 본 명세서에서 픽셀 또는 화소 등을 샘플로 통칭한다. 그리고, 샘플을 이용한다는 것은 픽셀 값 또는 화소 값 등을 이용한다는 것을 의미할 수 있다. In addition, in the present specification, pixels or pixels are collectively referred to as samples. In addition, using a sample may mean using a pixel value or a pixel value.
도 1은 본 명세서의 실시예에 따른 영상 코딩 시스템의 예를 도시한다. 영상 코딩 시스템은 소스 디바이스(10) 및 수신 디바이스(20)를 포함할 수 있다. 소스 디바이스(10)는 인코딩된 비디오/영상 정보 또는 데이터를 파일 또는 스트리밍 형태로 디지털 저장매체 또는 네트워크를 통하여 수신 디바이스(20)로 전달할 수 있다. 1 shows an example of an image coding system according to an embodiment of the present specification. The image coding system may include a source device 10 and a reception device 20. The source device 10 may transmit the encoded video/video information or data in a file or streaming format to the receiving device 20 through a digital storage medium or a network.
소스 디바이스(10)는 비디오 소스(11), 인코딩 장치(12), 송신기(13)를 포함할 수 있다. 수신 디바이스(20)는 수신기(21), 디코딩 장치(22) 및 렌더러(23)를 포함할 수 있다. 인코딩 장치(12)는 비디오/영상 인코딩 장치로 지칭될 수 있고, 디코딩 장치(22)는 비디오/영상 디코딩 장치로 지칭될 수 있다. 송신기(13)는 인코딩 장치(12)에 포함될 수 있다. 수신기(21)는 디코딩 장치(22)에 포함될 수 있다. 렌더러(23)는 디스플레이부를 포함할 수도 있고, 디스플레이부는 별개의 디바이스 또는 외부 컴포넌트로 구성될 수도 있다. The source device 10 may include a video source 11, an encoding device 12, and a transmitter 13. The receiving device 20 may include a receiver 21, a decoding device 22 and a renderer 23. The encoding device 12 may be referred to as a video/image encoding device, and the decoding device 22 may be referred to as a video/image decoding device. The transmitter 13 may be included in the encoding device 12. The receiver 21 may be included in the decoding device 22. The renderer 23 may include a display unit, and the display unit may be configured as a separate device or an external component.
비디오 소스(11)는 비디오/영상의 캡쳐, 합성 또는 생성 과정을 통하여 비디오/영상을 획득할 수 있다. 비디오 소스(11)는 비디오/영상 캡쳐 디바이스 및/또는 비디오/영상 생성 디바이스를 포함할 수 있다. 비디오/영상 캡쳐 디바이스는 예를 들어, 하나 이상의 카메라, 이전에 캡쳐된 비디오/영상을 포함하는 비디오/영상 아카이브를 포함할 수 있다. 비디오/영상 생성 디바이스는 예를 들어 컴퓨터, 타블렛 및 스마트폰을 포함할 수 있으며 (전자적으로) 비디오/영상을 생성할 수 있다. 예를 들어, 컴퓨터를 통하여 가상의 비디오/영상이 생성될 수 있으며, 이 경우 관련 데이터가 생성되는 과정으로 비디오/영상 캡쳐 과정이 갈음될 수 있다.The video source 11 may acquire a video/image through a process of capturing, synthesizing, or generating a video/image. The video source 11 may include a video/image capturing device and/or a video/image generating device. The video/image capturing device may include, for example, one or more cameras, and a video/image archive including previously captured video/images. Video/image generating devices may include, for example, computers, tablets and smartphones, and may (electronically) generate video/images. For example, a virtual video/image may be generated through a computer, and in this case, a video/image capturing process may be substituted as a process of generating related data.
인코딩 장치(12)는 입력 비디오/영상을 인코딩할 수 있다. 인코딩 장치(12)는 압축 및 코딩 효율을 위하여 예측, 변환, 양자화와 같은 일련의 절차를 수행할 수 있다. 인코딩된 데이터(인코딩된 비디오/영상 정보)는 비트스트림(bitstream) 형태로 출력될 수 있다.The encoding device 12 may encode an input video/video. The encoding apparatus 12 may perform a series of procedures such as prediction, transformation, and quantization for compression and coding efficiency. The encoded data (encoded video/video information) may be output in the form of a bitstream.
송신기(13)는 비트스트림 형태로 출력된 인코딩된 비디오/영상 정보 또는 데이터를 파일 또는 스트리밍 형태로 디지털 저장매체 또는 네트워크를 통하여 수신 디바이스(20)의 수신기(21)로 전달할 수 있다. 디지털 저장 매체는 USB(universal serial bus), SD 카드(secure digital card), CD(compact disc), DVD(digital versatile disc), 블루레이 디스크(blu-ray disc), HDD(hard disk drive), SSD(solid state drive)와 같은 다양한 저장 매체를 포함할 수 있다. 송신기(13)는 미리 정해진 파일 포맷을 통해 미디어 파일을 생성하기 위한 엘레먼트를 포함할 수 있고, 방송/통신 네트워크를 통한 전송을 위한 엘레멘트를 포함할 수 있다. 수신기(21)는 비트스트림을 추출하여 디코딩 장치(22)로 전달할 수 있다.The transmitter 13 may transmit the encoded video/video information or data output in the form of a bitstream to the receiver 21 of the receiving device 20 through a digital storage medium or a network in a file or streaming form. Digital storage media include USB (universal serial bus), SD card (secure digital card), CD (compact disc), DVD (digital versatile disc), Blu-ray disc, HDD (hard disk drive), SSD (solid state drive) may include a variety of storage media. The transmitter 13 may include an element for generating a media file through a predetermined file format, and may include an element for transmission through a broadcast/communication network. The receiver 21 may extract the bitstream and transmit it to the decoding device 22.
디코딩 장치(22)는 인코딩 장치(12)의 동작에 대응하는 역양자화, 역변환, 예측과 같은 일련의 절차를 수행함으로써 비디오/영상을 디코딩할 수 있다. The decoding device 22 may decode the video/video by performing a series of procedures such as inverse quantization, inverse transformation, and prediction corresponding to the operation of the encoding device 12.
렌더러(23)는 디코딩된 비디오/영상을 렌더링할 수 있다. 렌더링된 비디오/영상은 디스플레이부를 통하여 디스플레이될 수 있다.The renderer 23 may render the decoded video/image. The rendered video/image may be displayed through the display unit.
도 2는 본 명세서의 실시예에 따른 비디오 신호의 인코딩이 수행되는 인코딩 장치의 개략적인 블록도의 예를 도시한다. 도 2의 인코딩 장치(100)는 도 1의 인코딩 장치(12)에 대응할 수 있다.2 shows an example of a schematic block diagram of an encoding apparatus in which encoding of a video signal is performed according to an embodiment of the present specification. The encoding device 100 of FIG. 2 may correspond to the encoding device 12 of FIG. 1.
영상 분할부(image partitioning module)(110)는 인코딩 장치(100)에 입력된 입력 영상(또는, 픽처, 프레임)를 하나 이상의 처리 유닛(processing unit)으로 분할할 수 있다. 예를 들어, 처리 유닛은 코딩 유닛(CU)으로 지칭될 수 있다. 이 경우 코딩 유닛은 코딩 트리 유닛(coding tree unit, CTU) 또는 최대 코딩 유닛(largest coding unit, LCU)으로부터 QTBT (Quad-tree binary-tree) 구조에 따라 재귀적으로(recursively) 분할될 수 있다. 예를 들어, 하나의 코딩 유닛은 쿼드 트리 구조 및/또는 바이너리 트리 구조를 기반으로 하위(deeper) 뎁스의 복수의 코딩 유닛들로 분할될 수 있다. 이 경우 예를 들어 쿼드 트리 구조가 먼저 적용되고 바이너리 트리 구조가 나중에 적용될 수 있다. 또는 바이너리 트리 구조가 먼저 적용될 수도 있다. 더 이상 분할되지 않는 최종 코딩 유닛을 기반으로 본 명세서의 실시예에 따른 코딩 절차가 수행될 수 있다. 이 경우 영상 특성에 따른 코딩 효율에 기반하여 최대 코딩 유닛이 바로 최종 코딩 유닛으로 사용될 수 있다. 또한, 필요에 따라 코딩 유닛은 재귀적으로 보다 하위 뎁스의 코딩 유닛들로 분할됨으로써 최적의 사이즈를 갖는 코딩 유닛이 최종 코딩 유닛으로 사용될 수 있다. 여기서 코딩 절차라 함은 후술되는 예측, 변환, 및 복원과 같은 절차를 포함할 수 있다. 다른 예로, 처리 유닛은 예측 유닛(prediction unit, PU) 또는 변환 유닛(transform unit, TU)을 더 포함할 수 있다. 이 경우 예측 유닛 및 변환 유닛은 각각 상술한 코딩 유닛으로부터 분할될 수 있다. 예측 유닛은 샘플 예측의 단위일 수 있고, 변환 유닛은 변환 계수를 유도하는 단위 또는 변환 계수로부터 레지듀얼 신호(residual signal)를 유도하는 단위일 수 있다. The image partitioning module 110 may divide an input image (or picture, frame) input to the encoding apparatus 100 into one or more processing units. For example, the processing unit may be referred to as a coding unit (CU). In this case, the coding unit may be recursively partitioned from a coding tree unit (CTU) or a largest coding unit (LCU) according to a quad-tree binary-tree (QTBT) structure. For example, one coding unit may be divided into a plurality of coding units of a deeper depth based on a quad tree structure and/or a binary tree structure. In this case, for example, a quad tree structure may be applied first and a binary tree structure may be applied later. Alternatively, the binary tree structure may be applied first. A coding procedure according to an embodiment of the present specification may be performed based on a final coding unit that is no longer divided. In this case, the maximum coding unit may be directly used as the final coding unit based on coding efficiency according to image characteristics. Further, if necessary, the coding unit is recursively divided into coding units of a lower depth, so that a coding unit having an optimal size may be used as a final coding unit. Here, the coding procedure may include procedures such as prediction, transformation, and restoration described below. As another example, the processing unit may further include a prediction unit (PU) or a transform unit (TU). In this case, the prediction unit and the transform unit may be divided from the above-described coding units, respectively. The prediction unit may be a unit of sample prediction, and the transform unit may be a unit for inducing a transform coefficient or a unit for inducing a residual signal from the transform coefficient.
본 문서에서 사용되는 용어 '유닛(unit)'은 경우에 따라서 '블록(block)' 또는 '영역(area)'과 같은 용어와 혼용될 수 있다. 본 문서에서, MxN 블록은 M개의 열과 N개의 행으로 이루어진 샘플들 또는 변환 계수(transform coefficient)들의 집합을 나타낼 수 있다. 샘플은 일반적으로 픽셀 또는 픽셀의 값을 나타낼 수 있으며, 휘도(luma) 성분의 픽셀/픽셀값을 나타낼 수도 있고, 채도(chroma) 성분의 픽셀/픽셀 값을 나타낼 수도 있다. 샘플은 하나의 픽처(또는 영상)을 픽셀(pixel) 또는 펠(pel)에 대응하는 용어로서 사용될 수 있다.The term "unit" used in this document may be used interchangeably with terms such as "block" or "area" in some cases. In this document, the MxN block may represent a set of samples or transform coefficients consisting of M columns and N rows. A sample may generally represent a pixel or a value of a pixel, may represent a pixel/pixel value of a luminance component, or a pixel/pixel value of a saturation component. A sample may be used as a term corresponding to one picture (or image) as a pixel or pel.
인코딩 장치(100)는 입력 영상 신호(원본 블록, 원본 샘플 어레이)에서 인터 예측부(inter prediction module)(180) 또는 인트라 예측부(intra prediction module)(185)로부터 출력된 예측 신호(예측된 블록, 예측 샘플 어레이)를 감산함으로써 레지듀얼 신호(residual signal, 잔여 블록, 잔여 샘플 어레이)를 생성할 수 있다. 생성된 레지듀얼 신호는 변환부(120)로 전송된다. 이 경우 도시된 바와 같이 인코딩 장치(100) 내에서 입력 영상 신호(원본 블록, 원본 샘플 어레이)에서 예측 신호(예측 블록, 예측 샘플 어레이)를 감산하는 유닛은 감산부(subtraction module)(115)로 지칭될 수 있다. 예측부는 처리 대상 블록(이하, 현재 블록이라 함)에 대한 예측을 수행하고, 현재 블록에 대한 예측 샘플들을 포함하는 예측된 블록(predicted block)을 생성할 수 있다. 예측부(prediction module)는 CU 단위로 인트라 예측이 적용되는지 또는 인터 예측이 적용되는지 결정할 수 있다. 예측부는 각 예측모드에 대한 설명에서 후술하는 바와 같이 예측 모드 정보와 같이 예측에 관한 정보를 생성하고, 예측에 관한 정보를 엔트로피 인코딩부(190)로 전달할 수 있다. 예측에 관한 정보는 엔트로피 인코딩부(190)에서 인코딩되고, 비트스트림 형태로 출력될 수 있다. The encoding apparatus 100 includes a prediction signal (predicted block) output from an inter prediction module 180 or an intra prediction module 185 from an input video signal (original block, original sample array). , Predictive sample array), a residual signal (residual signal, residual block, residual sample array) may be generated. The generated residual signal is transmitted to the conversion unit 120. In this case, as shown, a unit that subtracts a prediction signal (prediction block, prediction sample array) from an input video signal (original block, original sample array) in the encoding apparatus 100 is used as a subtraction module 115. May be referred to. The prediction unit may perform prediction on a block to be processed (hereinafter, referred to as a current block) and generate a predicted block including prediction samples for the current block. The prediction module may determine whether intra prediction or inter prediction is applied on a per CU basis. The prediction unit may generate information about prediction, such as prediction mode information, as described later in the description of each prediction mode, and may transmit information about prediction to the entropy encoding unit 190. Information about prediction is encoded by the entropy encoding unit 190 and may be output in the form of a bitstream.
인트라 예측부(185)는 현재 픽처 내의 샘플들을 참조하여 현재 블록을 예측할 수 있다. 참조되는 샘플들은 예측 모드에 따라 현재 블록의 주변(neighbor)에 위치할 수 있고, 또는 떨어져서 위치할 수도 있다. 인트라 예측에서 예측 모드들은 복수의 비방향성 모드와 복수의 방향성 모드를 포함할 수 있다. 비방향성 모드는 예를 들어 DC 모드 및 플래너 모드(Planar 모드)를 포함할 수 있다. 방향성 모드는 예측 방향의 세밀한 정도에 따라 예를 들어 33개의 방향성 예측 모드 또는 65개의 방향성 예측 모드를 포함할 수 있다. 다만, 이는 예시로서 설정에 따라 그 이상 또는 그 이하의 개수의 방향성 예측 모드들이 사용될 수 있다. 인트라 예측부(185)는 주변 블록에 적용된 예측 모드를 이용하여, 현재 블록에 적용되는 예측 모드를 결정할 수도 있다.The intra prediction unit 185 may predict the current block by referring to samples in the current picture. The referenced samples may be located in the vicinity of the current block or may be located away from each other according to the prediction mode. In intra prediction, prediction modes may include a plurality of non-directional modes and a plurality of directional modes. The non-directional mode may include, for example, a DC mode and a planar mode (Planar mode). The directional mode may include, for example, 33 directional prediction modes or 65 directional prediction modes according to a detailed degree of the prediction direction. However, this is an example, and more or less directional prediction modes may be used depending on the setting. The intra prediction unit 185 may determine a prediction mode applied to the current block by using the prediction mode applied to the neighboring block.
인터 예측부(180)는 참조 픽처 상에서 움직임 벡터에 의해 특정되는 참조 블록(참조 샘플 어레이)을 기반으로, 현재 블록에 대한 예측된 블록을 유도할 수 있다. 이때, 인터 예측 모드에서 전송되는 움직임 정보의 양을 감소시키기 위해 인터 예측부(180)는 주변 블록과 현재 블록 간의 움직임 정보의 상관성에 기초하여 움직임 정보를 블록, 서브블록, 또는 샘플 단위로 예측할 수 있다. 움직임 정보는 움직임 벡터 및 참조 픽처 인덱스를 포함할 수 있다. 움직임 정보는 인터 예측 방향(L0 예측, L1 예측, Bi 예측 등) 정보를 더 포함할 수 있다. 인터 예측의 경우, 주변 블록은 현재 픽처 내에 존재하는 공간적 주변 블록(spatial neighboring block)과 참조 픽처에 존재하는 시간적 주변 블록(temporal neighboring block)을 포함할 수 있다. 참조 블록을 포함하는 참조 픽처와 시간적 주변 블록을 포함하는 참조 픽처는 동일할 수도 있고, 다를 수도 있다. 시간적 주변 블록은 동일 위치 참조 블록(collocated reference block), 동일 위치 CU(colCU)로 지칭될 수 있으며, 시간적 주변 블록을 포함하는 참조 픽처는 동일 위치 픽처(collocated picture, colPic)로 지칭될 수 있다. 예를 들어, 인터 예측부(180)는 주변 블록들의 움직임 정보에 기반하여 움직임 정보 후보 리스트를 구성하고, 현재 블록의 움직임 벡터 및/또는 참조 픽처 인덱스를 도출하기 위하여 어떤 후보가 사용되는지를 지시하는 정보를 생성할 수 있다. 다양한 예측 모드에 기반하여 인터 예측이 수행될 수 있으며, 예를 들어 스킵 모드와 머지 모드가 사용되는 경우, 인터 예측부(180)는 주변 블록의 움직임 정보를 현재 블록의 움직임 정보로서 이용할 수 있다. 스킵 모드의 경우, 머지 모드와 달리 레지듀얼 신호가 전송되지 않는다. 움직임 벡터 예측(motion vector prediction, MVP) 모드의 경우, 주변 블록의 움직임 벡터를 움직임 벡터 예측자(motion vector predictor)로 이용하고, 움직임 벡터 차분(motion vector difference, MVD)을 시그널링함으로써 현재 블록의 움직임 벡터를 지시할 수 있다.The inter prediction unit 180 may derive a predicted block for the current block based on a reference block (reference sample array) specified by a motion vector on the reference picture. In this case, in order to reduce the amount of motion information transmitted in the inter prediction mode, the inter prediction unit 180 may predict motion information in units of blocks, subblocks, or samples based on the correlation between motion information between neighboring blocks and the current block. have. The motion information may include a motion vector and a reference picture index. The motion information may further include inter prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.) information. In the case of inter prediction, the neighboring block may include a spatial neighboring block existing in the current picture and a temporal neighboring block existing in the reference picture. The reference picture including the reference block and the reference picture including the temporal neighboring block may be the same or different. The temporal neighboring block may be referred to as a collocated reference block or a colCU (colCU), and a reference picture including the temporal neighboring block may be referred to as a collocated picture (colPic). For example, the inter prediction unit 180 constructs a motion information candidate list based on motion information of neighboring blocks, and indicates which candidate is used to derive a motion vector and/or a reference picture index of the current block. Can generate information. Inter prediction may be performed based on various prediction modes. For example, when a skip mode and a merge mode are used, the inter prediction unit 180 may use motion information of a neighboring block as motion information of a current block. In the case of the skip mode, unlike the merge mode, a residual signal is not transmitted. In the case of motion vector prediction (MVP) mode, a motion vector of a neighboring block is used as a motion vector predictor and a motion vector difference (MVD) is signaled to move the current block. Vector can be indicated.
인터 예측부(180) 또는 인트라 예측부(185)에 의해 생성된 예측 신호는 복원 신호를 생성하기 위해 이용되거나 레지듀얼 신호를 생성하기 위해 이용될 수 있다. The prediction signal generated by the inter prediction unit 180 or the intra prediction unit 185 may be used to generate a reconstructed signal or may be used to generate a residual signal.
변환부(transform module)(120)는 레지듀얼 신호에 변환 기법을 적용하여 변환 계수들(transform coefficients)을 생성할 수 있다. 예를 들어, 변환 기법은 DCT(Discrete Cosine Transform), DST(Discrete Sine Transform), KLT(Karhunen-Loeve Transform), GBT(Graph-Based Transform), 또는 CNT(Conditionally Non-linear Transform) 중 적어도 하나를 포함할 수 있다. 여기서, GBT는 픽셀 간의 관계 정보를 나타내는 그래프로부터 획득되는 변환을 의미한다. CNT는 이전에 복원된 모든 픽셀(all previously reconstructed pixel)를 이용하여 예측 신호를 생성하고, 예측 신호에 기반하여 획득되는 변환을 의미한다. 또한, 변환 과정은 정사각형의 동일한 크기를 갖는 픽셀 블록에 적용될 수도 있고, 정사각형이 아니거나 가변적인 크기를 갖는 블록에도 적용될 수 있다.The transform module 120 may generate transform coefficients by applying a transform technique to the residual signal. For example, the transformation technique uses at least one of DCT (Discrete Cosine Transform), DST (Discrete Sine Transform), KLT (Karhunen-Loeve Transform), GBT (Graph-Based Transform), or CNT (Conditionally Non-linear Transform). Can include. Here, GBT refers to transformation obtained from a graph representing relationship information between pixels. CNT refers to a transformation obtained based on the prediction signal and generating a prediction signal using all previously reconstructed pixels. In addition, the conversion process may be applied to a pixel block having the same size of a square, or may be applied to a block that is not a square or has a variable size.
양자화부(quantization module)(130)는 변환 계수들을 양자화하고, 양자화된 변환 계수들을 엔트로피 인코딩부(entropy encoding module)(190)로 전송한다. 엔트로피 인코딩부(190)는 양자화된 신호(양자화된 변환 계수들에 관한 정보)를 인코딩함으로써 비트스트림으로 출력할 수 있다. 양자화된 변환 계수들에 관한 정보는 레지듀얼 정보로 지칭될 수 있다. 양자화부(130)는 계수 스캔 순서(scan order)에 기반하여 블록 형태의 양자화된 변환 계수들을 1차원 벡터 형태로 재정렬할 수 있고, 1차원 벡터 형태의 양자화된 변환 계수들의 특성에 기반하여 양자화된 변환 계수들에 관한 정보를 생성할 수도 있다. 엔트로피 인코딩부(190)는, 예를 들어, 지수 골롬(exponential Golomb), CAVLC(context-adaptive variable length coding), CABAC(context-adaptive binary arithmetic coding)과 같은 다양한 인코딩 기법을 수행할 수 있다. 엔트로피 인코딩부(190)는 양자화된 변환 계수들 외 비디오/이미지 복원에 필요한 정보들(예를 들어, 신택스 요소들(syntax elements)의 값)을 함께 또는 별도로 인코딩할 수도 있다. 인코딩된 정보(예: 비디오/영상 정보)는 비트스트림 형태로 NAL(network abstraction layer) 유닛 단위로 전송 또는 저장될 수 있다. 비트스트림은 네트워크를 통하여 전송될 수 있고, 또는 디지털 저장매체에 저장될 수 있다. 여기서 네트워크는 방송망 및/또는 통신망을 포함할 수 있고, 디지털 저장매체는 USB, SD, CD, DVD, 블루레이, HDD, SSD와 같은 저장매체를 포함할 수 있다. 엔트로피 인코딩부(190)로부터 출력된 신호는 전송하는 전송부(미도시) 및/또는 저장하는 저장부(미도시)가 인코딩 장치(100)의 내/외부 엘리먼트로서 구성될 수 있고, 또는 전송부는 엔트로피 인코딩부(190)의 구성요소일 수도 있다.The quantization module 130 quantizes the transform coefficients and transmits the quantized transform coefficients to the entropy encoding module 190. The entropy encoding unit 190 may encode a quantized signal (information on quantized transform coefficients) and output it as a bitstream. Information about the quantized transform coefficients may be referred to as residual information. The quantization unit 130 may rearrange the quantized transform coefficients in a block form into a one-dimensional vector form based on a coefficient scan order, and quantize the quantized transform coefficients based on the characteristics of the quantized transform coefficients in a one-dimensional vector form. It is also possible to generate information about transform coefficients. The entropy encoding unit 190 may perform various encoding techniques such as exponential Golomb, context-adaptive variable length coding (CAVLC), and context-adaptive binary arithmetic coding (CABAC). The entropy encoding unit 190 may encode information necessary for video/image restoration (eg, values of syntax elements) in addition to quantized transform coefficients together or separately. The encoded information (eg, video/video information) may be transmitted or stored in a bitstream format in units of network abstraction layer (NAL) units. The bitstream may be transmitted over a network or may be stored in a digital storage medium. Here, the network may include a broadcasting network and/or a communication network, and the digital storage medium may include a storage medium such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD. For the signal output from the entropy encoding unit 190, a transmission unit (not shown) for transmitting and/or a storage unit (not shown) for storing may be configured as internal/external elements of the encoding apparatus 100, or the transmission unit It may be a component of the entropy encoding unit 190.
양자화부(130)로부터 출력된 양자화된 변환 계수들은 복원 신호를 생성하기 위해 이용될 수 있다. 예를 들어, 양자화된 변환 계수들에 대한 루프 내의 역양자화부(dequantization module)(140) 및 역변환부(inverse transform module)(150)를 통해 역양자화 및 역변환을 적용함으로써 레지듀얼 신호가 복원될 수 있다. 가산부(addition module)(155)는 복원된 레지듀얼 신호를 인터 예측부(180) 또는 인트라 예측부(185)로부터 출력된 예측 신호에 더함으로써 복원(reconstructed) 신호(복원 픽처, 복원 블록, 복원 샘플 어레이)를 생성할 수 있다. 스킵 모드가 적용된 경우와 같이 처리 대상 블록에 대한 레지듀얼 신호가 없는 경우, 예측된 블록이 복원 블록으로 사용될 수 있다. 가산부(155)는 복원부 또는 복원 블록 생성부라고 불릴 수 있다. 생성된 복원 신호는 현재 픽처 내 다음 처리 대상 블록의 인트라 예측을 위하여 사용될 수 있고, 후술하는 바와 같이 필터링을 거쳐서 다음 픽처의 인터 예측을 위하여 사용될 수도 있다. The quantized transform coefficients output from the quantization unit 130 may be used to generate a reconstructed signal. For example, a residual signal can be restored by applying inverse quantization and inverse transform through the inverse quantization module 140 and the inverse transform module 150 in the loop for the quantized transform coefficients. have. The addition module 155 adds the reconstructed residual signal to the prediction signal output from the inter prediction unit 180 or the intra prediction unit 185 to provide a reconstructed signal (reconstructed picture, a reconstructed block, and Sample array). When there is no residual signal for the block to be processed, such as when the skip mode is applied, the predicted block may be used as a reconstructed block. The addition unit 155 may be referred to as a restoration unit or a restoration block generation unit. The generated reconstructed signal may be used for intra prediction of the next processing target block in the current picture, and may be used for inter prediction of the next picture through filtering as described later.
필터링부(filtering module)(160)는 복원 신호에 필터링을 적용함으로써 주관적/객관적 화질을 향상시킬 수 있다. 예를 들어, 필터링부(160)는 복원 픽처에 다양한 필터링 방법을 적용하여 수정된(modified) 복원 픽처를 생성할 수 있고, 수정된 복원 픽처를 복호 픽쳐 버퍼(170)에 전송할 수 있다. 다양한 필터링 방법은 예를 들어, 디블록킹 필터링, 샘플 적응적 오프셋(sample adaptive offset, SAO), 적응적 루프 필터(adaptive loop filter, ALF), 양방향 필터(bilateral filter)를 포함할 수 있다. 필터링부(160)는 각 필터링 방법에 대한 설명에서 후술하는 바와 같이 필터링에 관한 정보를 생성하고, 필터링에 관한 정보를 엔트로피 인코딩부(190)로 전달할 수 있다. 필터링에 관한 정보는 엔트로피 인코딩부(190)에서의 엔트로피 인코딩을 통해 비트스트림 형태로 출력될 수 있다. The filtering module 160 may improve subjective/objective image quality by applying filtering to the reconstructed signal. For example, the filtering unit 160 may apply various filtering methods to the reconstructed picture to generate a modified reconstructed picture, and may transmit the modified reconstructed picture to the decoded picture buffer 170. Various filtering methods may include, for example, deblocking filtering, sample adaptive offset (SAO), adaptive loop filter (ALF), and bilateral filter. The filtering unit 160 may generate filtering information and transmit the filtering information to the entropy encoding unit 190 as described later in the description of each filtering method. The filtering information may be output in the form of a bitstream through entropy encoding in the entropy encoding unit 190.
복호 픽처 버퍼(decoded picture buffer, DBP)(170)에 전송된 수정된 복원 픽처는 인터 예측부(180)에서 참조 픽처로 사용될 수 있다. 인터 예측이 적용되는 경우, 인코딩 장치(100)는 수정된 복원 픽처를 사용하여 인코딩 장치(100)와 디코딩 장치(200)에서의 예측 미스매치를 피할 수 있고, 부호화 효율도 향상시킬 수 있다. 복호 픽처 버퍼(170)는 수정된 복원 픽처를 인터 예측부(180)에서의 참조 픽처로 사용하기 위해 저장할 수 있다.The modified reconstructed picture transmitted to the decoded picture buffer (DBP) 170 may be used as a reference picture in the inter prediction unit 180. When inter prediction is applied, the encoding apparatus 100 may avoid prediction mismatch between the encoding apparatus 100 and the decoding apparatus 200 by using the modified reconstructed picture, and may improve encoding efficiency. The decoded picture buffer 170 may store the modified reconstructed picture to be used as a reference picture in the inter prediction unit 180.
도 3은 본 명세서의 실시예에 따른 영상 신호의 디코딩이 수행되는 디코딩 장치의 개략적인 블록도의 예를 도시한다. 도 3의 디코딩 장치(200)는 도 1의 디코딩 장치(22)에 대응할 수 있다.3 shows an example of a schematic block diagram of a decoding apparatus for decoding an image signal according to an embodiment of the present specification. The decoding device 200 of FIG. 3 may correspond to the decoding device 22 of FIG. 1.
도 3을 참조하면, 디코딩 장치(200)는 엔트로피 디코딩부(entropy decoding module)(210), 역양자화부(de-quantization module)(220), 역변환부(inverse transform module)(230), 가산부(addition module)(235), 필터링부(filtering module)(240), 복호 픽쳐 버퍼(DPB)(250), 인터 예측부(inter prediction module)(260) 및 인트라 예측부(intra prediction module)(265)를 포함할 수 있다. 인터 예측부(260) 및 인트라 예측부(265)는 예측부(prediction module)로 통칭될 수 있다. 즉, 예측부는 인터 예측부(180) 및 인트라 예측부(185)를 포함할 수 있다. 역양자화부(220)와 역변환부(230)는 레지듀얼 처리부(residual processing module)로 통칭될 수 있다. 즉, 레지듀얼 처리부는 역양자화부(220)와 역변환부(230)를 포함할 수 있다. 상술한 엔트로피 디코딩부(210), 역양자화부(220), 역변환부(230), 가산부(235), 필터링부(240), 인터 예측부(260), 및 인트라 예측부(265)는 실시예에 따라 하나의 하드웨어 컴포넌트(예를 들어 디코더 또는 프로세서)에 의하여 구성될 수 있다. 또한 복호 픽처 버퍼(250)는 실시예에 따라 하나의 하드웨어 컴포넌트(예를 들어 메모리 또는 디지털 저장 매체)에 의하여 구성될 수 있다.Referring to FIG. 3, the decoding apparatus 200 includes an entropy decoding module 210, a de-quantization module 220, an inverse transform module 230, and an adder. (addition module) 235, filtering module 240, decoded picture buffer (DPB) 250, inter prediction module 260, and intra prediction module 265 ) Can be included. The inter prediction unit 260 and the intra prediction unit 265 may be collectively referred to as a prediction module. That is, the prediction unit may include an inter prediction unit 180 and an intra prediction unit 185. The inverse quantization unit 220 and the inverse transform unit 230 may be collectively referred to as a residual processing module. That is, the residual processing unit may include an inverse quantization unit 220 and an inverse transform unit 230. The entropy decoding unit 210, the inverse quantization unit 220, the inverse transform unit 230, the addition unit 235, the filtering unit 240, the inter prediction unit 260, and the intra prediction unit 265 are implemented. It may be configured by one hardware component (eg, a decoder or a processor) according to an example. Also, the decoded picture buffer 250 may be configured by one hardware component (eg, a memory or a digital storage medium) according to an embodiment.
비디오/이미지 정보를 포함하는 비트스트림이 입력되면, 디코딩 장치(200)는 도 2의 인코딩 장치(100)에서 비디오/이미지 정보가 처리된 프로세스에 대응하여 영상을 복원할 수 있다. 예를 들어, 디코딩 장치(200)는 인코딩 장치(100)에서 적용된 처리 유닛을 이용하여 디코딩을 수행할 수 있다. 따라서 디코딩시 처리 유닛은 예를 들어 코딩 유닛일 수 있고, 코딩 유닛은 코딩 트리 유닛 또는 최대 코딩 유닛으로부터 쿼드 트리 구조 및/또는 바이너리 트리 구조를 따라서 분할될 수 있다. 그리고, 디코딩 장치(200)를 통해 디코딩 및 출력된 복원 영상 신호는 재생 장치를 통해 재생될 수 있다.When a bitstream including video/image information is input, the decoding apparatus 200 may reconstruct an image in response to a process in which the video/image information is processed by the encoding apparatus 100 of FIG. 2. For example, the decoding apparatus 200 may perform decoding using a processing unit applied by the encoding apparatus 100. Thus, upon decoding, the processing unit may be a coding unit, for example, and the coding unit may be divided from a coding tree unit or a maximum coding unit along a quad tree structure and/or a binary tree structure. In addition, the reconstructed image signal decoded and output through the decoding device 200 may be reproduced through the playback device.
디코딩 장치(200)는 도 2의 인코딩 장치(100)로부터 출력된 신호를 비트스트림 형태로 수신할 수 있고, 수신된 신호는 엔트로피 디코딩부(210)를 통해 디코딩될 수 있다. 예를 들어, 엔트로피 디코딩부(210)는 비트스트림을 파싱하여 영상 복원(또는 픽처 복원)에 필요한 정보(예: 비디오/영상 정보)를 도출할 수 있다. 예컨대, 엔트로피 디코딩부(210)는 지수 골롬 부호화, CAVLC 또는 CABAC과 같은 코딩 기법을 사용하여 비트스트림 내 정보를 획득하고, 영상 복원에 필요한 신택스 엘레먼트의 값, 레지듀얼에 관한 변환 계수의 양자화된 값을 출력할 수 있다. 보다 상세하게, CABAC 엔트로피 디코딩 방법은, 비트스트림에서 각 구문 요소에 해당하는 빈(bin)을 수신하고, 디코딩 대상 구문 요소 정보와 주변 및 디코딩 대상 블록의 디코딩 정보 혹은 이전 단계에서 디코딩된 심볼/빈의 정보를 이용하여 문맥(context) 모델을 결정하고, 결정된 문맥 모델에 따라 빈(bin)의 발생 확률을 예측하여 빈의 산술 디코딩(arithmetic decoding)를 수행함으로써 각 구문 요소의 값에 해당하는 심볼을 생성할 수 있다. 이때, CABAC 엔트로피 디코딩 방법은 문맥 모델 결정 후 다음 심볼/빈의 문맥 모델을 위해 디코딩된 심볼/빈의 정보를 이용하여 문맥 모델을 업데이트할 수 있다. 엔트로피 디코딩부(210)에서 디코딩된 정보 중 예측에 관한 정보는 예측부(인터 예측부(260) 및 인트라 예측부(265))로 제공되고, 엔트로피 디코딩부(210)에서 엔트로피 디코딩이 수행된 레지듀얼 값, 즉 양자화된 변환 계수들 및 관련 파라미터 정보는 역양자화부(220)로 입력될 수 있다. 또한, 엔트로피 디코딩부(210)에서 디코딩된 정보 중 필터링에 관한 정보는 필터링부(240)로 제공될 수 있다. 한편, 인코딩 장치(100)로부터 출력된 신호를 수신하는 수신부(미도시)가 디코딩 장치(200)의 내/외부 엘리먼트로서 더 구성될 수 있고, 또는 수신부는 엔트로피 디코딩부(210)의 구성요소일 수도 있다. The decoding apparatus 200 may receive a signal output from the encoding apparatus 100 of FIG. 2 in the form of a bitstream, and the received signal may be decoded through the entropy decoding unit 210. For example, the entropy decoding unit 210 may parse the bitstream to derive information (eg, video/video information) necessary for image restoration (or picture restoration). For example, the entropy decoding unit 210 acquires information in the bitstream using a coding technique such as exponential Golomb coding, CAVLC, or CABAC, and a value of a syntax element required for image restoration, and a quantized value of a transform coefficient for a residual Can be printed. In more detail, in the CABAC entropy decoding method, a bin corresponding to each syntax element is received in a bitstream, and information about the syntax element to be decoded and decoding information of a block to be decoded and a neighbor or a symbol/bin decoded in a previous step The symbol corresponding to the value of each syntax element is determined by determining the context model using the information of, and performing arithmetic decoding of the bin by predicting the probability of occurrence of the bin according to the determined context model. Can be generated. In this case, the CABAC entropy decoding method may update the context model using information of the decoded symbol/bin for the context model of the next symbol/bin after the context model is determined. Among the information decoded by the entropy decoding unit 210, information on prediction is provided to the prediction unit (inter prediction unit 260 and intra prediction unit 265), and the register on which entropy decoding is performed by the entropy decoding unit 210 Dual values, that is, quantized transform coefficients and related parameter information may be input to the inverse quantization unit 220. In addition, information about filtering among information decoded by the entropy decoding unit 210 may be provided to the filtering unit 240. Meanwhile, a receiving unit (not shown) for receiving a signal output from the encoding device 100 may be further configured as an inner/outer element of the decoding device 200, or the receiving unit may be a component of the entropy decoding unit 210. May be.
역양자화부(220)는 양자화된 변환 계수들의 역양자화를 통해 변환 계수들을 출력할 수 있다. 역양자화부(220)는 양자화된 변환 계수들을 2차원의 블록 형태로 재정렬할 수 있다. 이 경우 인코딩 장치(100)에서 수행된 계수 스캔 순서에 기반하여 재정렬이 수행될 수 있다. 역양자화부(220)는 양자화 파라미터(예: 양자화 스텝 사이즈 정보)를 이용하여 양자화된 변환 계수들에 대한 역양자화를 수행하고, 변환 계수들(transform coefficient)을 획득할 수 있다. The inverse quantization unit 220 may output transform coefficients through inverse quantization of the quantized transform coefficients. The inverse quantization unit 220 may rearrange the quantized transform coefficients into a two-dimensional block shape. In this case, the reordering may be performed based on the coefficient scan order performed by the encoding apparatus 100. The inverse quantization unit 220 may perform inverse quantization on quantized transform coefficients by using a quantization parameter (eg, quantization step size information) and obtain transform coefficients.
역변환부(230)는 변환 계수들을 역변환하여 레지듀얼 신호(레지듀얼 블록, 레지듀얼 샘플 어레이)를 획득한다. The inverse transform unit 230 inversely transforms the transform coefficients to obtain a residual signal (residual block, residual sample array).
예측부는 현재 블록에 대한 예측을 수행하고, 현재 블록에 대한 예측 샘플들을 포함하는 예측된 블록(predicted block)을 생성할 수 있다. 예측부는 엔트로피 디코딩부(210)로부터 출력된 예측에 관한 정보에 기반하여 현재 블록에 인트라 예측이 적용되는지 또는 인터 예측이 적용되는지 결정할 수 있고, 구체적인 인트라/인터 예측 모드를 결정할 수 있다. The prediction unit may perform prediction on the current block and generate a predicted block including prediction samples for the current block. The prediction unit may determine whether intra prediction or inter prediction is applied to the current block based on information on prediction output from the entropy decoding unit 210, and may determine a specific intra/inter prediction mode.
인트라 예측부(265)는 현재 픽처 내의 샘플들을 참조하여 현재 블록을 예측할 수 있다. 참조되는 샘플들은 예측 모드에 따라 현재 블록의 주변(neighbor)에 위치할 수 있고, 또는 이격되어 위치할 수도 있다. 인트라 예측에서 예측 모드들은 복수의 비방향성 모드와 복수의 방향성 모드를 포함할 수 있다. 인트라 예측부(265)는 주변 블록에 적용된 예측 모드를 이용하여, 현재 블록에 적용되는 예측 모드를 결정할 수도 있다.The intra prediction unit 265 may predict the current block by referring to samples in the current picture. The referenced samples may be located near the current block or may be spaced apart according to the prediction mode. In intra prediction, prediction modes may include a plurality of non-directional modes and a plurality of directional modes. The intra prediction unit 265 may determine a prediction mode applied to the current block by using the prediction mode applied to the neighboring block.
인터 예측부(260)는 참조 픽처 상에서 움직임 벡터에 의해 특정되는 참조 블록(참조 샘플 어레이)을 기반으로, 현재 블록에 대한 예측된 블록을 유도할 수 있다. 이때, 인터 예측 모드에서 전송되는 움직임 정보의 양을 줄이기 위해 주변 블록과 현재 블록 간의 움직임 정보의 상관성에 기초하여 움직임 정보를 블록, 서브블록, 또는 샘플 단위로 예측할 수 있다. 움직임 정보는 움직임 벡터 및 참조 픽처 인덱스를 포함할 수 있다. 움직임 정보는 인터 예측 방향(L0 예측, L1 예측, Bi 예측) 정보를 더 포함할 수 있다. 인터 예측의 경우, 주변 블록은 현재 픽처 내에 존재하는 공간적 주변 블록(spatial neighboring block)과 참조 픽처에 존재하는 시간적 주변 블록(temporal neighboring block)을 포함할 수 있다. 예를 들어, 인터 예측부(260)는 주변 블록들을 기반으로 움직임 정보 후보 리스트를 구성하고, 수신된 후보 선택 정보를 기반으로 현재 블록의 움직임 벡터 및/또는 참조 픽처 인덱스를 도출할 수 있다. 다양한 예측 모드를 기반으로 인터 예측이 수행될 수 있으며, 예측에 관한 정보는 현재 블록에 대한 인터 예측의 모드를 지시하는 정보를 포함할 수 있다. The inter prediction unit 260 may derive a predicted block for the current block based on a reference block (reference sample array) specified by a motion vector on the reference picture. In this case, in order to reduce the amount of motion information transmitted in the inter prediction mode, motion information may be predicted in units of blocks, subblocks, or samples based on correlation between motion information between neighboring blocks and current blocks. The motion information may include a motion vector and a reference picture index. The motion information may further include inter prediction direction (L0 prediction, L1 prediction, Bi prediction) information. In the case of inter prediction, the neighboring block may include a spatial neighboring block existing in the current picture and a temporal neighboring block existing in the reference picture. For example, the inter prediction unit 260 may construct a motion information candidate list based on neighboring blocks, and derive a motion vector and/or a reference picture index of the current block based on the received candidate selection information. Inter prediction may be performed based on various prediction modes, and information on prediction may include information indicating a mode of inter prediction for a current block.
가산부(235)는 획득된 레지듀얼 신호를 인터 예측부(260) 또는 인트라 예측부(265)로부터 출력된 예측 신호(예측된 블록, 예측 샘플 어레이)에 더함으로써 복원 신호(복원 픽처, 복원 블록, 복원 샘플 어레이)를 생성할 수 있다. 스킵 모드가 적용된 경우와 같이 처리 대상 블록에 대한 레지듀얼이 없는 경우, 예측된 블록이 복원 블록으로 사용될 수 있다.The addition unit 235 adds the obtained residual signal to the prediction signal (predicted block, prediction sample array) output from the inter prediction unit 260 or the intra prediction unit 265 to provide a reconstructed signal (a reconstructed picture, a reconstructed block). , Restoration sample array) can be generated. When there is no residual for a block to be processed, such as when the skip mode is applied, the predicted block may be used as a reconstructed block.
가산부(235)는 복원부 또는 복원 블록 생성부로 지칭될 수 있다. 생성된 복원 신호는 현재 픽처 내 다음 처리 대상 블록의 인트라 예측을 위하여 사용될 수 있고, 후술하는 바와 같이 필터링을 거쳐서 다음 픽처의 인터 예측을 위하여 사용될 수도 있다. The addition unit 235 may be referred to as a restoration unit or a restoration block generation unit. The generated reconstructed signal may be used for intra prediction of the next processing target block in the current picture, and may be used for inter prediction of the next picture through filtering as described later.
필터링부(240)는 복원 신호에 필터링을 적용함으로써 주관적/객관적 화질을 향상시킬 수 있다. 예를 들어, 필터링부(240)는 복원 픽처에 다양한 필터링 방법을 적용하여 수정된(modified) 복원 픽처를 생성할 수 있고, 수정된 복원 픽처를 복호 픽쳐 버퍼(250)에 전송할 수 있다. 다양한 필터링 방법은, 예를 들어, 디블록킹 필터링, 샘플 적응적 오프셋(sample adaptive offset), 적응적 루프 필터(adaptive loop filter), 양방향 필터(bilateral filter)를 포함할 수 있다. The filtering unit 240 may improve subjective/objective image quality by applying filtering to the reconstructed signal. For example, the filtering unit 240 may apply various filtering methods to the reconstructed picture to generate a modified reconstructed picture, and may transmit the modified reconstructed picture to the decoded picture buffer 250. Various filtering methods may include, for example, deblocking filtering, sample adaptive offset, adaptive loop filter, and bilateral filter.
복호 픽쳐 버퍼(250)에 전달된 수정된 복원 픽처는 인터 예측부(260)에 의해 참조 픽처로 사용될 수 있다.The modified reconstructed picture delivered to the decoded picture buffer 250 may be used as a reference picture by the inter prediction unit 260.
본 명세서에서, 인코딩 장치(100)의 필터링부(160), 인터 예측부(180) 및 인트라 예측부(185)에서 설명된 실시예들은 각각 디코딩 장치의 필터링부(240), 인터 예측부(260) 및 인트라 예측부(265)에도 동일 또는 대응되도록 적용될 수 있다.In the present specification, embodiments described in the filtering unit 160, the inter prediction unit 180, and the intra prediction unit 185 of the encoding apparatus 100 are respectively the filtering unit 240 and the inter prediction unit 260 of the decoding apparatus. ) And the intra prediction unit 265 may be applied to be the same or correspond to each other.
도 4는 본 명세서의 실시예에 따른 컨텐츠 스트리밍 시스템의 예를 도시한다. 본 명세서의 실시예가 적용되는 컨텐츠 스트리밍 시스템은 크게 인코딩 서버(encoding server)(410), 스트리밍 서버(streaming server)(420), 웹 서버(web server)(430), 미디어 저장소(media storage)(440), 사용자 장치(user equipment)(450), 및 멀티미디어 입력 장치(multimedia input device)(460)를 포함할 수 있다.4 shows an example of a content streaming system according to an embodiment of the present specification. Content streaming systems to which the embodiments of the present specification are applied are largely an encoding server 410, a streaming server 420, a web server 430, and a media storage 440. ), a user equipment 450, and a multimedia input device 460.
인코딩 서버(410)는 스마트폰, 카메라, 캠코더와 같은 멀티미디어 입력 장치(460)로부터 입력된 컨텐츠를 디지털 데이터로 압축하여 비트스트림을 생성하고, 생성된 비트스트림을 스트리밍 서버(420)로 전송한다. 다른 예로, 스마트폰, 카메라, 캠코더와 같은 멀티미디어 입력 장치(460)가 비트스트림을 직접 생성하는 경우, 인코딩 서버(410)는 생략될 수 있다.The encoding server 410 generates a bitstream by compressing content input from a multimedia input device 460 such as a smartphone, a camera, or a camcorder into digital data, and transmits the generated bitstream to the streaming server 420. As another example, when the multimedia input device 460 such as a smartphone, a camera, or a camcorder directly generates a bitstream, the encoding server 410 may be omitted.
비트스트림은 본 명세서의 실시예가 적용되는 인코딩 방법 또는 비트스트림 생성 방법에 의해 생성될 수 있고, 스트리밍 서버(420)는 비트스트림을 전송 또는 수신하는 과정에서 일시적으로 비트스트림을 저장할 수 있다.The bitstream may be generated by an encoding method or a bitstream generation method to which an embodiment of the present specification is applied, and the streaming server 420 may temporarily store the bitstream while transmitting or receiving the bitstream.
스트리밍 서버(420)는 웹 서버(430)를 통한 사용자 요청에 기초하여 멀티미디어 데이터를 사용자 장치(450)에 전송하고, 웹 서버(430)는 사용자에게 어떠한 서비스가 있는지를 알려주는 매개체 역할을 한다. 사용자가 웹 서버(430)에 원하는 서비스를 요청하면, 웹 서버(430)는 요청된 서비스에 대한 정보를 스트리밍 서버(420)에 전달하고, 스트리밍 서버(420)는 사용자에게 멀티미디어 데이터를 전송한다. 이때, 컨텐츠 스트리밍 시스템은 별도의 제어 서버를 포함할 수 있고, 이 경우 제어 서버는 컨텐츠 스트리밍 시스템 내 각 장치 간 명령/응답을 제어하는 역할을 한다.The streaming server 420 transmits multimedia data to the user device 450 based on a user request through the web server 430, and the web server 430 serves as an intermediary that informs the user of what kind of service exists. When a user requests a desired service from the web server 430, the web server 430 transmits information on the requested service to the streaming server 420, and the streaming server 420 transmits multimedia data to the user. In this case, the content streaming system may include a separate control server, and in this case, the control server serves to control commands/responses between devices in the content streaming system.
스트리밍 서버(420)는 미디어 저장소(440) 및/또는 인코딩 서버(410)로부터 컨텐츠를 수신할 수 있다. 예를 들어, 인코딩 서버(410)로부터 컨텐츠를 수신하는 경우, 컨텐츠를 실시간으로 수신할 수 있다. 이 경우, 원활한 스트리밍 서비스를 제공하기 위하여 스트리밍 서버(420)는 비트스트림을 일정 시간동안 저장할 수 있다.The streaming server 420 may receive content from the media storage 440 and/or the encoding server 410. For example, when content is received from the encoding server 410, the content may be received in real time. In this case, in order to provide a smooth streaming service, the streaming server 420 may store the bitstream for a predetermined time.
사용자 장치(450)는, 예를 들어, 휴대폰, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 디지털방송용 단말기, PDA(personal digital assistants), PMP(portable multimedia player), 네비게이션, 슬레이트 PC(slate PC), 태블릿 PC(tablet PC), 울트라북(ultrabook), 웨어러블 디바이스(wearable device, 예를 들어, 워치형 단말기 (smartwatch), 글래스형 단말기 (smart glass), HMD(head mounted display)), 디지털 TV, 데스크탑 컴퓨터, 디지털 사이니지를 포함할 수 있다.The user device 450 includes, for example, a mobile phone, a smart phone, a laptop computer, a digital broadcasting terminal, a personal digital assistants (PDA), a portable multimedia player (PMP), a navigation system, and a slate PC ( slate PC), tablet PC, ultrabook, wearable device, e.g., smartwatch, smart glass, head mounted display (HMD)), It can include digital TV, desktop computer, and digital signage.
컨텐츠 스트리밍 시스템 내 각 서버들은 분산 서버로 운영될 수 있으며, 이 경우 각 서버에서 수신하는 데이터는 분산 처리될 수 있다.Each server in the content streaming system may be operated as a distributed server, and in this case, data received from each server may be distributedly processed.
도 5는 본 명세서의 실시예에 따른 비디오 신호 처리 장치의 예를 도시한다. 도 5의 비디오 신호 처리 장치는 도 1의 인코딩 장치(100) 또는 도 2의 디코딩 장치(200)에 해당할 수 있다. 5 shows an example of a video signal processing apparatus according to an embodiment of the present specification. The video signal processing apparatus of FIG. 5 may correspond to the encoding apparatus 100 of FIG. 1 or the decoding apparatus 200 of FIG. 2.
비디오 신호를 처리하는 비디오 신호 처리 장치(500)는, 비디오 신호를 저장하는 메모리(520)와, 메모리(520)와 결합되면서 비디오 신호를 처리하는 프로세서(510)를 포함한다. 본 명세서의 실시예에 따른 프로세서(510)는 비디오 신호의 처리를 위한 적어도 하나의 프로세싱 회로로 구성될 수 있으며, 비디오 신호의 인코딩/디코딩을 위한 명령어들을 실행함으로써 비디오 신호를 처리할 수 있다. 즉, 프로세서(510)는 이하 설명되는 인코딩/디코딩 방법들을 실행함으로써 원본 비디오 데이터를 인코딩하거나 인코딩된 비디오 신호를 디코딩할 수 있다.The video signal processing apparatus 500 for processing a video signal includes a memory 520 for storing a video signal, and a processor 510 for processing a video signal while being combined with the memory 520. The processor 510 according to the embodiment of the present specification may be configured with at least one processing circuit for processing a video signal, and may process a video signal by executing instructions for encoding/decoding a video signal. That is, the processor 510 may encode original video data or decode an encoded video signal by executing encoding/decoding methods described below.
이후 설명되는 것과 같이, 본 명세서의 실시예에 따른 프로세서(510)는, 비디오 신호의 인코딩을 위하여, 비디오 신호의 인코딩을 위하여, 현재 블록과 인접한 적어도 하나의 이웃 블록의 예측 모드에 기반하여 MPM(most probable mode) 후보 리스트를 생성하고, 상기 현재 블록의 인트라 예측 타입에 기반하여 상기 MPM 후보 리스트에서 적어도 하나의 모드를 제거함으로써 상기 MPM 후보 리스트를 변경하고, 상기 MPM 후보 리스트에서 율-왜곡 비용에 기반하여 유도되는 상기 현재 블록의 인트라 예측 모드와 관련된 MPM 인덱스를 결정하고, 상기 MPM 인덱스와 상기 인트라 예측 타입에 대한 정보를 포함하는 인트라 예측 정보를 인코딩하도록 설정된다.As will be described later, the processor 510 according to the embodiment of the present specification, for encoding a video signal, for encoding a video signal, based on a prediction mode of at least one neighboring block adjacent to the current block, the MPM ( most probable mode) a candidate list is generated, and the MPM candidate list is changed by removing at least one mode from the MPM candidate list based on the intra prediction type of the current block, and rate-distortion cost in the MPM candidate list It is configured to determine an MPM index related to an intra prediction mode of the current block derived based on the current block, and to encode intra prediction information including information on the MPM index and the intra prediction type.
일 실시예에서, 상기 인트라 예측 타입은, 상기 현재 블록에 인접한 라인에 위치한 참조 샘플이 사용되고 상기 현재 블록이 분할되지 않는 제1 타입, 상기 현재 블록으로부터 2 샘플 거리 이상 이격된 라인에 위치한 참조 샘플이 사용되는 제2 타입, 또는 상기 현재 블록에 인접한 라인에 위치한 참조 샘플이 사용되고 상기 현재 블록이 인트라 서브파티션(intra sub-partition, ISP)에 의해 분할되는 제3 타입 중 하나에 해당할 수 있다.In one embodiment, the intra prediction type is a first type in which a reference sample located in a line adjacent to the current block is used, and the current block is not divided, and a reference sample located in a line separated by 2 sample distances or more from the current block. It may correspond to one of the used second type or a third type in which a reference sample located in a line adjacent to the current block is used and the current block is divided by an intra sub-partition (ISP).
일 실시예에서, 상기 인트라 예측 타입이 제2 타입에 해당하면, 상기 MPM 후보 리스트에서 플래너 모드와 DC 모드가 제거될 수 있다.In an embodiment, if the intra prediction type corresponds to the second type, the planar mode and the DC mode may be removed from the MPM candidate list.
일 실시예에서, 상기 인트라 예측 타입이 제3 타입에 해당하면, 상기 MPM 후보 리스트에서 DC 모드가 제거될 수 있다.In an embodiment, when the intra prediction type corresponds to the third type, the DC mode may be removed from the MPM candidate list.
일 실시예에서, 상기 인트라 예측 타입이 상기 제2 타입에 해당하면, 상기 MPM 후보 리스트에서 플래너 모드가 제거될 수 있다.In an embodiment, if the intra prediction type corresponds to the second type, the planar mode may be removed from the MPM candidate list.
일 실시예에서, 상기 인트라 예측 정보는 상기 인트라 예측 타입이 제3 타입에 해당하면 상기 현재 블록의 분할 방향과 관련된 ISP 방향 정보를 더 포함하고, 상기 인트라 예측 모드는 상기 MPM 후보 리스트에서 수평 방향 분할과 수직 방향 분할에 대하여 결정된 모드들 중에서 더 작은 율-왜곡 비용을 갖는 모드일 수 있다.In one embodiment, the intra prediction information further includes ISP direction information related to a division direction of the current block when the intra prediction type corresponds to a third type, and the intra prediction mode is horizontal direction division in the MPM candidate list. It may be a mode having a smaller rate-distortion cost among the modes determined for the and vertical division.
이후 설명되는 것과 같이, 본 명세서의 실시예에 따른 프로세서(510)는, 비디오 신호의 디코딩을 위하여, 상기 인트라 예측이 적용되는 현재 블록의 인트라 예측 정보를 획득하고, 여기서 상기 인트라 예측 정보는 상기 현재 블록의 인트라 예측 타입에 대한 정보와 MPM 인덱스를 포함하고, 상기 현재 블록과 인접한 적어도 하나의 이웃 블록의 예측 모드에 기반하여 MPM 후보 리스트를 생성하고, 상기 인트라 예측 타입에 기반하여 상기 MPM 후보 리스트에서 적어도 하나의 모드를 제거함으로써 상기 MPM 후보 리스트를 변경하고, 상기 MPM 후보 리스트에서 상기 MPM 인덱스와 관련된 인트라 예측 모드를 결정하고, 상기 인트라 예측 모드 및 현재 픽처 내 참조 샘플에 기반하여 상기 현재 블록의 예측 샘플을 생성하도록 설정된다.As described later, the processor 510 according to an embodiment of the present specification acquires intra prediction information of a current block to which the intra prediction is applied, for decoding a video signal, wherein the intra prediction information is the current Including information on the intra prediction type of a block and an MPM index, generating an MPM candidate list based on a prediction mode of at least one neighboring block adjacent to the current block, and in the MPM candidate list based on the intra prediction type Change the MPM candidate list by removing at least one mode, determine an intra prediction mode related to the MPM index from the MPM candidate list, and predict the current block based on the intra prediction mode and a reference sample in the current picture It is set up to generate samples.
일 실시예에서, 상기 인트라 예측 타입은, 상기 현재 블록에 인접한 라인에 위치한 참조 샘플이 사용되고 상기 현재 블록이 분할되지 않는 제1 타입, 상기 현재 블록으로부터 2 샘플 거리 이상 이격된 라인에 위치한 참조 샘플이 사용되는 제2 타입, 또는 상기 현재 블록에 인접한 라인에 위치한 참조 샘플이 사용되고 상기 현재 블록이 인트라 서브파티션에 의해 분할되는 제3 타입 중 하나에 해당할 수 있다.In one embodiment, the intra prediction type is a first type in which a reference sample located in a line adjacent to the current block is used, and the current block is not divided, and a reference sample located in a line separated by 2 sample distances or more from the current block. It may correspond to one of the used second type or a third type in which the reference sample located in a line adjacent to the current block is used and the current block is divided by an intra subpartition.
일 실시예에서, 상기 인트라 예측 타입이 제2 타입에 해당하면, 상기 MPM 후보 리스트에서 플래너 모드와 DC 모드가 제거될 수 있다.In an embodiment, if the intra prediction type corresponds to the second type, the planar mode and the DC mode may be removed from the MPM candidate list.
일 실시예에서, 상기 인트라 예측 타입이 제3 타입에 해당하면, 상기 MPM 후보 리스트에서 DC 모드가 제거될 수 있다.In an embodiment, when the intra prediction type corresponds to the third type, the DC mode may be removed from the MPM candidate list.
일 실시예에서, 상기 인트라 예측 타입이 상기 제2 타입에 해당하면, 상기 MPM 후보 리스트에서 플래너 모드가 제거될 수 있다.In an embodiment, if the intra prediction type corresponds to the second type, the planar mode may be removed from the MPM candidate list.
일 실시예에서, 상기 인트라 예측 정보는, 상기 인트라 예측 타입이 제3 타입에 해당하면 상기 현재 블록의 분할 방향과 관련된 ISP 방향 정보를 더 포함할 수 있다.In an embodiment, the intra prediction information may further include ISP direction information related to a division direction of the current block when the intra prediction type corresponds to a third type.
도 6a 내지 도 6d는 본 명세서의 실시예에 따른 블록 분할 구조의 예를 도시한다. 도 6a는 QT(quadtree, QT), 도 6b는 BT(binary tree, BT), 도 6c는 TT(ternary tree, TT) 도 6d는 AT(asymmetric Tree, AT)에 의한 블록 분할 구조들의 예를 도시한다.6A to 6D illustrate examples of a block division structure according to an embodiment of the present specification. 6A is a QT (quadtree, QT), FIG. 6B is a binary tree (BT), FIG. 6C is a ternary tree (TT) and FIG. 6D shows an example of block division structures by an asymmetric tree (AT). do.
비디오 코딩 시스템에서, 하나의 블록은 QT 분할 방식에 기반으로 분할될 수 있다. 또한, QT 분할 방식에 의해서 분할된 하나의 서브 블록(subblock)은 QT 분할 방식에 따라 재귀적으로 더 분할될 수 있다. 더 이상 QT 분할 방식에 의해 분할되지 않는 리프 블록(leaf block)은 BT, TT, 또는 AT 중 적어도 하나의 방식에 의해서 분할될 수 있다. BT는 수평 BT (2NxN, 2NxN)과 수직 BT (Nx2N, Nx2N)와 같은 두 가지 형태의 분할을 가질 수 있다. TT는 수평 TT (2Nx1/2N, 2NxN, 2Nx1/2N)와 수직 TT (1/2Nx2N, Nx2N, 1/2Nx2N)와 같은 두 가지 형태의 분할을 가질 수 있다. AT는 수평-상향(horizontal-up) AT (2Nx1/2N, 2Nx3/2N), 수평-하향(horizontal-down) AT (2Nx3/2N, 2Nx1/2N), 수직-좌측(vertical-left) AT (1/2Nx2N, 3/2Nx2N), 수직-우측(vertical-right) AT (3/2Nx2N, 1/2Nx2N)의 네 가지 형태의 분할을 가질 수 있다. 각각의 BT, TT, AT는 BT, TT, AT를 사용하여 재귀적으로 더 분할될 수 있다.In a video coding system, one block may be divided based on a QT division scheme. In addition, one subblock divided by the QT division method may be further divided recursively according to the QT division method. A leaf block that is no longer divided by the QT division method may be divided by at least one of BT, TT, or AT. BT can have two types of division, such as horizontal BT (2NxN, 2NxN) and vertical BT (Nx2N, Nx2N). TT may have two types of divisions, such as horizontal TT (2Nx1/2N, 2NxN, 2Nx1/2N) and vertical TT (1/2Nx2N, Nx2N, 1/2Nx2N). AT is horizontal-up AT (2Nx1/2N, 2Nx3/2N), horizontal-down AT (2Nx3/2N, 2Nx1/2N), vertical-left AT ( It can have four types of division: 1/2Nx2N, 3/2Nx2N), and vertical-right AT (3/2Nx2N, 1/2Nx2N). Each BT, TT, AT can be further divided recursively using BT, TT, AT.
도 6a는 QT 분할의 예를 도시한다. 블록 A는 QT에 의해서 4개의 서브 블록 (A0, A1, A2, A3)으로 분할될 수 있다. 서브 블록 A1은 다시 QT에 의해서 4개의 서브 블록 (B0, B1, B2, B3)로 분할될 수 있다.6A shows an example of QT division. Block A may be divided into four sub-blocks (A0, A1, A2, A3) by QT. Sub-block A1 may be divided into four sub-blocks (B0, B1, B2, B3) by QT again.
도 6b는 BT 분할의 예를 도시한다. QT에 의해서 더 이상 분할되지 않는 블록 B3은 수직 BT (C0, C1) 또는 수평 BT (D0, D1)에 의해 분할될 수 있다. 블록 C0와 같이 각각의 서브 블록은 수평 BT (E0, E1) 또는 수직 BT (F0, F1)의 형태와 같이 재귀적으로 더 분할될 수 있다.6B shows an example of BT segmentation. Block B3 that is no longer divided by QT may be divided by vertical BT (C0, C1) or horizontal BT (D0, D1). Like block C0, each sub-block may be further divided recursively in the form of horizontal BT (E0, E1) or vertical BT (F0, F1).
도 6c는 TT 분할의 예를 도시한다. QT에 의해서 더 이상 분할되지 않는 블록 B3은 수직 TT (C0, C1, C2) 또는 수평 TT (D0, D1, D2)으로 분할될 수 있다. 블록 C1와 같이 각각의 서브 블록은 수평 TT (E0, E1, E2) 또는 수직 TT (F0, F1, F2)의 형태와 같이 재귀적으로 더 분할될 수 있다.6C shows an example of TT partitioning. Block B3 which is no longer divided by QT may be divided into vertical TT (C0, C1, C2) or horizontal TT (D0, D1, D2). Like block C1, each sub-block may be further divided recursively in the form of horizontal TT (E0, E1, E2) or vertical TT (F0, F1, F2).
도 6d는 AT 분할의 예를 도시한다. QT에 의해서 더 이상 분할되지 않는 블록 B3은 수직 AT (C0, C1) 또는 수평 AT (D0, D1)로 분할 될 수 있다. 블록 C1와 같이 각각의 서브 블록은 수평 AT (E0, E1) 또는 수직 TT (F0, F1)의 형태와 같이 재귀적으로 더 분할 될 수 있다.6D shows an example of AT partitioning. Block B3, which is no longer divided by QT, can be divided into vertical ATs (C0, C1) or horizontal ATs (D0, D1). Like block C1, each sub-block can be further divided recursively in the form of a horizontal AT (E0, E1) or a vertical TT (F0, F1).
한편, BT, TT, AT 분할은 하나의 블록에 함께 적용될 수 있다. 예를 들어, BT에 의해 분할된 서브 블록은 TT 또는 AT에 의해 분할될 수 있다. 또한, TT에 의해 분할된 서브 블록은 BT 또는 AT에 의해 분할될 수 있다. AT에 의해 분할된 서브 블록은 BT 또는 TT에 의해 분할될 수 있다. 예를 들어, 수평 BT 분할 이후, 각각의 서브 블록이 수직 BT에 의해 분할될 수 있다. 또한, 수직 BT 분할 이후, 각각의 서브 블록이 수평 BT에 의해 분할될 수도 있다. 이 경우 분할 순서는 다르지만 최종적으로 분할되는 모양은 동일하다. Meanwhile, BT, TT, and AT division can be applied together in one block. For example, a sub-block divided by BT may be divided by TT or AT. In addition, sub-blocks divided by TT may be divided by BT or AT. Sub-blocks divided by AT may be divided by BT or TT. For example, after horizontal BT division, each sub-block may be divided by vertical BT. In addition, after vertical BT division, each sub-block may be divided by horizontal BT. In this case, the order of division is different, but the shape of the final division is the same.
또한, 블록이 분할되면 블록을 탐색하는 순서가 다양하게 정의될 수 있다. 일반적으로, 좌측에서 우측으로, 상단에서 하단으로 탐색을 수행하며, 블록을 탐색한다는 것은 각 분할된 서브 블록의 추가적인 블록 분할 여부를 결정하는 순서를 의미하거나, 블록이 더 이상 분할되지 않을 경우 각 서브 블록의 부호화 순서를 의미하거나, 또는 서브 블록에서 다른 이웃 블록의 정보를 참조할 때의 탐색 순서를 의미할 수 있다.In addition, when the block is divided, the order of searching for the block may be variously defined. In general, a search is performed from left to right and from top to bottom, and searching for a block means the order of determining whether to divide additional blocks of each divided sub-block, or if the block is no longer divided, each sub It may mean an encoding order of a block, or a search order when a subblock refers to information of another neighboring block.
영상/비디오 코딩 절차Video/video coding procedure
영상/비디오 코딩에 있어서, 영상/비디오를 구성하는 픽처는 일련의 디코딩 순서(decoding order)에 따라 인코딩/디코딩될 수 있다. 디코딩된 픽처의 출력 순서(output order)에 해당하는 픽처 순서(picture order)는 디코딩 순서와 다르게 설정될 수 있으며, 이를 기반으로 인터 예측시 순방향 예측 뿐만 아니라 역방향 예측 또한 수행될 수 있다.In video/video coding, pictures constituting the video/video may be encoded/decoded according to a series of decoding orders. A picture order corresponding to an output order of a decoded picture may be set differently from a decoding order, and based on this, not only forward prediction but also backward prediction may be performed during inter prediction.
도 7은 본 명세서의 실시예에 따른 비디오 신호를 구성하는 픽처의 인코딩을 위한 흐름도의 예를 도시한다. 도 7에서 S710 단계는 도 2에서 설명된 인코딩 장치(100)의 예측부(180, 185)에 의해 수행될 수 있고, S720 단계는 레지듀얼 처리부(115, 120, 130)에 의해 수행될 수 있고, S730 단계는 엔트로피 인코딩부(190)에 의해 수행될 수 있다. S710 단계는 본 문서에서 설명되는 인터/인트라 예측 절차를 포함할 수 있고, S720 단계는 본 문서에서 설명되는 레지듀얼 처리 절차를 포함할 수 있고, S730 단계는 본 문서에서 설명되는 정보 인코딩 절차를 포함할 수 있다.7 shows an example of a flowchart for encoding a picture constituting a video signal according to an embodiment of the present specification. In FIG. 7, step S710 may be performed by the prediction units 180 and 185 of the encoding apparatus 100 described in FIG. 2, and step S720 may be performed by the residual processing units 115, 120, and 130. , S730 may be performed by the entropy encoding unit 190. Step S710 may include an inter/intra prediction procedure described in this document, step S720 may include a residual processing procedure described in this document, and step S730 includes an information encoding procedure described in this document. can do.
도 7을 참조하면, 픽처 인코딩 절차는 도 2에서 설명된 것과 같이 개략적으로 픽처 복원을 위한 정보(예: 예측 정보, 레지듀얼 정보, 파티셔닝 정보)를 인코딩함으로써 비트스트림 형태로 출력하는 절차뿐만 아니라, 현재 픽처에 대한 복원 픽처를 생성하는 절차 및 복원 픽처에 인루프 필터링을 적용하는 절차(optional)를 포함할 수 있다. 인코딩 장치(100)는 역양자화부(140) 및 역변환부(150)를 통해 양자화된 변환 계수로부터 (수정된) 레지듀얼 샘플들을 도출할 수 있으며, S710 단계의 출력에 해당하는 예측 샘플들과 (수정된) 레지듀얼 샘플들에 기반하여 복원 픽처를 생성할 수 있다. 이렇게 생성된 복원 픽처는 상술한 디코딩 장치(200)에서 생성된 복원 픽처와 동일할 수 있다. 복원 픽처에 대한 인루프 필터링 절차를 통하여 수정된 복원 픽처가 생성될 수 있으며, 이는 복호 픽처 버퍼(170) 또는 메모리에 저장될 수 있으며, 디코딩 장치(200)에서의 경우와 마찬가지로, 이후 픽처의 인코딩시 인터 예측 절차에서 참조 픽처로 사용될 수 있다. 상술한 바와 같이 경우에 따라 인루프 필터링 절차의 일부 또는 전부는 생략될 수 있다. 인루프 필터링 절차가 수행되는 경우, (인루프) 필터링 관련 정보(파라미터)가 엔트로피 인코딩부(190)에서 인코딩되어 비트스트림 형태로 출력될 수 있고, 디코딩 장치(200)는 필터링 관련 정보를 기반으로 인코딩 장치(100)와 동일한 방법으로 인루프 필터링 절차를 수행할 수 있다.Referring to FIG. 7, the picture encoding procedure is not only a procedure of encoding information for picture restoration (eg, prediction information, residual information, partitioning information) schematically as described in FIG. 2 to output in a bitstream form, A procedure for generating a reconstructed picture for the current picture and a procedure for applying in-loop filtering to the reconstructed picture (optional) may be included. The encoding device 100 may derive (modified) residual samples from the quantized transform coefficients through the inverse quantization unit 140 and the inverse transform unit 150, and predictive samples corresponding to the output of step S710 and the ( A reconstructed picture may be generated based on the modified) residual samples. The reconstructed picture generated in this way may be the same as the reconstructed picture generated by the decoding apparatus 200 described above. A modified reconstructed picture can be generated through an in-loop filtering procedure for the reconstructed picture, which can be stored in the decoded picture buffer 170 or a memory, and, as in the case of the decoding device 200, subsequent picture encoding It can be used as a reference picture in a time inter prediction procedure. As described above, in some cases, some or all of the in-loop filtering procedure may be omitted. When the in-loop filtering procedure is performed, (in-loop) filtering-related information (parameters) may be encoded by the entropy encoding unit 190 and output in the form of a bitstream, and the decoding apparatus 200 The in-loop filtering procedure may be performed in the same manner as the encoding apparatus 100.
이러한 인루프 필터링 절차를 통하여 블로킹 아티팩스(artifact) 및 링잉(ringing) 아티팩트와 같은 영상/동영상 코딩시 발생하는 노이즈를 감소시킬 수 있으며, 주관적/객관적 비주얼 퀄리티를 개선할 수 있다. 또한, 인코딩 장치(100)와 디코딩 장치(200)에서 모두 인루프 필터링 절차를 수행함으로써, 인코딩 장치(100)와 디코딩 장치(200)는 동일한 예측 결과를 도출할 수 있으며, 픽처 코딩의 신뢰성을 높이고, 픽처 코딩을 위하여 전송되는 데이터 량을 감소시킬 수 있다.Through this in-loop filtering procedure, noise generated during video/video coding such as blocking artifacts and ringing artifacts can be reduced, and subjective/objective visual quality can be improved. In addition, by performing the in-loop filtering procedure in both the encoding device 100 and the decoding device 200, the encoding device 100 and the decoding device 200 can derive the same prediction result, and increase the reliability of picture coding. , It is possible to reduce the amount of data transmitted for picture coding.
도 8은 본 명세서의 실시예에 따른 비디오 신호를 구성하는 픽처의 디코딩을 위한 흐름도의 예를 도시한다. S810 단계는 도 3의 디코딩 장치(200)에서의 엔트로피 디코딩부(210)에 의해 수행될 수 있고, S820 단계는 예측부(260, 265)에 의해 수행될 수 있고, S830 단계는 레지듀얼 처리부(220, 230)에 의해 수행될 수 있고, S840 단계는 가산부(235)에 의해 수행될 수 있고, S850 단계는 필터링부(240)에 의해 수행될 수 있다. S810 단계는 본 문서에서 설명된 정보 디코딩 절차를 포함할 수 있고, S820 단계는 본 문서에서 설명된 인터/인트라 예측 절차를 포함할 수 있고, S830 단계는 본 문서에서 설명된 레지듀얼 처리 절차를 포함할 수 있고, S840 단계는 본 문서에서 설명된 블록/픽처 복원 절차를 포함할 수 있고, S850 단계는 본 문서에서 설명된 인루프 필터링 절차를 포함할 수 있다.8 shows an example of a flowchart for decoding a picture constituting a video signal according to an embodiment of the present specification. Operation S810 may be performed by the entropy decoding unit 210 in the decoding apparatus 200 of FIG. 3, operation S820 may be performed by the prediction units 260 and 265, and operation S830 may be performed by the residual processing unit ( 220, 230), step S840 may be performed by the addition unit 235, step S850 may be performed by the filtering unit 240. Step S810 may include the information decoding procedure described in this document, step S820 may include the inter/intra prediction procedure described in this document, and step S830 includes the residual processing procedure described in this document. In addition, step S840 may include the block/picture restoration procedure described in this document, and step S850 may include the in-loop filtering procedure described in this document.
도 8을 참조하면, 픽처 디코딩 절차는 도 2에서 설명된 것과 같이 개략적으로 비트스트림으로부터 (디코딩을 통한) 영상/비디오 정보 획득 절차(S810), 픽처 복원 절차(S820 내지 S840), 및 복원된 픽처에 대한 인루프 필터링 절차(S850)를 포함할 수 있다. 픽처 복원 절차는 본 문서에서 설명된 인터/인트라 예측(S820) 및 레지듀얼 처리(S830, 양자화된 변호나 계수에 대한 역양자화, 역변환) 과정을 거쳐서 획득된 예측 샘플들 및 레지듀얼 샘플들을 기반으로 수행될 수 있다. 픽처 복원 절차를 통하여 생성된 복원 픽처에 대한 인루프 필터링 절차를 통하여 수정된(modified) 복원 픽처가 생성될 수 있으며, 수정된 복원 픽처가 디코딩된 픽처로서 출력될 수 있고, 또한 디코딩 장치(200)의 복호 픽처 버퍼(250) 또는 메모리에 저장되어 이후 픽처의 디코딩시 인터 예측 철차에서 참조 픽처로 사용될 수 있다. 경우에 따라서 인루프 필터링 절차는 생략될 수 있으며, 이 경우 복원 픽처가 디코딩된 픽처로서 출력될 수 있고, 디코딩 장치(200)의 복호 픽처 버퍼(250) 또는 메모리에 저장되어 이후 픽처의 디코딩시 인터 예측 철차에서 참조 픽처로 사용될 수 있다. 인루프 필터링 절차(S850)는 상술한 바와 같이 디블로킹 필터링 절차, SAO(sample adaptive offset) 절차, ALF(adaptive loop filter) 절차, 및/또는 바이래터럴 필터(bi-lateral filter) 절차를 포함할 수 있고, 그 일부 또는 전부가 생략될 수 있다. 또한, 디블로킹 필터링 절차, SAO 절차, ALF 절차, 및 바이래터럴 필터 절차들 중 하나 또는 일부가 순차적으로 적용될 수 있고, 또는 모두가 순차적으로 적용될 수 있다. 예를 들어, 복원 픽처에 대하여 디블로킹 필터링 절차가 적용된 후 SAO 절차가 수행될 수 있다. 또한, 예를 들어, 복원 픽처에 대하여 디블로킹 필터링 절차가 적용된 후 ALF 절차가 수행될 수 있다. 이는 인코딩 장치(100)에서도 마찬가지로 수행될 수 있다.Referring to FIG. 8, the picture decoding procedure is schematically a procedure for obtaining image/video information (through decoding) from a bitstream (S810), a picture restoration procedure (S820 to S840), and a reconstructed picture as described in FIG. It may include an in-loop filtering procedure (S850) for. The picture restoration procedure is based on prediction samples and residual samples obtained through the process of inter/intra prediction (S820) and residual processing (S830, inverse quantization and inverse transformation of a quantized code or coefficient) described in this document. Can be done. A modified reconstructed picture may be generated through an in-loop filtering procedure for a reconstructed picture generated through a picture restoration procedure, and the modified reconstructed picture may be output as a decoded picture, and the decoding apparatus 200 It is stored in the decoded picture buffer 250 or a memory, and may be used as a reference picture in inter prediction when decoding a picture later. In some cases, the in-loop filtering procedure may be omitted. In this case, the reconstructed picture may be output as a decoded picture, and stored in the decoded picture buffer 250 of the decoding device 200 or in a memory to be It can be used as a reference picture in the prediction train. The in-loop filtering procedure S850 may include a deblocking filtering procedure, a sample adaptive offset (SAO) procedure, an adaptive loop filter (ALF) procedure, and/or a bi-lateral filter procedure as described above. And some or all of them may be omitted. In addition, one or some of the deblocking filtering procedure, the SAO procedure, the ALF procedure, and the bilateral filter procedure may be sequentially applied, or all may be sequentially applied. For example, after the deblocking filtering procedure is applied to the reconstructed picture, the SAO procedure may be performed. Also, for example, after the deblocking filtering procedure is applied to the reconstructed picture, the ALF procedure may be performed. This may be similarly performed in the encoding device 100.
상술한 바와 같이 디코딩 장치(200) 뿐만 아니라 인코딩 장치(100)에서도 픽처 복원 절차가 수행될 수 있다. 각 블록 단위로 인트라 예측/인터 예측에 기반하여 복원 블록이 생성될 수 있으며, 복원 블록들을 포함하는 복원 픽처가 생성될 수 있다. 현재 픽처/슬라이스/타일 그룹이 I 픽처/슬라이스/타일 그룹인 경우 현재 픽처/슬라이스/타일 그룹에 포함되는 블록들은 인트라 예측만을 기반으로 복원될 수 있다. 이 경우 현재 픽처/슬라이스/타일 그룹 내 일부 블록들에 대하여 인터 예측이 적용되고, 나머지 일부 블록들에 대하여 인트라 예측이 적용될 수 있다. 픽처의 컬러 성분은 휘도 성분 및 색차 성분을 포함할 수 있으며, 본 문서에서 명시적으로 제한하지 않으면 본 문서에서 제안되는 방법들 및 실시예들은 휘도 성분 및 색차 성분에 적용될 수 있다.As described above, not only the decoding apparatus 200 but also the encoding apparatus 100 may perform a picture restoration procedure. A reconstructed block may be generated based on intra prediction/inter prediction for each block, and a reconstructed picture including the reconstructed blocks may be generated. When the current picture/slice/tile group is an I picture/slice/tile group, blocks included in the current picture/slice/tile group may be reconstructed based only on intra prediction. In this case, inter prediction may be applied to some blocks in the current picture/slice/tile group, and intra prediction may be applied to the remaining some blocks. The color component of a picture may include a luminance component and a chrominance component, and the methods and embodiments proposed in this document may be applied to the luminance component and the chrominance component unless explicitly limited in this document.
인트라 예측Intra prediction
본 명세서의 실시예는 인트라 예측 방법에 관한 것으로 디코더의 경우 도 11의 인트라 예측 기반 비디오/영상 디코딩 방법 및 도 12의 디코딩 장치(200) 내 인트라 예측부(265)로 나타낼 수 있다. 더불어 인코더의 경우, 도 9의 인트라 예측 기반 비디오/영성 인코딩 방법 및 도 10의 인코딩 장치(100) 내 인트라 예측부로 나타낼 수 있다. 이 경우, 도 9 및 도 10에 의해 인코딩된 데이터는 비트스트림의 형태로 저장될 수 있다.An embodiment of the present specification relates to an intra prediction method, and in the case of a decoder, the video/video decoding method based on intra prediction of FIG. 11 and the intra prediction unit 265 in the decoding apparatus 200 of FIG. 12 may be used. In addition, the encoder may be represented by an intra prediction-based video/spiritual encoding method of FIG. 9 and an intra prediction unit in the encoding apparatus 100 of FIG. 10. In this case, the data encoded by FIGS. 9 and 10 may be stored in the form of a bitstream.
인트라 예측은 현재 블록이 속하는 픽처(이하, 현재 픽처) 내의 참조 샘플들을 기반으로 현재 블록에 대한 예측 샘플들을 생성하는 예측을 의미할 수 있다. 현재 블록에 인트라 예측이 적용되는 경우, 현재 블록의 인트라 예측에 사용될 주변 참조 샘플들이 도출될 수 있다. 현재 블록의 주변 참조 샘플들은 nWxnH 크기의 현재 블록의 좌측(left) 경계에 인접한 샘플 및 좌하측(bottom-left)에 이웃하는 총 2xnH개의 샘플들, 현재 블록의 상측(top) 경계에 인접한 샘플 및 우상측(top-right)에 이웃하는 총 2xnW 개의 샘플들 및 현재 블록의 좌상측(top-left)에 이웃하는 1개의 샘플을 포함할 수 있다. 또한, 현재 블록의 주변 참조 샘플들은 복수 열의 상측 주변 샘플들 및 복수 행의 좌측 주변 샘플들을 포함할 수 있다. 또한, 현재 블록의 주변 참조 샘플들은 nWxnH 크기의 현재 블록의 우측(right) 경계에 인접한 총 nH 개의 샘플들, 현재 블록의 하측(bottom) 경계에 인접한 총 nW 개의 샘플들 및 현재 블록의 우하측(bottom-right)에 이웃하는 1개의 샘플을 포함할 수도 있다. Intra prediction may mean prediction in which prediction samples for a current block are generated based on reference samples in a picture to which the current block belongs (hereinafter, referred to as a current picture). When intra prediction is applied to the current block, surrounding reference samples to be used for intra prediction of the current block may be derived. The neighboring reference samples of the current block are a sample adjacent to the left boundary of the current block of size nWxnH and a total of 2xnH samples adjacent to the bottom-left, a sample adjacent to the top boundary of the current block, and A total of 2xnW samples adjacent to the top-right side and one sample adjacent to the top-left side of the current block may be included. Also, the peripheral reference samples of the current block may include upper peripheral samples of a plurality of columns and left peripheral samples of a plurality of rows. In addition, the neighboring reference samples of the current block are a total of nH samples adjacent to the right boundary of the current block of size nWxnH, a total of nW samples adjacent to the bottom boundary of the current block, and the lower right ( It may include one sample adjacent to the bottom-right).
다만, 현재 블록의 주변 참조 샘플들 중 일부는 아직 디코딩되지 않았거나, 이용 가능하지 않을 수 있다. 이 경우, 디코더는 이용 가능한 샘플들로 이용 가능하지 않은 샘플들을 대체(substitute)함으로써 예측에 사용될 주변 참조 샘플들을 구성할 수 있다. 또한, 이용 가능한 샘플들의 보간(interpolation)을 통하여 예측에 사용될 주변 참조 샘플들이 구성될 수 있다.However, some of the neighboring reference samples of the current block have not yet been decoded or may not be available. In this case, the decoder can construct surrounding reference samples to be used for prediction by substituting the samples that are not available with the available samples. Further, surrounding reference samples to be used for prediction may be constructed through interpolation of available samples.
주변 참조 샘플들이 도출된 경우, (i) 현재 블록의 주변(neighboring) 참조 샘플들의 평균(average) 또는 보간에 기반하여 예측 샘플들이 유도될 수 있고, (ii) 현재 블록의 주변 참조 샘플들 중 예측 샘플에 대하여 특정 (예측) 방향에 존재하는 참조 샘플에 기반하여 상기 예측 샘플이 유도될 수 있다. (i)의 경우는 비방향성(non-directional) 모드 또는 비각도(non-angular) 모드로 지칭되고, (ii)의 경우는 방향성(directional) 모드 또는 각도(angular) 모드로 지칭될 수 있다. 또한, 주변 참조 샘플들 중 현재 블록의 예측 샘플(제1 주변 샘플)을 기준으로 현재 블록의 인트라 예측 모드의 예측 방향의 반대 방향에 위치하는 제2 주변 샘플과 제1 주변 샘플과의 보간을 통하여 예측 샘플이 생성될 수도 있다. 상술한 경우는 선형 보간 인트라 예측(linear interpolation intra prediction, LIP)로 지칭될 수 있다. 또한, 선형 모델(linear model)을 이용하여 휘도 샘플들을 기반으로 색차 예측 샘플들이 생성될 수 있다. 이 경우는 LM 모드로 지칭될 수 있다. 또한, 필터링된 주변 참조 샘플들을 기반으로 현재 블록의 임시 예측 샘플을 도출하고, 기존의 주변 참조 샘플들, 즉, 필터링되지 않은 주변 참조 샘플들 중 인트라 예측 모드에 따라 도출된 적어도 하나의 참조 샘플과 임시 예측 샘플의 가중 합(weighted sum)을 통해 현재 블록의 예측 샘플이 도출될 수 있다. 이 경우는 PDPC(position dependent prediction combination)으로 지칭될 수 있다.When neighboring reference samples are derived, (i) prediction samples may be derived based on an average or interpolation of neighboring reference samples of the current block, and (ii) prediction among neighboring reference samples of the current block The prediction sample may be derived based on a reference sample existing in a specific (prediction) direction with respect to the sample. In the case of (i), it may be referred to as a non-directional mode or a non-angular mode, and in the case of (ii), it may be referred to as a directional mode or an angular mode. In addition, through interpolation between the second neighboring samples and the first neighboring samples located in the opposite direction to the prediction direction of the intra prediction mode of the current block based on the prediction sample (first neighboring sample) of the current block among neighboring reference samples. A prediction sample may be generated. The above-described case may be referred to as linear interpolation intra prediction (LIP). Also, chrominance prediction samples may be generated based on luminance samples using a linear model. This case may be referred to as an LM mode. In addition, a temporary prediction sample of the current block is derived based on the filtered surrounding reference samples, and at least one reference sample derived according to the intra prediction mode among existing surrounding reference samples, that is, unfiltered surrounding reference samples, and A prediction sample of the current block may be derived through a weighted sum of the temporary prediction samples. This case may be referred to as a position dependent prediction combination (PDPC).
또한, 인코딩 장치(100)는 현재 블록의 주변에 위치한 다수의 참조 샘플 라인들 중 가장 예측 정확도가 높은 참조 샘플 라인을 선택하여 해당 라인에서 예측 방향에 위치하는 참조 샘플을 이용하여 예측 샘플을 도출하고, 이 때, 사용된 참조 샘플 라인을 디코딩 장치(200)에 지시(시그널링)하는 방법으로 인트라 예측 부호화를 수행할 수 있다. 이 경우는 MRL(multi-reference line) 인트라 예측 또는 MRL 기반 인트라 예측으로 지칭될 수 있다. 또한, 인코더/디코더는 현재 블록을 수직 또는 수평의 서브파티션들로 나누어 동일한 인트라 예측 모드를 기반으로 인트라 예측을 수행하되, 서브파티션 단위로 주변 참조 샘플들을 도출하고 이용할 수 있다. 즉, 이 경우 현재 블록에 대한 인트라 예측 모드가 서브파티션들에 동일하게 적용되되, 서브파티션 단위로 주변 참조 샘플을 도출하고 이용함으로써 경우에 따라 인트라 예측 성능을 향상시킬 수 있다. 이러한 예측 방법은 ISP(intra sub-partition) 또는 ISP 기반 인트라 예측으로 지칭될 수 있다. 상술한 인트라 예측 방법들은 기존의 인트라 예측 모드와 구분하기 위하여 인트라 예측 타입으로 지칭될 수 있다. 인트라 예측 타입은 인트라 예측 기법 또는 부가 인트라 예측 모드와 같이 다양한 용어로 지칭될 수 있다. 예를 들어 인트라 예측 타입(또는 부가 인트라 예측 모드)은 상술한 LIP PDPC, MRL, ISP 중 적어도 하나를 포함할 수 있다. 한편, 필요에 따라 도출된 예측 샘플에 대한 후처리 필터링이 수행될 수도 있다.In addition, the encoding apparatus 100 selects a reference sample line with the highest prediction accuracy among a plurality of reference sample lines located around the current block, and derives a prediction sample from the corresponding line using a reference sample located in the prediction direction. In this case, intra prediction encoding may be performed by indicating (signaling) the used reference sample line to the decoding apparatus 200. This case may be referred to as multi-reference line (MRL) intra prediction or MRL-based intra prediction. In addition, the encoder/decoder divides the current block into vertical or horizontal subpartitions and performs intra prediction based on the same intra prediction mode, but may derive and use surrounding reference samples in units of subpartitions. That is, in this case, the intra prediction mode for the current block is equally applied to the subpartitions, but the intra prediction performance can be improved in some cases by deriving and using the surrounding reference samples in units of the subpartition. This prediction method may be referred to as an ISP (intra sub-partition) or ISP-based intra prediction. The above-described intra prediction methods may be referred to as an intra prediction type to distinguish them from the existing intra prediction modes. The intra prediction type may be referred to in various terms such as an intra prediction technique or an additional intra prediction mode. For example, the intra prediction type (or additional intra prediction mode) may include at least one of the aforementioned LIP PDPC, MRL, and ISP. Meanwhile, post-processing filtering may be performed on the derived prediction samples as necessary.
구체적으로, 인트라 예측 절차는 인트라 예측 모드/타입 결정 단계, 주변 참조 샘플 도출 단계, 인트라 예측 모드/타입 기반 예측 샘플 도출 단계를 포함할 수 있다. 또한, 필요에 따라 도출된 예측 샘플에 대한 후처리 필터링 단계가 수행될 수도 있다. Specifically, the intra prediction procedure may include determining an intra prediction mode/type, deriving a neighboring reference sample, and deriving an intra prediction mode/type based prediction sample. In addition, a post-processing filtering step may be performed on the derived prediction samples as necessary.
도 9는 본 명세서의 실시예에 따른 비디오 신호의 인코딩 과정에서의 인트라 예측을 위한 흐름도의 예를 도시하고, 도 10은 본 명세서의 실시예에 따른 인코딩 장치 내 인트라 예측부의 예를 도시한다.9 shows an example of a flowchart for intra prediction in a process of encoding a video signal according to an embodiment of the present specification, and FIG. 10 shows an example of an intra prediction unit in an encoding apparatus according to an embodiment of the present specification.
도 9의 S910 단계는 인코딩 장치(100)의 인트라 예측부(185)에 의해 수행될 수도 있고, S920 단계는 인코딩 장치(100)의 레지듀얼 처리부에 의해 수행될 수 있다. 구체적으로 S920 단계는 인코딩 장치(100)의 감산부(115)에 의해 수행될 수 있다. S930 단계에서 예측 정보는 인트라 예측부(185)에 의해 도출되고, 엔트로피 인코딩부(190)에 의해 인코딩될 수 있다. S930 단계에서 레지듀얼 정보는 레지듀얼 처리부에 의해 도출되고, 엔트로피 인코딩부(190)에 의해 인코딩될 수 있다. 레지듀얼 정보는 레지듀얼 샘플들에 관한 정보이다. 레지듀얼 정보는 레지듀얼 샘플들에 대한 양자화된 변환 계수들에 대한 정보를 포함할 수 있다. 상술한 바와 같이 레지듀얼 샘플들은 인코딩 장치(100)의 변환부(120)를 통하여 변환 계수들로 도출되고, 변환 계수들은 양자화부(130)를 통하여 양자화된 변환 계수들로 도출될 수 있다. 양자화된 변환 계수들에 관한 정보가 레지듀얼 코딩 절차를 통하여 엔트로피 인코딩부(190)에서 인코딩될 수 있다. Operation S910 of FIG. 9 may be performed by the intra prediction unit 185 of the encoding apparatus 100, and operation S920 may be performed by the residual processing unit of the encoding apparatus 100. Specifically, step S920 may be performed by the subtraction unit 115 of the encoding device 100. In step S930, the prediction information may be derived by the intra prediction unit 185 and encoded by the entropy encoding unit 190. In step S930, the residual information may be derived by the residual processing unit and encoded by the entropy encoding unit 190. The residual information is information about residual samples. The residual information may include information on quantized transform coefficients for residual samples. As described above, residual samples may be derived as transform coefficients through the transform unit 120 of the encoding apparatus 100, and transform coefficients may be derived as quantized transform coefficients through the quantization unit 130. Information about the quantized transform coefficients may be encoded by the entropy encoding unit 190 through a residual coding procedure.
인코딩 장치(100)는 현재 블록에 대한 인트라 예측을 수행한다(S910). 인코딩 장치(100)는 현재 블록에 대한 인트라 예측 모드/타입을 도출하고, 현재 블록의 주변 참조 샘플들을 도출할 수 있고, 인트라 예측 모드/타입 및 주변 참조 샘플들을 기반으로 현재 블록 내 예측 샘플들을 생성한다. 여기서 인트라 예측 모드/타입 결정, 주변 참조 샘플들 도출 및 예측 샘플들 생성 절차는 동시에 수행될 수도 있고, 어느 한 절차가 다른 절차보다 먼저 수행될 수도 있다. 예를 들어, 인코딩 장치(100)의 인트라 예측부(185)는 인트라 예측 모드/타입 결정부(186), 참조 샘플 도출부(187), 예측 샘플 도출부(188)를 포함할 수 있다. 인트라 예측 모드/타입 결정부(186)는 현재 블록에 해당 인트라 예측 모드/타입을 결정하고, 참조 샘플 도출부(187)는 현재 블록의 주변 참조 샘플들을 도출하고, 예측 샘플 도출부(188)는 현재 블록의 예측 샘플들을 도출할 수 있다. 한편, 비록 도시되지는 않았지만, 후술하는 예측 샘플 필터링 절차가 수행되는 경우, 인트라 예측부(185)는 예측 샘플 필터부(미도시)를 더 포함할 수도 있다. 인코딩 장치(100)는 복수의 인트라 예측 모드/타입들 중 현재 블록에 대하여 적용되는 모드/타입을 결정할 수 있다. 인코딩 장치(100)는 인트라 예측 모드/타입들에 대한 RD(rate-distortion) 비용을 비교하고 현재 블록에 대한 최적의 인트라 예측 모드/타입을 결정할 수 있다.The encoding apparatus 100 performs intra prediction on the current block (S910). The encoding apparatus 100 may derive an intra prediction mode/type for the current block, derive neighboring reference samples of the current block, and generate prediction samples in the current block based on the intra prediction mode/type and neighboring reference samples. do. Here, the procedure of determining the intra prediction mode/type, deriving neighboring reference samples, and generating prediction samples may be simultaneously performed, or one procedure may be performed before the other procedure. For example, the intra prediction unit 185 of the encoding apparatus 100 may include an intra prediction mode/type determiner 186, a reference sample derivation unit 187, and a prediction sample derivation unit 188. The intra prediction mode/type determination unit 186 determines an intra prediction mode/type corresponding to the current block, the reference sample derivation unit 187 derives neighboring reference samples of the current block, and the prediction sample derivation unit 188 Predictive samples of the current block can be derived. Meanwhile, although not shown, when a prediction sample filtering procedure described later is performed, the intra prediction unit 185 may further include a prediction sample filter unit (not shown). The encoding apparatus 100 may determine a mode/type applied to the current block from among a plurality of intra prediction modes/types. The encoding apparatus 100 may compare rate-distortion (RD) costs for intra prediction modes/types and determine an optimal intra prediction mode/type for the current block.
한편, 인코딩 장치(100)는 예측 샘플 필터링 절차를 수행할 수도 있다. 예측 샘플 필터링은 포스트 필터링으로 지칭될 수 있다. 예측 샘플 필터링 절차에 의하여 예측 샘플들 중 일부 또는 전부가 필터링될 수 있다. 경우에 따라 예측 샘플 필터링 절차는 생략될 수 있다.Meanwhile, the encoding apparatus 100 may perform a prediction sample filtering procedure. Predictive sample filtering may be referred to as post filtering. Some or all of the prediction samples may be filtered by the prediction sample filtering procedure. In some cases, the prediction sample filtering procedure may be omitted.
인코딩 장치(100)는 (필터링된) 예측 샘플들을 기반으로 현재 블록에 대한 레지듀얼 샘플들을 생성한다(S920). 인코딩 장치(100)는 현재 블록의 원본 샘플들에서 예측 샘플들을 위상 기반으로 비교하고, 레지듀얼 샘플들을 도출할 수 있다. The encoding apparatus 100 generates residual samples for the current block based on the (filtered) prediction samples (S920). The encoding apparatus 100 may compare prediction samples from original samples of a current block based on a phase and derive residual samples.
인코딩 장치(100)는 인트라 예측에 관한 정보(예측 정보) 및 레지듀얼 샘플들에 관한 레지듀얼 정보를 포함하는 영상 정보를 인코딩할 수 있다(S930). 예측 정보는 인트라 예측 모드 정보, 인트라 예측 타입 정보를 포함할 수 있다. 인코딩 장치(100)는 인코딩된 영상 정보를 비트스트림 형태로 출력될 수 있다. 출력된 비트스트림은 저장 매체 또는 네트워크를 통하여 디코딩 장치(200)로 전달될 수 있다.The encoding apparatus 100 may encode image information including information on intra prediction (prediction information) and residual information on residual samples (S930). The prediction information may include intra prediction mode information and intra prediction type information. The encoding apparatus 100 may output the encoded image information in the form of a bitstream. The output bitstream may be delivered to the decoding apparatus 200 through a storage medium or a network.
레지듀얼 정보는 후술하는 레지듀얼 코딩 신택스(residual coding syntax)를 포함할 수 있다. 인코딩 장치(100)는 레지듀얼 샘플들을 변환/양자화함으로써 양자화된 변환 계수들을 도출할 수 있다. 레지듀얼 정보는 양자화된 변환 계수들에 대한 정보를 포함할 수 있다.The residual information may include a residual coding syntax to be described later. The encoding apparatus 100 may derive quantized transform coefficients by transforming/quantizing residual samples. The residual information may include information on quantized transform coefficients.
한편, 상술한 바와 같이 인코딩 장치(100)는 복원 픽처(복원 샘플들 및 복원 블록 포함)를 생성할 수 있다. 이를 위하여 인코딩 장치(100)는 양자화된 변환 계수들을 다시 역양자화/역변환 처리하여 (수정된) 레지듀얼 샘플들을 도출할 수 있다. 이와 같이 레지듀얼 샘플들을 변환/양자화 후 다시 역양자화/역변환을 수행하는 이유는 상술한 바와 같이 디코딩 장치(200)에서 도출되는 레지듀얼 샘플들과 동일한 레지듀얼 샘플들을 도출하기 위함이다. 인코딩 장치(100)는 예측 샘플들과 (수정된) 레지듀얼 샘플들을 기반으로 현재 블록에 대한 복원 샘플들을 포함하는 복원 블록을 생성할 수 있다. 복원 블록을 기반으로 현재 픽처에 대한 복원 픽처가 생성될 수 있다. 복원 픽처에 대한 인루프 필터링 절차가 더 적용될 수 있음은 상술한 바와 같다. Meanwhile, as described above, the encoding apparatus 100 may generate a reconstructed picture (including reconstructed samples and a reconstructed block). To this end, the encoding apparatus 100 may perform inverse quantization/inverse transformation on the quantized transform coefficients again to derive (modified) residual samples. The reason for performing inverse quantization/inverse transformation after transforming/quantizing the residual samples in this way is to derive residual samples identical to the residual samples derived from the decoding apparatus 200 as described above. The encoding apparatus 100 may generate a reconstructed block including reconstructed samples for the current block based on the prediction samples and (modified) residual samples. A reconstructed picture for the current picture may be generated based on the reconstructed block. As described above, the in-loop filtering procedure for the reconstructed picture may be further applied.
도 11은 본 명세서의 실시예에 따른 비디오 신호의 디코딩 과정에서의 인트라 예측을 위한 흐름도의 예를 도시하고, 도 12는 본 명세서의 실시예에 따른 디코딩 장치(200) 내 인트라 예측부의 예를 도시한다. S1110 단계 내지 S1130 단계는 디코딩 장치(200)의 인트라 예측부(265)에 의해 수행될 수 있고, S1110 단계의 예측 정보 및 S1140 단계의 레지듀얼 정보는 엔트로피 디코딩부(210)에 의해 비트스트림으로부터 획득될 수 있다. 디코딩 장치(200)의 레지듀얼 처리부는 레지듀얼 정보를 기반으로 현재 블록에 대한 레지듀얼 샘플들을 도출할 수 있다. 구체적으로 레지듀얼 처리부의 역양자화부(220)는 레지듀얼 정보를 기반으로 도출된 양자화된 변환 계수들을 기반으로 역양자화를 수행함으로써 변환 계수들을 도출하고, 레지듀얼 처리부의 역변환부(230)는 변환 계수들에 대한 역변환을 수행함으로써 현재 블록에 대한 레지듀얼 샘플들을 도출할 수 있다. S1150 단계는 디코딩 장치(200)의 가산부(235) 또는 복원부에 의해 수행될 수 있다.11 shows an example of a flowchart for intra prediction in a process of decoding a video signal according to an embodiment of the present specification, and FIG. 12 shows an example of an intra prediction unit in the decoding apparatus 200 according to the embodiment of the present specification. do. Steps S1110 to S1130 may be performed by the intra prediction unit 265 of the decoding apparatus 200, and the prediction information of step S1110 and the residual information of step S1140 are obtained from the bitstream by the entropy decoding unit 210 Can be. The residual processing unit of the decoding apparatus 200 may derive residual samples for the current block based on the residual information. Specifically, the inverse quantization unit 220 of the residual processing unit derives the transformation coefficients by performing inverse quantization based on the quantized transformation coefficients derived based on the residual information, and the inverse transformation unit 230 of the residual processing unit performs transformation. Residual samples for the current block can be derived by performing inverse transformation on the coefficients. Operation S1150 may be performed by the addition unit 235 or the restoration unit of the decoding apparatus 200.
구체적으로 디코딩 장치(200)는 수신된 예측 정보(인트라 예측 모드/타입 정보)를 기반으로 현재 블록에 대한 인트라 예측 모드/타입을 도출할 수 있다(S1110). 디코딩 장치(200)는 현재 블록의 주변 참조 샘플들을 도출할 수 있다(S1120). 디코딩 장치(200)는 인트라 예측 모드/타입 및 주변 참조 샘플들을 기반으로 현재 블록 내 예측 샘플들을 생성한다(S1130). 이 경우 디코딩 장치(200)는 예측 샘플 필터링 절차를 수행할 수 있다. 예측 샘플 필터링은 포스트 필터링으로 지칭될 수 있다. 예측 샘플 필터링 절차에 의하여 예측 샘플들 중 일부 또는 정부가 필터링될 수 있다. 경우에 따라 예측 샘플 필터링 절차는 생략될 수 있다.In more detail, the decoding apparatus 200 may derive an intra prediction mode/type for the current block based on the received prediction information (intra prediction mode/type information) (S1110). The decoding apparatus 200 may derive neighboring reference samples of the current block (S1120). The decoding apparatus 200 generates prediction samples in the current block based on the intra prediction mode/type and surrounding reference samples (S1130). In this case, the decoding apparatus 200 may perform a prediction sample filtering procedure. Predictive sample filtering may be referred to as post filtering. Some of the prediction samples or the government may be filtered by the prediction sample filtering procedure. In some cases, the prediction sample filtering procedure may be omitted.
디코딩 장치(200)는 수신된 레지듀얼 정보를 기반으로 현재 블록에 대한 레지듀얼 샘플들을 생성한다. 디코딩 장치(200)는 예측 샘플들 및 레지듀얼 샘플들을 기반으로 현재 블록에 대한 복원 샘플을 생성하고, 복원 샘플들을 포함하는 복원 블록을 도출할 수 있다(S1140). 복원 블록을 기반으로 현재 픽처에 대한 복원 픽처가 생성될 수 있다. 복원 픽처에 대한 인루프 필터링 절차가 더 적용될 수 있음은 상술한 바와 같다.The decoding apparatus 200 generates residual samples for the current block based on the received residual information. The decoding apparatus 200 may generate a reconstructed sample for the current block based on the prediction samples and the residual samples, and derive a reconstructed block including the reconstructed samples (S1140). A reconstructed picture for the current picture may be generated based on the reconstructed block. As described above, the in-loop filtering procedure for the reconstructed picture may be further applied.
여기서, 디코딩 장치(200)의 인트라 예측부(265)는 인트라 예측 모드/타입 결정부(266), 참조 샘플 도출부(267), 예측 샘플 도출부(268)를 포함할 수 있으며, 인트라 예측 모드/타입 결정부(266)는 인코딩 장치(100)의 인트라 예측 모드/타입 결정부(186)에서 생성되어 시그널링된 인트라 예측 모드/타입 정보를 기반으로 현재 블록에 대한 인트라 예측 모드/타입을 결정하고, 참조 샘플 도출부(267)는 현재 블록의 주변 참조 샘플들을 도출하고, 예측 샘플 도출부(267)는 현재 블록의 예측 샘플들을 도출할 수 있다. 한편, 비록 도시되지는 않았지만, 상술한 예측 샘플 필터링 절차가 수행되는 경우, 인트라 예측부(265)는 예측 샘플 필터부(미도시)를 더 포함할 수도 있다. Here, the intra prediction unit 265 of the decoding apparatus 200 may include an intra prediction mode/type determination unit 266, a reference sample derivation unit 267, and a prediction sample derivation unit 268, and the intra prediction mode The /type determination unit 266 determines an intra prediction mode/type for the current block based on the intra prediction mode/type information generated and signaled by the intra prediction mode/type determination unit 186 of the encoding apparatus 100 , The reference sample derivation unit 267 may derive neighboring reference samples of the current block, and the prediction sample derivation unit 267 may derive prediction samples of the current block. Meanwhile, although not shown, when the above-described prediction sample filtering procedure is performed, the intra prediction unit 265 may further include a prediction sample filter unit (not shown).
인트라 예측 모드 정보는, 예를 들어, MPM(most probable mode)이 현재 블록에 적용되는지 아니면 리메이닝 모드(remaining mode)가 적용되는지 여부를 나타내는 플래그 정보(예: intra_luma_mpm_flag)를 포함할 수 있고, MPM이 현재 블록에 적용되는 경우 예측 모드 정보는 인트라 예측 모드 후보들(MPM 후보들) 중 하나를 지시하는 인덱스 정보(예: intra_luma_mpm_idx)를 더 포함할 수 있다. 인트라 예측 모드 후보들(MPM 후보들)은 MPM 후보 리스트 또는 MPM 리스트로 구성될 수 있다. 또한, MPM이 현재 블록에 적용되지 않는 경우, 인트라 예측 모드 정보는 인트라 예측 모드 후보들(MPM 후보들)을 제외한 나머지 인트라 예측 모드들 중 하나를 지시하는 리메이닝 모드 정보(예: intra_luma_mpm_remainder)를 더 포함할 수 있다. 디코딩 장치(200)는 인트라 예측 모드 정보를 기반으로 현재 블록의 인트라 예측 모드를 결정할 수 있다.Intra prediction mode information may include flag information (eg, intra_luma_mpm_flag) indicating whether, for example, most probable mode (MPM) is applied to a current block or a remaining mode is applied, MPM When applied to the current block, the prediction mode information may further include index information (eg, intra_luma_mpm_idx) indicating one of intra prediction mode candidates (MPM candidates). Intra prediction mode candidates (MPM candidates) may be composed of an MPM candidate list or an MPM list. In addition, when MPM is not applied to the current block, the intra prediction mode information may further include remaining mode information (eg, intra_luma_mpm_remainder) indicating one of the remaining intra prediction modes except for intra prediction mode candidates (MPM candidates). I can. The decoding apparatus 200 may determine an intra prediction mode of the current block based on the intra prediction mode information.
또한, 인트라 예측 타입 정보는 다양한 형태로 구현될 수 있다. 일 예로, 인트라 예측 타입 정보는 인트라 예측 타입들 중 하나를 지시하는 인트라 예측 타입 인덱스 정보를 포함할 수 있다. 다른 예로, 인트라 예측 타입 정보는 MRL이 현재 블록에 적용되는지와 MRL 적용되는 경우 몇 번째 참조 샘플 라인이 이용되는지를 지시하는 참조 샘플 라인 정보(예: intra_luma_ref_idx), ISP가 현재 블록에 적용되는지 여부를 지시하는 ISP 플래그 정보(예: intra_subpartitions_mode_flag), ISP가 적용되는 경우 서브파티션들의 분할 타입을 지시하는 ISP 타입 정보(예: intra_subpartitions_split_flag), PDPC의 적용 여부를 지시하는 플래그 정보 또는 LIP의 적용 여부를 지시하는 플래그 정보 중 적어도 하나를 포함할 수 있다.In addition, the intra prediction type information may be implemented in various forms. For example, the intra prediction type information may include intra prediction type index information indicating one of the intra prediction types. As another example, the intra prediction type information includes reference sample line information indicating whether the MRL is applied to the current block and the number of reference sample lines used when the MRL is applied (eg, intra_luma_ref_idx), and whether the ISP is applied to the current block. Indicating ISP flag information (e.g., intra_subpartitions_mode_flag), ISP type information indicating the split type of subpartitions when the ISP is applied (e.g., intra_subpartitions_split_flag), flag information indicating whether to apply PDPC, or indicating whether to apply LIP It may include at least one of flag information.
인트라 예측 모드 정보 및/또는 인트라 예측 타입 정보는 본 문서에서 설명된 코딩 방법을 통하여 인코딩/디코딩될 수 있다. 예를 들어, 인트라 예측 모드 정보 및/또는 인트라 예측 타입 정보는 절단된 (라이스) 바이너리 코드(truncated (rice) binary code)를 기반으로 엔트로피 코딩(예: CABAC, CAVLC)을 통하여 인코딩/디코딩 될 수 있다.Intra prediction mode information and/or intra prediction type information may be encoded/decoded through the coding method described in this document. For example, intra prediction mode information and/or intra prediction type information may be encoded/decoded through entropy coding (eg, CABAC, CAVLC) based on a truncated (rice) binary code. have.
인트라 예측 모드/타입 결정Intra prediction mode/type determination
인트라 예측이 적용되는 경우, 주변 블록의 인트라 예측 모드를 이용하여 현재 블록에 적용되는 인트라 예측 모드가 결정될 수 있다. 예를 들어, 디코딩 장치(200)는 현재 블록의 주변 블록(예: 좌측 및/또는 상측 주변 블록)의 인트라 예측 모드 및 추가적인 후보 모드들을 기반으로 도출된 MPM 리스트 내 MPM 후보들 중 하나를 수신된 MPM 인덱스를 기반으로 선택할 수 있으며, 또는 MPM 후보들에 포함되지 않은 나머지 인트라 예측 모드들 중 하나를 리메이닝 인트라 예측 모드 정보를 기반으로 선택할 수 있다. 예를 들어, 현재 블록에 적용되는 인트라 예측 모드가 MPM 후보들 중에 있는지, 또는 리메이닝 모드 중에 있는지는 MPM 플래그(예: intra_luma_mpm_flag)를 기반으로 지시될 수 있다. MPM 플래그의 값이 1이라는 것은 현재 블록에 대한 인트라 예측 모드가 MPM 후보들(MPM 리스트) 내에 있음을 나타내며, MPM 플래그의 값이 0이라는 것은 현재 블록에 대한 인트라 예측 모드가 MPM 후보들(MPM 리스트) 내에 존재하지 않음을 나타낼 수 있다. MPM 인덱스는 mpm_idx 또는 intra_luma_mpm_idx와 같은 신택스 요소의 형태로 시그널링될 수 있고, 리메이닝 인트라 예측 모드 정보는 rem_intra_luma_pred_mode 또는 intra_luma_mpm_remainder와 같은 신택스 요소의 형태로 시그널링될 수 있다. 예를 들어, 리메이닝 인트라 예측 모드 정보는 전체 인트라 예측 모드들 중 MPM 후보들에 포함되지 않은 나머지 인트라 예측 모드들을 인덱싱하고, 그 중 하나를 지시할 수 있다. 인트라 예측 모드는 휘도 성분(샘플)에 대한 인트라 예측 모드일 수 있다. 이하, 인트라 예측 모드 정보는 MPM 플래그(예: intra_luma_mpm_flag), MPM 인덱스(예: mpm_idx 또는 intra_luma_mpm_idx), 또는 리메이닝 인트라 예측 모드 정보(예: rem_intra_luma_pred_mode 또는 intra_luma_mpm_remainder) 중 적어도 하나를 포함할 수 있다. 본 문서에서 MPM 리스트는 MPM 후보 리스트, candModeList와 같은 다양한 용어로 지칭될 수 있다. 인코딩 장치(100)에서의 인트라 예측 모드 시그널링 절차 및 디코딩 장치(200)에서의 인트라 예측 모드 결정 절차는 도 13 및 도 14와 같이 수행될 수 있다.When intra prediction is applied, an intra prediction mode applied to the current block may be determined using an intra prediction mode of a neighboring block. For example, the decoding apparatus 200 receives one of the MPM candidates in the MPM list derived based on the intra prediction mode of the neighboring block (eg, left and/or upper neighboring block) of the current block and additional candidate modes. It may be selected based on the index, or one of the remaining intra prediction modes that are not included in the MPM candidates may be selected based on the remaining intra prediction mode information. For example, whether the intra prediction mode applied to the current block is among MPM candidates or is in the remaining mode may be indicated based on an MPM flag (eg, intra_luma_mpm_flag). The value of the MPM flag of 1 indicates that the intra prediction mode for the current block is in the MPM candidates (MPM list), and the value of the MPM flag is 0 indicates that the intra prediction mode for the current block is in the MPM candidates (MPM list). May indicate that it does not exist. The MPM index may be signaled in the form of a syntax element such as mpm_idx or intra_luma_mpm_idx, and the remaining intra prediction mode information may be signaled in the form of a syntax element such as rem_intra_luma_pred_mode or intra_luma_mpm_remainder. For example, the remaining intra prediction mode information may index the remaining intra prediction modes that are not included in MPM candidates among all intra prediction modes and indicate one of them. The intra prediction mode may be an intra prediction mode for a luminance component (sample). Hereinafter, the intra prediction mode information may include at least one of an MPM flag (eg, intra_luma_mpm_flag), an MPM index (eg, mpm_idx or intra_luma_mpm_idx), or remaining intra prediction mode information (eg, rem_intra_luma_pred_mode or intra_luma_mpm_remainder). In this document, the MPM list may be referred to in various terms such as an MPM candidate list and candModeList. The intra prediction mode signaling procedure in the encoding apparatus 100 and the intra prediction mode determination procedure in the decoding apparatus 200 may be performed as shown in FIGS. 13 and 14.
도 13은 본 명세서의 실시예에 따른 비디오 신호의 인코딩 과정에서 인트라 예측 정보의 인코딩을 위한 흐름도의 예를 도시한다. 13 shows an example of a flowchart for encoding intra prediction information in a process of encoding a video signal according to an embodiment of the present specification.
도 13을 참조하면, 인코딩 장치(100)는 현재 블록에 대한 MPM 리스트를 구성한다(S1310). MPM 리스트는 현재 블록에 적용될 가능성이 높은 후보 인트라 예측 모드들(MPM 후보들)을 포함할 수 있다. MPM 리스트는 주변 블록의 인트라 예측 모드를 포함할 수도 있고, 미리 정해진 방법에 따라 특정 인트라 예측 모드들을 더 포함할 수도 있다. 구체적인 MPM 리스트 구성 방법은 이후 설명된다. Referring to FIG. 13, the encoding apparatus 100 constructs an MPM list for a current block (S1310). The MPM list may include candidate intra prediction modes (MPM candidates) that are likely to be applied to the current block. The MPM list may include intra prediction modes of neighboring blocks, or may further include specific intra prediction modes according to a predetermined method. A detailed MPM list construction method will be described later.
인코딩 장치(100)는 현재 블록의 인트라 예측 모드를 결정한다(S1320). 인코딩 장치(100)는 다양한 인트라 예측 모드들을 기반으로 예측을 수행할 수 있고, 이에 기반한 RDO(rate-distortion optimization)을 기반으로 최적의 인트라 예측 모드를 결정할 수 있다. 이 경우 인코딩 장치(100)는 MPM 리스트에 구성된 MPM 후보들만을 이용하여 최적의 인트라 예측 모드를 결정할 수도 있고, 또는 MPM 리스트에 구성된 MPM 후보들뿐만 아니라 나머지 인트라 예측 모드들을 더 이용함으로써 최적의 인트라 예측 모드를 결정할 수도 있다. 보다 구체적인 예로서, 만약 현재 블록의 인트라 예측 타입이 특정 타입(예: LIP, MRL, 또는 ISP)인 경우 인코딩 장치(100)는 MPM 후보들만을 현재 블록에 대한 인트라 예측 모드 후보들로 고려함으로써 최적의 인트라 예측 모드를 결정할 수 있다. 즉, 이 경우 현재 블록에 대한 인트라 예측 모드는 MPM 후보들 중에서만 결정될 수 있으며, MPM 플래그의 인코딩/시그널링은 수행되지 않을 수 있다. 이 경우 디코딩 장치(200)는 MPM 플래그를 별도로 디코딩하지 않고도 MPM 플래그가 1인 것으로 추론할 수 있다.The encoding apparatus 100 determines an intra prediction mode of the current block (S1320). The encoding apparatus 100 may perform prediction based on various intra prediction modes, and may determine an optimal intra prediction mode based on rate-distortion optimization (RDO) based thereon. In this case, the encoding apparatus 100 may determine the optimal intra prediction mode by using only the MPM candidates configured in the MPM list, or by further using the remaining intra prediction modes as well as the MPM candidates configured in the MPM list. You can decide. As a more specific example, if the intra prediction type of the current block is a specific type (eg, LIP, MRL, or ISP), the encoding apparatus 100 considers only MPM candidates as intra prediction mode candidates for the current block, The prediction mode can be determined. That is, in this case, the intra prediction mode for the current block may be determined only among MPM candidates, and encoding/signaling of the MPM flag may not be performed. In this case, the decoding apparatus 200 may infer that the MPM flag is 1 without separately decoding the MPM flag.
한편, 현재 블록의 인트라 예측 모드가 MPM 리스트 내에 있는 MPM 후보들 중 하나인 경우, 인코딩 장치(100)는 MPM 후보들 중 하나를 지시하는 MPM 인덱스(mpm_idx)를 생성한다. 만약 현재 블록의 인트라 예측 모드가 MPM 리스트 내에 없는 경우, 인코딩 장치(100)는 MPM 리스트에 포함되지 않은 나머지 인트라 예측 모드들 중에서 현재 블록의 인트라 예측 모드와 같은 모드를 지시하는 리메이닝 인트라 예측 모드 정보를 생성한다. Meanwhile, when the intra prediction mode of the current block is one of MPM candidates in the MPM list, the encoding apparatus 100 generates an MPM index (mpm_idx) indicating one of the MPM candidates. If the intra prediction mode of the current block is not in the MPM list, the encoding apparatus 100 remines intra prediction mode information indicating the same mode as the intra prediction mode of the current block among the remaining intra prediction modes not included in the MPM list. Create
인코딩 장치(100)는 인트라 예측 모드 정보를 인코딩하고 비트스트림 형태로 출력할 수 있다. 인트라 예측 모드 정보는 상술한 MPM 플래그, MPM 인덱스 및/또는 리메이닝 인트라 예측 모드 정보를 포함할 수 있다. MPM 인덱스와 리메이닝 인트라 예측 모드 정보는 대체적인(alternative) 관계로 하나의 블록에 대한 인트라 예측 모드를 지시하므로, 동시에 시그널링되지 않는다. 즉, MPM 플래그 값 1과 MPM 인덱스가 함께 시그널링되거나, MPM 플래그 0과 리메이닝 인트라 예측 모드 정보가 함께 시그널링된다. 다만, 상술한 바와 같이 현재 블록에 특정 인트라 예측 타입이 적용되는 경우 MPM 플래그가 시그널링되지 않고 MPM 인덱스만 시그널링될 수도 있다. 즉, 이 경우 인트라 예측 모드 정보는 MPM 인덱스만을 포함할 수도 있다. The encoding apparatus 100 may encode intra prediction mode information and output it in the form of a bitstream. The intra prediction mode information may include the above-described MPM flag, MPM index, and/or remaining intra prediction mode information. Since the MPM index and the remaining intra prediction mode information indicate an intra prediction mode for one block in an alternative relationship, they are not signaled at the same time. That is, the MPM flag value 1 and the MPM index are signaled together, or the MPM flag 0 and the remaining intra prediction mode information are signaled together. However, as described above, when a specific intra prediction type is applied to the current block, the MPM flag may not be signaled and only the MPM index may be signaled. That is, in this case, the intra prediction mode information may include only the MPM index.
도 14는 본 명세서의 실시예에 따른 비디오 신호의 디코딩 과정에서 인트라 예측 정보의 디코딩을 위한 흐름도의 예를 도시한다. 디코딩 장치(200)는 인코딩 장치(100)에서 결정되고 시그널링된 인트라 예측 모드 정보에 대응하여 인트라 예측 모드를 결정할 수 있다. 14 shows an example of a flowchart for decoding intra prediction information in a process of decoding a video signal according to an embodiment of the present specification. The decoding device 200 may determine an intra prediction mode in response to intra prediction mode information determined and signaled by the encoding device 100.
도 14를 참조하면, 디코딩 장치(200)는 비트스트림으로부터 인트라 예측 모드 정보를 획득한다(S1410). 인트라 예측 모드 정보는 상술한 바와 같이 MPM 플래그, MPM 인덱스, 리메이닝 인트라 예측 모드 인덱스 중 적어도 하나를 포함할 수 있다. Referring to FIG. 14, the decoding apparatus 200 acquires intra prediction mode information from a bitstream (S1410). As described above, the intra prediction mode information may include at least one of an MPM flag, an MPM index, and a remaining intra prediction mode index.
디코딩 장치(200)는 MPM 리스트를 구성한다(S1420). MPM 리스트는 인코딩 장치(100)에서 구성된 MPM 리스트와 동일하게 구성된다. 즉, MPM 리스트는 주변 블록의 인트라 예측 모드를 포함할 수도 있고, 미리 정해진 방법에 따라 특정 인트라 예측 모드들을 더 포함할 수도 있다. 구체적은 MPM 리스트 구성 방법은 이후 설명된다. The decoding apparatus 200 constructs an MPM list (S1420). The MPM list is configured in the same way as the MPM list configured in the encoding device 100. That is, the MPM list may include intra prediction modes of neighboring blocks, or may further include specific intra prediction modes according to a predetermined method. Specifically, the MPM list construction method will be described later.
비록 도 14에서 S1420 단계가 S1410 단계 이후에 수행되는 것으로 도시되었으나, 이는 예에 불과하고 S1420 단계가 S1410 단계보다 먼저 수행되거나 동시에 수행될 수도 있다. Although it is shown in FIG. 14 that step S1420 is performed after step S1410, this is only an example, and step S1420 may be performed before step S1410 or may be performed simultaneously.
디코딩 장치(200)는 MPM 리스트 및 인트라 예측 모드 정보를 기반으로 현재 블록의 인트라 예측 모드를 결정한다(S1430). 일 예로, MPM 플래그의 값이 1인 경우, 디코딩 장치(200)는 MPM 리스트 내 MPM 후보들 중에서 MPM 인덱스가 지시하는 후보를 현재 블록의 인트라 예측 모드로 도출할 수 있다. 다른 예로, MPM 플래그의 값이 0인 경우, 디코딩 장치(200)는 MPM 리스트에 포함되지 않은 나머지 인트라 예측 모드들 중에서 리메이닝 인트라 예측 정보가 지시하는 인트라 예측 모드를 현재 블록의 인트라 예측 모드로 도출할 수 있다. 한편, 또 다른 예로, 현재 블록의 인트라 예측 타입이 특정 타입(예: LIP, MRL, 또는 ISP)인 경우, 디코딩 장치(200)는 MPM 플래그의 확인없이 MPM 리스트 내에서 MPM 인덱스가 지시하는 후보를 현재 블록의 인트라 예측 모드로 도출할 수도 있다. 이와 같이 구체적인 인트라 예측 모드 도출 절차는 도 15와 같다. 도 15는 본 명세서의 실시예에 따른 비디오 신호의 디코딩 과정에서 인트라 예측 모드를 결정하기 위한 흐름도의 예를 도시한다.The decoding apparatus 200 determines an intra prediction mode of the current block based on the MPM list and intra prediction mode information (S1430). For example, when the value of the MPM flag is 1, the decoding apparatus 200 may derive a candidate indicated by the MPM index from among MPM candidates in the MPM list as the intra prediction mode of the current block. As another example, when the value of the MPM flag is 0, the decoding apparatus 200 derives an intra prediction mode indicated by the remaining intra prediction information from among the remaining intra prediction modes not included in the MPM list as the intra prediction mode of the current block. can do. Meanwhile, as another example, when the intra prediction type of the current block is a specific type (eg, LIP, MRL, or ISP), the decoding apparatus 200 selects a candidate indicated by the MPM index in the MPM list without checking the MPM flag. It can also be derived as the intra prediction mode of the current block. A detailed procedure for deriving an intra prediction mode as described above is shown in FIG. 15. 15 illustrates an example of a flowchart for determining an intra prediction mode in a process of decoding a video signal according to an embodiment of the present specification.
도 16은 본 명세서의 실시예에 따른 33개의 방향성 인트라 예측 모드들의 예를 도시하고, 도 17은 본 명세서의 실시예에 따른 65개의 방향성 인트라 예측 모드들의 예를 도시한다.16 shows an example of 33 directional intra prediction modes according to an embodiment of the present specification, and FIG. 17 shows an example of 65 directional intra prediction modes according to an embodiment of the present specification.
한편, 인트라 예측 모드는 일 예로 2개의 비방향성 인트라 예측 모드들과 33개의 방향성 인트라 예측 모드들을 포함할 수 있다. 비방향성 인트라 예측 모드들은 플래너(Planar) 인트라 예측 모드 및 DC 인트라 예측 모드를 포함할 수 있고, 방향성 인트라 예측 모드들은 2번 내지 34번 인트라 예측 모드들을 포함할 수 있다. 플래너 인트라 예측 모드는 플래너 모드로 지칭될 수 있고, DC 인트라 예측 모드는 DC 모드로 지칭될 수 있다.Meanwhile, the intra prediction mode may include, for example, two non-directional intra prediction modes and 33 directional intra prediction modes. The non-directional intra prediction modes may include a planar intra prediction mode and a DC intra prediction mode, and the directional intra prediction modes may include 2 to 34 intra prediction modes. The planar intra prediction mode may be referred to as a planner mode, and the DC intra prediction mode may be referred to as a DC mode.
또한, 자연 영상(natural image)에서 제시된 임의의 엣지 방향(edge direction)을 캡쳐하기 위하여, 방향성 인트라 예측 모드는 도 17과 같이 기존의 33개에서 65개로 확장될 수 있다. 이 경우, 인트라 예측 모드는 2개의 비방향성 인트라 예측 모드들과 65개의 방향성 인트라 예측 모드들을 포함할 수 있다. 확장된 방향성 인트라 예측 모드들은 모든 사이즈의 블록들에 적용될 수 있고, 휘도 성분 및 색차 성분 모두에 적용될 수 있다.In addition, in order to capture an arbitrary edge direction presented in a natural image, directional intra prediction modes may be extended from 33 to 65 as shown in FIG. 17. In this case, the intra prediction mode may include two non-directional intra prediction modes and 65 directional intra prediction modes. The extended directional intra prediction modes can be applied to blocks of all sizes, and can be applied to both a luminance component and a color difference component.
또한, 인트라 예측 모드는 2개의 비방향성 인트라 예측 모드들과 129개의 방향성 인트라 예측 모드들을 포함할 수 있다. 비방향성 인트라 예측 모드들은 플래너 인트라 예측 모드 및 DC 인트라 예측 모드를 포함할 수 있고, 방향성 인트라 예측 모드들은 2번 내지 130번 인트라 예측 모드들을 포함할 수 있다.In addition, the intra prediction mode may include two non-directional intra prediction modes and 129 directional intra prediction modes. Non-directional intra prediction modes may include a planar intra prediction mode and a DC intra prediction mode, and the directional intra prediction modes may include intra prediction modes 2 to 130.
한편, 인트라 예측 모드는 상술한 인트라 예측 모드들 외에도 색차 샘플을 위한 CCLM(cross-component linear model) 모드를 더 포함할 수 있다. CCLM 모드는 LM 파라미터 도출을 위하여 좌측 샘플을 고려하는지, 상측 샘플을 고려하는지, 둘 다 고려하는지에 따라 LT_CCLM, L_CCLM, T_CCLM으로 구분될 수 있으며, 색차 성분에 대하여만 적용될 수 있다. Meanwhile, the intra prediction mode may further include a cross-component linear model (CCLM) mode for color difference samples in addition to the aforementioned intra prediction modes. The CCLM mode can be classified into LT_CCLM, L_CCLM, and T_CCLM depending on whether a left sample is considered, an upper sample is considered, or both are considered to derive an LM parameter, and can be applied only to a color difference component.
인트라 예측 모드는 예를 들어 아래의 표 1과 같이 인덱싱될 수 있다.The intra prediction mode may be indexed, for example, as shown in Table 1 below.
Figure PCTKR2020002635-appb-T000001
Figure PCTKR2020002635-appb-T000001
한편, 인트라 예측 타입(또는 부가 인트라 예측 모드)은 상술한 LIP, PDPC, MRL, ISP 중 적어도 하나를 포함할 수 있다. 인트라 예측 타입은 인트라 예측 타입 정보를 기반으로 지시될 수 있으며, 인트라 예측 타입 정보는 다양한 형태로 구현될 수 있다. 일 예로, 인트라 예측 타입 정보는 인트라 예측 타입들 중 하나를 지시하는 인트라 예측 타입 인덱스 정보를 포함할 수 있다. 다른 예로, 인트라 예측 타입 정보는 MRL이 현재 블록에 적용되는지와 적용되는 경우 몇 번째 참조 샘플 라인이 이용되는지를 나타내는 참조 샘플 라인 정보(예: intra_lumma_ref_idx), ISP가 적용되는 경우 서브파티션들의 분할 타입을 지시하는 ISP 타입 정보(예: intra_subpartitions_split_flag), PDPC의 적용 여부를 나타내는 플래그 정보 또는 LIP의 적용 여부를 나타내는 플래그 정보 중 적어도 하나를 포함할 수 있다.Meanwhile, the intra prediction type (or additional intra prediction mode) may include at least one of the aforementioned LIP, PDPC, MRL, and ISP. The intra prediction type may be indicated based on intra prediction type information, and the intra prediction type information may be implemented in various forms. For example, the intra prediction type information may include intra prediction type index information indicating one of the intra prediction types. As another example, the intra prediction type information includes reference sample line information (e.g., intra_lumma_ref_idx) indicating whether MRL is applied to the current block and in which case the reference sample line is used, and when the ISP is applied, the split type of subpartitions It may include at least one of indicating ISP type information (eg, intra_subpartitions_split_flag), flag information indicating whether PDPC is applied, or flag information indicating whether LIP is applied.
MPM 후보 리스트 구성MPM candidate list composition
영상에 대한 블록 분할이 수행되면, 코딩하고자 하는 현재 블록과 이웃 블록은 유사한 영상 특성을 가질 가능성이 높다. 따라서, 현재 블록과 주변 블록은 서로 동일하거나 유사한 인트라 예측 모드를 가질 확률이 높다. 따라서, 인코더는 현재 블록의 인트라 예측 모드를 인코딩하기 위하여 주변 블록의 인트라 예측 모드를 이용할 수 있다.When block division is performed on an image, a current block to be coded and a neighboring block are likely to have similar image characteristics. Therefore, it is highly likely that the current block and the neighboring block have the same or similar intra prediction modes. Accordingly, the encoder can use the intra prediction mode of the neighboring block to encode the intra prediction mode of the current block.
예를 들어, 인코더/디코더는 현재 블록에 대한 MPM 리스트를 구성할 수 있다. MPM 리스트는 MPM 후보 리스트도 지칭될 수 있다. 여기서, MPM이라 함은 인트라 예측 모드 코딩시 현재 블록과 이웃 블록의 유사성을 고려하여 코딩 효율을 향상시키기 위해 사용되는 모드를 의미할 수 있다. 이 경우, MPM 리스트 생성을 위한 복잡도를 낮게 유지하기 위하여 3개의 MPM 후보를 포함하는 MPM 리스트를 구성하는 방법이 사용될 수 있다. 예를 들어, 67개의 인트라 예측 모드가 사용되는 경우에도 MPM 리스트는 3개의 MPM 후보들을 포함할 수 있다. MPM 리스트에 현재 블록을 위한 인트라 예측 모드가 포함되지 않은 경우, 리메이닝 모드가 사용될 수 있다. 이 경우 리메이닝 모드는 64개의 나머지 후보들을 포함하고, 64개의 나머지 후보들 중 하나를 지시하는 리메이닝 인트라 예측 모드 정보가 시그널링될 수 있다. 예를 들어, 리메이닝 인트라 예측 모드 정보는 6 비트의 신택스 요소(예: rem_intra_luma_pred_mode)를 포함할 수 있다.For example, the encoder/decoder may construct an MPM list for the current block. The MPM list may also be referred to as an MPM candidate list. Here, MPM may mean a mode used to improve coding efficiency in consideration of similarity between a current block and a neighboring block when coding an intra prediction mode. In this case, a method of configuring an MPM list including three MPM candidates may be used in order to keep the complexity for generating the MPM list low. For example, even when 67 intra prediction modes are used, the MPM list may include 3 MPM candidates. When the intra prediction mode for the current block is not included in the MPM list, a remanufacturing mode may be used. In this case, the remaining mode includes 64 remaining candidates, and information on the remaining intra prediction mode indicating one of the 64 remaining candidates may be signaled. For example, the remaining intra prediction mode information may include a 6-bit syntax element (eg, rem_intra_luma_pred_mode).
도 18은 본 명세서의 실시예에 따른 MPM(most probable mode) 후보 리스트를 구성하기 위한 흐름도의 예를 도시한다.18 shows an example of a flowchart for configuring a most probable mode (MPM) candidate list according to an embodiment of the present specification.
MPM 리스트를 구성하기 위하여 3 가지 종류의 모드들이 고려될 수 있다.Three types of modes can be considered to construct the MPM list.
- 주변 인트라 모드들(Neighbour intra modes)-Neighbor intra modes
- 도출된 인트라 모드들(Derived intra modes)-Derived intra modes
- 디폴트 인트라 모드들(Default intra modes)-Default intra modes
인코더는 이웃 블록이 인트라 코딩된 경우, 이웃 블록의 예측 모드를 확인 또는 유도할 수 있다(S1810). 예를 들어, 인코더는 좌측 이웃 블록의 예측 모드와 상측 이웃 블록의 예측 모드에 기반하여 현재 블록의 예측 모드를 결정할 수 있고, 이때 해당 이웃 블록의 예측 모드를 MPM으로 결정할 수 있다. MPM을 결정하는 것은, MPM 후보(또는 MPM 리스트)를 리스트 업(list up)한다고 표현될 수도 있다.When the neighboring block is intra-coded, the encoder may check or derive the prediction mode of the neighboring block (S1810). For example, the encoder may determine the prediction mode of the current block based on the prediction mode of the left neighboring block and the prediction mode of the upper neighboring block, and at this time, the prediction mode of the corresponding neighboring block may be determined as MPM. Determining the MPM may be expressed as listing up MPM candidates (or MPM list).
인코더는 좌측 이웃 블록의 예측 모드와 상측 이웃 블록의 예측 모드가 같은지 여부를 확인한다(S1820). 초기(initial) MPM 리스트는 2개의 인접한 블록들의 인트라 예측 모드들에 대한 프루닝 프로세스(pruning process)를 수행함으로써 형성될 수 있다.The encoder checks whether the prediction mode of the left neighboring block and the prediction mode of the upper neighboring block are the same (S1820). The initial MPM list may be formed by performing a pruning process for intra prediction modes of two adjacent blocks.
만약 좌측 이웃 블록의 예측 모드와 상측 이웃 블록의 예측 모드가 동일하지 않은 경우, 첫번째 MPM은 좌측 이웃 블록의 예측 모드로 설정될 수 있고, 두번째 MPM은 상측 이웃 블록의 예측 모드로 결정될 수 있으며, 세번째 MPM은 인트라 플래너 모드, 인트라 DC 모드, 또는 인트라 수직 모드(50번 인트라 예측 모드) 중 어느 하나로 설정될 수 있다(S1830). 구체적으로 2개의 이웃 블록의 인트라 예측 모드들이 서로 다르면, 2개의 인트라 예측 모드들이 MPM으로 설정될 수 있고, MPM들에 의한 프루닝 체크(pruning check) 이후 디폴트 인트라 모드들 중 하나가 MPM 리스트에 추가될 수 있다. 여기서, 디폴트 인트라 모드들은 인트라 플래너 모드, 인트라 DC모드, 및/또는 인트라 수직 모드(50번 인트라 예측 모드)를 포함할 수 있다. 예를 들어, 좌측 이웃 블록의 예측 모드가 상측 이웃 블록의 예측 모드가 동일하지 않은 경우, MPM 리스트는 후술하는 아래와 같이 구성될 수 있다.If the prediction mode of the left neighboring block and the prediction mode of the upper neighboring block are not the same, the first MPM may be set as the prediction mode of the left neighboring block, and the second MPM may be determined as the prediction mode of the upper neighboring block. The MPM may be set to one of an intra planner mode, an intra DC mode, or an intra vertical mode (50th intra prediction mode) (S1830). Specifically, if the intra prediction modes of the two neighboring blocks are different from each other, the two intra prediction modes may be set as MPM, and one of the default intra modes is added to the MPM list after pruning check by MPMs. Can be. Here, the default intra modes may include an intra planner mode, an intra DC mode, and/or an intra vertical mode (50th intra prediction mode). For example, if the prediction mode of the left neighboring block is not the same as the prediction mode of the upper neighboring block, the MPM list may be configured as follows.
A와 B가 동일하지 않으면,If A and B are not equal,
- A와 B 모두 0이 아니면, candModeList [3] = {A, B, 0}.-If both A and B are not 0, candModeList [3] = {A, B, 0}.
- 그렇지 않으면(A와 B 중 하나가 0이면), A와 B가 모두 1이 아니면, candModeList [3] = {A, B, 1}.-Otherwise (one of A and B is 0), if both A and B are not 1, candModeList [3] = {A, B, 1}.
- 그렇지 않으면(A, B가 0, 1 또는 1, 0이면), candModeList [3] = {A, B, 50}.-Otherwise (if A, B is 0, 1 or 1, 0), candModeList [3] = {A, B, 50}.
여기서 A는 좌측 이웃 블록의 인트라 예측 모드, B는 상측 이웃 블록의 인트라 예측 모드, 0은 인트라 플래너 모드, 1은 인트라 DC 모드, 50은 인트라 수직 모드를 나타낼 수 있고, candModeList는 MPM 리스트를 나타낼 수 있다.Here, A denotes an intra prediction mode of the left neighboring block, B denotes an intra prediction mode of an upper neighboring block, 0 denotes an intra planner mode, 1 denotes an intra DC mode, 50 denotes an intra vertical mode, and candModeList denotes an MPM list. have.
한편, 좌측 이웃 블록의 예측 모드와 상측 이웃 블록의 예측 모드가 동일한 경우, 인코더는 좌측 이웃 블록의 예측 모드가 2보다 작은지 여부를 결정할 수 있다(S1840).Meanwhile, when the prediction mode of the left neighboring block and the prediction mode of the upper neighboring block are the same, the encoder may determine whether the prediction mode of the left neighboring block is less than 2 (S1840).
만약 좌측 이웃 블록의 예측 모드가 2보다 작은 경우, 첫번째 MPM은 인트라 플래너 모드로 설정될 수 있고, 두번째 MPM은 인트라 DC 모드로 설정될 수 있으며, 세번째 MPM은 인트라 수직 모드(50번 인트라 예측 모드)로 설정될 수 있다(S1850).If the prediction mode of the left neighboring block is less than 2, the first MPM may be set to an intra planner mode, the second MPM may be set to an intra DC mode, and the third MPM is an intra vertical mode (50th intra prediction mode). It may be set to (S1850).
한편, 좌측 이웃 블록의 예측 모드가 2보다 작지 않은 경우, 첫번째 MPM은 좌측 이웃 블록의 예측 모드로 설정될 수 있고, 두번째 MPM은 (좌측 이웃 블록의 예측 모드 - 1)로 설정될 수 있으며, 세번째 MPM은 (좌측 이웃 블록의 예측 모드 + 1)로 설정될 수 있다(S1860). On the other hand, when the prediction mode of the left neighboring block is not less than 2, the first MPM may be set as the prediction mode of the left neighboring block, the second MPM may be set to (prediction mode of the left neighboring block-1), and the third The MPM may be set to (prediction mode of the left neighboring block + 1) (S1860).
예를 들어, 좌측 이웃 블록의 예측 모드와 상측 이웃 블록의 예측 모드가 동일한 경우, MPM 리스트는 후술하는 바와 같이 구성될 수 있다.For example, when the prediction mode of the left neighboring block and the prediction mode of the upper neighboring block are the same, the MPM list may be configured as described later.
두 이웃 후보 모드들이 동일하면 (즉, A == B이면),If the two neighboring candidate modes are the same (i.e. A == B),
- A가 2보다 작으면, candModeList [3] = {0, 1, 50}.-If A is less than 2, candModeList [3] = {0, 1, 50}.
- 그렇지 않으면(A가 2보다 크거나 같으면), candModeList[3] = {A, 2 + ( ( A + 61 ) % 64 ), 2 + ( ( A - 1 ) % 64 )}-Otherwise (if A is greater than or equal to 2), candModeList[3] = (A, 2 + ((A + 61)% 64 ), 2 + ((A-1)% 64 )}
여기서 A는 좌측 이웃 블록의 인트라 예측 모드, B는 상측 이웃 블록의 인트라 예측 모드, 0은 인트라 플래너 모드, 1은 인트라 DC 모드, 50은 인트라 수직 모드를 나타낼 수 있고, candModeList는 MPM 리스트를 나타낼 수 있다.Here, A denotes an intra prediction mode of the left neighboring block, B denotes an intra prediction mode of an upper neighboring block, 0 denotes an intra planner mode, 1 denotes an intra DC mode, 50 denotes an intra vertical mode, and candModeList denotes an MPM list. have.
한편, 고유한 모드들만 포함될 수 있도록 복제 모드들을 제거하는 추가 프루닝 프로세스가 수행될 수 있다. 또한, 3개의 MPM을 제외한 64개의 non-MPM 모드들의 엔트로피 코딩에 대하여, 6 비트 고정 길이 코드(6-bit fixed length code, 6-bit FLC)가 사용될 수 있다. 즉, 64개의 non-MPM 모드들을 나타내는 인덱스는 6 비트 고정 길이 코드로 엔트로피 코딩될 수 있다.Meanwhile, an additional pruning process may be performed to remove duplicate modes so that only unique modes can be included. In addition, for entropy coding of 64 non-MPM modes excluding 3 MPMs, a 6-bit fixed length code (6-bit FLC) may be used. That is, an index representing 64 non-MPM modes may be entropy-coded with a 6-bit fixed length code.
그리고, 인코더는 현재 블록에 적용될 최적의 인트라 예측 모드가 앞서 구성된 MPM 후보 내에 속하는지 결정할 수 있다. 만약 현재 블록의 인트라 예측 모드가 MPM 후보에 속하는 경우, 인코더는 MPM 플래그와 MPM 인덱스를 인코딩할 수 있다. 여기서, MPM 플래그는 현재 블록의 인트라 예측 모드는 주변의 인트라 예측된 블록으로부터 유도되는지 여부(즉, 현재 블록의 인트라 예측 모드가 MPM 리스트에 속하는지 여부)를 지시할 수 있다. 또한, MPM 인덱스는 MPM 후보 중에서 현재 블록의 인트라 예측 모드로서 어떤 MPM 모드가 적용되는지를 나타낼 수 있다. 반면, 현재 블록의 인트라 예측 모드가 MPM 후보에 속하지 않으면, 인코더는 현재 블록의 인트라 예측 모드를 인코딩할 수 있다.In addition, the encoder may determine whether an optimal intra prediction mode to be applied to the current block belongs to the previously configured MPM candidate. If the intra prediction mode of the current block belongs to the MPM candidate, the encoder may encode the MPM flag and the MPM index. Here, the MPM flag may indicate whether the intra prediction mode of the current block is derived from a neighboring intra-prediction block (ie, whether the intra prediction mode of the current block belongs to the MPM list). In addition, the MPM index may indicate which MPM mode is applied as an intra prediction mode of the current block among MPM candidates. On the other hand, if the intra prediction mode of the current block does not belong to the MPM candidate, the encoder may encode the intra prediction mode of the current block.
한편, 인코더/디코더는 6개의 MPM을 포함하는 MPM 리스트를 구성할 수도 있다. MPM 리스트를 구성하기 위하여 아래 3가지 종류의 모드들이 고려될 수 있다.Meanwhile, the encoder/decoder may configure an MPM list including 6 MPMs. In order to configure the MPM list, the following three types of modes can be considered.
- 주변 인트라 모드들(Neighbour intra modes)-Neighbor intra modes
- 도출된 인트라 모드들(Derived intra modes)-Derived intra modes
- 디폴트 인트라 모드들(Default intra modes)-Default intra modes
주변 인트라 모드들로서, 두 개의 주변 블록들, 즉 좌측 주변 블록(A)과 상측 주변 블록(B)이 고려될 수 있다. 6개의 MPM들을 포함하는 MPM 리스트를 생성하기 위하여 아래의 초기화된 디폴트 MPM 리스트가 고려될 수 있다.As the peripheral intra modes, two neighboring blocks, that is, a left neighboring block A and an upper neighboring block B may be considered. In order to generate an MPM list including 6 MPMs, the following initialized default MPM list may be considered.
Default 6 MPM modes = {A, Planar (0) or DC (1), Vertical (50), HOR (18), VER - 4 (46), VER + 4 (54)} Default 6 MPM modes = {A, Planar (0) or DC (1), Vertical (50), HOR (18), VER-4 (46), VER + 4 (54)}
이후 두 이웃 인트라 모드들에 대한 프루닝 프로세스를 수행함으로써 6-MPM들이 업데이트된다. 만약 2개의 이웃 모드들이 동일하고 DC 모드(1) 보다 크면, 6-MPM들은 3개의 디폴트 모드들(A, 플래너, DC)과 이웃 모드에 기 정의된 오프셋 값이 더해지고 모듈러(modular) 연산에 의해 획득되는 3개의 유도된 모드들을 포함하게 된다. 그렇지 않으면, 만약 2개의 이웃 모드들이 서로 다르면, 2개의 이웃 모드들이 처음 2개의 MPM 모드들로 할당되고 나머지 4개의 MPM 모드들이 디폴트 모드들과 이웃 모드들로부터 유도된다. 6-MPM 리스트 생성 프로세스 동안, 고유한 모드들이 MPM 리스트에 포함될 수 있도록 동일한 모드들을 제거하기 위한 프루닝이 사용된다. 61개의 non-MPM 모드들의 엔트로피 코딩을 위하여, TBC(truncated binary code)가 사용된다.Thereafter, 6-MPMs are updated by performing a pruning process for two neighboring intra modes. If the two neighboring modes are the same and larger than the DC mode (1), 6-MPMs are added to the three default modes (A, planner, DC) and the neighboring mode, and a predefined offset value is added to the modular operation. It will contain three derived modes obtained by. Otherwise, if the two neighboring modes are different from each other, the two neighboring modes are allocated to the first two MPM modes and the remaining four MPM modes are derived from the default modes and neighboring modes. During the 6-MPM list creation process, pruning is used to remove identical modes so that unique modes can be included in the MPM list. For entropy coding of 61 non-MPM modes, a truncated binary code (TBC) is used.
주변 참조 샘플 도출Derive peripheral reference samples
상술한 바와 같이, 현재 블록에 인트라 예측이 적용되는 경우, 현재 블록의 인트라 예측에 사용될 주변 참조 샘플들이 도출될 수 있다. 현재 블록의 주변 참조 샘플들은 nWxnH 크기의 현재 블록의 좌측(left) 경계에 인접한 샘플 및 좌하측(bottom-left)에 이웃하는 총 2xnH개의 샘플들, 현재 블록의 상측(top) 경계에 인접한 샘플 및 우상측(top-right)에 이웃하는 총 2xnW 개의 샘플들 및 현재 블록의 좌상측(top-left)에 이웃하는 1개의 샘플을 포함할 수 있다. 또한, 현재 블록의 주변 참조 샘플들은 복수 열의 상측 주변 샘플들 및 복수 행의 좌측 주변 샘플들을 포함할 수 있다.As described above, when intra prediction is applied to the current block, neighboring reference samples to be used for intra prediction of the current block may be derived. The neighboring reference samples of the current block are a sample adjacent to the left boundary of the current block of size nWxnH and a total of 2xnH samples adjacent to the bottom-left, a sample adjacent to the top boundary of the current block, and A total of 2xnW samples adjacent to the top-right side and one sample adjacent to the top-left side of the current block may be included. Also, the peripheral reference samples of the current block may include upper peripheral samples of a plurality of columns and left peripheral samples of a plurality of rows.
현재 블록의 주변 참조 샘플들 주 일부는 아직 디코딩되지 않았거나, 이용 가능하지 않을 수 있다. 디코더는 이용 가능한 샘플들의 보간을 통하여 예측에 사용될 주변 참조 샘플들을 구성할 수 있다.Some of the neighboring reference samples of the current block have not yet been decoded or may not be available. The decoder may construct surrounding reference samples to be used for prediction through interpolation of available samples.
현재 블록의 주변 참조 샘플들 중 일부는 아직 디코딩되지 않았거나, 이용 가능하지 않을 수 있다. 이 경우, 디코더는 이용 가능한 샘플들의 외삽 (extrapolation)을 통하여 예측에 사용될 주변 참조 샘플들을 구성할 수 있다. 좌하단을 시작으로 우상단 참조 샘플에 도달할 때까지, 참조 가능한 샘플을 최신의 샘플로 업데이트 하면서 아직 디코딩되지 않았거나 이용 가능하지 않은 픽셀을 참조 가능한 최신의 샘플로 대체(substitute) 또는 패딩(padding) 할 수 있다.Some of the neighboring reference samples of the current block have not yet been decoded or may not be available. In this case, the decoder may construct surrounding reference samples to be used for prediction through extrapolation of available samples. Substitute or padding pixels that have not yet been decoded or available with the latest referenceable sample, updating the referenceable sample with the latest sample, starting at the bottom left and until reaching the top right reference sample. can do.
인트라 예측 모드/타입 기반 예측 샘플 도출Intra prediction mode/type-based prediction sample derivation
다중 참조 라인(MRL) 인트라 예측Multiple reference line (MRL) intra prediction
종래의 인트라 예측은 현재 블록의 상측 첫번째 라인의 주변 샘플들 및 좌측 첫번째 라인의 주변 샘플들만을 인트라 예측을 위한 참조 샘플들로 이용하였다. 그러나 MRL 방법에 따르면 현재 블록의 상측 및/또는 좌측 방향으로 1 내지 3 샘플 거리만큼 이격된 샘플 라인에 위치한 주변 샘플들을 참조 샘플들로서 이용함으로써 인트라 예측이 수행될 수 있다. In the conventional intra prediction, only neighboring samples of the upper first line and the neighboring samples of the left first line of the current block are used as reference samples for intra prediction. However, according to the MRL method, intra prediction may be performed by using as reference samples neighboring samples located in sample lines separated by 1 to 3 sample distances in the upper and/or left direction of the current block.
도 19는 본 명세서의 실시예에 따른 다중 참조 라인(multi-reference line, MRL) 인트라 예측을 고려한 참조 샘플들의 예를 도시한다. 도 19는 MRL 인트라 예측에서 사용되는 참조 라인 0에서의 직접적으로 이웃하는(가장 가까운) 참조 샘플들과 참조 라인 1 내지 3에서의 확장된 참조 샘플들을 나타낸다. MRL 인덱스(예: mrl_idx)는 현재 블록에 대하여 어떤 라인이 인트라 예측을 위하여 사용되는지를 나타낸다.19 shows examples of reference samples taking into account multi-reference line (MRL) intra prediction according to an embodiment of the present specification. 19 shows directly neighboring (closest) reference samples at reference line 0 and extended reference samples at reference lines 1 to 3 used in MRL intra prediction. The MRL index (eg, mrl_idx) indicates which line is used for intra prediction for the current block.
예를 들어, MRL 인덱스는 아래의 표 2와 같이 코딩 유닛 신택스를 통하여 시그널링될 수 있다. MRL 인덱스는 신택스 엘레먼트 intra_luma_ref_idx의 형태로 시그널링될 수 있다.For example, the MRL index may be signaled through the coding unit syntax as shown in Table 2 below. The MRL index may be signaled in the form of a syntax element intra_luma_ref_idx.
Figure PCTKR2020002635-appb-T000002
Figure PCTKR2020002635-appb-T000002
intra_luma_ref_idx[ x0 ][ y0 ]는 아래의 표 3과 같이 정의된 인트라 참조 라인 인덱스 IntraLumaRefLineIdx[ x0 ][ y0 ]를 나타낸다. intra_luma_ref_idx [x0][y0] represents the intra reference line index IntraLumaRefLineIdx[x0][y0] defined as shown in Table 3 below.
intra_luma_ref_idx[ x0 ][ y0 ]가 존재하지 않으면, 그 값은 0으로 추론된다.If intra_luma_ref_idx[x0][y0] does not exist, its value is deduced as 0.
intra_luma_ref_idx는 (인트라) 참조 샘플 라인 인덱스, 참조 라인 인덱스, 또는 mrl_idx로 지칭될 수 있다. 또한, intra_luma_ref_idx는 intra_luma_ref_line_idx로 지칭될 수도 있다.intra_luma_ref_idx may be referred to as a (intra) reference sample line index, a reference line index, or mrl_idx. Also, intra_luma_ref_idx may be referred to as intra_luma_ref_line_idx.
아래의 표 3은 intra_luma_ref_idx[ x0 ][ y0 ]에 따른 IntraLumaRefLineIdx[ x0 ][ y0 ]의 값을 나타낸다.Table 3 below shows the values of IntraLumaRefLineIdx[x0][y0] according to intra_luma_ref_idx[x0][y0].
Figure PCTKR2020002635-appb-T000003
Figure PCTKR2020002635-appb-T000003
intra_luma_mpm_flag[ x0 ][ y0 ]가 존재하지 않으면, 그 값은 1로 추론된다.If intra_luma_mpm_flag[x0][y0] does not exist, its value is deduced as 1.
MRL은 CTU 내 첫번째 라인(행)의 블록에 대하여 사용 불가능(disable)할 수 있다. 이는 현재 CTU 라인의 외부의 확장된 참조 라인들(extended reference lines)의 샘플들이 사용되는 것을 방지하기 위함이다. 또한, 상술한 추가 참조 라인이 사용되는 경우 PDPC가 사용 불가능할 수 있다.The MRL may be disabled for a block of the first line (row) in the CTU. This is to prevent samples of extended reference lines outside the current CTU line from being used. Also, when the above-described additional reference line is used, the PDPC may not be available.
ISP (Intra Sub-Partition) 코딩 모드ISP (Intra Sub-Partition) coding mode
종래의 인트라 예측은 현재 부호화하고자 하는 블록을 하나의 부호화 단위로 간주하여 분할 없이 부호화를 수행하였다. 그러나, ISP 방법은 현재 부호화하고자 하는 블록을 수평 방향 또는 수직 방향으로 분할하여 인트라 예측 부호화를 수행한다. 이 때, 분할된 블록 단위로 부호화/복호화를 수행함으로써 복원된 블록이 생성되고, 복원된 블록은 다음 분할된 블록의 참조 블록으로 사용된다. ISP에 따르면 블록 크기에 기반하여 아래의 표 4와 같이 블록이 분할된다.In the conventional intra prediction, a block to be currently encoded is regarded as one coding unit, and coding is performed without splitting. However, the ISP method performs intra prediction encoding by dividing a block to be currently encoded in a horizontal direction or a vertical direction. In this case, a reconstructed block is generated by performing encoding/decoding in units of divided blocks, and the reconstructed block is used as a reference block of the next divided block. According to the ISP, blocks are divided as shown in Table 4 below based on the block size.
Figure PCTKR2020002635-appb-T000004
Figure PCTKR2020002635-appb-T000004
도 20a 및 도 20b는 본 명세서의 실시예에 따른 인트라 서브파티션(intra sub-partition, ISP)에 따른 블록 분할의 예를 도시한다.20A and 20B illustrate an example of block division according to an intra sub-partition (ISP) according to an embodiment of the present specification.
ISP 방법은 부호화 복잡도를 감소시키기 위하여 각 분할 방법(수평 분할과 수직 분할)에 따라 MPM을 생성하고 생성된 MPM 리스트 내 예측 모드 중 적합한 예측 모드를 RDO 관점에서 비교함으로써 최적의 모드를 결정한다. 또한, 상술한 MRL 인트라 예측이 사용되는 경우 ISP가 사용되지 않을 수 있다. 즉, 0번째 참조 라인이 사용되는 경우(즉, intra_luma_ref_idx가 0인 경우)에만 ISP 인트라 예측이 적용될 수 있다. 또한, ISP 방법이 사용되는 경우 PDPC가 사용될 수 없다.The ISP method determines an optimal mode by generating an MPM according to each division method (horizontal division and vertical division) in order to reduce coding complexity and comparing an appropriate prediction mode among prediction modes in the generated MPM list from an RDO perspective. In addition, when the above-described MRL intra prediction is used, the ISP may not be used. That is, ISP intra prediction can be applied only when the 0th reference line is used (that is, when intra_luma_ref_idx is 0). Also, when the ISP method is used, the PDPC cannot be used.
ISP 인트라 예측 방법은 먼저 ISP의 적용 여부를 나타내는 정보(예: intra_subparitions_mode_flag)를 블록 단위로 인코딩/디코딩되고, 만약 현재 블록에 ISP가 적용되면 다시 수평 분할인지 수직 분할인지에 대한 정보(intra_subpartitions_split_flag)가 인코딩/디코딩된다. 아래의 표 5는 ISP가 반영된 신택스 구조의 예를 나타낸다.The ISP intra prediction method first encodes/decodes information indicating whether the ISP is applied (e.g., intra_subparitions_mode_flag) in block units, and if the ISP is applied to the current block, information about whether it is horizontal or vertical (intra_subpartitions_split_flag) is encoded. /Decoded. Table 5 below shows an example of the syntax structure reflecting the ISP.
Figure PCTKR2020002635-appb-T000005
Figure PCTKR2020002635-appb-T000005
ISP 인트라 예측이 적용되는 경우, 현재 블록에 대한 인트라 예측 모드가 각 서브파티션들(서브블록들)에 동일하게 적용되며, 서브파티션 단위로 주변 참조 샘플들을 도출함으로써 인트라 예측 성능을 향상시킬 수 있다. 즉, ISP 인트라 예측이 적용되는 경우 서브파티션 단위로 레지듀얼 샘플 처리 절차가 수행된다. 다시 말해, 각 서브파티션에 대하여 인트라 예측 샘플들이 도출되고, 여기에 해당 서브파티션에 대한 레지듀얼 신호(레지듀얼 샘플들)가 더해짐으로써 복원 샘플들이 획득된다. 레지듀얼 신호(레지듀얼 샘플들)은 상술한 비트스트림 내 레지듀얼 정보(양자화된 변환 계수 정보 또는 레지듀얼 코딩 신택스)를 기반으로 역양자화/역변환 절차를 통하여 도출될 수 있다. 즉, 제1 서브파티션에 대한 예측 샘플들의 도출, 레지듀얼 샘플들의 도출이 수행되고, 이를 기반으로 제1 서브파티션에 대한 복원된 샘플들이 도출될 수 있다. 이 경우 제2 서브파티션에 대한 예측 샘플들 도출시, 제1 서브파티션 내의 복원 샘플들 중 일부(예: 제2 서브파티션의 좌측 또는 상측 주변 참조 샘플들)가 제2 서브파티션에 대한 주변 참조 샘플들로 이용될 수 있다. 마찬가지로, 제2 서브파티션에 대한 예측 샘플들의 도출, 레지듀얼 샘플들의 도출이 수행되고, 이를 기반으로 제2 서브파티션에 대한 복원된 샘플들이 도출될 수 있다. 이 경우 제3 서브파티션에 대한 예측 샘플들 도출시 제2 서브파티션 내 복원 샘플들 중 일부(예: 제3 서브파티션의 좌측 또는 상측 주변 참조 샘플들)가 제3 서브파티션에 대한 주변 참조 샘플들로서 사용될 수 있다.When ISP intra prediction is applied, the intra prediction mode for the current block is equally applied to each subpartition (subblocks), and the intra prediction performance can be improved by deriving neighboring reference samples in units of subpartitions. That is, when ISP intra prediction is applied, a residual sample processing procedure is performed in units of sub-partitions. In other words, intra prediction samples are derived for each subpartition, and reconstructed samples are obtained by adding a residual signal (residual samples) for the corresponding subpartition to this. The residual signal (residual samples) may be derived through an inverse quantization/inverse transform procedure based on residual information (quantized transform coefficient information or residual coding syntax) in the above-described bitstream. That is, prediction samples for the first subpartition are derived and residual samples are derived, and reconstructed samples for the first subpartition may be derived based on this. In this case, when deriving prediction samples for the second subpartition, some of the reconstructed samples in the first subpartition (eg, left or upper peripheral reference samples of the second subpartition) are peripheral reference samples for the second subpartition. Can be used as Likewise, prediction samples for the second subpartition and residual samples may be derived, and reconstructed samples for the second subpartition may be derived based on this. In this case, when deriving prediction samples for the third subpartition, some of the reconstructed samples (eg, left or upper peripheral reference samples of the third subpartition) are used as peripheral reference samples for the third subpartition. Can be used.
한편, 참조 샘플들의 보간을 통하여 현재 블록의 예측 샘플이 생성되는 경우, 보간을 위한 보간 필터는 여러 방법을 통하여 도출될 수 있다. 예를 들어, 보간 필터는 현재 블록의 사이즈 및 현재 블록에 적용되는 인트라 예측 모드 중 적어도 하나를 기반으로 결정될 수 있다. 보간 필터는 예를 들어 가우시안(Gaussian) 필터 및 큐빅(Cubic) 필터를 포함할 수 있다.Meanwhile, when a prediction sample of the current block is generated through interpolation of reference samples, an interpolation filter for interpolation may be derived through various methods. For example, the interpolation filter may be determined based on at least one of a size of a current block and an intra prediction mode applied to the current block. The interpolation filter may include, for example, a Gaussian filter and a Cubic filter.
인트라 예측의 수행 이후, 현재 블록의 예측 샘플들과 주변의 이미 복원된 주변 샘플과의 오차를 감소시키기 위하여 블록 경계면을 완화하기 위한 필터(인트라 경계 필터)가 적용될 수 있다. 예를 들어, 예측된 모드 및 블록의 크기에 따라 인트라 경계 필터의 적용 여부와 필터 타입이 결정될 수 있다.After the intra prediction is performed, a filter (intra boundary filter) for mitigating a block boundary may be applied in order to reduce an error between prediction samples of the current block and neighboring samples that have already been reconstructed. For example, whether to apply an intra boundary filter and a filter type may be determined according to the predicted mode and the size of the block.
색차 성분에 대한 예측 샘플 도출Derive prediction samples for color difference components
현재 블록에 인트라 예측이 수행되는 경우, 현재 블록의 휘도 성분 블록(휘도 블록)에 대한 예측 및 색차 성분 블록(색차 블록)에 대한 예측이 수행될 수 있으며, 이 경우 색차 성분(색차 블록)에 대한 인트라 예측 모드는 휘도 성분(휘도 블록)에 해당 인트라 예측 모드와 개별적으로 설정될 수 있다. When intra prediction is performed on the current block, prediction of a luminance component block (luminance block) of the current block and prediction of a chrominance component block (color difference block) may be performed. In this case, The intra prediction mode may be set separately from the corresponding intra prediction mode in the luminance component (luminance block).
예를 들어, 색차 성분에 대한 인트라 예측 모드는 인트라 크로마 예측 모드 정보를 기반으로 지시될 수 있으며, 인트라 크로마 예측 모드 정보는 신택스 엘레먼트 intra_chroma_pred_mode의 형태로 지시될 수 있으며, 인트라 크로마 예측 모드 정보는 플래너 모드, DC 모드, 수직 모드, 수평 모드, DM(Derived Mode), CCLM 모드들 중 하나를 지시할 수 있다. 여기서, 플래너 모드는 0번 인트라 예측 모드, DC 모드는 1번 인트라 예측 모드, 수직 모드는 26번 인트라 예측 모드, 수평 모드는 10번 인트라 예측 모드를 나타낼 수 있다. DM은 direct mode로 지칭될 수도 있다. CCLM은 LM으로 지칭될 수 있다.For example, the intra prediction mode for the color difference component may be indicated based on intra chroma prediction mode information, the intra chroma prediction mode information may be indicated in the form of a syntax element intra_chroma_pred_mode, and the intra chroma prediction mode information is a planar mode. , DC mode, vertical mode, horizontal mode, DM (Derived Mode), it may indicate one of the CCLM mode. Here, the planar mode may represent a 0th intra prediction mode, a DC mode 1st intra prediction mode, a vertical mode 26th intra prediction mode, and a horizontal mode 10th intra prediction mode. DM may also be referred to as direct mode. CCLM may be referred to as LM.
한편, DM과 CCLM은 휘도 블록의 정보를 이용하여 색차 블록을 예측하는 종속적인 인트라 예측 모드이다. DM은 휘도 성분에 대한 인트라 예측 모드와 동일한 인트라 예측 모드가 색차 성분에 대한 인트라 예측 모드로 적용되는 모드를 나타낼 수 있다. 또한, CCLM은 색차 블록에 대한 예측 샘플을 생성하는 과정에서 휘도 블록의 복원된 샘플들을 서브샘플링한 이후, 서브샘플링된 샘플들에 CCLM 파라미터들(α, β)을 적용함으로써 도출된 샘플들을 색차 블록의 예측 샘플들로 사용하는 인트라 예측 모드를 나타낼 수 있다.Meanwhile, DM and CCLM are dependent intra prediction modes for predicting a color difference block using information on a luminance block. The DM may represent a mode in which an intra prediction mode identical to an intra prediction mode for a luminance component is applied as an intra prediction mode for a color difference component. In addition, the CCLM subsamples the reconstructed samples of the luminance block in the process of generating the predictive samples for the color difference block, and then applies the CCLM parameters (α, β) to the subsampled samples. Intra prediction mode used as prediction samples of may be indicated.
크로마 인트라 코딩을 위한 다중 다이렉트 모드Multiple direct modes for chroma intra coding
도 21은 본 명세서의 실시예에 따른 색차 블록(chroma block)의 인트라 예측을 위한 다중 DM(multiple direct mode)을 설명하기 위한 도면이다.21 is a diagram for explaining a multiple direct mode (DM) for intra prediction of a chroma block according to an embodiment of the present specification.
현재 크로마 블록에 대하여 다중 다이렉트 모드(multiple direct mode, MDM)가 적용될 수 있다. 다중 다이렉트 모드는 기존 단일 모드인 DM 모드를 복수의 모드로 확장하여 사용한다. 즉, 색차 영상의화면 내 예측 모드 구성시 아래와 같이 복수의 DM 모드가 선택될 수 있다.Multiple direct mode (MDM) can be applied to the current chroma block. In the multiple direct mode, the DM mode, which is an existing single mode, is extended and used in a plurality of modes. That is, when configuring the intra prediction mode of the color difference image, a plurality of DM modes may be selected as follows.
- 동일위치 휘도 블록의 CR, TL, TR, BL, BR (도 21 참조) 위치의 화면 내 예측 모드-In-screen prediction mode of the location of CR, TL, TR, BL, BR (see Fig. 21) of the same location luminance block
- 현 색차 블록의 주변 블록인 L, A, BL, AR, AL 블록의 화면 내 예측 모드-In-screen prediction mode for L, A, BL, AR, and AL blocks that are neighboring blocks of the current color difference block
- PLANAR, DC 모드-PLANAR, DC mode
- 앞서 선택된 angular 모드에 -1 or +1 angular 모드--1 or +1 angular mode to the previously selected angular mode
- Vertical, Horizontal, 2, 34, 66, 10, 26번 모드(65 방향 모드인 경우)-Vertical, Horizontal, 2, 34, 66, 10, 26 mode (in case of 65 direction mode)
- 5개의 예측 모드가 선택되지 않았을 경우, 앞서 선택된 모드를 복사하여 선택-If 5 prediction modes are not selected, copy the previously selected mode and select
Cross-component linear modelCross-component linear model
현재 크로마 블록에 CCLM 모드가 적용될 수 있다. CCLM 모드는 휘도 블록과 휘도 블록에 대응하는 색차 블록과의 상관성(correlation)을 이용한 인트라 예측 모드이다. CCLM 모드에 따르면, 휘도 블록의 주변 샘플들과 색차 블록의 주변 샘플들을 기반으로 선형 모델이 도출될 수 있고, 선형 모델과 휘도 블록의 복원 샘플들을 기반으로 색차 블록의 예측 샘플들이 도출될 수 있다. 보다 구체적으로, 현재 색차 블록에 CCLM 모드가 적용되는 경우, 현재 색차 블록의 인트라 예측에 사용되는 주변 샘플들과 현재 휘도 블록의 인트라 예측에 사용되는 주변 샘플들에 기반하여 선형 모델에 대한 파라미터들이 도출될 수 있다. 예를 들어, 선형 모델은 아래의 수학식 1에 기반하여 표현될 수 있다.CCLM mode can be applied to the current chroma block. The CCLM mode is an intra prediction mode using correlation between a luminance block and a color difference block corresponding to the luminance block. According to the CCLM mode, a linear model may be derived based on surrounding samples of the luminance block and the surrounding samples of the chrominance block, and prediction samples of the chrominance block may be derived based on the linear model and reconstructed samples of the luminance block. More specifically, when the CCLM mode is applied to the current chrominance block, parameters for the linear model are derived based on the surrounding samples used for intra prediction of the current chrominance block and the surrounding samples used for intra prediction of the current luminance block. Can be. For example, the linear model may be expressed based on Equation 1 below.
Figure PCTKR2020002635-appb-M000001
Figure PCTKR2020002635-appb-M000001
여기서 predc(i,j)는 현재 색차 블록의 (i,j) 좌포의 예측 샘플, recL'(i,j)는 현재 휘도 블록의 (i,j) 좌표의 복원된 샘플을 나타낸다. 또한, recL'(i,j)는 현재 휘도 블록의 다운 샘플링된(down-sampled) 복원 샘플을 나타낼 수 있다.Here, pred c (i,j) represents a predicted sample of the (i,j) locus of the current color difference block, and rec L '(i,j) represents a reconstructed sample of the (i,j) coordinates of the current luminance block. In addition, rec L '(i,j) may represent a down-sampled reconstructed sample of the current luminance block.
도 22는 본 명세서의 실시예에 따른 색차 블록의 인트라 예측을 위한 CCLM(cross-component linear model) 모드의 파라미터들을 도출하기 위한 샘플 위치의 예를 도시한다.22 illustrates an example of a sample location for deriving parameters of a cross-component linear model (CCLM) mode for intra prediction of a color difference block according to an embodiment of the present specification.
한편, 선형 모델의 파라미터 α, β는 현재 휘도 블록의 인트라 예측에 사용되는 주변 샘플들과 현재 색차 블록의 인트라 예측에 사용되는 주변 샘플들에 기반하여 도출될 수 있다. 파라미터 α, β는 아래의 수학식 2, 3에 기반하여 도출될 수 있다.Meanwhile, the parameters α and β of the linear model may be derived based on surrounding samples used for intra prediction of the current luminance block and surrounding samples used for intra prediction of the current color difference block. The parameters α and β may be derived based on Equations 2 and 3 below.
Figure PCTKR2020002635-appb-M000002
Figure PCTKR2020002635-appb-M000002
Figure PCTKR2020002635-appb-M000003
Figure PCTKR2020002635-appb-M000003
여기서, L(n)은 현재 휘도 블록의 상측 주변 샘플들 및/또는 좌측 주변 샘플들을 나타낼 수 있고, C(n)은 현재 색차 블록의 상측 주변 샘플들 및/또는 좌측 주변 샘플들을 나타낼 수 있다. 또한, L(n)은 현재 휘도 블록의 다운 샘플링된 상측 주변 샘플들 및/또는 좌측 주변 샘플들을 나타낼 수 있다. 또한, N은 현재 색차 블록의 폭(width)과 높이(height) 중 작은 값의 2배에 해당하는 값을 나타낼 수 있다.Here, L(n) may represent upper peripheral samples and/or left peripheral samples of the current luminance block, and C(n) may represent upper peripheral samples and/or left peripheral samples of the current color difference block. Also, L(n) may represent down-sampled upper peripheral samples and/or left peripheral samples of the current luminance block. Further, N may represent a value that is twice the smaller of the width and height of the current color difference block.
한편, 크로마 인트라 예측 모드를 코딩하기 위하여 총 8개의 인트라 예측 모드가 허용될 수 있다. 8개의 인트라 예측 모드들은 5개의 기존 인트라 예측 모드들과 CCLM 모드(들)가 포함될 수 있다. 아래의 표 6은 CCLM이 사용 가능하지 않은 경우(sps_cclm_enabled_flag가 0인 경우)의 인트라 크로마 예측 모드 도출을 위한 매핑 테이블을 나타내고, 표 7은 CCLM이 사용 가능한 경우(sps_cclm_enabled_flag가 1인 경우)의 인트라 예측 모드 도출을 위한 매핑 테이블을 나타낸다. 표 7, 8에서 나타난 바와 같이 인트라 크로마 예측 모드는 현재 블록 또는 크로마 블록의 센터 우하측 샘플을 커버하는 휘도 블록(예: DUAL_TREE가 적용되는 경우)에 대한 인트라 루마 예측 모드 및 시그널링된 인트라 크로마 예측 모드 (intra_chroma_pred_mode) 정보의 값을 기반으로 결정될 수 있다. 표 7, 8에서 도출되는 IntraPredModeC[ xCb ][ yCb ]의 인덱스들은 표 1의 인트라 예측 모드들의 인덱스들과 대응할 수 있다. Meanwhile, a total of 8 intra prediction modes may be allowed to code the chroma intra prediction mode. The 8 intra prediction modes may include 5 existing intra prediction modes and CCLM mode(s). Table 6 below shows a mapping table for deriving intra-chroma prediction mode when CCLM is not available (sps_cclm_enabled_flag is 0), and Table 7 shows intra prediction when CCLM is enabled (sps_cclm_enabled_flag is 1) Represents a mapping table for mode derivation. As shown in Tables 7 and 8, the intra-chroma prediction mode is an intra luma prediction mode and a signaled intra-chroma prediction mode for a luminance block (e.g., when DUAL_TREE is applied) covering a current block or a center-right lower sample of the chroma block It may be determined based on the value of (intra_chroma_pred_mode) information. The indices of IntraPredModeC[xCb][yCb] derived from Tables 7 and 8 may correspond to the indexes of the intra prediction modes of Table 1.
Figure PCTKR2020002635-appb-T000006
Figure PCTKR2020002635-appb-T000006
Figure PCTKR2020002635-appb-T000007
Figure PCTKR2020002635-appb-T000007
실시예Example
이하 설명되는 실시예들은 따른 단일화된(unified) MPM 리스트를 구성하기 위한 방법을 제공한다. 본 명세서의 실시예들은 인트라 예측 정보의 인코딩/디코딩 과정에서 MPM 리스트를 구성할 때, 단일화된 방법을 사용하여 MPM 리스트를 생성(변경)하는 방법을 제공한다. 그리하여, 인트라 예측 정보의 인코딩/디코딩 과정에서 인트라 예측 정보의 인코딩/디코딩을 위한 구조를 단순화할 수 있고 인트라 예측 정보의 인코딩/디코딩 효율을 증대시킬 수 있다. Embodiments described below provide a method for constructing a unified MPM list according to. Embodiments of the present specification provide a method of generating (modifying) an MPM list using a unified method when constructing an MPM list in a process of encoding/decoding intra prediction information. Thus, in a process of encoding/decoding intra prediction information, a structure for encoding/decoding intra prediction information can be simplified and efficiency of encoding/decoding intra prediction information can be increased.
이하 설명되는 실시예들은 다수의 인트라 예측 타입들(예: MRL 인트라 예측, ISP 인트라 예측)에 대하여 단일화된 방법을 사용하여 MPM 리스트를 구성하는 방법을 제공한다. 실시예 1은 단일화된 방법을 사용하여 MPM 리스트를 생성한 후, 기존의 인트라 예측(제1 타입), MRL 인트라 예측(제2 타입), ISP 인트라 예측(제3 타입) 각각에 대한 MPM 리스트 구성 방법을 제공한다. 실시예 2는 단일화된 방법을 사용하여 MPM 리스트를 생성한 후, MRL 인트라 예측에서 DC 모드가 추가로 사용될 수 있음을 고려하여 MRL 인트라 예측과 ISP 인트라 예측에 대한 MPM 리스트의 생성 방법을 제공한다. 실시예 3은 실시예 1과 실시예 2에서 제안된 단일화된 방법을 사용하여 MPM 리스트를 구성하는 방법을 기반으로 하여 최적의 인코딩/디코딩을 수행하기 위한 방법을 제공한다. Embodiments described below provide a method of constructing an MPM list using a unified method for a plurality of intra prediction types (eg, MRL intra prediction, ISP intra prediction). Example 1 is, after generating an MPM list using a unified method, constructing an MPM list for each of conventional intra prediction (first type), MRL intra prediction (second type), and ISP intra prediction (third type) Provides a way. Embodiment 2 provides a method of generating an MPM list for MRL intra prediction and ISP intra prediction in consideration that a DC mode may be additionally used in MRL intra prediction after generating an MPM list using a unified method. Embodiment 3 provides a method for performing optimal encoding/decoding based on a method of constructing an MPM list using the unified method proposed in Embodiments 1 and 2.
본 명세서의 실시예들은 기존의 인트라 예측(제1 타입), MRL 인트라 예측(제2 타입), 그리고 ISP 인트라 예측(제3 타입)에서 사용되는 MPM 후보 리스트를 생성하기 위한 방법을 하나의 단일화된 방법으로 수행할 수 있도록 한다. 기존의 인트라 예측은 67개의 인트라 예측 모드들을 사용하여 인트라 예측 정보의 인코딩/디코딩을 수행하며, MRL 인트라 예측은 플래너 모드와 DC 모드를 제외한 65개의 인트라 예측 모드들을 사용하여 인트라 예측 정보의 인코딩/디코딩을 수행한다. 또한, ISP 인트라 예측은 DC 모드를 제외한 66개의 인트라 예측 모드들을 사용하여 인트라 예측 정보의 인코딩/디코딩을 수행한다. 3가지 타입의 인트라 예측들이 서로 다른 개수의 인트라 예측 모드들을 사용하여 인트라 예측 정보의 인코딩/디코딩을 수행하므로, 각각의 예측을 위한 MPM 후보 리스트의 생성 방법들이 서로 다르게 된다. Embodiments of the present specification are a single unified method for generating an MPM candidate list used in conventional intra prediction (first type), MRL intra prediction (second type), and ISP intra prediction (third type). It should be done in a way. Conventional intra prediction uses 67 intra prediction modes to encode/decode intra prediction information, and MRL intra prediction uses 65 intra prediction modes excluding planar mode and DC mode to encode/decode intra prediction information. Perform. In addition, ISP intra prediction performs encoding/decoding of intra prediction information using 66 intra prediction modes excluding the DC mode. Since the three types of intra predictions perform encoding/decoding of intra prediction information using different numbers of intra prediction modes, methods of generating an MPM candidate list for each prediction are different.
보다 구체적으로, 현재 블록에 인접한 라인에 위치한 참조 샘플이 사용되고 현재 블록이 ISP에 의해 분할되지 않는 (기존의) 인트라 예측(이하, 제1 타입 인트라 예측)은 67개의 인트라 예측 모드들을 모두 사용하여 6개의 MPM 후보들을 포함하는 MPM 후보 리스트를 구성한다. 현재 블록으로부터 2 샘플 거리 이상 이격된 라인에 위치한 참조 샘플이 사용되는 MRL 인트라 예측(이하, 제2 타입 인트라 예측)은 플래너 모드와 DC 모드를 제외한 65개의 인트라 예측 모드들을 사용하므로 플래너 모드와 DC 모드를 제외한 65개의 인트라 예측 모드들을 사용하여 6개의 MPM 후보들을 갖는 MPM 후보 리스트를 구성한다. 마지막으로 현재 블록에 인접한 라인에 위치한 참조 샘플이 사용되고 상기 현재 블록이 ISP에 의해 분할되는 ISP 인트라 예측(이하, 제3 타입 인트라 예측)은 DC 모드를 제외한 66개의 인트라 예측 모드들을 사용하므로 DC 모드를 제외한 66개의 인트라 예측 모드들을 사용하여 6개의 MPM 후보들을 갖는 MPM 후보 리스트를 구성한다. 이 때, ISP 인트라 예측의 경우 수평 분할과 수직 분할에 따라 각각 서로 다른 방법으로 MPM 후보 리스트가 구성된다. 이와 같이 하나의 인트라 예측을 위하여 서로 다른 방법들을 통해 6개의 MPM 후보들을 갖는 MPM 후보 리스트가 생성된다.More specifically, (conventional) intra prediction in which a reference sample located in a line adjacent to the current block is used and the current block is not divided by the ISP (hereinafter, first type intra prediction) is performed using all 67 intra prediction modes. An MPM candidate list including two MPM candidates is constructed. MRL intra prediction in which a reference sample located on a line separated by more than 2 samples from the current block is used (hereinafter, second type intra prediction) uses 65 intra prediction modes excluding planar mode and DC mode, so planar mode and DC mode An MPM candidate list having 6 MPM candidates is constructed using 65 intra prediction modes except for. Finally, a reference sample located in a line adjacent to the current block is used, and the ISP intra prediction (hereinafter, the third type intra prediction) in which the current block is divided by the ISP uses 66 intra prediction modes excluding the DC mode. An MPM candidate list having 6 MPM candidates is constructed by using the excluded 66 intra prediction modes. In this case, in the case of ISP intra prediction, an MPM candidate list is constructed in different ways according to horizontal division and vertical division. In this way, an MPM candidate list having six MPM candidates is generated through different methods for one intra prediction.
따라서, 본 명세서의 실시예는 단일화된 방법을 사용하여 MPM 후보 리스트를 생성하는 방법을 제공한다. 실시예 1은 단일화된 방법을 사용하여 MPM 리스트를 생성한 후, 기존의 인트라 예측(제1 타입), MRL 인트라 예측(제2 타입), ISP 인트라 예측(제3 타입) 각각에 대한 MPM 리스트 구성 방법을 제공한다. 실시예 2는 단일화된 방법을 사용하여 MPM 리스트를 생성한 후, MRL 인트라 예측에서 DC 모드가 추가로 사용될 수 있음을 고려하여 MRL 인트라 예측과 ISP 인트라 예측에 대한 MPM 리스트의 생성 방법을 제공한다. 실시예 3은 실시예 1과 실시예 2에서 제안된 단일화된 방법을 사용하여 MPM 리스트를 구성하는 방법을 기반으로 하여 최적의 인코딩/디코딩을 수행하기 위한 방법을 제공한다.Accordingly, an embodiment of the present specification provides a method of generating an MPM candidate list using a unified method. Example 1 is, after generating an MPM list using a unified method, constructing an MPM list for each of conventional intra prediction (first type), MRL intra prediction (second type), and ISP intra prediction (third type) Provides a way. Embodiment 2 provides a method of generating an MPM list for MRL intra prediction and ISP intra prediction in consideration that a DC mode may be additionally used in MRL intra prediction after generating an MPM list using a unified method. Embodiment 3 provides a method for performing optimal encoding/decoding based on a method of constructing an MPM list using the unified method proposed in Embodiments 1 and 2.
실시예 1Example 1
본 실시예는 단일화된 방법을 사용하여 MPM 후보 리스트를 생성한 후, 기존의 인트라 예측, MRL 인트라 예측, ISP 인트라 예측에 대한 각각의 MPM 리스트 구성 방법을 제공한다.The present embodiment provides a method for constructing each MPM list for conventional intra prediction, MRL intra prediction, and ISP intra prediction after generating an MPM candidate list using a unified method.
본 실시예에 따르면, 제1 타입 인트라 예측(기존의 인트라 예측)에서 사용되는 6개의 MPM 후보들을 갖는 MPM 후보 리스트의 생성 방법을 제2 타입 인트라 예측(MRL 인트라 예측)과 제3 타입 인트라 예측(ISP 인트라 예측)에 동일하게 적용된다. 이 때, 제1 타입 인트라 예측에서 사용되는 6개의 MPM 후보 리스트를 갖는 MPM 후보 리스트의 생성 방법은 종래 MPM 후보 리스트 생성 방법일 수도 있고, 종래 MPM 후보 리스트로부터 개선된 방법일 수 있다. 제1 타입 인트라 예측에서 사용되는 6개의 MPM 후보 리스트의 생성 방법은 67개의 인트라 예측 모드들을 모두 고려하여 MPM 후보 리스트를 생성하므로 플래너 모드와 DC 모드를 포함한다. 하지만, 제2 타입 인트라 예측(MRL 인트라 예측)은 플래너 모드와 DC 모드를 사용하지 않고, 제3 타입 인트라 예측(ISP 인트라 예측)은 DC 모드를 사용하지 않으므로, 이를 고려하여 MPM 후보 리스트가 생성될 수 있다.According to the present embodiment, a method of generating an MPM candidate list having 6 MPM candidates used in the first type intra prediction (conventional intra prediction) is divided into a second type intra prediction (MRL intra prediction) and a third type intra prediction ( The same applies to ISP intra prediction). In this case, a method of generating an MPM candidate list having six MPM candidate lists used in the first type intra prediction may be a conventional MPM candidate list generating method or an improved method from the conventional MPM candidate list. The method of generating the 6 MPM candidate lists used in the first type intra prediction includes a planar mode and a DC mode because the MPM candidate list is generated by considering all 67 intra prediction modes. However, since the second type intra prediction (MRL intra prediction) does not use the planar mode and the DC mode, and the third type intra prediction (ISP intra prediction) does not use the DC mode, an MPM candidate list is generated in consideration of this. I can.
본 실시예에 따른 MPM 후보 리스트의 구성 방법은 제1 타입 인트라 예측에서 사용되는 6개의 MPM 후보들을 갖는 MPM 후보 리스트 생성 방법(또는 다양한 개선 방법을 통해 개선된 6개의 MPM 후보 리스트 생성 방법)을 제2 타입 인트라 예측과 제3 타입 인트라 예측의 MPM 후보 리스트의 생성 방법에 동일하게 적용함으로써 모두 동일하게 6개의 MPM 후보들을 갖는 MPM 후보 리스트를 생성한다. 다만, 하지만, 제2 타입 인트라 예측(MRL 인트라 예측)은 플래너 모드와 DC 모드를 사용하지 않고, 제3 타입 인트라 예측(ISP 인트라 예측)은 DC 모드를 사용하지 않으므로, 동일하게 생성된 6개의 후보들을 갖는 MPM 후보 리스트에서 각 예측 타입별로 사용되지 않는 모드를 제거함으로써 해당 예측 타입에 적합하도록 MPM 후보 리스트를 변경한다. The MPM candidate list construction method according to the present embodiment includes a method of generating an MPM candidate list having six MPM candidates used in the first type intra prediction (or a method of generating six MPM candidate lists improved through various improvement methods). An MPM candidate list having 6 MPM candidates is equally generated by applying the same to a method of generating an MPM candidate list of type 2 intra prediction and type 3 intra prediction. However, since the second type intra prediction (MRL intra prediction) does not use the planar mode and the DC mode, and the third type intra prediction (ISP intra prediction) does not use the DC mode, 6 candidates generated identically The MPM candidate list is changed to be suitable for the corresponding prediction type by removing a mode that is not used for each prediction type from the MPM candidate list having.
도 23a 내지 도 23c는 본 명세서의 실시예에 따른 인트라 예측 타입에 기반하여 MPM 후보 리스트를 구성하는 방법의 예를 도시한다. 도 23a는 제1 타입 인트라 예측(기존의 인트라 예측)에 따른 MPM 후보 리스트 구성 방법, 도 23b는 제2 타입 인트라 예측(MRL 인트라 예측)에 따른 MPM 후보 리스트 구성 방법, 도 23c는 제3 타입 인트라 예측(ISP 인트라 예측)에 따른 MPM 후보 리스트 구성 방법의 예를 각각 나타낸다.23A to 23C illustrate an example of a method of constructing an MPM candidate list based on an intra prediction type according to an embodiment of the present specification. FIG. 23A is a method for configuring an MPM candidate list according to a first type intra prediction (existing intra prediction), FIG. 23B is a method for configuring an MPM candidate list according to a second type intra prediction (MRL intra prediction), and FIG. 23C is a third type intra prediction. An example of a method of constructing an MPM candidate list according to prediction (ISP intra prediction) is shown, respectively.
도 23a 내지 23c에서, 제1 타입 인트라 예측에서 사용되는 6개의 후보들을 갖는 MPM 후보 리스트 생성 방법이 제2 타입 인트라 예측과 ISP 인트라 예측의 MPM 후보 리스트의 생성 방법에 동일하게 적용된다. In FIGS. 23A to 23C, a method of generating an MPM candidate list having six candidates used in the first type intra prediction is applied equally to the method of generating an MPM candidate list of the second type intra prediction and the ISP intra prediction.
제2 타입 인트라 예측의 경우, 플래너 모드와 DC 모드가 사용되지 않기 때문에, 최초에 생성된 6개의 후보들을 갖는 MPM 후보 리스트에서 플래너 모드와 DC 모드가 제거된 이후, MPM 후보 리스트의 MPM 후보들이 재정렬된다. 도 23b에 도시된 것과 같이, 0번 MPM 인덱스에 해당하는 플래너 모드와 2번 MPM 인덱스에 해당하는 DC 모드가 MPM 후보 리스트에서 제거되고, 나머지 4개의 MPM 후보들이 재정렬됨으로써 4개의 MPM 후보들을 갖는 MPM 후보 리스트가 구성된다. 제3 타입 인트라 예측의 경우 DC 모드가 사용되지 않기 때문에, 최초에 생성된 6개의 후보들을 갖는 MPM 후보 리스트에서 DC 모드가 제거된 이후, MPM 후보들이 재정렬된다. 도 23c에 도시된 것과 같이, 2번 MPM 인덱스에 해당하는 DC 모드가 MPM 후보 리스트에서 제거되고, 나머지 5개의 MPM 후보들이 재정렬됨으로써 5개의 MPM 후보들을 갖는 MPM 후보가 구성된다. In the case of the second type intra prediction, since the planar mode and the DC mode are not used, the MPM candidates in the MPM candidate list are rearranged after the planar mode and the DC mode are removed from the MPM candidate list having six candidates that are initially generated. do. 23B, the planner mode corresponding to the 0th MPM index and the DC mode corresponding to the 2nd MPM index are removed from the MPM candidate list, and the remaining 4 MPM candidates are rearranged to have 4 MPM candidates. A candidate list is constructed. In the case of the third type intra prediction, since the DC mode is not used, the MPM candidates are rearranged after the DC mode is removed from the initially generated MPM candidate list having 6 candidates. As shown in FIG. 23C, the DC mode corresponding to the second MPM index is removed from the MPM candidate list, and the remaining five MPM candidates are rearranged to form an MPM candidate having five MPM candidates.
도 23a 내지 도 23c는 MPM 후보 리스트를 구성하기 위한 방법의 예를 설명하기 위한 도면들이며, 본 명세서의 실시예에 따른 방법은 제1 타입 인트라 예측(기존의 인트라 예측)에 따른 6개의 후보들을 갖는 MPM 후보 리스트를 생성하고, 이 MPM 후보 리스트가 동일하게 제2 타입 인트라 예측(MRL 인트라 예측)과 제3 타입 인트라 예측(ISP 인트라 예측)에 사용되는 것이다. 이 때, 제2 타입 인트라 예측(MRL 인트라 예측)의 경우 플래너 모드와 DC 모드가 사용되지 않으므로, 만약 최초에 생성된 MPM 후보 리스트에 플래너 모드와 DC 모드가 있으면 이 모드들이 제거된 상태에서 MPM 후보 리스트를 재정렬한다. 플래너 모드와 DC 모드가 제거되고 재정렬된 MPM 후보 리스트가 제2 타입 인트라 예측이 적용된 블록에 대해 사용될 수 있다. 또한, 제3 타입 인트라 예측(ISP 인트라 예측)의 경우 DC 모드가 사용되지 않으므로, 만약 최초에 생성된 MPM 후보 리스트에 DC 모드가 포함된 경우 이를 제거한 상태에서 MPM 후보 리스트를 재정렬한다. DC 모드가 제거되고 재정렬된 MPM 후보 리스트가 제3 타입 인트라 예측이 적용된 블록에 대해 사용될 수 있다.23A to 23C are diagrams for explaining an example of a method for constructing an MPM candidate list, and a method according to an embodiment of the present specification includes 6 candidates according to a first type intra prediction (existing intra prediction). An MPM candidate list is generated, and the MPM candidate list is similarly used for the second type intra prediction (MRL intra prediction) and the third type intra prediction (ISP intra prediction). In this case, since the planar mode and the DC mode are not used in the case of the second type intra prediction (MRL intra prediction), if there are planar mode and DC mode in the initially generated MPM candidate list, the MPM candidate Rearrange the list. The planar mode and the DC mode are removed and the rearranged MPM candidate list may be used for a block to which the second type intra prediction is applied. In addition, since the DC mode is not used in the case of the third type intra prediction (ISP intra prediction), if the DC mode is included in the initially generated MPM candidate list, the MPM candidate list is rearranged while removing the DC mode. The DC mode is removed and the rearranged MPM candidate list may be used for a block to which the third type intra prediction is applied.
실시예 2Example 2
본 실시예는 단일화된 방법을 사용하여 MPM 후보 리스트를 생성한 이후, 제2 타입 인트라 예측(MRL 인트라 예측)에서 DC 모드가 사용 가능하도록 하고, 이를 고려하여 제1 타입 인트라 예측(기존의 인트라 예측), 제2 타입 인트라 예측(MRL 인트라 예측), 제3 타입 인트라 예측(ISP 인트라 예측)을 위한 MPM 후보 리스트 생성 방법을 제공한다. 실시예 2는, 실시예 1과 비교하여, 제2 타입 인트라 예측에서 DC 모드가 사용 가능한 모드로 추가하고, 이를 고려하여 MPM 후보 리스트를 생성한다.In the present embodiment, after generating an MPM candidate list using a unified method, the DC mode is enabled in the second type intra prediction (MRL intra prediction), and in consideration of this, the first type intra prediction (the existing intra prediction ), a second type intra prediction (MRL intra prediction), and a method of generating an MPM candidate list for a third type intra prediction (ISP intra prediction). In Example 2, compared to Example 1, in the second type intra prediction, a DC mode is added as a usable mode, and an MPM candidate list is generated in consideration of this.
본 실시예에 따르면, 제1 타입 인트라 예측에서 사용되는 6개의 MPM 후보들을 갖는 MPM 후보 리스트의 생성 방법을 제2 타입 인트라 예측과 제3 타입 인트라 예측에 동일하게 적용된다. 이 때, 제1 타입 인트라 예측에서 사용되는 6개의 MPM 후보 리스트를 갖는 MPM 후보 리스트의 생성 방법은 종래 MPM 후보 리스트 생성 방법일 수도 있고, 종래 MPM 후보 리스트로부터 개선된 방법일 수 있다. 실시예 1과 달리, 제2 타입 인트라 예측에 대해 DC 모드가 사용 가능하므로, 제2 타입 인트라 예측은 플래너 모드를 사용하지 않으며, 제3 타입 인트라 예측은 DC 모드를 사용하지 않는다. 본 실시예에 따른 방법은 이를 고려하여 각각 MPM 후보 리스트를 구성(변경)한다.According to the present embodiment, the method of generating an MPM candidate list having 6 MPM candidates used in the first type intra prediction is equally applied to the second type intra prediction and the third type intra prediction. In this case, a method of generating an MPM candidate list having six MPM candidate lists used in the first type intra prediction may be a conventional MPM candidate list generating method or an improved method from the conventional MPM candidate list. Unlike the first embodiment, since the DC mode can be used for the second type intra prediction, the second type intra prediction does not use the planar mode, and the third type intra prediction does not use the DC mode. In the method according to the present embodiment, each MPM candidate list is constructed (changed) in consideration of this.
본 실시예에 따른 방법은 제1 타입 인트라 예측에서 사용되는 6개의 후보들을 갖는 MPM 후보 리스트의 생성 방법(또는 다양한 개선 방법을 통해 개선된 6개의 후보들을 갖는 MPM 후보 리스트의 생성 방법)을 제2 타입 인트라 예측과 제3 타입 인트라 예측의 MPM 후보 리스트의 생성 방법에 동일하게 적용함으로써 동일하게 6개의 후보들을 갖는 MPM 후보 리스트를 생성한다. 제1 타입 인트라 예측은 플래너 모드를 사용하지 않고 제2 타입 인트라 예측은 DC 모드를 사용하지 않으므로, 동일하게 생성된 6개의 MPM 리스트에서 각 예측 방법에서 사용되지 않는 모드를 제거함으로써 해당 예측 방법에 적합하도록 MPM 후보 리스트를 재구성(변경)한다. The method according to the present embodiment is a second method of generating an MPM candidate list having six candidates used in the first type intra prediction (or a method of generating an MPM candidate list having six candidates improved through various improvement methods). An MPM candidate list having the same 6 candidates is generated by applying the same to a method of generating an MPM candidate list for type intra prediction and third type intra prediction. Since the 1st type intra prediction does not use the planar mode and the 2nd type intra prediction does not use the DC mode, it is suitable for the corresponding prediction method by removing the mode not used in each prediction method from the 6 MPM lists generated identically. Reorganize (change) the MPM candidate list to do so.
도 24a 내지 도 24c는 본 명세서의 실시예에 따른 인트라 예측 타입에 기반하여 MPM 후보 리스트를 구성하는 방법의 다른 예를 도시한다. 도 24a는 제1 타입 인트라 예측(기존의 인트라 예측)에 따른 MPM 후보 리스트 구성 방법, 도 24b는 제2 타입 인트라 예측(MRL 인트라 예측)에 따른 MPM 후보 리스트 구성 방법, 도 24c는 제3 타입 인트라 예측(ISP 인트라 예측)에 따른 MPM 후보 리스트 구성 방법의 예를 각각 나타낸다.24A to 24C illustrate another example of a method of constructing an MPM candidate list based on an intra prediction type according to an embodiment of the present specification. FIG. 24A is a method for configuring an MPM candidate list according to a first type intra prediction (existing intra prediction), FIG. 24B is a method for configuring an MPM candidate list according to a second type intra prediction (MRL intra prediction), and FIG. 24C is a third type intra prediction. An example of a method of constructing an MPM candidate list according to prediction (ISP intra prediction) is shown, respectively.
도 24a 내지 도 24c에서 도시된 것과 같이 제1 타입 인트라 예측(기존의 인트라 예측)에서 사용되는 6개의 후보들을 갖는 MPM 후보 리스트의 생성 방법이 제2 타입 인트라 예측(MRL 인트라 예측)과 제3 타입 인트라 예측(ISP 인트라 예측)의 MPM 후보 리스트의 생성 방법에 동일하게 적용된다. As shown in FIGS. 24A to 24C, the method of generating an MPM candidate list having 6 candidates used in the first type intra prediction (conventional intra prediction) is the second type intra prediction (MRL intra prediction) and the third type. The same applies to the method of generating an MPM candidate list for intra prediction (ISP intra prediction).
제2 타입 인트라 예측(MRL 인트라 예측)의 경우 DC 모드가 사용 가능하기 때문에 플래너 모드만 사용하지 않게 된다. 그러므로, 초기에 생성된 6개의 후보들을 갖는 MPM 후보 리스트 내에서 플래너 모드가 제거되고, MPM 후보 리스트 내의 MPM 후보들이 재정렬된다. 도 24b에서 도시된 것과 같이 0번 MPM 인덱스에 해당하는 플래너 모드가 제거되고, 나머지 MPM 후보들이 재정렬됨으로써 5개의 MPM 후보들을 갖는 MPM 후보 리스트가 구성된다. In the case of the second type intra prediction (MRL intra prediction), since the DC mode can be used, only the planar mode is not used. Therefore, the planner mode is removed in the MPM candidate list having 6 candidates initially generated, and the MPM candidates in the MPM candidate list are rearranged. As shown in FIG. 24B, the planar mode corresponding to the 0th MPM index is removed, and the remaining MPM candidates are rearranged to form an MPM candidate list having 5 MPM candidates.
제3 타입 인트라 예측(ISP 인트라 예측)의 경우 DC 모드가 사용되지 않는다. 따라서, 초기에 생성된 6개의 후보들을 갖는 MPM 리스트 내에서 DC 모드가 제거된 이후, MPM 후보 리스트 내의 MPM 후보들이 재정렬된다. 도 24c에서 도시된 것과 같이 2번 MPM 인덱스에 해당하는 DC 모드를 제거되고 나머지 MPM 후보들이 재정렬됨으로써 5개의 MPM 후보들을 갖는 MPM 리스트가 구성된다.In the case of the third type intra prediction (ISP intra prediction), the DC mode is not used. Accordingly, after the DC mode is removed from the MPM list having 6 candidates initially generated, the MPM candidates in the MPM candidate list are rearranged. As shown in FIG. 24C, the DC mode corresponding to the second MPM index is removed and the remaining MPM candidates are rearranged, thereby constructing an MPM list having five MPM candidates.
실시예 3Example 3
실시예 1과 실시예 2에서 제안된 단일화된 방법을 사용하여 MPM 후보 리스트를 생성하는 방법을 기반으로, 본 실시예는 인코더 최적화를 수행하는 방법을 제공한다.Based on the method of generating an MPM candidate list using the unified method proposed in Embodiments 1 and 2, this embodiment provides a method of performing encoder optimization.
기존의 제3 타입 인트라 예측(ISP 인트라 예측)에서 MPM 후보 리스트 생성시, 현재 블록의 분할 타입(수평 분할 혹은 수직 분할)에 따라 서로 다른 MPM 후보 리스트가 생성된다. 즉, 수평 분할에 대한 MPM 후보 리스트와 수직 분할에 대한 MPM 후보 리스트가 다르게(별도로) 생성된다. 현재 블록에 대한 최적의 인트라 예측 모드로서, 제1 타입 인트라 예측(기존의 인트라 예측)에서 생성된 후보 모드들과, 수평 분할에 대해 생성된 MPM 후보 리스트에서 선택된 후보 모드들, 그리고 수직 분할에 대해 생성한 MPM 후보 리스트 내에서 선택된 후보 모드들의 비트율-왜곡 최적화(rate-distortion optimization, RDO) 관점에서 가장 비용이 작은 모드가 선택한다. 따라서, 제3 타입 인트라 예측(ISP 인트라 예측)의 비용 계산을 위하여, 인코더는 항상 수평 분할에 대한 MPM 후보 리스트와 수직 분할에 대한 MPM 후보 리스트를 각각 생성해야만 했다. 그리하여, 인코더는 제3 타입 인트라 예측(ISP 인트라 예측)이 적용되는 블록에 대해 MPM 후보 리스트 2번의 생성해야 했고, 이를 위해 2개의 버퍼를 할당해야 했다. 이는 인코더의 연산 복잡도를 증가시키고 인코더의 하드웨어 크기를 증가시키는 원인이 되었다. 따라서 본 실시예에서는 실시예 1과 실시예 2에서 제안된 단일화된 방법을 사용하여 MPM 후보 리스트를 생성하는 방법을 기반으로 인코더 최적화를 수행하는 방법을 제공한다. 또한, 실시예 3은 디코더에도 적용될 수 있으며, 단일화된 MPM 후보 리스트의 생성 방법을 사용함으로써 디코더의 연산 복잡도와 하드웨어 사이즈도 감소시킬 수 있다.When generating an MPM candidate list in the existing third type intra prediction (ISP intra prediction), different MPM candidate lists are generated according to the division type (horizontal division or vertical division) of the current block. That is, the MPM candidate list for horizontal division and the MPM candidate list for vertical division are generated differently (separately). As the optimal intra prediction mode for the current block, candidate modes generated from the first type intra prediction (existing intra prediction), candidate modes selected from the MPM candidate list generated for horizontal division, and vertical division The mode with the lowest cost is selected from the viewpoint of rate-distortion optimization (RDO) of candidate modes selected in the generated MPM candidate list. Therefore, in order to calculate the cost of the third type intra prediction (ISP intra prediction), the encoder always had to generate an MPM candidate list for horizontal division and an MPM candidate list for vertical division, respectively. Thus, the encoder had to generate two MPM candidate lists for a block to which the third type intra prediction (ISP intra prediction) is applied, and to allocate two buffers for this. This increases the computational complexity of the encoder and increases the hardware size of the encoder. Therefore, this embodiment provides a method of performing encoder optimization based on a method of generating an MPM candidate list using the unified method proposed in Embodiments 1 and 2. In addition, Embodiment 3 can be applied to a decoder, and the computational complexity and hardware size of the decoder can be reduced by using a method of generating a unified MPM candidate list.
실시예 1과 실시예 2에서 제안된 단일화된 MPM 후보 리스트의 구성 방법은, 제3 타입 인트라 예측(ISP 인트라 예측)에 대한 MPM 후보 리스트를 생성할 때, 현재 블록의 분할 타입(수평 분할 또는 수직 분할)을 고려하지 않고 단일화된 MPM 후보 리스트 생성 방법을 사용하여 1 개의 MPM 후보 리스트를 생성한다. 즉, 도 23a 내지 도 24c에서 도시된 것과 같이 인코더/디코더는 현재 블록의 분할 타입과 관계 없이 하나의 단일화된 MPM 리스트를 생성한다. 따라서, 현재 블록의 분할 타입을 고려하여 MPM 후보 리스트를 각각 생성하는 방법과 비교하여, 본 실시예에서 제안되는 방법에 따르면, 인코더/디코더는 제3 타입 인트라 예측(ISP 인트라 예측)이 적용되는 블록에 대해 단일한 MPM 후보 리스트를 생성하고, 이를 위해 1개의 버퍼를 할당한다. 제안된 방법을 기반으로 유도된 최적의 인트라 예측 모드로서, 제1 타입 인트라 예측(종래의 인트라 예측)에서 생성된 후보 모드들과, 제3 타입 인트라 예측(ISP 인트라 예측)을 위해 생성된 1개의 MPM 후보 리스트 내의 후보 모드들에 대해 수평 분할과 수직 분할에 대하여, 각각 RDO 관점에서 가장 비용이 작은 모드가 선택된다. 본 실시예에서 제안된 방법은 제3 타입 인트라 예측(ISP 인트라 예측)을 위한 MPM 후보 리스트 생성 시 분할 타입에 구분없이 단 1개의 MPM 후보 리스트를 생성하므로 MPM 생성에 필요한 인코더의 복잡도가 감소된다. 또한, MPM 후보 리스트를 위해 1 개의 버퍼만이 사용되므로 인코더의 하드웨어 크기가 감소될 수 있다.The method of constructing a unified MPM candidate list proposed in Embodiments 1 and 2 is, when generating an MPM candidate list for a third type intra prediction (ISP intra prediction), the current block division type (horizontal division or vertical division) Splitting) is not considered and one MPM candidate list is generated using a unified MPM candidate list generation method. That is, as shown in FIGS. 23A to 24C, the encoder/decoder creates one unified MPM list regardless of the division type of the current block. Therefore, in comparison with the method of generating each MPM candidate list in consideration of the partition type of the current block, according to the method proposed in this embodiment, the encoder/decoder is a block to which the third type intra prediction (ISP intra prediction) is applied. A single MPM candidate list is generated for and for this purpose, one buffer is allocated. As an optimal intra prediction mode derived based on the proposed method, candidate modes generated from a first type intra prediction (conventional intra prediction) and one generated for a third type intra prediction (ISP intra prediction) For horizontal division and vertical division for candidate modes in the MPM candidate list, the mode with the lowest cost is selected from the viewpoint of RDO, respectively. In the method proposed in this embodiment, when generating an MPM candidate list for third type intra prediction (ISP intra prediction), since only one MPM candidate list is generated regardless of the partition type, the complexity of the encoder required for MPM generation is reduced. Also, since only one buffer is used for the MPM candidate list, the hardware size of the encoder can be reduced.
본 명세서의 실시예들에서 제안된 방법은 MPM 후보 리스트의 구성 과정에서 단일화된 방법을 사용함으로써 인트라 예측을 위한 인코딩/디코딩 구조를 단순화할 수 있다. 또한, 인트라 모드 인코딩/디코딩 효율을 증가시킴으로써 비디오 신호의 인코딩/디코딩 성능을 증가시킬 수 있다.The method proposed in the embodiments of the present specification may simplify the encoding/decoding structure for intra prediction by using a unified method in the process of constructing an MPM candidate list. In addition, it is possible to increase the encoding/decoding performance of a video signal by increasing the intra mode encoding/decoding efficiency.
비트스트림Bitstream
상술한 본 명세서의 실시예들을 기반으로 인코딩 장치(100)에 의하여 도출된 인코딩된 정보(예: 인코딩된 비디오/영상 정보)는 비트스트림 형태로 출력될 수 있다. 인코딩된 정보는 비트스트림 형태로 NAL(network abstraction layer) 유닛 단위로 전송 또는 저장될 수 있다. 비트스트림은 네트워크를 통하여 전송될 수 있고, 또는 비 일시적(non-transitory) 디지털 저장매체에 저장될 수 있다. 또한, 상술한 바와 같이 비트스트림은 인코딩 장치(100)에서 디코딩 장치(200)로 바로 전송되지 않고, 외부 서버(예: 컨텐츠 스트리밍 서버)를 통하여 스트리밍/다운로드 서비스될 수도 있다. 여기서 네트워크는 방송망 및/또는 통신망 등을 포함할 수 있고, 디지털 저장매체는 USB, SD, CD, DVD, 블루레이, HDD, SSD 등 다양한 저장매체를 포함할 수 있다.The encoded information (eg, encoded video/video information) derived by the encoding apparatus 100 based on the above-described embodiments of the present specification may be output in a bitstream form. The encoded information may be transmitted or stored in a bitstream form in units of network abstraction layer (NAL) units. The bitstream may be transmitted over a network or may be stored in a non-transitory digital storage medium. In addition, as described above, the bitstream is not directly transmitted from the encoding device 100 to the decoding device 200, but may be provided with a streaming/download service through an external server (eg, a content streaming server). Here, the network may include a broadcasting network and/or a communication network, and the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD.
도 25는 본 명세서의 실시예에 따른 비디오 신호의 인코딩 과정에서 인트라 예측을 위한 흐름도의 예를 도시한다. 도 25의 동작들은 인코딩 장치(100) 또는 비디오 신호 처리 장치(500)에 의해 수행될 수 있다. 보다 구체적으로, 도 25의 인코딩 장치(100) 내 인트라 예측부(185)(도 10의 인트라 예측 모드/타입 결정부(186))에 의해 수행될 수 있고, 또한, 비디오 신호 처리 장치(500)의 프로세서(510)에 의해 수행될 수 있다. 또한, 도 25의 S2510 내지 S2530 단계는 도 9의 S910 단계의 일 예에 해당하고, 도 25의 S2540 단계는 도 9의 S930 단계의 일 예에 해당할 수 있다.25 illustrates an example of a flowchart for intra prediction in an encoding process of a video signal according to an embodiment of the present specification. The operations of FIG. 25 may be performed by the encoding device 100 or the video signal processing device 500. More specifically, it may be performed by the intra prediction unit 185 (intra prediction mode/type determination unit 186 of FIG. 10) in the encoding apparatus 100 of FIG. 25, and the video signal processing apparatus 500 It can be performed by the processor 510 of. In addition, steps S2510 to S2530 of FIG. 25 may correspond to an example of step S910 of FIG. 9, and step S2540 of FIG. 25 may correspond to an example of step S930 of FIG. 9.
S2510 단계에서, 인코더는 현재 블록과 인접한 적어도 하나의 이웃 블록의 예측 모드에 기반하여 MPM 후보 리스트를 생성한다. 예를 들어, 인코더는 현재 블록의 좌측 이웃 블록과 상측 이웃 블록의 인트라 예측 모드에 기반하여 MPM 후보 리스트를 생성한다. 여기서 인코더는 현재 블록의 인트라 예측 타입(일반 인트라 예측, MRL 인트라 예측, ISP 인트라 예측)과 관계없이 단일한 MPM 후보 리스트를 생성한다. 또한, ISP 인트라 예측이 적용되는 경우, 인코더는 ISP 분할 방향(수직 방향, 수평 방향)과 관계없이 동일한 MPM 후보 리스트를 생성할 수 있다. In step S2510, the encoder generates an MPM candidate list based on a prediction mode of at least one neighboring block adjacent to the current block. For example, the encoder generates an MPM candidate list based on the intra prediction mode of the left neighboring block and the upper neighboring block of the current block. Here, the encoder generates a single MPM candidate list regardless of the intra prediction type of the current block (general intra prediction, MRL intra prediction, and ISP intra prediction). In addition, when ISP intra prediction is applied, the encoder may generate the same MPM candidate list regardless of the ISP division direction (vertical direction, horizontal direction).
S2520 단계에서, 인코더는 인트라 예측 타입에 기반하여 MPM 후보 리스트에서 적어도 하나의 모드를 제거함으로써 MPM 후보 리스트를 변경한다. 즉, 인트라 예측 타입에 관계없이 단일하게 생성된 MPM 후보 리스트에 대하여, 인코더는 각 인트라 예측 타입별로 사용되지 않는 모드의 존재 여부를 확인한다. 해당 인트라 예측에서 사용될 수 없는 모드가 존재하면, 그 모드는 MPM 후보 리스트에서 제거된다. S2520 단계에 앞서 또는 동시에 인코더는 현재 블록의 인트라 예측 타입을 결정할 수 있다.In step S2520, the encoder changes the MPM candidate list by removing at least one mode from the MPM candidate list based on the intra prediction type. That is, with respect to a single MPM candidate list generated regardless of the intra prediction type, the encoder checks whether or not an unused mode exists for each intra prediction type. If there is a mode that cannot be used in the corresponding intra prediction, the mode is removed from the MPM candidate list. Prior to or concurrently with step S2520, the encoder may determine the intra prediction type of the current block.
일 실시예에서, 인트라 예측 타입은 현재 블록에 인접한 라인에 위치한 참조 샘플이 사용되고 현재 블록이 분할되지 않는 제1 타입(기존의 인트라 예측), 현재 블록으로부터 2 샘플 거리 이상 이격된 라인에 위치한 참조 샘플이 사용되는 제2 타입(MRL 인트라 예측), 또는 현재 블록에 인접한 라인에 위치한 참조 샘플이 사용되고 현재 블록이 ISP에 의해 분할되는 제3 타입(ISP 인트라 예측) 중 하나에 해당할 수 있다. In one embodiment, the intra prediction type is a first type in which a reference sample located in a line adjacent to the current block is used, and the current block is not divided (existing intra prediction), and a reference sample located in a line separated by 2 samples distance or more from the current block. This may correspond to one of the used second type (MRL intra prediction) or the third type (ISP intra prediction) in which the current block is divided by the ISP using a reference sample located in a line adjacent to the current block.
일 실시예에서, 인트라 예측 타입이 제2 타입(MRL 인트라 예측)에 해당하면, MPM 후보 리스트에서 플래너 모드와 DC 모드가 제거될 수 있다. 실시예 1에서 설명된 것과 같이, 제2 타입 인트라 예측(MRL 인트라 예측)에 대하여 플래너 모드와 DC 모드가 사용될 수 없기 때문에, 인코더는 MPM 후보 리스트에서 플래너 모드와 DC 모드를 제거할 수 있다. 예를 들어, 도 23b와 같이 인코더는 MPM 후보 리스트에서 플래너 모드와 DC 모드를 제거한 상태에서 남은 모드들을 재정렬함으로써 MPM 후보 리스트를 재구성(변경)할 수 있다.In an embodiment, if the intra prediction type corresponds to the second type (MRL intra prediction), the planar mode and the DC mode may be removed from the MPM candidate list. As described in the first embodiment, since the planar mode and the DC mode cannot be used for the second type intra prediction (MRL intra prediction), the encoder may remove the planar mode and the DC mode from the MPM candidate list. For example, as shown in FIG. 23B, the encoder may reconstruct (change) the MPM candidate list by rearranging the remaining modes after removing the planar mode and the DC mode from the MPM candidate list.
일 실시예에서, 인트라 예측 타입이 제3 타입(ISP 인트라 예측)에 해당하면, MPM 후보 리스트에서 DC 모드가 제거될 수 있다. 실시예 1에서 설명된 것과 같이, 제3 타입 인트라 예측(ISP 인트라 예측)에서 DC 모드가 사용될 수 없기 때문에, 인코더는 MPM 후보 리스트에서 DC 모드를 제거할 수 있다. 예를 들어, 도 23c와 같이 인코더는 MPM 후보 리스트에서 DC 모드를 제거한 상태에서 남은 모드들을 재정렬함으로써 MPM 후보 리스트를 재구성(변경)할 수 있다.In an embodiment, if the intra prediction type corresponds to the third type (ISP intra prediction), the DC mode may be removed from the MPM candidate list. As described in the first embodiment, since the DC mode cannot be used in the third type intra prediction (ISP intra prediction), the encoder can remove the DC mode from the MPM candidate list. For example, as shown in FIG. 23C, the encoder may reconstruct (change) the MPM candidate list by rearranging the remaining modes after removing the DC mode from the MPM candidate list.
일 실시예에서, 인트라 예측 타입이 제2 타입(MRL 인트라 예측)에 해당하면, MPM 후보 리스트에서 플래너 모드가 제거될 수 있다. 실시예 2에서 설명된 것과 같이, 제2 타입 인트라 예측(MRL 인트라 예측)에서 DC 모드가 사용 가능하고 플래너 모드가 사용될 수 없을 수 있다. 이를 고려하여, 인코더는 MPM 후보 리스트에서 플래너 모드를 제거할 수 있다. 예를 들어, 도 24b와 같이 인코더는 MPM 후보 리스트에서 플래너 모드를 제거할 상태에서 남은 모드들을 재정렬함으로 MPM 후보 리스트를 재구성(변경)할 수 있다.In an embodiment, if the intra prediction type corresponds to the second type (MRL intra prediction), the planner mode may be removed from the MPM candidate list. As described in the second embodiment, in the second type intra prediction (MRL intra prediction), the DC mode may be available and the planar mode may not be used. In consideration of this, the encoder may remove the planar mode from the MPM candidate list. For example, as shown in FIG. 24B, the encoder may reconfigure (change) the MPM candidate list by rearranging the remaining modes while removing the planar mode from the MPM candidate list.
S2530 단계에서, 인코더는 MPM 후보 리스트에서 율-왜곡 비용에 기반하여 유도되는 상기 현재 블록의 인트라 예측 모드와 관련된 MPM 인덱스를 결정한다. 인코더는 율-왜곡 비용을 고려하여 MPM 후보 리스트에서 최적의 인트라 예측 모드를 결정하고, 최적의 인트라 예측 모드에 대응하는 MPM 인덱스를 결정할 수 있다.In step S2530, the encoder determines an MPM index related to the intra prediction mode of the current block derived based on the rate-distortion cost from the MPM candidate list. The encoder may determine an optimal intra prediction mode from the MPM candidate list in consideration of rate-distortion cost and determine an MPM index corresponding to the optimal intra prediction mode.
S2540 단계에서, 인코더는 MPM 인덱스와 인트라 예측 타입에 대한 정보를 포함하는 인트라 예측 정보를 인코딩한다. 또한, 인트라 예측 타입에 대한 정보는 참조 샘플의 위치를 지시하는 참조 라인 인덱스(예: ref_idx)와 ISP 분할 여부를 지시하는 정보를 더 포함할 수 있다.In step S2540, the encoder encodes intra prediction information including information on an MPM index and an intra prediction type. In addition, the information on the intra prediction type may further include a reference line index (eg, ref_idx) indicating the location of the reference sample and information indicating whether to divide the ISP.
일 실시예에서, 인트라 예측 타입이 제3 타입(ISP 인트라 예측)에 해당하면 인트라 예측 정보는 현재 블록의 분할 방향과 관련된 ISP 방향 정보를 더 포함할 수 있다. 제2 타입 인트라 예측(ISP 인트라 예측)이 적용될 때 현재 블록은 20a 및 20b와 같이 수평 방향 또는 수직 방향으로 분할될 수 있다. 이때 인코더는 분할 방향과 관계없이 동일하게 하나의 MPM 후보 리스트를 구성하고, 각 분할 방향에 따라 결정된 예측 모드들 중에서 최적의 모드(더 작은 RD 비용을 갖는 모드)를 인트라 예측 모드를 결정할 수 있다. 즉, 인트라 예측 모드는 MPM 후보 리스트에서 수평 방향 분할과 수직 방향 분할에 대하여 결정된 모드들 중에서 더 작은 율-왜곡 비용을 갖는 모드일 수 있다.In an embodiment, if the intra prediction type corresponds to the third type (ISP intra prediction), the intra prediction information may further include ISP direction information related to the division direction of the current block. When the second type of intra prediction (ISP intra prediction) is applied, the current block may be divided in a horizontal direction or a vertical direction, such as 20a and 20b. In this case, the encoder may equally construct one MPM candidate list regardless of the division direction, and determine an intra prediction mode as an optimal mode (a mode having a smaller RD cost) among prediction modes determined according to each division direction. That is, the intra prediction mode may be a mode having a lower rate-distortion cost among modes determined for horizontal division and vertical division in the MPM candidate list.
도 26은 본 명세서의 실시예에 따른 비디오 신호의 디코딩 과정에서 인트라 예측을 위한 흐름도의 예를 도시한다. 도 26의 동작들은 디코딩 장치(200) 또는 비디오 신호 처리 장치(500)에 의해 수행될 수 있다. 보다 구체적으로, 도 26의 동작들은 디코딩 장치(200) 내 인트라 예측부(265)(도 10의 인트라 예측 모드/타입 결정부(266))에 의해 수행될 수 있고, 또한, 비디오 신호 처리 장치(500)의 프로세서(510)에 의해 수행될 수 있다. 또한, 도 26의 S2610 단계 내지 S2640 단계는 도 11의 S1110 단계의 일 예에 해당하고, S2650 단계는 도 11의 S1130 단계의 일 예에 해당할 수 있다.26 shows an example of a flowchart for intra prediction in a process of decoding a video signal according to an embodiment of the present specification. The operations of FIG. 26 may be performed by the decoding apparatus 200 or the video signal processing apparatus 500. More specifically, the operations of FIG. 26 may be performed by the intra prediction unit 265 (intra prediction mode/type determination unit 266 of FIG. 10) in the decoding apparatus 200, and further, the video signal processing apparatus ( 500) may be performed by the processor 510. In addition, steps S2610 to S2640 of FIG. 26 may correspond to an example of step S1110 of FIG. 11, and step S2650 may correspond to an example of step S1130 of FIG. 11.
S2610 단계에서, 디코더는 인트라 예측이 적용되는 현재 블록의 인트라 예측 정보를 획득한다. 여기서 인트라 예측 정보는 현재 블록의 인트라 예측 타입에 대한 정보와 MPM 인덱스를 포함한다. 인트라 예측 타입에 대한 정보는 참조 샘플의 위치를 지시하는 참조 라인 인덱스(예: ref_idx)와 ISP 분할 여부를 지시하는 정보를 더 포함할 수 있다. 인트라 예측 타입이 제3 타입(ISP 인트라 예측)에 해당하면 인트라 예측 정보는 현재 블록의 분할 방향과 관련된 ISP 방향 정보를 더 포함할 수 있다.In step S2610, the decoder acquires intra prediction information of a current block to which intra prediction is applied. Here, the intra prediction information includes information on an intra prediction type of the current block and an MPM index. The information on the intra prediction type may further include a reference line index (eg, ref_idx) indicating the location of the reference sample and information indicating whether to divide the ISP. If the intra prediction type corresponds to the third type (ISP intra prediction), the intra prediction information may further include ISP direction information related to the division direction of the current block.
S2620 단계에서, 디코더는 현재 블록과 인접한 적어도 하나의 이웃 블록의 예측 모드에 기반하여 MPM 후보 리스트를 생성한다. 예를 들어, 디코더는 현재 블록의 좌측 이웃 블록과 상측 이웃 블록의 인트라 예측 모드에 기반하여 MPM 후보 리스트를 생성한다. 여기서 디코더는 현재 블록의 인트라 예측 타입(일반 인트라 예측, MRL 인트라 예측, ISP 인트라 예측)과 관계없이 단일한 MPM 후보 리스트를 생성한다. 또한, ISP 인트라 예측이 적용되는 경우, 디코더는 ISP 분할 방향(수직 방향, 수평 방향)과 관계없이 동일한 MPM 후보 리스트를 생성할 수 있다.In step S2620, the decoder generates an MPM candidate list based on the prediction mode of at least one neighboring block adjacent to the current block. For example, the decoder generates an MPM candidate list based on the intra prediction mode of the left neighboring block and the upper neighboring block of the current block. Here, the decoder generates a single MPM candidate list regardless of the intra prediction type of the current block (general intra prediction, MRL intra prediction, and ISP intra prediction). In addition, when ISP intra prediction is applied, the decoder can generate the same MPM candidate list regardless of the ISP division direction (vertical direction, horizontal direction).
S2630 단계에서, 디코더는 인트라 예측 타입에 기반하여 MPM 후보 리스트에서 적어도 하나의 모드를 제거함으로써 MPM 후보 리스트를 변경한다. 즉, 인트라 예측 타입에 관계없이 단일하게 생성된 MPM 후보 리스트에 대하여, 디코더는 각 인트라 예측 타입별로 사용되지 않는 모드의 존재 여부를 확인한다. 해당 인트라 예측에서 사용될 수 없는 모드가 존재하면, 그 모드는 MPM 후보 리스트에서 제거된다.In step S2630, the decoder changes the MPM candidate list by removing at least one mode from the MPM candidate list based on the intra prediction type. That is, with respect to a single MPM candidate list generated regardless of the intra prediction type, the decoder checks whether or not an unused mode exists for each intra prediction type. If there is a mode that cannot be used in the corresponding intra prediction, the mode is removed from the MPM candidate list.
일 실시예에서, 인트라 예측 타입은 현재 블록에 인접한 라인에 위치한 참조 샘플이 사용되고 현재 블록이 분할되지 않는 제1 타입(기존의 인트라 예측), 현재 블록으로부터 2 샘플 거리 이상 이격된 라인에 위치한 참조 샘플이 사용되는 제2 타입(MRL 인트라 예측), 또는 현재 블록에 인접한 라인에 위치한 참조 샘플이 사용되고 현재 블록이 ISP에 의해 분할되는 제3 타입(ISP 인트라 예측) 중 하나에 해당할 수 있다. In one embodiment, the intra prediction type is a first type in which a reference sample located in a line adjacent to the current block is used, and the current block is not divided (existing intra prediction), and a reference sample located in a line separated by 2 samples distance or more from the current block This may correspond to one of the used second type (MRL intra prediction) or the third type (ISP intra prediction) in which the current block is divided by the ISP using a reference sample located in a line adjacent to the current block.
일 실시예에서, 인트라 예측 타입이 제2 타입(MRL 인트라 예측)에 해당하면, MPM 후보 리스트에서 플래너 모드와 DC 모드가 제거될 수 있다. 실시예 1에서 설명된 것과 같이, 제2 타입 인트라 예측(MRL 인트라 예측)에 대하여 플래너 모드와 DC 모드가 사용될 수 없기 때문에, 디코더는 MPM 후보 리스트에서 플래너 모드와 DC 모드를 제거할 수 있다. 예를 들어, 도 23b와 같이 디코더는 MPM 후보 리스트에서 플래너 모드와 DC 모드를 제거한 상태에서 남은 모드들을 재정렬함으로써 MPM 후보 리스트를 재구성(변경)할 수 있다.In an embodiment, if the intra prediction type corresponds to the second type (MRL intra prediction), the planar mode and the DC mode may be removed from the MPM candidate list. As described in the first embodiment, since the planar mode and the DC mode cannot be used for the second type intra prediction (MRL intra prediction), the decoder can remove the planar mode and the DC mode from the MPM candidate list. For example, as shown in FIG. 23B, the decoder may reconstruct (change) the MPM candidate list by rearranging the remaining modes after removing the planar mode and the DC mode from the MPM candidate list.
일 실시예에서, 인트라 예측 타입이 제3 타입(ISP 인트라 예측)에 해당하면, MPM 후보 리스트에서 DC 모드가 제거될 수 있다. 실시예 1에서 설명된 것과 같이, 제3 타입 인트라 예측(ISP 인트라 예측)에서 DC 모드가 사용될 수 없기 때문에, 디코더는 MPM 후보 리스트에서 DC 모드를 제거할 수 있다. 예를 들어, 도 23c와 같이 디코더는 MPM 후보 리스트에서 DC 모드를 제거한 상태에서 남은 모드들을 재정렬함으로써 MPM 후보 리스트를 재구성(변경)할 수 있다.In an embodiment, if the intra prediction type corresponds to the third type (ISP intra prediction), the DC mode may be removed from the MPM candidate list. As described in the first embodiment, since the DC mode cannot be used in the third type intra prediction (ISP intra prediction), the decoder can remove the DC mode from the MPM candidate list. For example, as shown in FIG. 23C, the decoder may reconstruct (change) the MPM candidate list by rearranging the remaining modes after removing the DC mode from the MPM candidate list.
일 실시예에서, 인트라 예측 타입이 제2 타입(MRL 인트라 예측)에 해당하면, MPM 후보 리스트에서 플래너 모드가 제거될 수 있다. 실시예 2에서 설명된 것과 같이, 제2 타입 인트라 예측(MRL 인트라 예측)에서 DC 모드가 사용 가능하고 플래너 모드가 사용될 수 없을 수 있다. 이를 고려하여, 디코더는 MPM 후보 리스트에서 플래너 모드를 제거할 수 있다. 예를 들어, 도 24b와 같이 디코더는 MPM 후보 리스트에서 플래너 모드를 제거할 상태에서 남은 모드들을 재정렬함으로 MPM 후보 리스트를 재구성(변경)할 수 있다.In an embodiment, if the intra prediction type corresponds to the second type (MRL intra prediction), the planner mode may be removed from the MPM candidate list. As described in the second embodiment, in the second type intra prediction (MRL intra prediction), the DC mode may be available and the planar mode may not be used. In consideration of this, the decoder may remove the planar mode from the MPM candidate list. For example, as shown in FIG. 24B, the decoder may reconfigure (change) the MPM candidate list by rearranging the remaining modes while removing the planar mode from the MPM candidate list.
S2640 단계에서, 디코더는 MPM 후보 리스트에서 MPM 인덱스와 관련된 인트라 예측 모드를 결정한다. 디코더는 단일하게 생성된 이후 인트랑 예측 타입을 고려하여 재구성된 MPM 후보 리스트에서 MPM 인덱스에 대응하는 MPM 후보(예측 모드)를 현재 블록의 인트라 예측 모드로서 결정할 수 있다.In step S2640, the decoder determines an intra prediction mode related to the MPM index from the MPM candidate list. The decoder may determine an MPM candidate (prediction mode) corresponding to the MPM index from the MPM candidate list reconstructed in consideration of the intra prediction type after being generated singly as the intra prediction mode of the current block.
S2650 단계에서, 디코더는 인트라 예측 모드 및 현재 픽처 내 참조 샘플에 기반하여 현재 블록의 예측 샘플을 생성한다. In step S2650, the decoder generates a prediction sample of the current block based on the intra prediction mode and the reference sample in the current picture.
또한, 본 발명이 적용되는 처리 방법은 컴퓨터로 실행되는 프로그램의 형태로 생산될 수 있으며, 컴퓨터가 판독할 수 있는 기록 매체에 저장될 수 있다. 본 발명에 따른 데이터 구조를 가지는 멀티미디어 데이터도 또한 컴퓨터가 판독할 수 있는 기록 매체에 저장될 수 있다. 상기 컴퓨터가 판독할 수 있는 기록 매체는 컴퓨터로 읽을 수 있는 데이터가 저장되는 모든 종류의 저장 장치 및 분산 저장 장치를 포함한다. 상기 컴퓨터가 판독할 수 있는 기록 매체는, 예를 들어, 블루레이 디스크(BD), 범용 직렬 버스(USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크 및 광학적 데이터 저장 장치를 포함할 수 있다. 또한, 상기 컴퓨터가 판독할 수 있는 기록 매체는 반송파(예를 들어, 인터넷을 통한 전송)의 형태로 구현된 미디어를 포함한다. 또한, 인코딩 방법으로 생성된 비트스트림이 컴퓨터가 판독할 수 있는 기록 매체에 저장되거나 유무선 통신 네트워크를 통해 전송될 수 있다.Further, the processing method to which the present invention is applied may be produced in the form of a program executed by a computer, and may be stored in a computer-readable recording medium. Multimedia data having a data structure according to the present invention can also be stored in a computer-readable recording medium. The computer-readable recording medium includes all kinds of storage devices and distributed storage devices in which computer-readable data is stored. The computer-readable recording medium includes, for example, Blu-ray disk (BD), universal serial bus (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical It may include a data storage device. Further, the computer-readable recording medium includes media implemented in the form of a carrier wave (for example, transmission through the Internet). In addition, the bitstream generated by the encoding method may be stored in a computer-readable recording medium or transmitted through a wired or wireless communication network.
또한, 본 발명의 실시예는 프로그램 코드에 의한 컴퓨터 프로그램 제품으로 구현될 수 있고, 상기 프로그램 코드는 본 발명의 실시예에 의해 컴퓨터에서 수행될 수 있다. 상기 프로그램 코드는 컴퓨터에 의해 판독가능한 캐리어 상에 저장될 수 있다.In addition, an embodiment of the present invention may be implemented as a computer program product using a program code, and the program code may be executed in a computer according to the embodiment of the present invention. The program code may be stored on a carrier readable by a computer.
본 명세서의 실시예에 따른 비-일시적 컴퓨터-판독 가능한 매체(non-transitory computer-readable medium)는 하나 또는 그 이상의 프로세서들에 의해 실행되는 하나 또는 그 이상의 명령어들을 저장한다. 상기 하나 또는 그 이상의 명령어들은, 비디오 신호의 인코딩을 위하여, 현재 블록과 인접한 적어도 하나의 이웃 블록의 예측 모드에 기반하여 MPM(most probable mode) 후보 리스트를 생성하고, 상기 현재 블록의 인트라 예측 타입에 기반하여 상기 MPM 후보 리스트에서 적어도 하나의 모드를 제거함으로써 상기 MPM 후보 리스트를 변경하고, 상기 MPM 후보 리스트에서 율-왜곡 비용에 기반하여 유도되는 상기 현재 블록의 인트라 예측 모드와 관련된 MPM 인덱스를 결정하고, 상기 MPM 인덱스와 상기 인트라 예측 타입에 대한 정보를 포함하는 인트라 예측 정보를 인코딩하도록 비디오 신호 처리 장치(500)(인코딩 장치(100))를 제어한다.A non-transitory computer-readable medium according to an embodiment of the present specification stores one or more instructions executed by one or more processors. The one or more instructions generate a most probable mode (MPM) candidate list based on a prediction mode of at least one neighboring block adjacent to a current block for encoding a video signal, and the intra prediction type of the current block Change the MPM candidate list by removing at least one mode from the MPM candidate list based on the MPM candidate list, determine an MPM index related to the intra prediction mode of the current block derived based on a rate-distortion cost from the MPM candidate list, and , The video signal processing apparatus 500 (encoding apparatus 100) is controlled to encode intra prediction information including information on the MPM index and the intra prediction type.
일 실시예에서, 상기 인트라 예측 타입은, 상기 현재 블록에 인접한 라인에 위치한 참조 샘플이 사용되고 상기 현재 블록이 분할되지 않는 제1 타입, 상기 현재 블록으로부터 2 샘플 거리 이상 이격된 라인에 위치한 참조 샘플이 사용되는 제2 타입, 또는 상기 현재 블록에 인접한 라인에 위치한 참조 샘플이 사용되고 상기 현재 블록이 인트라 서브파티션에 의해 분할되는 제3 타입 중 하나에 해당할 수 있다.In one embodiment, the intra prediction type is a first type in which a reference sample located in a line adjacent to the current block is used, and the current block is not divided, and a reference sample located in a line separated by 2 sample distances or more from the current block. It may correspond to one of the used second type or a third type in which the reference sample located in a line adjacent to the current block is used and the current block is divided by an intra subpartition.
일 실시예에서, 상기 인트라 예측 타입이 제2 타입에 해당하면, 상기 MPM 후보 리스트에서 플래너 모드와 DC 모드가 제거될 수 있다.In an embodiment, if the intra prediction type corresponds to the second type, the planar mode and the DC mode may be removed from the MPM candidate list.
일 실시예에서, 상기 인트라 예측 타입이 제3 타입에 해당하면, 상기 MPM 후보 리스트에서 DC 모드가 제거될 수 있다.In an embodiment, when the intra prediction type corresponds to the third type, the DC mode may be removed from the MPM candidate list.
일 실시예에서, 상기 인트라 예측 타입이 상기 제2 타입에 해당하면, 상기 MPM 후보 리스트에서 플래너 모드가 제거될 수 있다.In an embodiment, if the intra prediction type corresponds to the second type, the planar mode may be removed from the MPM candidate list.
일 실시예에서, 상기 인트라 예측 정보는 상기 인트라 예측 타입이 제3 타입에 해당하면 상기 현재 블록의 분할 방향과 관련된 ISP 방향 정보를 더 포함하고, 상기 인트라 예측 모드는 상기 MPM 후보 리스트에서 수평 방향 분할과 수직 방향 분할에 대하여 결정된 모드들 중에서 더 작은 율-왜곡 비용을 갖는 모드일 수 있다.In one embodiment, the intra prediction information further includes ISP direction information related to a division direction of the current block when the intra prediction type corresponds to a third type, and the intra prediction mode is horizontal direction division in the MPM candidate list. It may be a mode having a smaller rate-distortion cost among the modes determined for the and vertical division.
본 명세서의 실시예에 따른 명령어들은, 비디오 신호의 디코딩을 위하여, 상기 인트라 예측이 적용되는 현재 블록의 인트라 예측 정보를 획득하고, 여기서 상기 인트라 예측 정보는 상기 현재 블록의 인트라 예측 타입에 대한 정보와 MPM 인덱스를 포함하고, 상기 현재 블록과 인접한 적어도 하나의 이웃 블록의 예측 모드에 기반하여 MPM 후보 리스트를 생성하고, 상기 인트라 예측 타입에 기반하여 상기 MPM 후보 리스트에서 적어도 하나의 모드를 제거함으로써 상기 MPM 후보 리스트를 변경하고, 상기 MPM 후보 리스트에서 상기 MPM 인덱스와 관련된 인트라 예측 모드를 결정하고, 상기 인트라 예측 모드 및 현재 픽처 내 참조 샘플에 기반하여 상기 현재 블록의 예측 샘플을 생성하도록 비디오 신호 처리 장치(500)(인코딩 장치(100))를 제어한다.The instructions according to an embodiment of the present specification acquire intra prediction information of a current block to which the intra prediction is applied, for decoding a video signal, wherein the intra prediction information includes information on an intra prediction type of the current block and The MPM includes an MPM index, generates an MPM candidate list based on a prediction mode of at least one neighboring block adjacent to the current block, and removes at least one mode from the MPM candidate list based on the intra prediction type. A video signal processing apparatus to change a candidate list, determine an intra prediction mode related to the MPM index from the MPM candidate list, and generate a prediction sample of the current block based on the intra prediction mode and a reference sample in the current picture ( 500) (encoding device 100) is controlled.
일 실시예에서, 상기 인트라 예측 타입은, 상기 현재 블록에 인접한 라인에 위치한 참조 샘플이 사용되고 상기 현재 블록이 분할되지 않는 제1 타입, 상기 현재 블록으로부터 2 샘플 거리 이상 이격된 라인에 위치한 참조 샘플이 사용되는 제2 타입, 또는 상기 현재 블록에 인접한 라인에 위치한 참조 샘플이 사용되고 상기 현재 블록이 인트라 서브파티션에 의해 분할되는 제3 타입 중 하나에 해당할 수 있다.In one embodiment, the intra prediction type is a first type in which a reference sample located in a line adjacent to the current block is used, and the current block is not divided, and a reference sample located in a line separated by 2 sample distances or more from the current block. It may correspond to one of the used second type or a third type in which the reference sample located in a line adjacent to the current block is used and the current block is divided by an intra subpartition.
일 실시예에서, 상기 인트라 예측 타입이 제2 타입에 해당하면, 상기 MPM 후보 리스트에서 플래너 모드와 DC 모드가 제거될 수 있다.In an embodiment, if the intra prediction type corresponds to the second type, the planar mode and the DC mode may be removed from the MPM candidate list.
일 실시예에서, 상기 인트라 예측 타입이 제3 타입에 해당하면, 상기 MPM 후보 리스트에서 DC 모드가 제거될 수 있다.In an embodiment, when the intra prediction type corresponds to the third type, the DC mode may be removed from the MPM candidate list.
일 실시예에서, 상기 인트라 예측 타입이 상기 제2 타입에 해당하면, 상기 MPM 후보 리스트에서 플래너 모드가 제거될 수 있다.In an embodiment, if the intra prediction type corresponds to the second type, the planar mode may be removed from the MPM candidate list.
일 실시예에서, 상기 인트라 예측 정보는, 상기 인트라 예측 타입이 제3 타입에 해당하면 상기 현재 블록의 분할 방향과 관련된 ISP 방향 정보를 더 포함할 수 있다.In an embodiment, the intra prediction information may further include ISP direction information related to a division direction of the current block when the intra prediction type corresponds to a third type.
상기 기술된 것과 같이, 본 발명에서 설명한 실시예들은 프로세서, 마이크로 프로세서, 컨트롤러 또는 칩 상에서 구현되어 수행될 수 있다. 예를 들어, 각 도면에서 도시한 기능 유닛들은 컴퓨터, 프로세서, 마이크로 프로세서, 컨트롤러 또는 칩 상에서 구현되어 수행될 수 있다.As described above, the embodiments described in the present invention may be implemented and performed on a processor, microprocessor, controller, or chip. For example, the functional units illustrated in each drawing may be implemented and executed on a computer, processor, microprocessor, controller, or chip.
또한, 본 발명이 적용되는 디코더 및 인코더는 멀티미디어 방송 송수신 장치, 모바일 통신 단말, 홈 시네마 비디오 장치, 디지털 시네마 비디오 장치, 감시용 카메라, 비디오 대화 장치, 비디오 통신과 같은 실시간 통신 장치, 모바일 스트리밍 장치, 저장 매체, 캠코더, 주문형 비디오(VoD) 서비스 제공 장치, OTT 비디오(Over the top video) 장치, 인터넷 스트리밍 서비스 제공 장치, 3차원(3D) 비디오 장치, 화상 전화 비디오 장치, 및 의료용 비디오 장치 등에 포함될 수 있으며, 비디오 신호 또는 데이터 신호를 처리하기 위해 사용될 수 있다. 예를 들어, OTT 비디오(Over the top video) 장치로는 게임 콘솔, 블루레이 플레이어, 인터넷 접속 TV, 홈시어터 시스템, 스마트폰, 태블릿 PC, DVR(Digital Video Recoder) 등을 포함할 수 있다.In addition, the decoder and encoder to which the present invention is applied include a multimedia broadcasting transmission/reception device, a mobile communication terminal, a home cinema video device, a digital cinema video device, a surveillance camera, a video chat device, a real-time communication device such as video communication, a mobile streaming device, Storage media, camcorders, video-on-demand (VoD) service providers, OTT video (Over the top video) devices, Internet streaming service providers, three-dimensional (3D) video devices, video telephony video devices, and medical video devices. And can be used to process video signals or data signals. For example, an OTT video (Over the top video) device may include a game console, a Blu-ray player, an Internet-connected TV, a home theater system, a smartphone, a tablet PC, and a digital video recorder (DVR).
이상에서 설명된 실시예들은 본 발명의 구성요소들과 특징들이 소정 형태로 결합된 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려되어야 한다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는 특징들을 결합하여 본 발명의 실시예를 구성하는 것도 가능하다. 본 발명의 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다. 특허청구범위에서 명시적인 인용 관계가 있지 않은 청구항들을 결합하여 실시예를 구성하거나 출원 후의 보정에 의해 새로운 청구항으로 포함시킬 수 있음은 자명하다.The embodiments described above are those in which components and features of the present invention are combined in a predetermined form. Each component or feature should be considered optional unless explicitly stated otherwise. Each component or feature may be implemented in a form that is not combined with other components or features. In addition, it is also possible to constitute an embodiment of the present invention by combining some components and/or features. The order of operations described in the embodiments of the present invention may be changed. Some configurations or features of one embodiment may be included in other embodiments, or may be replaced with corresponding configurations or features of other embodiments. It is obvious that the embodiments may be configured by combining claims that do not have an explicit citation relationship in the claims or may be included as new claims by amendment after filing.
본 발명에 따른 실시예는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.The embodiment according to the present invention may be implemented by various means, for example, hardware, firmware, software, or a combination thereof. In the case of implementation by hardware, an embodiment of the present invention is one or more ASICs (application specific integrated circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs ( field programmable gate arrays), processors, controllers, microcontrollers, microprocessors, etc.
펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현될 수 있다. 소프트웨어 코드는 메모리에 저장되어 프로세서에 의해 구동될 수 있다. 상기 메모리는 상기 프로세서 내부 또는 외부에 위치하여, 이미 공지된 다양한 수단에 의해 상기 프로세서와 데이터를 주고받을 수 있다.In the case of implementation by firmware or software, an embodiment of the present invention may be implemented in the form of a module, procedure, or function that performs the functions or operations described above. The software code can be stored in a memory and driven by a processor. The memory may be located inside or outside the processor, and may exchange data with the processor through various known means.
본 발명은 본 발명의 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 당업자에게 자명하다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다. It is obvious to those skilled in the art that the present invention can be embodied in other specific forms without departing from the essential features of the present invention. Therefore, the above detailed description should not be construed as restrictive in all respects, but should be considered as illustrative. The scope of the present invention should be determined by reasonable interpretation of the appended claims, and all changes within the equivalent scope of the present invention are included in the scope of the present invention.
이상, 전술한 본 발명의 바람직한 실시예는, 예시의 목적을 위해 개시된 것으로, 당업자라면 이하 첨부된 특허청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서, 다양한 다른 실시예들을 개량, 변경, 대체 또는 부가 등이 가능할 것이다.Above, preferred embodiments of the present invention described above are disclosed for the purpose of illustration, and those skilled in the art improve and change various other embodiments within the technical spirit and scope of the present invention disclosed in the appended claims below. , Substitution or addition may be possible.

Claims (15)

  1. 인트라 예측을 위한 비디오 신호의 인코딩 방법으로서, A video signal encoding method for intra prediction, comprising:
    현재 블록과 인접한 적어도 하나의 이웃 블록의 예측 모드에 기반하여 MPM(most probable mode) 후보 리스트를 생성하는 단계와, Generating a most probable mode (MPM) candidate list based on a prediction mode of at least one neighboring block adjacent to the current block; and
    상기 현재 블록의 인트라 예측 타입에 기반하여 상기 MPM 후보 리스트에서 적어도 하나의 모드를 제거함으로써 상기 MPM 후보 리스트를 변경하는 단계와, Changing the MPM candidate list by removing at least one mode from the MPM candidate list based on the intra prediction type of the current block; and
    상기 MPM 후보 리스트에서 율-왜곡 비용(rate-distortion rate)에 기반하여 유도되는 상기 현재 블록의 인트라 예측 모드와 관련된 MPM 인덱스를 결정하는 단계와, Determining an MPM index related to an intra prediction mode of the current block derived based on a rate-distortion rate from the MPM candidate list; and
    상기 MPM 인덱스와 상기 인트라 예측 타입에 대한 정보를 포함하는 인트라 예측 정보를 인코딩하는 단계를 포함하는 것을 특징으로 하는 인코딩 방법. And encoding intra prediction information including information on the MPM index and the intra prediction type.
  2. 제1항에 있어서, The method of claim 1,
    상기 인트라 예측 타입은, 상기 현재 블록에 인접한 라인에 위치한 참조 샘플이 사용되고 상기 현재 블록이 분할되지 않는 제1 타입, 상기 현재 블록으로부터 2 샘플 거리 이상 이격된 라인에 위치한 참조 샘플이 사용되는 제2 타입, 또는 상기 현재 블록에 인접한 라인에 위치한 참조 샘플이 사용되고 상기 현재 블록이 인트라 서브파티션(intra sub-partition, ISP)에 의해 분할되는 제3 타입 중 하나에 해당하는 것을 특징으로 하는 인코딩 방법. The intra prediction type is a first type in which a reference sample located in a line adjacent to the current block is used and the current block is not divided, and a second type in which a reference sample located in a line spaced apart from the current block by at least 2 samples is used. Or a reference sample located in a line adjacent to the current block is used, and the current block corresponds to one of a third type in which the current block is divided by an intra sub-partition (ISP).
  3. 제2항에 있어서, The method of claim 2,
    상기 인트라 예측 타입이 제2 타입에 해당하면, 상기 MPM 후보 리스트에서 플래너 모드와 DC 모드가 제거되는 것을 특징으로 하는 인코딩 방법. When the intra prediction type corresponds to the second type, the planar mode and the DC mode are removed from the MPM candidate list.
  4. 제2항에 있어서, The method of claim 2,
    상기 인트라 예측 타입이 제3 타입에 해당하면, If the intra prediction type corresponds to the third type,
    상기 MPM 후보 리스트에서 DC 모드가 제거되는 것을 특징으로 하는 인코딩 방법. The encoding method, characterized in that the DC mode is removed from the MPM candidate list.
  5. 제2항에 있어서, The method of claim 2,
    상기 인트라 예측 타입이 상기 제2 타입에 해당하면, 상기 MPM 후보 리스트에서 플래너 모드가 제거되는 것을 특징으로 하는 인코딩 방법. When the intra prediction type corresponds to the second type, a planar mode is removed from the MPM candidate list.
  6. 제1항에 있어서, The method of claim 1,
    상기 인트라 예측 정보는,The intra prediction information,
    상기 인트라 예측 타입이 제3 타입에 해당하면 상기 현재 블록의 분할 방향과 관련된 ISP 방향 정보를 더 포함하고,If the intra prediction type corresponds to a third type, ISP direction information related to a division direction of the current block is further included,
    상기 인트라 예측 모드는, 상기 MPM 후보 리스트에서 수평 방향 분할과 수직 방향 분할에 대하여 결정된 모드들 중에서 더 작은 율-왜곡 비용을 갖는 모드인 것을 특징으로 하는 인코딩 방법.The intra prediction mode is a mode having a lower rate-distortion cost among modes determined for horizontal division and vertical division in the MPM candidate list.
  7. 인트라 예측을 위한 비디오 신호의 디코딩 방법으로서,A method for decoding a video signal for intra prediction, comprising:
    상기 인트라 예측이 적용되는 현재 블록의 인트라 예측 정보를 획득하는 단계와, 여기서 상기 인트라 예측 정보는 상기 현재 블록의 인트라 예측 타입에 대한 정보와 MPM(most probable mode) 인덱스를 포함하고, Obtaining intra prediction information of a current block to which the intra prediction is applied, wherein the intra prediction information includes information on an intra prediction type of the current block and a most probable mode (MPM) index,
    상기 현재 블록과 인접한 적어도 하나의 이웃 블록의 예측 모드에 기반하여 MPM 후보 리스트를 생성하는 단계와,Generating an MPM candidate list based on a prediction mode of at least one neighboring block adjacent to the current block; and
    상기 인트라 예측 타입에 기반하여 상기 MPM 후보 리스트에서 적어도 하나의 모드를 제거함으로써 상기 MPM 후보 리스트를 변경하는 단계와, Changing the MPM candidate list by removing at least one mode from the MPM candidate list based on the intra prediction type;
    상기 MPM 후보 리스트에서 상기 MPM 인덱스와 관련된 인트라 예측 모드를 결정하는 단계와, Determining an intra prediction mode related to the MPM index from the MPM candidate list;
    상기 인트라 예측 모드 및 현재 픽처 내 참조 샘플에 기반하여 상기 현재 블록의 예측 샘플을 생성하는 단계를 포함하는 것을 특징으로 하는 디코딩 방법. And generating a prediction sample of the current block based on the intra prediction mode and a reference sample in the current picture.
  8. 제7항에 있어서, The method of claim 7,
    상기 인트라 예측 타입은, 상기 현재 블록에 인접한 라인에 위치한 참조 샘플이 사용되고 상기 현재 블록이 분할되지 않는 제1 타입, 상기 현재 블록으로부터 2 샘플 거리 이상 이격된 라인에 위치한 참조 샘플이 사용되는 제2 타입, 또는 상기 현재 블록에 인접한 라인에 위치한 참조 샘플이 사용되고 상기 현재 블록이 인트라 서브파티션(intra sub-partition, ISP)에 의해 분할되는 제3 타입 중 하나에 해당하는 것을 특징으로 하는 디코딩 방법. The intra prediction type is a first type in which a reference sample located in a line adjacent to the current block is used and the current block is not divided, and a second type in which a reference sample located in a line spaced apart from the current block by at least 2 samples is used. Or a reference sample located in a line adjacent to the current block is used, and the current block corresponds to one of a third type in which the current block is divided by an intra sub-partition (ISP).
  9. 제8항에 있어서, The method of claim 8,
    상기 인트라 예측 타입이 제2 타입에 해당하면, 상기 MPM 후보 리스트에서 플래너 모드와 DC 모드가 제거되는 것을 특징으로 하는 디코딩 방법. When the intra prediction type corresponds to the second type, the planar mode and the DC mode are removed from the MPM candidate list.
  10. 제8항에 있어서, The method of claim 8,
    상기 인트라 예측 타입이 제3 타입에 해당하면, 상기 MPM 후보 리스트에서 DC 모드가 제거되는 것을 특징으로 하는 디코딩 방법. When the intra prediction type corresponds to the third type, the DC mode is removed from the MPM candidate list.
  11. 제8항에 있어서, The method of claim 8,
    상기 인트라 예측 타입이 상기 제2 타입에 해당하면, 상기 MPM 후보 리스트에서 플래너 모드가 제거되는 것을 특징으로 하는 디코딩 방법. When the intra prediction type corresponds to the second type, a planar mode is removed from the MPM candidate list.
  12. 제7항에 있어서, The method of claim 7,
    상기 인트라 예측 정보는,The intra prediction information,
    상기 인트라 예측 타입이 제3 타입에 해당하면 상기 현재 블록의 분할 방향과 관련된 ISP 방향 정보를 더 포함하는 것을 특징으로 하는 디코딩 방법.If the intra prediction type corresponds to the third type, the decoding method further comprises ISP direction information related to the division direction of the current block.
  13. 인트라 예측을 위한 비디오 신호의 인코딩 장치로서, An apparatus for encoding a video signal for intra prediction, comprising:
    상기 비디오 신호를 저장하는 메모리와,A memory for storing the video signal;
    상기 메모리와 결합되고 상기 비디오 신호를 처리하는 프로세서를 포함하고,A processor coupled to the memory and processing the video signal,
    상기 프로세서는,The processor,
    현재 블록과 인접한 적어도 하나의 이웃 블록의 예측 모드에 기반하여 MPM(most probable mode) 후보 리스트를 생성하고,Generates a most probable mode (MPM) candidate list based on a prediction mode of at least one neighboring block adjacent to the current block,
    상기 현재 블록의 인트라 예측 타입에 기반하여 상기 MPM 후보 리스트에서 적어도 하나의 모드를 제거함으로써 상기 MPM 후보 리스트를 변경하고,Change the MPM candidate list by removing at least one mode from the MPM candidate list based on the intra prediction type of the current block,
    상기 MPM 후보 리스트에서 율-왜곡 비용(rate-distortion rate)에 기반하여 유도되는 상기 현재 블록의 인트라 예측 모드와 관련된 MPM 인덱스를 결정하고,Determine an MPM index related to an intra prediction mode of the current block derived based on a rate-distortion rate from the MPM candidate list,
    상기 MPM 인덱스와 상기 인트라 예측 타입에 대한 정보를 포함하는 인트라 예측 정보를 인코딩하도록 설정되는 것을 특징으로 하는 인코딩 장치.The encoding apparatus according to claim 1, wherein the encoding apparatus is configured to encode intra prediction information including information on the MPM index and the intra prediction type.
  14. 인트라 예측을 위한 비디오 신호의 디코딩 장치로서, A video signal decoding apparatus for intra prediction, comprising:
    상기 비디오 신호를 저장하는 메모리와,A memory for storing the video signal;
    상기 메모리와 결합되고 상기 비디오 신호를 처리하는 프로세서를 포함하고,A processor coupled to the memory and processing the video signal,
    상기 프로세서는,The processor,
    상기 인트라 예측이 적용되는 현재 블록의 인트라 예측 정보를 획득하고, 여기서 상기 인트라 예측 정보는 상기 현재 블록의 인트라 예측 타입에 대한 정보와 MPM(most probable mode) 인덱스를 포함하고, Obtaining intra prediction information of a current block to which the intra prediction is applied, wherein the intra prediction information includes information on an intra prediction type of the current block and a most probable mode (MPM) index,
    상기 현재 블록과 인접한 적어도 하나의 이웃 블록의 예측 모드에 기반하여 MPM 후보 리스트를 생성하고, Generate an MPM candidate list based on a prediction mode of at least one neighboring block adjacent to the current block,
    상기 인트라 예측 타입에 기반하여 상기 MPM 후보 리스트에서 적어도 하나의 모드를 제거함으로써 상기 MPM 후보 리스트를 변경하고, Change the MPM candidate list by removing at least one mode from the MPM candidate list based on the intra prediction type,
    상기 MPM 후보 리스트에서 상기 MPM 인덱스와 관련된 인트라 예측 모드를 결정하고, Determine an intra prediction mode related to the MPM index from the MPM candidate list,
    상기 인트라 예측 모드 및 현재 픽처 내 참조 샘플에 기반하여 상기 현재 블록의 예측 샘플을 생성하도록 설정되는 것을 특징으로 하는 디코딩 장치.And a decoding apparatus configured to generate a prediction sample of the current block based on the intra prediction mode and a reference sample in the current picture.
  15. 하나 또는 그 이상의 명령어들을 저장하는 비일시적 컴퓨터 판독가능한 매체(non-transitory computer-readable medium)로서, 하나 또는 그 이상의 프로세서들에 의해 실행되는 상기 하나 또는 그 이상의 명령어들은, As a non-transitory computer-readable medium storing one or more instructions, the one or more instructions executed by one or more processors,
    현재 블록의 인트라 예측 정보를 획득하고, 여기서 상기 인트라 예측 정보는 상기 현재 블록의 인트라 예측 타입에 대한 정보와 MPM(most probable mode) 인덱스를 포함하고, Acquire intra prediction information of a current block, wherein the intra prediction information includes information on an intra prediction type of the current block and a most probable mode (MPM) index,
    상기 현재 블록과 인접한 적어도 하나의 이웃 블록의 예측 모드에 기반하여 MPM 후보 리스트를 생성하고,Generate an MPM candidate list based on a prediction mode of at least one neighboring block adjacent to the current block,
    상기 인트라 예측 타입에 기반하여 상기 MPM 후보 리스트에서 적어도 하나의 모드를 제거함으로써 상기 MPM 후보 리스트를 변경하고, Change the MPM candidate list by removing at least one mode from the MPM candidate list based on the intra prediction type,
    상기 MPM 후보 리스트에서 상기 MPM 인덱스와 관련된 인트라 예측 모드를 결정하고, Determine an intra prediction mode related to the MPM index from the MPM candidate list,
    상기 인트라 예측 모드 및 현재 픽처 내 참조 샘플에 기반하여 상기 현재 블록의 예측 샘플을 생성하도록 비디오 신호 처리 장치를 제어하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능한 매체. And controlling a video signal processing apparatus to generate a prediction sample of the current block based on the intra prediction mode and a reference sample in the current picture.
PCT/KR2020/002635 2019-02-24 2020-02-24 Video signal processing method and apparatus for intra prediction WO2020171673A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962809710P 2019-02-24 2019-02-24
US62/809,710 2019-02-24

Publications (1)

Publication Number Publication Date
WO2020171673A1 true WO2020171673A1 (en) 2020-08-27

Family

ID=72143555

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/002635 WO2020171673A1 (en) 2019-02-24 2020-02-24 Video signal processing method and apparatus for intra prediction

Country Status (1)

Country Link
WO (1) WO2020171673A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113691809A (en) * 2021-07-07 2021-11-23 浙江大华技术股份有限公司 Intra-frame prediction method, encoding and decoding methods, electronic device and storage medium
US20220167010A1 (en) * 2019-03-11 2022-05-26 Kddi Corporation Image decoding device, image decoding method, and program
CN116563105A (en) * 2023-04-18 2023-08-08 武汉大学 Method for optimizing crowd-sourced satellite remote sensing image data set and computer readable medium
WO2024067036A1 (en) * 2022-09-26 2024-04-04 广州市百果园信息技术有限公司 Decision method and apparatus for intra-frame prediction mode, and video encoding device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180072133A (en) * 2016-12-21 2018-06-29 전자부품연구원 Apparatus and method for determining mode of high efficiency video coding
US20190028729A1 (en) * 2011-01-12 2019-01-24 Ntt Docomo, Inc. Mode identification data reducing method for intra-prediction coding
KR20190013611A (en) * 2017-07-28 2019-02-11 한국전자통신연구원 A method of video processing, a method and appratus for encoding/decoding video using the processing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190028729A1 (en) * 2011-01-12 2019-01-24 Ntt Docomo, Inc. Mode identification data reducing method for intra-prediction coding
KR20180072133A (en) * 2016-12-21 2018-06-29 전자부품연구원 Apparatus and method for determining mode of high efficiency video coding
KR20190013611A (en) * 2017-07-28 2019-02-11 한국전자통신연구원 A method of video processing, a method and appratus for encoding/decoding video using the processing

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DE -LUXAN-HERNANDEZ, SANTIAGO ET AL.: "CE3: Intra Sub-Partitions Coding Mode (Tests 1.1.1 and 1.1.2)", JVET-M0102-V5. JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11. 13TH MEETING, 17 January 2019 (2019-01-17), Marrakech, MA, pages 1 - 9, XP030202390 *
YAO, JIE ET AL.: "Non-CE3: Intra prediction information coding", JVET-M0210_V3 JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11. 13TH MEETING, 11 January 2019 (2019-01-11), Marrakech, MA, pages 1 - 7, XP030253348 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220167010A1 (en) * 2019-03-11 2022-05-26 Kddi Corporation Image decoding device, image decoding method, and program
US11962801B2 (en) * 2019-03-11 2024-04-16 Kddi Corporation Image decoding device, image decoding method, and program
CN113691809A (en) * 2021-07-07 2021-11-23 浙江大华技术股份有限公司 Intra-frame prediction method, encoding and decoding methods, electronic device and storage medium
WO2024067036A1 (en) * 2022-09-26 2024-04-04 广州市百果园信息技术有限公司 Decision method and apparatus for intra-frame prediction mode, and video encoding device
CN116563105A (en) * 2023-04-18 2023-08-08 武汉大学 Method for optimizing crowd-sourced satellite remote sensing image data set and computer readable medium
CN116563105B (en) * 2023-04-18 2024-02-02 武汉大学 Method for optimizing crowd-sourced satellite remote sensing image data set and computer readable medium

Similar Documents

Publication Publication Date Title
WO2017065532A1 (en) Method and apparatus for encoding and decoding video signal
WO2020009556A1 (en) Transform-based image coding method and device
WO2020171660A1 (en) Method and device for processing video signal for intra prediction
WO2020046091A1 (en) Image coding method based on multiple transform selection and device therefor
WO2020171673A1 (en) Video signal processing method and apparatus for intra prediction
WO2020213944A1 (en) Transform for matrix-based intra-prediction in image coding
WO2019203610A1 (en) Method for processing image and device therefor
WO2020213946A1 (en) Image coding using transform index
WO2021040484A1 (en) Cross-component adaptive loop filtering-based image coding apparatus and method
WO2020231140A1 (en) Adaptive loop filter-based video or image coding
WO2019194514A1 (en) Image processing method based on inter prediction mode, and device therefor
WO2019235822A1 (en) Method and device for processing video signal by using affine motion prediction
WO2021040483A1 (en) Apparatus and method for coding image
WO2020213945A1 (en) Transform in intra prediction-based image coding
WO2019216714A1 (en) Method for processing image on basis of inter-prediction mode and apparatus therefor
WO2020204419A1 (en) Adaptive loop filter-based video or image coding
WO2020180143A1 (en) Video or image coding based on luma mapping with chroma scaling
WO2020213867A1 (en) Video or image coding based on signaling of scaling list data
WO2021141226A1 (en) Bdpcm-based image decoding method for luma component and chroma component, and device for same
WO2019194463A1 (en) Method for processing image and apparatus therefor
WO2021141227A1 (en) Image decoding method and device for same
WO2018034374A1 (en) Method and apparatus for encoding and decoding video signal using intra-prediction filtering
WO2020180122A1 (en) Video or image coding on basis of conditionally parsed alf model and reshaping model
WO2020009447A1 (en) Inter-prediction mode-based image processing method and device therefor
WO2020197207A1 (en) Filtering-based video or image coding comprising mapping

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20760199

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20760199

Country of ref document: EP

Kind code of ref document: A1