Video encoding / decoding method based on intra-picture prediction, bitstream transmission method, and recording medium storing the bitstream
The video encoding/decoding method addresses the need for efficient compression by limiting intra-frame prediction to a predetermined range of reference samples, enhancing encoding/decoding efficiency and ECM intra-prediction for high-resolution, high-quality video.
Patent Information
- Application Number
- JP2025540247
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-01-09
- Filing Date
- 2024-01-08
- Publication Date
- 2026-01-15
AI Technical Summary
The increasing demand for high-resolution, high-quality video has led to a need for more efficient video compression techniques to reduce transmission and storage costs.
A video encoding/decoding method that limits intra-frame prediction to a predetermined range of reference samples, enhancing encoding/decoding efficiency and using intra prediction with adaptive intra prediction blocks.
Improves encoding/decoding efficiency and ECM intra-prediction efficiency, allowing for effective storage and transmission of high-resolution, high-quality video.
Smart Images

Figure 2026501465000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a video encoding / decoding method based on intra-frame prediction, a method for transmitting a bitstream, and a recording medium storing the bitstream, and more particularly to intra-frame prediction mode-based video coding with reference sample constraints. [Background technology]
[0002] In recent years, demand for high-resolution, high-quality video, such as HD (High Definition) video and UHD (Ultra High Definition) video, has been increasing in various fields. As video data becomes higher in resolution and quality, the amount of information or bits to be transmitted increases compared to existing video data. The increase in the amount of information or bits to be transmitted leads to an increase in transmission costs and storage costs.
[0003] Therefore, there is a demand for a highly efficient video compression technique for effectively transmitting, storing, and reproducing high-resolution, high-quality video information. Summary of the Invention [Problem to be solved by the invention]
[0004] An object of the present disclosure is to provide a video encoding / decoding method and apparatus with improved encoding / decoding efficiency.
[0005] Another object of the present disclosure is to provide a video encoding / decoding method and apparatus based on intra prediction and limited reference samples.
[0006] Another object of the present disclosure is to provide a video encoding / decoding method and apparatus with improved efficiency of ECM (enhanced compression model) intra-picture (intra) prediction.
[0007] Another object of the present disclosure is to provide a non-transitory computer-readable recording medium that stores a bitstream generated by the video encoding method or apparatus according to the present disclosure.
[0008] Another object of the present disclosure is to provide a non-transitory computer-readable recording medium that stores a bitstream that is received and decoded by a video decoding device according to the present disclosure and is used to restore a video.
[0009] Another object of the present disclosure is to provide a method for transmitting a bitstream generated by the video encoding method or apparatus according to the present disclosure.
[0010] The technical problems to be solved by the present disclosure are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by a person having ordinary skill in the art to which the present disclosure pertains from the following description. [Means for solving the problem]
[0011] A video decoding method according to one aspect of the present disclosure includes (comprises; configures; constructs; sets; encompasses; contains; has) a step of determining an intra-frame prediction mode for a current block, and a step of performing intra-frame prediction based on the determined intra-frame prediction mode to generate a prediction block for the current block, and the intra-frame prediction may be limited to be performed using only reference samples within a predetermined range of available reference samples for the current block.
[0012] A video encoding method according to one aspect of the present disclosure includes a step of determining an intra-frame prediction mode of a current block, and a step of encoding prediction mode information of the current block based on the determined intra-frame prediction mode, wherein the intra-frame prediction mode may be determined using only reference samples within a predetermined range of available reference samples of the current block.
[0013] A computer-readable recording medium according to yet another aspect of the present disclosure can store a bitstream generated by the video encoding method or video encoding device of the present disclosure.
[0014] A transmission method according to yet another aspect of the present disclosure can transmit a bitstream generated by the video encoding device or video encoding method of the present disclosure.
[0015] The above briefly summarized features of the present disclosure are merely exemplary aspects of the following detailed description of the present disclosure and are not intended to limit the scope of the present disclosure. [Effects of the Invention]
[0016] According to the present disclosure, it is possible to provide a video encoding / decoding method and apparatus with improved encoding / decoding efficiency.
[0017] Furthermore, according to the present disclosure, it is possible to provide a video encoding / decoding method and apparatus based on intra prediction and limited reference samples.
[0018] Furthermore, according to the present disclosure, it is possible to provide a video encoding / decoding method and apparatus capable of generating an adaptive intra prediction block for a reference sample area during intra prediction.
[0019] Furthermore, according to the present disclosure, it is possible to provide a video encoding / decoding method and apparatus with improved ECM intra-prediction efficiency.
[0020] Furthermore, according to the present disclosure, it is possible to provide a non-transitory computer-readable recording medium that stores a bitstream generated by the video encoding method or apparatus according to the present disclosure.
[0021] In addition, according to the present disclosure, it is possible to provide a non-transitory computer-readable recording medium that stores a bitstream that is received and decoded by a video decoding device according to the present disclosure and used to restore a video.
[0022] Furthermore, according to the present disclosure, it is possible to provide a method for transmitting a bitstream generated by a video encoding method or apparatus according to the present disclosure.
[0023] The effects obtained by the present disclosure are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those having ordinary skill in the art to which the present disclosure pertains from the following description. [Brief explanation of the drawings]
[0024] [Figure 1] 1 is a schematic diagram illustrating a video coding system to which embodiments of the present disclosure can be applied; [Figure 2] 1 is a schematic diagram illustrating a video encoding device to which an embodiment of the present disclosure can be applied. [Figure 3] FIG. 1 is a schematic diagram illustrating a video decoding device to which an embodiment of the present disclosure can be applied. [Figure 4] 10 is a flowchart illustrating an example of a method for signaling intra-prediction modes in an encoding device. [Figure 5] 10 is a flowchart illustrating an example of an intra-prediction mode determination method in a decoding device. [Figure 6] FIG. 10 is a diagram showing an example of a peripheral block used for MPM list guidance. [Figure 7] FIG. 1 is a diagram illustrating an example of an intra-frame prediction method applicable to the present disclosure. [Figure 8] FIG. 10 is a diagram illustrating an example of a block for vertical planar prediction according to one embodiment of the present disclosure. [Figure 9] FIG. 10 is a diagram illustrating an example of an MPM mode-based neighboring block search position in an 8x8 block according to one embodiment of the present disclosure. [Figure 10] 1 is a diagram illustrating a video encoding method and / or a video decoding method according to an embodiment of the present disclosure. [Figure 11] FIG. 1 is a diagram illustrating an example of an intra-frame prediction method applicable to the present disclosure. [Figure 12]FIG. 2 is a diagram illustrating an example of a block for horizontal planar prediction according to one embodiment of the present disclosure. [Figure 13] 10A and 10B are diagrams illustrating exemplary search positions of neighboring blocks for MPM when applying an embodiment of the present disclosure to an 8x8 block according to an embodiment of the present disclosure. [Figure 14] 1 is a diagram illustrating a video encoding method and / or a video decoding method according to an embodiment of the present disclosure. [Figure 15] 10A and 10B are diagrams illustrating an example of a method of combining an intra-frame prediction method that performs prediction centered on an upper reference sample and an intra-frame prediction method that performs prediction centered on a left reference sample according to an embodiment of the present disclosure. [Figure 16] 10A and 10B are diagrams illustrating an example of an intra-prediction block and its surrounding reference sample area according to an embodiment of the present disclosure. [Figure 17] FIG. 10 is a diagram illustrating an example of neighboring block search positions for MPM when the proposed method is applied to an 8x8 block according to one embodiment of the present disclosure. [Figure 18] 1 is a diagram illustrating a video encoding method and / or a video decoding method according to an embodiment of the present disclosure. [Figure 19] 10 is a diagram illustrating a video decoding method that can be performed by a video decoding device according to an embodiment of the present disclosure. [Figure 20] 1 is a diagram illustrating a video encoding method that can be performed by a video encoding device according to an embodiment of the present disclosure. [Figure 21] FIG. 1 is a diagram illustrating a content streaming system to which an embodiment of the present disclosure can be applied. DETAILED DESCRIPTION OF THE INVENTION
[0025] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily implement the present disclosure, but the present disclosure may be embodied in various other forms and is not limited to the embodiments described herein.
[0026] In describing the embodiments of the present disclosure, if it is determined that a specific description of a known configuration or function may obscure the gist of the present disclosure, the detailed description thereof will be omitted. In addition, in the drawings, parts that are not related to the description of the present disclosure will be omitted, and similar parts will be designated by similar reference numerals.
[0027] In this disclosure, when one component is "coupled," "coupled," or "connected" to another component, this may include not only a direct connection, but also an indirect connection where there is another component between them. Furthermore, when one component is described as "including" or "having" another component, this does not exclude the other component, but means that the other component may also be included, unless otherwise specified.
[0028] In this disclosure, terms such as "first" and "second" are used only to distinguish one component from another, and do not limit the order or importance of the components unless otherwise specified. Therefore, within the scope of this disclosure, a first component in one embodiment may be referred to as a second component in another embodiment, and similarly, a second component in one embodiment may be referred to as a first component in another embodiment.
[0029] In this disclosure, components that are distinguished from one another are used to clearly describe the characteristics of each component and do not necessarily mean that the components are separate. That is, multiple components may be integrated into a single hardware or software unit, or a single component may be distributed into multiple hardware or software units. Therefore, even if not specifically stated, such integrated or distributed embodiments are also included within the scope of this disclosure.
[0030] In this disclosure, the components described in various embodiments are not necessarily essential components, and some may be optional components. Therefore, an embodiment consisting of a subset of the components described in one embodiment is also within the scope of this disclosure. Furthermore, an embodiment including other components in addition to the components described in various embodiments is also within the scope of this disclosure.
[0031] This disclosure relates to video encoding and decoding, and terms used in this disclosure may have ordinary meanings commonly used in the field of technology to which this disclosure pertains unless they are newly defined in this disclosure.
[0032] In this disclosure, a "picture" generally refers to a unit representing one video image in a specific time period, a slice / tile is a coding unit constituting a part of a picture, and one picture may be composed of one or more slices / tiles. In addition, a slice / tile may include one or more coding tree units (CTUs).
[0033] In this disclosure, a "pixel" or a "pel" may refer to the smallest unit constituting one picture (or image). A "sample" may also be used as a term corresponding to a pixel. A sample may generally represent a pixel or a pixel value, and may represent only a pixel / pixel value of a luma component, or may represent only a pixel / pixel value of a chroma component.
[0034] In this disclosure, a "unit" may refer to a basic unit of video processing. A unit may include at least one of a specific region of a picture and information related to that region. A unit may also be referred to as a "sample array," "block," or "area," depending on the situation. In general, an MxN block may include a set (or array) of samples (or sample arrays) or transform coefficients consisting of M columns and N rows.
[0035] In this disclosure, a "current block" may refer to one of a "current coding block," a "current coding unit," a "block to be coded," a "block to be decoded," or a "block to be processed." When prediction is performed, a "current block" may refer to a "current predicted block" or a "block to be predicted." When transformation (inverse transformation) / quantization (inverse quantization) is performed, a "current block" may refer to a "current transformed block" or a "block to be transformed." When filtering is performed, a "current block" may refer to a "block to be filtered."
[0036] In this disclosure, unless explicitly stated as a chroma block, the term "current block" can refer to a block including both a luma component block and a chroma component block, or to the "luma block of the current block." The luma component block of the current block may be explicitly expressed as a "luma block" or a "current luma block," including the explicit statement that it is a luma component block. Also, the chroma component block of the current block may be explicitly expressed as a "chroma block" or a "current chroma block," including the explicit statement that it is a chroma component block.
[0037] In the present disclosure, " / " and "," may be interpreted as "and / or." For example, "A / B" and "A, B" may be interpreted as "A and / or B." Also, "A / B / C" and "A, B, C" may mean "at least one of A, B, and / or C."
[0038] In this disclosure, "or" may be interpreted as "and / or." For example, "A or B" can mean 1) "A" only, 2) "B" only, or 3) "A and B." Alternatively, in this disclosure, "or" can mean "additionally or alternatively."
[0039] Video Coding System Overview
[0040] FIG. 1 is a schematic diagram illustrating a video coding system to which embodiments of the present disclosure can be applied.
[0041] A video coding system according to an embodiment may include an encoding device 10 and a decoding device 20. The encoding device 10 may transmit encoded video and / or image information or data to the decoding device 20 in a file or streaming format via a digital storage medium or a network.
[0042] An encoding device 10 according to an embodiment may include a video source generation unit 11, an encoding unit 12, and a transmission unit 13. A decoding device 20 according to an embodiment may include a reception unit 21, a decoding unit 22, and a rendering unit 23. The encoding unit 12 may be referred to as a video / video encoding unit, and the decoding unit 22 may be referred to as a video / video decoding unit. The transmission unit 13 may be included in the encoding unit 12. The reception unit 21 may be included in the decoding unit 22. The rendering unit 23 may include a display unit, which may be a separate device or an external component.
[0043] The video source generation unit 11 may acquire video / images through a process of capturing, synthesizing, or generating video / images. The video source generation unit 11 may include a video / image capture device and / or a video / image generation device. The video / image capture device may include, for example, one or more cameras, a video / image archive containing previously captured video / images, etc. The video / image generation device may include, for example, a computer, a tablet, a smartphone, etc., and may (electronically) generate video / images. For example, a virtual video / image may be generated by a computer, etc., in which case the video / image capture process may be replaced by a process of generating related data.
[0044] The encoder 12 may encode input video / image data. The encoder 12 may perform a series of procedures such as prediction, transformation, and quantization for compression and encoding efficiency. The encoder 12 may output encoded data (encoded video / image information) in the form of a bitstream.
[0045] The transmitter 13 may acquire encoded video / image information or data output in the form of a bitstream and transmit it to the receiver 21 of the decoding device 20 or other external objects in the form of a file or streaming via a digital storage medium or a network. Digital storage media may include various storage media such as USB, SD, CD, DVD, Blu-ray (registered trademark; the same applies hereinafter), HDD, and SSD. The transmitter 13 may include elements for generating a media file in a predetermined file format and elements for transmission via a broadcasting / communication network. The transmitter 13 may be provided as a transmission device separate from the encoder 12. In this case, the transmission device may include at least one processor for acquiring encoded video / image information or data output in the form of a bitstream and a transmitter for transmitting the same in the form of a file or streaming. The receiver 21 may extract / receive the bitstream from the storage medium or network and transmit it to the decoder 22.
[0046] The decoding unit 22 can decode the video / image by performing a series of procedures such as inverse quantization, inverse transformation, and prediction corresponding to the operations of the encoding unit 12.
[0047] The rendering unit 23 can render the decoded video / image, and the rendered video / image can be displayed on a display unit.
[0048] Overview of video encoding equipment
[0049] FIG. 2 is a schematic diagram illustrating a video encoding device to which an embodiment of the present disclosure can be applied.
[0050] 2, the video encoding device 100 may include a video division unit 110, a subtraction unit 115, a transform unit 120, a quantization unit 130, an inverse quantization unit 140, an inverse transform unit 150, an addition unit 155, a filtering unit 160, a memory 170, an inter prediction unit 180, an intra prediction unit 185, and an entropy encoding unit 190. The inter prediction unit 180 and the intra prediction unit 185 may be collectively referred to as a "prediction unit." The transform unit 120, the quantization unit 130, the inverse quantization unit 140, and the inverse transform unit 150 may be included in a residual processing unit. The residual processing unit may further include a subtraction unit 115.
[0051] Depending on the embodiment, all or at least some of the components constituting the video encoding device 100 may be implemented as a single hardware component (e.g., an encoder or a processor). Also, the memory 170 may include a decoded picture buffer (DPB) and may be implemented as a digital storage medium.
[0052] The video division unit 110 may divide an input video (or picture or frame) input to the video encoding device 100 into one or more processing units. For example, the processing units may be called coding units (CUs). The coding units may be obtained by recursively dividing a coding tree unit (CTU) or a largest coding unit (LCU) using a QT / BT / TT (quad-tree / binary-tree / ternary-tree) structure. For example, one coding unit may be divided into multiple coding units at deeper depths based on a quad-tree structure, a binary tree structure, and / or a ternary tree structure. To divide the coding units, a quad-tree structure may be applied first, and then a binary tree structure and / or a ternary tree structure may be applied later. The coding procedure according to the present disclosure may be performed based on the final coding unit that is not further divided. The largest coding unit may be directly used as the final coding unit, or a lower-depth coding unit obtained by dividing the largest coding unit may be used as the final coding unit. Here, the coding procedure may include procedures such as prediction, transformation, and / or reconstruction, which will be described later. As another example, a processing unit of the coding procedure may be a prediction unit (PU) or a transform unit (TU). The prediction unit and the transform unit may each be divided or partitioned from the final coding unit. The prediction unit may be a unit of sample prediction, and the transform unit may be a unit for deriving transform coefficients and / or a unit for deriving a residual signal from the transform coefficients.
[0053] The prediction unit (inter prediction unit 180 or intra prediction unit 185) may perform prediction on a current block (current block) to be processed and generate a predicted block including prediction samples for the current block. The prediction unit may determine whether intra prediction or inter prediction is applied to the current block or CU. The prediction unit may generate various information related to the prediction of the current block and transmit it to the entropy encoding unit 190. The prediction information may be encoded by the entropy encoding unit 190 and output in the form of a bitstream.
[0054] The intra prediction unit 185 may predict the current block by referring to samples in the current picture. The referenced samples may be located in the neighborhood of the current block or may be located far away from the current block depending on the intra prediction mode and / or intra prediction method. The intra prediction modes may include a plurality of non-directional modes and a plurality of directional modes. The non-directional modes may include, for example, a DC mode and a planar mode. The directional modes may include, for example, 33 directional prediction modes or 65 directional prediction modes depending on the accuracy of the prediction direction. However, this is merely an example, and more or less directional prediction modes may be used depending on the settings. The intra prediction unit 185 may also determine the prediction mode to be applied to the current block using the prediction modes applied to neighboring blocks.
[0055] The inter prediction unit 180 may derive a predicted block for a current block based on a reference block (reference sample array) identified by a motion vector in a reference picture. To reduce the amount of motion information transmitted in inter prediction mode, the motion information may be predicted in units of blocks, sub-blocks, or samples based on correlations between motion information of neighboring blocks and the current block. The motion information may include a motion vector and a reference picture index. The motion information may further include information on an inter prediction direction (e.g., L0 prediction, L1 prediction, or Bi prediction). In the case of inter prediction, the neighboring blocks may include spatial neighboring blocks present in the current picture and temporal neighboring blocks present in the reference picture. The reference picture including the reference block and the reference picture including the temporal neighboring blocks may be the same or different. The temporal neighboring blocks may be referred to as collocated reference blocks, collocated control units (colCUs), etc. The reference picture including the temporal neighboring blocks may be referred to as a collocated picture (colPic). For example, the inter predictor 180 may construct a motion information candidate list based on neighboring blocks and generate information indicating which candidate is used to derive a motion vector and / or a reference picture index for the current block. Inter prediction may be performed based on various prediction modes. For example, in the case of skip mode and merge mode, the inter predictor 180 may use motion information of neighboring blocks as motion information for the current block. In the case of skip mode, unlike in merge mode, a residual signal may not be transmitted.In the case of motion vector prediction (MVP) mode, the motion vector of a neighboring block is used as a motion vector predictor, and the motion vector of the current block can be signaled by encoding a motion vector difference and an indicator for the motion vector predictor. The motion vector difference can mean the difference between the motion vector of the current block and the motion vector predictor.
[0056] The predictor may generate a prediction signal based on various prediction methods and / or prediction techniques, which will be described later. For example, the predictor may apply intra prediction or inter prediction to predict the current block, or may simultaneously apply intra prediction and inter prediction. A prediction method that simultaneously applies intra prediction and inter prediction to predict the current block may be referred to as combined inter and intra prediction (CIIP). The predictor may also perform intra block copy (IBC) to predict the current block. Intra block copy may be used, for example, for coding content images / videos such as games, such as screen content coding (SCC). IBC is a method of predicting a current block using an already reconstructed reference block in a current picture that is located a predetermined distance away from the current block. When IBC is applied, the position of the reference block in the current picture may be coded as a vector (block vector) corresponding to the predetermined distance. IBC basically performs prediction within the current picture, but may be performed similarly to inter prediction in that a reference block is derived within the current picture. That is, IBC can use at least one of the inter prediction techniques described in this disclosure.
[0057] The prediction signal generated by the prediction unit may be used to generate a restored signal or a residual signal. The subtraction unit 115 may subtract the prediction signal (predicted block, predicted sample array) output from the prediction unit from the input video signal (original block, original sample array) to generate a residual signal (residual signal, residual block, residual sample array). The generated residual signal may be transmitted to the conversion unit 120.
[0058] The transform unit 120 may generate transform coefficients by applying a transform technique to the residual signal. For example, the transform technique may include at least one of a Discrete Cosine Transform (DCT), a Discrete Sine Transform (DST), a Karhunen-Loeve Transform (KLT), a Graph-Based Transform (GBT), or a Conditionally Non-linear Transform (CNT). Here, the GBT refers to a transform obtained from a graph when relationship information between pixels is expressed as a graph. The CNT refers to a transform obtained based on a predicted signal generated using all previously reconstructed pixels. The transform process may be applied to pixel blocks having the same square size or to blocks of variable size other than a square.
[0059] The quantization unit 130 may quantize the transform coefficients and transmit the quantized transform coefficients to the entropy encoding unit 190. The entropy encoding unit 190 may 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 referred to as residual information. The quantization unit 130 may rearrange the quantized transform coefficients in a block form into a one-dimensional vector form based on a coefficient scan order, and may generate information about the quantized transform coefficients based on the quantized transform coefficients in the one-dimensional vector form.
[0060] The entropy encoding unit 190 may perform various encoding methods, such as exponential Golomb, context-adaptive variable length coding (CAVLC), context-adaptive binary arithmetic coding (CABAC), etc. The entropy encoding unit 190 may encode information required for video / image restoration (e.g., values of syntax elements) together with or separately from the quantized transform coefficients. The encoded information (e.g., encoded video / video information) may be transmitted or stored in the form of a bitstream in network abstraction layer (NAL) units. The video / video 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). The video / video information may also include general constraint information. The signaling information, transmitted information, and / or syntax elements referred to in this disclosure may be encoded according to the encoding procedures described above and included in the bitstream.
[0061] The bitstream may be transmitted over 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 a USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. A transmitter (not shown) for transmitting and / or a storage unit (not shown) for storing the signal output from the entropy encoding unit 190 may be provided as an internal / external element of the video encoding device 100, or the transmitter may be provided as a component of the entropy encoding unit 190.
[0062] The quantized transform coefficients output from the quantization unit 130 may be used to generate a residual signal. For example, the quantized transform coefficients may be subjected to inverse quantization and inverse transformation in the inverse quantization unit 140 and the inverse transform unit 150, respectively, to reconstruct a residual signal (residual block or residual sample).
[0063] The adder 155 may generate a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array) by adding the reconstructed residual signal to a prediction signal output from the inter prediction unit 180 or the intra prediction unit 185. When there is no residual for the current block to be processed, such as when a skip mode is applied, the predicted block may be used as the reconstructed block. The adder 155 may be referred to as a reconstruction unit or a reconstructed block generation unit. The generated reconstructed signal may be used for intra prediction of the next current block to be processed in the current picture, or may be used for inter prediction of the next picture after filtering, as described below.
[0064] The filtering unit 160 may apply filtering to the reconstructed signal to improve subjective / objective image quality. For example, the filtering unit 160 may apply various filtering methods to the reconstructed picture to generate a modified reconstructed picture and store the modified reconstructed picture in the memory 170, specifically, in the DPB of the memory 170. The various filtering methods may include, for example, deblocking filtering, sample adaptive offset, an adaptive loop filter, a bilateral filter, etc. The filtering unit 160 may generate various information related to filtering and transmit it to the entropy encoding unit 190, as will be described later in the description of each filtering method. The filtering information may be encoded by the entropy encoding unit 190 and output in the form of a bitstream.
[0065] The modified reconstructed picture transmitted to the memory 170 may be used as a reference picture in the inter prediction unit 180. This allows the video encoding device 100 to avoid prediction mismatch between the video encoding device 100 and the video decoding device when inter prediction is applied, and also improves encoding efficiency.
[0066] The DPB in the memory 170 may store a modified reconstructed picture to be used as a reference picture in the inter prediction unit 180. The memory 170 may store motion information of a block from which motion information in the current picture is derived (or encoded) and / or motion information of a block in an already reconstructed picture. The stored motion information may be transmitted to the inter prediction unit 180 to be used as motion information of a spatially neighboring block or a temporally neighboring block. The memory 170 may store reconstructed samples of reconstructed blocks in the current picture and transmit them to the intra prediction unit 185.
[0067] Overview of the video decoder
[0068] FIG. 3 is a schematic diagram illustrating a video decoding device to which an embodiment of the present disclosure can be applied.
[0069] 3, the video decoding apparatus 200 may include an entropy decoding unit 210, an inverse quantization unit 220, an inverse transform unit 230, an adder 235, a filtering unit 240, a memory 250, an inter prediction unit 260, and an intra prediction unit 265. The inter prediction unit 260 and the intra prediction unit 265 may be collectively referred to as a "prediction unit." The inverse quantization unit 220 and the inverse transform unit 230 may be included in a residual processing unit.
[0070] Depending on the embodiment, all or at least some of the components constituting the video decoding device 200 may be implemented as a single hardware component (e.g., a decoder or a processor). Also, the memory 170 may include a DPB and may be implemented as a digital storage medium.
[0071] The video decoding apparatus 200, which receives a bitstream including video / image information, may reconstruct an image by performing a process corresponding to the process performed by the video encoding apparatus 100 of FIG. 2. For example, the video decoding apparatus 200 may perform decoding using a processing unit applied in the video encoding apparatus. Accordingly, the decoding processing unit may be, for example, a coding unit. The coding unit may be a coding tree unit or may be obtained by dividing a maximum coding unit. The reconstructed video signal decoded and output by the video decoding apparatus 200 may be reproduced by a playback device (not shown).
[0072] The video decoding apparatus 200 may receive a signal output from the video encoding apparatus of FIG. 2 in the form of a bitstream. The received signal may be decoded by the entropy decoding unit 210. For example, the entropy decoding unit 210 may parse the bitstream to derive information (e.g., video / video information) necessary for video restoration (or picture restoration). The video / video 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). The video / video information may also include general constraint information. The video decoding apparatus may further use the information on the parameter sets and / or the general constraint information to decode the video. Signaling information, received information, and / or syntax elements referred to in this disclosure may be obtained from the bitstream by being decoded by the decoding procedure. For example, the entropy decoding unit 210 may decode information in a bitstream based on a coding method such as Exponential-Golomb coding, CAVLC, or CABAC, and output values of syntax elements required for image restoration and quantized values of transform coefficients related to residuals. More specifically, the CABAC entropy decoding method receives bins corresponding to each syntax element in the bitstream, determines a context model using information on the syntax element to be decoded, decoding information on neighboring blocks and the block to be decoded, or information on symbols / bins decoded in a previous step, predicts the occurrence probability of bins according to the determined context model, and performs arithmetic decoding of the bins to generate symbols corresponding to the values of each syntax element.In this case, after determining a context model, the CABAC entropy decoding method may update the context model using information about the decoded symbol / bin for the context model of the next symbol / bin. Prediction information from the information decoded by the entropy decoding unit 210 may be provided to a prediction unit (the inter prediction unit 260 and the intra prediction unit 265), and residual values entropy decoded by the entropy decoding unit 210, i.e., quantized transform coefficients and related parameter information, may be input to the inverse quantization unit 220. In addition, filtering information from the information decoded by the entropy decoding unit 210 may be provided to the filtering unit 240. Meanwhile, a receiving unit (not shown) for receiving a signal output from the video encoding device may be further provided as an internal / external element of the video decoding device 200, or the receiving unit may be provided as a component of the entropy decoding unit 210.
[0073] Meanwhile, a video decoding apparatus according to the present disclosure may be referred to as a video / image / picture decoding apparatus. The video decoding apparatus may include an information decoder (video / image / picture information decoder) and / or a sample decoder (video / image / picture sample decoder). The information decoder may include an entropy decoding unit 210, and the sample decoder may include at least one of an inverse quantization unit 220, an inverse transform unit 230, an adder 235, a filtering unit 240, a memory 250, an inter prediction unit 260, and an intra prediction unit 265.
[0074] The inverse quantization unit 220 may inverse quantize the quantized transform coefficients and output the transform coefficients. The inverse quantization unit 220 may rearrange the quantized transform coefficients in a two-dimensional block format. In this case, the rearrangement may be performed based on the coefficient scanning order performed in the video encoding device. The inverse quantization unit 220 may inverse quantize the quantized transform coefficients using a quantization parameter (e.g., quantization step size information) to obtain transform coefficients.
[0075] The inverse transform unit 230 can inversely transform the transform coefficients to obtain a residual signal (residual block, residual sample array).
[0076] The prediction unit may perform prediction on a current block and generate a predicted block including prediction samples for the current block. The prediction unit may determine whether intra prediction or inter prediction is applied to the current block based on the prediction information output from the entropy decoding unit 210, and may determine a specific intra / inter prediction mode (prediction method).
[0077] As mentioned in the description of the prediction unit of the video encoding device 100, the prediction unit can generate a prediction signal based on various prediction methods (techniques) described below.
[0078] The intra predictor 265 may predict the current block by referring to samples in the current picture. The description of the intra predictor 185 may also be applied to the intra predictor 265.
[0079] The inter prediction unit 260 may derive a predicted block for the current block based on a reference block (reference sample array) identified by a motion vector in a reference picture. To reduce the amount of motion information transmitted in inter prediction mode, the motion information may be predicted in units of blocks, sub-blocks, or samples based on correlations between motion information of neighboring blocks and the current block. The motion information may include a motion vector and a reference picture index. The motion information may further include information on an inter prediction direction (e.g., L0 prediction, L1 prediction, Bi prediction, etc.). In the case of inter prediction, the neighboring blocks may include spatial neighboring blocks in the current picture and temporal neighboring blocks in the reference picture. For example, the inter prediction unit 260 may construct a motion information candidate list based on the neighboring blocks and derive a motion vector and / or a reference picture index for the current block based on received candidate selection information. Inter prediction may be performed based on various prediction modes (methods), and the prediction information may include information indicating the inter prediction mode (method) for the current block.
[0080] The adder 235 may generate a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array) by adding the obtained residual signal to a prediction signal (predicted block, predicted sample array) output from a prediction unit (including the inter prediction unit 260 and / or the intra prediction unit 265). When there is no residual for the current block to be processed, such as when a skip mode is applied, the predicted block may be used as the reconstructed block. The description of the adder 155 may also apply to the adder 235. The adder 235 may be referred to as a reconstruction unit or a reconstructed block generation unit. The generated reconstructed signal may be used for intra prediction of the next current block to be processed in the current picture, or may be used for inter prediction of the next picture after undergoing filtering, as described below.
[0081] The filtering unit 240 may apply filtering to the reconstructed signal to improve subjective / objective image quality. For example, the filtering unit 240 may apply various filtering methods to the reconstructed picture to generate a modified reconstructed picture, and may store the modified reconstructed picture in the memory 250, specifically, in a DPB of the memory 250. The various filtering methods may include, for example, deblocking filtering, sample adaptive offset, an adaptive loop filter, a bilateral filter, etc.
[0082] The (modified) reconstructed picture stored in the DPB of the memory 250 may be used as a reference picture in the inter prediction unit 260. The memory 250 may store motion information of a block from which motion information in the current picture is derived (or decoded) and / or motion information of a block in an already reconstructed picture. The stored motion information may be transmitted to the inter prediction unit 260 to be used as motion information of a spatially neighboring block or a temporally neighboring block. The memory 250 may store reconstructed samples of reconstructed blocks in the current picture and transmit them to the intra prediction unit 265.
[0083] In this specification, the embodiments described for the filtering unit 160, inter prediction unit 180, and intra prediction unit 185 of the video encoding device 100 may also be applied identically or correspondingly to the filtering unit 240, inter prediction unit 260, and intra prediction unit 265 of the video decoding device 200, respectively.
[0084] Intra prediction mode / type decision
[0085] When intra prediction is applied, the intra prediction mode to be applied to the current block may be determined using the intra prediction modes of neighboring blocks. For example, the decoding device may select one of the MPM candidates in an MPM (most probable mode) list derived based on the intra prediction modes of neighboring blocks (e.g., left and / or upper neighboring blocks) of the current block and additional candidate modes based on the received MPM index, or may select one of the remaining intra prediction modes not included in the MPM candidates (and planar mode) based on remaining intra prediction mode information. The MPM list may be configured to include or not include a planar mode as a candidate. For example, if the MPM list includes a planar mode as a candidate, the MPM list may have six candidates, and if the MPM list does not include a planar mode as a candidate, the MPM list may have three candidates. If the mpm list does not include a planar mode as a candidate, a not planar flag (e.g., intra_luma_not_planar_flag) indicating that the intra prediction mode of the current block is not a planar mode may be signaled. For example, the mpm flag may be signaled first, and the mpm index and not planar flag may be signaled if the mpm flag has a value of 1. Also, the mpm index may be signaled if the not planar flag has a value of 1. Here, the reason the mpm list is configured not to include a planar mode as a candidate is that, rather than the planar mode not being an mpm, a flag (not planar flag) is first signaled to first check whether or not the planar mode is a planar mode, since the planar mode is always considered as an mpm.
[0086] For example, whether the intra prediction mode applied to the current block is among the MPM candidates (and planar mode) or among the remaining modes may be indicated based on an MPM flag (e.g., intra_luma_mpm_flag). A value of 1 for the MPM flag may indicate that the intra prediction mode for the current block is among the MPM candidates (and planar mode), and a value of 0 for the MPM flag may indicate that the intra prediction mode for the current block is not among the MPM candidates (and planar mode). A value of 0 for the not planar flag (e.g., intra_luma_not_planar_flag) may indicate that the intra prediction mode for the current block is planar mode, and a value of 1 for the not planar flag may indicate that the intra prediction mode for the current block is not planar mode. The mpm index may be signaled in the form of an mpm_idx or intra_luma_mpm_idx syntax element, and the remaining intra prediction mode information may be signaled in the form of a rem_intra_luma_pred_mode or intra_luma_mpm_remainder syntax element. For example, the remaining intra prediction mode information may indicate one of the remaining intra prediction modes not included in the mpm candidates (and planar mode) among all intra prediction modes by indexing them in the order of prediction mode numbers. The intra prediction mode may be an intra prediction mode for a luma component (sample). Hereinafter, the intra prediction mode information may include at least one of the mpm flag (e.g., intra_luma_mpm_flag), the not planar flag (e.g., intra_luma_not_planar_flag), the mpm index (e.g., mpm_idx or intra_luma_mpm_idx), and the remaining intra prediction mode information (rem_intra_luma_pred_mode or intra_luma_mpm_remainder). In this document, the MPM list may be referred to by various terms such as an MPM candidate list, candModeList, etc.When MIP is applied to the current block, a separate mpm flag for MIP (e.g., intra_mip_mpm_flag), mpm index (e.g., intra_mip_mpm_idx), and remaining intra-prediction mode information (e.g., intra_mip_mpm_remainder) may be signaled, and the not planar flag is not signaled.
[0087] The intra-prediction mode signaling procedure in the encoding device and the intra-prediction mode decision procedure in the decoding device may be performed, for example, as follows.
[0088] FIG. 4 is a flowchart illustrating an example of a method for signaling intra-prediction modes in an encoding device.
[0089] Referring to FIG. 4, the encoding apparatus constructs an MPM list for a current block (S400). The MPM list may include candidate intra-prediction modes (MPM candidates) that are likely to be applied to the current block. The MPM list may include intra-prediction modes of neighboring blocks and may further include specific intra-prediction modes according to a predetermined method. Specific methods for constructing the MPM list will be described later.
[0090] The encoding apparatus determines an intra prediction mode for a current block (S410). The encoding apparatus may 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 apparatus may determine the optimal intra prediction mode using only the MPM candidates and planar modes configured in the MPM list, or may determine the optimal intra prediction mode using the remaining intra prediction modes in addition to the MPM candidates and planar modes configured in the MPM list. For example, if the intra prediction type of the current block is not a normal intra prediction type but a specific type (e.g., LIP, MRL, or ISP), the encoding apparatus may determine the optimal intra prediction mode by considering only the MPM candidates and planar modes as intra prediction mode candidates for the current block. That is, in this case, the intra prediction mode for the current block may be determined from among the MPM candidates and planar modes, and in this case, the mpm flag does not need to be encoded / signaled. In this case, the decoding device can infer that the mpm flag is 1 even if the mpm flag is not separately signaled.
[0091] Meanwhile, in general, if the intra prediction mode of the current block is not a planar mode but is one of the MPM candidates in the MPM list, the encoding device generates an mpm index (mpm idx) indicating one of the MPM candidates. If the intra prediction mode of the current block is not in the MPM list, the encoding device generates remaining intra prediction mode information indicating the same mode as the intra prediction mode of the current block from the remaining intra prediction modes not included in the MPM list (and planar modes).
[0092] The encoding apparatus may encode intra-prediction mode information and output it in the form of a bitstream. The intra-prediction mode information may include the above-mentioned MPM flag, not-planar flag, MPM index, and / or remaining intra-prediction mode information. Generally, the MPM index and remaining intra-prediction mode information are alternatives and are not signaled simultaneously when indicating the intra-prediction mode for one block. That is, an MPM flag value of 1 and a not-planar flag or an MPM index are signaled together, or an MPM flag value of 0 and remaining intra-prediction mode information are signaled together. However, as described above, if a specific intra-prediction type is applied to the current block, the MPM flag may not be signaled, and only the not-planar flag and / or the MPM index may be signaled. That is, in this case, the intra-prediction mode information may include only the not-planar flag and / or the MPM index.
[0093] The decoding apparatus can determine the intra-prediction mode according to the intra-prediction mode information determined and signaled by the encoding apparatus.
[0094] FIG. 5 is a flowchart illustrating an example of a method for determining an intra-prediction mode in a decoding device.
[0095] 5, the decoding apparatus obtains intra-prediction mode information from a bitstream (S500). The intra-prediction mode information may include at least one of an mpm flag, a not-planar flag, an mpm index, and a remaining intra-prediction mode, as described above.
[0096] The decoding apparatus constructs an MPM list (S510). The MPM list is constructed in the same manner as the MPM list constructed in the encoding apparatus. That is, the MPM list may include intra-prediction modes of neighboring blocks and may further include a specific intra-prediction mode according to a predetermined method. Specific methods for constructing the MPM list will be described later.
[0097] Although S510 is described as being performed after S500, this is merely an example, and S510 may be performed before S500 or simultaneously with S500.
[0098] The decoding device determines the intra prediction mode of the current block based on the MPM list and the intra prediction mode information (S520). For example, if the mpm flag is set to 1, the decoding device may derive a planar mode as the intra prediction mode of the current block, or may derive a candidate indicated by the mpm index from among MPM candidates in the MPM list (not based on the planar flag) as the intra prediction mode of the current block. For another example, if the mpm flag is set to 0, the decoding device may derive an intra prediction mode indicated by the remaining intra prediction mode information from among the remaining intra prediction modes not included in the MPM list and planar mode as the intra prediction mode of the current block. Meanwhile, for yet another example, if the intra prediction type of the current block is a specific type (e.g., LIP, MRL, or ISP), the decoding device may derive the planar mode or a candidate indicated by the mpm index in the MPM list as the intra prediction mode of the current block without checking the mpm flag.
[0099] For example, the not planar flag may be signaled if the MRL is not applied to the current block (i.e., if intra_luma_ref_idx==0), and the not planar flag may be omitted if the MRL is applied to the current block (i.e., if intra_luma_ref_idx !=0). If the not planar flag is omitted, it may be inferred by the decoding device to have a value of 1.
[0100] Meanwhile, the intra prediction modes may include two directional intra prediction modes and 65 directional prediction modes. The non-directional intra prediction modes may include a planar intra prediction mode and a DC intra prediction mode, and the directional intra prediction modes may include intra prediction modes 2 to 66. The extended directional intra prediction modes may be applied to blocks of all sizes and may be applied to both the luma component and the chroma component.
[0101] Meanwhile, the intra prediction modes may further include a cross-component linear model (CCLM) mode for chroma samples in addition to the above-mentioned intra prediction modes. The CCLM modes may be classified into LT_CCLM, L_CCLM, and T_CCLM depending on whether the left sample, the top sample, or both are considered to derive the LM parameters, and may be applied only to the chroma components.
[0102] The intra prediction modes may be indexed, for example, as shown in Table 1 below.
[0103] [Table 1]
[0104] Meanwhile, the intra prediction type (or additional intra prediction mode, etc.) may include at least one of the above-mentioned LIP, PDPC, MRL, ISP, and MIP. The intra prediction type may be indicated based on intra prediction type information, which may be implemented in various forms. For example, the intra prediction type information may include intra prediction type index information indicating one of the intra prediction types. For another example, the intra prediction type information may include at least one of reference sample line information (e.g., intra_luma_ref_idx) indicating whether the MRL is applied to the current block and, if so, which reference sample line is used; ISP flag information (e.g., intra_subpartitions_mode_flag) indicating whether the ISP is applied to the current block; ISP type information (e.g., intra_subpartitions_split_flag) indicating a subpartition split type when the ISP is applied; flag information indicating whether PDCP is applied; or flag information indicating whether LIP is applied. The intra prediction type information may also include an MIP flag (which may also be referred to as intra_mip_flag) indicating whether MIP is applied to the current block.
[0105] On the other hand, as described above, when MIP is applied to the current block (e.g., when the value of intra_mip_flag is 1), an MPM list for the MIP may be constructed separately, and the MPM flag that may be included in the intra prediction mode information for the MIP may be called intra_mip_mpm_flag, the MPM index may be called intra_mip_mpm_idx, and the remaining intra prediction mode information may be called intra_mip_mpm_remainder.
[0106] Furthermore, various prediction modes may be used for MIP, and a matrix and offset for MIP may be derived depending on the intra prediction mode for MIP. As described above, the matrix may be referred to as a (MIP) weight matrix, and the offset may be referred to as a (MIP) offset vector or a (MIP) bias vector. The number of intra prediction modes for MIP may be set differently based on the size of the current block. For example, i) if the height and width of the current block (e.g., CB or TB) are each 4, 35 intra prediction modes (i.e., intra prediction modes 0 to 34) may be available; ii) if the height and width of the current block are both 8 or less, 19 intra prediction modes (i.e., intra prediction modes 0 to 18) may be available; and iii) in other cases, 11 intra prediction modes (i.e., intra prediction modes 0 to 10) may be available. For example, if the height and width of the current block are each 4, the block size type is 0, if the height and width of the current block are both 8 or less, the block size type is 1, and if not, the block size type is 2. The number of intra prediction modes for MIP may be organized as shown in the following table. However, this is an example, and the block size type and the number of available intra prediction modes may be changed. In this document, the intra prediction mode for MIP may be referred to as MIP intra prediction mode, MIP prediction mode, or MIP mode.
[0107] [Table 2]
[0108] Meanwhile, the enhanced compression model (ECM) introduces a secondary MPM list. The existing primary MPM (PMPM) list consists of six entries, while the secondary MPM (SMPM) list includes 16 entries. First, a general MPM list with 22 entries is constructed, and then the first six entries in the general MPM list are included in the PMPM list, and the remaining entries are included in the SMPM list. In the general MPM list, the first entry is a planar mode, and the remaining entries are the intra modes of the left (L), upper (A), lower left (BL), upper right (AR), and upper left (AL) neighboring blocks, directional modes offset from the first two available directional modes of the neighboring blocks, and a default mode, as shown in FIG. 6.
[0109] When the CU block is vertical, the order of the surrounding blocks may be top (A), left (L), bottom left (BL), top right (AR), and top left (AL), or the order is left (L), top (A), bottom left (BL), top right (AR), and top left (AL).
[0110] The PMPM flag is parsed and if its value is 1, the PMPM index is parsed to determine which entry in the PMPM list is selected, otherwise the SPMPM flag is parsed to determine whether to parse the SPMPM index or the remaining mode.
[0111] Derivation of surrounding reference samples
[0112] When intra prediction is applied to the current block, neighboring reference samples used for intra prediction of the current block may be derived. The neighboring reference samples of the current block may include samples adjacent to the left boundary of the current block having a size of nWxnH and a total of 2xnH samples adjacent to the bottom-left, samples adjacent to the top boundary of the current block and a total of 2xnW samples adjacent to the top-right, and one sample adjacent to the top-left. Alternatively, the neighboring reference samples of the current block may include multiple columns of upper neighboring samples and multiple rows of left neighboring samples. Furthermore, the neighboring reference samples of the current block may include a total of nH samples adjacent to the right boundary of the current block having a size of nWxnH, a total of nW samples adjacent to the bottom boundary of the current block, and one sample adjacent to the bottom-right.
[0113] Meanwhile, when the MRL (Meaning of Line Reordering) described later is applied, the reference samples may be located on lines 1 to 3 adjacent to the current block on the left / top side, instead of line 0. In this case, the number of neighboring reference samples may be further increased. Specific areas and numbers of neighboring reference samples will be described later.
[0114] Meanwhile, when the ISP described below is applied, the neighboring reference samples may be derived in units of sub-partitions.
[0115] Some of the surrounding reference samples of the current block may not yet be decoded or available, in which case the decoder can construct the surrounding reference samples used for prediction by interpolation of the available samples.
[0116] 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 extrapolating available samples. Starting from the bottom left corner, the decoder updates the reference samples to the latest available sample until it reaches the reference sample at the top right corner, and then substitutes or pads pixels that have not yet been decoded or are not available with the latest available sample.
[0117] Intra-prediction mode / type-based prediction sample derivation
[0118] The prediction unit of the encoding device / decoding device can derive reference samples according to the intra prediction mode of the current block from the surrounding reference samples of the current block, and can generate predicted samples of the current block based on the reference samples.
[0119] For example, (i) a predicted sample can be derived based on an average or interpolation of neighboring reference samples of the current block, or (ii) a predicted sample can be derived based on a reference sample located in a specific (prediction) direction relative to the predicted sample among the neighboring reference samples of the current block. Case (i) may be referred to as a non-directional mode or a non-angular mode, and case (ii) as a directional mode or an angular mode. Furthermore, the predicted sample may be generated by interpolating the first and second neighboring samples located in the opposite direction to the prediction direction of the intra-prediction mode of the current block based on the predicted sample of the current block among the neighboring reference samples. This case may be referred to as linear interpolation intra-prediction (LIP). In addition, a temporary prediction sample of the current block may be derived based on filtered neighboring reference samples, and a prediction sample of the current block may be derived by weighting the temporary prediction sample and at least one reference sample derived according to the intra prediction mode among the existing neighboring reference samples, i.e., unfiltered neighboring reference samples. This case may be referred to as position dependent intra prediction (PDPC). Furthermore, intra prediction coding may be performed by selecting a reference sample line with the highest prediction accuracy from multiple reference sample lines surrounding the current block, deriving a prediction sample using a reference sample located in the prediction direction of the selected line, and signaling the used reference sample line to a decoding device. This case may be referred to as multi-reference line intra prediction (MRL) or MRL-based intra prediction. Furthermore, the current block may be divided into vertical or horizontal sub-partitions, and intra prediction may be performed based on the same intra prediction mode, with neighboring reference samples derived and used for each sub-partition.That is, in this case, the intra prediction mode for the current block is applied to the sub-partitions in the same manner, but by deriving and using neighboring reference samples in sub-partition units, it is possible to improve intra prediction performance in some cases. Such a prediction method may be called ISP (intra sub-partitions) or ISP-based intra prediction. Specific details will be described later. Furthermore, when a prediction direction based on a prediction sample indicates neighboring reference samples, i.e., when the prediction direction indicates a fractional sample position, the value of the prediction sample may be derived by interpolating a plurality of reference samples located around the prediction direction (around the fractional sample position).
[0120] The above-described intra prediction methods may be referred to as intra prediction types, distinct from intra prediction modes. The intra prediction types may be referred to by various terms, such as intra prediction techniques or additional intra prediction modes. For example, the intra prediction types (or additional intra prediction modes, etc.) may include at least one of the above-described LIP, PDPC, MRL, and ISP. Information about the intra prediction types may be encoded by an encoding device, included in a bitstream, and signaled to a decoding device. The information about the intra prediction types may be embodied in various forms, such as flag information indicating whether each intra prediction type is applied or index information indicating one of a plurality of intra prediction types.
[0121] The above-described MPM list for deriving an intra prediction mode may be configured differently depending on the intra prediction type, or the MPM list may be configured in common regardless of the intra prediction type.
[0122] Derivation of surrounding reference samples
[0123] When intra prediction is applied to a current block, neighboring reference samples used for intra prediction of the current block may be derived. The neighboring reference samples of the current block may include samples adjacent to the left boundary and bottom-left neighboring samples of the current block having a size of nWxnH, a total of 2xnH samples, samples adjacent to the top boundary and top-right neighboring samples of the current block, and one sample adjacent to the top-left neighboring sample of the current block. Alternatively, the neighboring reference samples of the current block may include multiple columns of upper neighboring samples and multiple rows of left neighboring samples. Furthermore, the neighboring reference samples of the current block may include a total of nH samples adjacent to the right boundary of the current block having a size of nWxnH, a total of nW samples adjacent to the bottom boundary of the current block, and one sample adjacent to the bottom-right neighboring sample of the current block.
[0124] Meanwhile, when MRL (Multiple Reference Line) is applied, the reference samples may be located on lines 1 to 3 adjacent to the current block on the left / top side, instead of line 0. In this case, the number of neighboring reference samples may be further increased. Specific areas and numbers of neighboring reference samples will be described later.
[0125] Meanwhile, when ISP (Intra Sub-Partitions) is applied, the neighboring reference samples may be derived in units of sub-partitions.
[0126] DIMD(Decoder side intra mode derivation)
[0127] In DIMD, intra prediction may be derived as a weighted average of a planar and two guided directions. To achieve this, two angle modes are selected from a histogram of gradients (HoG) calculated from the surrounding pixels of the current block. Once the two modes are selected, their predictors (prediction blocks) and planar predictors are calculated normally, and then the weighted average may be used as the final predictor (final prediction block) for the current block. In this case, the corresponding amplitudes in the HoG are used for each of the two modes to determine the weights.
[0128] The DIMD process may be performed before constructing the MPM list, since the induced intra mode will be included in the primary list of the intra MPM. The primary induced intra mode of a DIMD block may be saved with the block and used to construct the MPM lists of surrounding blocks.
[0129] The DIMD chroma mode may use a DIMD deriving method to derive a chrominance intra-prediction mode for a current block based on reconstructed surrounding Y, Cb, and Cr samples in the second surrounding row and column shown in Figure 12. Specifically, to build an HoG, horizontal and vertical gradients K may be calculated for each collocated reconstructed luma sample of the current chrominance block in addition to the reconstructed Cb and Cr samples. Then, chrominance intra-prediction for the current chrominance block may be performed using the intra-prediction mode with the largest histogram amplitude value.
[0130] If the intra prediction mode derived from the DIMD chroma mode is the same as the intra prediction mode derived from the DM mode, the intra prediction mode with the second largest histogram amplitude value may be used as the DIMD chroma mode. A predetermined CU level flag may be signaled to indicate whether the above-mentioned DIMD chroma mode is to be applied.
[0131] TIMD Fusion (Fusion for template-based intra mode derivation)
[0132] For each intra-prediction mode in the MPM, the SATD between the template's predicted sample and the reconstructed sample may be calculated. The first two intra-prediction modes with the smallest SATD may then be selected as the TIMD mode. These two TIMD modes may be fused using a weighting factor, and this weighted intra-prediction may be used to code the current CU. The TIMD mode may be derived using the position-dependent intra-prediction combination (PDPC) described above.
[0133] The costs of the two selected modes may be compared to a predetermined threshold and a cost factor 2 may be applied as shown in Equation 1 below.
[0134]
number
[0135] If the condition in Equation 1 above is true, the fusion described above may be applied. Conversely, if the condition in Equation 1 above is false, only Mode 1 may be used.
[0136] Meanwhile, the weight value of the mode may be calculated from each SATD cost as shown in Equation 2 below.
[0137]
number
[0138] Intra Prediction Fusion
[0139] Intra prediction derives a predicted sample by weighted combination of multiple predictors (prediction blocks) generated on different reference lines. In this process, multiple intra predictors are generated and fused by weighted averaging. The process of deriving the predictor used in the fusion process is as follows:
[0140] Intra prediction derives a predicted sample by weighted combination of multiple predictors (prediction blocks) generated on different reference lines. In this process, multiple intra predictors are generated and fused by weighted averaging. The process of deriving the predictor used in the fusion process is as follows:
[0141]
number
[0142] The intra prediction fusion method is applied to luma blocks when the directional intra prediction mode has a non-integer gradient (requiring reference sample interpolation) and the block size is greater than 16, and is used with MRL but is not applied to ISP-coded blocks. In addition, PDPC is applied to the intra prediction mode using the closest reference line to the current block.
[0143] The present disclosure relates to intra prediction, and more particularly to a technique for adaptively selecting and applying an intra prediction mode to a reference sample region during directional and non-directional intra prediction. According to an embodiment of the present disclosure, a technique for efficiently combining multiple intra prediction blocks generated using different reference sample regions to improve coding efficiency may be proposed.
[0144] As an example, if the intra prediction mode of the current block is DIMD-based, a new intra prediction block can be generated by combining two prediction blocks, a planar intra prediction block and an intra prediction mode, using HoG distribution analysis of the reference sample of the current block.
[0145] As another example, if the intra prediction mode of the current block is TIMD-based, two intra prediction blocks selected by template matching can be combined with the extended reference sample line of the current block to generate a new intra prediction block.
[0146] As another example, if the intra prediction mode of the current block is based on intra prediction fusion, an intra prediction block can be generated using a selected reference sample line of the current block, and a new prediction block can be generated by applying the same intra prediction mode using a reference sample line directly above the selected reference sample line, and the two prediction blocks can be combined to generate the new prediction block.
[0147] Meanwhile, according to an embodiment of the present disclosure, a predicted block may be generated by selecting only an intra prediction mode that mainly utilizes an upper reference sample of a current block. Similarly, a predicted block may be generated by selecting only an intra prediction mode that mainly utilizes a left reference sample of the current block. The predicted blocks generated in this manner may be combined based on weights to generate one (final) predicted block.
[0148] That is, in one example of the present disclosure, when an intra prediction mode that performs prediction centered on an upper (top) reference sample is used, only an intra prediction mode adaptively selected for the above mode can be selected and applied to a current block. As another example, when an intra prediction mode that performs prediction centered on a left reference sample is used, only an intra prediction mode adaptively selected for the above mode can be selected and applied to a current block. In addition, adaptively combining multiple reference blocks generated in this way can improve the accuracy of intra prediction.
[0149] [Embodiment] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings.
[0150] Example 1
[0151] In this embodiment, a method for generating an intra-predicted block using only an intra-prediction mode that performs prediction based on an above reference sample of a current block is proposed. This will be described with reference to FIG. 10 and other drawings illustrating a video encoding method and / or a video decoding method according to an embodiment of the present disclosure.
[0152] For example, intra prediction, i.e., intra prediction, may be performed using a partially selected mode. The partially selected mode may refer to a mode selected based on the position (e.g., top) of a reference sample, e.g., a mode limited within a specific range. To this end, intra prediction mode candidates associated with the top reference sample may be set (S1010). After step S1010, although not shown in FIG. 10, a decoder may obtain information about the intra prediction mode from a bitstream and determine the intra prediction mode. Meanwhile, an encoder may select and determine an intra prediction mode from the intra prediction mode candidates and encode information about the selected intra prediction mode into the bitstream. Then, it may be determined whether the intra prediction mode of the current block is a specific mode (e.g., planar mode or DC mode) (S1020). If the intra prediction mode of the selected current block is planar mode or DC mode, intra prediction may be applied to the current block based on a modified DC or planar (vertical planar) prediction mode (S1030), and if the intra prediction mode of the selected current block is not planar mode or DC mode, the selected intra prediction mode may be applied to the current block as is (S1040). This will be described in detail with reference to FIGS. 7 to 9.
[0153] Fig. 7 is a diagram illustrating an example of an intra-frame prediction method applicable to the present disclosure. More specifically, Fig. 7 is an example of a method for performing intra-frame prediction using only an upper reference sample, in which the left side, i.e., (A) is a diagram illustrating an example of intra-frame prediction based on an intra-frame prediction direction (for example, number 59 in the case of a VVC base) in an 8x8 block, and the right side (B) is a diagram illustrating the intra-frame prediction direction and number of VVC.
[0154] 7A shows an example of an intra prediction direction (e.g., the 59th intra prediction mode in the case of VVC, see (B) of FIG. 7) that predicts a current block using only an upper (top) reference sample. As shown in FIG. 7, in vertical intra prediction (e.g., the 50th intra prediction mode in the case of VVC), other intra prediction modes (e.g., the 66th intra prediction mode in the case of VVC) can perform intra prediction using only an above reference sample located at the top of the current block. Meanwhile, as another example, when wide-angle intra prediction of VVC is applied, the 50th to 80th modes may be modes that use only the top reference sample.
[0155] In this embodiment, as shown in the above example, intra prediction can be performed by combining only intra prediction modes that perform prediction based on the top reference sample. In this case, an encoder can transmit such corresponding intra prediction information to a decoder. That is, according to this embodiment, a predicted block can be generated by adaptively selecting only intra prediction modes that perform prediction based on the top reference sample and performing intra prediction.
[0156] According to an embodiment of the present disclosure, when performing prediction centered on the top reference sample of the current block, only intra prediction modes within a specific range (e.g., pth to qth) may be used:
[0157] 1. For example, when vertical intra prediction (for example, the 50th mode in the case of VVC) is applied, only intra prediction modes equal to or higher than a specific mode (for example, the 50th mode in the case of VVC) may be used. That is, intra prediction may be performed using intra prediction modes within a specific range (for example, the 50th to 66th prediction modes in the case of VVC, or the 50th to 80th prediction modes when the wide-angle intra prediction mode of VVC is applied).
[0158] 2. As another example, when diagonal intra prediction is applied, only intra prediction modes exceeding a specific mode (e.g., 34th mode in the case of VVC) may be used. That is, intra prediction may be performed using intra prediction modes within a specific range (e.g., 35th to 66th prediction modes in the case of VVC, and 35th to 80th prediction modes when a wide-angle intra prediction mode of VVC is applied).
[0159] 3. As another example, when horizontal intra prediction is applied, only intra prediction modes exceeding a specific mode (eg, 18 in the case of VVC) may be used.
[0160] 4. As another example, when vertical intra prediction is applied, only intra prediction modes equal to or lower than a specific mode (for example, 50 in the case of VVC) may be used. That is, in the case of VVC, only intra prediction modes within a specific range (for example, 19 to 50) may be used.
[0161] That is, as in the above example, intra prediction can be performed using only a specific range of intra prediction modes (e.g., intra prediction modes p to q). For example, p and q may have values within a specific range. For example, p and q may have values from 0 to 80, and p≦q must be satisfied.
[0162] Meanwhile, according to this embodiment, wide-angle intra-prediction mode may or may not be applied. In other words, intra-prediction exceeding the highest numbered mode (for example, 66th in the case of VVC) among general intra-prediction modes may be considered, or only up to the intra-prediction mode of this mode may be used.
[0163] Furthermore, although only directional intra prediction modes have been exemplified above, this is merely one embodiment of the present disclosure, and according to other embodiments, non-directional intra prediction modes such as planar and DC may also be used. Therefore, when applying DC mode, according to the present disclosure, a DC value may be calculated using only the top reference sample of the current block. Also, when applying planar mode, according to the present disclosure, a vertical planar mode may be applied using the following equation. Figure 8 is a diagram illustrating an example of a block for vertical planar prediction according to one embodiment of the present disclosure.
[0164]
number
[0165]
number
[0166] Meanwhile, in this embodiment, when a restriction is placed on the intra prediction mode and intra prediction mode information is signaled, the following exemplary method can be used.
[0167] The intra-picture prediction mode adaptively selected based on the number X of available intra-picture prediction modes may be coded and decoded by appropriate binarization.
[0168] In the above method, X may represent the number of available intra prediction modes according to the embodiment. For example, in the case of a VVC-based system, if only intra prediction modes in the range of 50 to 66 are used and include vertical planar and DC modes among planar modes, X may be 19.
[0169] In this embodiment, for signaling of the selected intra prediction mode, the intra prediction mode may be coded into intra prediction mode information by truncated binary coding based on the number X of intra prediction mode candidates and signaled.
[0170] Alternatively, as in existing video coding standards including HEVC / VVC, an MPM intra prediction mode candidate may be first selected by searching for an intra prediction mode of a neighboring block, and then information on the selected intra prediction mode may be adaptively signaled based on the MPM and non-MPM lists. The following example relates to encoding and decoding an intra prediction mode separately for MPM and non-MPM modes. Figure 9 is a diagram illustrating an example of an MPM mode-based neighboring block search position in an 8x8 block according to an embodiment of the present disclosure.
[0171] As an example, β intra-prediction mode candidates may be selected by first selecting a specific number (hereinafter, β) of MPM intra-prediction modes using the intra-prediction modes of the surrounding blocks. In this case, according to this embodiment, when selecting candidate prediction modes based on the intra-prediction modes of the surrounding blocks, only intra-prediction modes included in an intra-prediction mode range (e.g., pth to qth prediction modes) may be selected as candidate prediction modes. As an example, β may be any number within X (which may represent the number of available intra-prediction modes according to the above embodiment).
[0172] In this case, the MPM index may be binarized using truncated unary binarization and then encoded and decoded. Meanwhile, as an example, when intra prediction mode candidates are selected without using MPM (non-MPM), the selected intra prediction mode candidates (e.g., multiple) may be encoded and decoded using truncated binary binarization. Meanwhile, in the case of using MPM, a default mode (basic mode) may be determined in descending order of frequency of selection from any number of intra prediction mode candidates selected, such as planar (e.g., 0 in the case of VVC), vertical mode (e.g., 50 in the case of VVC), DC (e.g., 1 in the case of VVC), and another specific mode (e.g., 66 in the case of VVC).
[0173] For example, the order and number of intra prediction mode candidates selected using neighboring blocks may follow the selection method in HEVC, VVC, or ECM. The left side of FIG. 9 (A) is a diagram illustrating an example of neighboring block search positions for MPM selection in ECM according to an embodiment of the present disclosure. The right side of FIG. 9 (B) is a diagram illustrating an example for setting neighboring block search positions according to an embodiment of the present disclosure. For example, when three MPMs are selected according to this embodiment, intra prediction candidates may be searched for and selected in the order of blocks including pixels A->AR->AL->AC->TL in the right side of FIG. 9 (B). Here, AC may correspond to a reference sample having an x-coordinate obtained by dividing the width value of the current block by 2.
[0174] Meanwhile, the pixel positions and search order for the above-mentioned MPM search are not limited to this example, and intra prediction candidates may be selected in various ways according to the intra prediction modes of the top and left reference samples. In addition, in order to select more intra prediction candidates, intra prediction candidates may be selected by searching the top and left reference samples of multiple reference sample lines.
[0175] Alternatively, like ECM, a primary MPM and a secondary MPM may be selected as intra prediction mode candidates by searching for an intra prediction mode of a neighboring block. In the following, an example of encoding and decoding the intra prediction mode will be described, with the primary MPM, secondary MPM, and non-MPM modes being classified.
[0176] - β primary MPM (primary MPM) intra prediction modes may be first selected using the intra prediction modes of the surrounding blocks to form β intra prediction mode candidates. In this case, according to this embodiment, only intra prediction modes included in an intra prediction mode range (e.g., specific modes p and q) may be selected. Here, β may be any number within X (which may represent the number of available intra prediction modes according to the above embodiment).
[0177] After all β primary MPM intra prediction modes are selected, γ secondary MPM intra prediction modes may be selected using the intra prediction modes of surrounding blocks to form γ intra prediction mode candidates. In this case, the intra prediction modes included in the secondary MPM may be selected so as not to overlap with the intra prediction modes in the primary MPM. Furthermore, when selecting candidates, only intra prediction modes included in an intra prediction mode range (e.g., between specific modes p and q) may be selected. Here, γ may be any number within X-β.
[0178] The primary MPM and secondary MPM indexes may be binarized and encoded and decoded by truncated unary binarization. The non-MPM (non-MPM) X-β-γ intra prediction modes are It may be encoded and decoded by truncated binary binarization.
[0179] - The default mode in MPM may be determined, for example, based on VVC, in descending order of frequency of selection among X intra-frame prediction modes selected, such as planar (0), vertical mode (50), DC, and other specific modes (e.g., 66).
[0180] Meanwhile, the selection order and number of intra prediction mode candidates for the surrounding blocks may follow the selection method in the ECM, as described above with reference to (A) and (B) of Figures 9, and therefore a repeated description will be omitted.
[0181] Meanwhile, the pixel positions and search order for the primary and secondary MPM search are not limited to this example, and intra prediction candidates can be selected using various methods according to the intra prediction mode in the top and left reference samples. Also, as described above, in order to select more intra prediction candidates, intra prediction candidates can be selected by searching the top and left reference samples of multiple lines.
[0182] According to this embodiment, intra prediction mode encoding and decoding are not limited to the above examples, and various mode encoding and decoding methods can be applied according to the intra prediction mode X used.
[0183] For example, it is possible to determine an intra prediction mode candidate for a current block or to determine an intra prediction mode for a current block based on DIMD or TIMD. That is, it is possible to infer and apply an intra prediction mode candidate or an intra prediction mode for a current block by utilizing neighboring reference samples, as in DIMD or TIMD.
[0184] For example, a mode candidate analogy method used in DIMD may be applied to predict the intra prediction mode of the current block. That is, a pixel gradient may be calculated using only the top reference sample area, and the first or second intra prediction mode obtained from the gradient may be set as the intra prediction mode candidate for the current block. Here, one of the first or second intra prediction mode may be used as is, or, as described in the previous example, may be excluded if it is not included in the X intra prediction modes. If the first or second prediction mode is not included in the X intra prediction modes, only vertical planar prediction may be applied.
[0185] As another example, a mode analogy method used in TIMD may be applied to predict the intra prediction mode of the current block. That is, TIMD template matching may be performed using only the top reference sample area, and as described above, only X intra prediction modes may be considered. Intra prediction mode candidates to which TIMD template matching is applied may be selected based on the MPM, primary MPM, or secondary MPM of the previous embodiment, or all X intra prediction modes may be selected, or may be selected in the same way as the method used in the current TIMD.
[0186] As another example, the existing DIMD mode and the method proposed in this embodiment can be combined to apply the method proposed in this embodiment and simultaneously select and apply the intra prediction mode for the block:
[0187] The planar mode of the existing DIMD may be replaced with a vertical planar mode.
[0188] - The DC of the existing DIMD may be replaced with a method that uses only the upper reference sample.
[0189] The gradient may be calculated using only the top reference samples, and the prediction mode may be selected only from among the X candidate intra prediction modes.
[0190] As another example, the existing TIMD mode and the method proposed in this embodiment can be combined to apply the method proposed in this embodiment, and simultaneously select and apply the intra prediction mode for the block:
[0191] - The planar mode of the existing DIMD may be replaced with a vertical planar mode.
[0192] - The DC of the existing DIMD may be replaced with a method that uses only the upper reference sample.
[0193] - TIMD template matching may be performed using only the top reference sample region.
[0194] - The intra-frame prediction mode candidates to which TIMD template matching is applied may be selected based on the MPM, primary MPM, or secondary MPM of the previous embodiment, or all X intra-frame prediction modes may be selected, or may be selected in the same way as the method currently used in TIMD.
[0195] Meanwhile, whether or not the embodiments of the present disclosure are applied may be signaled by specific information in a high-level syntax (HLS), such as a VPS, SPS, PPS, picture header, slice header, DCI, etc. As an example, in order to determine whether or not to apply the method proposed in the present embodiment on a PPS basis, information indicating whether or not to apply the method proposed in the present embodiment may be signaled within the PPS.
[0196] Furthermore, as with the above-described method, the method proposed in this embodiment may adaptively select whether to apply the method without transmitting additional information to the decoder, or additional information regarding whether to apply the method proposed in this embodiment may be transmitted to the decoder to determine whether to apply the method. For example, the method may be signaled by a one-bit flag indicating whether to apply the method proposed in this embodiment in units of CTU or CU. Alternatively, the method may be signaled using a one-bit flag indicating whether to apply the method proposed in this embodiment only if it is possible to apply the method proposed in this embodiment depending on the size or shape of a specific block or the presence or absence of specific conditions. For example, if the height of a block is greater than a specific multiple (e.g., four times) the width of the block, the method proposed in this embodiment does not need to be applied, and therefore, signaling of additional information regarding whether to apply the method may be omitted.
[0197] Meanwhile, under certain conditions, it may be implicitly inferred whether the proposed method is applied to this embodiment. For example, if there is no left reference sample of the current block at the left boundary of the image, or if the left reference sample cannot be used, it may be determined that the proposed method is always applied to this embodiment without signaling information (e.g., a flag) indicating whether the proposed method is applied to this embodiment. Also, if the left reference sample of the current block is at a CTU boundary / tile boundary / slice boundary / sub-picture boundary, it may be determined that the proposed method is always applied to this embodiment without signaling information (e.g., a flag) indicating whether the proposed method is applied to this embodiment.
[0198] Meanwhile, whether or not to signal information indicating whether or not the method proposed in this embodiment is applied at a lower level (e.g., a coding unit) may be adaptively determined based on information indicating whether or not the method proposed in this embodiment is applied at a higher level defined in HLS (High Level Syntax). As an example, if the value of the information indicating whether or not the method proposed in this embodiment is applied at an SPS is false (false, e.g., 0), that is, if the method proposed in this embodiment is not used in SPS units, it is determined that the method proposed in this embodiment is not applied at a lower level, i.e., a coding unit, and therefore, signaling of information indicating whether or not it is applied may not be performed.
[0199] According to the first embodiment of the present disclosure, it is possible to improve the efficiency of intra-frame prediction.
[0200] Example 2
[0201] In this embodiment, a method for generating an intra-predicted block using only an intra-prediction mode that performs prediction based on the left side of a current block, i.e., a left reference sample, is proposed. This will be described with reference to FIG. 14 and other drawings illustrating a video encoding method and / or a video decoding method according to an embodiment of the present disclosure.
[0202] First, for example, steps S1420 and S1440 shown in FIG. 14 may correspond to steps S1020 and S1040 shown in FIG. 10, respectively. As described above, intra prediction, i.e., intra prediction, may be performed using a partially selected mode. The partially selected mode may refer to a mode selected based on the position (e.g., left side) of a reference sample, for example, a mode limited within a specific range. To this end, intra prediction mode candidates associated with the left reference sample of the current block may be set (S1410). After step S1410, although not shown in FIG. 14, a decoder may obtain information about the intra prediction mode from a bitstream and determine the intra prediction mode. Meanwhile, an encoder may select and determine an intra prediction mode from the intra prediction mode candidates and encode information about the selected intra prediction mode into the bitstream. Thereafter, it may be determined whether the intra prediction mode of the current block is a specific mode (e.g., planar mode or DC mode) (S1420). If the intra prediction mode of the selected current block is planar mode or DC mode, intra prediction may be applied to the current block based on a modified DC or planar (horizontal planar) prediction mode (S1430), and if the intra prediction mode of the selected current block is not planar mode or DC mode, the selected intra prediction mode may be applied to the current block as is (S1440), which will be described in detail with reference to FIGS. 11 to 13.
[0203] Fig. 11 is a diagram illustrating an example of an intra-frame prediction method applicable to the present disclosure. More specifically, Fig. 11 is an example of a method for performing intra-frame prediction using only left-side reference samples, where the left side, i.e., (A) is a diagram illustrating an example of intra-frame prediction based on an intra-frame prediction direction in an 8x8 block, and the right side (B) is a diagram illustrating an intra-frame prediction direction and number of VVC.
[0204] 11A is an example of an intra prediction direction (e.g., the 6th intra prediction mode in the case of VVC, see (B) of FIG. 11) that predicts a current block using only a left reference sample. As shown in FIG. 11, in horizontal intra prediction (e.g., the 6th intra prediction mode in the case of VVC), other intra prediction modes (e.g., the 18th intra prediction mode in the case of VVC) can perform intra prediction using only a left reference sample located to the left of the current block. Meanwhile, as another example, when wide-angle intra prediction of VVC is applied, modes −14 to 18 may be modes that use only a left reference sample.
[0205] In the following embodiment of the present disclosure, a technique is proposed for performing intra prediction by combining only intra predictions that perform prediction centered on the left reference sample as in the above example, and for signaling prediction information. That is, when the method proposed in this embodiment is applied, it is possible to adaptively select only intra predictions that perform prediction centered on the left reference sample and apply intra prediction as in the following example.
[0206] For example, when prediction is performed centered on the left reference sample, it may be restricted to use only intra prediction modes within a specific range (e.g., pth to qth):
[0207] 1. Only intra prediction modes with mode numbers equal to or lower than horizontal intra prediction (e.g., 18 in the case of VVC base) may be used. For example, in the case of VVC base, only intra prediction modes with numbers 2 to 18 (-14 to 18 when wide-angle mode is applied) may be limited to be used.
[0208] 2. Only intra prediction modes with mode numbers less than diagonal intra prediction (e.g., 34 in the case of VVC base) may be used. For example, in the case of VVC base, only intra prediction modes with numbers 2 to 33 (-14 to 33 when wide-angle mode is applied) may be limited to be used.
[0209] 3. Only intra prediction modes with mode numbers equal to or greater than horizontal intra prediction (e.g., 18 in the case of a VVC base) but less than vertical intra prediction (e.g., 50 in the case of a VVC base) may be used. For example, in the case of a VVC base, only intra prediction modes with mode numbers 18 to 49 may be used.
[0210] As in the above example, intra prediction may be limited to be performed using only a specific portion, i.e., intra prediction modes within a specific range (e.g., intra prediction modes p to q). For example, p and q may have values from 0 to 80, where p≦q.
[0211] Meanwhile, when applying the method proposed in this embodiment, wide angle intra prediction mode can be applied or not applied.That is, it can also consider intra prediction mode with negative number (for example, in the case of VVC base, -1 to -14), or can only use intra prediction mode with specific number or more (for example, in the case of VVC base, 2nd intra prediction mode number or more).
[0212] Furthermore, this embodiment may also be applied to non-directional intra prediction such as planar and DC. When DC mode is applied to the method proposed in this embodiment, a DC value can be calculated using only the left reference sample of the current block. As another example, when planar mode is applied to the method proposed in this embodiment, horizontal planar mode can be applied according to the following equation. Figure 12 is a diagram illustrating an example of a block for horizontal planar prediction according to an embodiment of the present disclosure.
[0213]
number
[0214] Meanwhile, when signaling mode information of the intra prediction mode applied in the method proposed in this embodiment, the following exemplary method may be used.
[0215] Encoding and decoding may be performed by appropriate binarization for an intra-picture prediction mode adaptively selected based on the number X of available intra-picture prediction modes.
[0216] In the above method, X may represent the number of intra-frame prediction modes available when applying the method proposed in this embodiment. For example, in the case of VVC-based, when only intra-frame prediction modes 2 to 18 are used in the previous example, including planar (horizontal planar) and DC modes, X may be 19.
[0217] As an example, for signaling the intra prediction mode selected in the above-described embodiment, the intra prediction mode may be truncated binary coded and signaled based on the number X of intra prediction mode candidates.
[0218] Alternatively, as in HEVC / VVC, an MPM intra prediction mode candidate may be first selected by searching for an intra prediction mode of a neighboring block, and then information on the selected intra prediction mode may be adaptively transmitted based on the MPM and non-MPM lists. The following example relates to encoding and decoding an intra prediction mode divided into MPM and non-MPM modes. Figure 12 is a diagram illustrating an example of an MPM mode-based neighboring block search position for an 8x8 block according to an embodiment of the present disclosure.
[0219] - β MPM intra prediction modes may be first selected according to the intra prediction modes of the surrounding blocks, and β intra prediction mode candidates may be selected. When selecting intra prediction mode candidates for the surrounding blocks, only intra prediction modes included in the intra prediction mode range (e.g., between p and q) proposed in this embodiment may be selected. β may be any number within X (which may represent the number of available intra prediction modes in the above embodiment).
[0220] The MPM index may be binarized by truncated unary binarization and then coded, signaled, and decoded. The non-MPM X-β intra prediction modes may be coded and decoded by truncated binary binarization.
[0221] - The default mode (basic mode) in MPM may be determined in descending order of frequency of selection among the X intra-frame prediction modes selected, such as planar (0 in case of VVC-based), horizontal (18 in case of VVC-based), DC (1 in case of VVC-based), or other intra-frame prediction modes (e.g., 2 in case of VVC-based).
[0222] For example, the order and number of intra prediction mode candidates selected using neighboring blocks may follow the selection method in HEVC, VVC, or ECM. FIG. 13 is a diagram illustrating exemplary search positions of neighboring blocks for MPM when applying an embodiment of the present disclosure to an 8x8 block according to an embodiment of the present disclosure. More specifically, (A) of FIG. 13 is a diagram illustrating exemplary neighboring block search positions for MPM selection in ECM according to an embodiment of the present disclosure, and (B) of FIG. 13 is a diagram illustrating exemplary neighboring block search position settings according to an embodiment of the present disclosure. For example, when three MPMs are selected for the method proposed in this embodiment, intra prediction candidates may be searched and selected in a block order including pixels L->BL->LA->TL->LC in (B) of FIG. 13. Here, LC may refer to a reference sample having a y-coordinate obtained by dividing the width value of the current block by 2.
[0223] Meanwhile, the pixel positions and search order for MPM search are not limited to this example, and intra prediction candidates can be selected using various methods according to the intra prediction modes in the top and left reference samples. In addition, to select more intra prediction candidates, intra prediction candidates can be selected by searching the top and left reference samples of multiple reference sample lines.
[0224] Alternatively, the primary MPM and secondary MPM intra prediction mode candidates may be first selected using an intra prediction mode search of neighboring blocks, as in ECM. The following example relates to an example of encoding and decoding intra prediction modes divided into primary MPM, secondary MPM, and non-MPM modes:
[0225] - β primary MPM intra prediction modes may be first selected using the intra prediction modes of the surrounding blocks, and β intra prediction mode candidates may be selected. When selecting intra prediction mode candidates for the surrounding blocks, only intra prediction modes included in the intra prediction mode range (e.g., between p and q) proposed in this embodiment may be selected. In this case, β may be any number within X (which may mean the number of available intra prediction modes in the above embodiment).
[0226] After all β primary MPM intra-prediction modes are selected, γ secondary MPM intra-prediction modes may be selected using the intra-prediction modes of the surrounding blocks, and γ intra-prediction mode candidates may be selected. The intra-prediction modes included in the secondary MPM must not overlap with the intra-prediction modes in the primary MPM. As an example, when selecting intra-prediction mode candidates for the surrounding blocks, only intra-prediction modes included in the intra-prediction mode range proposed in this embodiment (e.g., between p and q) may be selected. γ may be any number within X-β.
[0227] The primary MPM and secondary MPM indices may be binarized and encoded and decoded using truncated unary binarization. The non-MPM X-β-γ intra prediction modes may be encoded and decoded using truncated binary binarization.
[0228] - It may be determined in descending order of frequency of selection among X intra-frame prediction modes selected, such as planar (e.g., 0 in the case of VVC), horizontal (e.g., 18 in the case of VVC), DC mode, or other specific intra-frame prediction mode (e.g., 2 in the case of VVC) in MPM.
[0229] For example, the selection order and number of intra prediction mode candidates for surrounding blocks may follow the selection method in the ECM. (A) of FIG. 13 may relate to an example of a search position for surrounding blocks for selecting a primary and secondary MPM in the ECM according to an embodiment of the present disclosure. (B) of FIG. 13 may relate to an example of setting the search position for surrounding blocks according to an embodiment of the present disclosure. For example, when selecting three MPMs for the method proposed in this embodiment, intra prediction candidates may be searched and selected in the order of blocks including pixels L->BL->LA->TL->LC in (B) of FIG. 13. Here, LC may refer to a reference sample having a y-coordinate obtained by dividing the height value of the block by 2.
[0230] Meanwhile, the pixel positions and search order for the primary and secondary MPM search are not limited to this example, and intra prediction candidates can be selected using various methods according to the intra prediction mode in the top and left reference samples. In addition, in order to select more intra prediction candidates, intra prediction candidates can be selected by searching the top and left reference samples from multiple sample lines.
[0231] When encoding and decoding the intra-frame prediction mode using the method proposed in this embodiment, it is not limited to the above examples, and various mode encoding and decoding methods can be applied according to the intra-frame prediction mode used.
[0232] Alternatively, it is possible to determine an intra prediction mode candidate for the current block, or to determine the intra prediction mode of the current block, as in DIMD or TIMD. That is, it is possible to determine the intra prediction mode candidate or intra prediction mode of the current block by using surrounding reference samples, as in DIMD or TIMD.
[0233] In this embodiment, a mode candidate analogy method used in DIMD can be applied to mode prediction in the proposed method. That is, a pixel gradient can be calculated using only the left reference sample area, and the first or second intra prediction mode obtained from the gradient can be set as the intra prediction mode candidate for the current block. The first or second intra prediction mode can be used as is, or can be excluded if it is not included in the X intra prediction modes shown in the previous example. If the first or second prediction mode is not included in the X intra prediction modes, only horizontal planar prediction can be applied.
[0234] Meanwhile, as an example, the mode analogy method used in TIMD for intra mode prediction as described above can be applied. That is, TIMD template matching can be performed using only the left reference sample area, and only the X intra prediction modes shown in the previous example can be considered. The intra prediction mode candidates to which TIMD template matching is applied can be selected, such as the MPM, primary MPM, or secondary MPM of the previous embodiment, or all X intra prediction modes can be selected, or the same method as that used in the current TIMD can be selected.
[0235] Furthermore, by combining the DIMD mode with the method proposed in this embodiment, the method proposed in this embodiment can be applied, and at the same time, the intra-frame prediction mode of the block can be selected and applied:
[0236] - The planar of the existing DIMD may be replaced with a horizontal planar.
[0237] - The DC of the existing DIMD may be replaced with a method that uses only the left reference sample.
[0238] Only the left reference samples are used to calculate the gradients, and a mode may be selected only among the X intra prediction mode candidates.
[0239] In addition, by combining the existing TIMD mode and the method proposed in this embodiment, the method proposed in this embodiment can be applied, and at the same time, the intra-frame prediction mode of the block can be selected and applied:
[0240] - The planar of the existing TIMD may be replaced with a horizontal planar.
[0241] The DC of the existing TIMD may be replaced with a method that uses only the left reference sample.
[0242] - TIMD template matching may be performed using only the left reference sample area.
[0243] - The intra-frame prediction mode candidates to which TIMD template matching is applied may be selected as in the previous embodiment, such as the MPM, primary MPM, or secondary MPM, or all X intra-frame prediction modes may be selected, or may be selected in the same way as the method currently used in TIMD.
[0244] Meanwhile, information indicating whether or not the intra-frame prediction mode selection method according to the present embodiment is applied may be transmitted in a VPS, SPS, PPS, picture header, slice header, or DCI, which are high-level syntax (HLS). For example, in order to determine whether or not the proposed method according to the present embodiment is applied in units of PPS, information indicating whether or not the proposed method according to the present embodiment is applied may be transmitted within a PPS.
[0245] Furthermore, as described above, information indicating whether or not the proposed method is applied may not be signaled to the decoder as additional information, but may be adaptively determined. Alternatively, additional information indicating whether or not the proposed method is applied to the present embodiment may be explicitly signaled to the decoder, and whether or not the proposed method is applied may be determined based on the additional information. For example, a one-bit flag may be used to indicate whether or not the proposed method is applied to the present embodiment on a CTU or CU basis, and may be signaled to the decoder. Alternatively, if the proposed method is applicable to the present embodiment depending on the size or shape of a specific block or the presence or absence of specific conditions, whether or not the proposed method is applied to the present embodiment may be signaled using specific information (e.g., a one-bit flag) only in this case. For example, if the width of the current block is equal to or greater than a specific multiple (e.g., four times) the block height, the proposed method may not be applied to the present embodiment, and therefore, signaling of information indicating whether or not the proposed method is applied may be omitted.
[0246] For example, whether or not the method proposed in this embodiment is applied may be implicitly inferred depending on the above-mentioned specific conditions. For example, when there is no left reference sample of the current block, such as at the left boundary of an image, or when the left reference sample cannot be used, the method proposed in this embodiment may always be applied after omitting signaling of information indicating whether or not the method proposed in this embodiment is applied. That is, the intra-frame prediction mode selection method proposed in this embodiment may be applied. For example, when the left reference sample of the current block is at a CTU boundary / tile boundary / slice boundary / sub-picture boundary, the method proposed in this embodiment may always be applied after omitting signaling of information indicating whether or not the method proposed in this embodiment is applied.
[0247] For example, when information indicating whether the proposed method of this embodiment is applied at a higher level is defined in HLS, whether or not to signal information indicating whether or not to apply the proposed method of this embodiment at a lower level (e.g., coding unit) may be adaptively determined. For example, when information indicating whether or not to apply the proposed method of this embodiment at the SPS level is false (e.g., 0), that is, when it is determined not to use the proposed method of this embodiment in SPS units, the proposed method of this embodiment is not applied at the coding unit, and therefore, information indicating whether or not to use it may not be signaled.
[0248] According to the second embodiment of the present disclosure, it is possible to improve the efficiency of intra-frame prediction.
[0249] Example 3
[0250] In this embodiment, a method of combining the intra prediction mode proposed in the previous embodiment 1, in which prediction is centered on the top reference sample, and the intra prediction mode proposed in embodiment 2, in which prediction is centered on the left reference sample, will be proposed. This will be described with reference to Fig. 18 and other drawings showing a video encoding method and / or a video decoding method according to an embodiment of the present disclosure.
[0251] First, as an example, intra prediction, i.e., intra prediction, may be performed using a partially selected mode as described above. The partially selected mode may refer to a mode selected based on the position (e.g., left side) of a reference sample, for example, a mode limited within a specific range. Then, an intra predictor, i.e., a predicted block, may be generated (S1810) based on a reference sample limited to a specific position (e.g., the top or left region of a current block) and an associated intra prediction mode. For example, an intra prediction block generated based on the top reference sample of the current block and its associated intra prediction mode may be a top prediction block (e.g., a first prediction block, pred_above), and an intra prediction block generated based on the left reference sample of the current block and its associated intra prediction mode may be a left prediction block (e.g., a first prediction block, pred_left). Then, weights w0 (e.g., a first weight) and w1 (e.g., a second weight) to be applied to each predicted block may be determined (S1820). The generated intra prediction blocks may then be fused (S1830) based on the determined weights. In this case, the fusion may be guided by a value obtained by multiplying each prediction block by a weight and adding the weights together (e.g., the final prediction block pred=w0*pred_above+w1*pred_left).
[0252] Meanwhile, for clarity of explanation, Figure 18 assumes two prediction blocks and two weights, but this is merely one embodiment of the present disclosure. That is, in other embodiments, there may be two or more prediction blocks and two or more weights. Also, in the embodiments described below, weights may be determined for each pixel in a prediction block. This will be described in more detail with reference to Figures 15 to 17.
[0253] 15 is a diagram illustrating an example of a method for combining an intra prediction method that performs prediction based on a top reference sample and an intra prediction method that performs prediction based on a left reference sample according to an embodiment of the present disclosure. More specifically, (A) on the left side of FIG. 15 shows an example of a method for combining prediction blocks generated by an intra prediction method that performs prediction based on a top reference sample, and (B) on the right side of FIG. 15 shows an example of a method for combining prediction blocks generated by an intra prediction method that performs prediction based on a left reference sample.
[0254] As an example, the intra-predicted block generated according to Example #1 and the intra-predicted block generated according to Example #2 may be combined in the manner of the following exemplary equations:
[0255]
number
[0256]
number
[0257] According to another embodiment, the first weight and the second weight may be determined as follows.
[0258]
number
[0259] As another example, the first weight and the second weight may be variably determined as follows: As an example, the first weight and the second weight may be determined based on the size (e.g., width and / or height) of the current block.
[0260]
number
[0261]
number
[0262]
number
[0263] Alternatively, in this embodiment, a prediction block generated by an intra-frame prediction method that predicts based on the top reference sample ((A) of Figure 15) and a prediction block generated by an intra-frame prediction method that predicts based on the left reference sample ((B) of Figure 15) can be combined as shown in the following formula.
[0264]
number
[0265]
number
[0266] According to the three formulas proposed above, the combination weight value can be selected to be inversely proportional to the distance to the left and top reference samples at each pixel position, so that the prediction block can be generated more accurately, which can improve coding efficiency.
[0267] Meanwhile, in this embodiment, since information regarding the intra prediction modes of a prediction block generated by an intra prediction method centered on a top reference sample ((A) of FIG. 15) and a prediction block generated by an intra prediction method centered on a left reference sample ((B) of FIG. 15) can be explicitly signaled, the method proposed in embodiment #1 and the method proposed in embodiment #2 can be used in combination to signal the information. That is, information regarding the two intra prediction modes for both prediction blocks can be explicitly signaled separately.
[0268] Alternatively, as another example, the method for signaling information about intra prediction modes according to embodiment #1 and the method for signaling information about intra prediction modes according to embodiment #2 may be integrated and used as shown in the following example: That is, information about multiple (e.g., two) intra prediction modes may be signaled in one intra prediction mode candidate group (e.g., based on embodiment #1 or embodiment #2).
[0269] The intra prediction mode information may be encoded and decoded by performing truncated binary binarization on the selected intra prediction mode based on the number X of available intra prediction modes.
[0270] The number of intra-frame prediction modes X that can be used in the above method may be determined as the sum of the number of intra-frame prediction modes that can be used in the intra-frame prediction method that predicts based on the top reference sample in embodiment #1 and the number of intra-frame prediction modes that can be used in the intra-frame prediction method that predicts based on the left reference sample in embodiment #2.
[0271] Alternatively, an MPM intra prediction mode candidate may be first selected using an intra prediction mode search of a surrounding block, as in HEVC / VVC, and then information on the selected intra prediction mode may be adaptively signaled based on the MPM and non-MPM lists. Examples of encoding and decoding intra prediction modes separately for MPM and non-MPM modes have been described above with reference to Examples #1 and #2, and therefore further description thereof will be omitted.
[0272] Meanwhile, FIG. 17 is a diagram illustrating exemplary neighboring block search positions for MPM when the proposed method is applied to an 8x8 block according to an embodiment of the present disclosure. The selection order and number of neighboring block intra prediction mode candidates may follow the method selected in HEVC, VVC, or ECM. (A) of FIG. 17 illustrates exemplary neighboring block search positions for MPM selection in ECM. Alternatively, neighboring block search positions for the method proposed in this embodiment may be set as shown in (B) of FIG. 17. As described above, when selecting three MPMs for the method proposed in this embodiment, intra prediction candidates may be searched and selected in the block order including pixels L->A->BL->AR->TL->LC->AC->LA->AL in (B) of FIG. 17. Here, AC may refer to a reference sample coordinate having an x-coordinate obtained by dividing the width value of the current block by 2, and LC may refer to a reference sample coordinate having a y-coordinate obtained by dividing the height value of the current block by 2.
[0273] The pixel positions and search order for the MPM search are not limited to this example, and intra prediction candidates may be selected using various methods according to the intra prediction modes in the top and left reference samples. Also, to select more intra prediction candidates, intra prediction candidates may be selected by searching the top and left reference samples of multiple reference sample lines.
[0274] Alternatively, primary MPM and secondary MPM intra prediction mode candidates can be first selected using an intra prediction mode search of surrounding blocks, as with ECM. The intra prediction modes can be coded and decoded separately into primary MPM, secondary MPM, and non-MPM modes, as described above with reference to Examples #1 and #2, and a duplicated description thereof will be omitted.
[0275] For example, the selection order and number of intra prediction mode candidates for surrounding blocks may follow the selection method in the ECM. (A) of FIG. 17 is a diagram illustrating an example of a surrounding block search position for selecting a primary and secondary MPM in an ECM according to an embodiment of the present disclosure, and (B) of FIG. 17 is a diagram illustrating an example of setting a surrounding block search position for the method proposed in this embodiment. As described above, when selecting three MPMs for the method proposed in this embodiment, intra prediction candidates may be searched and selected in a block order including pixels L->A->BL->AR->TL->LC->AC->LA->AL in (B) of FIG. 17. Here, AC may refer to a reference sample coordinate having a value obtained by dividing the width value of the current block by 2 as an x-coordinate, and LC may refer to a reference sample coordinate having a value obtained by dividing the height value of the current block by 2 as a y-coordinate.
[0276] Meanwhile, the pixel positions and search order for the primary and secondary MPM search are not limited to this example, and intra prediction candidates may be selected using various methods according to the intra prediction mode in the top and left reference samples. In addition, in order to select more intra prediction candidates, intra prediction candidates may be selected by searching the top and left reference samples using multiple reference sample lines.
[0277] When encoding and decoding the intra-picture prediction mode using the method proposed in this embodiment, it is not limited to the above examples, and various mode encoding and decoding methods can be applied according to the intra-picture prediction mode X used.
[0278] Meanwhile, as another example, signaling of information regarding an additional intra prediction mode, such as in DIMD or TIMD, may be omitted. That is, as in DIMD or TIMD, it is possible to predict intra prediction mode candidates for the corresponding block using neighboring reference samples. In this embodiment, a mode candidate analogy method used in DIMD or TIMD may be applied to predict the intra prediction mode, as described in the above embodiments #1 and #2, and therefore a repeated description thereof will be omitted.
[0279] In addition, by combining an existing DIMD mode with the method proposed in this embodiment, it is possible to apply the method proposed in this embodiment while simultaneously selecting and applying the intra-screen prediction mode for the block in question, as explained in the above embodiment #1 and embodiment #2, and therefore a duplicate explanation will be omitted.
[0280] In addition, it is possible to combine an existing TIMD mode with the method proposed in this embodiment, and apply the method proposed in this embodiment while simultaneously selecting and applying the intra-screen prediction mode for the block in question; however, this is as explained in the above embodiment #1 and embodiment #2, and a duplicate explanation will be omitted.
[0281] In the combination of the method proposed in this embodiment, the number of combinations is not limited to the above example. That is, combinations between blocks to which intra prediction based on a plurality of top reference samples is applied (embodiment #1) may be applied, or combinations between blocks to which intra prediction based on a plurality of left reference samples is applied (embodiment #2) may be applied. Alternatively, combinations between blocks to which intra prediction based on a plurality of reference samples is applied and blocks to which intra prediction based on a plurality of left reference samples is applied may be performed.
[0282] The following example shows a combination between three blocks to which the method proposed in this invention is applied.
[0283]
number
[0284] In the above example, the prediction block pred_left and the prediction block pred_left2 (e.g., two or more second prediction blocks, or the second prediction block and the third prediction block) may have different ranges of applicable intra prediction modes. For example, in the above equation, pred_left may be a block generated using only intra prediction modes No. 2 to No. 18 in the VVC-based case, pred_left2 may be a block generated using only intra prediction modes No. 18 to No. 49 in the VVC-based case, and pred_above may be a block generated using only intra prediction modes No. 50 to No. 66 in the VVC-based case. In the above example, the weights w0, w1, and w2 may be applied in the same manner by extending the weight setting method described in the previous example.
[0285] For example, the three weights w0, w1, and w2 may be the same value or may be determined in proportion to the number of intra prediction mode candidates used. Alternatively, w0, w1, and w2 may be different values. Furthermore, when generating three prediction blocks, the method of signaling information about the intra prediction mode may be extended and applied in the same way as the previously proposed method.
[0286] Meanwhile, whether or not to apply the proposed method to the present embodiment may be signaled in a VPS, SPS, PPS, picture header, slice header, or DCI, which is a high-level syntax (HLS). For example, to determine whether or not to apply the proposed method to the present embodiment on a PPS basis, information regarding whether or not to apply the proposed method to the present embodiment may be signaled within the PPS.
[0287] Furthermore, according to this embodiment, as in the above method, whether or not to apply the embodiments of the present disclosure may be adaptively determined without explicit signaling using additional information. Alternatively, as in the above method, additional information regarding whether or not to apply the embodiments of the present disclosure may be explicitly signaled, and whether or not to apply the embodiments may be determined. As an example, whether or not to apply the method proposed in this embodiment may be transmitted on a CTU or CU basis using a one-bit flag. Alternatively, whether or not to apply the method proposed in this embodiment may be signaled using a one-bit flag only when the method proposed in this embodiment is applicable depending on the size or shape of a specific block or the presence or absence of specific conditions.
[0288] For example, under certain conditions, whether or not the method proposed in this embodiment is applicable may be implicitly inferred. For example, when there is no left reference sample of the current block, such as at the left boundary of an image, or when the left reference sample cannot be used, the first weighted value w0 may be set to 1 and the second weighted value w1 may be set to 0 when this embodiment is applied, or only an intra prediction mode that predicts based on the left reference sample may be used.
[0289] As another example, when there is no top reference sample of the current block, such as at the top boundary of an image, or when the top reference sample cannot be used, when applying this embodiment, the second weighted value w1 can be set to 1 and the first weighted value w0 can be set to 0, or only an intra-frame prediction mode that predicts based on the left reference sample may be used.
[0290] Meanwhile, after omitting signaling of information indicating whether the present embodiment is applied, it may be set so that the present disclosure is always applied or not applied. For example, if the top / left reference sample of the current block is a CTU boundary / tile boundary / slice boundary / sub-picture boundary, it may be set so that the present disclosure is always applied or not applied after omitting signaling of the information.
[0291] Meanwhile, whether or not information indicating whether or not the proposed method of this embodiment is applied to a lower level (e.g., a coding unit) may be adaptively determined depending on information on whether or not the proposed method of this embodiment is applied to a higher level defined in HLS. As an example, if information indicating whether or not the proposed method of this embodiment is applied to a lower level (e.g., a coding unit) is false (false, e.g., 0) in an SPS (i.e., when the proposed method of this embodiment is not used in SPS units), it may be determined that the proposed method of this embodiment is not applied to a lower level (e.g., a coding unit), and accordingly, information on whether or not it is used may not be signaled.
[0292] According to the third embodiment of the present disclosure, it is possible to improve the efficiency of intra-frame prediction.
[0293] Example of a video encoding / decoding method
[0294] 19 is a diagram illustrating a video encoding / decoding method that can be performed by a video encoding / decoding device according to an embodiment of the present disclosure. The method illustrated in FIG. 19 may be performed by the above-described video decoding device, or may be performed by a video encoding device. Furthermore, all or part of the above-described embodiments #1, #2, and / or #3 may be applied to this embodiment.
[0295] Based on the above description, according to one embodiment of the present disclosure, an intra prediction mode for a current block is determined (S1910), and a predicted block for the current block is generated by performing intra prediction based on the determined intra prediction mode (S1920). The intra prediction may be limited to using only reference samples within a predetermined range of available reference samples for the current block. Based on the use of only reference samples within the predetermined range, the intra prediction mode may be determined to be one of the directional modes within the predetermined range. The predetermined range may be determined based on whether the intra prediction is based on wide-angle intra prediction. The predetermined range may be any one of the directional mode ranges of 50 to 66, 35 to 66, or 19 to 34. The predetermined range may be any one of the directional mode ranges of 2 to 18, 2 to 33, or 18 to 49. Furthermore, the predicted block may be generated by weighting a first predicted block obtained using a first-range reference sample and a second predicted block obtained using a second-range reference sample. Here, the first range and the second range may not overlap with each other. Furthermore, a first weighting value applied to the first predicted block may be determined to be different from a weighting value applied to the second predicted block. Furthermore, the first weighting value may be determined based on the size of the current block. Furthermore, the first weighting value and the second weighting value may be predefined values. Furthermore, the embodiments described in Examples #1 to #3 may be performed individually or in combination, and therefore, a redundant description thereof will be omitted.
[0296] According to the present disclosure, when intra-predicting a video, it is possible to generate an intra-prediction block adaptive to a reference sample area and efficiently combine multiple intra-prediction blocks for encoding / decoding, thereby improving the encoding / decoding performance of intra-prediction.
[0297] On the other hand, since FIG. 19 corresponds to one embodiment of the present disclosure, it is clear that some steps may be changed, deleted, or added, and the order of execution may be changed, and these also fall within the scope of the present disclosure.
[0298] Example of a video encoding method
[0299] 20 is a diagram illustrating a video encoding method that can be performed by a video encoding device according to an embodiment of the present disclosure. The method illustrated in FIG. 20 may be performed by the video encoding device described above. Furthermore, all or part of the above-described embodiments #1, #2, and / or #3 may be applied to this embodiment.
[0300] Based on the above description, according to one embodiment of the present disclosure, an intra prediction mode of a current block may be determined (S2010), and prediction mode information of the current block may be encoded based on the determined intra prediction mode (S2020). In this case, the intra prediction mode may be determined using only reference samples within a predetermined range among available reference samples of the current block. This is the same as the content described above with reference to other drawings including FIG. 19, and therefore a repeated description will be omitted.
[0301] When describing the video coding method of Figure 20, some of the explanations overlapping with those described above will be omitted. According to the present disclosure, when intra-predicting video, an adaptive intra-prediction block can be generated for a reference sample area, and multiple intra-prediction blocks can be efficiently merged and coded. In addition, the coding performance of intra-prediction can be improved.
[0302] On the other hand, since FIG. 20 corresponds to one embodiment of the present disclosure, it is clear that some steps may be changed, deleted, or added, and the order of execution may be changed, and these also fall within the scope of the present disclosure.
[0303] Although the exemplary method of the present disclosure is expressed as a series of operations for clarity of explanation, this is not intended to limit the order in which the steps are performed, and the steps may be performed simultaneously or in a different order if necessary. To embody the method of the present disclosure, the exemplary steps may further include other steps, or some steps may be omitted and the remaining steps may be included, or some steps may be omitted and the remaining steps may be included.
[0304] In the present disclosure, a video encoding device or a video decoding device that performs a predetermined operation (step) may perform an operation (step) that checks the execution conditions or circumstances of the operation (step). For example, if it is described that the predetermined operation is performed when a predetermined condition is satisfied, the video encoding device or the video decoding device may perform an operation that checks whether the predetermined condition is satisfied and then perform the predetermined operation.
[0305] The various embodiments of the present disclosure do not enumerate all possible combinations but are intended to describe representative aspects of the present disclosure, and the matters described in the various embodiments may be applied independently or in combination of two or more.
[0306] Furthermore, various embodiments of the present disclosure may be implemented using hardware, firmware, software, or a combination thereof. In the case of a hardware implementation, the implementation may be using one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), general processors, controllers, microcontrollers, microprocessors, etc.
[0307] In addition, a video decoding device and a video encoding device to which an embodiment of the present disclosure is applied may be included in a multimedia broadcast transmitting / 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 video communication, a mobile streaming device, a storage medium, a camcorder, a video on demand (VoD) service providing device, an over-the-top (OTT) video device, an internet streaming service providing device, a three-dimensional (3D) video device, an image telephone video device, a medical video device, etc., and may be used to process a video signal or a data signal. For example, an over-the-top (OTT) 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 digital video recorder (DVR), etc.
[0308] FIG. 21 is a diagram illustrating a content streaming system to which an embodiment of the present disclosure can be applied.
[0309] As shown in FIG. 21, a content streaming system to which an embodiment of the present disclosure is applied may broadly include an encoding server, a streaming server, a web server, a media storage, a user device, and a multimedia input device.
[0310] The encoding server compresses content input from a multimedia input device such as a smartphone, camera, camcorder, etc. into digital data to generate a bitstream and transmits the bitstream to the streaming server. As another example, if a multimedia input device such as a smartphone, camera, camcorder, etc. directly generates a bitstream, the encoding server may be omitted.
[0311] The bitstream may be generated by a video encoding method and / or video encoding device to which an embodiment of the present disclosure is applied, and the streaming server may temporarily store the bitstream during the process of transmitting or receiving the bitstream.
[0312] The streaming server transmits multimedia data to a user device based on a user request via a web server, and the web server may act as an intermediary informing the user of available services. When a user requests a desired service from the web server, the web server transmits the request to the streaming server, which then transmits the multimedia data to the user. In this case, the content streaming system may include a separate control server, and in this case, the control server may control commands and responses between devices in the content streaming system.
[0313] The streaming server can receive content from a media storage and / or encoding server. For example, when receiving content from the encoding server, the content can be received in real time. In this case, the streaming server can store the bitstream for a certain period of time to provide a smooth streaming service.
[0314] Examples of the user devices include mobile phones, smartphones, laptop computers, digital broadcasting terminals, personal digital assistants (PDAs), portable multimedia players (PMPs), navigation systems, slate PCs, tablet PCs, ultrabooks, wearable devices (e.g., smartwatches, smart glasses, and head-mounted displays (HMDs)), digital TVs, desktop computers, and digital signage.
[0315] Each server in the content streaming system may be operated as a distributed server, in which case data received by each server may be processed in a distributed manner.
[0316] The scope of the present disclosure includes software or machine-executable instructions (e.g., operating systems, applications, firmware, programs, etc.) that cause operations according to the methods of various embodiments to be performed on a device or computer, and non-transitory computer-readable media on which such software or instructions, etc., may be stored and executed on a device or computer.
[0317] [Industrial Applicability] The embodiments of the present disclosure can be used to encode / decode video.
[0318] [Claims at the time of international application] [Claim 1] A video decoding method performed by a video decoding device, comprising: determining an intra prediction mode for a current block; generating a predicted block of the current block by performing intra prediction based on the determined intra prediction mode; the intra-frame prediction mode is determined based on range restriction information indicating whether the intra-frame prediction mode is restricted within a specific range; a video decoding method, wherein, based on the range restriction information indicating that the intra-frame prediction mode is restricted within a specific range, the intra-frame prediction is performed based on reference samples within a predetermined range among available reference samples of the current block, based on the intra-frame prediction mode being determined to be one of the intra-frame prediction modes within the specific range. [Claim 2] The video decoding method of claim 1 , wherein the intra prediction mode is determined to be one directional mode within the specific range based on the reference sample center used within the specific range. [Claim 3] 3. The video decoding method according to claim 2, wherein the specific range is determined based on whether the intra prediction is based on wide-angle intra prediction. [Claim 4] 3. The video decoding method of claim 2, wherein the specific range is one of the directional mode ranges of 50 to 66, 35 to 66, or 19 to 34. [Claim 5] 3. The video decoding method of claim 2, wherein the specific range is one of directional mode ranges of 2 to 18, 2 to 33, or 18 to 49. [Claim 6] 2. The video decoding method of claim 1, wherein the prediction block is generated by weighted summing a first prediction block obtained primarily using a first in-range reference sample and a second prediction block obtained primarily using a second in-range reference sample. [Claim 7] 7. The video decoding method of claim 6, wherein the first range and the second range do not overlap each other. [Claim 8] 7. The video decoding method of claim 6, wherein a first weight applied to the first predicted block is determined to be different from a weight applied to the second predicted block. [Claim 9] The video decoding method of claim 8, wherein the first weight value is determined based on a size of the current block. [Claim 10] 9. The video decoding method of claim 8, wherein the first weight and the second weight are predefined values. [Claim 11] A video encoding method performed by a video encoding device, comprising: determining an intra prediction mode for a current block; encoding prediction mode information of the current block based on the determined intra prediction mode; the intra prediction mode is determined based on whether the intra prediction mode is limited to a specific range; A video encoding method, wherein, based on the intra-frame prediction mode being limited to a specific range, intra-frame prediction of the current block is performed based on reference samples within a predetermined range among available reference samples of the current block, based on the intra-frame prediction mode being determined to be one of the intra-frame prediction modes within the specific range. [Claim 12] 12. A computer-readable medium storing a bitstream generated by the video encoding method of claim 11. [Claim 13] A method for transmitting a bitstream generated by a video encoding method, comprising: The video encoding method includes: determining an intra prediction mode for a current block; encoding prediction mode information of the current block based on the determined intra prediction mode; the intra prediction mode is determined based on whether the intra prediction mode is limited to a specific range; A transmission method in which, based on the intra-screen prediction mode being limited to a specific range, intra-screen prediction of the current block is performed based on reference samples within a predetermined range among available reference samples of the current block, based on the intra-screen prediction mode being determined to be one of the intra-screen prediction modes within the specific range.
Claims
1. A video decoding method performed by a video decoding device, comprising: determining an intra prediction mode of a current block; generating a predicted block of the current block by performing intra prediction based on the determined intra prediction mode; the intra-frame prediction mode is determined based on range restriction information indicating whether the intra-frame prediction mode is restricted within a specific range; a video decoding method, wherein, based on the range restriction information indicating that the intra-frame prediction mode is restricted within a specific range, the intra-frame prediction is performed based on reference samples within a predetermined range among available reference samples of the current block, based on the intra-frame prediction mode being determined to be one of the intra-frame prediction modes within the specific range.
2. The video decoding method of claim 1 , wherein the intra prediction mode is determined to be one directional mode within the specific range based on the use of a reference sample center within the specific range.
3. The video decoding method according to claim 2 , wherein the specific range is determined based on whether the intra prediction is based on wide-angle intra prediction.
4. The video decoding method of claim 2, wherein the specific range is one of directional mode ranges of 50 to 66, 35 to 66, or 19 to 34.
5. The video decoding method of claim 2, wherein the specific range is one of directional mode ranges of 2 to 18, 2 to 33, or 18 to 49.
6. 2. The video decoding method of claim 1, wherein the prediction block is generated by weighted summing a first prediction block obtained primarily using a first in-range reference sample and a second prediction block obtained primarily using a second in-range reference sample.
7. The video decoding method of claim 6 , wherein the first range and the second range do not overlap each other.
8. The video decoding method of claim 6 , wherein a first weight applied to the first predicted block is determined to be different from a weight applied to the second predicted block.
9. The video decoding method of claim 8, wherein the first weight is determined based on a size of the current block.
10. The video decoding method of claim 8, wherein the first weight and the second weight are predefined values.
11. A video encoding method performed by a video encoding device, comprising: determining an intra prediction mode of a current block; encoding prediction mode information of the current block based on the determined intra prediction mode; the intra prediction mode is determined based on whether the intra prediction mode is limited to a specific range; A video encoding method, wherein, based on the intra-frame prediction mode being limited to a specific range, intra-frame prediction of the current block is performed based on reference samples within a predetermined range among available reference samples of the current block, based on the intra-frame prediction mode being determined to be one of the intra-frame prediction modes within the specific range.
12. A computer-readable medium storing a bitstream produced by the video encoding method of claim 11.
13. A method for transmitting a bitstream generated by a video encoding method, comprising: The video encoding method includes: determining an intra prediction mode of a current block; encoding prediction mode information of the current block based on the determined intra prediction mode; the intra prediction mode is determined based on whether the intra prediction mode is limited to a specific range; A transmission method in which, based on the intra-screen prediction mode being limited to a specific range, intra-screen prediction of the current block is performed based on reference samples within a predetermined range among available reference samples of the current block, based on the intra-screen prediction mode being determined to be one of the intra-screen prediction modes within the specific range.