Video encoding / decoding method and apparatus, and recording medium storing bitstreams
The use of linear model-based intra prediction methods addresses inefficiencies in existing video compression techniques by deriving optimal parameters from surrounding reference samples, enhancing prediction accuracy and efficiency in high-resolution image handling.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-06
- Publication Date
- 2026-03-06
AI Technical Summary
Existing video compression techniques struggle to efficiently handle high-resolution, high-quality images due to limitations in intra prediction methods, particularly in accurately predicting pixel values within a current picture.
A method and apparatus for intra prediction that utilizes linear model parameters derived from surrounding reference samples to predict and reconstruct blocks, allowing for improved prediction performance by using linear models and adaptive selection of prediction modes.
The proposed method enhances intra prediction performance by accounting for global or regional variations within blocks, improving prediction accuracy and efficiency in video encoding and decoding processes.
Smart Images

Figure 2026507821000001_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 an intra prediction method and apparatus.
[0005] The present disclosure seeks to provide a method and apparatus for signaling information related to intra prediction.
[0006] The present disclosure seeks to provide a method and apparatus for pre-processing reference samples for intra prediction.
[0007] The present disclosure seeks to provide a method and apparatus for determining a transform kernel for an intra-prediction-based residual signal. [Means for solving the problem]
[0008] The video decoding method and apparatus according to the present disclosure may derive predicted samples of a current block based on linear model parameters of the current block, derive residual samples of the current block, and reconstruct the current block based on the predicted samples and residual samples of the current block, where the linear model parameters may be derived based on one or more reference samples within a peripheral region of the current block.
[0009] In the video decoding method and apparatus according to the present disclosure, the predicted sample may be derived by applying the linear model parameters to at least one of the coordinates of the predicted sample within the current block or already reconstructed samples around the current block.
[0010] In the video decoding method and apparatus according to the present disclosure, the linear model parameters may be derived based on at least one of a first reference sample belonging to a first reference sample line of the current block, coordinates of the first reference sample, or a left reference sample or an upper reference sample of the first reference sample.
[0011] In the image decoding method and apparatus according to the present disclosure, at least one of the left reference sample or the top reference sample of the first reference sample may belong to a second reference sample line of the current block.
[0012] In the video decoding method and apparatus according to the present disclosure, the peripheral region may include at least one of a left peripheral region, a top peripheral region, a top left peripheral region, a top right peripheral region, or a bottom left peripheral region.
[0013] In the video decoding method and apparatus according to the present disclosure, the linear model parameter may be derived to one of a plurality of linear model parameters, where the plurality of linear model parameters may be derived for a plurality of sub-regions within the surrounding region, respectively.
[0014] In the video decoding method and apparatus according to the present disclosure, the plurality of sub-regions may include at least two of a left peripheral region, a top peripheral region, a top left peripheral region, a top right peripheral region, or a bottom left peripheral region.
[0015] The video decoding method and apparatus according to the present disclosure can obtain at least one of a first flag indicating whether a linear model-based prediction mode is available or a second flag indicating whether the linear model-based prediction mode is applied to the current block from a bitstream.
[0016] The video decoding method and apparatus according to the present disclosure can obtain, from the bitstream, an index that identifies one of a plurality of predefined linear model-based prediction modes.
[0017] In the video decoding method and apparatus according to the present disclosure, a predetermined filter may be applied to one or more reference samples within a surrounding area of the current block.
[0018] In the video decoding method and apparatus according to the present disclosure, at least one of whether the filter is applied or the type of the filter may be determined based on the size of the current block.
[0019] In the video decoding method and apparatus according to the present disclosure, residual samples of the current block may be derived by performing an inverse transform on transform coefficients of the current block, where the inverse transform may be performed based on a transform kernel for a predefined non-directional mode or an intra prediction mode derived based on the surrounding region.
[0020] The video encoding method and apparatus according to the present disclosure may derive predicted samples of a current block based on linear model parameters of the current block, derive residual samples of the current block based on the predicted samples of the current block, derive transform coefficients from the residual samples of the current block, and encode the transform coefficients to generate a bitstream, wherein the linear model parameters may be derived based on one or more reference samples within a surrounding area of the current block.
[0021] 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.
[0022] A computer-readable digital storage medium is provided having stored thereon video / image information generated by the video encoding method of the present disclosure.
[0023] A method and apparatus for transmitting video / image information generated by a video encoding method according to the present disclosure is provided. [Effects of the Invention]
[0024] The linear model-based prediction mode according to the present disclosure can improve intra prediction performance by reflecting global or regional variations within a block.
[0025] According to the present disclosure, by defining a plurality of linear model-based prediction modes and / or linear model parameters and selectively using any one of them, it is possible to derive optimal linear model parameters for a current block.
[0026] According to the present disclosure, signaling information about a linear model-based prediction mode allows adaptive use of a linear model-based prediction mode and / or linear model parameters.
[0027] According to the present disclosure, pre-processing of reference samples can remove artifacts and the like from surrounding samples that have already been reconstructed, thereby improving prediction performance.
[0028] According to the present disclosure, prediction performance can be improved by selecting an optimal transform kernel for the residual signal derived in a linear model-based prediction mode. [Brief explanation of the drawings]
[0029] [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 a video decoding method performed by a video decoding device according to an embodiment of the present disclosure. [Figure 5] FIG. 1 illustrates reference samples that can be used to derive linear model parameters. [Figure 6] FIG. 10 shows reference samples belonging to the second and third reference sample lines that can be used to derive linear model parameters. [Figure 7] FIG. 10 illustrates a template region and / or reference samples surrounding the template region that can be used to derive linear model parameters. [Figure 8] 1 is a diagram illustrating a schematic configuration of a video decoding device that performs a video decoding method according to an embodiment of the present disclosure. [Figure 9] 1 is a diagram illustrating a video encoding method performed by a video encoding device according to an embodiment of the present disclosure. [Figure 10]1 is a diagram illustrating a schematic configuration of a video encoding device that performs a video encoding method according to an embodiment of the present disclosure. [Figure 11] 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
[0030] 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. However, this is not intended to limit the present 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.
[0031] 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 this disclosure. The term "and / or" includes a combination of multiple associated listed items or any item of multiple associated listed items.
[0032] 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.
[0033] 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.
[0034] 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).
[0035] 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.
[0036] 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.
[0037] 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.
[0038] 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.
[0039] 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."
[0040] 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."
[0041] 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."
[0042] 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."
[0043] 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."
[0044] In this specification, technical features that are individually described in the same drawing may be embodied individually or simultaneously.
[0045] FIG. 1 is a diagram illustrating a video / image coding system according to this disclosure.
[0046] Referring to FIG. 1, a video / image coding system may include a first device (a source device) and a second device (a receiving device).
[0047] 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.
[0048] 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.
[0049] 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.
[0050] 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.
[0051] 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.
[0052] The renderer can render the decoded video / image, and the rendered video / image can be displayed on a display unit.
[0053] 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.
[0054] 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) and may be configured by a digital storage medium. The hardware components may further include the memory 270 as an internal / external component.
[0055] 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.
[0056] 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.
[0057] 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.
[0058] 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.
[0059] 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.
[0060] 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.
[0061] 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.
[0062] 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.
[0063] 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.
[0064] 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), or 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.
[0065] 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 may rearrange the quantized transform coefficients in a block form into a one-dimensional vector form based on a coefficient scan order, and may generate information about the quantized transform coefficients based on the quantized transform coefficients in the one-dimensional vector form.
[0066] 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 restoration (e.g., values of syntax elements) together with or separately from the quantized transform coefficients.
[0067] 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.
[0068] 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.
[0069] 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.
[0070] 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.
[0071] 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.
[0072] 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.
[0073] 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).
[0074] 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.
[0075] 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.
[0076] 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.
[0077] 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.
[0078] The inverse quantization unit 321 may inverse quantize the quantized transform coefficients and output the transform coefficients. The inverse quantization unit 321 may rearrange the quantized transform coefficients in a two-dimensional block format. In this case, the rearrangement may be performed based on the coefficient scanning order performed in the encoding apparatus. The inverse quantization unit 321 may inverse quantize the quantized transform coefficients using a quantization parameter (e.g., quantization step size information) to obtain transform coefficients.
[0079] The inverse transform unit 322 performs inverse transform on the transform coefficients to obtain a residual signal (residual block, residual sample array).
[0080] 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.
[0081] 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.
[0082] 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 also determine a prediction mode to be applied to the current block using prediction modes applied to neighboring blocks.
[0083] 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.
[0084] 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.
[0085] 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.
[0086] 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.
[0087] 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.
[0088] 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.
[0089] FIG. 4 is a diagram illustrating a video decoding method performed by a video decoding device according to an embodiment of the present disclosure.
[0090] In this disclosure, to construct an intra-prediction block, we propose a method of deriving linear model parameters based on the values of already reconstructed samples around the current block and / or the coordinate information of the samples, and performing intra-prediction based on the linear model parameters.
[0091] Referring to FIG. 4, a predicted sample of a current block can be derived based on the linear model parameters (S400).
[0092] The predicted sample of the current block may be derived based on at least one of coordinate information of the predicted sample, one or more already reconstructed samples around the current block, or a predetermined offset. Hereinafter, the already reconstructed samples around the current block will be referred to as reference samples.
[0093] For example, the predicted sample of the current block may be derived as shown in Equation 1 below.
[0094] [Formula 1]
number
[0095] In Equation 1, P (x,y) a0 and a1 represent coefficients applied to the coordinates of the predicted sample, and a2 to a1 represent coefficients applied to the coordinates of the predicted sample.L+1 represents the coefficient applied to the reference sample, and a L+2 may represent an offset. The coefficients and offsets may be real numbers. k is the set of reference sample values, and L may represent the number of reference samples used to derive the predicted samples.
[0096] The reference samples according to the present disclosure may be previously reconstructed samples corresponding to the coordinates of the predicted samples. For example, the reference samples may include at least one of previously reconstructed samples corresponding to the x-axis coordinate of the predicted sample or previously reconstructed samples corresponding to the y-axis coordinate. The previously reconstructed samples corresponding to the x-axis coordinate may include one or more samples having the same x-axis coordinate as the predicted sample. The previously reconstructed samples corresponding to the x-axis coordinate may belong to at least one of the first to Nth reference sample lines of the current block. Similarly, the previously reconstructed samples corresponding to the y-axis coordinate may include one or more samples having the same y-axis coordinate as the predicted sample. The previously reconstructed samples corresponding to the x-axis coordinate may belong to at least one of the first to Nth reference sample lines of the current block. Here, N may be an integer greater than or equal to 2. The first reference sample line may represent a reference sample line adjacent to the current block, and the second and subsequent reference sample lines may represent reference sample lines not adjacent to the current block.
[0097] In this way, the predicted sample of the current block may be derived by applying a predetermined coefficient (or weight) to the coordinates of the predicted sample and already reconstructed reference samples around the current block. Alternatively, the predicted sample of the current block may be derived by adding a predetermined offset to a value obtained by applying a predetermined coefficient (or weight) to the coordinates of the predicted sample and already reconstructed reference samples around the current block. The linear model parameters according to the present disclosure may include at least one of the above-mentioned coefficients or offsets.
[0098] As an example, Equation 1 may be expressed as Equation 2 below.
[0099] [Formula 2]
number
[0100] In Equation 2, x and y are the coordinates of the predicted sample in the current block, and may represent the x-axis coordinate and the y-axis coordinate, respectively, when the coordinates of the top left sample in the current block are defined as (0,0). above represents the upper reference sample corresponding to the currently predicted sample (i.e., the predicted sample), and Ref left a may represent a left reference sample corresponding to the predicted sample. Also, a0 and a1 may represent coefficients for the coordinates of the predicted sample, a2 and a3 may represent coefficients for the reference sample, and a4 may represent an offset. That is, Equation 2 may be defined as a model in which coefficients for other reconstructed samples are 0 except for the reconstructed sample of the first reference sample line corresponding to the (x, y) coordinate in the current block in Equation 1 and the coefficient for the coordinate. Also, a4 may be 0, and in this case, the proposed model may be composed of only coefficients a0 to a3.
[0101] Hereinafter, a method for deriving linear model parameters will be described with reference to FIGS.
[0102] Example 1
[0103] The linear model parameters may be derived based on the reference samples belonging to the first reference sample line of the current block.
[0104] FIG. 5 is a diagram illustrating reference samples that can be used to derive linear model parameters. In FIG. 5, a to q represent values of reference samples belonging to the first reference sample line, and (x, y) represents coordinate information of the reference sample. The coordinate information here is based on the case where the coordinate information of the top left sample in the current block is (0, 0). That is, the first reference sample line of the current block may be composed of reference samples whose x-axis coordinate or y-axis coordinate is -1. In FIG. 5, even areas where sample values and coordinate information are not displayed may be used to derive coefficients and / or offsets in Equation 2.
[0105] The reference sample at a specific position is P in Equation 2. (x,y) , and the reference sample located in the upper end direction of the specific position and the reference sample located in the left direction of the specific position are expressed as Ref above and Ref left and substitute these into Equation 2. In this case, if a reference sample at a specific position corresponds to a reference sample adjacent to the left side of a current block, a reference sample located in the upper direction may be a reference sample adjacent to the upper end of the reference sample at the specific position or a reference sample at a (-1,-1) position. Alternatively, if a reference sample at a specific position corresponds to a reference sample adjacent to the top end of a current block, a reference sample located in the left direction may be a reference sample adjacent to the left side of the reference sample at the specific position or a reference sample at a (-1,-1) position.
[0106] When linear model parameters are restricted to be derived using only reference samples belonging to the first reference sample line of the current block, reference samples located at the top or left side may not be available. For example, if a reference sample at a specific position corresponds to a reference sample adjacent to the left side of the current block, reference samples located at the left side may not be available. Alternatively, if a reference sample at a specific position corresponds to a reference sample adjacent to the top of the current block, reference samples located at the top side may not be available. In such cases, unavailable reference samples located at the top or left side may be replaced with the reference sample at the specific position. Alternatively, unavailable reference samples located at the top or left side may be replaced with zeros.
[0107] For example, if the linear model parameters are restricted to be derived using only the reference samples belonging to the first reference sample line of the current block, applying Equation 2 based on the reference sample at a specific position (-1,0) can derive the following equation, Equation 3.
[0108] [Formula 3]
number
[0109] According to the above method, for all or some of the reference samples belonging to the first reference sample line of the current block, an equation such as Equation 3 may be derived for each reference sample. Here, some reference samples may refer to reference samples that are adjacent to at least one of the top end or left side of the current block among the reference samples belonging to the first reference sample line. For example, an equation such as Equation 3 may be derived for reference samples adjacent to the current block (i.e., b, c, d, e, j, k, l, and m), and in this case, a determinant such as Equation 4 may be derived.
[0110] [Formula 4]
number
[0111] Equation 4 is in the form of AX=B, and the linear model parameters for the current block may be calculated based on various methods for solving linear equations (e.g., Gaussian elimination, LDL decomposition, LU decomposition, Cholesky decomposition, etc.).
[0112] Alternatively, the linear model parameters may be derived based on the reference samples belonging to the second and third reference sample lines of the current block.
[0113] 6 is a diagram illustrating reference samples belonging to the second and third reference sample lines that can be used to derive linear model parameters. In FIG. 6, A to S represent values of reference samples belonging to the second reference sample line, AA to AV represent values of reference samples belonging to the third reference sample line, and (x, y) represents coordinate information of the reference sample. The coordinate information here is based on the case where the coordinate information of the upper left sample in the current block is (0, 0). That is, the second reference sample line of the current block may be composed of reference samples whose x-axis coordinate or y-axis coordinate is at least -2. The third reference sample line of the current block may be composed of reference samples whose x-axis coordinate or y-axis coordinate is at least -3.
[0114] The reference sample belonging to the second reference sample line is P in Equation 2. (x,y) Assuming that the reference sample located in the upper end direction and the reference sample located in the left direction are Ref above and Ref leftand can be substituted into Equation 2. The reference samples located at the top and left side may belong to a third reference sample line. The reference samples located at the top side may have the same x-axis coordinate as the reference samples belonging to the second reference sample line. The reference samples located at the left side may have the same y-axis coordinate as the reference samples belonging to the second reference sample line.
[0115] By applying Equation 2 to all or some of the reference samples belonging to the second reference sample line of the current block, an equation such as Equation 3 may be derived for each reference sample. Here, some of the reference samples may refer to reference samples located in at least one of the top and left directions of the current block among the reference samples belonging to the second reference sample line. A determinant such as Equation 4 may be derived based on the derived equation, and linear model parameters may be calculated using various methods for solving linear equations.
[0116] Alternatively, the linear model parameters may be derived based on reference samples belonging to the template region of the current block.
[0117] 7 is a diagram illustrating a template region and / or reference samples around the template region that can be used to derive linear model parameters. The template region according to the present disclosure is a surrounding region adjacent to the current block, and may include at least one of the left template region and the top template region. The reference samples belonging to the template region are defined as P in Equation 2. (x,y) Assuming that the reference samples around the template region are Ref above and / or Ref leftand can be substituted into Equation 2. The reference samples around the template region may be samples located at least one of the top and left sides of the reference samples belonging to the template region. In this case, the samples located at the top side may be samples having the same x-axis coordinate as the reference samples belonging to the template region. The samples located at the left side may be samples having the same y-axis coordinate as the reference samples belonging to the template region.
[0118] By applying Equation 2 to all or some of the reference samples belonging to the template region of the current block, an equation such as Equation 3 may be derived for each reference sample. Based on the derived equation, a determinant such as Equation 4 may be derived, and linear model parameters may be calculated using various methods for solving linear equations.
[0119] A template region according to the present disclosure may be divided into a plurality of sub-regions. The plurality of sub-regions may include at least two of a left template region, a top template region, a top-left template region, a top-right template region, or a bottom-left template region. The linear model parameters may be calculated based on a portion of the plurality of sub-regions. The portion of the sub-regions may refer to any one of the sub-regions or may be defined as a combination of at least two of the sub-regions. Alternatively, the linear model parameters may be calculated for each of a plurality of sub-blocks. For example, a linear model parameter based on the top template region and a linear model parameter based on the left template region may be derived, respectively.
[0120] When multiple linear model parameters are calculated for the current block, a predicted sample may be derived based on each linear model parameter, and a final predicted sample may be derived based on a weighted sum of the derived predicted samples. Alternatively, one of multiple linear model parameters may be selected, and a predicted sample may be derived based on the selected linear model parameter. For this purpose, an index identifying one of the multiple linear model parameters may be signaled.
[0121] When solving the linear equations described above, floating-point operations may be required. In this case, to avoid the floating-point operations, a method may be used in which the matrix values are scaled up to a specific number in an intermediate process, and then scaled down to the original scale when constructing the final prediction sample. This reduces the complexity of the floating-point operations. For example, the scaled-up unit is 2. 22 It may be.
[0122] The intra prediction model proposed in this disclosure performs prediction by taking into account linear variations in the x- and y-axes within the current block, but can simultaneously reflect global and local variations of the block by considering reference samples corresponding to the positions of the prediction samples.The proposed method can improve prediction performance by constructing a new prediction value that differs from the properties of existing intra prediction blocks.
[0123] Example 2
[0124] The following equation can be assumed to minimize the error by using an equation representing the correlation between the value of a reference sample belonging to the first reference sample line of the current block and the coordinate of the reference sample, where the reference sample belonging to the first reference sample line is as described with reference to FIG.
[0125] [Formula 5]
number
[0126] In Equation 5, L may represent the number of reference samples. Pred may represent a predicted sample, and Rec may represent a reference sample. Since the minimum value of the squared error is 0, partial differentiation of the above equation with respect to a0 to a4 results in Equation 6 below. Pred in the below equation may be replaced with Equation 2 above.
[0127] [Formula 6]
number
[0128] If the above formula 6 is expressed as a matrix for a0 to a4, it becomes as shown in the following formula 7.
[0129] [Formula 7]
number
[0130] Equation 7 is in the form of AX=B, and the solution to a0 to a4 according to Cramer's rule may be calculated as shown in Equation 8 below.
[0131] [Formula 8]
number
[0132] In formula 8, B i (i=0,1,2,3,4) is a matrix in which the i-th column of matrix A is replaced with B. The linear model parameters can be calculated based on the above formula.
[0133] Alternatively, a determinant such as Equation 7 can be derived based on the reference samples belonging to the second and third reference sample lines described with reference to FIG. 6, and the linear model parameters can be calculated based on the determinant.
[0134] Alternatively, a determinant such as Equation 7 can be derived based on the reference samples belonging to the template region described with reference to FIG. 7 and / or the reference samples around the template region, and linear model parameters can be calculated based on this.
[0135] A template region according to the present disclosure may be divided into a plurality of sub-regions. The plurality of sub-regions may include at least two of a left template region, a top template region, a top-left template region, a top-right template region, or a bottom-left template region. The linear model parameters may be calculated based on a portion of the plurality of sub-regions. The portion of the sub-regions may refer to any one of the sub-regions or may be defined as a combination of at least two of the sub-regions. Alternatively, the linear model parameters may be calculated for each of a plurality of sub-blocks. For example, a linear model parameter based on the top template region and a linear model parameter based on the left template region may be derived, respectively.
[0136] When multiple linear model parameters are calculated for the current block, a predicted sample may be derived based on each linear model parameter, and a final predicted sample may be derived based on a weighted sum of the derived predicted samples. Alternatively, one of multiple linear model parameters may be selected, and a predicted sample may be derived based on the selected linear model parameter. For this purpose, an index identifying one of the multiple linear model parameters may be signaled.
[0137] When solving the linear equations described above, floating-point operations may be required. In this case, to avoid floating-point operations, a method may be used in which the matrix values are scaled up to a specific number in an intermediate process, and then scaled down to the original scale when constructing the final predicted sample. This reduces the complexity of floating-point operations. For example, the scaled-up unit is 2. 22 It may be.
[0138] The intra prediction model proposed in this disclosure performs prediction by taking into account linear variations in the x- and y-axes within the current block, but can simultaneously reflect global and local variations of the block by considering reference samples corresponding to the positions of the prediction samples.The proposed method can improve prediction performance by constructing a new prediction value that differs from the properties of existing intra prediction blocks.
[0139] Example 3
[0140] The predicted sample of the current block may be derived by applying a predetermined coefficient (or weight) to the coordinates of the predicted sample. Alternatively, the predicted sample of the current block may be derived by adding a predetermined offset to a value obtained by applying a predetermined coefficient (or weight) to the coordinates of the predicted sample and already-reconstructed reference samples around the current block. The linear model parameters according to the present disclosure may include at least one of the above-mentioned coefficients or offsets.
[0141] For example, the value of the predicted sample at the (x, y) position in the current block may be derived as shown in Equation 9 below.
[0142] [Formula 9]
number
[0143] In Equation 9, x and y are coordinates of a predicted sample in the current block, and may represent the x-axis and y-axis coordinates, respectively, when the coordinates of the top-left sample in the current block are defined as (0,0). a0 and a1 may represent coefficients for the coordinates of the predicted sample, and a2 may represent an offset. Also, a2 may be 0, in which case the proposed model may be composed of only the coefficients of a0 and a1.
[0144] The linear model parameters may be derived based on values of reference samples of the current block and coordinate information of the reference samples.
[0145] Specifically, the linear model parameters may be derived based on the reference samples belonging to the first reference sample line of the current block described with reference to FIG.
[0146] The reference sample at a specific position is P in Equation 9. (x,y) In this case, the value of a reference sample at a specific position and the coordinate information of the specific position can be substituted into Equation 9. For example, if Equation 9 is applied based on a reference sample whose specific position is (-1,1), the following equation, Equation 10, can be derived.
[0147] [Formula 10]
number
[0148] According to the above method, an equation such as Equation 10 may be derived for each reference sample for all or some of the reference samples belonging to the first reference sample line of the current block. Here, some reference samples may refer to reference samples adjacent to at least one of the top end or left side of the current block among the reference samples belonging to the first reference sample line. For example, an equation such as Equation 10 may be derived for reference samples adjacent to the current block (i.e., b, c, d, e, j, k, l, m), and in this case, a determinant such as Equation 11 may be derived.
[0149] [Formula 11]
number
[0150] Equation 11 is in the form of AX=B, and the linear model parameters for the current block may be calculated based on various methods for solving linear equations (e.g., Gaussian elimination, LDL decomposition, LU decomposition, Cholesky decomposition, etc.).
[0151] Alternatively, a matrix equation identical / similar to Equation 11 can be derived based on the reference samples belonging to the second and / or third reference sample lines of the current block described with reference to FIG. 6, and the linear model parameters can be calculated based on the matrix equation.
[0152] Alternatively, a determinant identical to or similar to Equation 11 may be derived based on reference samples belonging to the template region and / or reference samples around the template region described with reference to FIG. 7, and linear model parameters may be calculated based on the derived determinant. Here, the template region may be divided into a plurality of subregions. The plurality of subregions may include at least two of the left template region, the top template region, the top-left template region, the top-right template region, and the bottom-left template region. The linear model parameters may be calculated based on some of the plurality of subregions. The "some subregions" may refer to any one of the subregions or may be defined as a combination of at least two of the subregions. Alternatively, linear model parameters may be calculated for each of a plurality of subblocks. For example, linear model parameters based on the top template region and linear model parameters based on the left template region may be calculated separately.
[0153] When multiple linear model parameters are calculated for the current block, a predicted sample may be derived based on each linear model parameter, and a final predicted sample may be derived based on a weighted sum of the derived predicted samples. Alternatively, one of multiple linear model parameters may be selected, and a predicted sample may be derived based on the selected linear model parameter. For this purpose, an index identifying one of the multiple linear model parameters may be signaled.
[0154] When solving the linear equations described above, floating-point operations may be required. In this case, to avoid floating-point operations, a method may be used in which the matrix values are scaled up to a specific number in an intermediate process, and then scaled down to the original scale when constructing the final predicted sample. This reduces the complexity of floating-point operations. For example, the scaled-up unit is 2. 22 It may be.
[0155] The intra prediction model proposed in this disclosure can perform prediction by taking into account linear variations in the x-axis and y-axis within the current block. Unlike the planar mode, which reflects linear variations using reference samples adjacent to the top / left side of the current block and corner reference samples, the proposed prediction model can reflect regional linear variations. The proposed method can improve prediction performance by constructing a new predictor that differs from the properties of existing intra prediction blocks.
[0156] This disclosure proposes a method for signaling the aforementioned linear model parameter-based intra prediction method (hereinafter referred to as linear model-based prediction mode), in which one or more syntax elements related to the linear model-based prediction mode may be coded and signaled.
[0157] For example, the encoding device and the decoding device may be defined as a linear model-based prediction mode according to any one of the above-described Examples 1 to 3. In this case, syntax elements related to the linear model-based prediction mode may be signaled as shown in Table 1 below.
[0158] [Table 1]
[0159] A first flag indicating whether a linear model-based prediction mode is available may be signaled. The first flag may be signaled at a level higher than the block level. Here, the higher level may refer to at least one of a video parameter set (VPS), a sequence parameter set (SPS), a picture parameter set (PPS), an adaptive parameter set (APS), a picture header (PH), or a slice header (SH). For example, the first flag may be expressed as sps_embodimentX_enabled_flag signaled at the SPS level.
[0160] If the first flag indicates that a linear model-based prediction mode is available, a second flag indicating whether the linear model-based prediction mode is to be applied may be signaled. The second flag may be signaled at a block level such as a coding tree unit (CTU), a coding unit (CU), etc. For example, the second flag may be expressed as embodimentX_flag signaled in coding unit syntax. If the second flag is 1, the linear model-based prediction mode may be applied to the current block, and if the second flag is 0, the linear model-based prediction mode may not be applied to the current block.
[0161] If the first flag indicates that the linear model-based prediction mode is not available, the second flag indicating whether the linear model-based prediction mode is applied may not be signaled, and the value of the second flag may be induced to 0.
[0162] Alternatively, although the methods of deriving linear model parameters are different in Examples 1 and 2, the mathematical formulas for deriving predicted samples are the same, and therefore, theoretically, they can be regarded as the same prediction method. Meanwhile, Example 3 derives predicted samples using a mathematical formula different from those in Examples 1 and 2, and therefore, theoretically, can be regarded as a different prediction method. Therefore, a plurality of linear model-based prediction modes may be defined in the encoding device and the decoding device, and any one of these may be selectively used. The plurality of linear model-based prediction modes may include the linear model-based prediction mode according to either Example 1 or 2 and the linear model-based prediction mode according to Example 3. The encoding device may select a linear model-based prediction mode having an optimal cost in terms of rate distortion, and the decoding device may perform prediction based on the optimal linear model-based prediction mode selected by the encoding device. In this case, syntax elements related to the linear model-based prediction mode may be signaled as shown in Table 2 below.
[0163] [Table 2]
[0164] A first flag indicating whether a first linear model-based prediction mode is available may be signaled. The first flag may be signaled at a level higher than the block level. Here, the higher level may refer to at least one of a video parameter set (VPS), a sequence parameter set (SPS), a picture parameter set (PPS), an adaptive parameter set (APS), a picture header (PH), or a slice header (SH). For example, the first flag may be expressed as sps_embodimentX_enabled_flag signaled at the SPS level. The first linear model-based prediction mode may refer to the linear model-based prediction mode according to the first or second embodiment.
[0165] If the first flag indicates that the first linear model-based prediction mode is available, a second flag indicating whether the first linear model-based prediction mode is to be applied may be signaled. The second flag may be signaled at a block level such as a coding tree unit (CTU), a coding unit (CU), etc. For example, the second flag may be expressed as embodimentX_flag signaled in coding unit syntax. If the second flag is 1, the first linear model-based prediction mode may be applied to the current block, and if the second flag is 0, the first linear model-based prediction mode may not be applied to the current block.
[0166] If the first flag indicates that the first linear model-based prediction mode is not available, the second flag indicating whether the first linear model-based prediction mode is applied may not be signaled, and the value of the second flag may be induced to 0.
[0167] In addition, a third flag indicating whether a second linear model-based prediction mode is available may be signaled. The third flag may be signaled at a level higher than the block level. Here, the higher level may refer to at least one of a video parameter set (VPS), a sequence parameter set (SPS), a picture parameter set (PPS), an adaptive parameter set (APS), a picture header (PH), or a slice header (SH). For example, the third flag may be expressed as sps_embodimentY_enabled_flag signaled at the SPS level. The second linear model-based prediction mode may refer to the linear model-based prediction mode according to the third embodiment.
[0168] If the third flag indicates that the second linear model-based prediction mode is available, a fourth flag indicating whether the second linear model-based prediction mode is applied may be signaled. The fourth flag may be signaled at a block level such as a coding tree unit (CTU) or a coding unit (CU). For example, the fourth flag may be expressed as embodimentY_flag signaled in coding unit syntax. If the fourth flag is 1, the second linear model-based prediction mode may be applied to the current block, and if the fourth flag is 0, the second linear model-based prediction mode may not be applied to the current block. The fourth flag may be signaled if the first flag indicates that the first linear model-based prediction mode is not available.
[0169] If the third flag indicates that the second linear model-based prediction mode is not available, the fourth flag indicating whether the second linear model-based prediction mode is applied may not be signaled, and the value of the fourth flag may be induced to 0.
[0170] Alternatively, a plurality of linear model-based prediction modes may be defined in the encoding device and the decoding device, and any one of these may be selectively used. The plurality of linear model-based prediction modes may include the linear model-based prediction modes according to the first to third embodiments. The encoding device may select a linear model-based prediction mode having an optimal cost in terms of rate-distortion, and the decoding device may perform prediction based on the optimal linear model-based prediction mode selected by the encoding device. In this case, syntax elements related to the linear model-based prediction modes may be signaled as shown in Table 3 below.
[0171] [Table 3]
[0172] A first flag indicating whether a linear model-based prediction mode is available may be signaled. The first flag may be signaled at a level higher than the block level. Here, the higher level may refer to at least one of a video parameter set (VPS), a sequence parameter set (SPS), a picture parameter set (PPS), an adaptive parameter set (APS), a picture header (PH), or a slice header (SH). For example, the first flag may be expressed as sps_model_based_interpretation_flag signaled at the SPS level.
[0173] If the first flag indicates that a linear model-based prediction mode is available, a second flag indicating whether the linear model-based prediction mode is to be applied may be signaled. The second flag may be signaled at a block level such as a coding tree unit (CTU), a coding unit (CU), etc. For example, the second flag may be expressed as use_embodimentX_flag signaled in coding unit syntax. If the second flag is 1, the linear model-based prediction mode may be applied to the current block, and if the second flag is 0, the linear model-based prediction mode may not be applied to the current block.
[0174] If the first flag indicates that the linear model-based prediction mode is not available, the second flag indicating whether the linear model-based prediction mode is applied may not be signaled, and the value of the second flag may be induced to 0.
[0175] If the second flag indicates that a linear model-based prediction mode is to be applied, an index (which_embodiment_idx) specifying one of a plurality of linear model-based prediction modes may be signaled. For example, if the index is 0, the linear model-based prediction mode according to Example 1 may be used. If the index is 1, the linear model-based prediction mode according to Example 2 may be used. If the index is 2, the linear model-based prediction mode according to Example 3 may be used.
[0176] Alternatively, one or more linear model parameters may be derived based on the reference samples of the current block.
[0177] In a current block having a predetermined width and height, the value of a predicted sample at the (x, y) position may be derived as shown in Equation 2. If the coordinates of the top left sample of the current block are defined as (0, 0), then x and y may represent the x-axis coordinate and y-axis coordinate within the current block, respectively. x may be greater than or equal to 0 and less than the width of the current block. y may be greater than or equal to 0 and less than the height of the current block. Ref above represents the upper reference sample corresponding to the current predicted sample, and Ref Left may represent a left reference sample corresponding to the current predicted sample. Also, a0 and a1 may represent coefficients for the coordinates of the current predicted sample, a2 and a3 may represent coefficients for the top / left reference sample, and a4 may represent an offset. In this case, a4 may be 0, and in this case, the proposed linear model parameters may be composed only of coefficients a0 to a3. That is, the linear model parameters according to the present disclosure may include at least one of a coefficient or an offset.
[0178] Among the already restored samples around the current block, a relational equation between a reference sample having at least one of the x-axis coordinate or the y-axis coordinate being −N and a reference sample having at least one of the x-axis coordinate or the y-axis coordinate being −M can be defined as shown in Equation 2, and one or more linear model parameters can be derived based on this.
[0179] Here, a group of one or more reference samples whose x-axis coordinate or y-axis coordinate is -N is called a first reference sample line. The coordinates of the reference samples belonging to the first reference sample line are (x ref ,-N) or (-N,y ref A group of one or more reference samples whose at least one of the x-axis coordinate or y-axis coordinate is -M is called a second reference sample line. The coordinates of the reference samples belonging to the second reference sample line are expressed as (x ref ,-M) or (-M,y ref ), where N and M are integers greater than or equal to 0, and x ref and y ref may represent the coordinates of referenceable samples among the already reconstructed samples around the current block. For example, x ref y can be greater than or equal to -M and less than (2*width). ref may be greater than or equal to -M and less than (2*height).
[0180] The value of the reference sample belonging to the first reference sample line is P (x,y) , and the upper end reference sample and / or the left end reference sample corresponding to the reference sample are input to Ref above and / or Ref Left, respectively. In this case, the top / left reference sample may be a sample belonging to the second reference sample line. In this manner, a relational expression between the first reference sample line and the second reference sample line may be defined based on Equation 2. The above relational expression may be derived for each of at least two reference samples belonging to the first reference sample line, and one linear model parameter may be derived based on the derived relational expression. This is as described in the first embodiment.
[0181] A plurality of second reference sample lines may be defined according to the range of the value of M. In this case, linear model parameters may be derived for each second reference sample line according to the value of M using the method described above.
[0182] For example, the first reference sample line may be a group of reference samples whose x-axis coordinate or y-axis coordinate is -1. The coordinates of the reference samples belonging to the first reference sample line are (x ref ,-1) or (-1,y ref ) Linear model parameters may be derived for each of at least two second reference sample lines based on the reference sample of the first reference sample line. Here, the at least two second reference sample lines may correspond to second reference sample lines where M is at least two of 1, 2, 3, or 4.
[0183] Alternatively, the first reference sample line may be a group of reference samples whose x-axis coordinate or y-axis coordinate is at least -4. The coordinates of the reference samples belonging to the first reference sample line are (x ref ,-4) or (-4,y ref ) Linear model parameters can be derived for each of the second reference sample lines, where M is at least two of 1, 2, 3, or 4, based on the reference sample of the first reference sample line.
[0184] One or more linear model parameters may be derived based on reference samples belonging to a peripheral region of the current block (or a specific region within the peripheral region). Here, the peripheral region may include at least one of the left peripheral region, the top peripheral region, the top left peripheral region, the top right peripheral region, or the bottom left peripheral region of the current block. The specific region within the peripheral region may be defined as a block having a predetermined width and height. For example, the specific region may be defined as a 4x4 block. Alternatively, the specific region may be variably determined based on the size of the current block. A linear model parameter may be derived for each peripheral region of the current block (or for each specific region within the peripheral region).
[0185] As described above, multiple linear model parameters may be derived for the current block. In this case, information identifying one of the multiple linear model parameters may be explicitly signaled. Alternatively, instead of explicitly signaling the information, an optimal linear model parameter may be selected from the multiple linear model parameters based on a method predefined in the encoding and decoding devices. For example, multiple linear model parameters may be applied to the surrounding regions (or template regions) of the current block, respectively. Prediction samples for the surrounding regions may be derived based on each linear model parameter, and the difference (e.g., SAD) between the prediction samples and the reconstructed samples for the surrounding regions may be calculated. The linear model parameter corresponding to the smallest difference calculated for each linear model parameter may be selected as the optimal linear model parameter.
[0186] The information specifying any one of the plurality of linear model parameters may be signaled as shown in Table 4 below.
[0187] [Table 4]
[0188] Referring to Table 4, a first flag (sps_model_based_intra_prediction_flag) indicating whether a linear model-based prediction mode according to the present disclosure is available may be signaled. The first flag may indicate whether a linear model-based prediction mode is defined in the encoding / decoding device. The first flag may also indicate whether a linear model-based prediction mode is used in a higher level referenced by the current block. The first flag may be signaled at a level higher than the block level. Here, the higher level may include at least one of VPS, SPS, PPS, APS, PH, or SH.
[0189] If the first flag indicates that a linear model-based prediction mode is available, a second flag (use_model_pred_flag) indicating whether the linear model-based prediction mode is used for the current block may be signaled. For example, if the second flag is 1, the linear model-based prediction mode may be applied to the current block, and if the second flag is 0, the linear model-based prediction mode may not be applied to the current block. If the first flag indicates that the linear model-based prediction mode is not available, the second flag may not be signaled, and the value of the second flag may be set to 0.
[0190] If the second flag indicates that a linear model-based prediction mode is used for the current block, an index (model_idx) specifying one of a plurality of linear model parameters may be signaled, and one of the plurality of linear model parameters may be selected based on the index.
[0191] The second flag and index may be signaled at a block level, where the block level may include at least one of a coding tree unit, a coding unit, or a transform unit.
[0192] Alternatively, the first flag may not be signaled, and at least one of the second flags or indexes described above may be signaled at the block level.
[0193] The intra prediction model proposed in this disclosure performs prediction by taking into account linear variations in the x- and y-axes within the current block, but can simultaneously reflect both global and local variations in the block by considering reference samples corresponding to the position of the prediction sample. It can also derive multiple linear model parameters based on previously reconstructed samples around the current block and select the optimal linear model parameters from among them. The proposed method can improve prediction performance by constructing a new prediction value that differs from the characteristics of existing intra prediction blocks.
[0194] A pre-processing filter may be applied to the reference samples according to the present disclosure, and linear model parameters may be derived based on the filtered reference samples. High-frequency components may be removed by low-pass filtering of the reference samples.
[0195] For example, a Gaussian filter may be applied to the reference samples, and linear model parameters may be derived based on the filtered reference samples. The Gaussian filter may be a one-dimensional 3-tab filter with filter coefficients of [1 / 4, 1 / 2, 1 / 4]. To avoid division operations, the filter coefficients may be scaled up to 4 and applied, and a shift operation may be applied when calculating the final filtered sample values. Alternatively, the Gaussian filter may be a one-dimensional 5-tab filter with filter coefficients of [1 / 16, 4 / 16, 6 / 16, 4 / 16, 1 / 16].
[0196] At least one of whether the reference sample is filtered or the filter type may be determined based on the size of the current block. For example, if the width and height of the current block are greater than or equal to 8, a pre-processing filter may be applied to the reference sample. A pre-processing filter may also be applied to the reference sample regardless of the size of the current block. If the width and / or height of the current block are less than 32, a 3-tab filter may be applied; otherwise, a 5-tab filter may be applied. If the width and / or height of the current block are less than 8, a cubic filter may be used; otherwise, a Gaussian filter may be used.
[0197] Alternatively, whether or not the reference samples are filtered may be the same as the preprocessing conditions for the reference samples in a specific intra prediction mode, for example, the specific intra prediction mode may be a planar mode.
[0198] The reference sample pre-processing method according to the present disclosure can improve prediction performance by removing artifacts, etc., from the already reconstructed surrounding samples used for prediction.
[0199] The linear model-based prediction mode according to the present disclosure may be defined as another intra prediction mode. For example, assume that the non-directional planar mode and DC mode are defined as mode 0 and mode 1, respectively, and the directional modes are defined as modes 2 to 66. In this case, the linear model-based prediction mode may be defined as mode 67.
[0200] Alternatively, any one of the existing non-directional modes may be replaced with a linear model-based prediction mode. For example, instead of the existing planar mode, the linear model-based prediction mode may be defined as mode 0. Alternatively, instead of the existing DC mode, the linear model-based prediction mode may be defined as mode 1.
[0201] A multiple candidate mode (MPM) list including multiple candidate modes (MPMs) may be configured to derive an intra prediction mode for a current block. The multiple candidate modes may be derived based on the intra prediction modes of neighboring blocks of the current block. If the neighboring block is a block coded based on a linear model-based prediction mode, the linear model-based prediction mode may be added to the MPM list as a candidate mode for the current block. However, if a method for signaling a flag indicating whether a linear model-based prediction mode is used and a method for considering a linear model-based prediction mode as a candidate mode coexist, a linear model-based prediction mode may be selected from the MPM list even if the flag indicates that a linear model-based prediction mode is not used for the current block. In this case, since ambiguity may be introduced in terms of bitstream conformance, explicit signaling of the flag may be eliminated when a linear model-based prediction mode is considered as a candidate mode.
[0202] Alternatively, the linear model-based prediction mode may be defined as a specific prediction mode, such as a matrix-based intra prediction method (MIP), a decoder-side intra mode induction method (DIMD), etc. If a neighboring block referenced when constructing an MPM list is a block coded based on a linear model-based prediction mode, the intra prediction mode for the neighboring block may be replaced with a predefined intra prediction mode and added to the MPM list. Here, the predefined intra prediction mode may be a planar mode or a DC mode. This method can simplify the mode pruning process and reduce complexity when constructing an MPM list.
[0203] The linear model-based prediction mode according to the present disclosure may be selectively applied based on the component type of the current block. For example, the linear model-based prediction mode may be applied when the component type of the current block is a luma component, and may not be applied when the component type of the current block is a chroma component. The intra prediction mode for the chroma component of the current block may be derived based on intra prediction mode information for the chroma component and the intra prediction mode for the luma component of the current block. For example, when the intra prediction mode information for the chroma component indicates DM mode, the intra prediction mode for the chroma component may be derived to the intra prediction mode for the luma component. In this case, when the intra prediction mode for the luma component of the current block corresponds to the linear model-based prediction mode, the intra prediction mode for the chroma component may be derived to another predefined mode. Here, the other predefined mode may be planar mode or DC mode.
[0204] The linear model-based prediction mode according to the present disclosure may be adaptively applied based on the size of the current block. The linear model-based prediction mode may be limited to be applied to blocks of relatively small size. For example, the linear model-based prediction mode may be applied when the current block is a block smaller than or equal to 16x16, but may not be applied when the current block is a block larger than 16x16. This may reduce the number of bits required to encode intra-prediction mode information for the current block.
[0205] Referring to FIG. 4, a residual sample of the current block can be derived (S410).
[0206] The residual samples of the current block may be derived by performing at least one of inverse quantization and inverse transformation on transform coefficients decoded by a bitstream.
[0207] The transform kernel for the inverse transform may be a transform kernel for an intra prediction mode already defined in the encoding device and the decoding device. Here, the already defined intra prediction mode may be an intra prediction mode having characteristics similar to the linear model-based prediction mode according to the present disclosure. For example, the already defined intra prediction mode may be a non-directional mode such as a planar mode or a DC mode.
[0208] Alternatively, an intra prediction mode may be derived based on already reconstructed samples around the current block, and an inverse transform may be performed based on a transform kernel for the intra prediction mode. For example, a gradient may be calculated from samples around the current block, an intra prediction mode may be derived based on the calculated gradient, and a transform kernel may be selected based on the intra prediction mode. Alternatively, an intra prediction mode may be derived based on a template region of the current block, and a transform kernel may be selected based on the intra prediction mode.
[0209] Alternatively, the transformation kernel corresponding to the linear model-based prediction mode may be explicitly signaled.
[0210] Alternatively, a transform kernel may be adaptively selected based on the size of the current block. For example, if the width or height of the current block is smaller than 16, an intra prediction mode may be derived based on already reconstructed samples around the current block, and a transform kernel may be determined based on the intra prediction mode. Otherwise, a transform kernel for an intra prediction mode already defined in the encoding device and the decoding device may be selected.
[0211] Referring to FIG. 4, the current block can be reconstructed based on the predicted samples and residual samples of the current block (S420).
[0212] FIG. 8 is a diagram illustrating a schematic configuration of a video decoding device that performs a video decoding method according to an embodiment of the present disclosure.
[0213] 8, the video decoding apparatus 300 may include a prediction sample directing unit 800, a residual sample directing unit 810, and a restoration unit 820. The prediction sample directing unit 800 may be configured in the intra prediction unit 331 of FIG. 3, and the residual sample directing unit 810 may be configured in the residual processing unit 320 of FIG. 3.
[0214] The predicted sample deriving unit 800 can derive predicted samples of the current block based on the linear model parameters, as described above with reference to FIG.
[0215] The prediction sample derivation unit 800 may further include a linear model derivation unit (not shown). The linear model derivation unit can derive linear model parameters for linear model prediction based on already-reconstructed samples around the current block, as described in the above embodiments 1 to 3.
[0216] The linear model derivation unit may derive linear model parameters based on a linear model-based prediction mode already defined in the video decoding apparatus. Here, the already defined linear model-based prediction mode may be any one of the linear model-based prediction modes described in the above-described Examples 1 to 3. The linear model derivation unit may adaptively derive linear model parameters based on syntax elements shown in Table 1.
[0217] The video decoding apparatus may define a plurality of linear model-based prediction modes. In this case, the linear model derivation unit may select one of the plurality of linear model-based prediction modes and derive linear model parameters based on the selected mode. For the selection, a syntax element according to Table 2 or Table 3 may be used.
[0218] As described with reference to FIG. 4, the linear model derivation unit can derive multiple linear model parameters for the current block and select any one of them.
[0219] The prediction sample derivation unit 800 may further include a reference sample pre-processing unit (not shown), which can apply a predetermined pre-processing filter to the reference samples for deriving the linear model parameters, as described with reference to FIG.
[0220] The prediction sample derivation unit 800 may adaptively apply a linear model-based prediction mode to the current block based on the component type and / or size of the current block.
[0221] The residual sample deriving unit 810 may derive a residual sample of the current block. That is, the residual sample deriving unit 810 may derive a residual sample by performing at least one of inverse quantization and inverse transform on transform coefficients of the current block. Here, the inverse transform may be performed based on a predetermined transform kernel, and a method for determining the transform kernel is as described with reference to FIG. 4.
[0222] The reconstruction unit 820 can reconstruct the current block based on the predicted samples and residual samples of the current block.
[0223] FIG. 9 is a diagram illustrating a video encoding method performed by a video encoding device according to an embodiment of the present disclosure.
[0224] 9, a prediction sample of a current block may be derived based on the linear model parameters (S900). The method of deriving a prediction sample based on the linear model parameters is the same as that described with reference to FIG.
[0225] Linear model parameters for linear model prediction can be derived based on already reconstructed samples around the current block, as described in Examples 1 to 3 above.
[0226] The linear model parameters may be derived based on a linear model-based prediction mode already defined in the video encoding apparatus, where the already defined linear model-based prediction mode may be any one of the linear model-based prediction modes described in the first to third embodiments.
[0227] Syntax elements for the linear model-based prediction mode according to the present disclosure may be coded into the bitstream and may be signaled as shown in Table 1.
[0228] The video encoding apparatus may define multiple linear model-based prediction modes. In this case, the video encoding apparatus may select one of the multiple linear model-based prediction modes and derive linear model parameters based on the selected linear model-based prediction mode. Syntax elements related to the selected linear model-based prediction mode may be coded into the bitstream. The syntax elements may be signaled as shown in Table 2 or Table 3.
[0229] A plurality of linear model parameters can be derived for the current block, and any one of them can be selectively used. The method of deriving a plurality of linear model parameters and the method of selecting the optimal linear model parameter are as described with reference to FIG. 4. Information identifying any one of the plurality of linear model parameters may be coded and added to the bitstream. For example, the information may be signaled as shown in Table 4.
[0230] A pre-defined pre-processing filter may be applied to the reference samples for deriving the linear model parameters, as described with reference to FIG.
[0231] The linear model-based prediction mode according to the present disclosure may be defined as a mode added to the existing non-directional mode and directional mode, or may be defined as a mode replacing one of the existing non-directional modes. The linear model-based prediction mode may be used as a candidate mode for configuring an MPM list. Alternatively, the linear model-based prediction mode may be restricted so as not to be used as a candidate mode for the MPM list. If a neighboring block referenced by the current block when configuring the MPM list is a block coded in the linear model-based prediction mode, the linear model-based prediction mode for the neighboring block may be replaced with another previously defined intra prediction mode.
[0232] The linear model-based prediction mode according to the present disclosure may be adaptively applied based on the component type and / or size of the current block, as described with reference to FIG.
[0233] 9, residual samples of the current block may be derived based on predicted samples of the current block (S910). That is, residual samples may be derived based on the difference between original samples of the current block and predicted samples.
[0234] Referring to FIG. 9, transform coefficients can be derived by applying at least one of transform and quantization to residual samples of a current block (S920).
[0235] The transformation may be performed based on a predetermined transformation kernel, and the method for determining the transformation kernel is as described with reference to FIG.
[0236] Referring to FIG. 9, the transform coefficients of the current block may be coded to generate a bitstream (S930).
[0237] FIG. 10 is a diagram illustrating a schematic configuration of a video encoding device that performs a video encoding method according to an embodiment of the present disclosure.
[0238] 10, the video encoding apparatus 200 may include a prediction sample derivation unit 1000 and a residual processing unit 1010. The prediction sample derivation unit 1000 may be configured in the intra prediction unit 222 of FIG. 2, and the residual processing unit 1010 may be configured in the residual processing unit 230 of FIG. 2.
[0239] The predicted sample deriving unit 1000 can derive predicted samples of the current block based on the linear model parameters. The method of deriving predicted samples based on the linear model parameters is the same as that described with reference to FIG.
[0240] The prediction sample derivation unit 1000 may further include a linear model derivation unit (not shown). The linear model derivation unit can derive linear model parameters for linear model prediction based on already-reconstructed samples around the current block, as described in the above embodiments 1 to 3.
[0241] The linear model inducing unit may induce linear model parameters based on a linear model-based prediction mode already defined in the video encoding apparatus, where the already defined linear model-based prediction mode may be any one of the linear model-based prediction modes described in the first to third embodiments.
[0242] The prediction sample derivation unit 1000 may generate syntax elements for the linear model-based prediction mode according to the present disclosure, which may be encoded by the entropy encoding unit 240 and inserted into the bitstream. The syntax elements may be signaled as shown in Table 1.
[0243] The video encoding apparatus may define multiple linear model-based prediction modes. In this case, the linear model derivation unit may select one of the multiple linear model-based prediction modes and derive linear model parameters based on the selected linear model-based prediction mode. The linear model derivation unit may generate a syntax element related to the selected linear model-based prediction mode. This may be encoded by the entropy encoding unit 240 and inserted into the bitstream. The syntax element may be signaled as shown in Table 2 or Table 3.
[0244] As described with reference to FIG. 4, the linear model derivation unit can derive a plurality of linear model parameters for the current block and select one of them. The linear model derivation unit can generate information identifying one of the plurality of linear model parameters. This information can be encoded by the entropy encoding unit 240 and inserted into the bitstream. For example, the information can be signaled as shown in Table 4.
[0245] The prediction sample derivation unit 1000 may further include a reference sample pre-processing unit (not shown), which can apply a predetermined pre-processing filter to the reference samples for deriving the linear model parameters, as described with reference to FIG.
[0246] The prediction sample derivation unit 1000 can adaptively apply a linear model-based prediction mode to the current block based on the component type and / or size of the current block.
[0247] The residual processing unit 1010 may derive residual samples of the current block based on predicted samples of the current block, and may derive transform coefficients by applying at least one of transform and quantization to the residual samples of the current block. Here, the transform may be performed based on a predetermined transform kernel, and a method for determining the transform kernel is as described with reference to FIG. 4.
[0248] The residual processor 1010 may generate residual information about the transform coefficients, which may be encoded by the entropy encoder 240 and inserted into the bitstream.
[0249] 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.
[0250] 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.
[0251] 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.
[0252] 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.
[0253] 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.
[0254] 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.
[0255] FIG. 11 shows an example of a content streaming system to which the embodiments of the present disclosure can be applied.
[0256] Referring to FIG. 11, 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.
[0257] 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.
[0258] 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.
[0259] 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.
[0260] 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.
[0261] 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.
[0262] 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.
[0263] 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.
Claims
1. deriving predicted samples of the current block based on linear model parameters of the current block; deriving a residual sample of the current block; reconstructing the current block based on the predicted samples and residual samples of the current block; the linear model parameters are derived based on one or more reference samples within a surrounding region of the current block; The prediction sample is derived by applying the linear model parameters to at least one of coordinates of the prediction sample within the current block or already-reconstructed samples around the current block.
2. 2. The image decoding method of claim 1, wherein the linear model parameters are derived based on at least one of a first reference sample belonging to a first reference sample line of the current block, a coordinate of the first reference sample, or a left reference sample or an upper reference sample of the first reference sample.
3. The image decoding method of claim 2 , wherein at least one of the left reference sample or the top reference sample of the first reference sample belongs to a second reference sample line of the current block.
4. The image decoding method of claim 1 , wherein the peripheral region comprises at least one of a left peripheral region, a top peripheral region, a top left peripheral region, a top right peripheral region, or a bottom left peripheral region.
5. the linear model parameter is derived from any one of a plurality of linear model parameters; the plurality of linear model parameters are derived for a plurality of sub-regions within the surrounding region, respectively; The image decoding method of claim 1 , wherein the plurality of sub-regions include at least two of a left peripheral region, a top peripheral region, a top left peripheral region, a top right peripheral region, or a bottom left peripheral region.
6. 2. The video decoding method of claim 1, further comprising: obtaining at least one of a first flag indicating whether a linear model-based prediction mode is available or a second flag indicating whether the linear model-based prediction mode is applied to the current block from a bitstream.
7. The video decoding method of claim 6 , further comprising: obtaining, from the bitstream, an index that identifies one of a plurality of predefined linear model-based prediction modes.
8. The video decoding method of claim 1 , wherein a predetermined filter is applied to one or more reference samples within a surrounding area of the current block.
9. The video decoding method of claim 8 , wherein at least one of whether the predetermined filter is applied or the type of the predetermined filter is determined based on a size of the current block.
10. The residual samples of the current block are derived by performing an inverse transform on the transform coefficients of the current block; The video decoding method of claim 1 , wherein the inverse transform is performed based on a transform kernel for a predefined non-directional mode or an intra-prediction mode that is induced based on the surrounding region.
11. deriving predicted samples of the current block based on linear model parameters of the current block; deriving residual samples of the current block based on predicted samples of the current block; deriving transform coefficients from residual samples of the current block; and encoding the transform coefficients to generate a bitstream; the linear model parameters are derived based on one or more reference samples within a surrounding region of the current block; The prediction sample is derived by applying the linear model parameters to at least one of coordinates of the prediction sample within the current block or already-reconstructed samples around the current block.
12. A computer-readable recording medium storing a bitstream generated by the video encoding method of claim 11.
13. obtaining a bitstream for video information, wherein the bitstream is generated by deriving predicted samples of the current block based on linear model parameters of the current block, deriving residual samples of the current block based on the predicted samples of the current block, deriving transform coefficients from the residual samples of the current block, and encoding the transform coefficients; transmitting data including the bitstream; the linear model parameters are derived based on one or more reference samples within a surrounding region of the current block; The data transmission method for the video information, wherein the predicted samples are derived by applying the linear model parameters to at least one of coordinates of the predicted samples within the current block or already-reconstructed samples around the current block.