Video encoding / decoding method and apparatus, and recording medium storing bitstreams
The method enhances intra prediction accuracy and efficiency by using DIMD-based gradient calculations to adaptively select planar modes, addressing inefficiencies in existing video compression techniques for high-resolution images.
Patent Information
- Application Number
- JP2025528658
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-11-18
- Filing Date
- 2023-11-17
- Publication Date
- 2025-12-09
AI Technical Summary
Existing video compression techniques face challenges in accurately predicting pixel values within current pictures, particularly in high-resolution and high-quality images, leading to inefficiencies in intra prediction methods.
A method and apparatus for correcting DIMD-based prediction samples by deriving an intra prediction mode using decoder-side intra mode derivation (DIMD) and determining a planar mode based on gradient calculations between neighboring regions, allowing for adaptive use of multiple planar modes.
Improves the accuracy and efficiency of intra prediction by adaptively selecting planar modes based on the directionality of DIMD-based intra prediction, enhancing the overall prediction accuracy and compression efficiency.
Smart Images

Figure 2025539793000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a video encoding / decoding method and apparatus, and a recording medium storing a bitstream. [Background technology]
[0002] 2. Description of the Related Art In recent years, the demand for high-resolution, high-quality images such as high-definition (HD) images and ultra-high-definition (UHD) images has increased in various application fields, and as a result, highly efficient image compression techniques have been discussed.
[0003] There are various video compression techniques, such as inter-prediction techniques that predict pixel values contained in a current picture from pictures before or after the current picture, intra-prediction techniques that predict pixel values contained in a current picture using pixel information within the current picture, and entropy coding techniques that assign short codes to values that occur frequently and long codes to values that occur less frequently. Using these video compression techniques, video data can be effectively compressed and transmitted or stored. Summary of the Invention [Problem to be solved by the invention]
[0004] The present disclosure seeks to provide a DIMD-based intra prediction method and apparatus.
[0005] The present disclosure seeks to provide a method and apparatus for correcting DIMD-based prediction samples. [Means for solving the problem]
[0006] The video decoding method and apparatus according to the present disclosure may derive an intra prediction mode of a current block, derive a first prediction sample of the current block based on the intra prediction mode, derive a second prediction sample of the current block based on a predetermined planar mode, and derive the prediction sample of the current block based on a weighted sum of the first prediction sample and the second prediction sample.
[0007] In the video decoding method and apparatus according to the present disclosure, the intra prediction modes may include (may comprise, configure, construct, set, encompass, include, or contain) a first DIMD mode derived by decoder-side intra mode derivation (DIMD), where DIMD may be a method of deriving one or more intra prediction modes based on a gradient between samples belonging to a neighboring region of the current block.
[0008] In the video decoding method and apparatus according to the present disclosure, the predetermined planar mode may be any one of a non-directional planar mode, a horizontal planar mode, or a vertical planar mode.
[0009] In the video decoding method and apparatus according to the present disclosure, the peripheral region may include a plurality of sub-regions, and the plurality of sub-regions may include at least two of a left peripheral region, a top peripheral region, or a top left peripheral region.
[0010] In the video decoding method and apparatus according to the present disclosure, gradient magnitudes for the intra prediction modes may be calculated for each of the plurality of sub-regions.
[0011] In the image decoding method and apparatus according to the present disclosure, the predetermined planar mode may be determined based on the position of a sub-region to which the largest gradient magnitude belongs among the gradient magnitudes for the plurality of sub-regions.
[0012] In the image decoding method and apparatus according to the present disclosure, the predetermined planar mode may be determined based on a comparison of one of the gradient magnitudes for the plurality of sub-regions with another of the gradient magnitudes for the plurality of sub-regions.
[0013] In the video decoding method and apparatus according to the present disclosure, the predetermined planar mode may be determined based on a comparison of a gradient magnitude for the DIMD mode and a gradient magnitude for a second DIMD mode derived based on the DIMD.
[0014] In the video decoding method and apparatus according to the present disclosure, a predetermined planar mode may be determined based on the directionality of the first DIMD mode.
[0015] In the video decoding method and apparatus according to the present disclosure, the predetermined planar mode may be determined based on a difference between the first DIMD mode and a second DIMD mode derived based on the DIMD.
[0016] In the video decoding method and apparatus according to the present disclosure, predefined intra prediction modes may be divided into a plurality of groups, and the directionality of the first DIMD mode may be determined based on the group to which the first DIMD mode belongs among the plurality of groups.
[0017] The video encoding method and apparatus according to the present disclosure may derive an intra prediction mode of a current block, derive a first prediction sample of the current block based on the intra prediction mode, derive a second prediction sample of the current block based on a predetermined planar mode, and derive the prediction sample of the current block based on a weighted sum of the first prediction sample and the second prediction sample.
[0018] A computer-readable digital storage medium is provided having encoded video / image information stored thereon that enables a video decoding method to be performed by a decoding device according to the present disclosure.
[0019] A computer-readable digital storage medium is provided having stored thereon video / image information generated by the video encoding method according to the present disclosure.
[0020] A method and apparatus for transmitting video / image information generated by a video encoding method according to the present disclosure are provided. [Effects of the Invention]
[0021] According to the present disclosure, the accuracy of intra prediction can be improved by correcting DIMD-based prediction samples based on a predetermined planar mode.
[0022] According to the present disclosure, the efficiency of intra prediction can be improved by defining multiple planar mode types and adaptively using them.
[0023] According to the present disclosure, the accuracy of intra prediction can be improved by adaptively determining the type of planar mode in consideration of the directionality of the DIMD-based intra prediction mode.
[0024] According to the present disclosure, the efficiency of intra prediction can be improved by correcting DIMD-based prediction samples under certain conditions. [Brief explanation of the drawings]
[0025] [Figure 1] 1 illustrates a video / image coding system according to the present disclosure. [Figure 2] 1 is a schematic block diagram of an encoding device to which an embodiment of the present disclosure can be applied, in which video / image signals are encoded. [Figure 3] 1 is a schematic block diagram of a decoding device to which an embodiment of the present disclosure can be applied, in which video / image signals are decoded. [Figure 4]1 is a diagram illustrating an intra prediction method performed by a decoding device according to an embodiment of the present disclosure. [Figure 5] FIG. 1 is a diagram showing a schematic configuration of an intra prediction unit (331) that performs the intra prediction method according to the present disclosure. [Figure 6] 1 is a diagram illustrating an intra prediction method performed by an encoding device according to an embodiment of the present disclosure. [Figure 7] FIG. 1 is a diagram showing a schematic configuration of an intra prediction unit (222) that performs the intra prediction method according to the present disclosure. [Figure 8] FIG. 1 illustrates an example of a content streaming system to which embodiments of the present disclosure can be applied. DETAILED DESCRIPTION OF THE INVENTION
[0026] While the present disclosure may be modified in various ways and may have various embodiments, specific embodiments are illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the disclosure to the specific embodiments, and it should be understood that the present disclosure includes all modifications, equivalents, and alternatives within the spirit and technical scope of the present disclosure. In the description of each figure, similar reference numerals are used to refer to similar components.
[0027] Terms such as "first," "second," etc. may be used to describe various components, but these components should not be limited by such terms. These terms are used merely to distinguish one component from another. For example, a first component could be termed a second component, and similarly, a second component could be termed a first component, without departing from the scope of the present disclosure. The term "and / or" includes a combination of multiple associated listed items or any item of multiple associated listed items.
[0028] When a component is referred to as being "coupled" or "connected" to another component, it should be understood that the component may be directly coupled or connected to the other component, and that there may be additional components in between. On the other hand, when a component is referred to as being "directly coupled" or "directly connected" to another component, it should be understood that there are no additional components in between.
[0029] The terms used in this application are merely for the purpose of describing particular embodiments and are not intended to limit the present disclosure. The singular terms also include the plural terms unless the context clearly dictates otherwise. In this application, terms such as "comprise" or "have" are intended to specify the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, and should be understood as not precluding the possibility of the presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.
[0030] The present disclosure relates to video / image coding. For example, the methods / embodiments disclosed herein may be applied to methods disclosed in the versatile video coding (VVC) standard. The methods / embodiments disclosed herein may also be applied to methods disclosed in the essential video coding (EVC) standard, the AOMedia Video 1 (AV1) standard, the second generation audio video coding standard (AVS2), or next-generation video / image coding standards (e.g., H.267 or H.268).
[0031] This specification presents various embodiments relating to video / image coding, and unless otherwise stated, the above embodiments may be performed in combination with each other.
[0032] In this specification, video may refer to a collection of a series of images over time. A picture generally refers to a unit representing an image at a specific time period, and a slice / tile is a unit constituting part of a picture in coding. A slice / tile may include one or more coding tree units (CTUs). One picture may be composed of one or more slices / tiles. A tile is a rectangular area composed of multiple CTUs in a specific tile column and a specific tile row of a picture. A tile column is a rectangular area of CTUs having the same height as the picture and a width specified by the syntax requirements of the picture parameter set. A tile row is a rectangular area of CTUs having the same height as the picture and a width specified by the picture parameter set. CTUs within a tile may be arranged consecutively by CTU raster scanning, while tiles within a picture may be arranged consecutively by tile raster scanning. A slice may contain an integer number of complete tiles or an integer number of consecutive complete CTU rows within the tiles of a picture that may be contained exclusively in a single NAL unit, while a picture may be partitioned into two or more sub-pictures, which may be rectangular regions of one or more slices in a picture.
[0033] A picture element, pixel, or pel can refer to the smallest unit that makes up a picture (or an image). A "sample" can also be used as a term corresponding to a pixel. A sample can generally indicate a pixel or a pixel value, and may indicate only a pixel / pixel value of a luminance (luma) component, or may indicate only a pixel / pixel value of a chrominance (chroma) component.
[0034] A unit may refer to a basic unit of image processing. A unit may include at least one of a specific region of a picture and information related to that region. One unit may include one luma block and two chroma (e.g., cb, cr) blocks. The term unit may sometimes be used interchangeably with terms such as block or area. In general, an MxN block may include a set (or array) of samples or transform coefficients consisting of M columns and N rows.
[0035] As used herein, "A or B" can mean "A only," "B only," or "both A and B." In other words, as used herein, "A or B" can be interpreted as "A and / or B." For example, as used herein, "A, B, or C" can mean "A only," "B only," "C only," or "any combination of A, B, and C."
[0036] As used herein, a slash ( / ) or a comma can mean "and / or." For example, "A / B" can mean "A and / or B." Thus, "A / B" can mean "A only," "B only," or "both A and B." For example, "A, B, C" can mean "A, B, or C."
[0037] As used herein, "at least one of A and B" can mean "A only," "B only," or "both A and B." Furthermore, as used herein, the expressions "at least one of A or B" or "at least one of A and / or B" may be interpreted as being the same as "at least one of A and B."
[0038] Furthermore, in this specification, "at least one of A, B, and C" can mean "A only," "B only," "C only," or "any combination of A, B, and C." Furthermore, "at least one of A, B, or C" or "at least one of A, B, and / or C" can mean "at least one of A, B, and C."
[0039] Furthermore, parentheses used in this specification may mean "for example." Specifically, when "prediction (intra prediction)" is displayed, "intra prediction" may be suggested as an example of "prediction." In other words, "prediction" in this specification is not limited to "intra prediction," and "intra prediction" may be suggested as an example of "prediction." Furthermore, when "prediction (i.e., intra prediction)" is displayed, "intra prediction" may be suggested as an example of "prediction."
[0040] In this specification, technical features individually described in the same drawing may be embodied individually or simultaneously.
[0041] FIG. 1 is a diagram illustrating a video / image coding system according to this disclosure.
[0042] Referring to FIG. 1, a video / image coding system may include a first device (a source device) and a second device (a receiving device).
[0043] A source device can transmit encoded video / image information or data to a receiving device via a digital storage medium or a network in the form of a file or streaming. The source device may include a video source, an encoding device, and a transmitting unit. The receiving device may include a receiving unit, a decoding device, and a renderer. The encoding device may be called a video / image encoding device, and the decoding device may be called a video / image decoding device. The transmitter may be included in the encoding device. The receiver may be included in the decoding device. The renderer may include a display unit, which may be a separate device or an external component.
[0044] A video source can acquire video / images through a video / image capture, synthesis, or generation process. A video source can include a video / image capture device and / or a video / image generation device. A video / image capture device can include one or more cameras, a video / image archive containing previously captured video / images, etc. A video / image generation device can include a computer, tablet, smartphone, etc., and can (electronically) generate video / images. For example, a virtual video / image can be generated through a computer, etc., in which case the video / image capture process can be replaced by a process in which the associated data is generated.
[0045] An encoding device may encode input video / images. The encoding device may perform a series of steps such as prediction, transformation, and quantization for compression and coding efficiency. The encoded data (encoded video / image information) may be output in the form of a bitstream.
[0046] The transmitting unit can transmit the encoded video / image information or data output in the form of a bitstream to a receiving unit of a receiving device via a digital storage medium or a network in the form of a file or streaming. The digital storage medium can include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. The transmitting unit can include elements for generating a media file according to a predetermined file format and elements for transmission via a broadcasting / communication network. The receiving unit can receive / extract the bitstream and transmit it to a decoding device.
[0047] The decoding device can decode the video / image by performing a series of steps such as inverse quantization, inverse transform, and prediction, which correspond to the operations of the encoding device.
[0048] The renderer can render the decoded video / image, and the rendered video / image can be displayed on a display unit.
[0049] FIG. 2 is a schematic block diagram of an encoding device to which the embodiments of the present disclosure can be applied, in which video / image signals are encoded.
[0050] Referring to FIG. 2, the encoding apparatus 200 may include an image partitioner 210, a predictor 220, a residual processor 230, an entropy encoder 240, an adder 250, a filter 260, and a memory 270. The predictor 220 may include an inter-prediction unit 221 and an intra-prediction unit 222. The residual processor 230 may include a transformer 232, a quantizer 233, a dequantizer 234, and an inverse transformer 235. The residual processor 230 may further include a subtractor 231. The adder 250 may be referred to as a reconstructor or a reconstructed block generator. The above-described image divider 210, predictor 220, residual processor 230, entropy encoder 240, adder 250, and filterer 260 may be configured by one or more hardware components (e.g., an encoding device chipset or processor) depending on the embodiment. In addition, the memory 270 may include a decoded picture buffer (DPB) or may be configured by a digital storage medium. The hardware components may further include the memory 270 as an internal / external component.
[0051] The image division unit 210 may divide an input image (or picture, frame) input to the encoding device 200 into one or more processing units. For example, the processing units may be called coding units (CUs). In this case, the coding units may be recursively divided into coding tree units (CTUs) or largest coding units (LCUs) according to a QTBTTT (Quad-tree, Binary-tree, Ternary-tree) structure.
[0052] For example, one coding unit may be divided into multiple coding units having deeper depths based on a quadtree structure, a binary tree structure, and / or a tertiary structure. In this case, for example, the quadtree structure may be applied first, and then the binary tree structure and / or the tertiary structure may be applied later. Alternatively, the binary tree structure may be applied before the quadtree structure. The coding procedure according to the present specification may be performed based on a final coding unit that is not further divided. In this case, based on coding efficiency according to video characteristics, the largest coding unit may be immediately used as the final coding unit, or, if necessary, the coding unit may be recursively divided into coding units of lower depths, and the coding unit with the optimal size may be used as the final coding unit. Here, the coding procedure may include procedures such as prediction, transformation, and restoration, which will be described later.
[0053] As another example, the processing unit may further include a prediction unit (PU) or a transform unit (TU). In this case, the prediction unit and the transform unit may be divided 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.
[0054] The term "unit" may be used interchangeably with terms such as "block" or "area." In general, an MxN block may represent a set of samples or transform coefficients consisting of M columns and N rows. A sample may generally represent a pixel or a pixel value, and may represent only a pixel / pixel value of a luma component or only a pixel / pixel value of a chroma component. A sample may be used in terms corresponding to one picture (or image), pixel, or pel.
[0055] The encoding apparatus 200 may subtract a prediction signal (prediction block, prediction sample array) output from the inter prediction unit 221 or the intra prediction unit 222 from an input video signal (original block, original sample array) to generate a residual signal (residual block, residual sample array), and the generated residual signal is transmitted to the conversion unit 232. In this case, a unit in the encoding apparatus 200 that subtracts the prediction signal (prediction block, prediction sample array) from the input video signal (original block, original sample array) may be referred to as a subtraction unit 231.
[0056] The prediction unit 220 may perform prediction on a current block (hereinafter referred to as a current block) and generate a predicted block including prediction samples for the current block. The prediction unit 220 may determine whether intra prediction or inter prediction is applied to the current block or CU. The prediction unit 220 may generate various information related to prediction, such as prediction mode information, as will be described later in the description of each prediction mode, and transmit the information related to prediction to the entropy encoding unit 240. The entropy encoding unit 240 may encode the information related to prediction and output it in the form of a bitstream.
[0057] The intra prediction unit 222 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 at a certain distance from the current block depending on the prediction mode. In intra prediction, prediction modes may include one or more non-directional modes and multiple directional modes. The non-directional modes may include at least one of DC mode and planar mode. The directional modes may include 33 directional modes or 65 directional modes depending on the granularity of the prediction direction. However, this is merely an example, and more or less directional modes may be used depending on the settings. The intra prediction unit 222 may also determine the prediction mode to be applied to the current block using the prediction modes applied to neighboring blocks.
[0058] The inter prediction unit 221 may derive a prediction 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 the correlation of motion information between neighboring blocks and the current block. The motion information may include a motion vector and a reference picture index. The motion information may further include inter prediction direction information (e.g., L0 prediction, L1 prediction, Bi prediction, etc.). 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 called collocated reference blocks, collocated control units (colCUs), etc., and the reference picture including the temporal neighboring blocks may be called collocated pictures (colPic). For example, the inter prediction unit 221 may configure a motion information candidate list based on neighboring blocks and generate information indicating which candidates are 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 a skip mode or a merge mode, the inter prediction unit 221 may use motion information of neighboring blocks as motion information for the current block. In the case of the skip mode, unlike in the merge mode, a residual signal may not be transmitted.In the case of motion vector prediction (MVP) mode, the motion vector of the current block can be indicated by using the motion vector of a neighboring block as a motion vector predictor and signaling the motion vector difference.
[0059] The prediction unit 220 may generate a prediction signal based on various prediction methods, which will be described later. For example, the prediction unit may apply intra prediction or inter prediction for predicting a block, or may simultaneously apply intra prediction and inter prediction. This may be referred to as a combined inter and intra prediction (CIIP) mode. The prediction unit may also use an intra block copy (IBC) prediction mode or a palette mode for predicting a block. The IBC prediction mode or palette mode may be used for coding content images / videos, such as games, such as screen content coding (SCC). IBC basically performs prediction within a current picture, but may be similar to inter prediction in that it derives a reference block within the current picture. That is, IBC may use at least one of the inter prediction techniques described herein. The palette mode may be considered an example of intra coding or intra prediction. When the palette mode is applied, a sample value within the picture may be signaled based on information about a palette table and a palette index. The predicted signal generated by the prediction unit 220 may be used to generate a reconstructed signal or a residual signal.
[0060] The transform unit 232 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), and a Conditionally Non-Linear Transform (CNT). Here, GBT refers to a transform obtained from a graph representing inter-pixel relationship information. CNT refers to a transform obtained based on a predicted signal generated using all previously reconstructed pixels. The transform process may be applied to square pixel blocks of the same size, or to non-square blocks of variable sizes.
[0061] The quantization unit 233 quantizes the transform coefficients and transmits the quantized signal to the entropy encoding unit 240. The entropy encoding unit 240 encodes the quantized signal (information about the quantized transform coefficients) and outputs it as a bitstream. The information about the quantized transform coefficients may be referred to as residual information. The quantization unit 233 rearranges the quantized transform coefficients in a block form into a one-dimensional vector form based on a coefficient scan order, and generates information about the quantized transform coefficients based on the quantized transform coefficients in the one-dimensional vector form.
[0062] The entropy encoding unit 240 can 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 240 can encode information necessary for video / image reconstruction (e.g., values of syntax elements) together with or separately from the quantized transform coefficients.
[0063] 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. In this specification, information and / or syntax elements transmitted / signaled from an encoding device to a decoding device may be included in the video / video information. The video / video information may be encoded using the encoding procedure described above and included in the bitstream. The bitstream may be transmitted over a network or stored in a digital storage medium. Here, the network may include a broadcast 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. The signal output from the entropy encoding unit 240 may be transmitted to a transmitting unit (not shown) and / or stored to a storing unit (not shown) configured as an internal / external element of the encoding device 200, or the transmitting unit may be included in the entropy encoding unit 240.
[0064] The quantized transform coefficients output from the quantization unit 233 may be used to generate a prediction signal. For example, the inverse quantization unit 234 and the inverse transform unit 235 may apply inverse quantization and inverse transform to the quantized transform coefficients to reconstruct a residual signal (residual block or residual sample). The adder 250 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 221 or the intra prediction unit 222. When there is no residual for the current block, such as when a skip mode is applied, the predicted block may be used as the reconstructed block. The adder 250 may be referred to as a reconstruction unit or a reconstructed block generator. The generated reconstructed signal may be used for intra prediction of the next block to be processed in the current picture, or may be used for inter prediction of the next picture after filtering, as described below. Meanwhile, luma mapping with chroma scaling (LMCS) may be applied during picture encoding and / or reconstruction.
[0065] The filtering unit 260 may apply filtering to the reconstructed signal to improve subjective / objective image quality. For example, the filtering unit 260 may apply various filtering methods to the reconstructed picture to generate a modified reconstructed picture and store the modified reconstructed picture in the memory 270, specifically, in the DPB of the memory 270. The various filtering methods may include deblocking filtering, sample adaptive offset, an adaptive loop filter, a bilateral filter, etc. The filtering unit 260 may generate various information related to filtering and transmit it to the entropy encoding unit 240. The information related to filtering may be encoded by the entropy encoding unit 240 and output in the form of a bitstream.
[0066] The modified reconstructed picture transmitted to the memory 270 may be used as a reference picture in the inter prediction unit 221. This allows the encoding apparatus to avoid prediction mismatch between the encoding apparatus 200 and the decoding apparatus when inter prediction is applied, and also improves coding efficiency.
[0067] The DPB of the memory 270 may store the modified reconstructed picture to be used as a reference picture in the inter predictor 221. The memory 270 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 predictor 221 to be used as motion information of a spatially neighboring block or a temporally neighboring block. The memory 270 may store reconstructed samples of reconstructed blocks in the current picture and transmit them to the intra predictor 222.
[0068] FIG. 3 is a schematic block diagram of a decoding device to which the embodiments of the present disclosure can be applied, in which video / image signals are decoded.
[0069] 3, the decoding device 300 may include an entropy decoding unit (entropy decoder 310), a residual processor (residual processor 320), a predictor (predictor 330), an adder (adder 340), a filter (filter 350), and a memory (memory 360). The predictor 330 may include an inter predictor 331 and an intra predictor 332. The residual processor 320 may include a dequantizer (dequantizer 321) and an inverse transformer (inverse transformer 322).
[0070] The entropy decoding unit 310, residual processing unit 320, prediction unit 330, addition unit 340, and filtering unit 350 may be configured as a single hardware component (e.g., a decoding device chipset or processor) depending on the embodiment. Also, the memory 360 may include a decoded picture buffer (DPB) and may be configured as a digital storage medium. The hardware component may further include the memory 360 as an internal / external component.
[0071] When a bitstream including video / image information is input, the decoding apparatus 300 can reconstruct an image corresponding to the process by which the video / image information was processed by the encoding apparatus of FIG. 2. For example, the decoding apparatus 300 can derive units / blocks based on block division-related information obtained from the bitstream. The decoding apparatus 300 can perform decoding using a processing unit applied by the encoding apparatus. Accordingly, the processing unit for decoding may be a coding unit, which may be divided from a coding tree unit or a maximum coding unit according to a quad tree structure, a binary tree structure, and / or a tertiary tree structure. One or more transform units may be derived from the coding unit. The reconstructed image signal decoded and output by the decoding apparatus 300 may be played back by a playback device.
[0072] The decoding apparatus 300 may receive a signal output from the encoding apparatus of FIG. 2 in the form of a bitstream, and the received signal may be decoded by the entropy decoding unit 310. For example, the entropy decoding unit 310 may parse the bitstream and 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 decoding apparatus may decode pictures further based on the information on the parameter sets and / or the general constraint information. Signal / received information and / or syntax elements described later in this specification may be decoded by the decoding procedure and obtained from the bitstream. For example, the entropy decoding unit 310 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 and current blocks, or information on symbols / bins decoded in previous steps, predicts the occurrence probability of the bins based on the determined context model, and generates symbols corresponding to the values of each syntax element by performing arithmetic decoding of the bins. In this case, after determining the context model, the CABAC entropy decoding method may update the context model using information on the decoded symbols / bins for the context model of the next symbol / bin.Information related to prediction among the information decoded by the entropy decoding unit 310 may be provided to a prediction unit (inter prediction unit 332 and intra prediction unit 331), and residual values entropy decoded by the entropy decoding unit 310, i.e., quantized transform coefficients and related parameter information, may be input to a residual processing unit 320. The residual processing unit 320 may derive a residual signal (residual block, residual sample, residual sample array). In addition, information related to filtering among the information decoded by the entropy decoding unit 310 may be provided to a filtering unit 350. Meanwhile, a receiving unit (not shown) that receives a signal output from the encoding apparatus may be further configured as an internal / external element of the decoding apparatus 300, or the receiving unit may be a component of the entropy decoding unit 310.
[0073] Meanwhile, the decoding apparatus according to the present specification may be referred to as a video / image / picture decoding apparatus, and the decoding apparatus may be divided into an information decoding apparatus (video / image / picture information decoding apparatus) and a sample decoding apparatus (video / image / picture sample decoding apparatus). The information decoding apparatus may include the entropy decoding unit 310, and the sample decoding apparatus may include at least one of the inverse quantization unit 321, the inverse transform unit 322, the addition unit 340, the filtering unit 350, the memory 360, the inter prediction unit 332, and the intra prediction unit 331.
[0074] The inverse quantization unit 321 can inverse quantize the quantized transform coefficients and output the transform coefficients. The inverse quantization unit 321 can rearrange the quantized transform coefficients in a two-dimensional block format. In this case, the rearrangement can be performed based on the coefficient scanning order performed in the encoding apparatus. The inverse quantization unit 321 can obtain transform coefficients by inverse quantizing the quantized transform coefficients using a quantization parameter (e.g., quantization step size information).
[0075] The inverse transform unit 322 performs inverse transform on the transform coefficients to obtain a residual signal (residual block, residual sample array).
[0076] The prediction unit 320 may perform prediction on a current block and generate a predicted block including prediction samples for the current block. The prediction unit 320 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 310, and may determine a specific intra / inter prediction mode.
[0077] The prediction unit 320 may generate a prediction signal based on various prediction methods, which will be described later. For example, the prediction unit 320 may apply intra prediction or inter prediction for predicting a block, or may simultaneously apply intra prediction and inter prediction. This may be referred to as a combined inter and intra prediction (CIIP) mode. The prediction unit may also use an intra block copy (IBC) prediction mode or a palette mode for predicting a block. The IBC prediction mode or palette mode may be used for content video / movie coding, such as games, such as screen content coding (SCC). IBC basically performs prediction within a current picture, but may be similar to inter prediction in that it derives a reference block within the current picture. That is, IBC may use at least one of the inter prediction techniques described herein. The palette mode may be considered an example of intra coding or intra prediction. When the palette mode is applied, information about a palette table and a palette index may be included in the video / picture information and signaled.
[0078] The intra prediction unit 331 may predict a current block by referring to samples in a current picture. The referenced samples may be located in the neighborhood of the current block or at a certain distance from the current block depending on the prediction mode. In intra prediction, prediction modes may include one or more non-directional modes and multiple directional modes. The intra prediction unit 331 may determine a prediction mode to be applied to the current block using prediction modes applied to neighboring blocks.
[0079] The inter prediction unit 332 may derive a prediction 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 the correlation of motion information between neighboring blocks and the current block. The motion information may include a motion vector and a reference picture index. The motion information may further include inter prediction direction information (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 332 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, and the prediction information may include information indicating the inter prediction mode for the current block.
[0080] The adder 340 can generate a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array) by adding the acquired residual signal to a prediction signal (prediction block, prediction sample array) output from a prediction unit (including the inter prediction unit 332 and / or the intra prediction unit 331). When there is no residual for the current block, such as when the skip mode is applied, the prediction block may be used as the reconstructed block.
[0081] The adder 340 may be referred to as a reconstruction unit or a reconstruction block generator. The generated reconstruction signal may be used for intra prediction of a next block to be processed in a current picture, may be output after filtering as described below, or may be used for inter prediction of a next picture. Meanwhile, luma mapping with chroma scaling (LMCS) may be applied during picture decoding.
[0082] The filtering unit 350 may apply filtering to the reconstructed signal to improve subjective / objective image quality. For example, the filtering unit 350 may apply various filtering methods to the reconstructed picture to generate a modified reconstructed picture, and may transmit the modified reconstructed picture to the memory 360, specifically, to the DPB of the memory 360. The various filtering methods may include deblocking filtering, sample adaptive offset, an adaptive loop filter, a bilateral filter, etc.
[0083] The (modified) reconstructed picture stored in the DPB of the memory 360 may be used as a reference picture in the inter predictor 332. The memory 360 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 predictor 260 to be used as motion information of a spatially neighboring block or a temporally neighboring block. The memory 360 may store reconstructed samples of reconstructed blocks in the current picture and transmit them to the intra predictor 331.
[0084] In this specification, the embodiments described for the filtering unit 260, inter prediction unit 221, and intra prediction unit 222 of the encoding device 200 may also be applied identically or correspondingly to the filtering unit 350, inter prediction unit 332, and intra prediction unit 331 of the decoding device 300, respectively.
[0085] FIG. 4 is a diagram illustrating an intra prediction method performed by a decoding device according to an embodiment of the present disclosure.
[0086] Referring to FIG. 4, an intra prediction mode of a current block can be derived based on decoder-side intra mode derivation (DIMD) (S400).
[0087] A gradient may be calculated based on at least two samples belonging to a neighboring region of the current block. Here, the gradient may include at least one of a horizontal gradient or a vertical gradient. N intra prediction modes may be derived based on at least one of the calculated gradient or gradient amplitude. Here, the gradient magnitude may be determined based on the sum of the horizontal gradient and the vertical gradient.
[0088] For example, gradients may be calculated in units of windows having a predetermined size. An angle indicating the directionality of samples within the window may be calculated based on the calculated gradients. The calculated angle may correspond to one of the predefined intra prediction modes described above. The magnitude of the gradient may be stored / updated for the intra prediction mode corresponding to the calculated angle. Through this process, an intra prediction mode corresponding to the calculated gradients may be determined for each window, and the magnitude of the gradient may be stored / updated for the determined intra prediction mode. The top N intra prediction modes having the largest magnitudes of the stored / updated gradients may be selected, where N may be an integer of 1, 2, 3, or more. The selected intra prediction mode may be set as the intra prediction mode of the current block.
[0089] The surrounding area used to calculate the gradient is an area previously restored to the current block and may include at least one of the left area, top area, top left area, bottom left area, or top right area adjacent to the current block. The surrounding area may include at least one of a neighboring sample line adjacent to the current block, a first non-neighboring sample line one sample away from the current block, or a second non-neighboring sample line two samples away from the current block. However, the surrounding area is not limited thereto, and may further include a non-neighboring sample line M samples away from the current block, where M may be an integer greater than or equal to 3.
[0090] The surrounding region may be a region predefined in the same way in both the encoding device and the decoding device for calculating the gradient. Alternatively, the surrounding region may be variably determined based on information specifying the position of the surrounding region. In this case, the information specifying the position of the surrounding region may be signaled in a bitstream. Alternatively, the position of the surrounding region may be determined based on at least one of whether the current block is located on a boundary of a coding tree unit, the size of the current block (e.g., width, height, width-to-height ratio, product of width and height), the division type of the current block, the prediction mode of the surrounding region, or the availability of the surrounding region.
[0091] For example, if the current block is located at the top boundary of a coding tree unit, at least one of the top region, the top-left region, or the top-right region of the current block may not be referenced to calculate the gradient. If the width of the current block is greater than the height, either the top region or the left region (e.g., the top region) may be referenced to calculate the gradient, while the other (e.g., the left region) may not be referenced to calculate the gradient. Conversely, if the width of the current block is smaller than the height, either the top region or the left region (e.g., the left region) may be referenced to calculate the gradient, while the other (e.g., the top region) may not be referenced to calculate the gradient. If the current block is generated by horizontal block division, the top region may not be referenced to calculate the gradient. Conversely, if the current block is generated by vertical block division, the left region may not be referenced to calculate the gradient. If surrounding regions of the current block are coded as inter mode, the surrounding regions may not be referenced to calculate the gradient. However, the present invention is not limited to this, and the surrounding area may be referred to for calculating the gradient regardless of the prediction mode of the surrounding area.
[0092] Referring to FIG. 4, a prediction sample of a current block can be derived based on the intra prediction mode of the current block (S410).
[0093] According to the above-described method, one or more intra prediction modes may be derived for the current block based on the DIMD. Hereinafter, the intra prediction modes derived based on the DIMD will be referred to as DIMD modes.
[0094] When one DIMD mode is used for the current block, intra prediction can be performed based on the DIMD mode to derive a predicted sample for the current block.
[0095] When a plurality of DIMD modes are used for the current block, a predicted sample may be derived for each of the plurality of DIMD modes, and a predicted sample of the current block may be derived based on a weighted sum of the derived predicted samples. For example, when N DIMD modes are used, a predicted sample of the current block may be derived as shown in Equation 1 below.
[0096]
number
[0097] In Equation 1, pred may represent a predicted sample of the current block, pred1 represents a predicted sample derived based on a first DIMD mode, pred2 represents a predicted sample derived based on a second DIMD mode, and pred N may refer to a predicted sample derived based on the Nth DIMD mode. Here, the first DIMD mode may refer to the first DIMD mode in descending order of gradient magnitude among the top N DIMD modes with the largest gradient magnitude. Similarly, the second DIMD mode may refer to the second DIMD mode in descending order of gradient magnitude among the top N DIMD modes with the largest gradient magnitude, and the Nth DIMD mode may refer to the Nth DIMD mode in descending order of gradient magnitude among the top N DIMD modes with the largest gradient magnitude. w1 to w N pred1~pred Nare weights applied to each of the N DIMD modes, and may be determined based on the magnitude of the gradients for the N DIMD modes.
[0098] Referring to FIG. 4, the prediction samples of the current block may be corrected based on a predetermined planar mode (S420).
[0099] The prediction samples derived based on one or more of the above-mentioned DIMD modes may be corrected based on the prediction samples according to a predetermined planar mode, and the corrected prediction samples may be set as the prediction samples of the current block.
[0100] Specifically, the prediction samples of the current block may be derived based on a weighted sum of prediction samples derived based on one or more of the above-described DIMD modes and prediction samples derived based on a predetermined planar mode, where the predetermined planar mode may be any one of a non-directional planar mode, a horizontal planar mode, or a vertical planar mode.
[0101] The prediction samples according to the non-directional planar mode may be derived by a weighted sum of horizontally interpolated prediction samples and vertically interpolated prediction samples. Here, the horizontally interpolated prediction samples may be derived based on the left and right peripheral samples of the current block. The vertically interpolated prediction samples may be derived based on the top and bottom peripheral samples of the current block. For example, the prediction samples according to the non-directional planar mode may be derived as shown in Equation 2 below.
[0102]
number
[0103] In Equation 2, predH and predV may represent horizontally interpolated predicted samples and vertically interpolated predicted samples, respectively. W and H may represent the width and height of the current block, respectively. rec(x,-1) may represent the top-edge peripheral sample of the current block, and rec(-1,H) may represent the bottom-left peripheral sample of the current block. rec(-1,y) may represent the left-edge peripheral sample of the current block, and rec(W,-1) may represent the top-right peripheral sample of the current block. Planar may represent predicted samples in a non-directional planar mode.
[0104] The prediction samples according to the horizontal planar mode may be derived based on horizontally interpolated prediction samples. Here, the horizontally interpolated prediction samples may be derived based on a weighted sum of the left and right peripheral samples of the current block. For example, the prediction samples according to the horizontal planar mode may be derived as shown in Equation 3 or 4 below.
[0105]
number
[0106]
number
[0107] In Equation 3, predH may represent a predicted sample interpolated horizontally. W and H may represent the width and height of the current block, respectively. rec(-1,y) may represent a sample adjacent to the left side of the current block, and rec(W,-1) may represent a sample adjacent to the top right corner of the current block. Planar Hor may represent the final predicted sample in horizontal planar mode. This may also be applied to Equation 4.
[0108] The predicted samples according to the vertical planar mode may be derived based on vertically interpolated predicted samples. Here, the vertically interpolated predicted samples may be derived based on a weighted sum of the top-edge and bottom-left-edge samples of the current block. For example, the predicted samples according to the vertical planar mode may be derived as shown in Equation 5 or 6 below.
[0109]
number
[0110]
number
[0111] In Equation 5, predV may represent a predicted sample interpolated vertically. W and H may represent the width and height of the current block, respectively. rec(x,-1) may represent a sample around the top edge of the current block, and rec(-1,H) may represent a sample around the bottom left edge of the current block. Planar Ver can mean the final predicted sample in the vertical planar mode. This can be applied to Equation 6 as well.
[0112] The predetermined planar mode-based correction may be adaptively performed based on whether the surrounding regions of the current block are available. For example, if both the left and top surrounding regions of the current block are available, a weighted sum of prediction samples according to a predetermined planar mode may be performed. On the other hand, if at least one of the left and top surrounding regions of the current block is not available, a weighted sum of prediction samples according to a predetermined planar mode may not be performed. In this case, prediction samples of the current block may be derived based on prediction samples according to a DIMD mode without prediction samples according to a predetermined planar mode. This method may improve prediction efficiency by weighting samples of surrounding regions that contribute more to the prediction of the current block.
[0113] Alternatively, the predetermined planar mode-based correction may be adaptively performed based on a predetermined flag. Here, the flag may indicate whether prediction samples according to a DIMD mode are corrected. Alternatively, the flag may indicate whether prediction samples according to a predetermined planar mode are used to correct already derived prediction samples of the current block. Alternatively, the flag may indicate whether a weighted sum of a DIMD mode and a predetermined planar mode is applied. The flag may be signaled in a bitstream and may be derived based on coding parameters of the current block. Here, the coding parameters may include at least one of the size of the current block, whether the intra prediction mode is a directional mode, the angle of the intra prediction mode, whether a DIMD mode is applied, and a component type.
[0114] In the following, a method for determining the type of planar mode for weighted summation with DIMD mode-based prediction samples is described.
[0115] [Embodiment] Example 1
[0116] The predetermined planar mode may be determined based on the gradient amplitude in a predetermined surrounding region relative to the first DIMD mode of the current block.
[0117] Specifically, the surrounding area adjacent to the current block may be divided into a plurality of sub-areas, and the magnitude of the gradient for the first DIMD mode of the current block may be calculated / checked in each sub-area.
[0118] The peripheral region may be divided into a left peripheral region and an upper peripheral region, or into a left peripheral region, an upper peripheral region, and an upper left peripheral region, or into at least two of the left peripheral region, the upper peripheral region, the upper left peripheral region, the lower left peripheral region, and the upper right peripheral region.
[0119] The top left peripheral region may be included in the top or left peripheral region depending on the size of the current block or the ratio of the width to the height of the current block. Alternatively, the top left peripheral region may be excluded from the plurality of sub-regions depending on the size of the current block or the ratio of the width to the height of the current block. For example, if the size of the current block is larger than 8x8 and the width of the current block is larger than the height of the current block, the top left peripheral region may be included in the left peripheral region. If the size of the current block is larger than 8x8 and the width of the current block is smaller than the height of the current block, the top left peripheral region may be included in the top peripheral region.
[0120] If the gradient magnitude in the left peripheral region is greater than the gradient magnitude in the top peripheral region, the current block may be determined to be a block that is heavily influenced by samples in the left peripheral region. In this way, when the current block is determined to be a block that is heavily influenced by samples in the left peripheral region, the predetermined planar mode may be determined to be a horizontal planar mode. That is, the prediction samples of the current block may be derived based on a weighted sum of prediction samples derived based on the DIMD mode and prediction samples derived based on the horizontal planar mode.
[0121] For example, when N DIMD modes are induced for the current block, the predicted samples of the current block may be derived as shown in Equation 7 below.
[0122]
number
[0123] In Equation 7, pred may represent a predicted sample of the current block. N w1 to w2 represent predicted samples derived based on the 1st to Nth DIMD modes, respectively. N pred1~pred N and may be determined based on the magnitude of the gradients for the N DIMD modes that have already been calculated.Hor denotes the predicted sample derived based on the horizontal planar mode, and w (N+1) w may be a weight applied to the prediction samples in horizontal planar mode. (N+1) may be determined based on at least one of the gradients for the N DIMD modes. (N+1) may be determined based on information for deriving weights according to the horizontal planar mode, and the information may be signaled in the bitstream. (N+1) may be determined based on weights predefined in the encoding device and the decoding device, where N is an integer of 1, 2, 3 or more, as described above.
[0124] Alternatively, when a weighted sum with a prediction sample according to a horizontal planar mode is applied to the current block, even if N DIMD modes are induced for the current block, the weighted sum with a prediction sample according to the Nth DIMD mode may be restricted not to be applied. In this case, the prediction sample of the current block may be induced as shown in Equation 8 below.
[0125]
number
[0126] Referring to Equation 8, the predicted sample (pred) of the current block is derived from the predicted samples (pred1 to pred2) derived based on the 1st to (N-1)th DIMD modes excluding the Nth DIMD mode. (N-1) ) and predicted samples derived based on horizontal planar modes (Planar Hor ) That is, when a weighted sum with a prediction sample according to the horizontal planar mode is applied to the current block, the N-th prediction sample according to the DIMD mode may be replaced with a prediction sample according to the horizontal planar mode.
[0127] Here, w1~wN-1 pred1~pred (N-1) are weights applied to each of the (N-1) DIMD modes, and may be determined based on the magnitude of the gradients for the previously calculated (N-1) DIMD modes. N may be determined based on at least one of the gradients for the (N-1) DIMD modes. N may be determined based on information for deriving weights according to the horizontal planar mode, and the information may be signaled in the bitstream. N may be determined based on weights predefined for the encoding device and the decoding device.
[0128] Conversely, if the gradient magnitude in the top peripheral region is greater than the gradient magnitude in the left peripheral region, the current block may be a block that is heavily influenced by samples in the top peripheral region. Thus, if the current block is determined to be a block that is heavily influenced by samples in the top peripheral region, the predetermined planar mode may be determined to be a vertical planar mode. That is, the prediction samples of the current block may be derived based on a weighted sum of prediction samples derived based on the DIMD mode and prediction samples derived based on the vertical planar mode.
[0129] For example, when N DIMD modes are induced for the current block, the predicted samples of the current block may be derived as shown in Equation 9 below.
[0130]
number
[0131] In Equation 9, pred may represent a predicted sample of the current block. N w1 to w2 represent predicted samples derived based on the 1st to Nth DIMD modes, respectively. N pred1~pred Nand may be determined based on the magnitude of the gradients for the N DIMD modes that have already been calculated. Ver denotes the predicted sample guided based on the vertical planar mode, and w (N+1) w may be a weight applied to the prediction samples in the vertical planar mode. (N+1) may be determined based on at least one of the gradients for the N DIMD modes. (N+1) may be determined based on information for deriving weights according to horizontal planar mode, and the information may be signaled in the bitstream. (N+1) may be determined based on weights predefined in the encoding device and the decoding device, where N is an integer of 1, 2, 3 or more, as described above.
[0132] Alternatively, when a weighted sum with a prediction sample according to a vertical planar mode is applied to the current block, even if N DIMD modes are induced for the current block, the weighted sum with a prediction sample according to the Nth DIMD mode may be restricted not to be applied. In this case, the prediction sample of the current block may be induced as shown in Equation 10.
[0133]
number
[0134] Referring to Equation 10, the predicted sample (pred) of the current block is derived from the predicted samples (pred1 to pred2) derived based on the 1st to (N-1)th DIMD modes excluding the Nth DIMD mode. (N-1) ) and predicted samples derived based on vertical planar modes (Planar Ver) That is, when a weighted sum with a prediction sample according to the vertical planar mode is applied to the current block, the N-th prediction sample according to the DIMD mode may be replaced with a prediction sample according to the vertical planar mode.
[0135] Here, w1~w N-1 pred1~pred (N-1) are weights applied to each of the (N-1) DIMD modes, and may be determined based on the magnitude of the gradients for the previously calculated (N-1) DIMD modes. N may be determined based on at least one of the gradients for the (N-1) DIMD modes. N may be determined based on information for deriving weights according to the vertical planar mode, and the information may be signaled in the bitstream. N may be determined based on weights predefined for the encoding device and the decoding device.
[0136] Example 2
[0137] A predetermined planar mode may be determined based on the gradient magnitude for the first DIMD mode of the current block. The gradient magnitude for the first DIMD mode may be calculated / confirmed for each sub-region within the surrounding region. Here, the sub-regions are as described in Example 1. The planar mode may be determined by comparing the gradient magnitude for each sub-region.
[0138] As an example, the magnitude of the gradient for the first DIMD mode in the left peripheral region, the top peripheral region, and the top left peripheral region is Amp L , Amp A , and Amp AL and , respectively. Based on a comparison between the magnitudes of the gradients, the type of planar mode may be determined as follows:
[0139]
number
[0140] In Equation 11, weights Th1 and Th2 for the thresholds are weights for each surrounding region and may be any integer. For example, Th1 and Th2 may each be 2. Alternatively, Th1 may be 2 and Th2 may be 0. The weights may be predefined in the same manner for both the encoding device and the decoding device, and may be signaled at at least one level of VPS, SPS, PPS, picture header (PH), or slice header (SH), or may be signaled at a block level such as a coding unit or coding unit. Alternatively, the weights may be variably determined depending on the size or shape of the current block.
[0141] Furthermore, a comparison between the magnitude of the gradient for the first DIMD mode and the magnitude of the gradient for the second DIMD mode may be further considered. Here, the magnitude of the gradient for the first DIMD mode and the second DIMD mode may be calculated based on the entire surrounding area rather than on a portion of a sub-area. Alternatively, the magnitude of the gradient for the first DIMD mode and the second DIMD mode may be calculated based on a portion of a sub-area within the surrounding area (e.g., the left side, the top edge, or the upper left edge surrounding area).
[0142] For example, the type of planar mode may be determined by further considering a comparison between the magnitude of the gradient for the first DIMD mode and the magnitude of the gradient for the second DIMD mode, as shown in the following Equation 12.
[0143]
number
[0144] Equation 12 is obtained by adding a comparison condition between the magnitude of the gradient (Amp) for the first DIMD mode and the magnitude of the gradient (Amp') for the second DIMD mode to Equation 11. That is, Amp is a predetermined weight (Th mode ) is greater than the applied value, then either a horizontal planar mode or a vertical planar mode is available; otherwise, the type of planar mode may be determined to be a non-directional planar mode.
[0145] When the type of a predetermined planar mode is determined by the above-described method, the predicted samples of the current block may be derived as shown in Equation 13.
[0146]
number
[0147] In Equation 13, pred may represent a predicted sample of the current block. N w1 to w2 represent predicted samples derived based on the 1st to Nth DIMD modes, respectively. N pred1~pred N and may be determined based on the magnitude of the gradients for the N DIMD modes that have already been calculated. PlanarType denotes the predicted sample guided by the type of planar mode, and w (N+1) pred PlanarType may be a weighting applied to
[0148] Alternatively, when a weighted sum with a prediction sample according to a predetermined planar mode is applied to the current block, even if N DIMD modes are induced for the current block, the weighted sum with a prediction sample according to the Nth DIMD mode may be restricted not to be applied. In this case, the prediction sample of the current block may be derived as shown in Equation 14.
[0149]
number
[0150] Referring to Equation 14, the prediction sample (pred) of the current block may be derived based on a weighted sum of prediction samples derived based on the 1st to (N-1)th DIMD modes excluding the Nth DIMD mode and a prediction sample derived based on a predetermined planar mode. That is, when a weighted sum with a prediction sample according to a predetermined planar mode is applied to the current block, the prediction sample according to the Nth DIMD mode may be replaced with the prediction sample according to the predetermined planar mode.
[0151] Example 3
[0152] If the first DIMD mode of the current block is determined as a horizontal component mode, the predetermined planar mode may be determined as a horizontal planar mode. Alternatively, if the first DIMD mode of the current block is determined as a horizontal component mode, the predetermined planar mode may be determined as a vertical planar mode. In this way, by using a planar mode in the opposite direction to the DIMD mode, the effect of smoothing the predicted block can be obtained.
[0153] In the present disclosure, the type of planar mode is determined by considering the first DIMD mode of the current block, but is not limited to this. For example, the type of planar mode may be determined by further considering the second DIMD mode in addition to the first DIMD mode of the current block. Specifically, the magnitude of the gradients of the first DIMD mode and the second DIMD mode may be compared, and the type of planar mode may be determined by further considering the comparison result.
[0154] If the predetermined planar mode is determined to be a horizontal planar mode, the predicted samples of the current block may be derived as shown in the following Equation 15 or 16. Alternatively, if the predetermined planar mode is determined to be a vertical planar mode, the predicted samples of the current block may be derived as shown in Equation 17 or 18, which will be described later.
[0155]
number
[0156] In Equation 15, pred may represent a predicted sample of the current block. N w1 to w2 represent predicted samples derived based on the 1st to Nth DIMD modes, respectively. N pred1~pred N and may be determined based on the magnitude of the gradients for the N DIMD modes that have already been calculated. Hor denotes the predicted sample derived based on the horizontal planar mode, and w (N+1) w may be a weight applied to the prediction samples in horizontal planar mode. (N+1) The method for determining is as explained in Example 2. Here, N is an integer of 1, 2, 3 or more, as mentioned above.
[0157] Alternatively, when a weighted sum with a prediction sample according to a horizontal planar mode is applied to the current block, even if N DIMD modes are induced for the current block, the weighted sum with a prediction sample according to the Nth DIMD mode may be restricted not to be applied. In this case, the prediction sample of the current block may be induced as shown in Equation 16.
[0158]
number
[0159] Referring to Equation 16, the predicted sample (pred) of the current block is derived from the predicted samples (pred1 to pred2) derived based on the 1st to (N-1)th DIMD modes excluding the Nth DIMD mode. (N-1) ) and predicted samples derived based on horizontal planar modes (Planar Hor ) may be derived based on a weighted sum with a prediction sample according to the horizontal planar mode. That is, when a weighted sum with a prediction sample according to the horizontal planar mode is applied to the current block, the N-th prediction sample according to the DIMD mode may be replaced with a prediction sample according to the horizontal planar mode. The weight values in Equation 16 may be determined by the method described in Example 2.
[0160] If the first DIMD mode of the current block is determined to be a vertical component mode, the predetermined planar mode may be determined to be a vertical planar mode. Alternatively, if the first DIMD mode of the current block is determined to be a vertical component mode, the predetermined planar mode may be determined to be a horizontal planar mode. In this way, by using a planar mode in the opposite direction to the DIMD mode, the effect of smoothing the predicted block can be obtained.
[0161] In the present disclosure, the type of planar mode is determined by considering the first DIMD mode of the current block, but is not limited to this. For example, the type of planar mode may be determined by further considering the second DIMD mode in addition to the first DIMD mode of the current block. Specifically, the magnitude of the gradients of the first DIMD mode and the second DIMD mode may be compared, and the type of planar mode may be determined by further considering the comparison result.
[0162] If the predetermined planar mode is determined to be a vertical planar mode, the predicted samples of the current block may be derived as shown in the following Equation 17 or 18. Alternatively, if the predetermined planar mode is determined to be a horizontal planar mode, the predicted samples of the current block may be derived as shown in the above-mentioned Equation 15 or 16.
[0163]
number
[0164] In Equation 17, pred may represent a predicted sample of the current block. N w1 to w2 represent predicted samples derived based on the 1st to Nth DIMD modes, respectively. N pred1~pred N and may be determined based on the magnitude of the gradients for the N DIMD modes that have already been calculated. Ver denotes the predicted sample guided based on the vertical planar mode, and w (N+1) w may be a weight applied to the prediction samples in the vertical planar mode. (N+1) The method for determining is as explained in Example 2. Here, N is an integer of 1, 2, 3 or more, as mentioned above.
[0165] Alternatively, when a weighted sum with a prediction sample according to a vertical planar mode is applied to the current block, even if N DIMD modes are induced for the current block, the weighted sum with a prediction sample according to the Nth DIMD mode may be restricted not to be applied. In this case, the prediction sample of the current block may be derived as shown in Equation 18.
[0166]
number
[0167] Referring to Equation 18, the predicted sample (pred) of the current block may be derived based on a weighted sum of predicted samples derived based on the 1st to (N-1)th DIMD modes excluding the Nth DIMD mode and a predicted sample derived based on the vertical planar mode. That is, when a weighted sum with a predicted sample based on the vertical planar mode is applied to the current block, the predicted sample based on the Nth DIMD mode may be replaced with a predicted sample based on the vertical planar mode. The weight values in Equation 18 may be determined by the method described in Example 2.
[0168] If the first DIMD mode of the current block is not a mode of the vertical and horizontal components, the predetermined planar mode may be determined to be a non-directional planar mode, and the predicted sample of the current block may be derived as shown in the following Equation 19 or Equation 20.
[0169]
number
[0170] In Equation 19, pred may represent a predicted sample of the current block. N w1 to w2 represent predicted samples derived based on the 1st to Nth DIMD modes, respectively. N pred1~pred N is a weighting value applied to each of the N DIMD modes, which may be determined based on the magnitude of the gradients for the N DIMD modes already calculated. Planar means a predicted sample derived based on a non-directional planar mode, and w (N+1) w may be a weight applied to the prediction samples according to the non-directional planar mode. (N+1) may be determined based on at least one of the gradients for the N DIMD modes. (N+1) may be determined based on information for deriving weights by non-directional planar modes, and the information may be signaled in the bitstream.(N+1) may be determined based on weights predefined in the encoding device and the decoding device, where N is an integer of 1, 2, 3 or more, as described above.
[0171] Alternatively, when a weighted sum with a prediction sample according to a non-directional planar mode is applied to the current block, even if N DIMD modes are induced for the current block, the weighted sum with a prediction sample according to the Nth DIMD mode may be restricted not to be applied. In this case, the prediction sample of the current block may be derived as shown in Equation 20.
[0172]
number
[0173] Referring to Equation 20, the predicted sample (pred) of the current block is derived from the predicted samples (pred1 to pred2) derived based on the 1st to (N-1)th DIMD modes excluding the Nth DIMD mode. (N-1) ) and prediction samples (Planar) derived based on the non-directional planar mode. That is, when a weighted sum of prediction samples according to the non-directional planar mode is applied to the current block, the N-th prediction sample according to the DIMD mode may be replaced with a prediction sample according to the non-directional planar mode.
[0174] Here, w1~w N-1 pred1~pred (N-1) are weights applied to each of the (N-1) DIMD modes, and may be determined based on the magnitude of the gradients for the previously calculated (N-1) DIMD modes. N may be determined based on at least one of the gradients for the (N-1) DIMD modes. N may be determined based on information for deriving weights by non-directional planar modes, and the information may be signaled in the bitstream.N may be determined based on weights predefined for the encoding device and the decoding device.
[0175] Hereinafter, a method for determining whether the first DIMD mode of the current block is a mode of a non-directional component and / or a mode of a vertical or horizontal component will be described.
[0176] If the first DIMD mode has a smaller index than the diagonal mode, the first DIMD mode may be determined as a horizontal component mode. If the first DIMD mode has a larger index than the diagonal mode, the first DIMD mode may be determined as a vertical component mode. Here, the diagonal mode may refer to a mode that references a sample in the upper left direction or a mode that has a prediction direction from the upper left to the lower right.
[0177] Or, the index of the first DIMD mode is (mode Hor -K) greater than or equal to (mode Hor +K), the first DIMD mode may be identified as a horizontal component mode. Hor can mean the index of a horizontal mode. The index of the first DIMD mode is (mode Ver -K) greater than or equal to (mode Ver +K), the first DIMD mode may be identified as a vertical component mode. Ver may represent the index of a vertical mode. If the first DIMD mode has any other index, the first DIMD mode may be determined as a mode of a non-directional component. Here, K may be a natural number greater than or equal to 0 and less than or equal to 16. This method may improve the accuracy of prediction by assigning a weight to the directional characteristics constituting the predicted samples of the current block.
[0178] Alternatively, assume that the first DIMD mode is M1 and the second DIMD mode is M2. Depending on the indices M1 and M2, the current block may be identified as either a horizontal component block, a vertical component block, or a non-directional component block.
[0179] For example, if M1 is a mode of a horizontal component and the absolute value of the difference between M1 and M2 is smaller than a predetermined threshold, the current block may be determined as a horizontal component block. In this case, the predetermined planar mode may be determined as a horizontal planar mode, and the predicted sample of the current block may be derived as shown in Equation 15 or Equation 16.
[0180] Alternatively, if M1 is the mode of the vertical component and the absolute value of the difference between M1 and M2 is smaller than a predetermined threshold, the current block may be determined as a vertical component block. In this case, the predetermined planar mode may be determined as a vertical planar mode, and the predicted sample of the current block may be derived as shown in Equation 17 or Equation 18.
[0181] Alternatively, if M1 is the mode of the horizontal component and the absolute value of the difference between M1 and M2 is greater than or equal to a predetermined threshold, the current block may be determined as a non-directional component block. If M1 is the mode of the vertical component and the absolute value of the difference between M1 and M2 is greater than or equal to a predetermined threshold, the current block may be determined as a non-directional component block. If M1 is the mode of the non-directional component, the current block may be determined as a non-directional component block. If the current block is determined as a non-directional component block, the predetermined planar mode may be determined as a non-directional planar mode, and predicted samples of the current block may be derived as shown in Equation 19 or 20. Here, the predetermined threshold may be any one of 1 to the index of a possible mode. For example, the predetermined threshold may be 5.
[0182] This method can improve prediction accuracy by more strictly distinguishing directional characteristics that constitute the prediction samples of the current block and assigning weights to the directional characteristics only when all conditions are met.
[0183] Alternatively, the current block may be determined as one of a horizontal component block, a vertical component block, or a non-directional component block according to the direction characteristics of the N DIMD modes.
[0184] As an example, if the first to Nth DIMD modes are all modes of horizontal components, the predetermined planar mode for the current block may be determined as a horizontal planar mode, and predicted samples of the current block may be derived as shown in Equation 15 or 16. If the first to Nth DIMD modes are all modes of vertical components, the predetermined planar mode for the current block may be determined as a vertical planar mode, and predicted samples of the current block may be derived as shown in Equation 17 or 18. In other cases (i.e., if any one of the first to Nth DIMD modes has directional characteristics different from the other modes), the predetermined planar mode for the current block may be determined as a non-directional planar mode, and predicted samples of the current block may be derived as shown in Equation 19 or 20.
[0185] Alternatively, the current block may be determined as one of a horizontal component block, a vertical component block, or a non-directional component block based on a difference value between the directional component of the first DIMD mode and n DIMD modes among the top N DIMD modes, where n may be an integer greater than or equal to 2 and less than or equal to N.
[0186] For example, if the first DIMD mode is a horizontal component mode and the maximum value (max(|Mi-Mj|), 1≦i, j≦n)) of the difference values between the n DIMD modes is less than a predetermined threshold, the current block may be determined as a horizontal component block. In this case, the predetermined planar mode may be determined as a horizontal planar mode, and predicted samples of the current block may be derived as shown in Equation 15 or 16. Alternatively, if the first DIMD mode is a vertical component mode and the maximum value (max(|Mi-Mj|), 1≦i, j≦n)) of the difference values between the n DIMD modes is less than a predetermined threshold, the current block may be determined as a vertical component block. In this case, the predetermined planar mode may be determined as a vertical planar mode, and predicted samples of the current block may be derived as shown in Equation 17 or 18. The predetermined threshold may be any one of 1 to an index of a possible mode. For example, the predetermined threshold may be n.
[0187] Specifically, when N=5 and n=3, a predicted sample of the current block may be derived by weighting the predicted sample of the five DIMD modes and the predicted sample of a predetermined planar mode. The absolute values of the differences between the top three DIMD modes among the five DIMD modes may be calculated in descending order of gradient magnitude. If the top three DIMD modes are M1, M2, and M3, |M1-M2|, |M1-M3|, and |M2-M3| may be calculated, respectively. If the maximum value among the three absolute values is less than or equal to 3 and M1 is the mode of the horizontal component, the predetermined planar mode may be determined as a horizontal planar mode, and the predicted sample of the current block may be derived as shown in Equation 15 or 16.
[0188] This method can improve prediction accuracy by more strictly distinguishing directional characteristics that constitute the prediction samples of the current block and assigning weights to the directional characteristics only when all conditions are met.
[0189] FIG. 5 is a diagram showing a schematic configuration of the intra prediction unit 331 that performs the intra prediction method according to the present disclosure.
[0190] Referring to FIG. 5, the intra prediction unit 331 may include a mode deriving unit 500, a prediction sample deriving unit 510, and a prediction sample correcting unit 520.
[0191] The mode guiding unit 500 can derive the intra prediction mode of the current block.
[0192] The intra prediction mode of the current block may be derived based on decoder-side intra mode derivation (DIMD), as described with reference to FIG.
[0193] The prediction sample derivation 510 may derive a prediction sample of the current block based on the intra prediction mode of the current block.
[0194] The prediction sample deriving unit 510 may derive a prediction sample of the current block by performing intra prediction based on one or more intra prediction modes (i.e., DIMD modes) induced based on the DIMD, as described with reference to FIG.
[0195] The prediction sample correction unit 520 may correct prediction samples of the current block based on a predetermined planar mode. The prediction sample correction unit 520 may perform a weighted sum of prediction samples derived based on one or more DIMD modes and prediction samples derived based on a predetermined planar mode. Here, the predetermined planar mode may be any one of a non-directional planar mode, a horizontal planar mode, or a vertical planar mode. The method of determining the predetermined planar mode has been described with reference to FIG. 4, and a detailed description thereof will be omitted here.
[0196] The predicted sample correction unit 520 may adaptively correct the predicted samples based on at least one of whether the surrounding area of the current block is available or a predetermined flag.
[0197] FIG. 6 is a diagram illustrating an intra prediction method performed by an encoding device according to an embodiment of the present disclosure.
[0198] Referring to FIG. 6, an intra prediction mode of a current block can be derived based on decoder-side intra mode derivation (DIMD) (S600).
[0199] Specifically, a gradient may be calculated based on at least two samples belonging to the surrounding area of the current block. One or more intra prediction modes may be derived based on at least one of the calculated gradient or gradient amplitude. The top N intra prediction modes with the largest gradient magnitudes may be selected and set as the intra prediction mode for the current block. Here, N may be an integer of 1, 2, 3, or more. This has been described with reference to FIG. 4, and a detailed description thereof will be omitted here.
[0200] Referring to FIG. 6, a prediction sample of a current block can be derived based on the intra prediction mode of the current block (S610).
[0201] One or more intra prediction modes may be derived for the current block based on the DIMD, and intra prediction may be performed based on the DIMD modes to derive predicted samples for the current block.
[0202] Referring to FIG. 6, the prediction samples of the current block may be corrected based on a predetermined planar mode (S620).
[0203] The prediction samples derived based on one or more of the above-mentioned DIMD modes may be corrected based on the prediction samples according to a predetermined planar mode, and the corrected prediction samples may be set as the prediction samples of the current block.
[0204] Specifically, the predicted sample of the current block may be derived based on a weighted sum of predicted samples derived based on one or more of the above-described DIMD modes and predicted samples derived based on a predetermined planar mode. Here, the predetermined planar mode may be any one of a non-directional planar mode, a horizontal planar mode, or a vertical planar mode. The method for determining the predetermined planar mode has been described with reference to FIG. 4, and detailed description thereof will be omitted here.
[0205] In addition, the correction of the predicted samples may be adaptively performed based on at least one of whether the surrounding areas of the current block are available or a predetermined flag. Alternatively, it may be determined whether to correct the predicted samples, and the correction of the predicted samples may be adaptively performed based on the determination. In this case, a flag indicating whether the predicted samples are corrected may be coded in the bitstream.
[0206] FIG. 7 is a diagram showing a schematic configuration of the intra prediction unit 222 that performs the intra prediction method according to the present disclosure.
[0207] Referring to FIG. 7, the intra prediction unit 222 may include a mode derivation unit 700, a prediction sample derivation unit 710, and a prediction sample correction unit 720.
[0208] The mode guiding unit 700 can derive the intra prediction mode of the current block.
[0209] The intra prediction mode of the current block may be derived based on decoder-side intra mode derivation (DIMD), as described with reference to FIG.
[0210] The prediction sample derivation 710 may derive a prediction sample of the current block based on the intra prediction mode of the current block.
[0211] The prediction sample deriving unit 710 may derive a prediction sample of the current block by performing intra prediction based on one or more intra prediction modes (i.e., DIMD modes) induced based on the DIMD, as described with reference to FIG.
[0212] The prediction sample correction unit 720 may correct prediction samples of the current block based on a predetermined planar mode. The prediction sample correction unit 520 may perform a weighted sum of prediction samples derived based on one or more DIMD modes and prediction samples derived based on a predetermined planar mode. Here, the predetermined planar mode may be any one of a non-directional planar mode, a horizontal planar mode, or a vertical planar mode. The method of determining the predetermined planar mode has been described with reference to FIG. 4, and a detailed description thereof will be omitted here.
[0213] The prediction sample correction unit 520 may adaptively correct the prediction samples based on at least one of whether the neighboring regions of the current block are available or a predetermined flag. Alternatively, the prediction sample correction unit 520 may determine whether to correct the prediction samples of the current block and adaptively correct the prediction samples based on the determination. In this case, the entropy encoding unit 240 may encode a flag indicating whether to correct the prediction samples of the current block.
[0214] In the above-described embodiments, the method is described based on a flowchart with a series of steps or blocks, but the embodiment is not limited to the order of the steps, and some steps may occur in a different order or simultaneously with other steps than those described above. Furthermore, those skilled in the art will understand that the steps shown in the flowchart are not exclusive, and other steps may be included, or one or more steps of the flowchart may be deleted without affecting the scope of the embodiments of this document.
[0215] The methods according to the embodiments of the present document described above may be implemented in the form of software, and the encoding device and / or decoding device according to the present document may be included in a device that performs video processing, such as a TV, a computer, a smartphone, a set-top box, or a display device.
[0216] When embodiments in this document are embodied as software, the methods described above may be embodied as modules (processes, functions, etc.) that perform the functions described above. The modules may be stored in memory and executed by a processor. The memory may be internal or external to the processor and may be coupled to the processor by various known means. The processor may include an application-specific integrated circuit (ASIC), other chipsets, logic circuits, and / or data processing devices. The memory may include read-only memory (ROM), random access memory (RAM), flash memory, a memory card, a storage medium, and / or other storage devices. That is, the embodiments described herein may be embodied and executed on a processor, microprocessor, controller, or chip. For example, the functional units illustrated in the figures may be embodied and executed on a computer, processor, microprocessor, controller, or chip. In this case, information (e.g., information on instructions) or algorithms for the implementation may be stored on a digital storage medium.
[0217] In addition, the decoding device and encoding device to which the embodiments of the present specification are 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 custom video (VoD) service providing device, an over-the-top (OTT) video (over-the-top) device, an internet streaming service providing device, a three-dimensional (3D) video device, a virtual reality (VR) device, an augmented reality (AR) device, a video telephone video device, a vehicle terminal (e.g., a vehicle terminal (including an autonomous vehicle), an airplane terminal, a ship terminal, etc.), a medical video device, etc., and may be used to process video signals or data signals. For example, over-the-top (OTT) video (over-the-top) video devices 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.
[0218] In addition, a processing method to which the embodiments of the present specification are applied may be produced in the form of a program executed by a computer and stored in a computer-readable recording medium. Multimedia data having a data structure according to the embodiments of the present specification may also be stored in a computer-readable recording medium. The computer-readable recording medium may include any type of storage device or distributed storage device in which computer-readable data is stored. The computer-readable recording medium may include, for example, a Blu-ray Disc (BD), a Universal Serial Bus (USB), a ROM, a PROM, an EPROM, an EEPROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, and an optical data storage device. The computer-readable recording medium may also include media embodied in the form of a carrier wave (e.g., transmission via the Internet). In addition, a bitstream generated by the encoding method may be stored in a computer-readable recording medium or transmitted via a wired or wireless communication network.
[0219] Furthermore, the embodiments of the present specification may be embodied as a computer program product using program code, which may be executed by a computer according to the embodiments of the present specification. The program code may be stored on a computer-readable carrier.
[0220] FIG. 8 illustrates an example of a content streaming system to which the embodiments of the present disclosure can be applied.
[0221] Referring to FIG. 8, a content streaming system to which the embodiments of the present specification are applied may broadly include an encoding server, a streaming server, a web server, a media storage, a user device, and a multimedia input device.
[0222] 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.
[0223] The bitstream may be generated by an encoding method or a bitstream generation method to which the embodiments of this specification are applied, and the streaming server may temporarily store the bitstream during the process of transmitting or receiving the bitstream.
[0224] The streaming server transmits multimedia data to a user device based on a user request via a web server, and the web server acts as an intermediary to inform 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, which controls commands and responses between devices in the content streaming system.
[0225] 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.
[0226] 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.
[0227] 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.
[0228] The claims described herein may be combined in various ways. For example, technical features of method claims herein may be combined and embodied as an apparatus, and technical features of apparatus claims herein may be combined and embodied as a method. Furthermore, technical features of method claims herein and technical features of apparatus claims herein may be combined and embodied as an apparatus, and technical features of method claims herein and technical features of apparatus claims herein may be combined and embodied as a method.
[0229] [Claims at the time of international application] [Claim 1] A video decoding method, comprising: inducing an intra prediction mode for a current block; The intra prediction mode includes a first DIMD mode derived by decoder-side intra mode derivation (DIMD), The DIMD is a method for deriving one or more intra prediction modes based on a gradient between samples belonging to a peripheral area of the current block, deriving a first predicted sample of the current block based on the intra prediction mode; deriving second predicted samples of the current block based on a predetermined planar mode; the predetermined planar mode is any one of a non-directional planar mode, a horizontal planar mode, or a vertical planar mode; deriving a predicted sample of the current block based on a weighted sum of the first predicted sample and the second predicted sample. [Claim 2] the peripheral region includes a plurality of sub-regions; The video decoding method of claim 1 , wherein the plurality of sub-regions include at least two of a left peripheral region, a top peripheral region, or a top-left peripheral region. [Claim 3] The video decoding method of claim 2 , wherein the gradient magnitudes for the intra prediction modes are calculated for the plurality of sub-regions, respectively. [Claim 4] The video decoding method of claim 3, wherein the predetermined planar mode is determined based on a position of a sub-region to which a maximum gradient magnitude belongs among gradient magnitudes for the plurality of sub-regions. [Claim 5] 4. The image decoding method of claim 3, wherein the predetermined planar mode is determined based on a comparison of one of the gradient magnitudes for the plurality of sub-regions with another of the gradient magnitudes for the plurality of sub-regions. [Claim 6] 6. The video decoding method of claim 5, wherein the predetermined planar mode is determined based on a comparison of a gradient magnitude for the DIMD mode and a gradient magnitude for a second DIMD mode derived based on the DIMD. [Claim 7] The video decoding method of claim 1 , wherein the predetermined planar mode is determined based on a directionality of the first DIMD mode. [Claim 8] 8. The video decoding method of claim 7, wherein the predetermined planar mode is determined based on a difference between the first DIMD mode and a second DIMD mode derived based on the DIMD. [Claim 9] The predefined intra prediction modes are divided into a plurality of groups, 8. The video decoding method of claim 7, wherein a directionality of the first DIMD mode is determined based on a group to which the first DIMD mode belongs among the plurality of groups. [Claim 10] 1. A video encoding method, comprising: inducing an intra prediction mode for a current block; The intra prediction mode includes a first DIMD mode derived by decoder-side intra mode derivation (DIMD), The DIMD is a method for deriving one or more intra prediction modes based on a gradient between samples belonging to a peripheral area of the current block, deriving a first predicted sample of the current block based on the intra prediction mode; deriving second predicted samples of the current block based on a predetermined planar mode; the predetermined planar mode is any one of a non-directional planar mode, a horizontal planar mode, or a vertical planar mode; deriving a predicted sample of the current block based on a weighted sum of the first predicted sample and the second predicted sample. [Claim 11] A data transmission method for video information, comprising: obtaining a bitstream for video information; The bitstream comprises: Inducing the intra prediction mode of the current block, deriving a first predicted sample of the current block based on the intra prediction mode; deriving a second predicted sample of the current block based on a predetermined planar mode; deriving a predicted sample of the current block based on a weighted sum of the first predicted sample and the second predicted sample; by encoding the current block based on the predicted samples; transmitting data including said bitstream; The intra prediction mode includes a first DIMD mode derived by decoder-side intra mode derivation (DIMD), The DIMD is a method for deriving one or more intra prediction modes based on a gradient between samples belonging to a peripheral area of the current block, The predetermined planar mode is any one of a non-directional planar mode, a horizontal planar mode, and a vertical planar mode.
Claims
1. A video decoding method, comprising: deriving an intra prediction mode of a current block; The intra prediction mode includes a first DIMD mode derived by decoder-side intra mode derivation (DIMD), The DIMD is a method for deriving one or more intra prediction modes based on a gradient between samples belonging to a peripheral area of the current block, deriving a first predicted sample of the current block based on the intra prediction mode; deriving second predicted samples of the current block based on a predetermined planar mode; the predetermined planar mode is any one of a non-directional planar mode, a horizontal planar mode, or a vertical planar mode; deriving a predicted sample of the current block based on a weighted sum of the first predicted sample and the second predicted sample.
2. the peripheral region includes a plurality of sub-regions; The video decoding method of claim 1 , wherein the plurality of sub-regions include at least two of a left peripheral region, a top peripheral region, or a top left peripheral region.
3. The video decoding method of claim 2 , wherein the gradient magnitudes for the intra prediction modes are calculated for the plurality of sub-regions, respectively.
4. The image decoding method of claim 3 , wherein the predetermined planar mode is determined based on a position of a sub-region to which a maximum gradient magnitude belongs among gradient magnitudes for the plurality of sub-regions.
5. 4. The image decoding method of claim 3, wherein the predetermined planar mode is determined based on a comparison of one of the gradient magnitudes for the plurality of sub-regions with another of the gradient magnitudes for the plurality of sub-regions.
6. The image decoding method of claim 5 , wherein the predetermined planar mode is determined based on a comparison of a gradient magnitude for the DIMD mode and a gradient magnitude for a second DIMD mode derived based on the DIMD.
7. The video decoding method of claim 1 , wherein the predetermined planar mode is determined based on a directionality of the first DIMD mode.
8. The image decoding method of claim 7 , wherein the predetermined planar mode is determined based on a difference between the first DIMD mode and a second DIMD mode derived based on the DIMD.
9. The predefined intra prediction modes are divided into a plurality of groups, The image decoding method of claim 7 , wherein the directionality of the first DIMD mode is determined based on a group to which the first DIMD mode belongs among the plurality of groups.
10. 1. A video encoding method, comprising: deriving an intra prediction mode of a current block; The intra prediction mode includes a first DIMD mode derived by decoder-side intra mode derivation (DIMD), The DIMD is a method for deriving one or more intra prediction modes based on a gradient between samples belonging to a peripheral area of the current block, deriving a first predicted sample of the current block based on the intra prediction mode; deriving second predicted samples of the current block based on a predetermined planar mode; the predetermined planar mode is any one of a non-directional planar mode, a horizontal planar mode, or a vertical planar mode; deriving a predicted sample of the current block based on a weighted sum of the first predicted sample and the second predicted sample.
11. A data transmission method for video information, comprising: obtaining a bitstream for video information; The bitstream comprises: Inducing the intra prediction mode of the current block, deriving a first predicted sample of the current block based on the intra prediction mode; deriving a second predicted sample of the current block based on a predetermined planar mode; deriving a predicted sample of the current block based on a weighted sum of the first predicted sample and the second predicted sample; by encoding the current block based on the predicted samples; transmitting data including said bitstream; The intra prediction mode includes a first DIMD mode derived by decoder-side intra mode derivation (DIMD), The DIMD is a method for deriving one or more intra prediction modes based on a gradient between samples belonging to a peripheral area of the current block, The predetermined planar mode is any one of a non-directional planar mode, a horizontal planar mode, and a vertical planar mode.