VIDEO OR IMAGE CODING USING ADAPTIVE LOOP FILTER.

MX431698BActive Publication Date: 2026-02-25LG ELECTRONICS INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
MX2022006967
Authority / Receiving Office
MX · MX
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-12-12
Filing Date
2022-06-08
Publication Date
2026-02-25
Estimated Expiration
2040-12-10

AI Technical Summary

Technical Problem

The increasing demand for high-resolution and high-quality images leads to higher transmission and storage costs due to increased data size, necessitating a high-efficiency image compression technique.

Method used

Implementing an adaptive loop filter (ALF) that can be applied at a picture or segment level, with signaling information included in image or segment headers, to enhance image coding efficiency.

Benefits of technology

Enhances overall image/video compression efficiency and decoding efficiency by optimizing the application of ALF procedures.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure MX431698B0
    Figure MX431698B0
Patent Text Reader

Abstract

The present invention relates to a proposed image decoding method according to the present description, indicating whether an adaptive loop filter (ALF) procedure to be applied to a current block is applied at an image level or at a segment level.
Need to check novelty before this filing date? Find Prior Art

Description

VIDEO OR IMAGE ENCODING USING ADAPTIVE LOOP FILTER BACKGROUND OF THE INVENTION Field of Invention [1] This description refers to video or image encoding using an adaptive loop filter. Related Technique [2] Recently, the demand for high-resolution, high-quality images, such as High Definition (HD) and Ultra High Definition (UHD) images, has been increasing in various fields. As the resolution and quality of image data increase, the size of the information, or bit size, transmitted increases compared to existing image data. Therefore, when image data is transmitted using the same medium, such as a conventional (or existing) wired / wireless broadband line, or when a conventional (or existing) storage medium is used to store image data, the transmission and storage costs can increase. [3] Therefore, a highly efficient image compression technique is required to effectively transmit or store and reproduce (or reproduce) high-quality, high-resolution image information. MA / OOU SUMMARY OF THE DESCRIPTION Technical Objectives [4] A technical objective of the present description is to provide a method and apparatus for increased efficiency of image coding. [5] Another technical objective of the present description is to provide a method and apparatus for signaling information related to an adaptive loop filter that is applied at an image level or a segment level. Technical Solutions [6] Pursuant to one embodiment of the herein, a method for image decoding performed by a decoding apparatus is provided herein. The method may include the steps of obtaining indication information, including a first flag related to an Adaptive Loop Filter (ALF) procedure being applied to a current block at an image level or segment level, and residual information; analyzing the information related to the ALF procedure from an image header or segment header based on the first flag; generating reconstructed samples for a current block based on the residual information; deriving filter coefficients based on the information related to the ALF procedure; and generating modified reconstructed samples for the ML / E / ZuZZ / uOO OOU current block based on reconstructed samples and filter coefficients. [7] Pursuant to another embodiment of the present description, an image encoding method performed by an encoding apparatus is provided herein. The method may include the steps of deriving residual samples for a current block, generating reconstructed samples based on the residual samples, deriving filter coefficients to perform an adaptive loop filter (ALF) procedure on the reconstructed samples, generating information related to the ALF procedure based on the filter coefficients, and generating indication information that includes a first flag related to whether an ALF procedure is applied at an image level or a segment level. Herein, the first flag indicates in which image header and segment header the information related to the ALF procedure is present. [8] Pursuant to yet another embodiment of the present description, a computer-readable digital recording medium is provided herein having encoded image information stored therein, enabling an image decoding method to be performed by a decoding apparatus. The image decoding method pursuant to the embodiment herein MA / 100U description may include the steps of obtaining indication information that includes a first flag related to whether an Adaptive Loop Filter (ALF) procedure being applied to a current block is applied at an image level or segment level and residual information, analyzing the ALF procedure-related information from an image header or segment header based on the first flag, generating reconstructed samples for a current block based on the residual information, deriving filter coefficients based on the ALF procedure-related information, and generating modified reconstructed samples for the current block based on the reconstructed samples and filter coefficients. EFFECTS OF THE DESCRIPTION [9] In accordance with this specification, the overall image / video compression efficiency can be increased.

[10] In accordance with this specification, image decoding efficiency can be increased based on indication information that indicates whether or not a tool being applied to a current block is being applied at an image level or at a level of MA / 100 segment. BRIEF DESCRIPTION OF THE FIGURES

[11] Figure 1 schematically illustrates an example of a video / image coding system to which the present description is applicable.

[12] Figure 2 is a diagram that schematically illustrates a configuration of a video / image encoding apparatus to which the present description is applicable.

[13] Figure 3 is a diagram that schematically illustrates a configuration of a video / image decoding apparatus to which the present description is applicable.

[14] Figure 4 illustrates an exemplary hierarchical structure of encoded data.

[15] Figure 5 is a diagram illustrating an example of a candidate block that can be used in a case where interprediction is performed for an actual block.

[16] Figure 6 is a flow diagram illustrating a method for performing unblocking filtration.

[17] Figure 7 is a flowchart that schematically illustrates an example of an ALF procedure.

[18] Figures 8a-8b illustrate an example of a filter configuration for ALF.

[19] Figure 9 is a flowchart that MA / OOU illustrates an operation of an image coding apparatus in accordance with a modality.

[20] Figure 10 is a block diagram illustrating a configuration of a modality-compliant image coding apparatus.

[21] Figure 11 is a flowchart illustrating an operation of an image decoding apparatus in accordance with a modality.

[22] Figure 12 is a block diagram illustrating a configuration of an image decoding apparatus in accordance with a modality.

[23] Figure 13 illustrates an exemplary structure of a continuous content transmission system to which the present description is applicable. DESCRIPTION OF THE ILLUSTRATIVE MODALITIES

[24] The present description may be modified in various ways, and the drawings describe and illustrate the specific ways in which it is described. However, the ways are not intended to limit the description. The terms used in the following description are employed to describe only specific ways, but are not intended to limit the description. An expression of a singular number includes an expression of the plural number, provided that it is clearly read differently. Terms such as "includes" and "has" are intended to indicate that ML / E / ZuZz / uOO OOU there are characteristics, numbers, steps, operations, elements, components or combinations thereof used in the following description and, therefore, it should be understood that the possibility of the existence or addition of one or more different characteristics, numbers, steps, operations, elements, components or combinations is not excluded.

[25] Furthermore, each configuration in the drawings described herein is a separate illustration to explain functions as distinct features, and does not imply that each configuration is implemented using mutually different hardware or software. For example, two or more of the configurations may be combined to form a single configuration, and a configuration may also be divided into multiple configurations. Without departing from the substance of this document, the ways in which the configurations are combined and / or separated are included within the scope of the claims.

[26] In the present description, the term A or B may mean only A, only B, or both A and B. In other words, in the present description, A or B may be interpreted to indicate A and / or B. For example, in the present description, the term A, B, or C may mean only A, only B, only C, or any combination of A, B, C.

[27] A slash / ” or a comma used in the present description may mean and / or. For example, A / B may mean A and / or B. Accordingly, A / B may mean only A, only B, or both A and B. For example, A, B, C may mean A, B, or C.

[28] In this specification, at least one of A and B may mean only A, only B, or both A and B. Furthermore, in this specification, the expression at least one of A or B or at least one of A and / or B may be interpreted the same as at least one of A and B.

[29] Furthermore, in this specification, at least one of A, B and C may mean only A, only B, only C, or any combination of A, B and C. In addition, at least one of A, B or C or at least one of A, B and / or C may mean at least one of A, B and C.

[30] Furthermore, the parentheses used in this specification may mean, for example. Specifically, in the case where "prediction" is expressed (intra-prediction), it may be indicated that "intra-prediction" is proposed as an example of a prediction. In other words, the term "prediction" in this specification is not limited to "intra-prediction," and it may be indicated that "intra-prediction" is proposed as an example of a prediction. Moreover, even in the case where "prediction" is expressed (i.e., "intra-prediction"), it may be indicated that "intra-prediction" is proposed as an example of a prediction.

[31] In this specification, the technical features explained individually in a drawing can be implemented individually, or they can be implemented simultaneously.

[32] Hereafter, a preferred embodiment of the present description will be described in more detail with reference to the accompanying drawings. Hereafter, the same reference numbers will be used to indicate the same configuration elements within the drawings, and overlapping (or repetitive) descriptions of the same element configuration(s) will be omitted for simplicity.

[33] Figure 1 schematically illustrates an example of a video / image coding system to which the present description is applicable.

[34] With reference to Figure 1, a video / image coding system may include a first device (a source device) and a second device (a receiving device). The source device may transmit coded video / image information or data to the receiving device via a digital storage medium or network in the form of a file or continuous stream.

[35] The source device may include a source MA / Ί OOU of video, an encoding device, and a transmitter. The receiving device may include a receiver, 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 integrated into the encoding device. The receiver may be integrated into the decoding device. The renderer may include a display, and the display may be configured as a separate device or an external component.

[36] The video source may acquire video / images through a video / image capture, synthesis, or generation process. The video source may include a video / image capture device and / or a video / image generation device. The video / image capture device may include, for example, one or more cameras, video / image files containing previously captured video / images, and the like. The video / image generation device may include, for example, computers, tablets, and smartphones, and may generate (electronically) video / images. For example, a virtual video / image may be generated via a computer or similar device. In this case, the video / image capture process may be replaced by a process MA / 10OU of related data generation.

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

[38] The transmitter can transmit the image / encoded image information or data output as a bitstream to the receiver of the receiving device via a digital storage medium or a network in the form of a file or stream. The digital storage medium can include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, and the like. The transmitter can include a component for generating a multimedia file using a predetermined file format and can include a component for transmission over a broadcast / communication network. The receiver can receive / extract the bitstream and transmit the received bitstream to the decoding device.

[39] The decoding apparatus can decode the video / image by performing a series of procedures such as dequantization, inverse transformation, and prediction corresponding to the operation of the MA / Ί OOU coding device.

[40] The renderer can render the decoded video / image. The rendered video / image can be displayed on the screen.

[41] This specification pertains to video / image coding. For example, the method / example described in this specification may be applied to a method described in a Versatile Video Coding (VVC) standard, an Essential Video Coding (EVC) standard, an AOMedia Video 1 (AVI) standard, a 2nd generation audio and video coding standard (AVS2), or other next-generation video / image coding standard(s) (e.g., H.267 or H.268, and so forth).

[42] This document suggests several video / image encoding methods, and the above methods may also be performed in combination with each other unless otherwise specified.

[43] In this document, a video may refer to a series of images over time. An image generally refers to the unit that represents an image in a particular time frame, and a segment / tile refers to the unit that constitutes a part of the image in terms of encoding. A segment / tile may include one or more encoding tree units (CTUs). An image may consist of one or more segments / tiles.

[44] A mosaic is a rectangular region of CTUs within a particular mosaic column and a particular mosaic row in an image. The mosaic column is a rectangular region of CTUs that has a height equal to the height of the image and a width specified by syntax elements in the image parameter set. The mosaic row is a rectangular region of CTUs that has a width specified by syntax elements in the image parameter set and a height equal to the height of the image. A mosaic sweep is a specific sequential ordering of CTUs that divides an image in which the CTUs are ordered consecutively in a CTU raster sweep in a mosaic, while the mosaics in an image are ordered consecutively in a raster sweep of the image mosaics.A segment may include a plurality of complete mosaics or a plurality of consecutive CTU arrays within a mosaic of an image that may be included in a NAL unit. In this specification, a mosaic group and a segment may be used interchangeably. For example, in this specification, a mosaic group / mosaic group header may be referred to as a segment / header. MA / 100 segment.

[45] However, an image can be divided into two or more sub-images. A sub-image can be a rectangular region of one or more segments within an image.

[46] A pixel or pei can mean a smaller unit that constitutes a frame (or image). Also, 'sample' can be used as a term corresponding to a pixel. A sample, in general, can represent a pixel or a pixel value, and can represent only a pixel / pixel value of a luma component or only a pixel / pixel value of a chroma component.

[47] A unit can represent a basic image processing unit. The unit can include at least one specific region of the image and information related to that region. A unit can include one luma block and two chroma blocks (e.g., cb, cr). The unit can be used interchangeably with terms such as block or area in some cases. In a general case, an M×N block can include samples (or sample arrays) or a set (or array) of transformation coefficients with M columns and N rows.

[48] ​​Figure 2 is a diagram that schematically illustrates a configuration of a video / image encoding apparatus to which the present description may be applied. Hereafter, a video encoding apparatus may include an apparatus of MA / OOU image encoding.

[49] Referring to Figure 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-predictor 221 and an intra-predictor 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 image partitioner 210, predictor 220, residual processor 230, entropy encoder 240, adder 250, and filter 260 can be configured by one or more hardware components (e.g., encoder chipsets or processors) according to a modality.Additionally, the 270 memory can include a decoded image buffer (DPB), or it can be configured for digital storage. The hardware component can also include the 270 memory as an internal or external component.

[50] The image partitioner 210 can divide an input image (or, picture, frame) for the encoding apparatus 200 into one or more units of ML / OOU processing. As an example, the processor can be named the encoding unit (CU). In this case, the encoding unit can be recursively divided according to a quad binary tree structure (QTBTTT) starting from a coding tree unit (CTU) or the larger encoding unit (LCU). For example, an encoding unit can be divided into a plurality of encoding units of greater depth based on a quad tree structure, a binary tree structure, and / or a ternary tree structure. In this case, for example, the quad tree structure is applied first, and the binary tree structure and / or the ternary tree structure can be applied subsequently. Alternatively, the binary tree structure can also be applied first.A coding procedure according to the present description can be carried out based on a final coding unit that is no longer subdivided. In this case, the largest coding unit can be used as the final coding unit based on coding efficiency in accordance with the image characteristics, or if necessary, the coding unit can be recursively subdivided into deeper coding units, and a coding unit of optimal size can be used as the final coding unit. Herein, the procedure... MA / 100U encoding may include a prediction, transformation, and reconstruction procedure, which will be described later. As another example, the processor may also include a prediction unit (PU) or a transformation unit (TU). In this case, the prediction unit and the transformation unit may be divided or partitioned from the aforementioned final encoding unit. The prediction unit may be a sample prediction unit, and the transformation unit may be a unit for deriving a transformation coefficient and / or a unit for deriving a residual signal from the transformation coefficient.

[51] In certain cases, the unit can be used interchangeably with the term block or area. In a general case, an MxN block can represent a set of samples or transformation coefficients composed of M columns and N rows. A sample can generally represent a pixel or a pixel value, can represent only a pixel / pixel value of a luma component, or can represent only a pixel / pixel value of a chroma component. A sample can be used as a term corresponding to a frame (or image) for a pixel or a pixel.

[52] In the coding apparatus 200, a prediction signal (predicted block, sample matrix of The prediction generated from the inter-predictor 221 or the intra-predictor 222 is subtracted from an input image signal (original block, original sample matrix) to generate a residual signal block (residual sample matrix), and the generated residual signal is transmitted to transformer 232. In this case, as shown, a part for subtracting a prediction signal (predicted block, prediction sample matrix) from the input image signal (original block, original sample matrix) in encoder 200 can be called a subtractor 231. The predictor can perform prediction on a block that will be processed (later referred to as a current block) and generate a predicted block that includes prediction samples for the current block. The predictor can determine whether to apply intra-prediction or inter-prediction on a current block or CU base.As described later in the description of each prediction mode, the predictor can generate various prediction-related information, such as prediction mode information, and transmit the generated information to the entropy encoder 240. The prediction information can be encoded in the entropy encoder 240 and generated in the form of a bit stream.

[53] The intra-predictor 222 can predict a current block with reference to samples within an image ML / E / ZuZZ / uOO OOU current. The referenced samples can be located near the current block, or they can be located far from the current block depending on the prediction mode. The prediction modes in the intra-prediction can include a plurality of non-directional modes and a plurality of directional modes. The non-directional mode can include, for example, a DC mode or a planar mode. The directional mode can include, for example, 33 directional prediction modes or 65 directional prediction modes depending on the fine degree of the prediction direction. However, this is illustrative, and the number of directional prediction modes, whether greater or less than the above, can be used according to the configuration. The intra-predictor 222 can also determine the prediction mode applied to the current block using the prediction mode applied to the nearby block.

[54] Interpredictor 221 can induce a predicted block of the current block based on a reference block (reference sample array) specified by a motion vector in a reference image. Currently, in order to reduce the amount of motion information transmitted in interprediction mode, the motion information can be predicted in units of a block, a sub-block, or a sample based on the correlation of motion information between the neighboring block and the MA / Ί OOU current block. Motion information may include a motion vector and a reference image index. Motion information may also include inter-prediction direction information (LO prediction, Ll prediction, Bi prediction, or similar). In the case of inter-prediction, the neighbor block may include a spatial near block existing in the current image and a temporal near block existing in the reference image. The reference image that includes the reference block and the reference image that includes the temporal near block may also be the same, or they may be different. The temporal near block may be called a co-located reference block, a co-located CU (colCU), or something similar, and the reference image that includes the temporal near block may also be called a co-located image (colPic).For example, the inter-predictor 221 can configure a list of candidates for motion information based on nearby blocks and generate information indicating which candidate is used to derive the motion vector and / or reference image index of the current block. Inter-prediction can be performed based on various prediction modes; for example, in the case of a skip mode and a combine mode, inter-predictor 221 can use the motion information of the neighboring block as the motion information of the block. MA / 100U current. In the case of the omission mode, the residual signal may not be transmitted, unlike in the combination mode. A motion vector prediction (MVP) mode can indicate the motion vector of the current block using the motion vector of the nearby block as a motion vector predictor, and signaling a motion vector difference.

[55] Predictor 220 can generate a prediction signal based on several prediction methods, which are described below. For example, the predictor can apply either intra-prediction or inter-prediction to predict a block, or it can simultaneously apply both intra- and inter-prediction. This can be called combined inter- and intra-prediction (CIIP). Furthermore, the predictor can rely on either an intra-block copy (IBC) prediction mode or a palette mode for predicting a block. The IBC prediction mode or palette mode can be used for image / video encoding of game content or similar applications, such as screen content coding (SCC). IBC essentially performs the prediction on the current image, but it can be implemented similarly to inter-prediction, where a reference block is derived from the current image.In other words, the IBC can use at least one of the interprediction techniques described herein. MA / Ί OOU palette mode can be considered an example of intra- or intra-prediction coding. When palette mode is applied, a sample value within an image can be selected based on information from the palette table and the palette index.

[56] The prediction signal generated by the predictor (including the inter-predictor 221 and / or the intra-predictor 222) can be used to generate a reconstructed signal or a residual signal. The transformer 232 can generate transformation coefficients by applying a transformation technique to the residual signal. For example, the transformation technique can include at least a discrete cosine transform (DCT), a discrete sine transform (DST), a Karhunen-Loève transform (KLT), a graph-based transform (GBT), or a conditionally nonlinear transform (CNT). Here, GBT means a transformation obtained from a graph when the pixel relationship information is represented by the graph. CNT refers to the transformation generated based on a prediction signal generated using all previously reconstructed pixels.Furthermore, the transformation process can be applied to blocks of square pixels that are the same size, or it can be applied to blocks that are of a variable size instead of square.

[57] Quantizer 233 can quantize the transformation coefficients and transmit them to entropy encoder 240, and entropy encoder 240 can encode the quantized signal (information about the quantized transformation coefficients) and output a bit stream. The information about the quantized transformation coefficients can be called residual information. Quantizer 233 can rearrange block-type quantized transformation coefficients into a one-dimensional vector form based on a coefficient sweep order and generate information about the quantized transformation coefficients based on the quantized transformation coefficients in one-dimensional vector form. Information about the transformation coefficients can be generated.The 240 entropy encoder can perform various encoding methods, such as exponential Golomb, context-adaptive variable-length coding (CAVLC), context-adaptive binary arithmetic coding (CABAC), and others. The 240 entropy encoder can encode information necessary for video / image reconstruction, other than quantized transformation coefficients (e.g., syntax element values), either together or separately. The encoded information (e.g., video / image information)... MA / 100U encoded) can be transmitted or stored in NAL (Network Abstraction Layer) units as a bitstream. The video / image information may also include information about various parameter sets, such as an Adaptive Parameter Set (APS), an Image Parameter Set (PPS), a Sequence Parameter Set (SPS), or a Video Parameter Set (VPS). Furthermore, the video / image information may also include general restriction information. In this description, information and / or syntax elements transmitted / signaled from the encoding device to the decoding device may be included in the video / image information. The video / image 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 on a digital storage medium.The network may include a transmission network and / or a communication network, and the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, and the like. A transmitter (not shown) that transmits a signal output from the entropy encoder 240 and / or a storage unit (not shown) that stores the signal may be included as an internal / external element of the encoding apparatus 200. Alternatively, MA / 100U, the transmitter can be included in the 240 entropy encoder.

[58] The quantized transformation coefficients output from quantizer 233 can be used to generate a prediction signal. For example, the residual signal (residual block or residual samples) can be reconstructed by applying dequantization and inverse transformation to the quantized transformation coefficients via dequantizer 234 and inverse transformer 235. Adder 250 adds the reconstructed residual signal to the prediction signal output from inter-predictor 221 or intra-predictor 222 to generate a reconstructed signal (reconstructed image, reconstructed block, reconstructed sample matrix). If there are no residuals for the block to be processed, as in the case of applying skip mode, the predicted block can be used as the reconstructed block. Adder 250 can be referred to as a reconstructor or reconstructed block generator.The reconstructed signal generated can be used for intra-prediction of a subsequent block to be processed in the current image and can be used for inter-prediction of a subsequent image through filtering as described below.

[59] Meanwhile, luma mapping with chroma scaling (LMCS) can be applied during the encoding and / or reconstruction of an image.

[60] Filter 260 can improve the subjective / objective image quality by applying filtering to the reconstructed signal. For example, Filter 260 can generate a modified reconstructed image by applying various filtering methods to the reconstructed image and store the modified reconstructed image in memory 270, specifically in a DPB of memory 270. The various filtering methods can include, for example, unlock filtering, sample-adaptive shifting (SAO), an adaptive loop filter, a bilateral filter, and the like. Filter 260 can generate various types of filtering-related information and transfer the generated information to the entropy encoder 290 as described later in the description of each filtering method. The filtering-related information can be encoded by the entropy encoder 290 and output as a bitstream.

[61] The modified reconstructed image transmitted to memory 270 can be used as a reference image in the inter-predictor 221. When inter-prediction is applied through the encoding apparatus, the prediction mismatch between the encoding apparatus 200 and the decoding apparatus 300 can be avoided, and the encoding efficiency can be improved. ML / E / ZuZz / uO OOU

[62] The DPB of memory 270 can store the modified reconstructed image for use as a reference image in inter-predictor 221. Memory 270 can store motion information from a block from which the motion information of the current image is derived (or encoded) and / or motion information from blocks of the already reconstructed image. The stored motion information can be transferred to inter-predictor 221 for use as spatial near block motion information or temporal near block motion information. Memory 270 can store reconstructed samples of reconstructed blocks in the current image and can transfer the reconstructed samples to intra-predictor 222.

[63] Figure 3 is a diagram to schematically explain the configuration of a video / image decoding device to which the description in this document can be applied.

[64] Referring to Figure 3, the decoding apparatus 300 may include and be configured with an entropy decoder 310, a residual processor 320, a predictor 330, an adder 340, a filter 350, and a memory 360. The predictor 330 may include an inter-predictor 331 and an intra-predictor 332. The residual processor 320 may include a dequantizer 321 and a ML / E / ZuZZ / uOO OOU inverse transformer 322. The entropy decoder 310, residual processor 320, predictor 330, adder 340, and filter 350, described above, may be configured by one or more hardware components (e.g., decoder chipsets or processors) according to a modality. In addition, memory 360 may include a decoded image buffer (DPB) and may be configured by a digital storage medium. The hardware component may also include memory 360 as an internal / external component.

[65] When the bitstream containing the video / image information is input, the decoding apparatus 300 can reconstruct the image in response to a process in which the video / image information is processed in the encoding apparatus illustrated in Figure 2. For example, the decoding apparatus 300 can derive the units / blocks based on the block-splitting information acquired from the bitstream. The decoding apparatus 300 can perform the decoding using the processing unit applied to the encoding apparatus. Therefore, the processing unit for decoding can be, for example, an encoding unit, and the encoding unit can be divided according to the quad-tree structure. MA / 100U binary tree structure and / or ternary tree structure of the encoding tree unit or the maximum encoding unit. One or more transformation units may be derived from the encoding unit. In addition, the reconstructed image signal decoded and output through the decoding apparatus 300 may be reproduced through a playback apparatus.

[66] The decoding apparatus 300 can receive a signal output from the encoding apparatus of Figure 2 in the form of a bitstream, and the received signal can be decoded by the entropy decoder 310. For example, the entropy decoder 310 can analyze the bitstream to obtain information (e.g., video / image information) necessary for frame (or image) reconstruction. The video / image information can further include information about various parameter sets, such as an adaptation parameter set (APS), an image parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). In addition, the video / image information can also include general constraint information. The decoding apparatus can further decode the image based on the parameter set information and / or the general constraint information.The signaled / received information and / or the described syntax elements. MA / Ί OOU later in this description can be decoded by the decoding procedure and obtained from the bitstream. For example, the entropy decoder 310 decodes the information in the bitstream based on an encoding method such as exponential Golomb encoding, CAVLC, or CABAC, and generates syntax elements necessary for image reconstruction and quantized values ​​of transformation coefficients for residues.More specifically, the CABAC entropy decoding method can receive a bin corresponding to each syntax element in the bitstream, determine a context model using target decoding syntax element information, decoding information from a target decoding block, or information from a symbol / bin decoded in a previous stage, and perform arithmetic decoding on the bin by predicting a probability of occurrence of a bin based on the determined context model, and generate a symbol corresponding to the value of each syntax element. In this case, the CABAC entropy decoding method can update the context model using the information from the decoded symbol / bin for a subsequent symbol / bin after determining the context model. The prediction information is included among the information decoded by the entropy decoder. MA / 1OOU 310 can be supplied to the predictor (the inter-predictor 332 and the intra-predictor 331), and the residual value at which the entropy decoding was performed in the entropy decoder 310, i.e., the quantized transformation coefficients and related parameter information, can be input to the residual processor 320. The residual processor 320 can derive the residual signal (the residual block, the residual samples, the residual sample matrix). In addition, filtering information between the information decoded by the entropy decoder 310 can be supplied to the filter 350. Meanwhile, a receiver (not shown) for receiving a signal output from the encoding apparatus can be further configured as an internal / external element of the decoding apparatus 300, or the receiver can be a component of the entropy decoder 310.Meanwhile, the decoding apparatus according to the present description may be called a video / image / picture decoder, and the decoder apparatus may be classified into an information decoder (video / image / picture information decoder) and a sample decoder (video / image / picture sample decoder). The information decoder may include the entropy decoder 310, and the sample decoder may include at least one of the following. MA / Ί OOU dequantizer 321, the reverse transformer 322, the adder 340, the filter 350, the memory 360, the inter predictor 332 and the intra predictor 331.

[67] The dequantizer 321 can dequantize the quantized transformation coefficients to output the transformation coefficients. The dequantizer 321 can rearrange the quantized transformation coefficients into a two-dimensional block form. In this case, the rearrangement can be performed based on a coefficient scan order performed by the encoding apparatus. The dequantizer 321 can perform the dequantization of the quantized transformation coefficients using a quantization parameter (e.g., quantization step size information) and acquire the transformation coefficients.

[68] The inverting transformer 322 inversely transforms the transformation coefficients to acquire the residual signal (residual block, residual sample matrix)

[69] Predictor 330 can perform the prediction of the current block and generate a predicted block including the prediction samples of the current block. The predictor can determine whether intra-prediction or inter-prediction is applied to the current block based on the MA / 1OOU information on the prediction output of the entropy decoder 310, and determine a specific intra / inter prediction mode.

[70] The 320 predictor can generate a prediction signal based on several prediction methods, which are described below. For example, the predictor can apply either intra-prediction or inter-prediction to predict a block, or it can simultaneously apply both intra- and inter-prediction. This can be called combined inter- and intra-prediction (CIIP). Furthermore, the predictor can rely on either an intra-block copy (IBC) prediction mode or a palette mode for predicting a block. The IBC prediction mode or the palette mode can be used for image / video encoding of game content or similar applications, such as screen content coding (SCC). IBC essentially performs the prediction on the current image, but it can be implemented similarly to inter-prediction, where a reference block is derived from the current image.In other words, IBC can use at least one of the inter-prediction techniques described herein. Palette mode can be considered an example of intra- or intra-prediction coding. When palette mode is applied, a sample value within an image can be selected based on information from the palette table. ΜΛ / t / ZUZZ / UO Ί OOU the vane index

[71] Intra-predictor 331 can predict the current block by referencing samples in the current image. The referenced samples can be located in close proximity to the current block or can be separated according to the prediction mode. In intra-prediction, the prediction modes can include a plurality of non-directional modes and a plurality of directional modes. Intra-predictor 331 can determine the prediction mode applied to the current block using a prediction mode applied to a neighboring block.

[72] Interpredictor 332 can derive a predicted block for the current block based on a reference block (reference sample array) specified by a motion vector in a reference image. In this case, in order to reduce the amount of motion information transmitted in interprediction mode, the motion information can be predicted in block units, sub-blocks, or samples based on the correlation of motion information between the neighboring block and the current block. The motion information can include a motion vector and a reference image index. The motion information can also include interprediction direction information (LO prediction, Ll prediction, Bi prediction, and so on). In the case of Inter In prediction, the neighboring block can include a spatial neighboring block present in the current image and a temporal neighboring block present in the reference image. For example, interpredictor 332 can configure a motion information candidate list based on neighboring blocks and derive a motion vector from the current block and / or a reference image index based on the received candidate selection information. Interprediction can be performed based on various prediction modes, and the information in the prediction can include information indicating an interprediction mode for the current block.

[73] Adder 340 can generate a reconstructed signal (reconstructed image, reconstructed block, or reconstructed sample array) by adding the obtained residual signal to the prediction signal (predicted block or predicted sample array) emitted by predictor 330. If there are no residuals for the target processing block, as in the case of an override mode, the predicted block can be used as the reconstructed block.

[74] Adder 340 can be called a reconstructor or reconstructed block generator. The generated reconstructed signal can be used for intra-prediction of the next block to be processed in the current image, and as described later, it can also be output through MA / Ί OOU of the filtering or it can also be used for the interprediction of a subsequent image.

[75] Meanwhile, in the image decoding process, luma mapping with chroma scaling (LMCS) can also be applied.

[76] Filter 350 can improve the subjective / objective image quality by applying filtering to the reconstructed signal. For example, Filter 350 can generate a modified reconstructed image by applying various filtering methods to the reconstructed image and store the modified reconstructed image in memory 360, specifically in a DPB of memory 360. The various filtering methods may include, for example, unlock filtering, adaptive sample shifting, an adaptive loop filter, a bilateral filter, and the like.

[77] The reconstructed (modified) image stored in the DPB of memory 360 can be used as a reference image in inter-predictor 331. Memory 360 can store the motion information of the block from which the motion information of the current image is derived (or decoded) and / or the motion information of the blocks in the already reconstructed image. The stored motion information can be transferred to inter-predictor 331 to be used as motion information for the near-spatial block or the motion information of the block ML / E / ZuZz / uOO OOU near temporal. Memory 360 can store reconstructed samples of reconstructed blocks in the current image, and transfer the reconstructed samples to intra predictor 332.

[78] In the present document, the modalities described in filter 260, inter-predictor 221, and intra-predictor 222 of the coding apparatus 200 may be the same as, or respectively applied to correspond to, filter 350, inter-predictor 332, and intra-predictor 331 of the coding apparatus 300. The same may also apply to inter-predictor 332 and intra-predictor 331.

[79] Meanwhile, as previously described, during video encoding, prediction is performed to improve compression efficiency. This involves generating a predicted block that includes prediction samples for a current block as a block to be encoded (i.e., a target encoding block). Here, the predicted block includes prediction samples in a spatial domain (or pixel domain). The predicted block is derived in the same way in both an encoding and a decoding device, and the encoding device can signal information (residual information) about the difference between the original block and the predicted block, instead of an original sample value from an original block, to the decoding device, thereby increasing the image encoding efficiency.The decoding apparatus can derive a residual block that includes residual samples based on the residual information, add the residual block and the predicted block to generate reconstructed blocks that include reconstructed samples, and generate a reconstructed image that includes the reconstructed blocks.

[80] Residual information can be generated through a transformation and quantization procedure. For example, the encoding apparatus can derive a residual block between the original block and the predicted block, perform a transformation procedure on residual samples (residual sample array) included in the residual block to derive transformation coefficients, perform a quantization procedure on the transformation coefficients to derive quantized transformation coefficients, and signal the related residual information to the decoding apparatus (via a bitstream). Here, the residual information can include value information of the quantized transformation coefficients, location information, a transformation technique, a transformation kernel, a quantization parameter, and the like. The decoding apparatus can perform a procedure MA / Ί OOU of dequantization / inverse transformation based on residual information and derive residual samples (or residual blocks). The decoding apparatus can generate a reconstructed image based on the predicted block and the residual block. Furthermore, as a reference for the interprediction of a subsequent image, the encoding apparatus can also dequantize / inversely transform the quantized transformation coefficients to obtain a residual block and generate a reconstructed image based on that block.

[81] Figure 4 exemplifies a hierarchical structure for a coded data.

[82] With reference to Figure 4, the encoded data can be divided into a video encoding layer (VCL), which handles the encoding processing of a video / image and the video / image itself, and a Network Abstraction Layer (NAL), which exists between the VCL and a subsystem that stores and transmits the encoded video / image.

[83] The VCL can generate a parameter set (image parameter set (PPS), sequence parameter set (SPS), video parameter set (VPS), and so on) that corresponds to a sequence header and an image, and so on, and a supplemental enhancement information (SEI) message that is MA / Ί OOU is additionally required in the video / image encoding process. The SEI message is separate from the video / image information (segment data). The VCL that includes the video / image information is configured with segment data and a segment header. Meanwhile, a segment header can be referred to as a mosaic group header, and segment data can be referred to as mosaic group data.

[84] In the NAL, an NAL unit can be generated by adding header information (NAL unit header) to a raw bit sequence payload (RBSP) generated in a VCL. In this case, the RBSP refers to segment data, parameter set, SEI message, and so forth, generated in the VCL. The NAL unit header can include NAL unit type information specified in accordance with RBSP data included in the corresponding NAL unit.

[85] A NAL unit performs a mapping role of an image encoded to a bit sequence of a subsystem, such as a file format, Real-Time Transport Protocol (RTF), transport stream (TS), and so on.

[86] As shown in the figure, the NAL unit can be classified as a VCL NAL unit and a non-VCL NAL unit according to the RBSP generated in the VCL. ML / E / ZuZz / uOΊ OOU VCL NAL unit can mean an NAL unit that includes information about the image (segment data) in the image, and non-VCL NAL unit can mean an NAL unit that includes information (parameter set or SEI message) required to decode the image.

[87] The VCL NAL unit and the non-VCL NAL unit described above can be transmitted over a network by combining the header information in accordance with the subsystem's data standard. For example, the NAL unit can be transformed into a data format of a predetermined standard such as an H.266 / VVC file format, a Real-Time Transport Protocol (RTP), a Transport Stream (TS), and so on, and transmitted across various networks.

[88] As described above, the NAL unit can be specified with the NAL type unit in accordance with the RBSP data structure included in the corresponding NAL unit, and the information in the NAL type unit can be stored and pointed to in the NAL unit header.

[89] For example, the NAL unit can be classified into a VCL NAL unit type and a non-VCL NAL unit type according to whether the NAL unit includes information (segment data) about an image. The VCL NAL unit type can be classified according to the nature and type of images included in the VCL NAL unit, and the non-VCL NAL unit type can be classified according to parameter set types.

[90] The following is an example of a NAL unit type that is specified in accordance with a parameter set type that is included in a non-VCL NAL unit type. For example, the NAL unit type may be specified as an Adaptation Parameter Set (APS) NAL unit, which is a NAL unit type that includes APS, a Decoding Parameter Set (DPS) NAL unit, which is a NAL unit type that includes DPS, a Video Parameter Set (VPS) NAL unit, which is a NAL unit type that includes VPS, a Sequence Parameter Set (SPS) NAL unit, which is a NAL unit type that includes SPS, and a Picture Parameter Set (PPS) NAL unit, which is a NAL unit type that includes PPS.

[91] The NAL unit types mentioned above may have syntax information for the NAL unit type, and the syntax information may be stored and referenced in an NAL unit header. For example, the syntax information may be nal unit type, and NAL unit types may be specified by a nal_unit_type value. MA / OOU

[92] Meanwhile, as described above, an image can include a plurality of segments, and a segment can include a segment header and segment data. In this case, an image header can be further added to a plurality of segments (a segment header and a segment data set) in an image. The image header (image header syntax) can include information / parameters commonly applicable to the image. The segment header (segment header syntax) can include information / parameters that can be commonly applied to the segment. The APS (APS syntax) or PPS (PPS syntax) can include information / parameters that can be commonly applied to one or more segments or images. The SPS (SPS syntax) can include information / parameters that can be commonly applied to one or more sequences.The VPS (VPS syntax) may include information / parameters that can be commonly applied to multiple layers. The DPS (DPS syntax) may include information / parameters that can be commonly applied to the entire video. The DPS may include information / parameters related to the concatenation of a coded video sequence (CVS). The high-level syntax (HLS) in this document may include at least one of the following syntaxes: APS, PPS, SPS, VPS, DPS, and segment header.

[93] In this document, the image / image information encoded from the encoding apparatus and signaled to the decoding apparatus in the form of a bitstream includes not only information related to partitioning within an image, intra / inter prediction information, residual information, filtering information within the loop, and so forth, but also information included in a segment header, information included in the APS, information included in the PPS, information included in an SPS, information included in the VPS, and / or information included in the DPS. In addition, the image / image information may include NAL unit header information.

[94] Figure 5 is a diagram illustrating an example of a candidate block that can be used in a case where an interprediction is made for an actual block.

[95] A predictor for an encoding and decoding apparatus can use a block placed at a predetermined neighboring location relative to the current block 500 as a candidate block. For example, in the example in Figure 5, two blocks A0 510 and A1 520 are located on the lower left side of the current block, and three blocks B0 530, B1 540, and B2 550 are located on an upper right and an upper left side of the block. The current MA / 10OU block can be selected as a spatial candidate block. Additionally, apart from spatially adjacent blocks, the Col 560 block described above can be used as a temporal candidate block.

[96] Meanwhile, with regard to a reference image used in Interprediction, a reference image for the current block may be derived from a reference image of a neighboring block or may be indicated by information received from the encoding apparatus. In the case of a skip mode or a merge mode, the predictor of the decoding apparatus may use a reference image of a neighboring block as a reference image for the current block. In the case of MVP, the predictor of the decoding apparatus may receive information indicating a reference image for the current block.

[97] Images previously encoded / decoded before the current image are stored in memory (e.g., Decoded Image Buffer (DPB)) and can be used for predicting the current block (current image). Images available for use in predicting the current block can be maintained in a reference image list. At this point, among the reference images ML / E / ZuZz / uO OOU 6. In the reference image list, a reference image used for interprediction of the current block can be indicated by a reference image index. That is, a reference image index can mean an index that indicates a reference image used for interprediction of the current block, among the reference images that make up (or construct) the reference image list.

[98] Segment I is a segment that is decoded by intra-prediction. Segment P is a segment that is decoded by intra-prediction or inter-prediction, which uses a maximum of one motion vector and one reference image. Segment B is a segment that is decoded by intra-prediction or inter-prediction, which uses a maximum of two motion vectors and two reference images. At this point, a reference image may include a Short-Term Reference Image (STRP) (hereafter referred to as STRP) and a Long-Term Reference Image (LTRP) (hereafter referred to as LTRP).

[99] Here, a STRP and an LTRP can be reconstructed images stored in the Decoded Image Buffer (DPB). The STRP can be marked as used for short-term reference or used as a reference. Additionally, the LTRP can be marked as used as MA / Ί OOU long-term reference or used as a reference. For example, a POC difference between a decoding target image and a long-term reference image (LTRP) can be given a value corresponding to a range of '1' to '224-1'. In this document, an Image Order Count (POC) may indicate an image display order.

[100] Reference image list 0 (hereafter referred to as 'LO' for simplicity) is a reference image list used for inter-prediction of segment P or segment B. Reference image list 1 (hereafter referred to as 'Ll' for simplicity) can be used for inter-prediction of segment B. Therefore, when inter-prediction is performed for a segment P block, a one-way prediction based on LO can be made. And, when inter-prediction is performed for a segment B block, a two-way prediction based on both LO and Ll can be made.

[101] When encoding and / or decoding is performed on segment P and segment B using interprediction, the encoding and / or decoding apparatus can construct a reference image list. At this point, a reference image used for interprediction can be designated by a reference image index. As described above, a reference image index can mean an index that indicates a reference image within a reference image list used for interprediction.

[102] A reference image list can be constructed based on a set of reference images that is determined or generated by the encoding and decoding apparatus. The reference images that make up the reference image list can be stored in memory (e.g., DPB). Images that are stored in memory (images previously encoded / decoded before the current image) can be managed by the encoding and decoding apparatus.

[103] Meanwhile, as described above, in order to improve subjective / objective image quality, the encoding / decoding apparatus can perform an in-loop filtering procedure on a reconstructed image. A modified reconstructed image can be generated through the in-loop filtering procedure, and the modified reconstructed image can be generated from the decoding apparatus as a decoded image and can also be stored in the image buffer or memory. ML / E / ZuZZ / uOO OOU decoded from the encoding / decoding apparatus. Additionally, in a subsequent process, the modified reconstructed image can be used as a reference image in an interprediction procedure when encoding / decoding is performed. As described above, the in-loop filtering procedure can include an unlocking filtering procedure, a sample adaptive compensation (SAO) procedure, and / or an adaptive loop filter (ALF) procedure. In this case, one or part of the unlocking filtering procedure, the sample adaptive compensation (SAO) procedure, and the adaptive loop filter (ALF) procedure can be applied sequentially, or all of the procedures can be applied sequentially. For example, after applying the unlocking filtering procedure to a reconstructed image, the SAO procedure can be performed.Alternatively, for example, after applying the unlocking filtering procedure to the reconstructed image, the ALF procedure can be performed. This can be done identically in the encoding apparatus.

[104] The unlocking filtering procedure is a procedure that removes some distortion generated in a reconstructed image at a boundary between blocks. For example, the unlocking filtering procedure can derive a target boundary from the reconstructed image, determine a boundary intensity (bS) for the target boundary, and perform unlocking filtering for the target boundary based on the determined bS. ​​The bS can be determined based on the prediction modes of two blocks being adjacent to the target block, a motion vector difference, whether or not the reference image is the same, whether or not there is a non-zero significant coefficient, and so on.

[105] The SAO procedure is a method for compensating for differences between a reconstructed image and an original image in sample units. For example, the SAO procedure can be applied according to a type of compensation, such as band compensation, border compensation, and so on. Under the SAO procedure, a sample can be classified into different categories according to the SAO type, and a compensation value can be added to each sample according to the category. Filtering information for the SAO can include information about whether or not the SAO is being applied, SAO type information, and SAO compensation value information. For example, the SAO can be applied to a reconstructed image after the application of unlock filtering.

[106] The adaptive loop filter (ALF) procedure is a method for filtering a reconstructed image in sample units, based on a filter coefficient in accordance with a filter configuration. The encoding apparatus can compare the reconstructed image with the original image to determine whether or not ALF is applied, the ALF configuration, and / or the ALF filtering coefficient, and so on, and can signal the reconstructed image to the encoding apparatus. That is, the filtering information in the ALF procedure can include information on whether or not ALF is applied, ALF configuration information, ALF filtering coefficient information, and so on. The ALF procedure can be applied to a reconstructed image after the application of unlock filtering.

[107] Figure 5 is a flow diagram illustrating a method for performing unblocking filtration.

[108] As described above, since the encoding / decoding apparatus can reconstruct an image in block units, block distortion can occur at a boundary between blocks within the reconstructed image. Therefore, in order to remove the block distortion that occurs at the boundary between blocks within the reconstructed image, the encoding and decoding apparatus can use an unblocking filter.

[109] Therefore, the encoding / decoding apparatus can derive a boundary between blocks that have undergone unlock filtering within the reconstructed image. A boundary that has undergone unlock filtering can be referred to as an edge. Furthermore, a boundary that has undergone unlock filtering can be of two different types: a vertical boundary and a horizontal boundary. The vertical boundary can also be referred to as a vertical edge, and the horizontal boundary can also be referred to as a horizontal edge. The encoding / decoding apparatus can perform unlock filtering on the vertical edge and also on the horizontal edge.

[110] For example, the encoding / decoding apparatus can derive a target boundary that is being processed when filtered from the reconstructed image (S610).

[111] Additionally, the decoding apparatus / decoding device can determine a limit intensity (bS) for a limit that has leakage ML / 1000 of unlocking performed in this (S620). The bS can also be indicated as a limit filtering intensity. For example, a case can be assumed where a bS value is obtained for a boundary (block edge) between block P and block Q. In this case, the encoding / decoding apparatus can obtain a bS value for a boundary (block edge) between block P and block Q based on block P and block Q. For example, the bS can be determined according to the table shown below. MA / OOU

[112] [Table 1] The variable bS [ xD¡ ][ yD¡ ] is derived as follows: - If cldx equals O and both samples ρθ and qg are in a coding block with intrabdpcmflag equal to 1, bS[ xD ][ yDj ] sets equal to 0. - Otherwise, if the sample ρθ or q0 is in the encoding block of an encoding unit encoded with intra-prediction mode bS[ xD; ][ yDj ] is set equal to 2. - Otherwise, if the block border is also a transform block border and the sample p0o q0 is in encoding block nn with ciip_flag equal to 1, bS[ xD¡ ][ yD, ] is set equal to 2. - Otherwise, if the block boundary is also a transformation block boundary and the sample ρθ or q0 is in a transformation block which contains one or more non-zero transformation coefficients, bS[ xDj ][ yDj ] is set equal to 1. - Otherwise, if the prediction mode of the encoding subblock containing the sample ρθ is different from the prediction mode of the encoding subblock containing the sample qo, bS[ xD, ][ yD ] is set equal to 1. - Otherwise, if cldx is equal to 0 and one or more of the following conditions are true, bS[ xD¡ ][ yD, ] is set equal to 1: - The encoding subblock containing sample Ρθ and the encoding subblock containing sample qo are both encoded in IBC prediction mode, and the absolute difference between the horizontal or vertical component of the motion vectors used in the prediction of the two encoding subblocks is greater than or equal to 4 in quarter luma sample units. - For the prediction of the encoding subblock containing the sample ρθ, different reference images or a different number of motion vectors are used than for the prediction of the encoding subblock containing the sample q0. - A motion vector is used to predict the encoding subblock containing sample ρθ and a motion vector is used to predict the encoding subblock containing sample q0 and the absolute difference between the horizontal or vertical component of the motion vectors used is greater than or equal to 4 in units of quarter luma samples. MA / OOU - Two motion vectors and two different reference images are used to predict the encoding subblock containing the sample Ρθ, two motion vectors for the same two reference images are used to predict the encoding subblock containing the sample Mq, and the absolute difference between the horizontal or vertical component of the two motion vectors used in predicting the two encoding subblocks for the same reference image is greater than or equal to 4 in units of quarter luma samples. - Two motion detectors for the same reference image are used to predict the encoding subblock containing sample pq. Two motion detectors for the same reference image are used to predict the encoding subblock containing sample qy. And both of the following conditions are true: - The absolute difference between the horizontal or vertical component of list 0 of motion controllers used in the prediction of the two coding subblocks is greater than or equal to 4 in luma sample quarters. or the absolute difference between the horizontal or vertical component of list 1 of motion controllers used in the prediction of the two coding subblocks is greater than or equal to 4 in luma sample quarter units. - The absolute difference between the horizontal or vertical component or list 0 of the motion vector used in the prediction of the coding subblock containing sample Po and list 1 of the motion vector used in the prediction of the coding subblock containing sample q0 is greater than or equal to 4 in units of quarter luma samples. or the absolute difference between the horizontal or vertical component of list 1 of the motion vector used in the prediction of the coding subblock containing sample Pq and list 0 of the motion vector used in the prediction of the coding subblock containing sample q0 is greater than or equal to 4 in units of quarter luma samples. - Otherwise, the variable b$[ xDi j[ yDj I is set equal to 0.

[113]

[114] Here, p can denote a block sample P that is adjacent to the target unlocking filter boundary, and q can denote a block sample Q that is adjacent to the target unlocking filter boundary.

[115] Additionally, for example, pO may indicate a sample of a block that is adjacent to a left or upper side of the unlocking filtration target boundary 10, and qO may indicate a sample of a block that is adjacent to a right or lower side of the unlocking filtration target boundary. For example, if one direction of the target boundary is vertical (i.e., if the target boundary is a vertical boundary), pO may indicate a sample of a block that is adjacent to the left side of the unlocking filtration target boundary, and qO may indicate a sample of a block that is adjacent to the right side of the unlocking filtration target boundary.Alternatively, for example, in the case where a target boundary direction is horizontal (i.e., in the case where the target boundary is a horizontal boundary), pO may indicate a sample of a block that is adjacent to the upper side of the unlocking filter target boundary, and qO may indicate a sample of a block that is adjacent to the lower side of the unlocking filter target boundary.

[116] Referring again to Figure 6, the encoding / decoding apparatus can perform blocking filtering based on bS (S630). For example, when the bS value is equal to 0, unblocking filtering is not applied to the target boundary. Meanwhile, based on the determined bS value, the filter applied to the boundary between blocks can be determined. The filter can be categorized as a strong filter and a weak filter. Performing filtering using different filters for each of a boundary position with a high probability of block distortion occurring and a boundary position with a low probability of block distortion occurring within the MA / Ί OOU reconstructed image, the encoding / decoding apparatus can increase encoding efficiency.

[117] Figure 7 is a flowchart that schematically illustrates an example of an ALF process. The ALF process described in Figure 7 can be performed on an encoding apparatus and a decoding apparatus. In this document, the encoding apparatus may include the encoding apparatus and / or the decoding apparatus.

[118] With reference to Figure 7, the encoding apparatus derives a filter for ALF (S710). The filter may include filter coefficients. The encoding apparatus can determine whether ALF is applied, and when it is determined to apply ALF, it can derive a filter that includes filter coefficients for ALF. The information for deriving a filter (coefficients) for ALF can be referred to as an ALF parameter. The information itself regarding whether ALF is applied (i.e., ALF enabled flag) and ALF data for deriving the filter can be signaled from the encoding apparatus to the decoding apparatus. The ALF data can include information for deriving a filter for ALF. Also, for example, for hierarchical control of ALF, an ALF enabled flag can be signaled at the SPS, picture header, segment header, and / or CTB level, respectively. MA / OOU

[119] In order to derive the filter for the ALF, the activity and / or directivity of the current block (or ALF target block) is derived, and the filter can be derived based on the activity and / or directivity. For example, the ALF process can be applied to 4x4 block units (based on luma components). The current block or the ALF target block can be, for example, a CU, or it can be a 4x4 block within a CU. Specifically, for example, the filters for ALF can be derived based on first filters derived from information included in the ALF data and second, predefined filters, and the encoding apparatus can select one of the filters based on the activity and / or directivity. The encoding apparatus can use filter coefficients included in the selected filter for the ALF.

[120] The coding apparatus performs filter-based filtration (S720). Modified reconstructed samples can be derived based on the filtration. For example, the filter coefficients in the filter can be ordered or assigned according to a filter configuration, and filtration can be performed on reconstructed samples in the current block. Here, the reconstructed samples in the current block can be samples reconstructed after the unblocking filter process and the SAO process are completed. For example, MA / 100U A filter configuration can be used, or a filter configuration can be selected and used from among a plurality of predefined filter configurations. For example, a filter configuration applied to the luma component and a filter configuration applied to the chroma component can be different. For example, a 7x7 rhombus filter configuration can be used for the luma component, and a 5x5 rhombus filter configuration can be used for the chroma component.

[121] Figures 8a and 8b illustrate an example of a filter shape for ALF. CO~C11 of (Figure 8a) and C0~C5 of (Figure 8b) can be filter coefficients that are position-dependent within each filter configuration.

[122] Figure 8a shows the configuration of a 7x7 rhombus filter, and Figure 8b shows the configuration of a 5x5 rhombus filter. In Figures 8a-8b, Cn in the filter configuration represents a filter coefficient. When n in Cn is the same, this indicates that the same filter coefficients can be assigned. In this document, a position and / or unit to which filter coefficients are assigned according to the ALF filter configuration may be referred to as a filter branch. In this case, a filter coefficient can be assigned to each filter branch, and the arrangement of the filter branches may correspond to a filter configuration. A filter branch located at the center of the filter configuration may be referred to as a central filter branch.The same filter coefficients can be assigned to two filter branches of the same n value that exist in positions corresponding to each other with respect to the central filter branch. For example, in the case of a 7x7 rhombus filter configuration, 25 filter branches are included, and since the filter coefficients C0 to C11 are assigned in a centrally symmetric manner, the filter coefficients can be assigned to all 25 filter branches using only 13 filter coefficients. Similarly, for example, in the case of a 5x5 rhombus filter configuration, 13 filter branches are included, and since the filter coefficients C0 to C5 are assigned in a centrally symmetric manner, the filter coefficients can be assigned to all 13 filter branches using only 7 filter coefficients.For example, in order to reduce the amount of information data indicated in filter coefficients, 12 filter coefficients out of 13 filter coefficients for the 7x7 rhombus filter configuration can be indicated (explicitly), and one filter coefficient can be derived (implicitly). Also, for example, 6. MA / Ί OOU filter coefficients among 7 filter coefficients for a 5x5 rhombus filter configuration can be pointed out (explicitly) and a filter coefficient can be derived (implicitly).

[123] Pursuant to one modality of this document, the ALF parameter used for the ALF process may be signaled through an Adaptive Parameter Set (APS). The ALF parameter may be derived from the filter information for the ALF or from ALF data.

[124] ALF is a type of in-loop filtering technique that can be applied to video / image encoding as described above. ALF can be implemented using a Wiener-based adaptive filter. This can be done to minimize the mean squared error (MSE) between the original samples and the decoded (or reconstructed) samples. A high-level design for an ALF tool may incorporate accessible syntax elements from the SPS and / or segment header (or mosaic group header).

[125] Meanwhile, an image header includes syntax elements that are applied to the image header, and the syntax elements can be applied to all segments of an image that are related to the image header. When a syntax element ML / OOU specific is applied only to a specific segment; the specific syntax segment must be indicated from a segment header and not from the image header.

[126] In the prior art, signaling a control flag and parameters to enable or disable multiple image encoding or decoding tools existed in the image header and were overridden in the segment header. This method provides flexibility, allowing tool control to be performed at both the image and segment levels. However, when using this method, since the segment header is required to be checked after the image header is checked, this method can load the decoder.

[127] Accordingly, the modality described herein proposes indicator information that shows whether or not at least one tool is being applied at an image level or a segment level. At this point, the indicator information can be included in either a Sequence Parameter Set (SPS) or an Image Parameter Set (PPS). That is, when a specific tool is activated (or enabled) within a CLVS, an indicator or flag to show whether or not the specific tool is being applied at an image level or a segment level can be signaled from a set. ML / E / ZuZZ / uOO OOU parameter, such as SPS or PPS. Although the indicator or flag may correspond to a tool, this description will not be limited to only this. For example, an indicator or flag to show whether or not all tools, and not just a specific tool, are being applied at an image level or at a segment level may be signaled from a parameter set, such as SPS or PPS.

[128] Although the control flag and parameters for enabling or disabling tools can be signaled at an image level or a segment level, the signaling is not performed at both the image and segment levels. For example, if you need to obtain signaling information indicating whether or not a specific tool is being applied at an image level, the control flag and parameters for enabling or disabling that specific tool can only be signaled from the image header. Similarly, if you need to obtain signaling information indicating whether or not a specific tool is being applied at a segment level, the control flag and parameters for enabling or disabling that specific tool can only be signaled from the segment level.

[129] Additionally, for example, a tool that is designated to be applied to an image level starting from MA / 100U of a specific parameter set can be designated to be applied to a segment level of another parameter set of the same type.

[130] For example, a PPS syntax that includes indication information may be as shown below in the following table.

[131] [Table 2] MA / 100 pic_parametei_set_rbsp() [ Descriptor rpl_present_in_ph_flag u(l) sao_present_in_ph_ñag u(l) alf_present_in_ph_flag u(l) deblockíng_fllter_controljresent_flag u(l) yes( deblocking_filter_control_present flag) | deblocking filtersh override enabled flag u(l} deblocking filtersh override enabled flag u(l) pps_deb!ocking_fllter_disabled_flag u( 1) si( !pps_deblockiiig_filter_disabled_ílag) { pps_beta_oífset_div2 se(v) pps_tc_offset_div2 se(v) i í constant_slice_header_params_enabled_flag u(l)

[132] The semantics of syntax elements included in the syntax of Table 2 may, for example, be indicated as shown below in Table 3.

[133] [Table 3] MA / 1OOU rpl_present_in_ph_flag equal to 1 specifies that reference image list signaling may be present in PHs referencing PPS. rpl_present_in_ph_flag equal to 0 specifies that reference image list signaling may be present in segment headers referencing PPS. `sao_present_in_ph_flag` equal to 1, which specifies the syntax elements to enable the use of SAO, may be present in PHs that reference PPS. `sao_present_in_phflag` equal to 0, which specifies the syntax elements to enable the use of SAO, may be present in segment headers that reference PPS. `alf_present_in_ph_flag` equal to 1, which specifies the syntax elements to enable the use of ALF, may be present in PHs that reference PPS. `alf_present_in_ph_flag` equal to 0, which specifies the syntax elements to enable the use of ALF, may be present in segment headers that reference PPS. deblocking_filter_ph_override_enabled flag equal to 1 specifies the presence of picdeblocking filter override flag in the PHs that refer to the PPS. The `deblocking_filter_ph_override_enabled_flag` flag, set to 0, specifies the absence of the `pic_deblocking_filter_override_flag` flag in PHs that refer to the PPS. When it is not present, the value of the `deblocking filter ph override enabled` flag is inferred to be 0. The `deblockingfiltershoverrideenhabledflag` flag, set to 1, specifies the presence of the `slice_deblocking_filter_override_flag` in segment headers that refer to the PPS. The `deblocking filter sh override enabled flag` flag, set to 0, specifies the absence of the `slice_deblocking_filter_override_flag` in segment headers that refer to the PPS. When not present, the value of the `deblocking filter sh override enabled flag` is inferred to be 0. It is a bitstream shaping requirement that the value of deblocking filter ph override enabled flag and deblocking_filter_sh_override_enabled_flag must not both be equal to 1.

[134] With reference to the tables presented above, indication information may include a flag indicating whether or not the signaling of a reference image list is applied at an image level or a segment level. For example, the indication information may designate whether the information related to the signaling of a reference image list is present (or exists) in the image header or is present (or exists) in the segment header. For example, the flag may be indicated as rpl_present_in_ph_flag. Based on a case where the value of the corresponding flag is equal to 1, the information related to the signaling of a reference image list is present in the image header. And, based on a case where the value of the corresponding flag is equal to 0, the information related to the signaling of a reference image list is present in the segment header.

[135] Additionally, the indicator information may include a flag that indicates whether or not an Adaptive Sample Compensation (ASC) procedure is being applied at an image level or at a segment level. For example, the indicator information may designate whether information related to the ASC procedure is present (or exists) in the image header or is present (or exists) in the segment header. For example, the flag may be indicated as sao_present_in_ph_flag. Based on a case where the corresponding flag value is equal to 1, the information related to the ASC procedure is present in the image header. And, based on a case where the corresponding flag value is equal to 0, the information related to the ASC procedure is present in the segment header.

[136] Additionally, the indication information may include a flag indicating whether or not a procedure The Adaptive Loop Filter (ALF) is being applied at an image level or a segment level. For example, the indicator information can specify whether the ALF procedure information is present in the image header or in the segment header. For example, the flag can be indicated as alf_present_in_ph_flag. If the flag value is 1, the ALF procedure information is present in the image header. If the flag value is 0, the ALF procedure information is present in the segment header.

[137] Additionally, the indication information may include at least one flag indicating whether or not the unblocking procedure is being applied at an image level or at a segment level. For example, based on at least one flag, information related to the unblocking procedure may be present (or may exist) in either the image header and a segment header. For example, at least one flag may be indicated as `deblocking filter ph override enabled flag` or `deblocking_filter_sh_override_enabled_flag`. For example, MA / Ί OOU based on a case where at least one flag value is equal to 1, a flag indicating whether or not a parameter related to the unlocking procedure is present in the image header may be present in the image header. And, based on a case where at least one flag value is equal to 0, a flag indicating whether or not a parameter related to the unlocking procedure is present in the image header may not be present in the image header.

[138] Alternatively, based on a case where at least one flag value is equal to 1, a flag indicating whether or not a parameter related to the unlocking procedure is present in the segment header may be present. And, based on a case where at least one flag value is equal to 0, a flag indicating whether or not a parameter related to the unlocking procedure is present in the segment header may not be present. At this point, the values ​​of `deblocking_filter_ph_override_enabled_flag` and `deblocking_filter_sh_override_enabled_flag` may not both be equal to 1.

[139] Meanwhile, an image syntax header can be as shown below in the following table.

[140] [Table 4] picture_header_rbsp( ) i Descriptor si( rpl_preseLit__injph_flag ) ¡ para( i = 0: i - 2; i-+ ) ¡ si( num_ief_pic_lists_in_sps[ i j - 0 && !pps_ief_pic_list_sps_idc[ i ] && í i == 0 ( i == 1 && rpll_idx_present_flas ) ) ) pie rpl sps flag[ i ] 0(1} si( pic_rpl_sps_flag[ i ] i ¡ si( mim ref pic Íistj in spsf i ] > 1 && (i == 0 + (i == 1 && rpll_idx_present_flag ) )) pic_rpl_idx[ i ] U(V> ¡ además reijic list stnictí i. num_ref_pic_lists_ín_sps[ i ] ) para( j = 0; j ' NuniLtrpEntiies[ i ][ Rplsldx[ i ] ]; j-*—) si( ltrp_in_sltce_lieader_flag[ i ][ Rplsldx[ i ] 1 1 picpoclsbltf i ][ j ] IKV) pie delta pocmsbpreseutflagf i ][ j ] 0(1) si( pic_delta__poc_nisb_prese!it_flag[ i ][j ] ) pic delta poe msb eycle ltf i ][ j ] ue(v) ¡ sí( sps_sao_enabled_ilag && sao_present_in_ph_flag ) ¡ picsaoluniaenabledflag u( 1) si( ChromaArrayType != 0 ) pie sao chroina enabled flag Ul 1) si( sps_alf_enabled_flag && alfjaresent_in_ph_ñag ) ¡ píc alf enabled flag u( 1) yes( pic_alf_eiiabled_flag ) ¡ picnumalfapsidsluma u(3) para( i = 0: i picmunalfjtpsidslunia: i+- ) pie alf aps id luma[ i ] U(3) yes( ChromaArrayType != 0 i picalfchromaidc u(2) yes( pic_alf_chroma_idc ) pic_alf_aps_id_ehroma u(3) I > yes( debiockiiig_fil!er_pli_ovemde_eiiabled_flag ) j pic_deblocking_filter_override_present_flag u(T) yes( pie debiockmg fllter override presen! flag ) ' picdeblockingfllteroverrideflag ll( 1 ) yes( pic deblockmg filier override flag ) ¡ pie deblockingjniter disabled ílag U(D yes( !pic_deblocking_filter_disabled_ílag ) ¡ pic_beta_offset_div2 se(v) pie te _offset_div2 se(v) í ! • <

[141]

[142] The semantics of the syntax elements included in the syntax of Tabla 4 can, for example, be indicated as shown below in Tabla 5.

[143] [Table 5] pic_deblocking_filter_ovemde_present_flag equal to 1 specifies that pic_deblocking_filter_ovemde_flag is present in the PH. pic_deblocking_filter_ovemde_present_flag equal to 0 specifies that pic_deblocking_filter_ovemde_flag is not present in the PH. When pic_deblocking_filter_ovemde_present_flag is not present, it is inferred by being equal to 0. A `pic_deblocking_filter_override_flag` equal to 1 specifies that the unlocking parameters are present in the PH. A `pic_deblocking_filter_override_flag` equal to 0 specifies that the unlocking parameters are not present in the PH. When they are not present, the value of `pic_deblocking_filter_override_flag` is inferred to be equal to 0. `pic_deblocking_filter_disabled_flag` equal to 1 specifies that the unblocking filter operation is not applied to the segments associated with the PH. `pic_deblocking_filter_disabled_flag` equal to 0 specifies that the unblocking filter operation is applied to the segments associated with the PH. When `pic_deblocking_filter_disabled_flag` is not present, it is inferred from being equal to `pic_deblocking_filter_disabled_flag`. The values ​​`pie beta offset div2` and `pic_te_offset_div2` specify the unlock parameter offsets for β and tC (divided by 2) for the segments associated with the PH. The values ​​of `pie beta offset div2` and `pic_te_offset_div2` must both be in the range of -6 to 6, inclusive. When they are not present, the values ​​of `pic_beta_offset_div2` and `pic_tc_offset_div2` are inferred to be equal to `pps_beta_offset_div2` and `pps_tc_offset_div2`, respectively.

[144] With reference to the tables presented above, when the value of deblocking_filter_ph_override_enabled_flag, which corresponds to a flag indicating whether or not the unblocking procedure is being applied at the image level, is equal to 1, pic_deblocking_filter_override_present_flag may be set. When the value of pic_deblocking_filter_override_present_flag is equal to 1, the deblocking filter override flag, which corresponds to a flag indicating whether or not a parameter related to the unblocking procedure is present in the image header, may be present in the image header. ML / E / ZuZz / uO OOU Alternatively, when a value of the deblocking filter override present flag is equal to 0, the pic_deblocking_filter_override_flag, which corresponds to a flag indicating whether or not a parameter related to the unblocking procedure is present in the image header, may not be present in the image header.

[145] Additionally, when the value of the `pic_deblocking_filter_override_flag`, which corresponds to a flag indicating whether or not a parameter related to the unlocking procedure is present in the image header, is equal to 1, the unlocking parameters may or may not be present in the image header. And, when the value of the `pie deblocking filter override flag`, which corresponds to a flag indicating whether or not a parameter related to the unlocking procedure is present in the image header, is equal to 0, the unlocking parameters may or may not be present in the image header.

[146] Additionally, when the value of pic_deblocking_filter_disabled_flag is equal to 1, an unblocking filter may not be applied to segments that are related to the image header. And, when the value of pic_deblocking_filter_disabled_flag is equal to 0, an unblocking filter may be applied to segments that are related to the image header.

[147] Additionally, pic_beta_offset_div2 and pic_tc_offset_div2 can respectively designate unlock parameter offset for β and tC (value divided by 2) for image header-related segments. The values ​​of pic_beta_offset_div2 and pic_tc_offset_div2 can all be within a range of 6 to 6.

[148] Meanwhile, a segment header syntax can be as shown below in the following table. MA / 100

[149] [Table 6] slice_header() { Descriptor ... sí( !ípl_present_in_ph_flag &&( (nal_umt_type ?= IDR_W_RADL && nal_unit_ty pe ’= IDR_N_LP) i | sps_idr_ipl_present_ñag ) ) { para( i = 0; i < 2; i++ ) { si( num_ref_pic_lists_in_sps[ i ] > 0 && !pps_ref_pic_list_sps_idcf i ] && (i == 0 i| ( i == 1 && rpll_idxj>resent_flag: ) )) slice_rpl_sps_Oag[ i ] sí( slice_rpl_sps_flag[ i ]) { sí( aum_ref_pic_lists_iti_sps[ i ] > 1 && (i == 0 H (i == 1 && rpll_idx_present_flag ) )) síice_rpl_idx[ i ] u(v)} además ief_pic_list_stiuct( i, nmn_ref_pic_lists_in_sps[ i ] ) para( j = 0; j < NumLtrpEntnesf i ][ Rplsldxf i ] ];j++ ) { si( ltrp_m_slice_header_flag[ i ][ Rplsldxf i ] ]) siice_poc_Jsb_lt[ i ][j ] u(v) stice_delta_poc_msb_present_flag[ i ][ j ] sí( slice_delta_poc_msb_pireseat_flag[ i ][ j ] ) slice_delta_poc_msb_cycle_lt[ i JO ]} 1 J} sí( iyl_present_m_ph_9ag 11 ((nal_unit_type != IDR_W_RADL && nal_umt_ty pe ’= IDR_N_LP ) j: sps_idr_rpl_present_flag )) { sí( ( slice_type != I && num_ref_entnes[ 0 ][ Rplsldxf 0 ] ] > 1 ) i: ( s!ice_type = - B && num_ref_eiitfies[ 1 ][ Rplsldxf 1)1+1)0 num_ref_idx_active_override_flag <0 sí( aum_ref_idx_.actíve_ovemde_flag ) para( i = 0; i < ( slicejype = = B ? 2: 1 ); i-H- ) sí( num_ref_entriesf i ][ Rplsldxf i ] ] > 1 ) numrefidxactneminusl [ i ] MU; }} si( sps_sao_enabled_flag && !sao_present_in_ph_flag ) { slice_sao_hima_flag <1) sí( ChromaArrayiype != 0 ) slice_sao_chroma_flag} sí( sps_alf_enabled_ñag && !alf_present_m_ph_flag ) { slice alf enabled flag si( slice_alf_ecabled_£lag ) { slice num alf aps ids luma <3) para( i = 0; i < slice_ninn_alf_aps_ids_luma: i++ ) slice aif aps id luma[ i ] u(3) sí( ChicmaAirayType != 0 ) slic€_alf_chroma_idc u(2) sí( slicealfcliromaidc ) slice_alf_aps_id_chronia <3>} γ i sí( deblocking fílter sh ovemde enabled flag') slice_deblocking_fiKer_override_flag sí( slice_deblocking_filter_ovenide_flag ) { slice_ <ieblockin^filter_disabied_flag <1) si( !s!ice_deblodang_filter_disabled_flag ) { sli€e_beta_ofíset_div2 se(v) slice_tc_offset_div2 s<v)} f ...}

[150]

[151] The semantics of the syntax elements included in the syntax of Table 6 may, for example, MA / Ί OOU to be indicated as shown below in Table 7.

[152] [Table 7] MA / 1OOU slice_deblocking_filter_override_present_flag equal to 1 specifies that slice_deblocking_filter_override_flag is present in the segment. slice_deblocking_filter_override_present_flag equal to 0 specifies that slice deblocking_filter_override_flag is not present in the segment. When slice deblocking_filter_override_present_flag is not present, it is inferred by being equal to 0. The `slice_deblocking_filter_override_flag` set to 1 specifies that the deblocking parameters are present in the slice. A `slice_deblocking_filter_override_flag` set to 0 specifies that the deblocking parameters are not present in the slice. When they are not present, the value of `slice_deblocking_filter_override_flag` is inferred to be 0. `slice_deblocking_filter_disabled_flag` equal to 1 specifies that the deblocking filter operation is not applied to the segment. `slice_deblocking_filter_disabled_flag` equal to 0 specifies that the deblocking filter operation is applied to the segment. When `slice_deblocking_filter_disabled_flag` is not present, it is inferred by being equal to `pps_deblocking_filter_disabled_flag`. s1ice_bda_offset_dtv2 and slice_te_offset_dtv2 specify the unlock parameter offsets for β and tC (divided by 2) segments. The values ​​of slice_beta_offset_div2 and pic_tc_offset_div2 must both be in the range of -6 to 6, inclusive. When they are not present, the values ​​of slice_beta_offset_dtv2 and pic_tc_offset_div2 are inferred to be equal to pps_beta_of&«_dh*2 and ppsjc_of&etjfc'2, respectively.

[153] With reference to the tables presented above, when the value of `deblocking_filter_sh_override_enabled_flag`, which corresponds to a flag indicating whether or not the unblocking procedure is being applied at the segment level, is equal to 1, the `slice deblocking filter override present flag` may be flagged. When the value of `slice_deblocking_filter_override_present_flag` is equal to 1, the `slice deblocking filter override flag`, which corresponds to a flag indicating whether or not a parameter related to the unblocking procedure is present in the segment header, may be present in the segment header.Alternatively, when a slice deblocking filter override_present flag value is equal to 0, slice_deblocking_filter_override_flag, which corresponds to a flag indicating whether or not a parameter related to the unblocking procedure is present in the segment header, may not be present in the segment header.

[154] Additionally, when the slice_deblocking_filter_override_flag, which is a flag indicating whether or not a parameter related to the unlocking procedure is present in the segment header, is equal to 1, the unlocking parameters may be present (or may not exist) in the segment header. And, when the slice deblocking filter override flag, which is a flag indicating whether or not a parameter related to the unlocking procedure is present in the segment header, is equal to 0, the unlocking parameters may not be present (or may not exist) in the segment header.

[155] Additionally, when the value of slice_deblocking_filter_disabled_flag is equal to 1, an unblocking filter may not be applied to slices that are related to the segment header. And, when the value of slice_deblocking_filter_disabled_flag is equal to 0, an unblocking filter may be applied to slices that are related to the segment header.

[156] Additionally, slice_beta_offset_div2 and slice_tc_offset_div2 can respectively designate unlock parameter offset for β and tC (value divided by 2) for segments. The values ​​of slice_beta_offset_div2 and slice_tc_offset_div2 can all be within a range of -6 to 6.

[157] Figure 9 is a flowchart illustrating an operation of a modality-compliant image coding apparatus, and Figure 10 is a block diagram illustrating a configuration of a modality-compliant image coding apparatus.

[158] The method described in Figure 9 can be carried out by the encoding apparatus described in Figure 2 or Figure 10. S910 of Figure 9 can be carried out by the residual processing 230 shown in Figure 2, and S920 can be carried out by the adder 250 shown in Figure 2. And, S930 of Figure 9 can be carried out by the filter 260 shown in Figure 2, and S940 and S950 can be carried out by the entropy encoder 240 shown in Figure 2.

[159] Furthermore, the operations in accordance with S910 to S950 are based in part on the description presented MA / Ί OOU previously in Figures 1 to Figure 8a-8b. Therefore, the detailed description that overlaps with the description in Figures 1 to Figure 8a-8b will be omitted or briefly presented for simplicity.

[160] With reference to Figure 9, the coding apparatus, in accordance with the mode, can derive residual samples for a current block (S910). For example, the coding apparatus can derive residual samples based on the prediction samples and the original samples. For example, the coding apparatus can derive the residual samples based on a comparison between the original samples and modified reconstructed samples. Meanwhile, the coding apparatus can derive prediction samples of the current block based on a prediction mode. In this case, various prediction methods described in this specification, such as inter-prediction or intra-prediction, can be applied.

[161] The modality-compliant coding apparatus can generate reconstructed samples based on residual samples (S920). For example, the coding apparatus's adder 250 can add reconstructed residual samples to the prediction samples generated from predictor 220, thereby generating reconstructed samples. ivia / t / zuzz / uo i oou

[162] The modality-compliant coding apparatus can derive filter coefficients to perform an adaptive loop filter (ALF) procedure on the reconstructed samples (S930). For example, the coding apparatus can derive ALF-related parameters that can be applied by filtering to the reconstructed samples. Filter 260 of the coding apparatus can generate modified reconstructed samples by performing an AOS procedure on the reconstructed samples.

[163] The modality-compliant coding apparatus can generate information related to the ALF procedure based on filter coefficients (S940).

[164] The encoding apparatus, in accordance with the modality, can generate indication information that includes a first flag related to whether or not an ALF procedure is applied to an image level or a segment level (S950). For example, the indication information can be included in one of a Sequence Parameter Set (SPS) and one of an Image Parameter Set (PPS). The first flag can indicate in which of an image header and a segment header the information related to the ALF procedure is present. Based on a case where a value of the first flag is If MA / 1OOU equals 1, the information related to the ALF procedure may be present (or may exist) in the image header. And based on a case where the first flag value is equal to 0, the information related to the ALF procedure may be present (or may exist) in the segment header.

[165] For example, the indication information may also include a second flag related to whether the signaling of a reference image list applies to an image level or a segment level. Based on a case where the value of the second flag is equal to 0, the information related to the signaling of a reference image list may be present in the image header. And based on a case where the value of the second flag is equal to 0, the information related to the signaling of a reference image list may be present in the segment header.

[166] For example, the indication information may also include a third flag related to whether an Adaptive Sample Compensation (ASC) procedure is applied at an image level or a segment level. Based on a case where the value of the third flag is 1, the information related to the ASC procedure may be present in the header and image. And, based on a case where the value of the third flag is 0, the MA / Ί OOU information related to the SAO procedure may be present in the segment header.

[167] For example, the indication information may also include a fourth flag related to whether the unlock parameters for an unlock filter procedure are present (or exist) in a segment header or an image header. Based on a case where the value of the fourth flag is equal to 1, the lock parameters may be present in the image header. And, based on a case where the value of the fourth flag is equal to 0, the unlock parameters may not be present in the image header.

[168] For example, the encoding apparatus can encode picture information that includes indication information and information related to an AOS procedure (S950). For example, the encoding apparatus filter 260 can generate information related to the ALF procedure, information related to the AOS procedure, or information related to the unlock filtering procedure. Alternatively, for example, the encoding apparatus predictor 220 can generate the signaling-related information from a reference picture list. The encoding apparatus entropy encoder 240 can encode indication information that includes a first flag, a second flag, and a second flag. MA / Ί OOU flag or a fourth flag. Additionally, the 240 entropy encoder of the encoding apparatus can encode information related to the ALF procedure, information related to the SAO procedure, information related to the unlocking procedure, or information related to the signaling of the reference image list.

[169] Additionally, the image information may include prediction information for the current block. The prediction information may include information about an inter-prediction mode or an intra-prediction mode that is being performed in the current block. Additionally, the image information may include residual information that is generated from the original samples by the residual processor 230 of the encoding apparatus.

[170] Meanwhile, the bitstream containing the encoded image information can be transmitted to the decoding device via a network or a (digital) storage medium. Here, the network may include a broadcast network and / or a communications network, and so on, and the digital storage medium may include various storage media, such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, and so on.

[171] Figure 11 is a flowchart illustrating an operation of a decoding device ML / E / ZuZz / uOO OOU image conforming to a modality, and Figure 12 is a block diagram illustrating a configuration of an image decoding apparatus conforming to a modality.

[172] The method described in Figure 11 can be implemented by the decoding apparatus described in Figure 3 or Figure 12. More specifically, S1110 and S1120 in Figure 11 can be implemented by the entropy decoder 310 shown in Figure 3, and S1130 can be implemented by the adder 340 shown in Figure 3. S1140 and S1150 in Figure 11 can be implemented by the filter 350 shown in Figure 3. Furthermore, the operations according to S1110 to S1150 are based in part on the description presented above in Figure 1 to Figures 8a-8b. Therefore, the detailed description that overlaps with the description in Figure 1 to Figures 8a-8b will be omitted or presented briefly for simplicity.

[173] The modality-compliant encoding apparatus may obtain indication information that includes a first flag relating to whether or not an Adaptive Loop Filter (ALF) procedure to be applied to a current block is applied at an image level or a segment level, and residual information (S1110). For example, the decoding apparatus may also include prediction-related information. MA / OOU

[174] For example, indication information may be included in one of a Sequence Parameter Set (SPS) and one Picture Parameter Set (PPS). Alternatively, for example, indication information may include a second flag related to whether the signaling of a reference picture list is applied to a picture level or a segment level. For example, indication information may include a third flag related to whether an Adaptive Sample Compensation (ASC) procedure is applied to a picture level or a segment level. Alternatively, for example, indication information may include a fourth flag related to whether unlock parameters for an unlock filtering procedure are present (or exist) in a picture header or a segment header.

[175] The modality-compliant decoding apparatus can parse ALF procedure-related information from an image header or a segment header based on the first flag (S1120). For example, based on a case where the first flag value is 1, the decoding apparatus can parse ALF procedure-related information from the image header. And, based on a case where the first flag value is ML / E / ZuZZ / uOO OOU equals 0, the decoding apparatus can analyze the information related to the ALF procedure from the segment header.

[176] Alternatively, the modality-compliant decoding apparatus can parse signaling information from a reference image list based on the image header or segment header. For example, if the second flag value is 1, the decoding apparatus can parse the signaling information from a reference image list based on the image header. If the second flag value is 0, the decoding apparatus can parse the signaling information from a reference image list based on the segment header.

[177] Alternatively, the modality-compliant decoding apparatus may parse SAO procedure-related information from the picture header or segment header, based on the third flag. For example, based on a case where the third flag value is 1, the decoding apparatus may parse SAO procedure-related information from the picture header. And, MA / Ί OOU based on a case where a third flag value is equal to 0, the decoding apparatus can analyze the information related to the SAO procedure from the segment header.

[178] Alternatively, the decoding apparatus, in accordance with the modality, may analyze the unlock parameters from the image header or the segment header based on the fourth flag. For example, based on a case where the value of the fourth flag is equal to 0, the decoding apparatus may analyze the unlock parameters from the image header. And, based on a case where the value of the fourth flag is equal to 0, the decoding apparatus may not analyze the unlock parameters from the image header.

[179] The modality-compliant decoding apparatus can generate reconstructed samples for the current block based on residual information (S1130). The decoding apparatus can derive prediction samples of the current block based on prediction-related information included in the image information. The decoding apparatus can derive residual samples based on residual information included in the image information. The decoding apparatus can generate reconstructed samples based on the prediction samples and the residual samples. MA / 1000 reconstructed block and reconstructed image can be derived based on the reconstructed samples.

[180] The modality-compliant decoding apparatus may derive filter coefficients based on information related to the ALF procedure (S1140). For example, the decoding apparatus may derive filter coefficients for the ALF. A filter may include a set of filter coefficients. The filter or filter coefficients may be derived based on ALF information.

[181] The modality-compliant decoding apparatus can generate modified reconstructed samples for the current block based on the reconstructed samples and filter coefficients (S1150). For example, the decoding apparatus's filter 350 can generate modified reconstructed samples by performing the ALF procedure on the reconstructed samples.

[182] In the modality described above, the methods have been described on the basis of a flowchart that has a series of steps or blocks. The present description is not limited to the order of the blocks or steps above. Some steps or blocks may occur in a different order or simultaneously with respect to that described above. Furthermore, those skilled in the art will understand that the steps in flowcharts are not exclusive, and MA / Ί OOU that may include other steps or omit one or more steps from the flowchart without affecting the scope of this description.

[183] ​​The method in accordance with the above-described modalities of this document may be implemented in the form of software, and the encoding apparatus and / or the decoding apparatus in accordance with this document, for example, may be included in the apparatus that performs image processing of a television, a computer, a smartphone, a set-top box, a display device, and so forth.

[184] When the modalities of this document are implemented by software, the method mentioned can be implemented through a module (process or function, and so forth) that performs the function described above. A module can be stored in memory and executed by a processor. The memory can be installed inside or outside the processor and can be connected to the processor by various known means. The processor can include an Application-Specific Integrated Circuit (ASIC), other chipsets, a logic circuit, and / or a data processing device. The memory can include read-only memory (ROM), random-access memory (RAM), flash memory, a memory card, a storage medium, and / or another storage device.In other words, the modalities described here can be implemented and executed on a processor, a microprocessor, a controller, or a chip. For example, the functional units illustrated in the respective figures can be implemented and executed on a computer, a processor, a microprocessor, a controller, or a chip. In this case, information about the implementation (e.g., instruction information) or the algorithms can be stored on a digital storage medium.

[185] Furthermore, the decoding apparatus and the encoding apparatus to which the modality(ies) of this document apply may be included in a multimedia broadcasting transceiver, a mobile communication terminal, a home theater video device, a digital cinema video device, a surveillance camera, a video chat device, and a real-time communication device such as video communication, a mobile real-time content streaming device, a storage medium, a video camera, a video-on-demand (VoD) service provider, an over-the-top (OTT) video streaming device, an internet real-time content streaming service provider, a video device MA / 100 3D, a Virtual Reality (VR) device, an Augmented Reality (AR) device, a telephone video imaging device, a vehicle terminal (e.g., a vehicle terminal (including an autonomous vehicle), an aircraft terminal, or a ship terminal), and a medical video device; and it can be used to process an image or data signal. For example, an OTT video device might include a game console, a Blu-ray player, an internet-connected television, a home theater system, a smartphone, a tablet, and a digital video recorder (DVR).

[186] Furthermore, the processing method to which the modality(ies) of this document apply can be produced in the form of a program executed by a computer and can be stored on a computer-readable recording medium. Multimedia data having a data structure in accordance with the modality(ies) of this document can also be stored on the computer-readable recording medium. The computer-readable recording medium includes all types of storage devices and distributed storage devices on 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, RAM, a CD-ROM, MA / E / ZUZZ / UO1OOU includes a magnetic tape, a floppy disk, and an optical data storage device. Computer-readable recording media also includes carrier wave media (e.g., transmission over the Internet). Furthermore, a bitstream generated by the encoding method can be stored on the computer-readable recording medium or transmitted over a wired or wireless communication network.

[187] Furthermore, the modality(ies) of this document may be incorporated as a computer program product based on program code, and the program code may be executed on a computer in accordance with the modality(ies) of this document. The program code may be stored on a computer-readable medium.

[188] Figure 13 shows an example of a continuous content transmission system to which the modalities described in this document can be applied.

[189] With reference to Figure 13, the continuous content transmission system to which the modality(ies) of this document are applied may broadly include an encoding server, a continuous transmission server, a network server, a media storage, a user device, and a multimedia input device. ML / E / ZuZz / uO OOU

[190] The encoding server compresses the content input from multimedia input devices, such as smartphones, cameras, camcorders, and the like, into digital data to generate a bitstream and transmit it to the content streaming server in real time. As another example, if the multimedia input device, such as a smartphone, camera, camcorder, or the like, directly generates a bitstream, the encoding server can be bypassed.

[191] The bitstream may be generated through an encoding method or a bitstream generation method to which the modalities of this document apply. And the real-time content streaming server may temporarily store the bitstream during a bitstream transmission or reception process.

[192] The streaming real-time content server transmits multimedia data to the user's computer based on a user request via the web server, which acts as an intermediary informing the user of available services. When the user requests a desired service, the web server forwards the request to the real-time content server, and the real-time content server transmits the multimedia data to the user's computer. MA / OOU user. In this sense, the real-time content transmission system may include a separate control server, and in this case, the control server functions to control the commands / responses between the respective equipment of the real-time content transmission system.

[193] The real-time content streaming server can receive content from the media storage and / or the encoding server. For example, if the content is received from the encoding server, it can be received in real time. In this case, the real-time content streaming server can store the bitstream for a predetermined period of time to provide the real-time content streaming service without interruption.

[194] For example, the user's equipment may include a mobile phone, a smartphone, a laptop computer, a digital broadcast terminal, a personal digital assistant (PDA), a portable media player (PMP), a navigation device, a slate PC, a tablet PC, an ultrabook, a wearable device (e.g., a watch-type terminal (smartwatch), a glass-type terminal (smart glass), a head-mounted display (HMD)), a digital television, a computer MA / 1OOU desktop, a digital sign or similar.

[195] Each of the servers in the real-time content transmission system can be operated as a distributed server, and in this case, the data received by each server can be processed in a distributed manner.

[196] The claims of this description can be combined in various ways. For example, the technical features of the method claims of this description can be combined to be implemented or carried out in an apparatus, and the technical features of the apparatus claims can be combined to be implemented or carried out in a method. Furthermore, the technical features of the method claim(s) and the apparatus claim(s) can be combined to be implemented or carried out in an apparatus. Additionally, the technical features of the method claim(s) and the apparatus claim(s) can be combined to be implemented or carried out in a method.

Claims

1. An image decoding method performed by a decoding apparatus, the method comprising: obtaining residual information and indication information including a first flag relating to whether an Adaptive Loop Filter (ALF) procedure is applied to an image level or a segment level; parsing information relating to the ALF procedure from an image header or a segment header based on the first flag; generating reconstructed samples for a current block based on the residual information; deriving filter coefficients based on the information relating to the ALF procedure; and generating modified reconstructed samples for the current block based on the reconstructed samples and the filter coefficients.

2. The method of claim 1, wherein the indication information includes one of a Sequence Parameter Set (SPS) and one Image Parameter Set (PPS).

3. The method of claim 1, wherein, based on a case where a value of the first flag is equal to 1, the information related to the ALF procedure is analyzed from the image header, and MA / 1OOU wherein, based on a case where a value of the first flag is equal to 0, the information related to the ALF procedure is analyzed from the segment header.

4. The method of claim 1, wherein the indication information further includes a second flag relating to whether the signaling of a reference image list applies to an image level or a segment level.

5. The method of claim 4, further comprising: analyzing information related to the reference image list signaling from the image header or segment header based on the second flag, wherein, based on a case where a value of the second flag is equal to 1, the information related to the reference image list signaling is analyzed from the image header, and wherein, based on a case where a value of the second flag is equal to 0, the information related to the reference image list signaling is analyzed from the segment header.

6. The method of claim 1, wherein the indication information further includes a third flag ML / E / ZuZZ / uOO OOU relating to whether a Sample Adaptive Compensation (SAO) procedure is applied to an image level or a segment level.

7. The method of claim 6, further comprising: analyzing information related to the SAO procedure from the image header or the segment header based on the third flag, wherein, based on a case where a value of the third flag is equal to 1, the information related to the SAO procedure is analyzed from the image header, and wherein, based on a case where a value of the third flag is equal to 0, the information related to the SAO procedure is analyzed from the segment header.

8. The method of claim 1, wherein the indication information further includes a fourth flag relating to whether the unlock parameters for an unlock filtering procedure are present in the image header or segment header.

9. The method of claim 8, further comprising: analyzing the unlock parameters from the image header or segment header based on the fourth flag, wherein, based on a case where a value of the fourth flag is equal to 1, the unlock parameters are analyzed from the image header, and wherein, based on a case where a value of the fourth flag is equal to 0, the unlock parameters are not analyzed from the image header.

10. An image coding method performed by an coding apparatus, the method comprising: deriving residual samples for a current block; generating reconstructed samples based on the residual samples; deriving filter coefficients to perform an Adaptive Loop Filter (ALF) procedure on the reconstructed samples; generating information related to the ALF procedure based on the filter coefficients; and generating indication information including a first flag related to whether the ALF procedure is applied at an image level or a segment level, wherein the first flag indicates in which of an image header and a segment header the information related to the ALF procedure is present. MA / Ί OOU 11. The method of claim 10, wherein the indication information includes one of a Sequence Parameter Set (SPS) and one Image Parameter Set (PPS).

12. The method of claim 10, wherein, based on a case where a value of the first flag is equal to 1, the information related to the ALF procedure is present in the image header, and wherein, based on a case where a value of the first flag is equal to 0, the information related to the ALF procedure is present in the segment header.

13. The method of claim 10, wherein the indication information includes a second flag relating to whether the signaling of a reference image list is applied to an image level or a segment level, wherein, based on a case where a value of the second flag is equal to 1, the information relating to the signaling of the reference image list is present in the image header, and wherein, based on a case where a value of the second flag is equal to 0, the information relating to the signaling of the reference image list is present in the segment header.

14. The method of claim 10, wherein the indication information includes a third flag related to whether a Sample Adaptive Compensation (SAO) procedure is applied to an image level or a segment level, wherein, based on a case where a value of the third flag is equal to 1, the information related to the SAO procedure is present in the image header, and wherein, based on a case where a value of the third flag is equal to 0, the information related to the SAO procedure is present in the segment header.

15. The method of claim 10, wherein the indication information includes a fourth flag relating to whether the unlock parameters for an unlock filtering procedure are present in the image header or segment header, wherein, based on a case where a value of the fourth flag is equal to 1, the unlock parameters are present in the image header, and wherein, based on a case where a value of the fourth flag is equal to 0, the unlock parameters are not present in the image header.

16. A computer-readable digital recording medium having encoded image information stored therein MA / E / ZUZZ / UO1OOU 102 enabling an image decoding method to be performed by a decoding apparatus, wherein the image decoding method comprises: obtaining indication information including a first flag relating to whether an Adaptive Loop Filter (ALF) procedure being applied to a current block is applied at an image level or segment level and residual information; analyzing information relating to the ALF procedure from an image header or segment header based on the first flag; generating reconstructed samples for a current block based on the residual information; deriving filter coefficients based on the information relating to the ALF procedure;and generate modified reconstructed samples for the current block based on the reconstructed samples and filter coefficients.