Image coding method using partitioning-based intra prediction, and apparatus therefor

Partition-based intra prediction methods improve video/image coding efficiency by reducing side information and enhancing prediction performance, addressing the challenges of high-resolution and immersive media data transmission/storage costs.

WO2025150793A1PCT designated stage expired Publication Date: 2025-07-17LX SEMICON CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2025/000179
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2025-01-03
Filing Date
2025-01-03
Publication Date
2025-07-17

AI Technical Summary

Technical Problem

The increasing demand for high-resolution and high-quality images/videos, particularly in immersive media applications like VR, AR, and holograms, has led to a surge in data size and transmission/storage costs due to inefficient image/video compression technologies.

Method used

The method and device employ partition-based intra prediction techniques, utilizing multiple intra prediction modes and block vectors to generate prediction partitions for improved video/image coding efficiency, reducing side information and enhancing compression performance.

Benefits of technology

This approach enhances video/image compression efficiency by improving prediction performance and reducing the need for intra prediction mode signaling, thereby optimizing data transmission and storage costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2025000179_17072025_PF_FP_ABST
    Figure KR2025000179_17072025_PF_FP_ABST
Patent Text Reader

Abstract

An image decoding method according to an embodiment of the present disclosure comprises the steps of: acquiring prediction-related information through a bitstream; deriving a partition mode for the current block on the basis of the prediction-related information; deriving a first partition and a second partition for the current block on the basis of the partition mode; generating a first prediction partition for the first partition; generating a second prediction partition for the second partition; and generating a prediction block for the current block on the basis of the first prediction partition and the second prediction partition.
Need to check novelty before this filing date? Find Prior Art

Description

Image coding method and device using partitioning-based intra prediction

[0001] The present disclosure relates to a method for image / video coding and a device therefor.

[0002] Image / video coding is used in various applications such as digital storage media, television broadcasting, video streaming services, and real-time communications, and the demand for high-resolution, high-quality images / videos is increasing in various fields.

[0003] As the image / video becomes higher resolution and higher quality, the data size of the image / video increases, and the amount of information or bits transmitted increases relatively. Therefore, when transmitting image data using media such as existing wired or wireless broadband lines or storing image / video data using existing storage media, the transmission and storage costs increase.

[0004] In addition, interest in and demand for immersive media such as VR (virtual reality), AR (artificial reality), MR (mixed reality) content and holograms have been increasing recently, and attempts to provide immersive experiences using immersive media in games, education, medicine, real estate, marketing, etc. are increasing.

[0005] Accordingly, a highly efficient image / video compression technology is required to effectively compress, transmit, store, and play high-resolution, high-quality image / video information having various characteristics as described above.

[0006] According to one embodiment of the present disclosure, a method and device for improving video / image coding efficiency are provided.

[0007] According to one embodiment of the present disclosure, an intra prediction based video / image coding method and device are provided.

[0008] According to one embodiment of the present disclosure, a video decoding method performed by a decoding device is provided. The method includes the steps of: obtaining prediction-related information through a bitstream; deriving a partition mode for a current block based on the prediction-related information; deriving a first partition and a second partition for the current block based on the partition mode; generating a first prediction partition for the first partition; generating a second prediction partition for the second partition; and generating a prediction block for the current block based on the first prediction partition and the second prediction partition, wherein the first prediction partition is generated based on at least one of a first intra prediction mode or a first block vector, and the second prediction partition is generated based on at least one of a second intra prediction mode or a second block vector.

[0009] According to one embodiment of the present disclosure, a video encoding method performed by an encoding device is provided. The method includes the steps of: determining a partition mode for a current block; deriving a first partition and a second partition for the current block based on the partition mode; generating a first prediction partition for the first partition; generating a second prediction partition for the second partition; generating a prediction block for the current block based on the first prediction partition and the second prediction partition; generating prediction-related information for the current block; and encoding image information including the prediction-related information, wherein the first prediction partition is generated based on at least one of a first intra prediction mode or a first block vector, and the second prediction partition is generated based on at least one of a second intra prediction mode or a second block vector.

[0010] According to one embodiment of the present disclosure, a decoding device for video decoding is provided. The decoding device includes a memory and at least one processor connected to the memory, and the at least one processor is configured to perform the steps of: obtaining prediction-related information through a bitstream; deriving a partition mode for the current block based on the prediction-related information; deriving a first partition and a second partition for the current block based on the partition mode; generating a first prediction partition for the first partition; generating a second prediction partition for the second partition; and generating a prediction block for the current block based on the first prediction partition and the second prediction partition, wherein the first prediction partition is generated based on at least one of a first intra prediction mode or a first block vector, and the second prediction partition is generated based on at least one of a second intra prediction mode or a second block vector.

[0011] According to one embodiment of the present disclosure, an encoding device for video encoding is provided. The encoding device includes a memory and at least one processor connected to the memory, and the at least one processor is configured to perform the steps of: determining a partition mode for a current block; deriving a first partition and a second partition for the current block based on the partition mode; generating a first prediction partition for the first partition; generating a second prediction partition for the second partition; generating a prediction block for the current block based on the first prediction partition and the second prediction partition; generating prediction-related information for the current block; and encoding image information including the prediction-related information, wherein the first prediction partition is generated based on at least one of a first intra prediction mode or a first block vector, and the second prediction partition is generated based on at least one of a second intra prediction mode or a second block vector.

[0012] According to one embodiment of the present disclosure, a method is provided for transmitting video / video data including a bitstream generated according to a video / video encoding method according to at least one of the embodiments of the present disclosure.

[0013] According to one embodiment of the present disclosure, a device is provided for transmitting video / video data including a bitstream generated according to a video / video encoding method according to at least one of the embodiments of the present disclosure.

[0014] According to one embodiment of the present disclosure, a computer-readable storage medium storing a program for performing a method according to at least one of the embodiments of the present disclosure may be provided.

[0015] According to one embodiment of the present disclosure, a computer-readable digital storage medium storing encoded video / video information generated by a video / video encoding method according to at least one of the embodiments of the present disclosure is provided.

[0016] According to one embodiment of the present disclosure, there is provided a computer-readable digital storage medium storing encoded information or encoded video / image information that causes a decoding device to perform a video / image decoding method according to at least one of the embodiments of the present disclosure.

[0017] According to one embodiment of the present disclosure, the overall video / image compression efficiency can be improved.

[0018] According to one embodiment of the present disclosure, prediction performance for a current block can be improved.

[0019] According to one embodiment of the present disclosure, intra prediction of a current block can be performed based on a template.

[0020] According to one embodiment of the present disclosure, intra prediction performance for a current block can be improved while reducing side information for intra prediction mode signaling.

[0021] According to one embodiment of the present disclosure, intra prediction can be performed based on geometric partitions for a current block.

[0022] According to one embodiment of the present disclosure, partition shape and intra prediction mode signaling for the partition can be efficiently performed.

[0023] According to one embodiment of the present disclosure, prediction partitions can be generated using different intra prediction modes per partition or using block vectors.

[0024] According to one embodiment of the present disclosure, it is possible to efficiently determine an intra prediction mode stored for a current block for which intra prediction is performed on a partition basis and / or an intra prediction mode used for selecting a transformation kernel of the current block.

[0025] FIG. 1 schematically illustrates an example of a video / image coding system to which embodiments of the present disclosure may be applied.

[0026] FIG. 2 is a drawing schematically illustrating the configuration of a video / image encoding device to which embodiments of the present disclosure can be applied.

[0027] FIG. 3 is a drawing schematically illustrating the configuration of a video / image decoding device to which embodiments of the present disclosure can be applied.

[0028] Figure 4 illustrates an intra prediction procedure as an example.

[0029] Figure 5 shows examples of intra prediction based video / image encoding methods.

[0030] Figure 6 shows examples of intra prediction based video / image decoding methods.

[0031] Figure 7 shows examples of directional intra prediction modes.

[0032] Figure 8 shows an example of template-based HoG calculation in DIMD.

[0033] Figure 9 shows examples of peripheral blocks for deriving an MPM list.

[0034] Figure 10 illustrates DIMD-based modes and intra prediction modes derived from surrounding blocks.

[0035] Figure 11 illustrates intra prediction modes of previous blocks within a certain area.

[0036] Figure 12 shows an example of a planar horizontal mode-based prediction and an example of a planar vertical mode-based prediction.

[0037] Figure 13 shows an example of the partition mode of SGPM.

[0038] Figure 14 shows an example of SGPM candidate signaling.

[0039] Figure 15 shows an example of an SGPM template.

[0040] Figure 16 illustrates the difference between candidates according to the SGPM prefix flag.

[0041] Figure 17 shows an example of a case where IntraTMP is applied to a partition of the current block to which SGPM is applied.

[0042] FIG. 18 schematically illustrates a video / image encoding method according to an embodiment(s) of the present disclosure.

[0043] FIG. 19 schematically illustrates a video / image decoding method according to an embodiment(s) of the present disclosure.

[0044] This disclosure may have various modifications and embodiments, and thus specific embodiments will be illustrated and described in detail in the drawings. However, this is not intended to limit the embodiments of the present disclosure to the specific embodiments. The terminology used herein is only used to describe specific embodiments and is not intended to limit the technical spirit of the present disclosure. The singular forms used herein are intended to include the plural forms as well, unless the context clearly indicates otherwise. The term "and / or" as used herein includes any one or a combination of two or more of the associated listed items. The terms "comprises," "comprises," and "contains" as used herein specify the presence of stated features, numbers, operations, elements, components, and / or combinations thereof, but do not preclude the presence or addition of one or more other features, numbers, operations, elements, components, and / or combinations thereof. The use of the term "can" in connection with an example or embodiment (e.g., what the example or embodiment can include or implement) in this disclosure means that there is at least one example or embodiment that includes or implements such feature, but not all examples are limited thereto and such feature or configuration may be omitted.

[0045] Meanwhile, each component in the drawings described in this disclosure is depicted independently for the convenience of explaining different characteristic functions. This does not imply that each component is implemented with separate hardware or software. For example, two or more components may be combined to form a single component, or a single component may be divided into multiple components. Embodiments in which each component is integrated and / or separated are also included within the scope of the present disclosure, as long as they do not deviate from the essence of the present disclosure.

[0046] In this disclosure, "A or B" can mean "only A," "only B," or "both A and B." In other words, "A or B" in this disclosure can be interpreted as "A and / or B." For example, "A, B or C" in this disclosure can mean "only A," "only B," "only C," or "any combination of A, B and C."

[0047] As used herein, a slash ( / ) or a comma may mean "and / or." For example, "A / B" may mean "A and / or B." Accordingly, "A / B" may mean "only A," "only B," or "both A and B." For example, "A, B, C" may mean "A, B, or C."

[0048] In the present disclosure, “at least one of A and B” may mean “only A,” “only B,” or “both A and B.” Additionally, in the present disclosure, the expressions “at least one of A or B” or “at least one of A and / or B” may be interpreted identically to “at least one of A and B.”

[0049] Additionally, in the present disclosure, “at least one of A, B and C” can mean “only A,” “only B,” “only C,” or “any combination of A, B and C.” Additionally, “at least one of A, B or C” or “at least one of A, B and / or C” can mean “at least one of A, B and C.”

[0050] Additionally, parentheses used in the present disclosure may mean "for example." Specifically, when "prediction (intra-prediction)" is indicated, "intra-prediction" may be suggested as an example of "prediction." In other words, "prediction" in the present disclosure is not limited to "intra-prediction," and "intra-prediction" may be suggested as an example of "prediction." Furthermore, even when indicated as "prediction (i.e., intra-prediction)," "intra-prediction" may be suggested as an example of "prediction."

[0051] Technical features individually described in one drawing in this disclosure may be implemented individually or simultaneously.

[0052] The present disclosure relates to video / image coding. For example, the methods / embodiments described in this disclosure may be applied to methods disclosed in the enhanced compression model (ECM) or H.267 standards. Furthermore, the methods / embodiments disclosed in this disclosure may be applied to methods disclosed in the AV2 (AOMedia Video 2) standard or next-generation video / image coding standards (e.g., H.268, H.269, etc.).

[0053] In the present disclosure, coding may include encoding and / or decoding. In the present disclosure, image coding may be used interchangeably with video coding.

[0054] In the present disclosure, a video may refer to a set of images over time. A picture generally refers to a unit representing one image at a specific time point, and a slice / tile is a unit that constitutes a part of a picture in coding. A slice / tile may include one or more CTUs (coding tree units). A picture may be composed of one or more slices / tiles. A tile may represent a rectangular area of ​​CTUs within a specific tile row and a specific tile column within a picture.

[0055] Meanwhile, a single picture may be divided into two or more subpictures. A subpicture may be a rectangular region of one or more slices within a picture.

[0056] A pixel or pel can refer to the smallest unit that constitutes a picture (or image). Additionally, the term "sample" can be used as a counterpart to a pixel. A sample can generally represent a pixel or a pixel value, and can also represent only the pixel / pixel value of the luma component or only the pixel / pixel value of the chroma component.

[0057] A unit may represent a basic unit of image processing. A unit may include at least one of a specific region of a picture and information related to the region. One unit may include one luma block and two chroma (e.g., cb, cr) blocks. In some cases, the term "unit" may be used interchangeably with terms such as "block" or "area." In general, an MxN block may include a set (or array) of samples (or sample array) or transform coefficients consisting of M columns and N rows.

[0058] Hereinafter, embodiments of the present disclosure will be described in more detail with reference to the attached drawings. Hereinafter, identical reference numerals may be used for identical components in the drawings, and redundant descriptions of identical components may be omitted.

[0059] FIG. 1 schematically illustrates an example of a video / image coding system to which embodiments of the present disclosure may be applied.

[0060] Referring to FIG. 1, a video / image coding system may include a first device (encoding device) and a second device (decoding device). The first device may transmit encoded video / image information or data to the second device via a digital storage medium or a network in the form of a file or streaming.

[0061] The video / image coding system may further include a video / image acquisition device and a video / image renderer. The video / image acquisition device may be included in the encoding device, or may be configured as a separate device or external component. The video / image renderer may be included in the decoding device, or may be configured as a separate device or external component.

[0062] The first device may include the transmission unit as an internal component, or as a separate device or external component.

[0063] The second device may include the receiver as an internal component, or as a separate device or external component.

[0064] An encoder may be referred to as an encoding device, and a decoder may be referred to as a decoding device. A transmitting unit may be included in an encoding device. A receiving unit may be included in a decoding device. A renderer may include a display unit, and the display unit may be comprised of a separate device or an external component.

[0065] The decoding device and encoding device to which the embodiment(s) of the present disclosure are applied may be included in a multimedia broadcasting transmitting and receiving device, a mobile communication terminal, a home cinema video device, a digital cinema video device, a surveillance camera, a video conversation device, a real-time communication device such as a video communication, a mobile streaming device, a storage medium, a camcorder, a video-on-demand (VoD) service providing device, an OTT (Over the top video) device, an Internet streaming service providing device, a three-dimensional (3D) video device, a VR (virtual reality) device, an AR (agumented reality) device, a video phone video device, a transportation terminal (e.g., a vehicle (including an autonomous vehicle) terminal, an airplane terminal, a ship terminal, etc.), and a medical video device, and may be used to process a video signal or a data signal. For example, the OTT (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, a DVR (Digital Video Recorder), etc.

[0066] A video / image capture device can capture a video / image source. The video / image capture device can capture the video / image through a process of capturing, synthesizing, or generating the video / image. The video / image capture device can include a video / image capture device and / or a video / image generation device. The video / image capture device can include, for example, one or more cameras, a video / image archive containing previously captured video / images, etc. The video / image generation device can include, for example, a camcorder, a computer, a tablet, a smartphone, etc., and can (electronically) generate the video / image. For example, a virtual video / image can be generated through a computer, etc., in which case the video / image capture process can be replaced by a process of generating related data. The video / image source can also perform a video / image preprocessing process to input optimized video / image to an encoder.

[0067] An encoding device can encode input video / images. The encoding device can perform a series of procedures, such as prediction, transformation, and quantization, to improve compression and coding efficiency. The encoded data (encoded video / image information) can be output in the form of a bitstream.

[0068] The transmission unit can transmit encoded video / image information or data output in bitstream form to the reception unit of the receiving device through the network in the form of a file or streaming. The encoded video / image information or data output in bitstream form can also be transmitted to the reception unit through a streaming server. The digital storage medium can include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. The transmission unit can include an element for generating a media file through a predetermined file format and an element for transmission through a broadcasting / communication network. The reception unit can receive / extract the bitstream and transmit it to a decoding device.

[0069] The streaming server may temporarily store the bitstream during the process of transmitting or receiving the bitstream. The streaming server transmits multimedia data to a user device based on a user request via a web server, and the web server acts as a medium that informs the user of available services. When a user requests a desired service from the web server, the web server transmits it to the streaming server, and the streaming server transmits multimedia data to the user. At this time, the content streaming system may include a separate control server, and in this case, the control server serves to control commands / responses between each device within the content streaming system.

[0070] The streaming server can receive content from a media storage device and / or an encoding device. For example, when receiving content from the encoding device, the content can be received in real time. In this case, to provide a smooth streaming service, the streaming server can store the bitstream for a certain period of time.

[0071] The decoding device can decode the video / image by performing a series of procedures such as inverse quantization, inverse transformation, and prediction corresponding to the operation of the encoding device.

[0072] The renderer can render decoded video / images. The rendered video / images can be displayed through the display unit.

[0073] FIG. 2 is a diagram schematically illustrating the configuration of a video / image encoding device to which embodiments of the present disclosure may be applied. The term "encoding device" hereinafter may include an image encoding device and / or a video encoding device.

[0074] Referring to FIG. 2, the encoding device (200) may be configured to include an image partitioner (210), a prediction unit (predictor) 220, a residual processor (residual processor) 230, an entropy encoder (entropy encoder) 240, an adder (adder) 250, a filter (filter) 260, and a memory (memory) 270. The prediction unit (220) may include an inter prediction unit and an intra prediction unit. The residual processor (230) may include a transformer (transformer) 232, a quantizer (quantizer) 233, a dequantizer (dequantizer) 234, and an inverse transformer (inverse transformer) 235. The residual processor (230) may further include a subtractor (subtractor) 231. The addition unit (250) may be called a reconstruction unit or a reconstructed block generator. The image segmentation unit (210), prediction unit (220), residual processing unit (230), entropy encoding unit (240), addition unit (250), and filtering unit (260) described above may be configured by one or more hardware components (e.g., an encoder chipset or processor) depending on the embodiment. In addition, the memory (270) may include a decoded picture buffer (DPB) and may be configured by a digital storage medium. The hardware component may further include the memory (270) as an internal / external component.

[0075] The image segmentation unit (210) can segment an input image (or picture, frame) input to the encoding device (200) into one or more processing units. For example, the processing units may be referred to as coding units (CUs). In this case, the coding units may be recursively segmented from a coding tree unit (CTU) or a largest coding unit (LCU) according to a Quad-tree binary-tree ternary-tree (QTBTTT) structure. For example, one coding unit may be segmented into a plurality of coding units of deeper depth based on a quad-tree structure, a binary tree structure, and / or a ternary structure. In this case, for example, the quad-tree structure may be applied first, and the binary tree structure and / or the ternary structure may be applied later. Alternatively, the binary tree structure may be applied first. The coding procedure according to the present disclosure may be performed based on the final coding unit that is no longer segmented. In this case, based on coding efficiency according to image characteristics, etc., the maximum coding unit can be used as the final coding unit, or, if necessary, the coding unit can be recursively divided into coding units of lower depths, and the coding unit of the optimal size can be used as the 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 transformation unit (TU). In this case, the prediction unit and the transformation unit may each be divided or partitioned from the final coding unit described above.The above prediction unit may be a unit for sample prediction, and the above transformation unit may be a unit for deriving a transformation coefficient and / or a unit for deriving a residual signal from a transformation coefficient.

[0076] The term "unit" may be used interchangeably with terms such as "block" or "area" depending on the case. In general, an MxN block can represent a set of samples or transform coefficients consisting of M columns and N rows. A sample can generally represent a pixel or a pixel value, and can represent only the pixel / pixel value of the luminance component, or only the pixel / pixel value of the chroma component. A sample can be used as a term corresponding to a pixel or pel in a picture (or image).

[0077] The encoding device (200) can generate a residual signal (residual block, residual sample array) by subtracting a prediction signal (predicted block, prediction sample array) output from a prediction unit from an input video signal (original block, original sample array), and the generated residual signal is transmitted to a conversion unit (232). In this case, as illustrated, a unit that subtracts a prediction signal (predicted block, prediction sample array) from an input video signal (original block, original sample array) within the encoder (200) may be called a subtraction unit (231). The prediction unit can 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 unit can determine whether intra prediction or inter prediction is applied on a current block or CU basis. The prediction unit can generate various information regarding prediction, such as prediction mode information, as described later in the description of each prediction mode, and transmit the information to the entropy encoding unit (240). The information regarding prediction can be encoded in the entropy encoding unit (240) and output in the form of a bitstream.

[0078] An intra prediction unit can predict a current block by referring to samples within a current picture. The referenced samples may be located in the neighborhood of the current block or may be located away from the current block depending on the prediction mode. In intra prediction, prediction modes may include multiple non-directional modes and multiple directional modes. Non-directional modes may include, for example, a DC mode and a planar mode. Directional modes may include, for example, 33 directional prediction modes or 65 directional prediction modes depending on the degree of detail in the prediction direction. However, this is only an example, and more or less directional prediction modes may be used depending on the settings. The intra prediction unit may also determine the prediction mode applied to the current block by using the prediction mode applied to the neighboring blocks.

[0079] An inter prediction unit can derive a predicted block for a current block based on a reference block (reference sample array) specified by a motion vector on a reference picture. At this time, in order to reduce the amount of motion information transmitted in an inter prediction mode, motion information can be predicted in units of blocks, subblocks, or samples based on the correlation of motion information between neighboring blocks and the current block. The motion information can include a motion vector and a reference picture index. The motion information can further include information on an inter prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.). In the case of inter prediction, neighboring blocks can include spatial neighboring blocks existing in the current picture and temporal neighboring blocks existing in the reference picture. A reference picture including the reference block and a reference picture including the temporal neighboring blocks may be the same or different. The above temporal neighboring blocks may be called collocated reference blocks, collocated CUs (colCUs), etc., and a reference picture including the temporal neighboring blocks may be called a collocated picture (colPic). For example, the inter prediction unit may construct a motion information candidate list based on the neighboring blocks, and generate information indicating which candidate is used to derive the motion vector and / or reference picture index of the current block. Inter prediction may be performed based on various prediction modes, and for example, in the case of skip mode and merge mode, the inter prediction unit may use the motion information of the neighboring blocks as the motion information of the current block. In the case of skip mode, unlike the merge mode, a residual signal may not be transmitted.In the motion vector prediction (MVP) mode, the motion vector of the surrounding blocks is used as a motion vector predictor, and the motion vector of the current block can be indicated by signaling the motion vector difference.

[0080] The prediction unit (220) can generate a prediction signal based on various prediction methods described below. For example, the prediction unit can apply intra prediction or inter prediction for prediction of a single block, and can also apply intra prediction and inter prediction simultaneously. This can be called combined inter and intra prediction (CIIP). In addition, the prediction unit can be based on an intra block copy (IBC) prediction mode or a palette mode for prediction of a block. The IBC prediction mode or palette mode can be used for screen content coding (SCC), for example. IBC basically performs prediction within the current picture, but can be performed similarly to inter prediction in that it derives a reference block based on a block vector within the current picture. That is, IBC can utilize at least one of the inter prediction techniques described in the present disclosure.

[0081] The prediction signal generated through the prediction unit (220) can be used to generate a restoration signal or a residual signal. The transformation unit (232) can apply a transformation technique to the residual signal to generate transform coefficients. For example, the transformation technique can include at least one of a Discrete Cosine Transform (DCT), a Discrete Sine Transform (DST), a Karhunen-Loe've Transform (KLT), a Graph-Based Transform (GBT), or a Conditionally Non-linear Transform (CNT).

[0082] The quantization unit (233) quantizes the transform coefficients and transmits them to the entropy encoding unit (240), and the entropy encoding unit (240) can encode the quantized signal (information about the quantized transform coefficients) and output it as a bitstream. The information about the quantized transform coefficients may be called residual information. The quantization unit (233) can rearrange the quantized transform coefficients in a block form into a one-dimensional vector form based on a coefficient scan order, and can also generate information about the quantized transform coefficients based on the quantized transform coefficients in the one-dimensional vector form. The entropy encoding unit (240) can perform various encoding methods, such as, for example, exponential Golomb, context-adaptive variable length coding (CAVLC), context-adaptive binary arithmetic coding (CABAC), etc. The entropy encoding unit (240) may encode information necessary for video / image restoration (e.g., values ​​of syntax elements, etc.) together or separately from the quantized transform coefficients. The encoded information (e.g., encoded video / image information) may be transmitted or stored in the form of a bitstream in units of NAL (network abstraction layer) units. The video / image information may further include information regarding various parameter sets such as an adaptation parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). In addition, the video / image information may further include general constraint information. In the present disclosure, information and / or syntax elements transmitted / signaled from an encoding device to a decoding device may be included in the video / image information. The video / image information may be encoded through the above-described encoding procedure and included in the bitstream.The above bitstream may be transmitted through a network or 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 various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. The signal output from the entropy encoding unit (240) may be configured as an internal / external element of the encoding device (200) by a transmitting unit (not shown) and / or a storing unit (not shown), or the transmitting unit may be included in the entropy encoding unit (240).

[0083] The quantized transform coefficients output from the quantization unit (233) can be used to generate a prediction signal. For example, by applying inverse quantization and inverse transformation to the quantized transform coefficients through the inverse quantization unit (234) and the inverse transform unit (235), a residual signal (residual block or residual samples) can be reconstructed. The addition unit (250) can generate a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array) by adding the reconstructed residual signal to the prediction signal output from the prediction unit. When there is no residual for the target block to be processed, such as when skip mode is applied, the predicted block can be used as the reconstructed block. The addition unit (250) may be called a reconstructor or a reconstructed block generation unit. The generated reconstructed signal can be used for intra prediction of the next target block to be processed within the current picture, and can also be used for inter prediction of the next picture after filtering as described below.

[0084] Meanwhile, LMCS (luma mapping with chroma scaling) may be applied during the picture encoding and / or restoration process.

[0085] The filtering unit (260) can improve subjective / objective picture quality by applying filtering to the restoration signal. For example, the filtering unit (260) can apply various filtering methods to the restoration picture to generate a modified restoration picture, and store the modified restoration picture in the memory (270), specifically, in the DPB of the memory (270). The various filtering methods may include, for example, deblocking filtering, sample adaptive offset, adaptive loop filter, bilateral filter, etc. The filtering unit (260) can generate information regarding filtering and transmit it to the entropy encoding unit (240). The information regarding filtering can be encoded by the entropy encoding unit (240) and output in the form of a bitstream.

[0086] The modified restored picture transmitted to the memory (270) can be used as a reference picture in the inter prediction unit. Through this, the encoding device can avoid prediction mismatch between the encoding device (200) and the decoding device when inter prediction is applied, and can also improve encoding efficiency.

[0087] The memory (270) DPB can store the modified reconstructed picture to be used as a reference picture in the inter prediction unit. The memory (270) can store motion information of a block from which motion information is derived (or encoded) within the current picture and / or motion information of blocks within a picture that has already been reconstructed. The stored motion information can be transferred to the inter prediction unit to be used as motion information of a spatial neighboring block or motion information of a temporal neighboring block. The memory (270) can store reconstructed samples of reconstructed blocks within the current picture and transfer them to the intra prediction unit.

[0088] FIG. 3 is a diagram schematically illustrating the configuration of a video / image decoding device to which embodiments of the present disclosure may be applied. The term "decoding device" hereinafter may include an image decoding device and / or a video decoding device.

[0089] Referring to FIG. 3, the decoding device (300) may be configured to include an entropy decoder (310), a residual processor (320), a predictor (330), an adder (340), a filter (350), and a memory (360). The predictor (330) may include an inter-prediction unit and an intra-prediction unit. The residual processor (320) may include a dequantizer (321) and an inverse transformer (321). The entropy decoding unit (310), residual processing unit (320), prediction unit (330), addition unit (340), and filtering unit (350) described above may be configured by a single hardware component (e.g., decoder chipset or processor) depending on the embodiment. In addition, the memory (360) may include a decoded picture buffer (DPB) and may be configured by a digital storage medium. The hardware component may further include the memory (360) as an internal / external component.

[0090] When a bitstream including video / image information is input, the decoding device (300) can restore the image corresponding to the process in which the video / image information is processed in the encoding device of FIG. 2. For example, the decoding device (300) can derive units / blocks based on block division-related information obtained from the bitstream. The decoding device (300) can perform decoding using a processing unit applied in the encoding device. Therefore, the processing unit of decoding may be, for example, a coding unit, and the coding unit may be divided from a coding tree unit or a maximum coding unit according to a quad tree structure, a binary tree structure, and / or a ternary tree structure. One or more transform units may be derived from the coding unit. Then, the restored image signal decoded and output through the decoding device (300) can be reproduced through a reproduction device.

[0091] The decoding device (300) can receive a signal output from the encoding device in the form of a bitstream, and the received signal can be decoded through the entropy decoding unit (310). For example, the entropy decoding unit (310) can parse the bitstream to derive information (e.g., video / image information) necessary for image restoration (or picture restoration). The video / image information may further include information on various parameter sets, such as an adaptation parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). In addition, the video / image information may further include general constraint information. The decoding device can decode the picture further based on the information on the parameter set and / or the general constraint information. The signaling / received information and / or syntax elements described later in the present disclosure can be obtained from the bitstream by being decoded through the decoding procedure. For example, the entropy decoding unit (310) can decode information in a bitstream based on a coding method such as exponential Golomb coding, CAVLC, or CABAC, and output the values ​​of syntax elements required for image restoration and the quantized values ​​of transform coefficients for residuals. More specifically, the CABAC entropy decoding method receives a bin corresponding to each syntax element in the bitstream, determines a context model using information of a syntax element to be decoded and decoding information of surrounding and decoding target blocks or information of symbols / bins decoded in the previous step, and predicts the occurrence probability of a bin according to the determined context model to perform arithmetic decoding of the bin to generate a symbol corresponding to the value of each syntax element.At this time, the CABAC entropy decoding method can update the context model using the information of the decoded symbol / bin for the context model of the next symbol / bin after determining the context model. Information regarding prediction among the information decoded by the entropy decoding unit (310) is provided to the prediction unit (330), and residual values ​​on which entropy decoding is performed by the entropy decoding unit (310), i.e., quantized transform coefficients and related parameter information, can be input to the residual processing unit (320). The residual processing unit (320) can derive a residual signal (residual block, residual samples, residual sample array). In addition, information regarding filtering among the information decoded by the entropy decoding unit (310) can be provided to the filtering unit (350). Meanwhile, a receiving unit (not shown) that receives a signal output from an encoding device may be further configured as an internal / external element of the decoding device (300), or the receiving unit may be a component of the entropy decoding unit (310). Meanwhile, the decoding device according to the present disclosure may be called a video / video / picture decoding device, and the decoding device may be divided into an information decoder (video / video / picture information decoder) and a sample decoder (video / video / picture sample decoder). The information decoder may include the entropy decoding unit (310), and the sample decoder may include at least one of the inverse quantization unit (321), the inverse transformation unit (322), the addition unit (340), the filtering unit (350), the memory (360), and the prediction unit (330).

[0092] The inverse quantization unit (321) can inverse quantize the quantized transform coefficients and output the transform coefficients. The inverse quantization unit (321) can rearrange the quantized transform coefficients into a two-dimensional block form. In this case, the rearrangement can be performed based on the coefficient scanning order performed in the encoding device. The inverse quantization unit (321) can perform inverse quantization on the quantized transform coefficients using quantization parameters (e.g., quantization step size information) and obtain transform coefficients.

[0093] In the inverse transform unit (322), the transform coefficients are inversely transformed to obtain a residual signal (residual block, residual sample array).

[0094] The prediction unit can perform a prediction on the current block and generate a predicted block containing prediction samples for the current block. Based on the information regarding the prediction output from the entropy decoding unit (310), the prediction unit can determine whether intra-prediction or inter-prediction is applied to the current block, and can determine a specific intra / inter-prediction mode.

[0095] The prediction unit (330) can generate a prediction signal based on various prediction methods described below. For example, the prediction unit can apply intra prediction or inter prediction for prediction of a single block, and can also apply intra prediction and inter prediction simultaneously. This can be called combined inter and intra prediction (CIIP). In addition, the prediction unit can be based on an intra block copy (IBC) prediction mode or a palette mode for prediction of a block. The IBC prediction mode or palette mode can be used for screen content coding (SCC), for example. IBC basically performs prediction within the current picture, but can be performed similarly to inter prediction in that it derives a reference block based on a block vector within the current picture. That is, IBC can utilize at least one of the inter prediction techniques described in the present disclosure.

[0096] The intra prediction unit can predict the current block by referencing samples within the current picture. The referenced samples may be located in the neighborhood of the current block or may be located away from the current block, depending on the prediction mode. In intra prediction, the prediction modes may include multiple non-directional modes and multiple directional modes. The intra prediction unit can also determine the prediction mode applied to the current block by using the prediction mode applied to the neighboring blocks.

[0097] The inter prediction unit can derive a predicted block for the current block based on a reference block (reference sample array) specified by a motion vector on a reference picture. At this time, in order to reduce the amount of motion information transmitted in the inter prediction mode, the motion information can be predicted in units of blocks, subblocks, or samples based on the correlation of the motion information between the neighboring blocks and the current block. The motion information can include a motion vector and a reference picture index. The motion information can further include information on the inter prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.). In the case of inter prediction, the neighboring blocks can include spatial neighboring blocks existing in the current picture and temporal neighboring blocks existing in the reference picture. For example, the inter prediction unit (332) can construct a motion information candidate list based on the neighboring blocks, and derive the motion vector and / or reference picture index of the current block based on the received candidate selection information. Inter prediction can be performed based on various prediction modes, and the information about the prediction can include information indicating the mode of inter prediction for the current block.

[0098] The addition unit (340) can generate a restoration signal (restored picture, restoration block, restoration sample array) by adding the acquired residual signal to the prediction signal (predicted block, prediction sample array) output from the prediction unit (330). In cases where there is no residual for the block to be processed, such as when skip mode is applied, the predicted block can be used as the restoration block.

[0099] The addition unit (340) may be referred to as a restoration unit or restoration block generation unit. The generated restoration signal may be used for intra prediction of the next processing target block within the current picture, may be output after filtering as described below, or may be used for inter prediction of the next picture.

[0100] Meanwhile, LMCS (luma mapping with chroma scaling) may be applied during the picture decoding process.

[0101] The filtering unit (350) can improve subjective / objective image quality by applying filtering to the restored signal. For example, the filtering unit (350) can apply various filtering methods to the restored picture to generate a modified restored picture, and transmit the modified restored picture to the memory (360), specifically, to the DPB of the memory (360). The various filtering methods can include, for example, deblocking filtering, sample adaptive offset, adaptive loop filter, bilateral filter, etc.

[0102] The (modified) reconstructed picture stored in the DPB of the memory (360) can be used as a reference picture in the inter prediction unit. The memory (360) can store motion information of a block from which motion information is derived (or decoded) within the current picture and / or motion information of blocks within a picture that has already been reconstructed. The stored motion information can be transmitted to the inter prediction unit to be used as motion information of a spatial neighboring block or motion information of a temporal neighboring block. The memory (360) can store reconstructed samples of reconstructed blocks within the current picture and transmit them to the intra prediction unit.

[0103] In this specification, the embodiments described in the filtering unit (260) and the prediction unit (220) of the encoding device (200) can be applied to the filtering unit (350) and the prediction unit (330) of the decoding device (300) in the same or corresponding manner, respectively.

[0104] As described above, prediction is performed to increase compression efficiency when performing video coding. Through this, a predicted block including prediction samples for a current block, which is a coding target block, can be generated. Here, the predicted block includes prediction samples in a spatial domain (or pixel domain). The predicted block is derived identically from an encoding device and a decoding device, and the encoding device can increase video coding efficiency by signaling information (residual information) about the residual between the original block and the predicted block, rather than the original sample value of the original block itself, to a decoding device. The decoding device can derive a residual block including residual samples based on the residual information, and generate a reconstructed block including reconstructed samples by combining the residual block and the predicted block, and can generate a reconstructed picture including the reconstructed blocks.

[0105] The residual information may be generated through a transformation and quantization procedure. For example, the encoding device may derive a residual block between the original block and the predicted block, perform a transformation procedure on residual samples (a residual sample array) included in the residual block to derive transform coefficients, and perform a quantization procedure on the transform coefficients to derive quantized transform coefficients, thereby signaling the related residual information to a decoding device (via a bitstream). Here, the residual information may include information such as value information, position information, a transformation technique, a transformation kernel, and quantization parameters of the quantized transform coefficients. The decoding device may perform an inverse quantization / inverse transformation procedure based on the residual information to derive residual samples (or residual blocks). The decoding device may generate a reconstructed picture based on the predicted block and the residual block. The encoding device can also inversely quantize / inversely transform the quantized transform coefficients to derive a residual block for reference in inter prediction of a subsequent picture, and generate a restored picture based on the residual block.

[0106] In the present disclosure, at least one of quantization / dequantization and / or transformation / inverse transformation may be omitted. If the quantization / dequantization is omitted, the quantized transform coefficient may be referred to as a transform coefficient. If the transformation / inverse transformation is omitted, the transform coefficient may be referred to as a coefficient or a residual coefficient, or may still be referred to as a transform coefficient for consistency of expression.

[0107] In addition, in the present disclosure, the quantized transform coefficients and transform coefficients may be referred to as transform coefficients and scaled transform coefficients, respectively. In this case, the residual information may include information about the transform coefficient(s), and the information about the transform coefficient(s) may be signaled via residual coding syntax. Transform coefficients may be derived based on the residual information (or information about the transform coefficient(s)), and scaled transform coefficients may be derived through inverse transformation (scaling) of the transform coefficients. Residual samples may be derived based on inverse transformation (transformation) of the scaled transform coefficients. This may be similarly applied / expressed in other parts of the present disclosure.

[0108] Intra prediction may refer to a prediction that generates prediction samples for a current block based on reference samples within a picture to which the current block belongs (hereinafter, referred to as the current picture). When intra prediction is applied to a current block, peripheral reference samples to be used for intra prediction of the current block may be derived. The peripheral reference samples of the current block may include H+W samples located to the left of a current block of size WХH, W+H samples located at the top of the current block, and at least one sample neighboring the top-left of the current block. Alternatively, the peripheral reference samples of the current block may include upper peripheral samples of multiple rows and left peripheral samples of multiple columns.

[0109] Some of the surrounding reference samples of the current block may not yet be decoded or available. In this case, the decoder can construct surrounding reference samples to be used for prediction by padding or substituting the unavailable samples with available samples.

[0110] When peripheral reference samples are derived, prediction samples of the current block can be derived based on the peripheral reference samples and intra prediction mode / type information. Here, the intra prediction mode can indicate one of non-directional prediction modes and directional prediction modes that indicate spatial correlation for intra prediction. Here, the directional prediction mode can be called an angular prediction mode, and the non-directional prediction mode can be called a non-angular prediction mode. The intra prediction type can indicate various prediction types for performing intra prediction. Intra prediction types may include, for example, multi-reference line (MRL), intra sub-partitions (ISP), Position dependent intra prediction (PDPC), matrix weighted intra prediction (MIP) or matrix based intra prediction, cross-component linear model (CCLM), multi-model linear model (MMLM), Decoder side intra mode derivation (DIMD), fusion of chroma intra prediction modes, intra template matching, fusion for template-based intra mode derivation (TIMD), intra prediction fusion, cross-component convolutional model (CCCM), cross-component prediction (CCP), spatial geometric partitioning mode (SGPM), etc. In some cases, intra prediction modes and / or intra prediction types may be used to perform intra prediction.

[0111] Specifically, the intra prediction procedure may include an intra prediction mode / type determination step, a reference sample derivation step, and an intra prediction mode / type-based prediction sample derivation step. Additionally, a post-processing filtering step may be performed on the derived prediction samples, if necessary.

[0112] Figure 4 illustrates an intra prediction procedure as an example.

[0113] Referring to FIG. 4, the intra prediction procedure as described above may include an intra prediction mode / type determination step, a reference sample derivation step, and an intra prediction performance (prediction sample generation) step. The intra prediction procedure may be performed in an encoding device and a decoding device as described above.

[0114] The coding device determines the intra prediction mode / type (S400). The coding device may include an encoding device and / or a decoding device as described above.

[0115] An encoding device can determine an intra prediction mode / type applied to the current block from among various intra prediction modes / types described in the present disclosure, and can generate prediction-related information. The prediction-related information can include intra prediction mode information indicating an intra prediction mode applied to the current block and / or intra prediction type information indicating an intra prediction type applied to the current block. A decoding device can determine an intra prediction mode / type applied to the current block based on the prediction-related information.

[0116] For example, when intra prediction is applied, the intra prediction mode to be applied to the current block can be determined using the intra prediction mode of the surrounding block. For example, the coding device can select one of the MPM candidates in the MPM list derived based on the intra prediction mode of the surrounding blocks of the current block (e.g., the left and / or upper surrounding blocks) and / or additional candidate modes based on the received index information, or can select one of the remaining intra prediction modes not included in the MPM candidates based on MPM reminder information (remaining intra prediction mode information). The MPM list can be configured to include or not include the planar mode as a candidate.

[0117] The coding device can construct a list of most probable modes (MPMs) for the current block. The MPM list can also be referred to as an MPM candidate list. Here, the MPM can refer to a mode used to improve coding efficiency by considering the similarity between the current block and surrounding blocks during intra prediction mode coding.

[0118] The encoding device can perform prediction based on various intra prediction modes, and determine an optimal intra prediction mode based on rate-distortion optimization (RDO) based on the prediction. In this case, the encoding device can determine the optimal intra prediction mode using MPM candidates configured in the MPM list, or can determine the optimal intra prediction mode using intra prediction modes other than the MPM candidates configured in the MPM list. Specifically, for example, if the intra prediction type of the current block is not a normal intra prediction type but a specific type (e.g., DIMD, TIMD, MRL, or ISP), the encoding device can determine the optimal intra prediction mode by considering only the MPM candidates as intra prediction mode candidates for the current block. That is, in this case, the intra prediction mode for the current block can be determined only from among the MPM candidates, and in this case, the MPM flag may not be encoded / signaled. In this case, the decoding device can infer that the MPM flag is 1 without being separately signaled with the MPM flag.

[0119] Meanwhile, in general, if the intra prediction mode of the current block is not a planar mode but one of the MPM candidates in the MPM list, the encoding device generates an mpm index (mpm idx) pointing to one of the MPM candidates. If the intra prediction mode of the current block is not in the MPM list either, the encoding device generates MPM reminder information (remaining intra prediction mode information) pointing to a mode that is the same as the intra prediction mode of the current block among the remaining intra prediction modes that are not included in the MPM list (and the planar mode). The MPM reminder information may include, for example, an intra_luma_mpm_remainder syntax element.

[0120] A decoding device obtains intra prediction mode information from a bitstream. The intra prediction mode information may include at least one of an MPM flag, an MPM index, and MPM reminder information (remaining intra prediction mode information) as described above. The decoding device may configure an MPM list. The MPM list is configured in the same manner as the MPM list configured in the encoding device. That is, the MPM list may include intra prediction modes of neighboring blocks, and may further include specific intra prediction modes according to a predetermined method.

[0121] The decoding device can determine the intra prediction mode of the current block based on the MPM list and the intra prediction mode information. For example, if the value of the MPM flag is 1, the decoding device can derive the candidate indicated by the MPM index among the MPM candidates in the MPM list as the intra prediction mode of the current block.

[0122] As another example, when the value of the MPM flag is 0, the decoding device can derive the intra prediction mode indicated by the remaining intra prediction mode information (which may be referred to as MPM remainder information) from among the remaining intra prediction modes as the intra prediction mode of the current block.

[0123] The coding device derives reference samples of the current block (S410). The reference samples may include peripheral reference samples of the current block. The peripheral reference samples of the current block may include H+W samples located to the left of the current block of size WХH, W+H samples located to the top of the current block, and at least one sample neighboring the top-left of the current block. Alternatively, the peripheral reference samples of the current block may include upper peripheral samples of multiple rows and left peripheral samples of multiple columns.

[0124] The coding device performs intra prediction on the current block to derive prediction samples (S1220). The coding device can derive the prediction samples based on the intra prediction mode / type and the reference samples. The coding device can derive a reference sample according to the intra prediction mode of the current block among the reference samples of the current block, and can derive a prediction sample of the current block based on the reference sample.

[0125] An encoding procedure based on intra prediction may roughly include, for example:

[0126] Figure 5 shows examples of intra prediction based video / image encoding methods.

[0127] Referring to FIG. 5, S500 may be performed by a prediction unit of an encoding device, S505 may be performed by a residual processing unit of the encoding device, and S510 or S515 may be performed by an entropy encoding unit of the encoding device. Specifically, the prediction-related information may be derived by the prediction unit and encoded by the entropy encoding unit. The residual information may be derived by the residual processing unit and encoded by the entropy encoding unit. The residual information is information about the residual samples. The residual information may include information about quantized transform coefficients for the residual samples. As described above, the residual samples may be derived as transform coefficients through a transform unit of the encoding device, and the transform coefficients may be derived as quantized transform coefficients through a quantization unit. The information about the quantized transform coefficients may be encoded in the entropy encoding unit through a residual coding procedure.

[0128] An encoding device performs intra prediction on a current block (S500). The encoding device can derive an intra prediction mode / type for the current block, derive reference samples of the current block, and generate prediction samples within the current block based on the intra prediction mode / type and the reference samples. Here, the intra prediction mode / type determination, surrounding reference sample derivation, and prediction sample generation procedures may be performed simultaneously, or one procedure may be performed before the other. The encoding device can determine a mode / type to be applied to the current block among a plurality of intra prediction modes / types. The encoding device can compare RD costs for the intra prediction modes / types and determine an optimal intra prediction mode / type for the current block.

[0129] Meanwhile, the encoding device may also perform a predictive sample filtering procedure. Predictive sample filtering may be referred to as post-filtering. Some or all of the predictive samples may be filtered through the predictive sample filtering procedure. In some cases, the predictive sample filtering procedure may be omitted.

[0130] The encoding device generates residual samples for the current block based on the predicted samples (S505). The encoding device can compare the predicted samples with the original samples of the current block based on phase and derive the residual samples.

[0131] An encoding device can encode image / video information including information regarding the intra prediction (prediction-related information) and / or information regarding the residual samples (residual information) (S510 or S515). The prediction-related information can include intra prediction mode information and intra prediction type information. The encoding device can output the encoded image / video information in the form of a bitstream. The output bitstream can be transmitted to a decoding device via a storage medium or a network.

[0132] The residual information may include residual coding syntax elements. The encoding device may transform / quantize the residual samples to derive quantized transform coefficients. The residual information may include information about the quantized transform coefficients.

[0133] Meanwhile, as described above, the encoding device can generate a restored picture (including restored samples and restored blocks). To this end, the encoding device can dequantize / inversely transform the quantized transform coefficients again to derive (corrected) residual samples. The reason for performing dequantization / inversely transforming the residual samples after transforming / quantizing them in this way is to derive residual samples that are identical to the residual samples derived from the decoding device as described above. The encoding device can generate a restored block including restored samples for the current block based on the predicted samples and the (corrected) residual samples. A restored picture for the current picture can be generated based on the restored block. As described above, an in-loop filtering procedure, etc. can be further applied to the restored picture.

[0134] The decoding device can perform operations corresponding to those performed by the encoding device. A video / image decoding procedure based on intra prediction may include, for example, the following.

[0135] Figure 6 shows examples of intra prediction based video / image decoding methods.

[0136] Referring to FIG. 6, S600 may be performed by an entropy decoding unit of a decoding device, S610 may be performed by a prediction unit of the decoding device, S615 may be performed by a residual processing unit of the decoding device, and S620 may be performed by an adder or restoration unit of the decoding device.

[0137] Specifically, the decoding device obtains image / video information from the bitstream (S600). The image / video information may include prediction-related information and / or residual information.

[0138] The decoding device performs intra prediction based on prediction-related information (S610). The decoding device may derive an intra prediction mode / type for the current block based on the prediction-related information, derive reference samples of the current block, and generate prediction samples within the current block based on the intra prediction mode / type and the reference samples. In this case, the decoding device may perform a prediction sample filtering procedure. The prediction sample filtering procedure 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.

[0139] The decoding device performs residual processing based on the residual information (S615). The decoding device can derive residual samples for the current block based on the residual information. Specifically, the inverse quantization unit of the residual processing unit performs inverse quantization based on the quantized transform coefficients derived based on the residual information to derive transform coefficients, and the inverse transform unit of the residual processing unit performs inverse transformation on the transform coefficients to derive residual samples for the current block.

[0140] The decoding device generates a reconstructed block / picture (S620). The decoding device can generate reconstructed samples for the current block based on the prediction samples and / or the residual samples, and derive a reconstructed block including the reconstructed samples. A reconstructed picture for the current picture can be generated based on the reconstructed block. As described above, an in-loop filtering procedure, etc., can be further applied to the reconstructed picture.

[0141] The intra prediction mode information and / or the intra prediction type information may be encoded / decoded through the binarization and coding method described in the present disclosure. For example, the intra prediction mode information and / or the intra prediction type information may be binarized through fixed-length binarization, truncated Rice binarization, truncated unary binarization, etc. For example, the intra prediction mode information and / or the intra prediction type information may be encoded / decoded through entropy coding (e.g., CABAC, CAVLC) coding.

[0142] Figure 7 illustrates examples of directional intra prediction modes. Figure 7 may illustrate an example of a case including 65 directional intra prediction modes.

[0143] Referring to FIG. 7, the directional intra prediction modes may include directional intra prediction modes of mode #2 to mode #65. In this case, mode #50 may represent a vertical intra prediction mode, and mode #18 may represent a horizontal intra prediction mode. Meanwhile, this is merely an example, and the number and types of candidate intra prediction modes may be changed. Meanwhile, one or more non-directional intra prediction modes may be considered, for example, mode #0 may represent an intra planar prediction mode (planar mode), and mode #1 may represent an intra DC prediction mode (DC mode).

[0144] For intra prediction modes, mode numbers can be assigned, for example, as shown in the following table.

[0145] Intra prediction modeAssociated name0INTRA_PLANAR1INTRA_DC2...66INTRA_ANGULAR2...INTRA_ANGULAR6681...83INTRA_LT_CCLM, INTRA_L_CCLM, INTRA_T_CCLM

[0146] According to the present disclosure, various intra prediction modes can be used for intra prediction of the current block. For example, an intra prediction mode can be derived based on the Decoder-side intra mode derivation (DIMD) technique. DIMD can be referred to as a DIMD type.

[0147] Figure 8 shows an example of template-based HoG calculation in DIMD.

[0148] Referring to Fig. 8, DIMD can calculate a Histogram of Gradient (HoG) using a template that includes surrounding samples of the current block. For example, the HoG can be calculated using horizontal / vertical Sobel filters based on line templates of n (e.g., 3) surrounding samples. In this case, horizontal and vertical Sobel filters can be applied to calculate the HoG. If the template is located in a different CTU, the Sobel filter may not be applied to the upper CTU boundary, or the DIMD technique may not be applied to the current block.

[0149] Meanwhile, the filter applied for HoG calculation may be determined differently based on the block size. For example, if the block size is 4x4, 4x8, or 8x4, a 2x2 kernel filter may be applied instead of a 3x3 Sobel filter for HoG calculation.

[0150] Meanwhile, an adaptive number of (surrounding) reference samples can be used to compute the HoG of DIMD. In this case, the number of sample lines in the DIMD template can be four or more.

[0151] For candidate intra prediction modes, n intra prediction modes having the highest histogram values ​​can be selected / extracted through the HoG calculation. In this case, a prediction block for the current block can be derived using the n intra prediction modes. Furthermore, in this case, the prediction block can be derived using the n intra prediction modes and a non-directional mode (e.g., planar mode or DC mode). In this case, a predictor according to each intra prediction mode can be derived, and the prediction block can be derived by weighting / averaging them. In other words, through prediction fusion, the predictors of the n (e.g., 5) selected / extracted intra prediction modes and the predictor of the planar mode can be fused.

[0152] For example, the above n may be 5. In this case, five derived modes with the highest HoG may be derived. The derived modes may be called DIMD-based modes or DIMD derived modes. For example, the number of n may be determined differently based on the block size. For example, when the W*H of the block is 128 or more, n may be 7, and in other cases, n may be 5.

[0153] Meanwhile, for the calculation of the HoG of DIMD, a specific block vector may be used. For example, the block vector may be derived based on the motion vector or block vector of a surrounding block. A reference area of ​​a moved location may be derived using a specific block vector based on the position of the current block, and the HoG may be calculated using (restored) reference samples within the reference area. In this case, the template may be located in the reference area or may be located on the upper / left periphery of the reference area. In this case, the size of the reference area may be the same as the size of the current block. Meanwhile, the size of the reference area may be different from the size of the current block. For example, the width of the reference area may be half the width of the current block, and / or the height of the reference area may be half the height of the current block. In this case, the size of the template may also be changed within the width and height range of the reference area.

[0154] The n intra modes derived through the above DIMD may be called DIMD derived modes or DIMD-based modes. The DIMD derived modes may be included as candidates in the MPM list (e.g., PMPM list).

[0155] When the DIMD technique (or type) is applied to the current block, the first intra mode derived by the DIMD can be stored as the intra mode of the target block and can be referenced in configuring the MPM list of the subsequent block.

[0156] When the DIMD technique (or type) is applied to the current block, the first intra mode derived by the DIMD can be referred to as the mode for selecting a transformation kernel (or transformation set).

[0157] Meanwhile, for the above weighted sum / weighted average or prediction fusion, weights between predictors are required. According to an embodiment of the present disclosure, a look-up table (LUT) can be used to derive the weights. Using the existing full HoG, dimdMode i Calculate dimdMode by calculating Habove and Hleft separately i We can calculate whether the dependency is on the upper template or the left template, i.e. whether it is location-dependent.

[0158] If it is not position dependent, the weight (wDimd) is based on the HoG size as before. i , wPlanar) can be determined.

[0159] If the data is position-dependent, sample-based blending can be applied. In this case, weights can be applied differently on a sample-by-sample basis.

[0160] If the upper HoG (e.g. Habove) is equal to or greater than twice the left HoG (e.g. Hleft), the weights can be based on the following mathematical formula:

[0161]

[0162] Here Δ i can represent the difference or absolute value of the upper HoG and the left HoG.

[0163] If the left HoG (e.g. Hleft) is equal to or greater than twice the upper HoG (e.g. Habove), the weights can be based on the following mathematical formula:

[0164]

[0165] Here Δ i can represent the difference or absolute value of the left HoG and the upper HoG.

[0166] Meanwhile, additional W columns can be used for DIMD if the upper right side is available, and additional H rows can be used if the lower left side is available. That is, the region of the template containing the surrounding (reconstruction) samples for HOG computation can be based on the availability of the surrounding (reconstruction) samples.

[0167] Meanwhile, when n intra (prediction) modes are derived from DIMD, n intra mode predictors and planner predictors are combined, but if only one intra mode is derived from DIMD, only the one intra mode can be used. Alternatively, even if only one intra mode is derived from DIMD, it can be combined with the planner mode predictor. For example, if the HoG value of the intra mode with the highest HoG in DIMD is equal to or greater than a threshold, only the one intra mode can be derived. As another example, if the first HoG value of the intra mode with the highest HoG in DIMD is greater than the second HoG value of the intra mode with the second highest HoG by a predetermined value or more, only the one intra mode can be derived. In addition, n intra prediction modes having HoGs greater than a predetermined threshold value among the DIMD derived modes may be selected.

[0168] Meanwhile, for a block to which DIMD is applied, the first mode derived from DIMD can be stored as the intra prediction mode of the current block. The stored mode can be referenced as a mode for selecting a mode of a surrounding block and / or a transformation kernel (or transformation set) to be referenced for deriving the intra prediction mode of a subsequent block.

[0169] Meanwhile, there may be cases where the first mode derived by DIMD is not the same as the actual prediction mode of the current block (or the optimal prediction mode most correlated with the current block). Therefore, it is necessary to review modes that can be stored as the intra prediction mode of the current block other than the first intra prediction mode derived by DIMD. For example, if the HoG of the first mode derived by DIMD is greater than a certain threshold, the first mode can be stored as the intra prediction mode of the current block, and if not, the planar or DC mode can be stored as the intra prediction mode of the current block. Alternatively, if the first predictor (first prediction samples) of the current block generated by DIMD and the second predictor (second prediction samples) generated by the first mode derived by DIMD are compared and are within a certain SAD / SATD, the DIMD-derived first mode can be stored as the intra prediction mode of the current block, and if not, the planar or DC mode can be stored as the intra prediction mode of the current block.

[0170] As another example, a candidate list may be formed with m intra prediction modes derived by DIMD, and any one of the candidate lists may be stored. Here, m may be equal to n, or m may be 2 or 3. In this case, the first predictor (first prediction samples) of the current block generated by DIMD may be compared with predictors according to each of the m intra prediction modes, and the intra prediction mode having the lowest SAD / SATD among the m intra prediction modes may be stored as the intra prediction mode of the current block.

[0171] Alternatively, the first intra prediction mode derived based on the DIMD technique for the first predictor (first prediction samples) derived by the DIMD technique (i.e., the intra prediction mode (first intra prediction mode) with the highest HoG based on the Sobel filter-based HoG derived from the prediction samples) may be stored as the intra prediction mode of the current block. In this case, the first intra prediction mode derived based on the template of the current block and the first intra prediction mode derived based on the predictor of the current block may be different.

[0172] DIMD-related information may be signaled for the above DIMD. The DIMD-related information may include at least one of a DIMD availability flag, a DIMD application flag, and / or a DIMD flag.

[0173] The DIDM enabled flag (dimd_enabeld_flag) can be signaled in higher level syntax (e.g., SPS). When the value of the DIMD enabled flag is 1, the DIMD applied flag (dimd_applied_flag) and / or the DIMD flag (dimd_flag) can be signaled.

[0174] The above DIMD application flag can be signaled at the PPS, PH (picture header), SH (slice header), or CTU level. Even when DIMD is available, DIMD can be turned on / off at the picture, slice, or CTU level through the DIMD application flag. The DIMD flag can be signaled at the CU, PU, ​​or TU level. The DIMD flag can be signaled before the MPM flag (or PMPM flag).

[0175] Signaling of the above DIMD related information may include, for example:

[0176] The DIMD flag (dimd_flag) may be signaled before the PMPM flag (pmpm_flag). In this case, the PMPM flag may be signaled when the value of the DIMD flag is 0, and may be omitted when the value of the DIMD flag is 1. This can be expressed, for example, as shown in the following table.

[0177]

[0178] Meanwhile, the DIMD flag (dimd_flag) may be signaled before (in parsing order) the reference line index (intra_luma_ref_idx). The reference line index is information indicating one or more of a plurality of surrounding reference sample lines when the plurality of surrounding reference sample lines are used for intra prediction of the current block. The reference line index may be signaled when the DIMD flag is not 1. The PMPM flag may be signaled when the DIMD flag is not 1 and the reference sample line index indicates 0. This may be expressed, for example, as shown in the following table.

[0179]

[0180] Meanwhile, the DIMD flag (dimd_flag) can be signaled after the reference line index (in the parsing order) (in the intra_luma_ref_idx). The DIMD flag can be signaled when the value of the reference line index is 0. The PMPM flag can be signaled when the DIMD flag is not 1 and the reference sample line index points to 0. This can be expressed, for example, as shown in the following table.

[0181]

[0182] Meanwhile, as described above, an MPM list may be constructed to efficiently signal the intra prediction mode of the current block. In a method according to one embodiment of the present disclosure, multiple MPM lists may be constructed. The multiple MPM lists may include a first MPM list and a second MPM list. The first MPM list may be referred to as a PMPM (primary MPM) list, and the second MPM list may be referred to as an SMPM (secondary MPM) list.

[0183] The first MPM list and the second MPM list may be configured according to predetermined criteria. For example, a general MPM list including k candidates may be configured first, and the first n candidates of the general MPM list may be included in the first MPM list, and the remaining m candidates may be included in the second MPM list. For example, k may be 22, n may be 6, and / or m may be 16. For example, the first candidate (the candidate of the first entry) of the general MPM list may always be in planar mode. As another example, when the planar mode is signaled based on a separate planar flag (or not_planar_flag), k may be 21, n may be 5, and / or m may be 16.

[0184] At least one of the remaining candidates, excluding the planar mode, can be derived from the surrounding blocks.

[0185] Figure 9 shows examples of peripheral blocks for deriving an MPM list.

[0186] Referring to FIG. 9, the surrounding blocks may include at least one of a left surrounding block (L), a lower left surrounding block (BL), an upper surrounding block (A), an upper right surrounding block (AR), and / or an upper left surrounding block (AL) of the current block.

[0187] In addition, the remaining candidates may include DIMD-based modes (intra prediction modes derived based on DIMD). For example, intra prediction modes derived from surrounding blocks and DIMD-based modes (intra prediction modes derived based on DIMD) may be sorted in descending order of SAD cost based on SAD cost (hereinafter, referred to as sorted intra prediction modes) and added to the general MPM list or the first MPM list. In this case, only a predetermined number p of sorted intra prediction modes may be extracted and added to the general MPM list or the first MPM list. Here, the SAD cost may be calculated based on a predictor derived by applying the candidate mode to the restored samples and template of the template of the current block. Directional prediction modes among the sorted intra prediction modes may be referred to as sorted directional modes. The p may be, for example, 5 or 6. Alternatively, the p may be 7 or 8. In the above DIMD-based modes, the planar mode and / or the DC mode may be excluded. The same applies hereinafter. The DIMD-based mode may be referred to as the DIMD-derived mode.

[0188] For example, one can add the sorted prediction modes, modes with offsets added or subtracted from the (extracted) sorted directional modes, and certain default modes until all k entries are filled.

[0189] As another example, the sorting procedure may be omitted for some or all of the DIMD-based modes. This is because the DIMD-based modes have a high correlation with the current block. Therefore, the sorting procedure may be omitted for some or all of the DIMD-based modes, and they may be assigned to the front of the MPM list (e.g., the general MPM list or the first MPM list). In this case, the planar mode may be positioned at the front, and some or all of the DIMD-based modes may be assigned after the planar mode. Alternatively, if the planar mode is not included in the MPM list, some or all of the DIMD-based modes may be assigned to the front. Alternatively, the DIMD-based modes may be compared with intra-prediction modes derived from neighboring blocks, and overlapping modes may be assigned to the front of the MPM list because they have a high correlation with the current block. In other words, the pruning procedure and the sorting procedure may be combined. For example, according to the previous method, a pruning procedure and a sorting procedure must be performed respectively to remove duplicates between intra prediction modes derived from surrounding blocks (first group) and DIMD-based modes (second group), but according to the present method, the sorting procedure can be omitted by assigning priorities to duplicate modes while performing a duplicate check.

[0190] Figure 10 illustrates DIMD-based modes and intra prediction modes derived from surrounding blocks.

[0191] Referring to Fig. 10, if mode B and mode C overlap between two groups, mode B and mode C can be assigned priority in the MPM list. For example, in this case, mode B and mode C can be assigned to the front of the MPM list or (immediately) after the planner mode.

[0192] In this case, for example, the priority between Mode B and Mode C can be based on the priority between DIMD-based modes. For DIMD-based modes, the priority can be determined without a separate SAD-based sorting procedure because the priority has already been derived based on HoG.

[0193] Meanwhile, intra prediction modes used in coding previous blocks within a certain region based on history can be stored and reused. This can be called HIPM (history-based intra prediction mode). The HIPM can be called by various names such as HMPM (history-based MPM), history-based candidate mode, etc. The certain region can include, for example, a CTU, a CTU row, a plurality of CTU rows, a slice, a tile, etc. The plurality of CTU rows can include, for example, the nth CTU row and the n-1th CTU row where the current block is located. In this case, the HIPM list can perform reordering based on the frequency of the intra prediction mode. That is, an intra prediction mode with a high occurrence frequency within a certain region can have a higher priority than an intra prediction mode with a low occurrence frequency and can be assigned to a higher position in the list. When assigned to a higher position in the list, the mode can be indicated with a lower index value.

[0194] Figure 11 illustrates intra prediction modes of previous blocks within a certain area.

[0195] Referring to Figure 11, a HIPM list can be configured such that a specific mode (e.g., Mode #50) with the highest frequency is given a higher priority. This list can be referred to as a buffer. In this case, for example, Mode #28 can be assigned the next highest frequency position after Mode #50.

[0196] When constructing the HIPM list, the intra prediction mode of the previous block within the predetermined region may be unavailable. This may be, for example, when the previous block is coded based on inter prediction (intercoded). In this case, the intra prediction mode of the previous block may be considered as planar mode or DC mode. Alternatively, the intra prediction mode of the previous block may be omitted when constructing the HIPM list.

[0197] The above HIPM list can be used to construct the MPM list. For example, the MPM list can be constructed based on x candidates in order of priority among the candidates of the HIPM list. That is, the MPM list can include x candidates in order of priority among the candidates of the HIPM list. Alternatively, the candidates of the MPM list can be derived based on intra prediction modes derived from neighboring blocks (first group) and DIMD-based modes (second group) and / or candidates of the HIPM list (third group). In this case, a pruning and sorting procedure can be performed, and only the first p can be extracted through the sorting procedure.

[0198] Meanwhile, as described above, a general MPM list, a first MPM list, and / or a second MPM list may exist. The second MPM list may be divided into four groups. In this case, for example, the PMPM flag may be signaled first, and when the PMPM flag is 1, the PMPM index may be signaled. Here, the PMPM flag may indicate whether the intra prediction mode of the current block exists in the first MPM list. For example, the GMPM flag may be signaled before the PMPM flag. In this case, the PMPM flag and the SMPM flag described below may be signaled when the GMPM flag is 1. When the PMPM flag is 0, the SMPM flag may be signaled first, and when the SMPM flag is 1, the group index (SMPM group index) for the second MPM list may be parsed / signaled first, and the mode index (SMPM mode index) may be signaled / parsed later. Information about the intra prediction mode (e.g., GMPM flag, PMPM flag, PMPM index, SMPM flag, SMPM group index, and / or SMPM mode index) can be signaled via the CU syntax. If the GMPM flag is 0, the PMPM flag and SMPM flag can be derived as 0 without signaling / coding. The GMPM flag can also be simply called the MPM flag. The GMPM flag can be omitted in some cases.

[0199] Information about intra prediction can be signaled, for example, as follows. Information about intra prediction can include one or more syntax elements. The same applies hereinafter.

[0200]

[0201] In this case, for example, smpm_group_idx can be fixed-length binarized, and smpm_mode_idx can be fixed-length binarized.

[0202] As another example, smpm_group_idx can be truncated rice (or truncated unary) binarized. In this case, smpm_mode_idx can be fixed-length binarized. Alternatively, smpm_mode_idx can determine the binarization method depending on the smpm_group_idx value. For example, if the smpm_group_idx value is 0 or 1, it can be truncated rice (or truncated unary) binarized, and in other cases, it can be fixed-length binarized. smpm_mode_idx can be context-model-based coded, in which case the context model of smpm_mode_idx can be determined differently based on the size of the current block and / or the smpm_group_idx value. For example, the context model can be directed based on the context index increment (ctxInc), and the ctxInc for a bin of smpm_mode_idx can be determined differently based on the smpm_group_idx value, for example, as follows. As described below, smpm_group_idx can be replaced with smpm_group_flag.

[0203]

[0204]

[0205] The second MPM list can be divided into two groups. In this case, the number of candidates in the first group can be the same as or different from the number of candidates in the second group. For example, the number of candidates in the second MPM list can be 16, 12, or 8. In this case, the first group can contain 4 or 8 candidates, and the second group can contain 8 candidates.

[0206] For example, smpm_group_flag can be used instead of smpm_group_idx. smpm_group_flag can indicate whether the intra prediction mode of the current block is included in the second candidate group among the candidate groups of the second MPM list. smpm_mode_idx can determine the binarization method according to the smpm_group_flag value. For example, if the smpm_group_flag value points to the first group (e.g., value 1), truncated rice (or truncated unary) binarization is performed, and in other cases, fixed-length binarization can be performed.

[0207] In this case, for example, information about intra prediction can be signaled as follows:

[0208]

[0209] Meanwhile, smpm_idc may be used instead of smpm_flag and / or smpm_group_flag (or smpm_group_idx).

[0210] In this case, for example, information about intra prediction can be signaled as follows:

[0211]

[0212] smpm_idc can indicate whether the intra prediction mode of the current block is included in the second MPM list, and if so, to which group it belongs. smpm_idc can be binarized based on truncated rice (or truncated unary).

[0213] The following table shows an example of binarization of smpm_idc.

[0214] smpm_idcDescriptionBinarization0Not included01In First group102In Second group11

[0215] smpm_mode_idx can be called smpm_idx. smpm_idx can be binarized based on truncated rice (or truncated unary).

[0216] The following table shows an example of binarization of smpm_idx.

[0217] smpm_idxDescriptionBinarization0First candidate01Second candidate102Third candidate1103Fourth candidate111

[0218] Alternatively, the binarization of smpm_idx can be based on smpm groups. For example, the binarization of smpm_idx can be based on the smpm_idc value. For example, if the smpm_idc value is 1, smpm_idx can be binarized based on truncated rice (or truncated unary), and if the smpm_idc value is 2, smpm_idx can be binarized based on fixed length. In this case, for example, the number of candidates in the first group can be 4, and the number of candidates in the second group can be 8. This allows the maximum number of bins for the binarization to match the worst case.

[0219] smpm_idx (for first group)DescriptionBinarization0First candidate01Second candidate102Third candidate1103Fourth candidate111

[0220] smpm_idx (for non-first group)DescriptionBinarization0First candidate0001Second candidate0012Third candidate0103Fourth candidate0114Fifth candidate1005Sixth candidate1016Seventh candidate1107Eighth candidate11

[0221] As described above, for the first group of the second MPM list, variable-length binarization can be performed considering the best case since the correlation with the current block is high, and for the second group of the second MPM list, fixed-length binarization can be performed considering the worst case since the correlation with the current block is relatively low.

[0222] The above smpm_idx can be context-based coded (e.g., CABAC), in which case the context index (or context index increment) of bin 0 can be set differently depending on the case. The context model of smpm_idx can be determined differently based on the size of the current block and / or the smpm_idc value. For example, the context index (or context index increment) of bin 0 of smpm_idx can be set differently based on smpm_idc (or smpm_group_idx or smpm_group_flag).

[0223] For example, if the value of smpm_idc (or smpm_group_idx or smpm_group_flag) is greater than 1, the context index increment of bin 0 of smpm_idx can be 1. If the value of smpm_idc (or smpm_group_idx or smpm_group_flag) is 1, the context index increment of bin 0 of smpm_idx can be 0. Or vice versa. In the tables below, smpm_idc can be replaced with smpm_group_idx or smpm_group_flag. In this case, the value of smpm_group_idx or smpm_group_flag, which is the condition, can be set to 1 less than the value of smpm_idc.

[0224]

[0225]

[0226]

[0227]

[0228] Through context-based coding as described above, a context model can be adaptively allocated to intra prediction mode-related information, and entropy coding efficiency can be efficiently increased.

[0229] Meanwhile, according to one embodiment of the present disclosure, an intra-template matching technique may be applied. Intra-template matching may be referred to as intraTMP. IntraTMP may be viewed as a prediction technique or type of prediction.

[0230] Figure 12 shows an example of the intraTMP technique.

[0231] Referring to Fig. 12, prediction of the corresponding block can be performed by finding the template most similar to the current template (a surrounding reference sample (e.g., L-shape) template) within a predefined search range of the restored area within the current picture. In this case, a block vector (BV) indicating the location of the matching block (reference block) within the current picture can be derived / stored based on the current block location.

[0232] The above predefined search range can be located within the left CTU, the current CTU, the upper left CTU, the upper CTU, and the upper right CTU.

[0233] IntraTMP is performed in the same manner by the encoding device / decoding device, and the encoding device can signal whether IntraTMP is used. For example, the encoding device can indicate whether IntraTMP is applied to the current block by signaling the IntraTMP flag.

[0234] Meanwhile, to efficiently perform IntraTMP, a candidate list for IntraTMP can be constructed. The candidate list (IntraTMP candidate list) can include up to n (e.g., 19) template matching block vectors, and in this case, the vectors can be sorted in ascending order based on the SAD cost for the templates.

[0235] IntraTMP is available when the CU size height and width are less than or equal to 64. The maximum available size can be predefined or signaled at a higher level.

[0236] The application of intraTMP can be signaled via a CU-level flag. For example, it can be signaled when DIMD mode is not applied to the current block. That is, when dimd_flag is 0, intratmp_flag can be signaled.

[0237] The block vector (BV) derived through IntraTMP is stored and can be used in the IBC candidate list for the IBC of the subsequent block.

[0238] Additionally, according to one embodiment of the present disclosure, a spatial geometric partitioning mode (SGPM) may be applied. The SGPM may be viewed as a prediction technique or a type of prediction.

[0239] According to SGPM, a current block can be divided into two or more partitions (geometric partitions), and different intra predictions can be applied to the two partitions. For example, a first intra prediction mode can be applied to a first partition, and a second intra prediction mode can be applied to a second partition. The two predictors derived through this can be fused or blended to generate a single predicted block. The two predictors can include a first prediction partition and a second prediction partition.

[0240] For SGPM, n partition modes can be used, for example, 26 partition modes can be used as follows.

[0241] Figure 13 shows an example of the partition mode of SGPM.

[0242] Referring to Fig. 13, the number of partition modes used in the GPM (geometric partitioning mode) of inter prediction may differ from the number of partition modes used in the SGPM of intra prediction. For example, as shown in the boxed portion of Fig. 13, some of the partition modes of the GPM may be selectively used as the partition modes of the SGPM.

[0243] For SGPM, n partition modes and m intra prediction modes can be combined to form an SGPM candidate list of length k.

[0244] Figure 14 shows an example of SGPM candidate signaling.

[0245] Referring to Figure 14, whether SGPM is applied can be signaled via the SGPM flag. The SGPM flag can be called sgpm_flag or cu_sgpm_flag. The SGPM flag can be transmitted at the CU level or the CU syntax level.

[0246] For example, when SGPM is applied (when the value of the SGPM flag is 1), a partition mode index, a first intra prediction mode index (e.g., intra_pred_mode0_idx), and a second intra prediction mode index (e.g., intra_pred_mode1_idx) may be signaled. Here, at least one of the partition mode index, the first intra prediction mode index (e.g., intra_pred_mode0_idx), and the second intra prediction mode index (e.g., intra_pred_mode1_idx) may be omitted. For example, the first intra prediction mode index and / or the second intra prediction mode index may be omitted for a specific partition mode index. In this case, when the specific partition mode index is applied, the first intra prediction mode and / or the second intra prediction mode may be predefined. For example, when a predetermined condition is satisfied, the second intra prediction mode index may be omitted. The above predetermined condition may include a case where specific information is explicitly signaled, a case where the size of the current block falls within a certain range, a case where the first intra prediction mode index indicates a non-directional mode (planar mode, DC mode), a horizontal mode, a vertical mode, or a diagonal intra prediction mode, etc. When the second intra prediction mode index is omitted, the second intra prediction mode index may be determined based on the first intra prediction mode index. In this case, the second intra prediction mode may be perpendicular to the first intra prediction mode. Alternatively, the second intra prediction mode may be predetermined as the diagonal intra prediction mode. The diagonal intra prediction mode may include at least one of a left-downward diagonal intra prediction mode, a left-upward diagonal intra prediction mode, or a right-upward diagonal intra prediction mode.

[0247] As another example, when SGPM is applied (when the SGPM flag has a value of 1), an SGPM candidate index may be signaled. In this case, the SGPM candidate index may represent a combination of a partition mode (index), a first intra prediction mode (index), and a second intra prediction mode (index).

[0248] The above SGPM candidate list is predefined and can be reordered based on cost.

[0249] It can be derived based on the surrounding blocks of the current block. For example, if the surrounding blocks of the current block are coded based on SGPM, the SGPM candidate used in the surrounding blocks can be derived as the first SGPM candidate of the current block. This can be called a surrounding SGPM-based candidate or an intra-surrounding block-based candidate. The first SGPM candidate can be assigned with a higher priority than other candidates in the SGPM candidate list of the current block. In addition, for example, if the surrounding blocks of the current block are coded based on GPM, a second SGPM candidate can be derived based on the partition mode of the GPM candidate used in the surrounding blocks. This can be called a surrounding GPM-based candidate or an inter-surrounding block-based candidate. The second SGPM candidate can be derived based on a predefined first intra-prediction mode and a second intra-prediction mode combined with the derived partition mode. The second SGPM candidate can be assigned with a higher priority than other candidates in the SGPM candidate list of the current block. In this case, the priority of the first SGPM candidate may be higher than the priority of the second SGPM candidate.

[0250] For example, the length k of the SGPM candidate list can be 16. For example, n can be 26 and m can be 3. The above k can use a predefined value or can be set differently based on the size of the current block.

[0251] For example, the k value can be set differently based on the block size as follows.

[0252] Condition block size k Condition 1 If (cbWidth = = 4 && cbHeight = = 4) First value (ex. 4) Condition 2 Else if ( cbWidth = = 4 | | cbHeight = = 4 ) | | ( cbWidth = = 8 && cbHeight = = 8 ) Second value (ex. 8) Condition 3 Else Third value (ex. 16)

[0253] The maximum value of the above SGPM candidate index can also be variably set based on the size of the current block. For example, the maximum value of the SGPM candidate index can be set equal to k-1. For example, when the above condition 1 is satisfied, the SGPM candidate index can be binarized based on truncated rice or truncated unary, and the maximum length of the empty string of the SGPM candidate index can be equal to k-1.

[0254] As described above, the SGPM candidate list can be reordered based on SAD (cost), in which case a template containing neighboring samples can be utilized. Here, SAD can represent the SAD (cost) between the template's predicted and reconstructed samples. For example, the template size can be fixed to 1. Alternatively, the template size can be 2 to 4.

[0255] Figure 15 shows an example of an SGPM template.

[0256] Referring to FIG. 15, a template may include an upper template and a left template. The upper template may be located above the current block, and the left template may be located to the left of the current block. Prediction may be performed on each SGPM candidate for the template to derive the SAD cost, and the SGPM candidate list may be reordered in order of candidates with lower costs. For example, as described above, the first SGPM candidate and the second SGPM candidate may be assigned a higher priority without reordering.

[0257] Meanwhile, one of the upper template and the left template may be selectively used. For example, template type information indicating the upper template, the left template, or the left / upper template may be signaled. Alternatively, the template type may be determined based on the block size or shape.

[0258] In order to derive m intra prediction modes for SGPM, a method such as intra mode derivation used in constructing an intra-inter GPM list can be used, in which case the TIMD derivation mode can be replaced with a horizontal / vertical derivation mode. Alternatively, the m intra prediction modes for SGPM can include intra prediction modes of an MPM (PMPM) list. Alternatively, the m intra prediction modes for SGPM can include at least one of a vertical mode, a horizontal mode, a planar mode, a DC mode, or a directional planar mode. Meanwhile, the directional planar mode can include a planar horizontal mode and / or a planar horizontal mode. When the SGPM is applied to the current block, the directional planar mode may not be available.

[0259] Meanwhile, the SGPM candidate list may include regression-based SGPM candidates. For example, n (e.g., 4) regression-based SGPM candidates may be included in the SGPM candidate list. The regression-based SGPM candidates may be assigned earlier (with a lower index value) with a higher priority than the general SGPM candidates in the SGPM candidate list. For example, the regression-based SGPM candidate may be assigned earlier (with a lower index value) in the SGPM candidate list with a higher priority than the first SGPM candidate and / or the second SGPM candidate. The regression-based SGPM candidate may include two intra prediction modes in the PMPM list and six block vectors derived from neighboring blocks.

[0260] When a regression-based SGPM candidate is selected, the predicted blocks for each partition can be weight-blended to generate the final predicted block. Here, the weights for the regression-based SGPM can be derived based on an integer blending matrix. The weights (e.g., integer blending matrix) can be derived based on the top and left sample line templates of the current block.

[0261] When a regression-based SGPM candidate is selected for the current block, the DIMD derived intra prediction mode for the current block may also be used as an intra mode for transform kernel selection.

[0262] SGPM can be applied to limited block sizes. For example, SGPM can be applied to blocks that satisfy the following conditions:

[0263] 4<=width<=64, 4<=height<=64, width <height*8, height<width*8 and / or width*height> =32

[0264] Adaptive blending can be applied for SGPM. Whether adaptive blending is applied can be signaled by a PPS level flag (e.g., adaptive blending flag). If the PPS level flag has a predetermined value (e.g., 1), the adaptive blending can be applied. When the adaptive blending is applied, the blending depth (blending parameter) can be derived, for example, as follows.

[0265] If min(width, height)==4, (1 / 2)τ is selectedelse if min(width, height)==8, τ is selectedelse if min(width, height)==16, 2τ is selectedelse if min(width, height)==32, 4τ is selectedelse, 8 τ is selected.

[0266] If the above PPS level flag is 0, fixed blending can be applied with (1 / 4)τ as the blending parameter for all sizes.

[0267] The adaptive blending enabled flag is signaled in the higher-level syntax (e.g., SPS syntax), and the adaptive blending applied flag can be signaled in at least one of PPS, PH, or SH. For example, for images with specific image characteristics such as SCC (screen content coding), it may be preferable in terms of signaling to control on / off with the enabled flag at the sequence level rather than sending the flag every time at the picture level.

[0268] Whether SGPM is applied can be signaled based on the SGPM flag. For example, the SGPM enabled flag, which indicates whether SGPM is available, can be signaled in a higher-level syntax (e.g., SPS syntax), and if the SGPM enabled flag is 1, the SGPM flag can be signaled. As another example, the SGPM enabled flag, which indicates whether SPGM is available, can be signaled in a higher-level syntax (e.g., SPS syntax), and if the SGPM enabled flag is 1, the SGPM applied flag, which indicates whether SPGM is applied, can be signaled in a higher-level syntax (e.g., PPS syntax), and if the SGPM applied flag is 1, the SGPM flag can be signaled. In this case, the SGPM flag can be signaled in the CU syntax.

[0269] When the SGPM flag is 1, index information (e.g., an SGPM index) indicating one of the k SGPM candidates can be signaled. The SGPM index may be referred to as an intra SGPM index. In this case, the index information may be coded based on fixed-length (FL) binarization or truncated binary (TB) binarization. The following table shows an example of SGPM index signaling.

[0270]

[0271] The SGPM flag (sgpm_flag) can be signaled when the SGPM availability flag or the SGPM application flag is 1. The SGPM index (sgpm_index or sgpm_idx) can be signaled when the value of the SGPM flag is 1.

[0272] The above SGPM index may be coded on a context basis. Alternatively, the above SGPM index may be coded on a bypass basis.

[0273] For example, the context model can be directed based on the context index increment (ctxInc), and the ctxInc for a bin of the SGPM index (sgpm_index or sgpm_idx) can be determined, for example, as follows.

[0274]

[0275] The above SGPM index may have four bins, and each of the four bins may be encoded / decoded based on bypass coding. For example, the first bin of the SGPM index may be coded based on context, and at least one of the remaining bins of the SGPM index may be coded based on bypass.

[0276] Meanwhile, the k candidates can be divided into two groups and the SGPM transposed flag and / or SGPM mode information can be signaled.

[0277] For example, when the SGPM prefix flag is 1, i) the partition angle and / or ii) the prediction mode A / B may be inverted. In other words, the candidate indicated by the SGPM index information may be different depending on the value of the SGPM prefix flag. In this case, the first candidate indicated by the SGPM mode information when the SGPM prefix flag is 0 and the second candidate indicated when the SGPM prefix flag is 1 may be different. The first candidate and the second candidate may be inverted when i) the partition angle and / or ii) the intra prediction mode A / B. When the partition angle is inverted, the partition angle may be flipped based on the horizontal / vertical direction or based on the diagonal direction. The prediction mode inversion may indicate that the prediction mode A of the first partition and the prediction mode B of the second partition are inverted.

[0278] Figure 16 illustrates the difference between candidates according to the SGPM prefix flag.

[0279] Referring to FIG. 16, depending on the value of the SGPM prefix flag, i) the partition angle and / or ii) the intra prediction mode A / B indicated by the SGPM mode (or SGPM index) may change. For example, the partition angle may remain the same, but the intra prediction mode assignments of the two partitions may be switched. In other words, when the value of the SGPM prefix flag is 0, the first intra prediction mode may be assigned to the first partition, and the second intra prediction mode may be assigned to the second partition, and when the value of the SGPM prefix flag is 1, the first intra prediction mode may be assigned to the second partition, and the second intra prediction mode may be assigned to the first partition. The first partition may be a partition to which a partition index 0 is assigned, and the second partition may be a partition to which a partition index 1 is assigned. For example, the first partition may be a partition covering a lower left sample or an upper left sample of the current block. In another example, the intra prediction mode assignments of two partitions may remain the same, but only the partition angles may change. In another example, not only the partition angles but also the intra prediction mode assignments of two partitions may change.

[0280] Specifically, for example, when the SGPM prefix flag is 0, the partition mode indicated by the first candidate indicated by the SGPM mode (SGPM index) information is #0, and the prediction mode A of the first partition is the first prediction mode (e.g., horizontal prediction mode) and the prediction mode B of the second partition is the second prediction mode (e.g., vertical prediction mode), then the partition mode indicated by the second candidate indicated by the SGPM mode (SGPM index) information when the SGPM prefix flag is 1 may be #36 and / or the prediction mode A of the first partition may be the second prediction mode and the prediction mode B of the second partition may be the first prediction mode.

[0281] The following table provides examples of signaling of SGPM-related information.

[0282]

[0283] The SGPM preposition flag (sgpm_gransposed_flag) can indicate whether the SGPM (candidate) has been prepositioned. The SGPM mode (sgpm_mode) information can indicate the SGPM mode. The SGPM mode information can be called SGPM index information. The SGPM preposition flag can be called the preposition flag or the intra-SGPM preposition flag, and the SGPM mode can be called the intra-SGPM mode.

[0284] The above SGPM prefix flag can be coded based on FL binarization, and the SGPM mode information can be coded based on FL binarization or TB (truncated binary) binarization.

[0285] The above SGPM flag (sgpm_flag) can be coded based on context information (or context model). In this case, the context information can be set differently based on the block size. For example, the context model can be indicated based on the context information, and the context information can be based on the context index increment. For example, different context index increments can be assigned based on a comparison of block width and height, and the context information (or context model) can be set differently based on this.

[0286] The ctxInc for the bin of the above SGPM flag can be determined, for example, as follows.

[0287]

[0288] Additionally, as an example, both the SGPM prefix flag and the SGPM mode information can be coded on a bypass basis. In this case, the bin-specific ctxInc of the SGPM prefix flag and the SGPM mode information can be determined, for example, as follows.

[0289]

[0290] As another example, the SGPM prefix flag may be coded based on context information, and the SGPM mode information may be coded based on bypass. In this case, the bin-specific ctxInc of the SGPM prefix flag and the SGPM mode information may be determined, for example, as follows.

[0291]

[0292] According to the above method, the SGPM prefix flag can be coded based on context, and a coding gain can be obtained compared to the case of bypass coding based on the existing SGPM index.

[0293] As another example, the SGPM prefix flag and the SGPM mode information may be coded based on context information.

[0294] Meanwhile, as described above, the SGPM availability flag can be signaled at the SPS level, and if the SGPM availability flag is 1, the SGPM application flag and / or the SGPM flag can be signaled. If the SGPM availability flag is 0, the signaling of the SGPM application flag and / or the SGPM flag can be omitted, in which case the value of the SGPM application flag and / or the SGPM flag can be inferred as 0. For example, rather than signaling whether to apply SGPM by sending a flag every time at the picture level (PPS level) or block level depending on the video type and characteristics, SGPM on / off can be performed at once with the availability flag at the sequence level (SPS level).

[0295] Meanwhile, when SGPM is applied to the current block, it is necessary to decide which mode is stored as the intra prediction mode for deriving the transformation kernel of the current block and the intra mode of the surrounding blocks.

[0296] For example, the first mode derived by applying DIMD to samples predicted by SGPM can be stored as an intra-prediction mode for deriving transformation kernels, etc. While this approach offers high accuracy, it can also lead to complexity and delay issues, necessitating the consideration of a simplified approach.

[0297] As another example, among the two intra-prediction modes derived by SGPM, the intra-prediction mode of the second partition, located to the right or bottom, can be stored as the intra-prediction mode of the current block. This is because, among the first and second partitions of the current block, the intra-prediction mode of the second partition may actually have a higher correlation with the next block.

[0298] As another example, depending on the partition mode of the SGPM, the intra prediction mode of either the first or second partition can be variably stored as the intra prediction mode of the current block. In this case, the intra prediction mode of the partition with a larger area can be used. Depending on the SGPM partition mode, the proportion of the current block occupied by the first and second partitions may differ, and the intra prediction mode of the partition with a higher proportion of the current block can be stored as the intra prediction mode of the current block.

[0299] As another example, if the intra prediction mode of the first partition is referred to as the first intra prediction mode and the intra prediction mode of the second partition is referred to as the second intra prediction mode, then the current block is predicted block-by-block based on the first intra prediction mode and the second intra prediction mode used in SGPM, and then the block predicted according to SGPM is compared with the block predicted according to the first intra prediction mode, and the block predicted according to SGPM is compared with the block predicted according to the second intra prediction mode, and the intra prediction mode having the minimum SAD (cost) or SATD (cost) can be stored as the intra prediction mode of the current block. That is, the SAD for the current block (for the current block prediction) can be calculated for the two intra prediction modes derived by SGPM, and the intra prediction mode having the lower SAD can be regarded as the intra prediction mode of the corresponding block.

[0300] As another example, the first derived mode according to the existing DIMD technique described above can be stored as an intra mode of the current block. The first derived mode according to the existing DIMD technique can represent the first derived mode derived based on the HoG for the template of the current block.

[0301] Meanwhile, when SGPM is applied, at least one of the partitions can be predicted (e.g. intraTMP, etc.) based on a block vector.

[0302] Figure 17 shows an example of a case where IntraTMP is applied to a partition of the current block to which SGPM is applied.

[0303] Referring to Fig. 17, a first intra prediction mode may be applied to a first partition of a current block to which SGPM is applied, and an intra-TMP may be applied to a second partition. In this case, the first partition may be predicted based on the first intra prediction to derive a first prediction partition, and block vector-based prediction may be performed on the second partition based on the intra-TMP to derive a second prediction partition. A prediction block for the current block may be derived based on the first prediction partition and the second prediction partition.

[0304] For example, IntraTMP can be applied to one or both of the first and second partitions. However, for example, to reduce complexity, IntraTMP can be applied only to the second partition, as the first partition has a high correlation with the left and upper spatial surrounding samples.

[0305] Even if the current slice is an intra-slice, IntraTMP can be used in SGPM. Since the existing Inter-GPM is not applicable to intra-slices, it is necessary to apply IntraTMP to partitions in SGPM applied to intra-slices to perform prediction based on block vectors.

[0306] That is, specific information indicating whether or not IntraTMP is applied to SGPM and / or the applicable partition can be signaled. The specific information can be expressed as the SGPM IntraTMP application flag or sgpm_intraTMP_flag. The specific information can also be signaled when the current slice is an intra slice.

[0307] Meanwhile, an availability flag indicating whether intraTMP is available to SGPM can be signaled in higher-level syntax (e.g., SPS, PPS). If the value of the availability flag is 0, signaling of the SGPM intraTMP application flag or sgpm_intraTMP_flag can be omitted.

[0308] Alternatively, an availability flag indicating whether a block vector is available for the SGPM block or at least one of its partitions may be signaled in the higher-level syntax (e.g., SPS, PPS). If the value of the availability flag is 0, signaling of the SGPM intraTMP application flag or sgpm_intraTMP_flag may be omitted.

[0309] According to the above-described embodiment(s), intra prediction can be performed based on geometric partitions for a current block, thereby improving intra prediction performance for the current block. In addition, by efficiently performing intra prediction mode signaling for the partition shape and partition, and controlling the on / off of SGPM in the upper-level syntax, additional information can be reduced. In addition, by using different intra prediction modes for each partition, or by generating prediction partitions using block vectors, and by fusion or blending the prediction partitions using the same, a (final) prediction block for the current block can be generated, thereby improving intra prediction performance. In addition, for a current block on which intra prediction is performed for each partition, an intra prediction mode stored and / or an intra prediction mode used for selecting a transformation kernel of the current block can be efficiently determined.

[0310] FIG. 18 schematically illustrates a video / image encoding method according to an embodiment(s) of the present disclosure. The method disclosed in FIG. 18 may be performed by the encoding device disclosed in FIG. 2. Specifically, for example, S1800 to S1850 of FIG. 18 may be performed by the prediction unit (220) of the encoding device (200), and S1860 of FIG. 18 may be performed by the entropy encoding unit (240) of the encoding device (200). The method disclosed in FIG. 18 may include the embodiments described above in the present disclosure.

[0311] Referring to FIG. 18, the encoding device determines a partition mode for the current block (S1800). The partition mode may include one of the partition modes for the SGPM described above. The encoding device may derive intra prediction modes corresponding to the partition mode. Alternatively, the encoding device may derive an intra prediction mode and a BV corresponding to the partition mode. Alternatively, the encoding device may derive BVs corresponding to the partition mode. The BV may be derived based on an intraTMP.

[0312] The encoding device derives a first partition and a second partition for the current block based on the partition mode (S1810). The partition mode may represent a geometric partition. The size / shape of the first partition may be different from the size / shape of the second partition.

[0313] The encoding device generates a first prediction partition for the first partition (S1820). The first prediction partition may be generated based on at least one of a first intra prediction mode or a first block vector. The first prediction partition may be referred to as a first predictor.

[0314] The encoding device generates a second prediction partition for the second partition (S1830). The second prediction partition may be generated based on at least one of a second intra prediction mode or a second block vector. The second prediction partition may be referred to as a second predictor. The second block vector may be referred to as a block vector to distinguish it from the first block vector.

[0315] For example, the first prediction partition is generated based on the first intra prediction mode, the second prediction partition is generated based on the second intra prediction mode, and the second intra prediction mode may be different from the first intra prediction mode.

[0316] For example, the first prediction partition may be generated based on the first intra prediction mode, and the second prediction partition may be generated based on the second block vector. For example, based on a case where the type of the slice in which the current block is located is an intra slice, the first prediction partition may be generated based on the first intra prediction mode, and the second prediction partition may be generated based on the second block vector.

[0317] For example, the first prediction partition may be generated based on the first block vector, and the second prediction partition may be generated based on the second intra prediction mode. For example, based on a case where the type of the slice in which the current block is located is an intra slice, the first prediction partition may be generated based on the first block vector, and the second prediction partition may be generated based on the second intra prediction mode.

[0318] The encoding device generates a prediction block for the current block based on the first prediction partition and the second prediction partition (S1840). The encoding device may generate the prediction block based on fusion or blending of the first prediction partition and the second prediction partition. In this case, a blending parameter may be used.

[0319] The encoding device generates prediction-related information for the current block (S1850). The prediction-related information may include various pieces of information described above. The prediction-related information may include information disclosed in the tables described above. The prediction-related information may include the SGPM-related information described above. For example, the prediction-related information may include at least one of an SGPM flag, a partition mode index, a first intra prediction mode index, a second intra prediction mode index, an SGPM (candidate) index, an adaptive blending availability flag, an SGPM prefix flag, SGPM mode information, an SGPM availability flag, an SGPM application flag, or an SGPM intraTMP flag.

[0320] For example, the prediction-related information may include at least one of a partition mode index, a first intra-prediction mode index, or a second intra-prediction mode index. When SGPM is applied (when the value of the SGPM flag is 1), at least one of the partition mode index, the first intra-prediction mode index, or the second intra-prediction mode index may be signaled. The partition mode index may indicate the partition mode, the first intra-prediction mode index may indicate the first intra-prediction mode, and the second intra-prediction mode index may indicate the second intra-prediction mode. When the partition mode index indicates a specific partition mode, the prediction-related information may not include at least one of the first intra-prediction mode index or the second intra-prediction mode index. Based on a case where the prediction-related information does not include the second intra-prediction mode index, the second intra-prediction mode may be derived based on the first intra-prediction mode. In this case, the second intra-prediction mode may be perpendicular to the first intra-prediction mode. Alternatively, the second intra prediction mode may be predetermined as the diagonal intra prediction mode. The diagonal intra prediction mode may include at least one of a left-downward diagonal intra prediction mode, a left-upward diagonal intra prediction mode, or a right-upward diagonal intra prediction mode.

[0321] As another example, the prediction-related information may include SGPM index information. The SGPM index information may be referred to as SGPM candidate index information. When SGPM is applied (when the value of the SGPM flag is 1), the SGPM index may be signaled. In this case, the SGPM index may indicate a combination of a partition mode (index), a first intra prediction mode (index), and a second intra prediction mode (index). The SGPM index information may indicate one SGPM candidate among the SGPM candidates in the SGPM candidate list. The SGPM candidate may indicate at least one of the partition mode, the first intra prediction mode, or the second intra prediction mode for the current block.

[0322] The above SGPM index information can be binarized based on FL or truncated binary (TB). For example, the SGPM index information can be coded based on bypass.

[0323] The above prediction-related information further includes SGPM flag information for the current block, and the SGPM index information can be signaled when the value of the SGPM flag information is 1. In this case, for example, the SGPM flag information can be context-based coded, and the SGPM index information can be bypass-based coded.

[0324] The length of the above SGPM candidate list may be variably set based on the size of the current block. The maximum length of the empty string of the SGPM candidate index may be determined differently based on the size of the current block.

[0325] The above SGPM candidate list includes specific SGPM candidates derived based on the surrounding blocks of the current block, and the surrounding blocks can be coded based on SGPM or based on GPM (geometric partitioning mode).

[0326] If the surrounding block is coded based on SGPM, the SGPM candidate of the surrounding convexity can be used as the specific SGPM candidate. If the surrounding block is coded based on GPM, the specific SGPM candidate can be derived based on the partition mode of the GPM candidate of the surrounding block. In other words, even if the surrounding block is coded based on GPM, which is one of the inter prediction techniques, the specific SGPM candidate can also be derived based on the GPM candidate of the surrounding block.

[0327] For example, the SGPM candidate list may include a first SGPM candidate derived based on a first neighboring block of the current block and a second SGPM candidate derived based on a second neighboring block of the current block. In this case, the first neighboring block may be coded based on an SGPM, and the second neighboring block may be coded based on an SGPM. In this case, within the SGPM candidate list, the first SGPM candidate may have a higher priority than the second SGPM candidate.

[0328] Additionally, for example, the SGPM candidate list includes a regression-based SGPM candidate, and the regression-based SGPM candidate can be derived based on an intra prediction mode within a most probable mode (MPM) list or an intra prediction mode of a surrounding block.

[0329] Additionally, a specific flag indicating whether adaptive blending is applied to the current block may be signaled through a picture parameter set or a sequence parameter set. When the specific flag is 1, the prediction block is generated based on adaptive blending of the first prediction partition and the second prediction partition, and a blending parameter for the adaptive blending may be derived based on the width and height of the current block. When the specific flag is 0, the prediction block may be generated based on the first prediction partition, the second prediction partition, and a fixed blending parameter.

[0330] The above prediction-related information may include an SGPM (spatial geometric partitioning mode) prefix flag and SGPM mode information. When the SGPM prefix flag is 0, the SGPM mode information may indicate a general SGPM candidate. When the SGPM prefix flag is 1, the SGPM mode information may indicate a prefixed SGPM candidate. That is, depending on the value of the SGPM prefix flag, i) the partition angle and / or ii) the intra prediction mode A / B indicated by the SGPM mode (or SGPM index) may change. For example, the partition angle may remain the same, but the intra prediction mode assignments of the two partitions may be changed. In other words, when the value of the GPM prefix flag is 0, the first intra prediction mode may be assigned to the first partition, and the second intra prediction mode may be assigned to the second partition, and when the value of the SGPM prefix flag is 1, the first intra prediction mode may be assigned to the second partition, and the second intra prediction mode may be assigned to the first partition. The first partition may be a partition to which a partition index 0 is assigned, and the second partition may be a partition to which a partition index 1 is assigned. As an example, the first partition may be a partition covering a lower left sample or an upper left sample of the current block. As another example, the intra prediction mode assignments of the two partitions may remain the same, but only the partition angles may be changed. As yet another example, not only the partition angles but also the intra prediction mode assignments of the two partitions may be changed.

[0331] The above SGPM prefix flag can be coded based on FL binarization, and the SGPM mode information can be coded based on FL binarization or TB (truncated binary) binarization.

[0332] The above SGPM flag (sgpm_flag) can be coded based on context information (or context model). In this case, the context information can be set differently based on the block size. For example, the context model can be indicated based on the context information, and the context information can be based on the context index increment. For example, different context index increments can be assigned based on a comparison of block width and height, and the context information (or context model) can be set differently based on this.

[0333] Also, as an example, both the SGPM prefix flag and the SGPM mode information may be coded based on bypass. As another example, the SGPM prefix flag may be coded based on context information, and the SGPM mode information may be coded based on bypass. As another example, the SGPM prefix flag and the SGPM mode information may be coded based on context information.

[0334] For example, the SGPM available flag can be signaled at the SPS level, and if the SGPM available flag is 1, the SGPM applied flag and / or the SGPM flag can be signaled. If the SGPM available flag is 0, the signaling of the SGPM applied flag and / or the SGPM flag can be omitted, in which case the value of the SGPM applied flag and / or the SGPM flag can be inferred as 0. For example, rather than signaling whether to apply SGPM by sending a flag every time at the picture level (PPS level) or block level depending on the video type and characteristics, SGPM on / off can be performed at once with the available flag at the sequence level (SPS level).

[0335] When SGPM is applied to the current block, it is possible to set which mode is stored as the intra prediction mode for deriving the transformation kernel of the current block and the intra mode of the surrounding blocks. The intra prediction mode stored for the current block may be the second intra prediction mode or an intra prediction mode derived based on DIMD for the current block.

[0336] For example, the first mode derived by applying DIMD to samples predicted by SGPM can be stored as an intra-prediction mode for deriving transformation kernels, etc. While this approach offers high accuracy, it can also lead to complexity and delay issues, necessitating the consideration of a simplified approach.

[0337] As another example, among the two intra-prediction modes derived by SGPM, the intra-prediction mode of the second partition, located to the right or bottom, can be stored as the intra-prediction mode of the current block. This is because, among the first and second partitions of the current block, the intra-prediction mode of the second partition may actually have a higher correlation with the next block.

[0338] As another example, depending on the partition mode of the SGPM, the intra prediction mode of either the first or second partition can be variably stored as the intra prediction mode of the current block. In this case, the intra prediction mode of the partition with a larger area can be used. Depending on the SGPM partition mode, the proportion of the current block occupied by the first and second partitions may differ, and the intra prediction mode of the partition with a higher proportion of the current block can be stored as the intra prediction mode of the current block.

[0339] As another example, if the intra prediction mode of the first partition is referred to as the first intra prediction mode and the intra prediction mode of the second partition is referred to as the second intra prediction mode, then the current block is predicted block-by-block based on the first intra prediction mode and the second intra prediction mode used in SGPM, and then the block predicted according to SGPM is compared with the block predicted according to the first intra prediction mode, and the block predicted according to SGPM is compared with the block predicted according to the second intra prediction mode, and the intra prediction mode having the minimum SAD (cost) or SATD (cost) can be stored as the intra prediction mode of the current block. That is, the SAD for the current block (for the current block prediction) can be calculated for the two intra prediction modes derived by SGPM, and the intra prediction mode having the lower SAD can be regarded as the intra prediction mode of the corresponding block.

[0340] As another example, the first derived mode according to the existing DIMD technique described above can be stored as an intra mode of the current block. The first derived mode according to the existing DIMD technique can represent the first derived mode derived based on the HoG for the template of the current block.

[0341] The encoding device encodes image information including the prediction-related information (S1860). For example, the prediction-related information may include CU syntax for the current block. The image information may be referred to as video information.

[0342] Additionally, the image information may include various information according to embodiments of the present disclosure. For example, the image information may include information disclosed in at least one of the tables described above.

[0343] Meanwhile, the image information may include residual information. The residual information is information about residual samples. The residual information may include information about quantized transform coefficients for the residual samples.

[0344] Encoded video information can be output in the form of a bitstream. The bitstream can be transmitted to a decoding device via a network or storage medium. For example, video data including the bitstream can be transmitted to a decoding device via a transmission device (or transmission unit). In this case, the video data including the bitstream can be transmitted to the decoding device via a streaming server.

[0345] In addition, as described above, the encoding device can generate a reconstructed picture (including reconstructed samples and a reconstructed block) based on the reference samples and the residual samples. This is to derive the same prediction result as that performed by the decoding device from the encoding device, thereby increasing coding efficiency. Accordingly, the encoding device can store the reconstructed picture (or reconstructed samples, reconstructed block) in memory and use it as a reference picture for inter prediction. As described above, an in-loop filtering procedure, etc. can be further applied to the reconstructed picture.

[0346] According to the above-described embodiment(s), intra prediction can be performed based on geometric partitions for a current block, thereby improving intra prediction performance for the current block. In addition, by efficiently performing intra prediction mode signaling for the partition shape and partition, and controlling the on / off of SGPM in the upper-level syntax, additional information can be reduced. In addition, by using different intra prediction modes for each partition, or by generating prediction partitions using block vectors, and by fusion or blending the prediction partitions using the same, a (final) prediction block for the current block can be generated, thereby improving intra prediction performance. In addition, for a current block on which intra prediction is performed for each partition, an intra prediction mode stored and / or an intra prediction mode used for selecting a transformation kernel of the current block can be efficiently determined.

[0347] FIG. 19 schematically illustrates a video / image decoding method according to an embodiment(s) of the present disclosure. The method disclosed in FIG. 19 may be performed by the decoding device disclosed in FIG. 3. Specifically, for example, S1900 of FIG. 19 may be performed by the entropy decoding unit (310) of the decoding device (300), and S1910 to S1950 may be performed by the prediction unit (330) of the decoding device (300). The method disclosed in FIG. 19 may include the embodiments described above in the present disclosure.

[0348] Referring to FIG. 19, the decoding device obtains prediction-related information through the bitstream (S1900). The decoding device can obtain image information including the prediction-related information through the bitstream. The image information may further include residual information as described above.

[0349] The above prediction-related information may include information disclosed in the above-described tables. The above-described prediction-related information may include the above-described SGPM-related information. For example, the prediction-related information may include at least one of an SGPM flag, a partition mode index, a first intra prediction mode index, a second intra prediction mode index, an SGPM (candidate) index, an adaptive blending availability flag, an SGPM prefix flag, SGPM mode information, an SGPM availability flag, an SGPM application flag, or an SGPM intraTMP flag.

[0350] For example, the prediction-related information may include at least one of a partition mode index, a first intra-prediction mode index, or a second intra-prediction mode index. When SGPM is applied (when the value of the SGPM flag is 1), at least one of the partition mode index, the first intra-prediction mode index, or the second intra-prediction mode index may be signaled. The partition mode index may indicate the partition mode, the first intra-prediction mode index may indicate the first intra-prediction mode, and the second intra-prediction mode index may indicate the second intra-prediction mode. When the partition mode index indicates a specific partition mode, the prediction-related information may not include at least one of the first intra-prediction mode index or the second intra-prediction mode index. Based on a case where the prediction-related information does not include the second intra-prediction mode index, the second intra-prediction mode may be derived based on the first intra-prediction mode. In this case, the second intra-prediction mode may be perpendicular to the first intra-prediction mode. Alternatively, the second intra prediction mode may be predetermined as the diagonal intra prediction mode. The diagonal intra prediction mode may include at least one of a left-downward diagonal intra prediction mode, a left-upward diagonal intra prediction mode, or a right-upward diagonal intra prediction mode.

[0351] As another example, the prediction-related information may include SGPM index information. The SGPM index information may be referred to as SGPM candidate index information. When SGPM is applied (when the value of the SGPM flag is 1), the SGPM index may be signaled. In this case, the SGPM index may indicate a combination of a partition mode (index), a first intra prediction mode (index), and a second intra prediction mode (index). The SGPM index information may indicate one SGPM candidate among the SGPM candidates in the SGPM candidate list. The SGPM candidate may indicate at least one of the partition mode, the first intra prediction mode, or the second intra prediction mode for the current block.

[0352] The above SGPM index information can be binarized based on FL or truncated binary (TB). For example, the SGPM index information can be coded based on bypass.

[0353] The above prediction-related information further includes SGPM flag information for the current block, and the SGPM index information can be signaled when the value of the SGPM flag information is 1. In this case, for example, the SGPM flag information can be context-based coded, and the SGPM index information can be bypass-based coded.

[0354] The length of the above SGPM candidate list may be variably set based on the size of the current block. The maximum length of the empty string of the SGPM candidate index may be determined differently based on the size of the current block.

[0355] The above SGPM candidate list includes specific SGPM candidates derived based on the surrounding blocks of the current block, and the surrounding blocks can be coded based on SGPM or based on GPM (geometric partitioning mode).

[0356] If the surrounding block is coded based on SGPM, the SGPM candidate of the surrounding convexity can be used as the specific SGPM candidate. If the surrounding block is coded based on GPM, the specific SGPM candidate can be derived based on the partition mode of the GPM candidate of the surrounding block. In other words, even if the surrounding block is coded based on GPM, which is one of the inter prediction techniques, the specific SGPM candidate can also be derived based on the GPM candidate of the surrounding block.

[0357] For example, the SGPM candidate list may include a first SGPM candidate derived based on a first neighboring block of the current block and a second SGPM candidate derived based on a second neighboring block of the current block. In this case, the first neighboring block may be coded based on an SGPM, and the second neighboring block may be coded based on an SGPM. In this case, within the SGPM candidate list, the first SGPM candidate may have a higher priority than the second SGPM candidate.

[0358] Additionally, for example, the SGPM candidate list includes a regression-based SGPM candidate, and the regression-based SGPM candidate can be derived based on an intra prediction mode within a most probable mode (MPM) list or an intra prediction mode of a surrounding block.

[0359] Additionally, a specific flag indicating whether adaptive blending is applied to the current block may be signaled through a picture parameter set or a sequence parameter set. When the specific flag is 1, the prediction block is generated based on adaptive blending of the first prediction partition and the second prediction partition, and a blending parameter for the adaptive blending may be derived based on the width and height of the current block. When the specific flag is 0, the prediction block may be generated based on the first prediction partition, the second prediction partition, and a fixed blending parameter.

[0360] The above prediction-related information may include an SGPM (spatial geometric partitioning mode) prefix flag and SGPM mode information. When the SGPM prefix flag is 0, the SGPM mode information may indicate a general SGPM candidate. When the SGPM prefix flag is 1, the SGPM mode information may indicate a prefixed SGPM candidate. That is, depending on the value of the SGPM prefix flag, i) the partition angle and / or ii) the intra prediction mode A / B indicated by the SGPM mode (or SGPM index) may change. For example, the partition angle may remain the same, but the intra prediction mode assignments of the two partitions may be changed. In other words, when the value of the GPM prefix flag is 0, the first intra prediction mode may be assigned to the first partition, and the second intra prediction mode may be assigned to the second partition, and when the value of the SGPM prefix flag is 1, the first intra prediction mode may be assigned to the second partition, and the second intra prediction mode may be assigned to the first partition. The first partition may be a partition to which a partition index 0 is assigned, and the second partition may be a partition to which a partition index 1 is assigned. As an example, the first partition may be a partition covering a lower left sample or an upper left sample of the current block. As another example, the intra prediction mode assignments of the two partitions may remain the same, but only the partition angles may be changed. As yet another example, not only the partition angles but also the intra prediction mode assignments of the two partitions may be changed.

[0361] The above SGPM prefix flag can be coded based on FL binarization, and the SGPM mode information can be coded based on FL binarization or TB (truncated binary) binarization.

[0362] The above SGPM flag (sgpm_flag) can be coded based on context information (or context model). In this case, the context information can be set differently based on the block size. For example, the context model can be indicated based on the context information, and the context information can be based on the context index increment. For example, different context index increments can be assigned based on a comparison of block width and height, and the context information (or context model) can be set differently based on this.

[0363] Also, as an example, both the SGPM prefix flag and the SGPM mode information may be coded based on bypass. As another example, the SGPM prefix flag may be coded based on context information, and the SGPM mode information may be coded based on bypass. As another example, the SGPM prefix flag and the SGPM mode information may be coded based on context information.

[0364] For example, the SGPM available flag can be signaled at the SPS level, and if the SGPM available flag is 1, the SGPM applied flag and / or the SGPM flag can be signaled. If the SGPM available flag is 0, the signaling of the SGPM applied flag and / or the SGPM flag can be omitted, in which case the value of the SGPM applied flag and / or the SGPM flag can be inferred as 0. For example, rather than signaling whether to apply SGPM by sending a flag every time at the picture level (PPS level) or block level depending on the video type and characteristics, SGPM on / off can be performed at once with the available flag at the sequence level (SPS level).

[0365] When SGPM is applied to the current block, it is possible to set which mode is stored as the intra prediction mode for deriving the transformation kernel of the current block and the intra mode of the surrounding blocks. The intra prediction mode stored for the current block may be the second intra prediction mode or an intra prediction mode derived based on DIMD for the current block.

[0366] For example, the first mode derived by applying DIMD to samples predicted by SGPM can be stored as an intra-prediction mode for deriving transformation kernels, etc. While this approach offers high accuracy, it can also lead to complexity and delay issues, necessitating the consideration of a simplified approach.

[0367] As another example, among the two intra-prediction modes derived by SGPM, the intra-prediction mode of the second partition, located to the right or bottom, can be stored as the intra-prediction mode of the current block. This is because, among the first and second partitions of the current block, the intra-prediction mode of the second partition may actually have a higher correlation with the next block.

[0368] As another example, depending on the partition mode of the SGPM, the intra prediction mode of either the first or second partition can be variably stored as the intra prediction mode of the current block. In this case, the intra prediction mode of the partition with a larger area can be used. Depending on the SGPM partition mode, the proportion of the current block occupied by the first and second partitions may differ, and the intra prediction mode of the partition with a higher proportion of the current block can be stored as the intra prediction mode of the current block.

[0369] As another example, if the intra prediction mode of the first partition is referred to as the first intra prediction mode and the intra prediction mode of the second partition is referred to as the second intra prediction mode, then the current block is predicted block-by-block based on the first intra prediction mode and the second intra prediction mode used in SGPM, and then the block predicted according to SGPM is compared with the block predicted according to the first intra prediction mode, and the block predicted according to SGPM is compared with the block predicted according to the second intra prediction mode, and the intra prediction mode having the minimum SAD (cost) or SATD (cost) can be stored as the intra prediction mode of the current block. That is, the SAD for the current block (for the current block prediction) can be calculated for the two intra prediction modes derived by SGPM, and the intra prediction mode having the lower SAD can be regarded as the intra prediction mode of the corresponding block.

[0370] As another example, the first derived mode according to the existing DIMD technique described above can be stored as an intra mode of the current block. The first derived mode according to the existing DIMD technique can represent the first derived mode derived based on the HoG for the template of the current block.

[0371] The decoding device derives a partition mode for the current block based on the prediction-related information (S1910). The partition mode may include one of the partition modes for the SGPM described above. The decoding device may derive intra prediction modes corresponding to the partition mode. Alternatively, the decoding device may derive an intra prediction mode and a BV corresponding to the partition mode. Alternatively, the decoding device may derive BVs corresponding to the partition mode. The BV may be derived based on an intra-TMP.

[0372] The decoding device derives a first partition and a second partition for the current block based on the partition mode (S1920). The partition mode may represent a geometric partition. The size / shape of the first partition may be different from the size / shape of the second partition.

[0373] The decoding device generates a first prediction partition for the first partition (S1930). The first prediction partition may be generated based on at least one of the first intra prediction mode or the first block vector. The first prediction partition may be referred to as a first predictor.

[0374] The decoding device generates a second prediction partition for the second partition (S1940). The second prediction partition may be generated based on at least one of a second intra prediction mode or a second block vector. The second prediction partition may be referred to as a second predictor. The second block vector may be referred to as a block vector to distinguish it from the first block vector.

[0375] For example, the first prediction partition is generated based on the first intra prediction mode, the second prediction partition is generated based on the second intra prediction mode, and the second intra prediction mode may be different from the first intra prediction mode.

[0376] For example, the first prediction partition may be generated based on the first intra prediction mode, and the second prediction partition may be generated based on the second block vector. For example, based on a case where the type of the slice in which the current block is located is an intra slice, the first prediction partition may be generated based on the first intra prediction mode, and the second prediction partition may be generated based on the second block vector.

[0377] For example, the first prediction partition may be generated based on the first block vector, and the second prediction partition may be generated based on the second intra prediction mode. For example, based on a case where the type of the slice in which the current block is located is an intra slice, the first prediction partition may be generated based on the first block vector, and the second prediction partition may be generated based on the second intra prediction mode.

[0378] The decoding device generates a prediction block for the current block based on the first prediction partition and the second prediction partition (S1950). The decoding device may generate the prediction block based on the fusion or blending of the first prediction partition and the second prediction partition. In this case, a blending parameter may be used.

[0379] As described above, in some cases, a prediction sample filtering procedure may be further performed on all or part of the prediction blocks (prediction samples) of the current block.

[0380] The decoding device can generate reconstructed samples based on prediction samples of the current block. For example, the decoding device can generate the reconstructed samples for the current block based on residual samples for the current block and the prediction samples. The residual samples for the current block can be generated based on received residual information. In addition, the decoding device can generate a reconstructed picture including the reconstructed samples, for example. As described above, an in-loop filtering procedure, etc. can be further applied to the reconstructed picture.

[0381] According to the above-described embodiment(s), intra prediction can be performed based on geometric partitions for a current block, thereby improving intra prediction performance for the current block. In addition, by efficiently performing intra prediction mode signaling for the partition shape and partition, and controlling the on / off of SGPM in the upper-level syntax, additional information can be reduced. In addition, by using different intra prediction modes for each partition, or by generating prediction partitions using block vectors, and by fusion or blending the prediction partitions using the same, a (final) prediction block for the current block can be generated, thereby improving intra prediction performance. In addition, for a current block on which intra prediction is performed for each partition, an intra prediction mode stored and / or an intra prediction mode used for selecting a transformation kernel of the current block can be efficiently determined.

[0382] Although the methods described in the above-described embodiments are described based on a flowchart as a series of steps or blocks, the embodiments are not limited to the order of the steps, and some steps may occur in a different order or simultaneously with other steps described above. Furthermore, those skilled in the art will appreciate that the steps depicted in the flowchart are not exclusive, and that other steps may be included or one or more steps in the flowchart may be deleted without affecting the scope of the embodiments of the present disclosure.

[0383] The method according to the embodiments of the present disclosure described above can be implemented in the form of software, and the encoding device and / or decoding device according to the present disclosure can be included in a device that performs image processing, such as a TV, a computer, a smartphone, a set-top box, a display device, etc.

[0384] The embodiments of the present disclosure described above may also be implemented in the form of a recording medium containing computer-executable (program) instructions, such as program modules, executed by a computer. The modules may be stored in a memory and executed by a processor. The memory may be internal or external to the processor and may be connected to the processor by various well-known means. Computer-readable media may be any available media that can be accessed by a computer, and includes both volatile and nonvolatile media, removable and non-removable media. Furthermore, computer-readable media may include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storing information, such as computer-readable instructions, data structures, program modules, or other data. Communication media typically includes computer-readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave, or other transport mechanism, and includes any information delivery media.

[0385] In addition, the embodiments of the present disclosure described above may be implemented as a computer program (or computer program product) including computer-executable instructions. The computer program includes programmable machine instructions processed by the processor, and may be implemented in a high-level programming language, an object-oriented programming language, assembly language, or machine language. In addition, the computer program may be recorded on a tangible computer-readable recording medium (e.g., memory, a hard disk, a magnetic / optical medium, or a solid-state drive (SSD), etc.).

[0386] Accordingly, the embodiments of the present disclosure described above can be implemented by executing the computer program described above on a computing device. The computing device may include a processor, memory, a storage device, a high-speed interface connecting the memory and a high-speed expansion port, and at least some of a low-speed interface connecting the low-speed bus and the storage device. Each of these components is connected to one another using various buses and may be mounted on a common motherboard or in another suitable manner.

[0387] Here, the processor can process instructions within the computing device, such as instructions stored in a memory or storage device to display graphical information for providing a graphical user interface (GUI) on an external input / output device, such as a display connected to a high-speed interface. In another embodiment, multiple processors and / or multiple buses may be utilized, as appropriate, together with multiple memories and memory types. The processor may also be implemented as a chipset comprising multiple independent analog and / or digital processors.

[0388] Memory also stores information within a computing device. For example, memory may consist of volatile memory units or a collection of volatile memory units. For another example, memory may consist of nonvolatile memory units or a collection of nonvolatile memory units. Memory may also be another form of computer-readable media, such as magnetic or optical disks.

[0389] A storage device can provide a large amount of storage space to a computing device. The storage device can be a computer-readable medium or a configuration including such a medium, and can include, for example, devices within a storage area network (SAN) or other configurations, and can be a floppy disk device, a hard disk device, an optical disk device, a tape device, flash memory, or other similar semiconductor memory device or device array.

[0390] Additionally, the network may be implemented as a wired network such as a Local Area Network (LAN), a Wide Area Network (WAN), or a Value Added Network (VAN), or as a wireless network of various types such as a mobile radio communication network or a satellite communication network.

[0391] Although the present disclosure has been described above with reference to the embodiments illustrated in the drawings, these are merely exemplary, and those skilled in the art will understand that various modifications and variations of the embodiments are possible from the above-described embodiments. In other words, the scope of the present disclosure is not limited to the above-described embodiments, and various modifications and improvements made by those skilled in the art using the basic concepts of the embodiments defined in the following claims also fall within the scope of the embodiments. Therefore, the true technical protection scope of the present disclosure should be determined by the technical spirit of the appended claims.

Claims

1. In a video decoding method performed by a decoding device, A step of obtaining prediction-related information through a bitstream; A step of deriving a partition mode for the current block based on the above prediction-related information; A step of deriving a first partition and a second partition for the current block based on the above partition mode; A step of generating a first prediction partition for the first partition; a step of generating a second prediction partition for the second partition; and A step of generating a prediction block for the current block based on the first prediction partition and the second prediction partition, The above first prediction partition is generated based on at least one of the first intra prediction mode or the first block vector, A method for decoding an image, characterized in that the second prediction partition is generated based on at least one of a second intra prediction mode or a second block vector.

2. In paragraph 1, The above first prediction partition is generated based on the first intra prediction mode, The second prediction partition is generated based on the second intra prediction mode, A video decoding method, characterized in that the second intra prediction mode is different from the first intra prediction mode.

3. In paragraph 2, The above prediction related information includes at least one of a partition mode index, a first intra prediction mode index, or a second intra prediction mode index, The above partition mode index indicates the above partition mode, The above first intra prediction mode index represents the first intra prediction mode, A video decoding method, characterized in that the second intra prediction mode index indicates the second intra prediction mode.

4. In paragraph 3, If the above partition mode index indicates a specific partition mode, A video decoding method, characterized in that the prediction related information does not include at least one of the first intra prediction mode index or the second intra prediction mode index.

5. In paragraph 4, A video decoding method, characterized in that the second intra prediction mode is derived based on the first intra prediction mode, based on a case where the prediction related information does not include the second intra prediction mode index.

6. In paragraph 2 The above prediction-related information includes SGPM (spatial geometric partitioning mode) index information, The above SGPM index information indicates one SGPM candidate among the SGPM candidates in the SGPM candidate list, A video decoding method, characterized in that the SGPM candidate indicates at least one of the partition mode, the first intra prediction mode or the second intra prediction mode for the current block.

7. In paragraph 6, An image decoding method, characterized in that the above SGPM index information is binarized based on TB (truncated binary).

8. In paragraph 6, The above prediction related information further includes SGPM flag information for the current block, The above SGPM index information is signaled when the value of the above SGPM flag information is 1, The above SGPM flag information is context-based coded, A video decoding method, characterized in that the above SGPM index information is coded based on bypass.

9. In Article 6 A video decoding method, characterized in that the length of the above SGPM candidate list is variably set based on the size of the current block.

10. In Article 6 An image decoding method, characterized in that the maximum length of the empty string of the above SGPM candidate index is determined differently based on the size of the current block.

11. In paragraph 6, The above SGPM candidate list includes specific SGPM candidates derived based on the surrounding blocks of the current block, An image decoding method, characterized in that the above peripheral blocks are coded based on SGPM or based on GPM (geometric partitioning mode).

12. In Article 11 If the above surrounding block is coded based on SGPM, the SGPM candidate of the surrounding convex is used as the specific SGPM candidate, An image decoding method, characterized in that when the surrounding block is coded based on GPM, the specific SGPM candidate is derived based on the partition mode of the GPM candidate of the surrounding block.

13. In paragraph 11, The above SGPM candidate list includes a first SGPM candidate derived based on the first surrounding block of the current block and a second SGPM candidate derived based on the second surrounding block of the current block, The above first peripheral block is coded based on SGPM, The above second peripheral block is coded based on GPM, A video decoding method, characterized in that, within the above SGPM candidate list, the first SGPM candidate has a higher priority than the second SGPM candidate.

14. In paragraph 6, The above SGPM candidate list includes regression-based SGPM candidates, An image decoding method, characterized in that the above regression-based SGPM candidate is derived based on an intra prediction mode within an MPM (most probable mode) list or an intra prediction mode of a surrounding block.

15. In paragraph 1, A specific flag indicating whether adaptive blending is applied to the current block is signaled via the picture parameter set or the sequence parameter set, When the above specific flag is 1, the prediction block is generated based on adaptive blending of the first prediction partition and the second prediction partition, and the blending parameters for the adaptive blending are derived based on the width and height of the current block, A video decoding method, characterized in that when the specific flag is 0, the prediction block is generated based on the first prediction partition, the second prediction partition, and a fixed blending parameter.

16. In paragraph 2 The above prediction-related information includes SGPM (spatial geometric partitioning mode) prefix flag and SGPM mode information, If the above SGPM prefix flag is 0, the above SGPM mode information indicates a general SGPM candidate, A video decoding method, characterized in that when the SGPM prefix flag is 1, the SGPM mode information indicates a prefixed SGPM candidate.

17. In paragraph 1, A video decoding method, characterized in that the intra prediction mode stored for the current block is the second intra prediction mode or an intra prediction mode derived based on DIMD for the current block.

18. In paragraph 1, A video decoding method, characterized in that the first prediction partition is generated based on the first block vector, and the second prediction partition is generated based on the second intra prediction mode, based on a case where the type of the slice in which the current block is located is an intra slice.

19. In a video encoding method performed by an encoding device, Step for determining the partition mode for the current block; A step of deriving a first partition and a second partition for the current block based on the above partition mode; A step of generating a first prediction partition for the first partition; A step of generating a second prediction partition for the second partition; A step of generating a prediction block for the current block based on the first prediction partition and the second prediction partition; A step of generating prediction related information for the current block; and Comprising a step of encoding image information including the above prediction-related information, The above first prediction partition is generated based on at least one of the first intra prediction mode or the first block vector, A method for encoding an image, characterized in that the second prediction partition is generated based on at least one of a second intra prediction mode or a second block vector.

20. In a transmission method for video data, A method for encoding an image comprises: obtaining a bitstream generated by a video encoding method, the method comprising: determining a partition mode for a current block; deriving a first partition and a second partition for the current block based on the partition mode; generating a first prediction partition for the first partition; generating a second prediction partition for the second partition; generating a prediction block for the current block based on the first prediction partition and the second prediction partition; generating prediction-related information for the current block; and encoding video information including the prediction-related information; and Comprising a step of transmitting image data including the above bitstream, The above first prediction partition is generated based on at least one of the first intra prediction mode or the first block vector, A transmission method, characterized in that the second prediction partition is generated based on at least one of a second intra prediction mode or a second block vector.

Citation Information

Patent Citations

  • Brake pad and disk brake system comprising the same

    KR1020230157881A

  • Fuel cell stack structure and fuel cell system having the fuel cell stack structure

    KR102680450B1

  • Method for stabilizing color of Platycodon grandiflourm flower extracts having anti-inflammation, skin regeneration, and skin soothing effects

    KR102870466B1

  • KR20230079199A