DEVICE AND METHOD FOR FILTERING-BASED IMAGE CODING

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

Patent Information

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

AI Technical Summary

Technical Problem

The increasing demand for high-resolution and high-quality images/videos, particularly in immersive media like VR and AR, has led to challenges in efficient image/video compression, transmission, and storage, with existing methods being costly and resource-intensive.

Method used

The implementation of a filtering-based approach that includes deblocking, sample adaptive offset (SAO), and adaptive loop filtering (ALF) techniques, along with the concept of virtual boundaries, to enhance image coding efficiency and subjective/objective visual quality.

Benefits of technology

This method improves the overall efficiency of image/video compression, reduces hardware resource consumption, and enhances subjective/objective visual quality by effectively applying filtering and signaling information across virtual boundaries.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure MX431680B0
    Figure MX431680B0
Patent Text Reader

Abstract

According to the methods described in this document, sub-images and / or virtual boundaries can be used to encode an image. For example, sub-images within the current image can be used to predict, reconstruct, and / or filter the current image. Virtual boundaries can be used to filter reconstructed samples from the current image. By encoding images based on sub-images and / or virtual boundaries according to the methods described in this document, the subjective / objective quality of an image can be improved, and the hardware resources required for encoding can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

DEVICE AND METHOD FOR FILTERING-BASED IMAGE CODING BACKGROUND OF THE INVENTION Field of invention [1] The present invention relates to an apparatus and method for encoding images based on filtering. Related technique [2] Recently, the demand for high-resolution, high-quality images / videos, such as 4K or 8K or ultra-high-definition (UHD) images / videos, has increased in various fields. As image / video data becomes higher resolution and higher quality, the amount of information or bits to be transmitted increases relative to existing image / video data. Therefore, transmitting image data using an existing wired / wireless broadband line or storage medium, or storing image / video data using an existing storage medium, increases both transmission and storage costs. [3] In addition, interest in and demand for immersive media such as virtual reality (VR) and artificial reality (AR) content or holograms has recently increased, and the transmission of images / videos has different characteristics from reality images, such as game images. [4] Consequently, a highly efficient image / video compression technology is required to effectively compress, transmit, store, and reproduce high-resolution, high-quality image / video information that has various characteristics as described above. [5] Specifically, a loop filtering process is implemented to enhance subjective / objective visual quality, and a scheme for increasing the efficiency of information signaling to perform loop filtering based on virtual boundaries is discussed. Furthermore, a review is underway on the application of sub-images to improve prediction and reconstruction performance in image coding. BRIEF DESCRIPTION OF THE INVENTION [6] According to one modality of this document, a method and apparatus are provided for increasing the efficiency of image coding. [7] According to one modality of this document, an efficient filtration application method and apparatus are provided. ivia / t / zuzz / uo i ooz [8] According to one embodiment of this document, a method and apparatus are provided for effectively applying unlocking, adaptive sample shifting (ASS), and adaptive loop filtering (ALF). [9] According to one modality of this document, loop filtering can be carried out on the basis of virtual boundaries.

[10] According to one modality of this document, whether a sequence parameter set (SPS) includes additional virtual boundary information (e.g., information about positions and the number of virtual boundaries) is determined based on whether reference image resampling is enabled.

[11] According to one modality of this document, image coding can be carried out on the basis of sub-images.

[12] According to one modality of this document, the sub-images used in image encoding can be encoded independently.

[13] According to one modality of this document, an image may include only one subimage. Furthermore, the subimage may be encoded independently.

[14] According to one modality of this document, an image can be generated based on a subimage fusion process. Furthermore, the subimages can be independently encoded ivia / t / zuzz / uo i ooz subimages.

[15] According to one modality of this document, each of the sub-images used in image encoding can be treated as an image.

[16] According to one modality of this document, an encoding apparatus is provided to carry out video / image encoding.

[17] According to one modality of this document, a computer-readable digital storage medium is provided in which video / image information is stored, generated according to the video / image coding method described in at least one of the modalities of this document.

[18] According to one embodiment hereof, a computer-readable digital storage medium is provided in which encoded video / image information or data is stored, thereby enabling the video / image decoding method described in at least one embodiment hereof to be carried out by the decoding apparatus.

[19] According to one modality of this document, the overall efficiency of image / video compression can be improved.

[20] According to one modality of this document, subjective / objective visual quality can be improved by efficient filtering.

[21] According to one modality of this document, the loop filtering process based on virtual boundaries can be carried out efficiently and filtering performance can be improved.

[22] According to one modality of this document, information for loop filtering based on virtual boundaries can be effectively signaled.

[23] According to one embodiment of this document, sub-image information can be effectively signaled. Therefore, subjective / objective image quality can be improved, and there can be a decrease in the consumption of hardware resources required for encoding. BRIEF DESCRIPTION OF THE DRAWINGS

[24] Figure 1 illustrates an example of a video / image coding system to which the modalities of this document can be applied.

[25] Figure 2 is a diagram that schematically illustrates a configuration of a video / image encoding apparatus to which the modalities of this document can be applied.

[26] Figure 3 is a schematic diagram illustrating a configuration of a video / image decoding apparatus ivia / t / zuzz / uo i ooz to which the modalities of the present invention can be applied.

[27] Figure 4 shows as an example a hierarchical architecture for an encoded video / image.

[28] Figure 5 is a flowchart illustrating a filter-based coding method in a coding apparatus.

[29] Figure 6 is a flowchart illustrating a filter-based decoding method in a decoding apparatus.

[30] Figure 7 and Figure 8 schematically show an example of a video / image coding method and related components according to the modality(ies) of this document.

[31] Figure 9 and Figure 10 schematically show an example of an image / video decoding method and related components according to one or more modalities of this document.

[32] Figure 11 shows an example of a content transmission system to which the realizations described in this document can be applied. DETAILED DESCRIPTION OF THE INVENTION

[33] The present invention can be modified in various ways, and the drawings describe and show various modifications. IVIA / t / ZUZZ / UO IOOZ specific to the same. However, the modalities are not intended to limit this document. The terms used in the following description are used simply to describe specific modalities, but are not intended to limit this document. An expression of a singular number includes an expression of the plural number, provided that it is clearly read differently. Terms such as "include" and "have" are intended to indicate that there are features, numbers, steps, operations, elements, components, or combinations thereof used in the following description, and it should therefore be understood that the possibility of the existence or addition of one or more different features, numbers, steps, operations, elements, components, or combinations thereof is not excluded.

[34] Furthermore, each configuration in the drawings described herein is shown independently for the convenience of describing different characteristic functions, and does not mean that each configuration is implemented as separate hardware or software. For example, two or more components may be combined within each component to form a single component, or a component may be divided into a plurality of components. Without departing from the substance of this document, the ways in which each component is integrated and / or separate are also included within the scope of the claims. ivia / t / zuzz / uo i ooz

[35] The following are detailed examples of this modality with reference to the accompanying drawings. In addition, similar reference numbers are used to indicate similar elements in all the drawings, and the same descriptions of similar elements are omitted.

[36] This document relates to video / image coding. For example, the methods / modalities described in this document may be related to the Versatile Video Coding (VVC) standard (ITU-T Rec. H.266), the next-generation video / image coding standard after VVC, or other related video coding standards (e.g., High Efficiency Video Coding (HEVC) standard (ITU-T Rec. H.265), Essential Video Coding (EVC) standard, AVS2 standard, and the like).

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

[38] 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 portion 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. An image may consist of one or more tile groups. A tile group may include one or more tiles.

[39] A pixel or a pei can mean a smaller unit that constitutes an image (or picture). In addition, 'sample' can be used as a term corresponding to a pixel. A sample can generally represent a pixel or a value of a pixel, and can represent only a pixel / pixel value of a luma component or only a pixel / pixel value of a chroma component.

[40] A unit can represent a basic image processing unit. The unit can include at least one sample from a specific image region 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. Alternatively, the sample can mean a pixel value in the spatial domain, and when such a pixel value is transformed to the frequency domain, it can mean a transformation coefficient in the frequency domain.

[41] In this document, the term / ivia / t / zuzz / uo i ooz may be interpreted to mean and / or. For example, the expression A / B may mean A and / or B. Furthermore, A, B may mean A and / or B. Furthermore, A / B / C may mean at least one of A, B and / or C. Furthermore, Ά / Β / C may mean at least one of A, B and / or C.

[42] Furthermore, in this document, the term or should be interpreted to mean and / or. For example, the expression A or B may include 1) only A, 2) only B, and / or 3) both A and B. In other words, the term or in this document should be interpreted as meaning additionally or as an alternative.

[43] In the present invention, at least one of A and B may mean only A, only B, or both A and B. Furthermore, in the present invention, the expression at least one of A or B or at least one of A and / or B may be interpreted as at least one of A and B.

[44] Furthermore, in the present invention, at least one of A, B and C may mean only A, only B, only C or any combination of A, B and C. Furthermore, at least one of A, B or C or at least one of A, B and / or C may mean at least one of A, B and C.

[45] Furthermore, the parentheses used in the present invention may mean, for example. Specifically, when referred to as a prediction (intra prediction), it may mean that intra prediction is proposed as an example of a prediction. In other words, the prediction of the present invention is not limited to intra prediction, and intra prediction may be proposed as an example of a prediction. Moreover, when referred to as a prediction (i.e., intra prediction), it may also mean that intra prediction is proposed as an example of a prediction.

[46] The technical features described individually in a figure of the present invention may be implemented individually or may be implemented simultaneously.

[47] Figure 1 illustrates an example of a video / image coding system to which the invention of this document can be applied.

[48] ​​Referring to Figure 1, a video / image coding system may include a source device and a receiving device. The source device may transmit encoded image / video information or data to the receiving device via a network or digital storage medium in the form of a file or stream.

[49] The source device may include a video source, 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 included in the encoding device. The receiver may be included in the decoding device. The renderer may include a display, and the display may be configured as a standalone device or an external component.

[50] 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 including previously captured videos / 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 image / video may be generated through a computer or similar device. In this case, the video / image capture process may be replaced by a related data generation process.

[51] The encoding device can encode input video / images. The encoding device can perform a number of procedures such as IVIA / t / ZUZZ / UO IOOZ prediction, transformation, and quantization for compaction and coding efficiency. The encoded data (encoded image / video information) can be output as a bitstream.

[52] The transmitter may transmit the encoded image / 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 transmission. The digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, and the like. The transmitter may include a component for generating a media file using a predetermined file format and may include a component for transmission over a broadcast / communication network. The receiver may receive / extract the bitstream and transmit the received bitstream to the decoding device.

[53] The decoding apparatus can decode the video / images by means of a series of procedures such as dequantization, inverse transformation and prediction corresponding to the operation of the encoding apparatus.

[54] The renderer can render the decoded video / images. The rendered video / images can be displayed on the screen. ivia / t / zuzz / uo i ooz

[55] Figure 2 is a diagram that schematically illustrates the configuration of a video / image encoding apparatus to which the description in this document may be applied. Hereafter, the term video encoding apparatus may include an image encoding apparatus.

[56] Referring to Figure 2, the encoding apparatus 200 includes an image splitter 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 also include a subtractor 231. The adder 250 may be called a reconstructor or a reconstructed block generator. The image splitter 210, predictor 220, residual processor 230, entropy encoder 240, adder 250 and filter 260 can be configured by at least one hardware component (e.g., an encoder chipset or processor) according to a modality.Additionally, the 270 memory can include a decoded image buffer (DPB) or can be configured using a digital storage medium. The hardware component may also include the 270 memory as a component. IVIA / t / ZUZZ / UO IOOZ internal / external.

[57] The image splitter 210 can split an input image (or a picture or frame) into one or more processors. For example, the processor may be called an encoding unit (CU). In this case, the encoding unit may be recursively split according to a quaternary tree ternary tree binary tree (QTBTTT) structure, starting from a coding tree unit (CTU) or a larger coding unit (LCU). For example, an encoding unit may be split into a plurality of deeper coding units based on a quaternary tree structure, a binary tree structure, and / or a ternary structure. In this case, for example, the quaternary tree structure may be applied first, and the binary tree structure and / or the ternary structure may be applied later. Alternatively, the binary tree structure may be applied first.The encoding procedure according to the present invention can be carried out based on the final encoding unit, which is no longer divided. In this case, the largest encoding unit can be used as the final encoding unit based on its encoding efficiency according to the image characteristics. Alternatively, if necessary, the encoding unit can be recursively divided into deeper encoding units, and an encoding unit of optimal size can be used as the final encoding unit. Here, the encoding procedure can include a prediction, transformation, and reconstruction procedure, which are described later. As another example, the processor can further include a prediction unit (PU) or a transformation unit (TU).In this case, the prediction unit and the transformation unit can be separate or subdivided from the final encoding unit mentioned earlier. The prediction unit can be a sample prediction unit, and the transformation unit can be a unit for deriving a transformation coefficient and / or a unit for deriving a residual signal from the transformation coefficient.

[58] The unit can be used interchangeably with terms such as block or area in some cases. In a general case, a block M × N can represent a set of samples or transformation coefficients composed of M columns and N rows. A sample can generally represent a pixel or the value of a pixel, can represent only one pixel / pixel value of a luma component, or can represent only one pixel / pixel value of a chroma component. A sample can be used as a term corresponding to an image (or picture) for a pixel or a pixel.

[59] The subtractor 231 can generate a residual signal (residual block, residual samples, or set of residual samples) by subtracting a prediction signal (predicted block, prediction samples, or set of prediction samples) emitted from the predictor 220 from an input image signal (original block, original samples, or original sample array), and the generated residual signal is transmitted to the transformer 232. The predictor 220 can perform a prediction for a target processing block (hereafter referred to as the current block) and generate a predicted block that includes prediction samples for the current block. The predictor 220 can determine whether intra-prediction or inter-prediction is applied within a current block or a CU unit.As described later in the description of each prediction mode, the predictor can generate various types of prediction-related information, such as prediction mode information, and transfer the generated information to the entropy encoder 240. The prediction information can be encoded in the entropy encoder 240 and output in the form of a bitstream.

[60] The intra-predictor 222 can predict the current block by referencing samples in the current image. The referenced samples can be located in the vicinity of the current block or can be located separately, depending on the prediction mode. In intra-prediction, the prediction modes 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 and a flat mode. The directional mode can include, for example, 33 directional prediction modes or 65 directional prediction modes, depending on the level of detail of the prediction direction. However, this is merely an example; more or less directional prediction modes can be used depending on the configuration. The intra-predictor 222 can determine the prediction mode applied to the current block using a prediction mode applied to a neighboring block.

[61] Interpredictor 221 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. Here, to reduce the amount of motion information transmitted in interprediction mode, the motion information can be predicted in block, subblock, or sample units 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 information between prediction directions (LO prediction, Ll prediction, Bi prediction, etc.). In the case of interprediction, the neighboring block ivia / t / zuzz / uo i ooz can include a spatial neighbor block present in the current image and a temporal neighbor block present in the reference image.The reference image that includes the reference block and the reference image that includes the temporary neighbor block can be the same or different. The temporary neighbor block can be called a co-located reference block, co-located CU (colCU), and similar terms, and the reference image that includes the temporary neighbor block can be called a co-located image (colPic). For example, the inter-predictor 221 can configure a list of motion information candidates based on neighboring blocks and generate information indicating which candidate is used to derive a motion vector and / or a reference image index for the current block. Inter-prediction can be performed based on various prediction modes. For example, in the case of a skip mode and a merge mode, the inter-predictor 221 can use motion information from the neighboring block as motion information for the current block.In skip mode, unlike merge mode, the residual signal may not be transmitted. In motion vector prediction (MVP) mode, the neighboring block's motion vector can be used as a motion vector predictor, and the current block's motion vector can be indicated by signaling a motion vector difference. MA / t / ZUZZ / UO Ί OOZ

[62] Predictor 220 can generate a prediction signal based on several prediction methods described below. For example, the predictor can apply intra-prediction or inter-prediction to predict a block, or it can simultaneously apply both intra-prediction 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 block prediction. 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). Essentially, IBC performs predictions on the current image, but it can be implemented similarly to inter-prediction in that a reference block is derived from the current image.In other words, the IBC can use at least one of the interprediction techniques described in this document.

[63] The prediction signal generated by 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 may include at least a discrete cosine transform. MA / E / ZUZZ / UOl OOZ (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 a 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 of the same size or to blocks of varying sizes instead of squares.

[64] The quantizer 233 can quantize the transformation coefficients and transmit them to the entropy encoder 240, and the entropy encoder 240 can encode the quantized signal (information about the quantized transformation coefficients) and output a bitstream. The information about the quantized transformation coefficients can be called residual information. The quantizer 233 can rearrange block-type quantized transformation coefficients into a one-dimensional vector form based on a coefficient scan order and generate information about the quantized transformation coefficients based on the quantized transformation coefficients in the vector form. MA / E / ZUZZ / UOl OOZ one-dimensional. Information about the transformation coefficients can be generated. The entropy encoder 240 can perform various encoding methods such as, for example, exponential Golomb, context-adaptive variable-length coding (CAVLC), context-adaptive binary arithmetic coding (CABAC), and similar methods. The entropy encoder 240 can encode the information required for video / image reconstruction other than the quantized transformation coefficients (e.g., syntax element values, etc.) together or separately. The encoded information (e.g., encoded video / image information) can be transmitted or stored in NAL (Network Abstraction Layer) units as a bitstream.The video / image information may also include information on 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 the present invention, the information and / or syntax elements transmitted / signaled from the encoding apparatus to the decoding apparatus may be included in the video / image information. The video / image information may be encoded using the described encoding procedure. MA / E / ZUZZ / UOl OOZ previously and be included in the bitstream. The bitstream can be transmitted over a network or stored on a digital storage medium. The network can include a broadcast network and / or a communications network, and the digital storage medium can 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 can be included as an internal / external element of the encoding apparatus 200, and alternatively, the transmitter can be included in the entropy encoder 240.

[65] The quantized transformation coefficients output by 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 is no residual to process the block, as in the case where skip mode is applied, MA / E / ZUZZ / UOl OOZ The predicted block can be used as a reconstructed block. The adder 250 can be called a reconstructor or reconstructed block generator. The generated reconstructed signal can be used for the inter-prediction of a subsequent block to be processed in the current image and can be used for the inter-prediction of a subsequent image through filtering as described below.

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

[67] Filter 260 can improve 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, a DPB of memory 270. The various filtering methods can include, for example, unlock filtering, adaptive sample shifting, adaptive loop filtering, bilateral filtering, and the like. Filter 260 can generate various filtering-related information and transmit the generated information to the entropy encoder 240 as described later in the description of each filtering method. The filtering-related information can be encoded by the entropy encoder 240 and output IVIA / t / ZUZZ / UO IOOZ in the form of a bit stream.

[68] 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.

[69] 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 the motion information of the block from which the motion information in the current (or encoded) image is derived and / or the motion information of blocks in the image that have already been reconstructed. The stored motion information can be transmitted to inter-predictor 221 and used as the motion information of the spatially neighboring block or the motion information of the temporally neighboring block. Memory 270 can store reconstructed samples of reconstructed blocks in the current image and can transfer the reconstructed samples to intra-predictor 222.

[70] Figure 3 is a diagram to schematically explain the configuration of a video / image decoding apparatus to which the modalities of the present invention can be applied. MA / E / ZUZZ / UOl OOZ

[71] Referring to Figure 3, the decoding apparatus 300 may include an entropy decoder 310, a residual processor 320, a predictor 330, an adder 340, a filter 350, and a memory 360. The predictor 330 may include an inter-predictor 331 and an intra-predictor 332. The residual processor 320 may include a dequantizer 321 and an inverse transformer 321. The entropy decoder 310, the residual processor 320, the predictor 330, the adder 340, and the filter 350 may be configured by a hardware component (e.g., a chipset decoder or a processor) according to a modality. In addition, the memory 360 may include a decoded image buffer (DPB) or may be configured by a digital storage medium. The hardware component may also include the 360 ​​memory as an internal / external component.

[72] When a bitstream containing video / image information is input, the decoding apparatus 300 can reconstruct a corresponding image in a process where the video / image information is processed in the encoding apparatus of Figure 2. For example, the decoding apparatus 300 can derive units / blocks based on block-splitting information obtained from the bitstream. The decoding apparatus 300 can perform the decoding using a processor applied in the encoding apparatus. Thus, the processor of. The IVIA / t / ZUZZ / UO IOOZ decoding unit can be an encoding unit, for example, and the encoding unit can be divided according to a quaternary tree structure, binary tree structure, and / or ternary tree structure from the encoding tree unit or the larger encoding unit. One or more transformation units can be derived from the encoding unit. The reconstructed image signal decoded and output through the decoding apparatus 300 can be reproduced through a playback apparatus.

[73] 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 derive information (e.g., video / image information) necessary for 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 MA / E / ZUZZ / UOl OOZ in the parameter set information and / or general constraint information. The signaled / received information and / or syntax elements described later in this document can be decoded by the decoding process 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 container 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 / container decoded in a previous stage, and perform arithmetic decoding on the binary by predicting a probability of occurrence of a binary 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 decoded symbol / container information for a subsequent symbol / container context model after determining the model of the next symbol / container. MA / E / ZUZZ / UOl OOZ context. Information related to the prediction among the information decoded by the entropy decoder 310 can be provided to the predictor 330, and information about the residue on which the entropy decoding has been carried out in the entropy decoder 310, i.e., the quantized transformation coefficients and related parameter information, can be input to the dequantizer 321. In addition, information about the filtering among the information decoded by the entropy decoder 310 can be provided to the filter 350. Meanwhile, a receiver (not illustrated) for receiving a signal output from the encoder apparatus can be further configured as an internal / external element of the decoding apparatus 300, or the receiver can be a constituent element of the entropy decoder 310.Meanwhile, the decoding apparatus according to this document may be called a video / image decoder apparatus, and the decoder apparatus may be classified into an information decoder (video / image / frame information decoder) and a sample decoder (video / image / frame sample decoder). The information decoder may include the entropy decoder 310, and the sample decoder may include at least one of the following: the dequantizer 321, the inverse transformer 322, the predictor 330, the adder 340, the filter 350, and... IVIA / t / ZUZZ / UO IOOZ memory 360.

[74] The dequantizer 321 can dequantize quantized transformation coefficients and generate transformation coefficients. The dequantizer 321 can rearrange the quantized transformation coefficients into a two-dimensional block form. In this case, the transposition can be performed based on the coefficient scan order carried out in the encoding apparatus. The dequantizer 321 can perform the dequantization of quantized transformation coefficients using a quantization parameter (e.g., quantization step size information) and obtain transformation coefficients.

[75] The inverting transformer 322 inversely transforms the transformation coefficients to obtain a residual signal (residual block, residual sample matrix).

[76] The predictor can perform predictions on the current block and generate a predicted block that includes prediction samples for the current block. The predictor can determine whether intra-prediction or inter-prediction is applied to the current block based on information about the prediction output of entropy decoder 310 and can determine a specific intra / inter-prediction mode.

[77] The predictor can generate a prediction signal based on several prediction methods described below. MA / E / ZUZZ / UOl OOZ For example, the predictor can not only apply intra-prediction or inter-prediction to predict a block, but it can also apply both simultaneously. 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 block prediction. 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). Essentially, IBC performs predictions on the current image, but it can be implemented similarly to inter-prediction in that a reference block is derived from the current image. That is, IBC can use at least one of the inter-prediction techniques described herein.

[78] Intra-predictor 332 can predict the current block by referencing samples in the current image. The referenced samples can be located in the vicinity of the current block or can be located separately 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 332 can determine the prediction mode applied to the current block using a prediction mode applied to a neighboring block.

[79] Interpredictor 331 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, to reduce the amount of motion information transmitted in interprediction mode, the motion information can be predicted in block, subblock, or sample units 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 information between prediction directions (LO prediction, Ll prediction, Bi prediction, etc.). In the case of interprediction, the neighboring block can include a spatial neighbor block present in the current image and a temporal neighbor block present in the reference image.For example, interpredictor 331 can configure a list of candidates for motion information based on neighboring blocks and derive a motion vector of 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 prediction information can include details indicating an interprediction mode. MA / E / ZUZZ / UOl OOZ for the current block.

[80] Adder 340 can generate a reconstructed signal (reconstructed image, reconstructed block, reconstructed sample matrix) by adding the obtained residual signal to the prediction signal (predicted block, predicted sample matrix) sent from predictor 330. If there is no residual to process the block, such as when the skip mode is applied, the predicted block can be used as the reconstructed block.

[81] The 340 adder may be called a reconstructor or reconstructed block generator. The generated reconstructed signal may be used for interprediction of the next block to be processed in the current image, may be output by filtering as described below, or may be used for interprediction of the next image.

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

[83] Filter 350 can improve 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, a DPB of memory 360. The various filtering methods may include, for example, unlock filtering, a shift MA / E / ZUZZ / UOl OOZ adaptive sample, an adaptive loop filter, a bilateral filter and the like.

[84] 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 in the current image is derived (or decoded) and / or the motion information of blocks in the image that have already been reconstructed. The stored motion information can be transmitted to inter-predictor 331 to be used as the motion information of the spatially neighboring block or the motion information of the temporally neighboring block. Memory 360 can store reconstructed samples of reconstructed blocks in the current image and transfer the reconstructed samples to intra-predictor 332.

[85] In the present specification, the embodiments described in the predictor 330, the dequantizer 321, the inverting transformer 322, and the filter 350 of the decoding apparatus 300 may also be applied in the same manner or in correspondence with the predictor 220, the dequantizer 234, the inverting transformer 235, and the filter 260 of the encoding apparatus 200.

[86] As described above, in video coding, prediction is performed to increase compression efficiency. Through this, it is possible MA / E / ZUZZ / UOl OOZ generates a predicted block that includes prediction samples for a current block, which is a block to be encoded. Here, the predicted block includes prediction samples in a spatial domain (or pixel domain). The predicted block is derived equally from the encoding and decoding devices, and the encoding device decodes information (residual information) about the remainder between the original block and the predicted block, not the original sample value of the original block itself. By sending signals to the device, the efficiency of image encoding can be increased. The decoding apparatus can derive a residual block that includes residual samples based on the residual information, and generate a reconstructed block that includes reconstructed samples by summing the residual block and the predicted block, and generate a reconstructed image that includes reconstructed blocks.

[87] Residual information can be generated through transformation and quantification processes. For example, the coding apparatus can derive a residual block between the original block and the predicted block, and perform a transformation process on residual samples (residual sample matrix) included in the residual block to derive transformation coefficients, and then, by performing a quantification process on the transformation coefficients, derive transformation coefficients MA / E / ZUZZ / UOl OOZ quantized to signal residual information related to the decoding apparatus (via a bitstream). Here, the residual information can include location information, a transformation technique, a transformation kernel and a quantization parameter, value information of the quantized transformation coefficients, etc. The decoding apparatus can perform a dequantization / inverse transformation process based on the 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. The encoding apparatus can also dequantize / inversely transform the quantized transformation coefficients as a reference for the inter-prediction of a subsequent image to derive a residual block, and generate a reconstructed image based on them.

[88] In this document, at least one of the quantization / dequantization and / or transformation / inverse transformation terms may be omitted. When the quantization / dequantization term is omitted, the quantized transformation coefficient may be called the transformation coefficient. When the transform / inverse transform term is omitted, the transformation coefficients may be called residual coefficients or coefficients, or they may even be called MA / E / ZUZZ / UOl OOZ transformation coefficients for uniformity of expression.

[89] In this document, a quantized transformation coefficient and a transformation coefficient may be referred to as the transformation coefficient and the scaled transformation coefficient, respectively. In this case, the residual information may include information about the transformation coefficient(s), and the information about the transformation coefficient(s) may be signaled through the residual encoding syntax. The transformation coefficients may be derived based on the residual information (or information about the transformation coefficient(s)), and the scaled transformation coefficients may be derived through the inverse transformation (scaling) of the transformation coefficients. The residual samples may be derived based on an inverse transform (transform) of the scaled transformation coefficients.This may also apply / be expressed in other parts of this document.

[90] The encoder / decoder predictor can derive prediction samples by performing inter-predictions on block units. Intra-prediction can be a prediction derived in a way that depends on data elements (e.g., sample values ​​or motion information, etc.) from images other than the current image. When intra-prediction is applied to the block Based on the reference block (reference sample arrays) specified by the motion vector in the reference image to which the reference image index points, the predicted block (prediction sample arrays) for the current block can be derived. In this case, to reduce the amount of motion information transmitted in inter-prediction mode, the motion information of the current block can be predicted in block units, sub-blocks, or samples based on the correlation between the motion information of neighboring blocks and the current block. The motion information can include the motion vector and the reference image index. The motion information can also include inter-prediction type information (LO prediction, Ll prediction, Bi prediction, etc.).When interprediction is applied, neighboring blocks can include a spatial neighbor block existing in the current image and a temporal neighbor block existing in the reference image. The reference image containing the reference block and the reference image containing the temporal neighbor block can be the same or different. The temporal neighbor block can be called a co-located reference block, co-located CU (colCU), etc., and a reference image that includes the temporal neighbor block can be called a co-located image (colPic). For example, a list of information candidates can be constructed. MA / E / ZUZZ / UOl OOZ motion prediction is based on neighboring blocks of the current block, and an indicator or index can be signaled to show which candidate is selected (used) to derive the motion vector and / or reference image index of the current block. Interprediction can be performed based on various prediction modes. For example, in jump mode and merge mode, the motion information of the current block can be the same as the motion information of a selected neighboring block. In jump mode, unlike merge mode, a residual signal may not be transmitted. In the case of a motion vector prediction (MVP) mode, a motion vector from a selected neighboring block can be used as the motion vector predictor, and a motion vector difference can be signaled.In this case, the movement vector of the current block can be obtained using the sum of the movement vector predictor and the movement vector difference.

[91] Motion information may include LO motion information and / or L1 motion information depending on the type of interprediction (LO prediction, Ll prediction, Bi prediction, etc.). A motion vector in the LO direction may be called the LO motion vector or MVLO, and a motion vector in the Ll direction may be called the Ll motion vector or MVL1. Prediction based on the The motion vector LO can be called the LO prediction, the prediction based on the motion vector L1 can be called the L1 prediction, and the prediction based on both the LO and L1 motion vectors can be called the bi-prediction. Here, the motion vector LO can indicate a motion vector associated with the reference image list LO (LO), and the motion vector L1 can indicate a motion vector associated with the reference image list Ll (Ll). The reference image list LO can include images preceding the current image in output order as reference images, and the reference image list Ll can include images following the current image in output order. The preceding images can be called forward (reference) images, and the following images can be called backward (reference) images.The reference image list LO can also include images that are later than the current image in the output order as reference images. In this case, the earlier images can be indexed first, and the subsequent images can then be indexed in the reference image list LO. The reference image list Ll can also include images earlier than the current image in the output order as reference images. In this case, the subsequent images can be indexed first in the reference image list 1 and the images. Previous ML / E / ZuZZ / uOΊ OOZ can be indexed below. Here, the output order can correspond to a picture order count (POC) order.

[92] Figure 4 shows as an example a hierarchical structure for an encoded image / video.

[93] Referring to Figure 4, the encoded image / video is divided into VCL (Video Encoding Layer) which deals with an image / video decoding process and itself, a subsystem that transmits and stores the encoded information, and a Network Abstraction Layer (NAL) that exists between the VCL and subsystems and is responsible for network adaptation functions.

[94] The VCL can generate VCL data that includes compressed image data (cut data) or generate parameter sets that include an image parameter set (Image Parameter Set: PPS), a sequence parameter set (Sequence Parameter Set: SPS), a video parameter set (Video Parameter Set: VPS), etc. or a Supplemental Enhancement Information (SEI) message additionally required for the process of decoding an image.

[95] In the NAL, an NAL unit can be generated by adding header information (NAL unit header) to a raw byte sequence payload (RBSP) generated in the VCL. ML / E / ZuZZ / uOO OOZ In this case, RBSP refers to segment data, parameter sets, SEI messages, etc., generated in the VCL. The NAL unit header may include information about the specified NAL unit type, based on the RBSP data included in the corresponding NAL unit.

[96] As shown in the figure, the NAL unit can be divided into a VCL NAL unit and a non-VCL NAL unit according to the RBSP generated in the VCL. The VCL NAL unit can mean a NAL unit that includes information (split data) about an image, and the non-VCL NAL unit can mean a NAL unit that contains information (parameter set or SEI message) necessary to decode an image.

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

[98] As described above, in the NAL unit, the NAL unit type can be specified according to the RBSP data structure included in the corresponding NAL unit, and information about this unit type ML / E / ZuZZ / uOO OOZ NAL can be stored and signaled in the header of the NAL unit.

[99] For example, the NAL unit can be roughly classified into VCL NAL unit type and non-VCL NAL unit type depending on whether the NAL unit includes information about the image (slice data). The VCL NAL unit type can be classified according to the property and image type included in the VCL NAL unit, and the non-VCL NAL unit type can be classified according to the type of a parameter set.

[100] The following is an example of the NAL unit type specified according to the parameter set type included in the non-VCL NAL unit type.

[101] - APS (Adaptation Parameter Set) Unit NAL: NAL unit type that includes APS

[102] DPS (Decoding Parameter Set) NAL Unit: Type of NAL unit that includes DPS

[103] - VPS (Video Parameter Set) NAL Unit: type for the NAL unit that includes VPS

[104] - SPS (Sequence Parameter Set) Unit NAL: NAL unit type that includes SPS

[105] - PPS (Image Parameter Set) NAL Unit: NAL unit type that includes PPS

[106] - PH (Image Header) NAL Unit: Type for NAL unit that includes PH ML / E / ZuZZ / uOO OOZ

[107] The NAL unit types described above have syntax information for the NAL unit type, and the syntax information can be stored and signaled in the NAL unit header. For example, the syntax information can be nal unit type and the NAL unit types can be specified by a nal_unit_type value.

[108] 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 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. In this document, a segment can be merged or replaced with a tile group. Also in this document, a segment header can be merged or replaced with a type group header.

[109] The segment header (segment header syntax or segment header information) may include information / parameters commonly applicable to the segment. The APS (APS syntax) or PPS (PPS syntax) may include information / parameters commonly applicable to one or more segments or images. The SPS (SPS syntax) may include information / parameters commonly applicable to one or more sequences. The VPS (VPS syntax) may include information / parameters commonly applicable to multiple layers. The DPS (DPS syntax) may include information / parameters commonly applicable to the entire video. The DPS may include information / parameters related to the concatenation of a video-encoded sequence (CVS). In this document, the high-level syntax (HLS) may include at least one APS syntax, PPS syntax, SPS syntax, VPS syntax, DPS syntax, image header syntax, and segment header syntax.

[110] In this document, the image / video information encoded in the encoding apparatus and signaled as a bitstream to the decoding apparatus may include, in addition to information related to image splitting within the image, intra / inter prediction information, residual information, loop filtering information, etc., the information included in the segment header, the information included in the image header, the information included in the APS, the information included in the PPS, the information included in the SPS, the information included in the VPS, and / or the information included in the DPS. Furthermore, the image / video information may also include information from the NAL unit header.

[111] Meanwhile, to compensate for a difference between an original image and a reconstructed image due to an error occurring in a compression encoding process such as quantization, a loop filtering process can be performed on reconstructed samples or reconstructed images as described above. As described above, the loop filtering can be carried out by the encoder filter and the decoder filter, and an unlock filter, SAO, and / or an adaptive loop filter (ALF) can be applied. For example, the ALF process can be performed after the unlock filtering process and / or the SAO process are completed. However, even in this case, the unlock filtering process and / or the SAO process can be omitted.

[112] Image reconstruction and filtering will now be described in detail. In image / video encoding, a reconstructed block can be generated based on intra-prediction / inter-prediction within each block unit, and a reconstructed image can be generated that includes the reconstructed blocks. When the current image / segment is an I-image / segment, the blocks included in the current image / segment can be reconstructed based solely on intra-prediction. Meanwhile, when the current image / segment is a P- or B-image / segment, the blocks included in the current image / segment can be reconstructed based on either intra-prediction or inter-prediction. In this case, intra-prediction can be applied. MA / E / ZUZZ / UOl OOZ to some blocks in the current image / segment, and intra-prediction can be applied to the remaining blocks.

[113] Intra-prediction can refer to the prediction that generates prediction samples for the current block based on reference samples in an image to which the current block belongs (hereafter, a current image). When intra-prediction is applied to the current block, neighboring reference samples can be derived for use in the intra-prediction of the current block. The neighboring reference samples of the current block can include samples adjacent to the left boundary of the current block that are nW x nH in size and a total of 2 x nH neighboring samples to the lower left, samples adjacent to the upper boundary of the current block and a total of 2 x nW neighboring samples to the upper right, and one sample near the upper left of the current block. Alternatively, the neighboring reference samples of the current block can include a plurality of upper neighboring samples and a plurality of left neighboring samples.In addition, the reference samples neighboring the current block may include a total of nH samples adjacent to the right boundary of the current block with a size of nWxnH, a total of nW samples adjacent to the lower boundary of the current block, and one (lower right) neighbor sample of the current block.

[114] However, it is possible that some of the samples MA / E / ZUZZ / UOl OOZ neighboring reference samples of the current block are not yet decoded or available. In this case, the decoder can configure the neighboring reference samples for use in the prediction by replacing the unavailable samples with the available ones. Alternatively, the neighboring reference samples to be used for the prediction can be configured by interpolating the available samples.

[115] When deriving neighboring reference samples, there are two cases: (i) a case in which a prediction sample can be derived based on an average or interpolation of neighboring reference samples of a current block, and (ii) a case in which the prediction sample can be derived based on a reference sample present in a specific direction (prediction) for the prediction sample among the neighboring reference samples of the current block. Case (i) can be referred to as non-directional mode or non-angular mode, and case (ii) can be referred to as directional mode or angular mode. Furthermore, the prediction sample can also be generated by first and second neighboring samples located in the opposite direction to the prediction direction of the current block's intra-prediction mode, based on the prediction sample of the current block among the neighboring reference samples.The above case can be called linear interpolation intra-prediction (LIP). ivia / t / zuzz / uo i ooz Furthermore, chroma prediction samples can be generated based on luma samples using a linear model. This case can be called LM mode. Additionally, a time prediction sample of the current block can be derived based on filtered neighboring reference samples. At least one reference sample, derived according to the intra-prediction mode among existing neighboring reference samples (i.e., unfiltered neighboring reference samples), and the time prediction sample can be weighted together to derive the prediction sample of the current block. The above case can be called position-dependent intra-prediction (PDPC).Furthermore, a reference sample line with the highest prediction accuracy can be selected from among the multiple neighboring reference sample lines of the current block. The prediction sample can then be derived using the reference sample located in the prediction direction on the corresponding line. The reference sample line used herein can be signaled to a decoding device, thus performing intra-prediction coding. This can be referred to as multiple reference line (MRL) intra-prediction or MRL-based intra-prediction. Additionally, intra-prediction can be performed using the same method by dividing the current block into vertical or horizontal subdivisions, and neighboring reference samples can be derived and used within the subdivisions.In other words, in this case, the intra-prediction mode for the current block also applies to the subdivisions, and the intra-prediction performance can be improved in some cases by deriving and using neighboring reference samples in units of the subdivisions. Such a prediction method can be called intra-subdivision (ISP) or ISP-based intra-prediction. The intra-prediction methods mentioned above can be referred to as an intra-prediction type other than the intra-prediction mode in section 1.2. The intra-prediction type can be referred to in various terms such as an intra-prediction technique or an additional or similar intra-prediction mode. For example, the intra-prediction type (or the additional or similar intra-prediction mode) can include at least one of the aforementioned LIP, PDPC, MRL, and ISP.A general intra-prediction method, other than a specific intra-prediction type such as LIP, PDPC, MRL, or ISP, can be called a normal intra-prediction type. The normal intra-prediction type can generally be applied when a specific intra-prediction type is not used, and the prediction can be performed based on the aforementioned intra-prediction mode. Meanwhile, optionally, post-processing filtering can be performed on the derived prediction sample.

[116] Specifically, the intra-prediction process may include an operation to determine an intra-prediction mode / type, an operation to derive a neighboring reference sample, and an operation to derive a prediction sample based on the intra-prediction mode / type. In addition, optionally, a post-processing filtering operation may be performed on the derived prediction sample.

[117] A modified reconstructed image can be generated through the loop filtering process. This modified reconstructed image can be output as a decoded image on the decoding apparatus and can also be stored in a decoded image buffer or in the memory of the encoding / decoding apparatus and used as a reference image in the intra-prediction process when the image is encoded / decoded at a later time. The loop filtering process can include an unlocking filtering process, a sample-adaptive shift (SAO) process, and / or an adaptive loop filter (ALE) process, as described above. In this case, one or some of the unlocking filtering, SAO, ALE, and bilateral filtering processes can be applied sequentially, or all of them can be applied sequentially.For example, the SAO process can be carried out after applying the. ML / E / ZuZZ / uOΊ OOZ unlocking filtering process to the reconstructed image. Alternatively, for example, the ALF process can be carried out after applying the unlocking filtering process to the reconstructed image. This can also be carried out in the encoding apparatus.

[118] Unblocking filtering is a filtering technique that removes distortion that occurs at the boundaries between blocks in the reconstructed image. The unblocking filtering process can, for example, derive a target boundary in the reconstructed image, determine a boundary intensity (bS) for the target boundary, and perform unblocking filtering on the target boundary based on the bS. The bS can be determined based on a prediction mode, a motion vector difference, whether the reference images are identical, whether there is a significant non-zero coefficient, etc., between two blocks adjacent to the target boundary.

[119] SAO is a method where a difference in compensation between the reconstructed image and the original image is compensated for based on a sample. For example, SAO can be applied based on a type such as band shift, edge shift, or similar. According to SAO, samples can be classified into different categories according to each type of SAO, and a compensation value can be added to each sample, according to the ML / E / ZuZZ / uOΊ OOZ category. Filtering information for SAO may include information about whether SAO is applied, SAO type information, SAO compensation value information, or similar. SAO can be applied to the reconstructed image after applying the unlock filtering.

[120] ALF is a technique for filtering the reconstructed image on a sample basis, using filter coefficients according to a filter shape. The encoder can determine whether ALF is applied, an ALF shape, and / or an ALF filter coefficient or similar by comparing the reconstructed image and the original image, and can signal the result of this determination to the decoder. That is, the filtering information for ALF can include information about whether ALF is applied, information about the ALF filter shape, information about the ALF filter coefficient, or similar. ALF can be applied to the reconstructed image after the unblocking filter has been applied.

[121] Figure 5 is a flowchart illustrating a filter-based coding method in a coding apparatus. The method in Figure 5 may include steps S500 to S530.

[122] In step S500, the encoding apparatus can generate a reconstructed image. Step S500 can be carried out based on the reconstructed image (or reconstructed sample) generation process mentioned above. ΜΛ / Ε / ΖυΖΖ / υΟΊ OOZ previously .

[123] In step S510, the encoding apparatus can determine whether loop filtering is applied (through a virtual boundary) based on loop filtering-related information. Here, loop filtering can include at least one of the unlock, SAO, and ALF filters mentioned above.

[124] In step S520, the encoding apparatus can generate a modified reconstructed image (modified reconstructed samples) based on the determination in step S510. Here, the modified reconstructed image (modified reconstructed samples) can be a filtered reconstructed image (filtered reconstructed samples).

[125] In step S530, the encoding apparatus can encode image / video information that includes loop filtering-related information, based on the loop filtering process.

[126] Figure 6 is a flowchart illustrating a filter-based decoding method in a decoding apparatus. The method in Figure 6 may include steps S600 to S630.

[127] In step S600, the decoding apparatus can obtain image / video information, including loop-filtering information, from a bitstream. Here, the bitstream can be based on information from ML / E / ZuZZ / uOZ OOZ coded images / video transmitted from the encoding apparatus.

[128] In step S610, the decoding apparatus can generate a reconstructed image. Step S610 can be performed based on the aforementioned reconstructed image (or reconstructed samples).

[129] In step S620, the decoding apparatus can determine whether loop filtering is applied (through a virtual boundary) based on loop filtering information. Here, loop filtering can include at least one of the unlock filters, SAO and ALF mentioned above.

[130] In step S630, the decoding apparatus can generate a modified reconstructed image (modified reconstructed samples) based on the determination in step S620. Here, the modified reconstructed image (modified reconstructed samples) can be a filtered reconstructed image (filtered reconstructed samples).

[131] As described above, the loop filtering process can be applied to the reconstructed image. In this case, a virtual boundary can be defined to further improve the subjective / objective visual quality of the reconstructed image, and the loop filtering process can be applied across the virtual boundary. The virtual boundary can include, for example, a discontinuous edge such as a 360° image. ML / E / ZuZZ / uOΊ OOZ degrees, a virtual reality image, a boundary, a picture-in-picture (PIP), or similar. For example, the virtual boundary may be present in a predetermined location, and its presence and / or location may be signaled. For example, the virtual boundary may be located on the top fourth sample line of a CTU row (specifically, for example, above the top fourth sample of the CTU row). As another example, information about the presence and / or location of the virtual boundary may be signaled through HLS. The HLS may include the SPS, PPS, picture header, segment header, or similar, as described above.

[132] From here on, high-level syntax and semantics signaling will be described in accordance with the modalities of the present description.

[133] One embodiment of this document may include a method for controlling loop filters. This method for controlling loop filters may be applied to a reconstructed image. Loop filters may be used to decode encoded bitstreams. Loop filters may include the previously mentioned unlocking, SAO, and ALE. The SPS may include indicators related to each of the unlocking, SAO, and ALE methods. The indicators may show whether each of the tools is available for encoding a video sequence of ΜΛ / Ε / ΖυΖΖ / υΟΊ OOZ coded layer (CLVS) or a coded video sequence (CVS) with reference to the SPS.

[134] In one example, when loop filters are enabled for image encoding in CVS, the application of the loop filters can be controlled so that they do not cross specific boundaries. For example, loop filters can be controlled so that they do not cross sub-image boundaries, tile boundaries, sector boundaries, and / or virtual boundaries.

[135] Loop filtering information may include information, syntax, syntax elements, and / or semantics described herein (or implementations included herein). Loop filtering information may include information regarding whether (all or part of) a loop filtering process is enabled through specific boundaries (for example, a virtual boundary, a sub-image boundary, a segment boundary, and / or a tile boundary). Image information included in a bitstream may include high-level syntax (HLS), and the HLS may include loop filtering information. Modified (or filtered) reconstructed samples (reconstructed images) may be generated based on ML / E / ZuZZ / uOΊ OOZ determines whether the loop filtering process is applied across specific boundaries. In one example, when the loop filtering process is disabled for all blocks / boundaries, the modified reconstructed samples may be identical to the reconstructed samples. In another example, the modified reconstructed samples may include modified reconstructed samples derived based on loop filtering. However, in this case, some of the reconstructed samples (e.g., samples reconstructed across virtual boundaries) may not be filtered in the loop according to the aforementioned determination.For example, samples reconstructed along a specific boundary (at least one of the virtual boundary, subimage boundary, segment boundary, and / or mosaic boundary for which loop filtering is enabled) can be loop filtered, but samples reconstructed at other boundaries (for example, a virtual boundary, a subimage boundary, a segment boundary, and / or a mosaic boundary for which loop filtering is disabled) cannot be loop filtered.

[136] In one example, with respect to whether the loop filtering process is performed through the virtual boundary, the information related to loop filtering may include an SPS virtual boundary presence indicator, a header virtual boundary presence indicator of ML / E / ZuZZ / uOZ OOZ image, information on the number of virtual boundaries, information on the positions of virtual boundaries, or the like.

[137] In modalities included herein, information on the position of virtual boundaries may include information on an x-coordinate of a vertical virtual boundary and / or information on a y-coordinate of a horizontal virtual boundary. Specifically, information on the position of virtual boundaries may include information on the x-coordinate of the vertical virtual boundary and / or information on the y-axis of the horizontal virtual boundary in units of luma samples. In addition, information on the position of virtual boundaries may include information on the number of pieces of information (syntax elements) in the x-coordinate of the vertical virtual boundary that is present in the SPS.Additionally, information about the position of virtual boundaries can include information about the number of pieces of information (syntax elements) at the y-coordinate of the horizontal virtual boundary present in the SPS. Alternatively, information about the position of virtual boundaries can include information about the number of pieces of information (syntax elements) at the x-coordinate of the vertical virtual boundary present in an image header. Furthermore, information about the position of virtual boundaries can include information about the number of pieces of information. MA / E / ZUZZ / UOl OOZ (syntax elements) at the y coordinate of the horizontal virtual boundary that is present in the image header.

[138] The following tables show an exemplary syntax and semantics of an SPS in accordance with the present modality. ivia / t / zuzz / uo i ooz

[139] Table 1 scq_parainctcr_sct_rbsp() ¡ Descriptor su bpics_prcsent_flag u( 1) if( subpicsprcscntflag ) ¡ sps_nu m_subpics_m inu s 1 u(8) for( i = 0: i <= spsnuinsubpicsjniniisl: i++ ) ¡ subpic_ctu_top_lcft_x| i | u(v) subpic_ctu_top_left_y| i | u(v) subpic_width_minusl| i | U(V) subpic_height_minus1| i | u(v) subpic_treated_as_pic_flag| i ] u( 1) loop_filter_across_subpic_enabled_flag| i | u(l) » sps_sao_enabled_flag u( 1) sps_alf_enablcd_flag u(l) spsloopfilteracrossvirtualboundariesdisabledpresentflag u(l) if( sps_loop_filter_across_\ irtiial boiindarics disabled prcscnt flag ) { spsnumvervirtualboundaries u(2) for( i = 0; i < spsnunivcrvirtualboundaries: i++ ) spsvirtualboundaries_pos_x| i | u(13) sps_num_hor_virtual_boundaries u(2) for( i = 0: i < sps iunn hor virtual boundarics: i++ ) sps virtual boundaries pos y| i | u(13) » ) »

[140] Tabla 2 subpics_present flag igual a 1 especifica que los parámetros de subimagen están presentes en la sintaxis SPS RBSP. The `subpics_present` flag equal to 0 specifies that subpics parameters are not present in the SPS RBSP syntax. spsnumsubpicsminusl plus 1 specifies the number of sub-images; spsnumsubpicsminusl must be in the range of 0 to 254. When not present, it is inferred that the value of sps num subpics minusl is equal to 0. `subpic ctu top left_x[ i ]` specifies the horizontal position of the top-left CTU of the i-th subimage at the boundary of `CtbSizeY`. The length of the syntax element is `Ceil( Log2( pic width max in luma samples / CtbSizeY))` bits. When not present, the value of `subpic ctutopleft x[ i ]` is inferred to be 0. `subpic ctu top left_y[ i ]` specifies the vertical position of the top-left CTU of the i-th subimage in units of CtbSizeY. The length of the syntax element is `Ceil( Log2( pic height max in luma samples / CtbSizeY ))` bits. When not present, the value of `subpic ctu top left_y[ i ]` is inferred to be 0. `subpicwidthminusl[i]` plus 1 specifies the width of the i-th sub-image in units of CtbSizeY. The length of the syntax element is Ceil(Log2(pie widthmaxinJuma samples / CtbSizeY)) bits. When not present, it is inferred that the value of `subpic width minusl[i]` is equal to Ceil(maximum image width in luminance samples / CtbSizeY) - 1. `sub_pic_height_minusl[i]` plus 1 specifies the height of the i-th sub-image in units of CtbSizeY. The length of the syntax element is Ceil(Log2(pic height max in luma samples / CtbSizeY)) bits. When not present, it is inferred that the value of `subpic height minusl[i]` is equal to Ceil(pic height max in luma samples / CtbSizeY) - 1. subpic treat as pie flag[ i ] equal to 1 specifies that the i-th subpic of each image encoded in the CL VS is treated as an image in the decoding process, excluding loop filtering operations. `subpic_treat_as_pic_flag[i]` equal to 0 specifies that the i-th subpic of each image encoded in the CL VS is not treated as an image in the decoding process, excluding loop filtering operations. When not present, it is inferred that the value of `subpic_covered_as_pic_flag[i]` is 0. `loop filter across subpic enabled flag[i]` equal to 1 specifies that loop filtering operations can be performed across the boundaries of the i-th subpic in each image encoded in the CLVS. `loop filter across subpic enabled flag[i]` equal to 0 specifies that loop filtering operations are not performed across the boundaries of the i-th subpic in each image encoded in the CLVS. When not present, it is inferred that the value of `loop_filter_across_subpic_enabled_pic_flag[i]` is 1. The `sps loop_filter_across_virtual_boundaries_disabled_present` flag, set to 1, specifies that loop filtering operations are disabled across virtual boundaries on images that reference the SPS. The `sps loop_filter_across_virtual_boundaries_disabled_present` flag, set to 0, specifies that no such disabling of loop filtering operations is applied to images that reference the SPS. Loop filtering operations include the unlock filter, the sample adaptive offset filter, and adaptive loop filter operations. sps sao enabled flag equal to 1 specifies that the sample adaptive shifting process is applied to the reconstructed image after the unlock filter process; sps sao enabled flag equal to 0 specifies that the sample adaptive shifting process is not applied to the reconstructed image after the unlock filter process. sps alf enabled flag equal to 0 specifies that the adaptive loop filter is disabled. sps alf enabled flag equal to 1 specifies that the adaptive loop filter is enabled. sps num ver virtual boundaries specifies the number of sps_virtual_boundaries_pos_x[ i ] syntax elements that are present in the SPS. When sps num ver virtual boundaries is not present, it is inferred to be equal to 0. sps_virtual_boundaries_pos_x[ i ] is used to calculate the value of VirtualBoundariesPosX[ i ], which specifies the location of the i-th vertical virtual boundary in luma sample units. The value of sps virtualboundariesposx[ i ] must be in the range of 1 to Ceil( pie width in luma samples + 8)-1, inclusive. spsnumhorvirtualboundaries specifies the number of sps virtual boundaries pos y[ i ] syntax elements present in the SPS. When sps num hor virtual boundaries ivia / t / zuzz / uo i ooz is not present, it is inferred to be equal to 0. sps_virtual_boundaries_pos_y[ i ] is used to calculate the value of VirtualBoundariesPosY[ i ], which specifies the location of the i-th horizontal virtual boundary in luma sample units. The value of sps_virtual_boundaries_pos_y[ i ] will be in the range of 1 to Ceil( pie height in luma samples + 8)-1, inclusive.

[141] The following tables show an exemplary syntax and semantics of an image parameter set (PPS) in accordance with the present modality. ivia / t / zuzz / uo i ooz

[142] Table 3 pic paramctcr sct rbspí) in Descriptor nopicpartitionflag u(l) if( !no_pic_partition_nag) ! Ioo])_filter_across_tilcs_enabled_flag u(D loop_filtcr_across_sliccs_cnabled_flag u(l) 1 1 dcblocking^filtcr contiOl present flag u(l) if( dcblockingfiltcrcontrolprcscntflag) í deblocking_fllter_overridc_cnablcd_flag u(D pps_deblocking_filter_disabled_flag u(l) if( ípps deblocking filter disabled ílag ) { pp s_beta_offsctdh 2 sc(v) pps_tc_offset_dn 2 sc(v) 1 ) »

[143] Table 4 ΜΛ / Ε / ΖυΖΖ / υΟΊ OOZ no_pic_partition_flag equal to 1 specifies that no image partition was applied to each image that references the PPS. no_pic_partition_flag equal to 0 specifies that each image that references the PPS can be divided into more than one tile or segment. `loop_filter_across_tiles_enabled_flag` equal to 1 specifies that loop filtering operations can be performed across tile boundaries on images that reference the PPS. `loop_filter_across_tiles_enabled_flag` equal to 0 specifies that loop filtering operations are not performed across tile boundaries on images that reference the PPS. Loop filtering operations include the unlock filter, the adaptive sample offset filter, and adaptive loop filter operations. `loop_filter_across_slices_enabled_flag` equal to 1 specifies that loop filtering operations can be performed across segment boundaries in images that reference the PPS. `loop_filter_across_slice_enabled_flag` equal to 0 specifies that loop filtering operations are not performed across segment boundaries in images that reference the PPS. Loop filtering operations include the unblocking filter, the sample adaptive offset filter, and adaptive loop filter operations. `deblocking_filter_control_present_flag` equal to 1 specifies the presence of unblocking filter control syntax elements in the PPS. `deblocking_filter_control_present_flag` equal to 0 specifies the absence of unblocking filter control syntax elements in the PPS. deblockmg_filter_override_enabled_flag equal to 1 specifies the presence of pic_deblocking_filter_override_flag in the PHs that refer to the PPS or slice_deblocking_filter_override_flag in the segment headers that refer to the tire PPS. `deblockin_filter_override_enabled_ilag` equal to 0 specifies the absence of `pic_deblocking_filter_override_flag` in PHs that refer to the PPS or `slice_deblocking_filter_override_flag` in segment headers that refer to the tire PPS. When it is not present, it is inferred that the value of `deblockmg_filter_override_enabled_flag` is equal to 0. pps_deblocking_filter_disabled_flag equal to 1 specifies that the deblocking filter operation does not apply to PPS-referring slices where slice_deblocking_filter_disabled_flag is not present. pps_deblocking_filter_disabled_flag equal to 0 specifies that the tire deblocking filter operation is applied to segments that reference the PPS where slice_deblocking_filter_disabled_flag is not present. When it is not present, it is inferred that the value of pps_deblocking_filter_disabled_flag is equal to 0. `pps_beta_offset_div2` and `pps_tc_offset_div2` specify the default unlock parameter offsets for β and tC (divided by 2) that apply to sectors referencing the PPS, unless the default unlock parameter offsets are overridden by unlock parameter offsets present in the sector headers of sectors referencing the PPS. The values ​​of `pps_beta_offset_div2` and `pps_tc_offset_div2` will both be in the range of -6 to 6, inclusive. When not present, the values ​​of `pps_beta_offset_div2` and `pps_tc_offset_div2` are assumed to be 0.

[144] The following tables show an example syntax and semantics of an image header according to the present modality.

[145] Table 5 ML / E / ZuZZ / uOO OOZ picUire header rbspt ) ¡ Descriptor if( 'sps loop rilter aciOss v irtual_bOundanes_disabled_prcscnt_nag ) ¡ ph_loop_filter_across_virtual_boundaries_disabled_prescnt_flag u( 1) if( ph_l <h>p_t^ei_acioss_virtual_boundanes_disabled_piesent_flag ) ¡ ph_num_ver_virtual_boundaries u(2) lbr( i =0; i < ph juimp erpirtual Jxnindaries'. i++ ) ph_virtual_l»oundaries_pos_x| i | u( 13) ph_num_hor_virtual_boundarics u(2) for( i = 0; i < phjnini_hor_virtiial_boundaries: i++ ) ph_virtual_boundaries_pos_y| i | u(l3) J J if( sps_sao_enabled_flag ) í pic_sao_enabled_present_flaj» u(l) il( picsaocnablcdpicscntllag ) ¡ pic_sao_lunia_enabled_naí> u( 1) il(ChroinaAiTav'l\pc '= 0 ) pic_sao_chroma_enabled_flag u( 1) J J if( spsall’enabledflag ) ¡ pic_alf_enabled_present_flag u( 1) if( picjdfgnuMcd_prescnt_ilag ) ! pic_alf_enabled_f1ag u( 11 il( pic_air_cnablcd_ilag) ¡ pic_num_alf_aps_ids_luma u(3) lbr| i = 0; i < pic_nuni_alf_aps_ids_)unia. i++ ) pic_alf_aps_id_luma| i | u(3) if( ChromaAiTay íy|x; '= 0 ) pic_alf_chroma_idc ti(2) if( pic all / chronia jdc ) pic_alf_aps_id_chroma u(3) > J J

[146] iH debkKking_filter_override_enabled_flag ) 1 pic_deblocking_filter_override_prcsent_flag u( 1) if( pic_debk>cking_filler_override_presenl_fkig ) ¡ pic_deblocking_filteroverrideflag u( 1) pic_deblocking pic_deblocking_filler_d!sabled_flag u( 1) if( !pic_deblocking_filter_disabled_flag ) ! picbetaoffsetdh 2 se(v) pie tc offset dn 2 se(v) > 1 ) » ΜΛ / Ε / ΖυΖΖ / υΟΊ OOZ

[147] Table 6 ph_loop_filter_across_virtual_boundaries_disabled_present_flag equal to 1 specifies that loop filtering operations are disabled across virtual boundaries in images associated with the PH. ph loop filter across virtual boundaries disabled presents the indicator equal to 0 specifies that the loop is not disabled Filtering operations are applied to images associated with the PH. Loop filtering operations include the unlock filter, the adaptive sample shift filter, and adaptive loop filter operations. phnumvervirtualboundaries specifies the number of ph_virtual_boundaries_pos_x[ i ] syntax elements that are present in the PH. ph_virtual_boundaries_pos_x[i] is used to calculate the value of VirtualBoundariesPosX[i], which specifies the location of the i-th vertical virtual boundary in luma sample units. The value of ph_virtual_boundaries_pos_x[i] will be in the range of 1 to Ceil(picwidthinlumasamples 8) - 1, inclusive. ph num hor virtual boundaries specifies the number of ph virtual boundaries_pos_y [ i ] syntax elements that are present in the PH. ph_virtual_boundaries_pos_y[i] is used to calculate the value of VirtualBoundariesPosY[i], which specifies the location of the i-th horizontal virtual boundary in luma sample units. The value of ph_virtual_boundaries_pos_y[i] will be in the range of 1 to Ceil(picheightinlumasamples + 8)-1, inclusive. pic_sao_enabled_present_flag equal to 1 specifies that picsaolumaflag and picsaochromatlag are present in the PH. pic_sao_enabled_present_flag equal to 0 specifies that pic sao luma flag and pic sao chroma flag are not present in the PH. When pic_sao_enabled_present_flag is not present, it is inferred to be equal to 0. picsaolumaenabledflag equal to 1 specifies that SAO is enabled for the luma component in all segments associated with the PH; pic sao luma enabled flag equal to 0 specifies that SAO for the luma component can be disabled for one, more, or all sectors associated with the PH. picsaochromaenabledflag equal to 1 specifies that SAO is enabled for the chroma component in all segments associated with PH; pic sao chroma enabled flag equal to 0 specifies that SAO for the chroma component can be disabled for one, more, or all segments associated with PH. `pie alfenabled presentflag` equals 1 and specifies that `pie alf enabled flag`, `pie num alf aps idsluma`, `pic_alf_aps_id_luma[ i ]`, `pic alf chroma idc`, and `pic alf aps id chroma` are present in the PH. `pie alf enabled present flag` equals 0 and specifies that `pie alf enabled flag`, `pie num alf aps ids luma`,

[148] pic_alf_aps_id_luma[ i ], pic_alf_chroma_idc and picalfapsidchroma are not present in the PH. When pic_alf_enabledjpresent_flag is not present, it is inferred to be equal to 0. The enabled pic_alf flag of 1 specifies that the adaptive loop filter is enabled for all sectors associated with pH and can be applied to the Y, Cb, or Cr color component in those sectors. A pic_alf_enabled_flag of 0 specifies that the adaptive loop filter can be disabled for one, more, or all of the segments associated with pH. When not present, it is inferred that pic_alf_cnablcd_flag is 0. pic_num_alf_aps_ids luma specifies the number of ALF APSs to which the die piece associated with the PH refers. pic_alf_aps_id_luma[ i ] specifies the adantation parameter set id of the i-di ALF APS to which the luma component of the cuts associated with the PH refers. The value of alfjuma_filter_signal_flag of the APS NAL unit that has aps_params_type equal to ALF_APS and adaptation_parameter_set_id equal to pic_alf_aps_id_luma[ i ] will be equal to 1. `pic_alf_chroma_idc` equal to 0 specifies that the adaptive loop filter is not applied to the Cb and Cr color components. `pic_alf_chroma_idc` equal to 1 indicates that the adaptive loop filter is applied to the Cb color component. `pic_alf_chroma_idc` equal to 2 indicates that the adaptive loop filter is applied to the Cr color component. `pic_alf_chroma_idc` equal to 3 indicates that the adaptive loop filter is applied to both the Cb and Cr color components. When `pic_alf_chroma_idc` is not present, it is inferred to be equal to 0. pic_alf_aps_id_chroma specifies the adapt_parameter_set_id of the ALF APS to which the chromatic component of the cuts associated with the PH refers. A `pic_deblocking_filter_override_present_flag` equal to 1 specifies that the `pic_deblocking_filter_override_flag` is present in the PH. A `pic_deblocking_filter_override_present_flag` equal to 0 specifies that the `pic_deblocking_filter_override_flag` is not present in the PH. When `pic_deblocking_filter_override_present_flag` is not present, it is inferred to be 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 it is not present, it is inferred that the value of `pic_deblocking_filter_override_flag` is equal to 0. The `pic_deblocking_filter_disabled_flag` flag set to 1 specifies that the deblocking filter operation is not applied to the segments associated with the PH. The `pie deblocking filter disabled` flag set to 0 specifies that the deblocking filter operation is applied to the segments associated with the PH. When `pic_deblocking_filter_disabled_flag` is not present, it is inferred to be the same as the disabled flag for the PPS deblocking filter. `pic_beta_offset_div2` and `pic_tc_offset_div2` specify the unlock parameter offsets for β and tC (divided by 2) for the segments associated with the PH. The values ​​of `pic_beta_offset_div2` and `pic_tc_offset_div2` will both be in the range of -6 to 6, inclusive. When not present, it is inferred that the values ​​of `pic_beta_offset_div2` and `pic_tc_offset_div2` are equal to `pps_beta_offset_div2` and `pps_tc_offset_div2`, respectively.

[149] The following tables show an example syntax and semantics of a segment header according to the present modality. ML / E / ZuZZ / uOO OOZ

[150] Table 7 Μ Λ / t / ZUZZ / UO Ί ΟΟΖ slicc hcadcr() ί Descriptor if( pps_cu_chroina_qp_orfsct_lisl_cnablcd_nag ) cu_chroma_qp_offset_enabled_tlag u( 1) if( spssaocnablcdflag && !pic_sao_cnablcd_prcscnt_flag ) ( slicc saoJuma flag u(D if( ChromaArrayTypc != 0 ) s 1 ic es ao_c h ιό m a_fl ag u(l) J if( spsalfcnablcdflag && !pic_alf_cnablcd_prcscnt_flag ) ! slicealfenabled flag u( 1) if( sliccalfcnablcdflag) ¡ slice_num_alf_aps_ids_luma u(3) for( i = 0; i < slicc nuni alf aps idsJuma: i+- ) slicealfapsid luma| i | u(3) if( ChromaArrayTypc != 0 ) slice_alf_chiOmaJdc u(2) if( slicc alf chroma idc ) slice alf aps id chroma u(3) » í if( dcblocking fillcr ovcrridc cnablcd flag && !pic_deblocking_rilter_overridc_prcscnt_flag) slicc_deblocking_filter_override_flag u(D if( slicc dcblocking filtcr ovcrridc flag ) j slicc_deblocking_filtcr_disablcd_flag u(l) if( !slicc_dcblocking_filtcr_disablcd_nag) í slice beta offset dh 2 sc(v) s 1 icetcoffsetd i v 2 sc(\) t )

[151] Table 8 ivia / t / zuzz / uo i ooz cuchromaqpoffsetenabledflag equal to 1 specifies that cuchromaqpoffsetflag may be present in the palette encoding syntax and transformation boundary; cuchromaqpoffsetenabledflag equal to 0 specifies that cuchromaqpoffsetflag is not present in the palette encoding syntax or transformation unit. When not present, it is inferred that the value of the enabled offset flag cu_chroma_qp is equal to 0. slicesaolumaflag equal to 1 specifies that SAO is enabled for the luma component in the current segment; The `slice sao luma flag` flag set to 0 specifies that SAO is disabled for the luma component in the current slice. When the `slice sao luma flag` flag is not present, it is inferred to be equal to `picsaolumaenabledflag`. slice sao chromaflag equal to 1 specifies that SAO is enabled for the chroma component in the current segment; A `slicesaochromaflag` equal to 0 specifies that SAO is disabled for the chroma component in the current segment. When `slice sao chroma flag` is not present, it is inferred to be equal to `pie sao chroma enabled flag`. `slicealfenabledflag` equal to 1 specifies that the adaptive loop filter is enabled and can be applied to the Y, Cb, or Cr color component in a segment. `slicealf enabled flag` equal to 0 specifies that the adaptive loop filter is disabled for all color components in a segment. When not present, it is assumed that the value of `slicealf enabled flag` is equal to `picalf enabled flag`. slicenumalfapsidsluma specifies the number of APS ALFs referenced by the segment. When slice alf enabled flag is equal to 1 and slice num alf aps ids luma is not present, it follows that the value of slice num alf aps ids luma is equal to the value of pic num alf aps ids luma. `slice_alf_aps_id_luma[i]` specifies the `adapt_parameter_set_id` of the i-th ALFAPS referenced by the luma component of the segment. The Temporalld of the APS NAL unit that has `aps params type` equal to `ALFAPS` and `adapt_parameter_set_id` equal to `slice_alf_aps_id_luma[i]` must be less than or equal to the Temporalld of the encoded segment NAL unit. When the `slice alf enabled flag` is equal to 1 and `slice_alf_aps_id_luma[i]` is not present, it follows that the value of `slice_alf_aps_id_luma[i]` is equal to the value of `pic_alf_aps_id_luma[i]`. The value of alf luma filter signal flag of the APS NAL boundary that has aps_params_type equal to ALF APS and adaptation_parameter_set_id equal to slice_alf_aps_id_luma[ i ] will be equal to 1. slicealfchromaidc equal to 0 specifies that the adaptive loop filter is not applied to the Cb and Cr color components. slice alf chroma idc equal to 1 indicates that the adaptive loop filter is applied to the Cb color component. slice alf chroma idc equal to 2 indicates that the adaptive loop filter is applied to the Cr color component of luma. slice alf chroma idc equal to 3 indicates that the adaptive loop filter is applied to the Cb and Cr color components. When slice alf chroma idc is not present, it is inferred to be equal to pic alf chroma idc. `slicealfapsidchroma` specifies the `adapt_parameter_set_id` of the ALF APS to which the chroma component of the segment refers. The Temporalld of the APS NAL unit that has `aps_params_type` equal to `ALF APS` and `adapt_parameter_set_id` equal to `slice alf aps id chroma` will be less than or equal to the Temporalld of the encoded segment NAL unit. When `slicealfenabledflag` is equal to 1 and `slicealfa_ps_id_chroma` is not present, it follows that the value of `slicealfa_ps_id_chroma` is equal to the value of `pic_alf_aps_id_chroma`. The value of alf chroma ñlter signal flag of the APS NAL unit that has aps_params_type equal to ALF APS and adaptation_parameter_set_id equal to slice alf aps id chroma will be equal to 1. The `slice_deblocking_filter_override_flag` flag, set to 1, specifies that the deblocking parameters are present in the segment header. A `slice_deblocking_filter_override_flag` flag, set to 0, specifies that the deblocking parameters are not present in the segment header. When not present, the value of the `slice_deblocking_filter_override_flag` is assumed to be `pie_deblocking_filter_override_flag`. `slice_deblocking_filter_disabled_flag` equal to 1 specifies that the deblocking filter operation is not applied to the current segment. `slice_deblocking_filter_disabled_flag` equal to 0 specifies that the deblocking filter operation is applied to the current segment. When the deblocking segment filter disable flag is not present, it is inferred to be equal to `pic_deblocking_filter_disabled_flag`. `slice_beta_offset_div2` and `slice_tc_offset_div2` specify the unlock parameter offsets for β and tC (divided by 2) for the current segment. The values ​​of `slice_beta_offset_div2` and `slice_tc_offset_div2` must be in the range of -6 to 6, inclusive. When they are not present, the values ​​of `slice_beta_offset_div2` and `slice_tc_offset_div2` are inferred to be equal to `pic_beta_offset_div2` and `pie_beta_offset_div2`, respectively.

[152] Next, we will describe the information related to sub-images, the information related to the virtual limits usable in loop filtering, and the signaling of the same.

[153] When there is no subimage that has boundaries treated as image boundaries, even if an image includes several subimages, the advantage of using the subimage cannot be used. In one embodiment of this document, the image / video information for image encoding may include information for treating a subimage as an image, which may be called an image handling flag (i.e., subpic_beat_as_pic_flag[i]).

[154] To signal a sub-image layout, an indicator (i.e., subpic present flag) is signaled relating to whether sub-images are present. This can be called the sub-image presence indicator. When the value of subpic present flag is 1, information (i.e., sps_num_subpics_minusl) relating to the number of sub-images to partition the image is signaled. In one example, the number of sub-images to partition the image might be equal to sps_num_subpics_minusl + 1 (1 is added to sps_num_subpics_minusl). The available values ​​of sps_num_subpics_minusl include 0, which means that only one sub-image can be present in the image. If the image includes only one sub-image, signaling information relating to the sub-image can be considered redundant since the sub-image itself is an image.

[155] In the existing mode, if the image includes only one sub-image and sub-image signaling is present, a value of the image handling flag (i.e., subpic_processed_as_pic_flag[i]) and / or a value of a flag (i.e., loop filter across subpic enabled flag) related to whether loop filtering is performed across sub-images can be either 0 or 1. Here, there is a problem in the case where the value of subpic_processed_as_pic_flag[i] is 0, as this is inconsistent with a case where the sub-image boundaries are image boundaries. This requires additional redundant processing in which a decoder is allowed to confirm that the image boundaries are the sub-image boundaries.

[156] When an image is generated based on a merging process of two or more sub-images, all sub-images used in the merging process will be independently encoded sub-images (a sub-image in which the value of the image handling flag (subpic_reated_as_pic_flag[i]) is 1). This is because, when merging a sub-image (referred to as 'first sub-image' in this paragraph) other than the independently encoded sub-image, the blocks of the first sub-image are encoded by referencing an existing reference block outside the first sub-image, which can cause a problem after merging.

[157] Furthermore, when the image is divided into sub-images, sub-image ID signaling may or may not be present. When sub-image ID signaling is present, it may be included in an SPS, a PPS, and / or an image header (PH). A case where sub-image ID signaling is not present in the SPS may include a case where a bit stream is generated as a result of a sub-image merging process. Consequently, it is preferable for all sub-images to be encoded independently when sub-image ID signaling is not included in the SPS.

[158] In an image encoding process where virtual boundaries are used, information about the positions of the virtual boundaries may be signaled in an SPS or an image header.The signaling of information about the positions of virtual boundaries in the SPS means that there is no change in positions throughout the CLVS. However, when reference image resampling (RPR) is enabled for CLVS, the images in CLVS may have changes. ML / E / ZuZZ / uOΊ OOZ different sizes. Here, RPR (also called adaptive resolution shifting (ARC)) is performed for normal image encoding operations involving images with different resolutions (spatial resolutions). For example, RPR can include upsampling and downsampling. High coding efficiency can be achieved by adapting a bit rate and spatial resolution through RPR. It is necessary to ensure that all virtual boundary positions are present in an image when considering RPR.

[159] In the existing ALF process, the exponential Golomb code of order k with k=3 is used to signal absolute values ​​of the ALF coefficients for luminance and chrominance. However, the exponential Golomb encoding of order k is problematic because it causes significant computational overhead and complexity.

[160] The modalities described below may propose solutions to the problem mentioned above. The modalities may be applied independently. Alternatively, at least two modalities may be applied in combination.

[161] In one embodiment of this document, when sub-image signaling is present and an image has only one sub-image, the single sub-image is an independently encoded sub-image. For example, when the image has ML / E / ZυZZ / υΟΊ OOZ only one sub-image, the single sub-image is an independently encoded sub-image, and the value of an image handling flag (i.e., subpic_processed_as_pic_flag[i]) for the single sub-image is 1. Consequently, redundant processing related to the sub-image can be omitted.

[162] In one embodiment of this document, when sub-image signaling is present, the number of sub-images can be greater than 1. In one example, if sub-image signaling is present (i.e., a value of subpics_present_flag is 1), the information about the number of sub-images (i.e., sps_num_subpics_minusl) can be greater than 0, and the number of sub-images can be sps_num_subpics_minusl + 1 (1 is added to sps_num_subpics_minusl). In another example, the information about the number of sub-images can be sps_num_subpics_minus2, and the number of sub-images can be sps_num_subpics_minus2 + 2 (2 is added to sps_num_subpics_minus2). In another example, a present sub-image indicator (subpics_present_flag) can be replaced with information about the number of sub-images (sps_num_subpics_minus1), and thus sub-image signaling can be present when sps num subpics minusl is greater than 0.

[163] In one modality of this document, when an image is divided into sub-images, at least one sub-image among the ML / E / ZuZZ / uOZ OOZ subimages can be an independently encoded subimage. In this document, a value of an image handling indicator (i.e., subimage_treated_as_image_indicator[i]) for the independently encoded subimage can be 1.

[164] In one modality of this document, the sub-images of an image based on a fusion process of two or more sub-images can be independently encoded sub-images.

[165] In one embodiment of this document, when the sub-image identification (ID) signaling is present in a position other than an SPS (different syntax, different high-level syntax information), all sub-images can be independently encoded sub-images, and a value of an image handling flag (i.e., subpic_processed_as_pic_flag) for all sub-images can be 1. In one example, the sub-image ID signaling may be present in a PPS, and in this case, all sub-images can be independently encoded sub-images. In another example, the sub-image ID signaling may be present in an image header, and in this case, all sub-images are independently encoded sub-images.

[166] In one form of this document, when the MA / E / ZUZZ / UOl OOZ virtual boundary signage is present in an SPS for CLVS and reference image resampling are enabled, all horizontal virtual boundary positions can be within a minimum image height of images that refer to the SPS, and all vertical virtual boundary positions can be within a minimum image width of images that refer to the SPS.

[167] In one modality of this document, when reference image resampling (RPR) is enabled, virtual boundary markers may be included in an image header. That is, when RPR is enabled, virtual boundary markers may not be included in the SPS.

[168] In one embodiment of this document, fixed-length coding (FLC) with the number of bits (or bit length) can be used to signal ALF data. In one example, information about the ALF data can include information about the bit length of an absolute value of an ALF luma coefficient (i.e., alf luma coeff abs len minusl) and / or information about the bit length of an absolute value of an ALF chroma coefficient (i.e., alf_chroma_coeff_abs_len_minus1). For example, information about the bit length of the absolute value of the ALF luma coefficient and / or information about the bit length of the absolute value of the ALF chroma coefficient can be encoded with ue(v). ivia / t / zuzz / uo i ooz

[169] The following table shows an exemplary syntax of SPS in accordance with the present modality.

[170] Table 9 seq_parameter_set_rbsp( ) ’ Descriptor s u bp ics_p resen t_fl ag u( 1) if( subpics_present_flag) ¡ sps_num_subpics_minus2 u(8) lor( i = 0: i <~ sps_nuin_subpics_niinus2 + L i++ ) | subpic_ctu_t<>p_left_x| i | U(v) subpic_ctu_top_left_y| i | u(\) subpic_width_minusl| i | U(V) subpic_height_minus1| i | U(V) subpic_treated_as_pic_flag| i | u(l) loop_filter_across_subpic_enabled_flag| i | u( 1) J J sps_subpic_id_present_flag u( 1) if( sps_subpics_id_present_ilag) í sps_subpic_id_signalling_present_flag u( 1) il'( sps_subpics_id_signalling_present_flag ) ¡ spssubpicidlenminusl uc( x) for( i = 0: i <= sps_num_subpics_minus L i++ ) sps subpic idl i | u(v) J J )

[171] La siguiente tabla muestra una semántica ejemplar de los elementos de sintaxis incluidos en la sintaxis.

[172] Table 10 sps_num_subpics_minus2 plus 2 specifies the number of sub-images. sps_num_subpics_minus2 must be in the range of 0 to 253. When it is not present, it is inferred that the value of sps num subpics minusl is equal to 1. `subpic_treated_as_pic_flag[i]` equal to 1 specifies that the i-th sub-image of each image encoded in the CL VS is treated as an image in the decoding process, excluding loop filtering operations. `subpic_treated_as_pic_flag[i]` equal to 0 specifies that the i-th sub-image of each image encoded in the CL VS is not treated as an image in the decoding process, excluding loop filtering operations. When not present, the value of `subpic_covered_as_pic_flag[i]` is inferred to be 0. It is a bitstream compliance constraint that there must be at least one value of subpic_covered_as_pic_flag[ i ] equal to 1. It is a bitstream compliance restriction that when sps subpic id present flag is equal to 1 and sps subpic id signalling present flag is equal to 0, the value of subpic_ treat as pie flag[ i ] for all subimages will be equal to 1.

[173] The following table shows an exemplary syntax of SPS in accordance with the present modality. ML / E / ZuZZ / uOO OOZ

[174] Table 11 seq_parameter_set_rbsp( ) ¡ Descriptor ref_pic_resampling_enabled_fla« u( 1) sps_loop_filter_across_virtual_boundaries_disabled_present_flag u(l) il'( sps_loop_filk:r_across_virtual_boiindarics_disabled_piesent_ilag ) | spsnumvervirtualboundaries u(2) lbr( i = 0: i < sps_num_\ er_\ irtual_boundaries; i++ ) sps_virtual_boundaries_pos_x| i | u(13) sps_num_horj irtual_boundaries u(2) ibr( i = 0: i < sps_nuin_hor_virtLial_boundaries·. i++ ) sps_virtual_boundaries_pos_y| i | u(13) > J

[175] The following table shows an exemplary semantics of the syntax elements included in the syntax. ML / E / ZuZZ / uOO OOZ

[176] Table 12 spsnumvervirtualboundaries specifies the number of sps_virtual_boundaries_pos_x[ i ] syntax elements that are present in the SPS. When spsnumvervirtualboundaries is not present, it is inferred to be equal to 0. spsvirtual_boundaries_posx[i] is used to calculate the value of VirtualBoundariesPosX[i], which specifies the location of the i-th vertical virtual boundary in luma sample units. The value of sps_virtual_boundaries_pos_x[i] will be in the range of 1 to Ceil(pic width max in luma samples -8)-1, inclusive. Let minPicWidthlnCL VS be the smallest value of picwidthinlumasamples in PPS that refer to SPS, it is a bistream conformance constraint that the value of spsvirtualboundaries_posx[ i ] for i in the range of 0 to sps num ver virtual boundaries - 1, inclusive, is less than or equal to Ceil( minPicWidthlnCL VS 8) - 1. spsnumhorvirtualboundaries specifies the number of sps_virtual_boundaries_pos_y[i] syntax elements that are present in the SPS. When spsnumhorvirtualboundaries is not present, it is inferred to be equal to 0. sps_virtual_boundaries_pos_v[ i ] is used to calculate the value of VirtualBoundariesPosY[ i ], which specifies the location of the i-th horizontal virtual boundary in luma sample units. The value of sps_virtual_boundaries_pos_y[ i ] will be in the range of 1 to Ceil( pic height max in luma samples 8 ) - 1, inclusive. Let minPicI leightlnCI.VS be the smallest value of pic height in luma samples in PPS that refer to the SPS, it is a two-stream conformity constraint that the value of sps virtual boundaries pos y[ i ] for i in the range of 0 to sps num hor virtual boundaries - 1, inclusive, is less than or equal to Ceil( minPicHeightlnCLVS 4-8)-1.

[177] The following table shows an exemplary syntax of ALF data according to the present modality.

[178] Table 13 ML / E / ZuZZ / uOO OOZ to f_give() ! Descriptor alflumafiltersignaMlag u( 1) alf_e h ro ni a_fl 1 te rs i gn altl ag u(l) il'( alf_liima_filtei_signal_llag ) ¡ alf_l u ni a_cl i p_tl ag u(l) alf_luma_num_num_filters ifl usignal airiumanunií'illcrssignallcdniinusl > 0 ) for( líltldx = 0: líltldx < NumAItlilters; líltldx++ ) alf_luma_coeff_delta_idx[ líltldx | U(v) lbr( slldx = 0; slldx <= all'_lunia_niim_riltcrs_signallcd_minusk slldx++ ) alf_luma_coeff_abs_len_minusl| sl ldx ] ue(v) lbr( j = 0: j < 12: j++ ) | alf_luma_coefT_abs| sfldx || j | U(v) if( alf_hinia_coetT_abs| sfldx ]| j |) alf_luma_coeff_sign| slldx || . | u(l) j if( alf_luma_clip_nag ) lbr( sfldx = 0: slldx <= alfjiimajiiim_lílters_signallcd_miniisl: sfldx++ ) lbr( j = 0: j < 12; j++ ) alf_luma_clip_idx| slldx || j | u(2) J if( alf_chronia_filtcr_signal_nag) ¡ alf_ch rom a_n u m_alt_filte rs_m in us 1 ue(v) lbr( allldx = 0.allldx <= alf_chroina_num_alt_filters_mnuis 1: altldx++) alf_chroma_clip_flag| altklx | u( 1) alf_chroma_coeff_abs_len_minusl| altklx | LIC(V) lbr( j = 0: j < 6; j++ ) ¡ alf_chroma_coeff_abs| allldx || j | U(x ) if( alf_chroma_coefl'_abs| allldx || j |>0 ) alf_chroma_coef't'_sign| allldx || j ] di) ) if( alf_chroma_clip_nag| allldx | ) ibr( j = 0: j < 6: j++ ) alf_chroma_clip_idx| allldx || j | u(2) J t.

[179] The following table shows an exemplary semantics of the syntax elements included in the syntax.

[180] Table 14 alf_luma_coefT_abs_len_minusl[ sfldx ] plus 1 specifies the number of bits used to represent the syntax element alf_luma_coeff_abs[ sfldx ][ j ]. The value of alf luma abs len minusl will be in the range of 0 to 15, inclusive. alf luma coeff_abs[ sfldx ][ j ] specifies the absolute value of the j-th coefficient of the signaled luma filter indicated by sfldx. When alf_luma_coeff_abs[ sfldx 1 [ j ] is not present, it is inferred to be equal to 0. alf chroma coeff abs len minusl[ altldx ] plus 1 specifies the number of bits used to represent the syntax element alf_chroma_coeff_abs[ altldx ][ j ]. The value of alfchromaabslenminusl will be in the range of 0 to 15, inclusive. alf chroma coeff abs[ altldx ][ j ] specifies the absolute value of the j-th chrominance filter coefficient for the alternative chroma filter with index altldx. When alf chroma coeff abs[ altldx ] [ j ] is not present, it is inferred to be equal to 0.

[181] According to the modalities described in this document along with the tables above, through image encoding based on sub-images and / or virtual boundaries, the subjective / objective image quality can be improved, and there may be a decrease in the consumption of hardware resources required for encoding.

[182] Figure 7 and Figure 8 schematically show an example of a video / image coding method and 10 related components according to the modality(ies) of this document.

[183] ​​The method described in Figure 7 can be carried out by the encoding apparatus described in Figure 2 or Figure 8. Specifically, for example, S700 and S730 of Figure 7 can be carried out by a predictor 220 of the encoding apparatus in Figure 8, S710 and S720 of Figure 7 can be carried out by a residual processor ML / E / ZuZZ / uOO OOZ S740 of Figure 7, S730 of the encoding apparatus in Figure 8, and S750 of Figure 7 can be implemented by a filter 260 of the encoding apparatus in Figure 8, and S750 of Figure 7 can be implemented by an entropy encoder 240 of the encoding apparatus in Figure 8. Furthermore, although not shown in Figure 7, the predictor 220 of the encoding apparatus in Figure 7, and the entropy encoder 240 of the encoding apparatus, can generate a bitstream from residual information or information related to the prediction. The method described in Figure 7 can include the modalities mentioned above in this document.

[184] Referring to Figure 7, the encoding apparatus can derive at least one reference image (S700). The encoding apparatus can perform a prediction process based on at least one reference image. Specifically, the encoding apparatus can derive prediction samples for the current blocks based on a prediction mode. In this case, various prediction methods described herein can be applied, such as inter-prediction or intra-prediction. The encoding apparatus can generate prediction samples for the current block in the current image based on the prediction process. For example, the encoding apparatus can perform an inter-prediction process based on at least one image of ML / E / ZuZZ / uOZ reference, and can generate prediction samples, based on the Interprediction process.

[185] The encoding apparatus can generate / derive residual samples (S710). The encoding apparatus can derive residual samples for a current block, and the residual samples for the current block can be derived based on original samples and prediction samples of the current block. Specifically, the encoding apparatus can generate the residual samples based on at least one reference image from step S700. For example, the encoding apparatus can generate the prediction samples for the current block based on at least one reference image, and it can generate the residual samples based on the prediction samples.

[186] The encoding apparatus can derive transformation coefficients. The encoding apparatus can derive the transformation coefficients based on a transformation process for the residual samples. For example, the transformation process may include at least a discrete cosine transform (DCT), a discrete sine transform (DST), a graph-based transform (GBT), and a conditionally nonlinear transform (CNT).

[187] The coding apparatus can obtain quantized transformation coefficients. The coding apparatus can derive the transformation coefficients. ML / E / ZuZZ / uOZ quantized, based on a quantization process for the transformation coefficients. The quantized transformation coefficients can have a one-dimensional vector form, based on a coefficient scan order.

[188] The encoding apparatus can generate residual information (S710). The encoding apparatus can generate residual information based on the transformation coefficients. The encoding apparatus can generate residual information indicating the quantified transformation coefficients. The residual information can be generated through various encoding methods such as exponential Golomb, CAVLC, CABAC, or similar methods.

[189] The encoding apparatus can generate reconstructed samples. The encoding apparatus can generate the reconstructed samples based on the residual information. The reconstructed samples can be generated by adding the prediction sample and the residual samples based on the residual information. Specifically, the encoding apparatus can perform a prediction (intra- or inter-prediction) on the current block and can generate reconstructed samples based on the original samples and the prediction samples generated from the prediction.

[190] Reconstructed samples may include reconstructed luma samples and reconstructed chroma samples. MA / E / ZUZZ / UOl OOZ Specifically, residual samples can include residual luma samples and residual chroma samples. Residual luma samples can be generated based on original luma samples and prediction luma samples. Residual chroma samples can be generated based on original chroma samples and prediction chroma samples. The coding apparatus can obtain transformation coefficients for residual luma samples (luma transformation coefficients) and / or transformation coefficients for residual chroma samples (chroma transformation coefficients). Quantified transformation coefficients can include quantified luma transformation coefficients and / or quantified chroma transformation coefficients.

[191] The encoding apparatus can generate reference image-related information (S730). The encoding apparatus can generate reference image-related information based on at least one reference image. The reference image-related information can be used for interprediction by the decoding apparatus.

[192] The encoding apparatus can generate information related to loop filtering for the reconstructed samples (S740). The encoding apparatus can perform a loop filtering process on the samples ML / E / ZuZZ / uOΊ OOZ are reconstructed and can generate information related to loop filtering, based on the loop filtering process. For example, information related to loop filtering can include the information mentioned above about virtual boundaries (the SPS virtual boundaries enabled indicator, the image header virtual boundaries enabled indicator, the SPS virtual boundaries present indicator, the image header virtual boundaries present indicator, information about the positions of the virtual boundaries, etc.).

[193] The encoding device can encode video / image information (S750). Image information may include residual information, prediction-related information, reference image-related information, virtual boundary-related information (and / or additional virtual boundary-related information), and / or loop-filtering-related information. The encoded video / image information may be output as a bitstream. The bitstream may be transmitted to a decoding device via a network or storage medium.

[194] Image / video information may include a variety of information according to a modality of this document. For example, the image / video may include information disclosed in at least one of the tables 1 to ivia / t / zuzz / uo i ooz above.

[195] In one mode, the image information may include a sequence parameter set (SPS). For example, whether the SPS includes additional virtual boundary information can be determined based on whether resampling is enabled for at least one reference image. Here, resampling of at least one reference image can be performed according to the reference image resampling (RPR) mentioned above. The additional virtual boundary information may also be referred to simply as virtual boundary information. The term 'additional' is used to distinguish it from virtual boundary information, such as a virtual boundary presence indicator (SPS) and / or a virtual boundary presence indicator (PH).

[196] In one modality, additional virtual boundary information may include the number of virtual boundaries and the positions of the virtual boundaries.

[197] In one modality, additional virtual boundary information may include information on the number of vertical virtual boundaries, information on the positions of the vertical virtual boundaries, information on the number of horizontal virtual boundaries, and information on the positions of the horizontal virtual boundaries.

[198] In one mode, the image information may include an indicator enabled for resampling the reference image. For example, whether resampling for at least one reference image is enabled can be determined based on the enabled reference image resampling indicator.

[199] In one mode, the SPS may include an SPS virtual boundary presence indicator related to whether the SPS includes additional virtual boundary information. An SPS virtual boundary presence indicator value of 0 may be determined based on whether resampling is enabled for at least one reference image.

[200] In one mode, additional virtual boundary information may not be included in the SPS, based on the fact that resampling is enabled for at least one reference image. Image information may include image header information. In addition, image header information may include additional virtual boundary information.

[201] In one modality, the current image may include a subimage as a single subimage. The subimage may be encoded independently. Reconstructed samples may be generated based on the subimage. Information related to the subimage may be generated based on the subimage. Image information may include the ΜΛ / Ε / ΖυΖΖ / υΟΊ OOZ information related to the subimage.

[202] In one modality, a subimage_treated_as_picture indicator may not be present in the image information. Therefore, a value for the subimage_treated_as_picture indicator may be set by inference (estimation or prediction) at one end of the decoding process. In one example, the value of the subimage_treated_as_picture indicator may be set to 1.

[203] In one modality, the current image may include subimages. In one example, the subimages may be obtained based on a fusion process of two or more independently encoded subimages. Reconstructed samples may be generated based on the subimages. Information related to the subimages may be generated based on the subimages. In addition, the image information may include the information related to the subimage.

[204] Figure 9 and Figure 10 schematically show an example of a video / image decoding method and related components according to the modality(ies) of this document.

[205] The method described in Figure 9 can be carried out by the decoding apparatus described in Figure 3 or Figure 10. Specifically, for example, S900 of Figure 9 can be carried out by an entropy decoder 310 of the decoding apparatus, S910 of Figure 10. ML / E / ZuZZ / uOΊ OOZ can be carried out by a predictor 310 of the decoding apparatus, S920 can be carried out by a residual processor 320 and / or adder 340 of the decoding apparatus, and S930 can be carried out by a filter 350 of the decoding apparatus. The method described in Figure 9 may include the modalities mentioned above in this document.

[206] Referring to Figure 9, the decoding device can receive / obtain video / image information (S900). The video / image information may include residual information, prediction-related information, reference image-related information, virtual boundary-related information (and / or additional virtual boundary-related information), and / or loop-filtering-related information. The decoding device can receive / obtain the video / image information via a bitstream.

[207] Image / video information may include a variety of information according to a modality of this document. For example, the image / video may include information disclosed in at least one of Tables 1 through 14 above.

[208] The decoding apparatus can obtain quantized transformation coefficients. The decoding apparatus can derive the coefficients of quantified transformation coefficients, based on residual information. The quantized transformation coefficients can have a one-dimensional vector form, based on a coefficient scan order. The quantized transformation coefficients can include quantized luma transformation coefficients and / or quantized chrominance transformation coefficients.

[209] The decoding apparatus can derive the transformation coefficients. The decoding apparatus can derive the transformation coefficients, based on a dequantization process for the quantized transformation coefficients. The decoding apparatus can derive luma transformation coefficients through dequantization, based on the quantized luma transformation coefficients. The decoding apparatus can derive chroma transformation coefficients through dequantization, based on the quantized chroma transformation coefficients.

[210] The decoding apparatus can generate / derive residual samples. The decoding apparatus can derive the residual samples, based on the inverse transformation process for the transformation coefficients. The decoding apparatus can derive residual luma samples through the inverse transformation process, based on the transformation coefficients of ML / E / ZυZZZ / υΟΊ OOZ luma. The decoding apparatus can derive residual chroma samples through inverse transformation, based on chroma transformation coefficients.

[211] The decoding apparatus can derive at least one reference image, based on the information related to the reference image (S910). The decoding apparatus can perform a prediction process, based on at least one reference image. Specifically, the decoding apparatus can derive prediction samples for the current blocks, based on a prediction mode. In this case, various prediction methods described herein can be applied, such as inter-prediction or intra-prediction. The decoding apparatus can generate prediction samples for the current block in the current image, based on the prediction process. For example, the decoding apparatus can perform an inter-prediction process, based on at least one reference image, and can generate prediction samples, based on the inter-prediction process.

[212] The decoding apparatus can generate / derive reconstructed samples (S920). The decoding apparatus can generate reconstructed samples based on prediction samples and residual samples. The decoding apparatus can generate reconstructed samples based on a sum ML / E / ZuZZ / uOΊ OOZ between the prediction samples and the original samples. For example, the decoding apparatus can generate / derive reconstructed luma samples and / or reconstructed chroma samples. The decoding apparatus can generate the reconstructed luma samples and / or reconstructed chroma samples based on the residual information. The decoding apparatus can generate the reconstructed samples based on the residual information. The reconstructed samples can include the reconstructed luma samples and / or the reconstructed chroma samples. A luma component of the reconstructed samples can correspond to the reconstructed luma samples, and a chroma component of the reconstructed samples can correspond to the reconstructed chroma samples. The decoding apparatus can generate prediction luma samples and / or prediction chroma samples through a prediction process.The decoding apparatus can generate reconstructed luma samples based on predicted luma samples and residual luma samples. The decoding apparatus can generate constructed chroma samples based on predicted chroma samples and residual chroma samples.

[213] The decoding apparatus can generate modified (filtered) reconstructed samples (S930). The decoding apparatus can generate the reconstructed samples The MA / E / ZUZZ / UOl OOZ modified samples are generated based on a loop filtering process for the reconstructed samples. The decoding apparatus can generate the modified reconstructed samples based on information related to the loop filtering. The decoding apparatus can use an unlocking process, an SAO process, and / or an ALE process to generate the modified reconstructed samples.

[214] In one mode, image information may include an SPS. For example, whether the SPS includes additional virtual boundary information can be determined based on whether resampling is enabled for at least one reference image. Here, resampling of at least one reference image can be performed in accordance with the RPR mentioned above. Additional virtual boundary information may also be referred to simply as virtual boundary information. The term 'additional' is used to distinguish it from virtual boundary information, such as an SPS virtual boundary presence indicator and / or a PH virtual boundary presence indicator.

[215] In one modality, additional virtual boundary information may include the number of virtual boundaries and the positions of the virtual boundaries.

[216] In one modality, additional virtual boundary information may include information about the number of vertical virtual boundaries, information about the positions of the vertical virtual boundaries, information about the number of horizontal virtual boundaries, and information about the positions of the horizontal virtual boundaries.

[217] In one mode, the image information may include an indicator enabled for resampling the reference image. For example, whether resampling for at least one reference image is enabled can be determined based on the enabled reference image resampling indicator.

[218] In one mode, the SPS may include an SPS virtual boundary presence indicator related to whether the SPS includes additional virtual boundary information. An SPS virtual boundary presence indicator value of 0 may be determined based on whether resampling is enabled for at least one reference image.

[219] In one mode, additional virtual boundary information may not be included in the SPS, based on the fact that resampling is enabled for at least one reference image. Image information may include image header information. In addition, image header information may include additional virtual boundary information.

[220] In one mode, the current image may include a ML / E / ZuZZ / uOΊ OOZ subimage as just a subimage. The subimage can be encoded independently. Reconstructed samples can be generated based on the subimage, and information related to the subimage can be generated based on the subimage. In addition, the image information can include information related to the subimage.

[221] In one modality, an image handling indicator for the subimage (a subimage treated as picture indicator) may not be present in the image information. Therefore, a value for the subimage_treated_as_picture indicator may be set by inference (estimation or prediction) at one end of the decoding process. In one example, the value of the subimage_treated_as_picture indicator may be set to 1.

[222] In one modality, the current image may include sub-images. In one example, the sub-images may be obtained based on a fusion process of two or more independently encoded sub-images. Reconstructed samples may be generated based on the sub-images. Information related to the sub-images may be generated based on the sub-images. In addition, the image information may include the information related to the sub-image.

[223] In the presence of the residual sample for the current block, the decoding apparatus may receive residual information for a current block. The residual information may ML / E / ZuZZ / uOΊ OOZ include a transformation coefficient for residual samples. The decoding apparatus can derive residual samples (or a matrix of residual samples) for the current block, based on the residual information. Specifically, the decoding apparatus can derive quantized transformation coefficients, based on the residual information. The quantized transformation coefficients can have a one-dimensional vector form, based on a coefficient scan order. The decoding apparatus can derive the transformation coefficients, based on a dequantization process for the quantized transformation coefficients. The decoding apparatus can derive residual samples, based on the transformation coefficients.

[224] The decoding apparatus can generate reconstructed samples based on (intra)prediction samples and residual samples, and can derive a reconstructed block or a reconstructed image from the reconstructed samples. Specifically, the decoding apparatus can generate reconstructed samples based on a sum of the (intra)prediction samples and the residual samples. Subsequently, as described above, the decoding apparatus can optionally apply loop filtering processes such as unblocking filtering and / or SAO to the image. ML / E / ZuZZ / uOZ OOZ reconstructed to improve subjective / objective image quality.

[225] For example, the decoding apparatus can obtain image information that includes all or part of the pieces of information described above (or syntax elements) by decoding the bitstream or encoded information. Furthermore, the bitstream or encoded information can be stored on a computer-readable storage medium and can cause the decoding method described above to be carried out.

[226] In the embodiment described above, the methods are described based on the flowchart, which has a series of steps or blocks. The present invention is not limited to the order of the above steps or blocks. Some steps or blocks may occur simultaneously or in a different order from other steps or blocks as described above. Furthermore, those skilled in the art will understand that the steps shown in the above flowchart are not exclusive, that additional steps may be included, or that one or more steps in the flowchart may be omitted without affecting the scope of the present invention.

[227] The method according to the modalities described above in this document can be implemented in software form, and the encoding device and / or the decoding device according to this document can be included, for example, in the device that carries out image processing of a television, a computer, a smartphone, a set-top box, a visual display device, etc.

[228] When the modalities described herein are implemented in software, the method described above can be implemented as a module (process, function, etc.) that performs the function described above. A module can be stored in memory and executed by a processor. The memory can be internal or external to the processor and can be coupled to the processor by various well-known means. The processor can include an application-specific integrated circuit (ASIC), other chipsets, logic circuits, and / or data processing devices. The memory can include read-only memory (ROM), random-access memory (RAM), flash memory, memory cards, storage media, and / or other storage devices. That is, the modalities described herein can be implemented and carried out in a processor, a microprocessor, a controller, or a chip.For example, the functional units shown in each figure can be implemented and run on a computer, a processor, a microprocessor, a controller, or a chip. In this case, information about instructions or an implementation algorithm can be stored on a storage medium. ΜΛ / Ε / ΖυΖΖ / υΟΊ OOZ digital.

[229] Furthermore, the decoding apparatus and the encoding apparatus to which the present invention applies can be included in a multimedia broadcasting transmission / reception apparatus, a mobile communication terminal, a home cinema video apparatus, a digital cinema video apparatus, a surveillance camera, a video chat apparatus, a real-time communication apparatus such as video communication, a mobile transmission apparatus, a storage medium, a video camera, a VoD service-providing apparatus, an over-the-top (OTT) video apparatus, an Internet transmission apparatus, a three-dimensional (3D) video apparatus, a teleconferencing video apparatus, transportation user equipment (i.e., vehicle user equipment, aircraft user equipment, ship user equipment, etc.) and a medical video apparatus and can be used to process video signals and data signals.For example, an over-the-top (OTT) video device might include a game console, a Blu-ray player, an internet-connected television, a home theater system, a smartphone, a tablet, a digital video recorder (DVR), and the like.

[230] Furthermore, the processing method to which this document applies can be produced in the form of a program to be executed by a computer and can be stored in ML / E / ZuZZ / uOO OOZ 100 A computer-readable recording medium. Multimedia data having a data structure according to the present invention can also be stored on computer-readable recording media. Computer-readable recording media include all types of storage devices on which data readable by a computer system is stored. Computer-readable recording media may include, for example, a BD, a universal serial bus (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, magnetic tape, a floppy disk, and an optical data storage device. In addition, computer-readable recording media include media implemented in the form of carrier waves (i.e., transmission over the Internet).Furthermore, a bit stream generated by the encoding method can be stored on a computer-readable recording medium or can be transmitted over wireless or wired communication networks.

[231] Furthermore, the methods described herein may be implemented using a computer program product in accordance with program codes, and the program codes may be implemented on a computer using the methods described herein. The program codes may be stored on a computer-readable medium.

[232] Figure 11 represents an example of a system of ML / E / ZuZZ / uOO OOZ 101 transmission of content to which the modality of this document can be applied.

[233] Referring to Figure 11, the content transmission system to which the modalities of this document apply may generally include an encoding server, a streaming server, a web server, a media storage device, a user device, and a multimedia input device.

[234] The encoding server compresses the input content from multimedia input devices such as a smartphone, camera, camcorder, etc., into digital data to generate a bitstream and transmits the bitstream to the streaming server. As another example, when multimedia input devices such as smartphones, cameras, camcorders, etc., directly generate a bitstream, the encoding server can be bypassed.

[235] The bitstream can be generated by an encoding method or a bitstream generation method to which the modalities of the present invention apply, and the transmission server can temporarily store the bitstream in the process of transmitting or receiving the bitstream.

[236] The streaming server transmits multimedia data to the user's device based on a user's request through the web server, and the web server ML / E / ZuZZ / uOO OOZ 102 serves as a means of informing the user about a service. When the user requests a desired service from the web server, the web server delivers it to a streaming server, and the streaming server transmits multimedia data to the user. In this case, the content streaming system may include a separate control server. The control server manages the command and response between devices within the content streaming system.

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

[238] Examples of user devices may include a mobile phone, a smartphone, a laptop computer, a digital broadcast terminal, a personal digital assistant (PDA), a portable media player (PMP), navigation, a whiteboard, tablets, ultrabooks, wearable devices (e.g., smartwatches, smart glasses, head-mounted displays), digital televisions, desktop computers, ML / E / ZuZZ / uOO OOZ 103 Digital signage and the like. Each server in the content transmission system can function as a distributed server, in which case the data received from each server can be distributed.

[239] Each server in the content transmission system can function as a distributed server, and in this case, the data received from each server can be distributed and processed.

[240] The claims described herein may be combined in various ways. For example, the technical features of the method claims herein may be combined and implemented as an apparatus, and the technical features of the apparatus claims herein may be combined and implemented as a method. Furthermore, the technical features of the method claim herein and the technical features of the apparatus claim may be combined to be implemented as an apparatus, and the technical features of the method claim herein and the technical features of the apparatus claim may be combined and implemented as a method.< / h>

Claims

1. An image decoding method carried out by a decoding apparatus, comprising: obtaining image information including residual information and reference image-related information via a bitstream; deriving at least one reference image, based on the reference image-related information; generating reconstructed samples of a current image, based on the residual information and the at least one reference image; and generating modified reconstructed samples, based on a loop-filtering process for the reconstructed samples, wherein the image information includes a sequence parameter set (SPS), and wherein it is determined whether the SPS includes additional virtual boundary-related information based on whether resampling is enabled for the at least one reference image.

2. The image decoding method according to claim 1, wherein the additional virtual boundary information includes the number of virtual boundaries and the positions of the virtual boundaries. 105 3. The image decoding method according to claim 1, wherein the additional virtual boundary information includes information about the number of vertical virtual boundaries, information about the positions of the vertical virtual boundaries, information about the number of horizontal virtual boundaries, and information about the positions of the horizontal virtual boundaries.

4. The image decoding method according to claim 1, wherein the image information includes an enabled reference image resampling indicator, and wherein it is determined whether resampling for at least one reference image is enabled based on the enabled reference image resampling indicator.

5. The image decoding method according to claim 1, wherein the SPS includes an SPS virtual boundary presence indicator related to whether the SPS includes additional virtual boundary information, and wherein a value of the SPS virtual boundary presence indicator is determined to be 0, based on resampling being enabled for at least one reference image.

6. The image decoding method according to claim 1, wherein the additional virtual boundary information is not included in the SPS, based on enabling resampling for at least one reference image.

7. The image decoding method according to claim 6, wherein the image information includes image header information, and wherein the image header information includes additional virtual boundary information.

8. An image coding method carried out by an coding apparatus, comprising: generating residual samples for a current block; generating residual information, based on the residual samples for the current block; deriving at least one reference image for reconstructed samples from a current image; generating information related to the reference image, based on the at least one reference image; generating loop-filtering information related to reconstructed samples from the current image;and ivia / t / zuzz / uo i ooz 107 encode image information, including residual information, reference image-related information, and loop filtering-related information, wherein the image information includes a sequence parameter set (SPS), and wherein it is determined whether the SPS includes additional virtual boundary-related information based on whether resampling is enabled for at least one reference image.; 9. The image encoding method according to claim 8, wherein the additional virtual boundary-related information includes the number of virtual boundaries and the virtual boundary positions.

10. The image encoding method according to claim 8, wherein the additional virtual boundary information includes information about the number of vertical virtual boundaries, information about the positions of the vertical virtual boundaries, information about the number of horizontal virtual boundaries, and information about the positions of the horizontal virtual boundaries.

11. The image encoding method according to claim 8, wherein the image information includes an enabled reference image resampling indicator, and wherein whether resampling for at least one reference image is enabled is determined based on the enabled reference image resampling indicator.

12. The image encoding method according to claim 8, wherein the SPS includes an SPS virtual boundary presence indicator related to whether the SPS includes additional virtual boundary-related information, and wherein a value of the SPS virtual boundary presence indicator is determined to be 0, based on resampling being enabled for at least one reference image.

13. The image encoding method according to claim 8, wherein information relating to virtual boundaries is not included in the SPS, based on enabling resampling for at least one reference image.

14. The image encoding method according to claim 13, wherein the image information includes image header information, and wherein the image header information ML / E / ZuZZ / uOZ OOZ 109 includes additional virtual boundary information.

15. The image encoding method according to claim 8, wherein the actual image includes a sub-image as a single sub-image, wherein the sub-image is encoded independently, wherein the reconstructed samples are generated based on the sub-image, wherein the information related to the sub-image is generated based on the sub-image, and wherein the image information includes the information related to the sub-image.

16. The image encoding method according to claim 15, wherein a subimage_treated_as_picture indicator is not present in the image information.

17. The image encoding method according to claim 16, wherein a value of the indicator subimage_treated_as_picture is set to 1.

18. The image encoding method according to claim 8, wherein the actual image includes sub-images, wherein the sub-images are obtained based on a fusion process of two or more independently encoded sub-images, wherein the reconstructed samples are generated based on the sub-images, wherein the sub-image-related information is generated based on the sub-images, and wherein the image information includes the sub-image-related information.

19. A computer-readable storage medium that stores encoded information enabling an image decoding apparatus to perform an image decoding method, wherein the image decoding method comprises: obtaining image information, including residual information and reference image-related information, through a bit stream; deriving at least one reference image, based on the reference image-related information; generating reconstructed samples of an actual image, based on the residual information and the at least one reference image;and generate modified reconstructed samples, based on a loop filtering process for the reconstructed samples, wherein the image information includes a set of sequence parameters (SPS), and wherein it is determined whether the SPS includes additional virtual boundary-related information based on whether resampling is enabled for at least one reference image.