Image coding method based on chroma deblocking parameter information for monochrome image in video or image coding system

Efficient signaling of chroma deblocking parameters at various levels in video coding systems improves the compression efficiency of high-resolution video data, especially for black and white content, addressing the challenges of data transmission and storage in immersive media formats.

JP2024175024AActive Publication Date: 2024-12-17NOKIA TECHNOLOGIES OY
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2024158901
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2020-04-02
Filing Date
2024-09-13
Publication Date
2024-12-17
Estimated Expiration
2041-03-30

AI Technical Summary

Technical Problem

The increasing demand for high-resolution, high-quality video data, particularly in immersive media formats like VR and AR, has led to a need for more efficient video compression technologies to manage the increased data transmission and storage costs.

Method used

A method and apparatus for efficiently signaling chroma deblocking parameter information in black and white video at the Picture Parameter Set (PPS), Slice Header (SH), and Picture Header (PH) levels, allowing selective signaling of deblocking parameters for luma and chroma components in various color formats.

Benefits of technology

This approach enhances video coding efficiency by optimizing the transmission and storage of high-resolution video data, particularly for black and white content, by reducing unnecessary signaling of chroma component filter parameters.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2024175024000001_ABST
    Figure 2024175024000001_ABST
Patent Text Reader

Abstract

To provide an image decoding method.SOLUTION: According to a disclosure of the present document, information associated with a deblocking filter for performing deblocking filtering may include chroma component filter parameter information associated with respective deblocking parameter offsets that are applied to a chroma component. The chroma component filter parameter information may be selectively signaled on the basis of a chroma tool offset presence flag. Therefore, an effect of increasing overall coding efficiency may be derived by signaling chroma component filter parameter information only in the case of not a monochrome image.SELECTED DRAWING: Figure 11
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] This document relates to video / image (picture, image) coding technology, and more particularly to an image coding method based on chroma deblocking parameter information in a video or image coding system for monochrome color format. [Background technology]

[0002] In recent years, the demand for high-resolution, high-quality video / images, such as 4K or 8K or higher UHD (Ultra High Definition) video / images, is increasing in various fields. As the resolution and quality of video / image data increases, the amount of information or bits transmitted increases relatively compared to existing (conventional) video / image data, which increases the costs of transmission and storage when transmitting video / image data using existing media such as wired or wireless broadband lines or storing video / image data using existing storage media.

[0003] In addition, in recent years, interest in and demand for immersive media such as virtual reality (VR), artificial reality (AR) content, and holograms has increased, and the broadcast of videos / images with different image characteristics from real images, such as game images, has been increasing.

[0004] For this reason, a highly efficient video / image compression technology is required to effectively compress, transmit, store and play back high-resolution, high-quality video / image information having the above-mentioned various characteristics. Summary of the Invention [Means for solving the problem]

[0005] According to one embodiment of the present document, a method and apparatus for improving video / image coding efficiency is provided.

[0006] According to one embodiment of the present document, a method and apparatus are provided for efficiently signaling information associated with a deblocking filter.

[0007] According to one embodiment of the present document, a method and apparatus are provided for efficiently signaling chroma deblocking parameter information for monochrome video at the PPS level.

[0008] According to one embodiment of the present document, a method and apparatus are provided for efficiently signaling chroma deblocking parameter information for monochrome video at PH levels.

[0009] According to one embodiment of the present document, a method and apparatus are provided for efficiently signaling chroma deblocking parameter information for monochrome video at SH level.

[0010] According to one embodiment of the present document, a method and apparatus are provided for selectively signaling deblocking parameter information applied to a luma component and / or deblocking parameter information applied to a chroma component in a video / image of various color formats.

[0011] According to one embodiment of the present document, there is provided a video / image decoding method performed by a decoding device.

[0012] According to one embodiment of the present document, a decoding device for performing video / image decoding is provided.

[0013] According to one embodiment of the present document, there is provided a video / image encoding method performed by an encoding device.

[0014] According to one embodiment of the present document, an encoding device for performing video / image encoding is provided.

[0015] According to one embodiment of the present document, there is provided a computer-readable digital storage medium having encoded video / image information generated by the video / image encoding method disclosed in at least one of the embodiments of the present document stored thereon.

[0016] According to one embodiment of the present document, there is provided a computer-readable digital storage medium having encoded information or encoded video / image information stored thereon, which enables a decoding device to perform the video / image decoding method disclosed in at least one of the embodiments of the present document. Effect of the Invention

[0017] According to an embodiment of this document, the overall video / image compression efficiency can be improved.

[0018] According to one embodiment of this document, information related to a deblocking filter can be efficiently signaled.

[0019] According to one embodiment of this document, chroma deblocking parameter information for monochrome video at the PPS level can be efficiently signaled.

[0020] According to one embodiment of this document, chroma deblocking parameter information for monochrome video at PH levels can be efficiently signaled.

[0021] According to one embodiment of this document, chroma deblocking parameter information for monochrome video at the SH level can be efficiently signaled.

[0022] According to one embodiment of the present document, it is possible to selectively signal deblocking parameter information applied to a luma component and / or deblocking parameter information applied to a chroma component in video / images of various color formats. [Brief description of the drawings]

[0023] [Figure 1] FIG. 1 illustrates a schematic diagram of an example of a video / image coding system in which embodiments of the present document may be applied. [Diagram 2] FIG. 1 is a diagram illustrating the schematic configuration of a video / image encoding device to which each embodiment of this document can be applied. [Diagram 3] FIG. 1 is a diagram illustrating the schematic configuration of a video / image decoding device to which each embodiment of this document can be applied. [Figure 4] FIG. 2 is a diagram illustrating an example of a hierarchical structure for coded video / images. [Diagram 5] FIG. 2 is a diagram illustrating an example of the position of each luma sample and each chroma sample in a picture according to a chroma format. [Figure 6] 1 is a schematic diagram illustrating an example of an in-loop filtering based video / image encoding method and filtering unit in an encoding apparatus; [Figure 7] 1 is a schematic diagram illustrating an example of an in-loop filtering based video / image encoding method and filtering unit in an encoding apparatus; [Figure 8] 1 is a schematic diagram illustrating an example of an in-loop filtering based video / image decoding method and a filtering unit in a decoding device; [Figure 9] 1 is a schematic diagram illustrating an example of an in-loop filtering based video / image decoding method and a filtering unit in a decoding device; [Figure 10] FIG. 2 illustrates a schematic diagram of an example of a deblocking filtering process. [Figure 11] FIG. 1 illustrates a schematic diagram of an example video / image encoding method and associated components according to an embodiment of the present document. [Figure 12] FIG. 1 illustrates a schematic diagram of an example video / image encoding method and associated components according to an embodiment of the present document. [Figure 13]FIG. 1 illustrates a schematic diagram of an example of a video / image decoding method and associated components according to an embodiment of the present document. [Figure 14] FIG. 1 illustrates a schematic diagram of an example of a video / image decoding method and associated components according to an embodiment of the present document. [Figure 15] FIG. 1 illustrates an example of a content streaming system to which the embodiments disclosed herein may be applied. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0024] This document may have various modifications and may have various embodiments, and a specific embodiment will be illustrated in the drawings and described in detail. However, this is not intended to limit this document to a specific embodiment. Terms commonly used in this specification are only used to describe a specific embodiment, and are not intended to limit the technical ideas of this document. A singular expression also includes a plural expression unless otherwise specified in the context. In this specification, terms such as "include" or "have" are intended to specify the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, and should be understood as not precluding the presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.

[0025] Meanwhile, each configuration in the drawings described in this document is shown independently for the convenience of describing different characteristic functions, and does not mean that each configuration is embodied as separate hardware or software. For example, two or more of each configuration may be combined to form one configuration, or one configuration may be divided into multiple configurations. An embodiment in which each configuration is integrated and / or separated is also included in the scope of this document as long as it does not deviate from the essence of this document.

[0026] Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the accompanying drawings. Hereinafter, the same reference numerals may be used for the same components in the drawings, and duplicated descriptions of the same components may be omitted.

[0027] FIG. 1 illustrates a schematic diagram of an example video / image coding system in which embodiments of the present document may be applied.

[0028] 1, a video / image coding system may include a first device (a source device) and a second device (a receiving device). The source device may transmit encoded video / image information or data to the receiving device in the form of a file or streaming via a digital storage medium or a network.

[0029] The source device may include a video source, an encoding device, and a sending unit. The receiving device may include a receiving unit, a decoding device, and a renderer. The encoding device may be referred to as a video / video encoding device, and the decoding device may be referred to as a video / video decoding device. The transmitter may be included in the encoding device. The receiver may be included in the decoding device. The renderer may also include a display unit, which may be configured as a separate device or an external component.

[0030] A video source may obtain video / video by a video / video capture, synthesis or generation process, etc. A video source may include a video / video capture device and / or a video / video generation device. A video / video capture device may include, for example, one or more cameras, a video / video archive containing previously captured video / video, etc. A video / video generation device may include, for example, a computer, a tablet, a smartphone, etc., and may (electronically) generate video / video. For example, a virtual video / video may be generated by a computer, etc., in which case the video / video capture process may be replaced by a process in which the associated data is generated.

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

[0032] The transmitting unit may transmit the encoded video / image information or data output in the form of a bitstream to a receiving unit of a receiving device via a digital storage medium or a network in the form of a file or streaming. The digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. The transmitting unit may include elements for generating a media file according to a predetermined file format and may include elements for transmission via a broadcasting / communication network. The receiving unit may receive / extract the bitstream and transmit it to a decoding device.

[0033] The decoding device can decode the video / image by performing a series of steps such as inverse quantization, inverse transformation, prediction, etc., which correspond to the operations of the encoding device.

[0034] The renderer can render the decoded video / image. The rendered video / image can be displayed on a display unit.

[0035] This document relates to video / image coding. For example, the methods / embodiments disclosed in this document may be applied to methods disclosed in the Versatile Video Coding (VVC) standard. Also, the methods / embodiments disclosed in this document may be applied to methods disclosed in the Essential Video Coding (EVC) standard, the 2nd Generation of Audio Video coding Standard (AVS2) or next generation video / image coding standards (e.g., H.267 or H.268).

[0036] This document presents various embodiments relating to video / image coding, which may be performed in combination with one another, unless otherwise specified.

[0037] In this document, video can mean a collection of a series of images over time. A picture generally means a unit that indicates one image in a specific time period, and a slice / tile is a unit that constitutes a part of a picture in coding. A slice / tile can include one or more coding tree units (CTUs). One picture can be composed of one or more slices / tiles. A tile is a rectangular region of CTUs within a particular tile column and a particular tile row in a picture. The tile column is a rectangular region of CTUs, and the rectangular region has the same height as the height of the picture, and the width can be specified by each syntax element in the picture parameter set. The tile row is a rectangular region of CTUs having a height specified by syntax elements in the picture parameter set and a width equal to the width of the picture.A tile scan may indicate a specific sequential ordering of CTUs partitioning a picture in which the CTUs are ordered consecutively in CTU raster scan in a tile whereas tiles in a picture are ordered consecutively in a raster scan of the tiles of the picture. A slice includes an integer number of complete tiles or an integer number of consecutive complete CTU rows within a tile of a picture that may be exclusively contained in a single NAL unit.

[0038] On the other hand, a picture may be partitioned into two or more sub-pictures, where a sub-picture may be a rectangular region of one or more slices within a picture.

[0039] A pixel or a pel can mean the smallest unit that constitutes one picture (or image). A term corresponding to a pixel can also be used as a "sample." A sample can generally represent a pixel or a pixel value, or can represent only a pixel / pixel value of a luma component, or can represent only a pixel / pixel value of a chroma component.

[0040] A unit may represent a basic unit of video processing. A unit may include at least one of a specific region of a picture and information related to the region. A unit may include one luma block and two chroma (e.g., cb, cr) blocks. A unit may be used interchangeably with terms such as block or area in some cases. In general, an MxN block may include samples (or sample arrays) or a set (or array) of transform coefficients consisting of M columns and N rows.

[0041] In this document, "A or B" can mean "A only," "B only," or "both A and B." Expressed otherwise, in this document, "A or B" can be interpreted as "A and / or B." For example, in this document, "A, B or C" can mean "A only," "B only," "C only," or "any combination of A, B and C."

[0042] As used in this document, " / " and "," can mean "and / or." For example, "A / B" can mean "A and / or B." Thus, "A / B" can mean "A only," "B only," or "both A and B." For example, "A, B, C" can mean "A, B, or C."

[0043] In this document, "at least one of A and B" can mean "A only," "B only," or "both A and B." In addition, in this document, the expressions "at least one of A or B" and "at least one of A and / or B" can be interpreted as "at least one of A and B."

[0044] In this document, "at least one of A, B and C" can mean "A only," "B only," "C only," or "any combination of A, B and C." Additionally, "at least one of A, B or C" and "at least one of A, B and / or C" can mean "at least one of A, B and C."

[0045] Furthermore, parentheses used in this document may mean "for example." Specifically, when "prediction (intra prediction)" is displayed, "intra prediction" may be proposed as an example of "prediction." In other words, "prediction" in this document is not limited to "intra prediction," and "intra prediction" may be proposed as an example of "prediction." Furthermore, when "prediction (i.e., intra prediction)" is displayed, "intra prediction" may be proposed as an example of "prediction."

[0046] In this document, technical features described separately in one drawing may be embodied separately or simultaneously.

[0047] 2 is a diagram for explaining the configuration of a video / image encoding device to which the embodiments of this document can be applied. Hereinafter, the encoding device may include an image encoding device and / or a video encoding device.

[0048] Referring to FIG. 2, the encoding device 200 may include an image partitioner 210, a predictor 220, a residual processor 230, an entropy encoder 240, an adder 250, a filter 260, and a memory 270. The predictor 220 may include an inter predictor 221 and an intra predictor 222. The residual processor 230 may include a transformer 232, a quantizer 233, a dequantizer 234, and an inverse transformer 235. The residual processor 230 may further include a subtractor 231. The adder 250 may be referred to as a reconstructor or a reconstructed block generator. The above-mentioned image divider 210, predictor 220, residual processor 230, entropy encoder 240, adder 250, and filtering unit 260 may be configured by one or more hardware components (e.g., an encoder chipset or processor) depending on the embodiment. In addition, the memory 270 may include a decoded picture buffer (DPB) and may be configured by a digital storage medium. The above hardware components may further include the memory 270 as an internal / external component.

[0049] The image division unit 210 may divide an input image (or a picture, a frame) input to the encoding device 200 into one or more processing units. As an example, the processing unit may be called a coding unit (CU). In this case, the coding unit may be recursively divided from a coding tree unit (CTU) or a largest coding unit (LCU) according to a quad-tree, binary-tree, ternary-tree (QTBTTT) structure. For example, one coding unit may be divided into multiple coding units of a deeper depth based on a quad-tree structure, a binary tree structure, and / or a ternary tree structure. In this case, for example, the quad-tree structure may be applied first, and the binary tree structure and / or the ternary tree structure may be applied later. Alternatively, the binary tree structure may be applied first. The coding procedure according to this document may be performed based on the final coding unit that is not further divided. In this case, the largest coding unit may be used as the final coding unit immediately based on coding efficiency according to image characteristics, or the coding unit may be recursively divided into coding units of lower depths as necessary, and a coding unit of an optimal size may be used as the final coding unit. Here, the coding procedure may include procedures such as prediction, transformation, and restoration, which will be described later. As another example, the processing unit may further include a prediction unit (PU) or a transform unit (TU). In this case, the prediction unit and the transform unit may be divided or partitioned from the final coding unit described above, respectively. The prediction unit may be a unit of sample prediction, and the transform unit may be a unit for deriving (inducing) transform coefficients and / or a unit for deriving a residual signal from the transform coefficients.

[0050] Unit may be used interchangeably with terms such as block or region in some cases. In the general case, an MxN block may represent a set of samples or transform coefficients consisting of M columns and N rows. A sample may generally represent a pixel or a pixel value, or may represent only a pixel / pixel value of a luma component, or may represent only a pixel / pixel value of a chroma component. A sample may be used as a term corresponding to a pixel or pel of a picture (or image).

[0051] The encoding apparatus 200 may subtract a prediction signal (predicted block, prediction sample array) output from the inter prediction unit 221 or the intra prediction unit 222 from an input video signal (original block, original sample array) to generate a residual signal (residual block, residual sample array), and the generated residual signal is transmitted to the conversion unit 232. In this case, as illustrated, a unit that subtracts a prediction signal (prediction block, prediction sample array) from an input video signal (original block, original sample array) in the encoder 200 may be called a subtraction unit 231. The prediction unit may perform prediction on a block to be processed (hereinafter, referred to as a current block) and generate a predicted block including each prediction sample for the current block. The prediction unit may determine whether intra prediction or inter prediction is applied on a current block or CU basis. The prediction unit may generate various information related to prediction, such as prediction mode information, as described below in the description of each prediction mode, and transmit the information to the entropy encoding unit 240. The prediction information may be encoded by the entropy encoding unit 240 and then output in the form of a bitstream.

[0052] The intra prediction unit 222 may predict the current block by referring to samples in the current picture. The referenced samples may be located in the neighborhood of the current block or may be located away from the current block depending on the prediction mode. In the intra prediction, each prediction mode may include a plurality of non-directional modes and a plurality of directional modes. The non-directional modes may include, for example, a DC mode and a planar mode. The directional modes may include, for example, 33 directional prediction modes or 65 directional prediction modes depending on the degree of detail of the prediction direction. However, this is an example, and more or less directional prediction modes may be used depending on the setting. The intra prediction unit 222 may also determine the prediction mode to be applied to the current block using the prediction modes applied to the neighboring blocks.

[0053] The inter prediction unit 221 may derive a predicted block for the current block based on a reference block (reference sample array) identified by a motion vector on a reference picture. In this case, in order to reduce the amount of motion information transmitted in the inter prediction mode, the motion information may be predicted in units of blocks, sub-blocks, or samples based on the correlation of the motion information between the neighboring blocks and the current block. The motion information may include a motion vector and a reference picture index. The motion information may further include inter prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.) information. In inter prediction, the neighboring blocks may include a spatial neighboring block present in the current picture and a temporal neighboring block present in the reference picture. The reference picture including the reference block and the reference picture including the temporal neighboring block may be the same or different. The temporal neighboring block may be called a collocated reference block, a collocated CU (colCU), etc., and the reference picture including the temporal neighboring block may be called a collocated picture (colPic). For example, the inter prediction unit 221 may generate information indicating which candidate is used to derive a motion vector and / or a reference picture index of the current block by forming a motion information candidate list based on neighboring blocks. Inter prediction may be performed based on various prediction modes, for example, in skip mode and merge mode, the inter prediction unit 221 may use motion information of neighboring blocks as motion information of the current block. In skip mode, unlike merge mode, a residual signal may not be transmitted.In the Motion Vector Prediction (MVP) mode, the motion vector of the surrounding blocks is used as a motion vector predictor, and the motion vector of the current block can be indicated by signaling the motion vector difference.

[0054] The prediction unit 220 may generate a prediction signal based on various prediction methods described later. For example, the prediction unit may apply intra prediction or inter prediction for prediction of one block, and may also simultaneously apply intra prediction and inter prediction. This may be called CIIP (Combined Inter and Intra Prediction). The prediction unit may also be based on an Intra Block Copy (IBC) prediction mode or a palette mode for prediction of a block. The IBC prediction mode or palette mode may be used for content video / moving video (video) coding such as games, for example, as in Screen Content Coding (SCC). IBC basically performs prediction within a current picture, but may be performed similarly (similarly) to inter prediction in that it derives a reference block within the current picture. That is, IBC may use at least one of the inter prediction techniques described in this document. The palette mode may be considered as an example of intra coding or intra prediction. When the palette mode is applied, sample values ​​within a picture can be signaled based on information about the palette table and the palette index.

[0055] The prediction signal generated through the prediction unit (including the inter prediction unit 221 and / or the intra prediction unit 222) may be used to generate a restored signal or may be used to generate a residual signal. The transform unit 232 may apply a transform technique to the residual signal to generate transform coefficients. For example, the transform technique may include at least one of a discrete cosine transform (DCT), a discrete sine transform (DST), a graph-based transform (GBT), and a conditionally non-linear transform (CNT). Here, the GBT refers to a transform obtained from a graph when the relationship information between pixels is expressed as a graph. The CNT refers to a transform obtained based on a prediction signal generated using all previously reconstructed pixels. In addition, the transform process may be applied to pixel blocks having the same size of a regular square, or may be applied to blocks of variable size that are not regular squares.

[0056] The quantization unit 233 quantizes each transform coefficient and transmits the quantized signal to the entropy encoding unit 240, and the entropy encoding unit 240 may encode the quantized signal (information on each quantized transform coefficient) and output it as a bit stream. The information on each quantized transform coefficient may be called residual information. The quantization unit 233 may rearrange the quantized transform coefficients in a block form into a one-dimensional vector form based on a coefficient scan order, and may generate information on each quantized transform coefficient based on the quantized transform coefficients in the one-dimensional vector form. The entropy encoding unit 240 may perform various encoding methods, such as exponential Golomb, CAVLC (Context-Adaptive Variable Length Coding), and CABAC (Context-Adaptive Binary Arithmetic Coding). The entropy encoder 240 may also encode information required for video / image restoration (e.g., values ​​of syntax elements, etc.) together with or separately from the quantized transform coefficients. The encoded information (e.g., encoded video / image information) may be transmitted or stored in the form of a bitstream in Network Abstraction Layer (NAL) units. The video / image information may further include information on various parameter sets, such as an adaptation parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). The video / image information may further include general constraint information. In this document, information and / or syntax elements transmitted / signaled from an encoding device to a decoding device may be included in the video / image information. The video / image information may be encoded by the encoding procedure described above and included in the bitstream. The bitstream may be transmitted via a network or stored in a digital storage medium.Here, the network may include a broadcast network and / or a communication network, and the digital storage medium may include various storage media such as a USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. A transmitting unit (not shown) for transmitting the signal output from the entropy encoding unit 240 and / or a storage unit (not shown) for storing the signal may be configured as an internal / external element of the encoding device 200, or the transmitting unit may be included in the entropy encoding unit 240.

[0057] Each quantized transform coefficient output from the quantization unit 233 may be used to generate a prediction signal. For example, the inverse quantization unit 234 and the inverse transform unit 235 may apply inverse quantization and inverse transform to each quantized transform coefficient to reconstruct a residual signal (residual block or each residual sample). The adder 250 may generate a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array) by adding the reconstructed residual signal to the prediction signal output from the inter prediction unit 221 or the intra prediction unit 222. When there is no residual for the processing target block, such as when the skip mode is applied, the predicted block may be used as the reconstructed block. The adder 250 may be referred to as a reconstruction unit or a reconstructed block generation unit. The generated reconstructed signal may be used for intra prediction of the next processing target block in the current picture, or may be used for inter prediction of the next picture after filtering, as described below.

[0058] Meanwhile, Luma Mapping with Chroma Scaling (LMCS) may be applied during picture encoding and / or restoration.

[0059] The filtering unit 260 may apply filtering to the reconstructed signal to improve subjective / objective image quality. For example, the filtering unit 260 may apply various filtering methods to the reconstructed picture to generate a modified reconstructed picture, and may store the modified reconstructed picture in the memory 270, specifically, in the DPB of the memory 270. The various filtering methods may include, for example, deblocking filtering, sample adaptive offset, an adaptive loop filter, a bilateral filter, etc. The filtering unit 260 may generate various information related to filtering and transmit the information to the entropy encoding unit 240, as will be described later in relation to each filtering method. The information related to filtering may be encoded by the entropy encoding unit 240 and output in the form of a bitstream.

[0060] The modified reconstructed picture transmitted to the memory 270 may be used as a reference picture in the inter prediction unit 221. This allows the encoding apparatus to avoid prediction mismatch between the encoding apparatus 200 and the decoding apparatus when inter prediction is applied, and also improves encoding efficiency.

[0061] The DPB of the memory 270 may store the modified reconstructed picture to be used as a reference picture in the inter prediction unit 221. The memory 270 may store motion information of a block from which motion information in the current picture is derived (or encoded) and / or motion information of each block in an already reconstructed picture. The stored motion information may be transmitted to the inter prediction unit 221 to be utilized as motion information of a spatial surrounding block or motion information of a temporal surrounding block. The memory 270 may store each reconstructed sample of each reconstructed block in the current picture and may transmit the same to the intra prediction unit 222.

[0062] 3 is a diagram for explaining the schematic configuration of a video / image decoding device to which each embodiment of the present document can be applied. Hereinafter, the decoding device may include an image decoding device and / or a video decoding device.

[0063] Referring to FIG. 3, the decoding device 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. According to an embodiment, the entropy decoder 310, the residual processor 320, the predictor 330, the adder 340, and the filter 350 may be configured by one hardware component (e.g., a decoder chipset or processor). The memory 360 may include a decoded picture buffer (DPB) and may be configured by a digital storage medium. The above hardware components may further include a memory 360 as an internal / external component.

[0064] When a bitstream including video / image information is input, the decoding apparatus 300 can restore an image corresponding to the process in which the video / image information is processed by the encoding apparatus of FIG. 2. For example, the decoding apparatus 300 can derive each unit / each block based on block division related information obtained from the bitstream. The decoding apparatus 300 can perform decoding using a processing unit applied by the encoding apparatus. Thus, the processing unit for decoding may be, for example, a coding unit, and the coding unit may be divided from a coding tree unit or a maximal coding unit by a quadtree structure, a binary tree structure, and / or a ternary tree structure. One or more transform units may be derived from the coding unit. Then, the restored image signal decoded and output by the decoding apparatus 300 may be reproduced by a reproduction device.

[0065] The decoding device 300 may receive a signal output from the encoding device of FIG. 2 in the form of a bitstream, and the received signal may be decoded by the entropy decoding unit 310. For example, the entropy decoding unit 310 may parse the bitstream and derive information (e.g., video / image information) required for video restoration (or picture restoration). The video / image information may further include information on various parameter sets, such as an adaptation parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). In addition, the video / image information may further include general constraint information. The decoding device may decode a picture further based on information on the parameter set and / or the general constraint information. Signaling / received information and / or each syntax element described later in this document may be decoded by the decoding procedure and obtained from the bitstream. For example, the entropy decoding unit 310 may decode information in a bitstream based on a coding method such as exponential Golomb coding, CAVLC, or CABAC, and output values ​​of syntax elements required for image restoration and quantized values ​​of transform coefficients related to residuals. More specifically, the CABAC entropy decoding method may receive bins corresponding to each syntax element in the bitstream, determine a context model using information on the syntax element to be decoded, decoding information on neighboring and blocks to be decoded, or information on symbols / bins decoded in a previous step, predict the occurrence probability of the bins according to the determined context model, and perform arithmetic decoding of the bins to generate symbols corresponding to the values ​​of each syntax element. In this case, the CABAC entropy decoding method may update the context model using information on the decoded symbols / bins for the context model of the next symbol / bin after determining the context model.Information related to prediction among the information decoded by the entropy decoding unit 310 is provided to a prediction unit (inter prediction unit 332 and intra prediction unit 331), and residual values ​​entropy-decoded by the entropy decoding unit 310, i.e., each quantized transform coefficient and related parameter information, may be input to a residual processing unit 320. The residual processing unit 320 may derive a residual signal (residual block, each residual sample, and a residual sample array). In addition, information related to filtering among the information decoded by the entropy decoding unit 310 may be provided to a filtering unit 350. Meanwhile, a receiving unit (not shown) that receives a signal output from the encoding device may be further configured as an internal / external element of the decoding device 300, or the receiving unit may be a component of the entropy decoding unit 310. Meanwhile, the decoding device according to this document may be called a video / image / picture decoding device, and the decoding device may be divided into an information decoder (video / image / picture information decoder) and a sample decoder (video / image / picture sample decoder). The information decoder may include the entropy decoder 310, and the sample decoder may include at least one of the inverse quantizer 321, the inverse transformer 322, the adder 340, the filtering unit 350, the memory 360, the inter predictor 332, and the intra predictor 331.

[0066] The inverse quantization unit 321 may inverse quantize each quantized transform coefficient and output each transform coefficient. The inverse quantization unit 321 may rearrange each quantized transform coefficient in the form of a two-dimensional block. In this case, the rearrangement may be performed based on a coefficient scan order performed in an encoding device. The inverse quantization unit 321 may perform inverse quantization on each quantized transform coefficient using a quantization parameter (e.g., quantization step size information) to obtain each transform coefficient.

[0067] The inverse transform unit 322 inverse transforms each transform coefficient to obtain a residual signal (residual block, residual sample array).

[0068] The prediction unit 330 may perform prediction on a current block and generate a predicted block including prediction samples for the current block. The prediction unit 330 may determine whether intra prediction or inter prediction is applied to the current block based on information on the prediction output from the entropy decoding unit 310, and may determine a specific intra / inter prediction mode.

[0069] The prediction unit 330 may generate a prediction signal based on various prediction methods described later. For example, the prediction unit 330 may apply intra prediction or inter prediction for prediction of one block, and may simultaneously apply intra prediction and inter prediction. This may be referred to as CIIP (Combined Inter and Intra Prediction). The prediction unit 330 may also use an intra block copy (IBC) prediction mode or a palette mode for prediction of a block. The IBC prediction mode or palette mode may be used for content video / moving video coding such as games, for example, as in Screen Content Coding (SCC). IBC basically performs prediction within a current picture, but may be performed similarly to inter prediction in deriving a reference block within the current picture. That is, IBC may use at least one of the inter prediction techniques described in this document. The palette mode may be regarded as an example of intra coding or intra prediction. When the palette mode is applied, information regarding a palette table and a palette index may be included in the video / picture information and signaled.

[0070] The intra prediction unit 331 may predict the current block by referring to each sample in the current picture. The referenced samples may be located in the vicinity of the current block or may be located away from the current block depending on the prediction mode. In the intra prediction, each prediction mode may include a plurality of non-directional modes and a plurality of directional modes. The intra prediction unit 331 may also determine the prediction mode to be applied to the current block using the prediction modes applied to the surrounding blocks.

[0071] The inter prediction unit 332 may derive a predicted block for the current block based on a reference block (reference sample array) identified by a motion vector on a reference picture. In this case, in order to reduce the amount of motion information transmitted in the inter prediction mode, the motion information may be predicted in units of blocks, sub-blocks, or samples based on the correlation of motion information between a neighboring block and the current block. The motion information may include a motion vector and a reference picture index. The motion information may further include inter prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.) information. In inter prediction, the neighboring block may include a spatial neighboring block present in the current picture and a temporal neighboring block present in the reference picture. For example, the inter prediction unit 332 may configure a motion information candidate list based on each neighboring block, and derive a motion vector and / or a reference picture index for the current block based on the received candidate selection information. Inter prediction may be performed based on various prediction modes, and the information regarding the prediction may include information indicating a mode of inter prediction for the current block.

[0072] The adder 340 can generate a restored signal (restored picture, restored block, restored sample array) by adding the acquired residual signal to a prediction signal (predicted block, predicted sample array) output from a prediction unit (including the inter prediction unit 332 and / or the intra prediction unit 331). When there is no residual for the current block, such as when the skip mode is applied, the predicted block can be used as the restored block.

[0073] The adder 340 may be called a reconstruction unit or a reconstruction block generator. The reconstruction signal generated may be used for intra prediction of the next block to be processed in the current picture, or may be output after filtering as described below, or may be used for inter prediction of the next picture.

[0074] Meanwhile, Luma Mapping with Chroma Scaling (LMCS) may be applied in the picture decoding process.

[0075] The filtering unit 350 may apply filtering to the reconstructed signal to improve subjective / objective image quality. For example, the filtering unit 350 may apply various filtering methods to the reconstructed picture to generate a modified reconstructed picture, and may transmit the modified reconstructed picture to the memory 360, specifically, to the DPB of the memory 360. The various filtering methods may include, for example, deblocking filtering, sample adaptive offset, an adaptive loop filter, a bilateral filter, etc.

[0076] The (modified) reconstructed picture stored in the DPB of the memory 360 may be used as a reference picture in the inter prediction unit 332. The memory 360 may store motion information of a block from which motion information in the current picture is derived (or decoded) and / or motion information of each block in an already reconstructed picture. The stored motion information may be transmitted to the inter prediction unit 332 to be utilized as motion information of a spatial surrounding block or motion information of a temporal surrounding block. The memory 360 may store each reconstructed sample of each reconstructed block in the current picture and may transmit the same to the intra prediction unit 331.

[0077] In this document, each embodiment described for the filtering unit 260, the inter prediction unit 221 and the intra prediction unit 222 of the encoding device 200 may also be applied identically or correspondingly to the filtering unit 350, the inter prediction unit 332 and the intra prediction unit 331 of the decoding device 300, respectively.

[0078] As described above, prediction is performed to improve compression efficiency when performing video coding. As a result, a predicted block including each predicted sample for a current block, which is a block to be coded, can be generated. Here, the predicted block includes each predicted sample in a spatial domain (or pixel domain). The predicted block is derived in the same way in an encoding device and a decoding device, and the encoding device can improve video coding efficiency by signaling information (residual information) on a residual between the original block and the predicted block to a decoding device, rather than the original sample value of the original block itself. The decoding device can derive a residual block including each residual sample based on the residual information, combine the residual block with the predicted block to generate a reconstructed block including each reconstructed sample, and generate a reconstructed picture including each reconstructed block.

[0079] The residual information may be generated by a transform and quantization procedure. For example, the encoding device may derive a residual block between the original block and the predicted block, perform a transform procedure on each residual sample (residual sample array) included in the residual block to derive each transform coefficient, perform a quantization procedure on each transform coefficient to derive each quantized transform coefficient, and signal the related residual information to the decoding device (using a bitstream). Here, the residual information may include information such as value information, position information, transform technique, transform kernel, quantization parameter, etc. of each quantized transform coefficient. The decoding device may perform an inverse quantization / inverse transform procedure based on the residual information to derive each residual sample (or residual block). The decoding device may generate a reconstructed picture based on the predicted block and the residual block. The encoding device may then inverse quantize / inverse transform each quantized transform coefficient for reference for inter-prediction of a picture to derive a residual block, and generate a reconstructed picture based thereon.

[0080] In this document, at least one of quantization / dequantization and / or transform / inverse transform may be omitted. When the quantization / dequantization is omitted, the quantized transform coefficients may be called transform coefficients. When the transform / inverse transform is omitted, the transform coefficients may be called coefficients or residual coefficients, or may still be called transform coefficients for uniformity of expression.

[0081] In addition, in this document, the quantized transform coefficients and the transform coefficients may be referred to as transform coefficients and scaled transform coefficients, respectively. In this case, the residual information may include information on the transform coefficients, and the information on the transform coefficients may be signaled by a residual coding syntax. Each transform coefficient may be derived based on the residual information (or the information on the transform coefficients), and each scaled transform coefficient may be derived by an inverse transform (scaling) on ​​each of the transform coefficients. Each residual sample may be derived based on an inverse transform (transform) on each of the scaled transform coefficients. This may be applied / expressed in the same manner in other parts of this document.

[0082] FIG. 4 is a diagram illustrating an exemplary hierarchical structure for coded video / picture.

[0083] Referring to FIG. 4, the coded video / image is divided into a VCL (Video Coding Layer), which handles the video / image decoding process and itself, a lower system that transmits and stores the coded information, and a NAL (Network Abstraction Layer), which exists between the VCL and the lower system and is responsible for network adaptation functions.

[0084] In VCL, it is possible to generate VCL data including compressed video data (slice data), or to generate parameter sets including information such as a Picture Parameter Set (PPS), a Sequence Parameter Set (SPS), and a Video Parameter Set (VPS), or a Supplemental Enhancement Information (SEI) message that is additionally required for the video decoding process.

[0085] In NAL, NAL units can be generated by adding header information (NAL unit header) to RBSP (Raw Byte Sequence Payload) generated by VCL. In this case, RBSP refers to slice data, parameter sets, SEI messages, etc. generated by VCL. The NAL unit header can contain NAL unit type information specified by the RBSP data included in the corresponding NAL unit.

[0086] As shown in Fig. 4, NAL units can be classified into VCL NAL units and non-VCL NAL units according to the RBSP generated in the VCL. The VCL NAL unit can refer to a NAL unit that includes information about a video (slice data), and the non-VCL NAL unit can refer to a NAL unit that includes information required to decode a video (parameter set or SEI message).

[0087] The above-mentioned VCL NAL unit and non-VCL NAL unit may be transmitted over a network with header information added according to the data standard of the lower system. For example, the NAL unit may be transformed into a data format of a predetermined standard such as H.266 / VVC file format, RTP (Real-time Transport Protocol), TS (Transport Stream), etc., and transmitted over various networks.

[0088] As described above, the NAL unit type of a NAL unit may be identified by an RBSP data structure included in the NAL unit, and information regarding such NAL unit type may be stored and signaled in the NAL unit header.

[0089] For example, NAL units can be roughly classified into VCL NAL unit types and non-VCL NAL unit types depending on whether the NAL unit contains video-related information (slice data). The VCL NAL unit types may be classified according to the nature and type of pictures contained in the VCL NAL unit, and the non-VCL NAL unit types may be classified according to the type of parameter set.

[0090] Below, an example of a NAL unit type specified by the type of parameter set included in the Non-VCL NAL unit type is shown.

[0091] -APS (Adaptation Parameter Set) NAL unit: Type for NAL units containing APS

[0092] -DPS (Decoding Parameter Set) NAL unit: Type for NAL units containing DPS

[0093] -VPS (Video Parameter Set) NAL unit: Type for NAL units that contain VPS

[0094] -SPS (Sequence Parameter Set) NAL unit: Type for NAL units containing SPS

[0095] -PPS (Picture Parameter Set) NAL unit: Type for NAL units containing PPS

[0096] -PH (Picture Header) NAL unit: Type for NAL units containing PH

[0097] Each of the above mentioned NAL unit types has syntax information for the NAL unit type, and the syntax information may be stored and signaled in the NAL unit header. For example, the syntax information may be nal_unit_type, and each NAL unit type may be identified by a nal_unit_type value.

[0098] Meanwhile, as described above, one picture may include multiple slices, and one slice may include a slice header and slice data. In this case, one picture header may be further added for multiple slices (slice header and slice data set) in one picture. The picture header (picture header syntax) may include information / parameters commonly applicable to the pictures. For example, one picture may be composed of slices of different types (types), such as intra-coded slices (i.e., I-slices) and / or inter-coded slices (i.e., P-slices and B-slices). In this case, the picture header may include information / parameters applied to the intra-coded slices and the inter-coded slices. Alternatively, one picture may be composed of one type of slices.

[0099] The slice header (slice header syntax) may include information / parameters commonly applicable to the slices. The APS (APS syntax) or PPS (PPS syntax) may include information / parameters commonly applicable to one or more slices or pictures. 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 concatenation of a Coded Video Sequence (CVS). In this document, a High Level Syntax (HLS) may include at least one of the APS syntax, PPS syntax, SPS syntax, VPS syntax, DPS syntax, picture header syntax, and slice header syntax.

[0100] In this document, the video / image information encoded and signaled in the form of a bitstream from an encoding device to a decoding device may include information included in the slice header, information included in the picture header, information included in the APS, information included in the PPS, information included in the SPS, information included in the VPS, and / or information included in the DPS, as well as information related to partitioning in a picture, intra / inter prediction information, residual information, in-loop filtering information, etc. In addition, the video / image information may further include information of a NAL unit header.

[0101] In this document, a source or coded picture / image may consist of one or three sample arrays. For example, a source or coded picture / image may contain only a luma component array (monochrome image).

[0102] Alternatively, a source or coded picture / image may include a luma component array and possibly further include two chroma component (cb,cr) arrays, i.e., one pixel (sample) constituting the picture / image may include a luma sample array and a chroma sample (cb,cr) array.

[0103] In this regard, the color format is associated with the sampling format of each chroma component. That is, the color format may indicate the configuration format of the luma component and the chroma component (cb, cr) and may be called a chroma format. The color format may be predetermined or may be adaptively signaled. For example, the chroma format may be determined based on at least one of the syntax element chroma_format_idc, which is associated with the color format as in Table 1 below, and the syntax element separate_colour_plane_flag, which is associated with whether the three color components are coded separately if the chroma format is 4:4:4.

[0104] [Table 1]

[0105] That is, if the chroma format is monochrome sampling, there can be only one sample array, the luma array. If the chroma format is 4:2:0 sampling, each of the two chroma arrays has a height half the height of the luma array and a width half the width of the luma array. If the chroma format is 4:2:2 sampling, each of the two chroma arrays has a height equal to the height of the luma array and a width equal to the width of the luma array. If the chroma format is 4:4:4 sampling, the height and width are determined based on the value of separate_colour_plane_flag. If the value of separate_colour_plane_flag is 0, each of the two chroma arrays has a height equal to the height of the luma array and a width equal to the width of the luma array. If the value of separate_colour_plane_flag is 1, the three color components are considered to be monochrome sampled pictures and are coded separately.

[0106] SubWidthC and SubHeightC in Table 1 above indicate the ratio between luma samples and chroma samples. For example, if the value of chroma_format_idc is 3, the chroma format is 4:4:4. Then, if the width of the luma sample block is 16, the width of the corresponding chroma sample block is 16 / SubWidthC.

[0107] In addition, in general, chroma sample related information is parsed if the value of the variable ChromaArrayType is not 0. Here, ChromaArrayType is a variable related to the sampling format of each chroma component, and if the value of separate_colour_plane_flag is 0, the value of ChromaArrayType is set to be the same as the value of chroma_format_idc, and if the value of separate_colour_plane_flag is 1, the value of ChromaArrayType is set to 0.

[0108] FIG. 5 is a diagram showing an example of the position of each luma sample and each chroma sample in a picture according to the chroma format.

[0109] For example, reference numeral 500 in Fig. 5 may indicate the relative vertical or horizontal positions of each luma sample and each chroma sample in a picture when the value of chroma_format_idc is 1, i.e., the chroma format is 4:2:0. Reference numeral 510 in Fig. 5 indicates the relative positions of each luma sample and each chroma sample in a picture when the value of chroma_format_idc is 2, i.e., the chroma format is 4:2:2, and each chroma sample may be at the same position as the corresponding luma sample. Reference numeral 520 in Fig. 5 indicates the positions of each luma sample and each chroma sample in a picture when the value of chroma_format_idc is 3, i.e., the chroma format is 4:4:4, and all chroma samples may always be at the same position as the corresponding luma sample.

[0110] Meanwhile, in video / picture coding, pictures constituting a video / picture may be encoded / decoded according to a series of decoding orders. A picture order corresponding to an output order of decoded pictures may be set to an order different from the decoding order, and based on this, not only forward prediction but also backward prediction may be performed during inter prediction.

[0111] 6 and 7 are schematic diagrams illustrating an example of a filtering unit within an in-loop filtering based video / image encoding method and encoding apparatus.

[0112] 6 and 7, the encoding apparatus generates a reconstructed picture for a current picture (S600). The encoding apparatus may generate the reconstructed picture by partitioning, intra / inter prediction, residual processing, etc., for an input original picture, as described in FIG. 2. Specifically, the encoding apparatus may generate prediction samples for a current block through intra or inter prediction, generate residual samples based on the prediction samples, transform / quantize the residual samples, and then perform inverse quantization / inverse transform processing again to derive (modified) residual samples. The reason for performing inverse quantization / inverse transform again after transform / quantization is to derive the same residual samples as the residual samples derived in the decoding apparatus, as described above. This is because the quantization procedure is basically a lossy coding procedure, and the transform procedure also has a loss when RT (Reduced Transform) is applied. The encoding apparatus may generate a reconstructed block including reconstruction samples for the current block based on the prediction samples and the (modified) residual samples. The reconstructed picture can be generated based on the reconstructed blocks.

[0113] The encoding apparatus performs an in-loop filtering procedure on the reconstructed picture (S610). A modified reconstructed picture may be generated by the in-loop filtering procedure. The modified reconstructed picture may be a decoded picture and stored in a decoded picture buffer or memory 270, and may then be used as a reference picture in an inter-prediction procedure when encoding a picture. The in-loop filtering procedure may include at least one of a deblocking filtering procedure, a sample adaptive offset (SAO) procedure, and / or an adaptive loop filter (ALF) procedure. S610 may be performed by a filtering unit 260 of the encoding apparatus. Specifically, for example, the deblocking filtering procedure may be performed by a deblocking filtering processing unit 261, the SAO procedure may be performed by a SAO processing unit 262, and the ALF procedure may be performed by an ALF processing unit 263. Some of the various filtering procedures may be omitted in consideration of image characteristics, complexity, efficiency, and the like, and in this case, the related components in FIG. 7 may also be omitted.

[0114] The encoding apparatus may encode video information including information for picture reconstruction and in-loop filtering related information, and output the encoded video information in the form of a bitstream (S620). The output bitstream may be transmitted to a decoding apparatus via a storage medium or a network. S620 may be performed by an entropy encoding unit 240 of the encoding apparatus. The information for picture reconstruction may include partitioning information, prediction information, residual information, etc., which are described above / below. The in-loop filtering related information may include, for example, flag information indicating whether or not the entire in-loop filtering is applied, flag information indicating whether or not each filtering procedure is applied, information on an SAO type, information on an SAO offset value, information on an SAO band position, information on an ALF filtering shape, and / or information on an ALF filtering coefficient. In addition, for example, the in-loop filtering related information may include deblocking filtering information. The deblocking filtering information may include information / syntax elements related to each deblocking parameter used in the deblocking filtering process. Detailed filtering related information will be described later. Similarly, as described above, some of the various filtering procedures may be omitted taking into consideration image characteristics, complexity, efficiency, etc., and if some filtering methods are omitted, information (parameters) related to the omitted filtering may be omitted.

[0115] The prediction information may include prediction mode information (e.g., an mpm flag, an mpm index, a merge flag, a merge subblock flag, an inter affine flag, etc.), and a motion information index (e.g., a merge index, an mvp flag(index), a merge subblock index, etc.). For example, a motion information candidate list (e.g., a merge candidate list, an mvp candidate list, a merge subblock candidate list) may be configured based on the prediction mode of the current block, and the motion information index may be used to indicate / select any one of the candidates present in the motion information candidate list.

[0116] 8 and 9 are diagrams illustrating an example of an in-loop filtering based video / image decoding method and a filtering unit in a decoding device, which may perform operations corresponding to those performed in the encoding device.

[0117] 8 and 9, a decoding apparatus may obtain image information including information for picture reconstruction and in-loop filtering related information from a received bitstream (S800). S800 may be performed by an entropy decoding unit 310 of the decoding apparatus. The information for picture reconstruction may include partitioning information, prediction information, residual information, etc., which will be described above / below.

[0118] The in-loop filtering related information may include, for example, flag information indicating whether or not the entire in-loop filtering is applied, flag information indicating whether or not each filtering procedure is applied, information on an SAO type, information on an SAO offset value, information on an SAO band position, information on an ALF filtering shape, information on an ALF filtering coefficient, information on a bilateral filter shape, and / or information on a bilateral filter weight value. In addition, for example, the in-loop filtering related information may include deblocking filtering information. The deblocking filtering information may include information / syntax elements related to each deblocking parameter used in the deblocking filtering process. Detailed filtering related information will be described later. Similarly, as described above, some of the various filtering procedures may be omitted in consideration of image characteristics, complexity, efficiency, and the like, and when some filtering methods are omitted, information (parameters) related to the omitted filtering may be omitted.

[0119] The prediction information may include prediction mode information (e.g., an mpm flag, an mpm index, a merge flag, a merge subblock flag, an inter affine flag, etc.), and a motion information index (e.g., a merge index, an mvp flag(index), a merge subblock index, etc.). For example, a motion information candidate list (e.g., a merge candidate list, an mvp candidate list, a merge subblock candidate list) may be configured based on the prediction mode of the current block, and the motion information index may be used to indicate / select any one of the candidates present in the motion information candidate list.

[0120] The decoding apparatus generates a reconstructed picture for the current picture based on the information for picture reconstruction (S810). As described in FIG. 3, the decoding apparatus may generate a reconstructed picture by a procedure such as intra / inter prediction and residual processing for the current picture. Specifically, the decoding apparatus generates prediction samples for the current block through intra or inter prediction based on prediction information included in the information for picture reconstruction, and derives residual samples for the current block based on residual information included in the information for picture reconstruction (inverse quantization / inverse transform based). The decoding apparatus may generate a reconstructed block including reconstructed samples for the current block based on the prediction samples and the residual samples. The reconstructed picture may be generated based on the reconstructed block.

[0121] The decoding apparatus performs an in-loop filtering procedure on the reconstructed picture (S820). A modified reconstructed picture may be generated by the in-loop filtering procedure. The modified reconstructed picture may be output as a decoded picture and / or stored in a decoded picture buffer or memory 360, and may then be used as a reference picture in an inter-prediction procedure when decoding a picture. The in-loop filtering procedure may include at least one of a deblocking filtering procedure, a Sample Adaptive Offset (SAO) procedure, and / or an Adaptive Loop Filter (ALF) procedure. S820 may be performed by a filtering unit 350 of the decoding apparatus. Specifically, for example, the deblocking filtering procedure may be performed by a deblocking filtering processing unit 351, the SAO procedure may be performed by a SAO processing unit 352, and the ALF procedure may be performed by an ALF processing unit 353. Similarly, as described above, some of the various filtering procedures may be omitted in consideration of video characteristics, complexity, efficiency, and the like, and in this case, the related components in FIG. 9 may also be omitted.

[0122] That is, the decoding apparatus can apply an in-loop filter based on the in-loop filtering related information. For example, deblocking parameters for performing deblocking filtering can be derived based on deblocking filtering information (information / syntax elements related to each deblocking parameter). Based on the deblocking parameters, deblocking filtering can be applied to the reconstructed picture or the target boundary of the reconstructed picture.

[0123] This in-loop filtering procedure can reduce noises such as block artifacts and ringing artifacts that occur during image / moving image coding, and can improve subjective / objective visual quality. In addition, by performing the in-loop filtering procedure in both the encoding device and the decoding device, the encoding device and the decoding device can derive the same prediction result, thereby improving the reliability of picture coding and reducing the amount of data that must be transmitted for picture coding.

[0124] Specifically, deblocking filtering is a filtering technique that removes distortions that occur at boundaries between blocks in a restored picture. The deblocking filtering procedure may, for example, derive a target boundary from a restored picture, determine a boundary strength (bS) for the target boundary, and perform deblocking filtering on the target boundary based on the bS. The bS may be determined based on the prediction modes of two blocks adjacent to the target boundary, a motion vector difference, whether the reference pictures are the same, whether there are non-zero valid coefficients, etc.

[0125] SAO is a method of compensating for an offset difference between a reconstructed picture and an original picture on a sample-by-sample basis, and may be applied based on a type such as a band offset or an edge offset. According to SAO, samples may be classified into different categories according to each SAO type, and an offset value may be added to each sample based on the category. Filtering information for SAO may include information on whether SAO is applied, SAO type information, SAO offset value information, etc. SAO may be applied to a reconstructed picture after the deblocking filtering is applied.

[0126] An adaptive loop filter (ALF) is a technique for filtering a reconstructed picture on a sample-by-sample basis based on each filter coefficient according to the shape of a filter. An encoding apparatus can determine whether or not to apply an ALF, the shape of the ALF and / or an ALF filtering coefficient, etc., by comparing a reconstructed picture with an original picture, and can signal the same to a decoding apparatus. That is, filtering information for an ALF can include information on whether or not to apply an ALF, ALF filter shape information, ALF filtering coefficient information, etc. An ALF may be applied to a reconstructed picture after application of the deblocking filtering.

[0127] 10 is a schematic diagram illustrating an example of a deblocking filtering process, which may be performed by the filtering unit 260 in the encoding device of FIG. 2 and the filtering unit 350 in the decoding device of FIG.

[0128] Referring to FIG. 10, the encoding device / decoding device may derive boundaries between blocks in a reconstructed picture on which deblocking filtering is performed (S1000). Meanwhile, the boundaries on which deblocking filtering is performed may be called edges. Also, the boundaries on which deblocking filtering is performed may include two types, which may be vertical boundaries and horizontal boundaries. The vertical boundaries may be called vertical edges, and the horizontal boundaries may be called horizontal edges. The encoding device / decoding device may perform deblocking filtering on vertical edges and may perform deblocking filtering on horizontal edges.

[0129] When performing deblocking filtering in one direction (i.e., deblocking filtering on vertical boundaries or deblocking filtering on horizontal boundaries), the encoding device / decoding device may derive a transform block boundary. The encoding device / decoding device may derive a coding subblock boundary.

[0130] The encoding device / decoding device may derive a block boundary on which deblocking filtering is performed based on an NxN grid. For example, the encoding device / decoding device may derive a block boundary on which deblocking filtering is performed based on whether a boundary of a block (transform block or coding sub-block) corresponds to an NxN grid. In other words, for example, the encoding device / decoding device may derive a block boundary on which deblocking filtering is performed based on whether a boundary of a block (transform block or coding sub-block) is a block boundary located on an NxN grid. The encoding device / decoding device may derive a block boundary on which deblocking filtering is performed that corresponds to an NxN grid. Here, the NxN grid may mean a boundary derived by dividing a reconstructed picture into NxN regular squares. The NxN grid may be, for example, a 4x4 or 8x8 grid.

[0131] The encoding device / decoding device may determine a boundary strength (bS) for the boundary where the deblocking filtering is performed (S1010). The bS may be referred to as a boundary filtering strength.

[0132] The encoding device / decoding device may determine bS based on each block adjacent to the boundary where deblocking filtering is performed. For example, it may be assumed that the bS value is to be determined for the boundary (block edge) between block P and block Q. In this case, the encoding device / decoding device may determine the bS value for the boundary based on the positions of block P and block Q and / or information on whether block P and block Q are coded in intra mode, etc.

[0133] Here, block P may indicate a block including p0 samples adjacent to the boundary on which deblocking filtering is performed, and block Q may indicate a block including q0 samples adjacent to the boundary on which deblocking filtering is performed.

[0134] For example, p0 may indicate a sample of a block adjacent to the left or upper side of the boundary where deblocking filtering is performed, and q0 may indicate a sample of a block adjacent to the right or lower side of the boundary where deblocking filtering is performed. As an example, when the filtering boundary is oriented vertically (i.e., the filtering boundary is a vertical boundary), p0 may indicate a sample of a block adjacent to the left side of the boundary where deblocking filtering is performed, and q0 may indicate a sample of a block adjacent to the right side of the boundary where deblocking filtering is performed. Alternatively, as another example, when the filtering boundary is oriented horizontally (i.e., the filtering boundary is a horizontal boundary), p0 may indicate a sample of a block adjacent to the upper side of the boundary where deblocking filtering is performed, and q0 may indicate a sample of a block adjacent to the lower side of the boundary where deblocking filtering is performed.

[0135] The encoding device / decoding device may derive deblocking parameters (S1020). The deblocking parameters may include parameters related to beta and tc. The beta and tc values ​​may be derived based on information related to the deblocking filter disclosed in this document. That is, the beta and tc values ​​may be chroma component filter parameter information, which will be described later.

[0136] The encoding device / decoding device may perform deblocking filtering based on bS and each deblocking parameter (S1030). Each deblocking parameter may indicate each deblocking filter coefficient. Deblocking filtering may be performed based on the each deblocking filter coefficient. That is, S1030 may include deriving each deblocking filter coefficient based on each deblocking parameter, and applying a deblocking filter to a target boundary of each reconstructed sample based on each deblocking filter coefficient. Deblocking filtering may be performed when bS is greater than 0. Specifically, when bS is 1, deblocking filtering may be performed on the luma component, and when bS is 2, deblocking filtering may be performed on the luma component and the chroma component.

[0137] For example, the encoding device / decoding device may determine whether the filtering process has been performed for all block boundaries in the reconstructed picture, and if the filtering process has not been performed for all block boundaries, the encoding device / decoding device may determine whether the position of the sub-block boundary corresponds to a grid of NxN size (e.g., 8x8 grid). For example, it may be determined whether the remainder derived by dividing the x component and the y component of the sub-block boundary position by N is 0. If the remainder derived by dividing the x component and the y component of the sub-block boundary position by N is 0, the position of the sub-block boundary may correspond to a grid of NxN size. If the position of the sub-block boundary corresponds to a grid of NxN size, the encoding device / decoding device may perform deblocking filtering for the boundary based on bS for the boundary and each deblocking parameter.

[0138] In this case, the encoding / decoding device can determine a filter to be applied to the boundary between blocks based on the determined bS value. The filters can be classified into a strong filter and a weak filter. The encoding / decoding device can improve coding efficiency by filtering a boundary at a position where block distortion is highly likely to occur in a reconstructed picture and a boundary at a position where block distortion is less likely to occur with different filters.

[0139] The encoding device / decoding device may perform deblocking filtering on the boundaries between the blocks using the determined filter (e.g., a strong filter or a weak filter). When the deblocking filtering process for each boundary between each block in the reconstructed picture has been performed, the deblocking filtering process may end.

[0140] In this regard, according to one existing embodiment, a picture parameter set (PPS) may include the syntax of the following Table 2. The syntax of the following Table 2 may be a part of the PPS.

[0141] [Table 2]

[0142] Here, the semantics of the syntax elements included in the syntax of Table 2 above can be shown, for example, as in Table 3 below.

[0143] [Table 3]

[0144] The image information acquired through the bitstream may include information related to a deblocking filter, and the information related to the deblocking filter may include a first deblocking filter unusable (unnecessary, disabled) flag, first luma component filter parameter information, and first chroma component filter parameter information.

[0145] Here, the first deblocking filter disabled flag may be related to whether a deblocking filter is not enabled for each picture that references the PPS, i.e., the first deblocking filter disabled flag may indicate / indicate whether a deblocking filter is not enabled for each picture that references the PPS.

[0146] For example, the first deblocking filter disable flag may be indicated in the form of a pps_deblocking_filter_disabled_flag syntax element, which may specify whether a deblocking filter is disabled for each picture that references the PPS.

[0147] The first luma component filter parameter information may be associated with a respective deblocking parameter offset applied to a luma component of each slice that references the PPS, i.e., the first luma component filter parameter information may indicate / represent a respective deblocking parameter offset applied to a luma component of each slice that references the PPS.

[0148] For example, the first luma component filter parameter information may be expressed in the form of a pps_beta_offset_div2 syntax element and a pps_tc_offset_div2 syntax element. For example, the pps_beta_offset_div2 syntax element and the pps_tc_offset_div2 syntax element may specify deblocking parameter offsets applied to the luma component of each slice referring to the PPS.

[0149] The first chroma component filter parameter information may be associated with a respective deblocking parameter offset to be applied to a chroma component of each slice that references the PPS, i.e., the first chroma component filter parameter information may indicate / represent a respective deblocking parameter offset to be applied to a chroma component of each slice that references the PPS.

[0150] For example, the first chroma component filter parameter information may be expressed in the form of a pps_cb_beta_offset_div2 syntax element, a pps_cb_tc_offset_div2 syntax element, a pps_cr_beta_offset_div2 syntax element, and a pps_cr_tc_offset_div2 syntax element. For example, the pps_cb_beta_offset_div2 syntax element, the pps_cb_tc_offset_div2 syntax element, the pps_cr_beta_offset_div2 syntax element, and the pps_cr_tc_offset_div2 syntax element may specify deblocking parameter offsets applied to chroma components of each slice referring to the PPS.

[0151] According to the existing embodiment, when the value of the first deblocking filter unusable flag is 0, the first luma component filter parameter information and the first chroma component filter parameter information may be configured / included in the PPS. When the value of the first deblocking filter unusable flag is 1, the first luma component filter parameter information and the first chroma component filter parameter information may not exist. When the first luma component filter parameter information and the first chroma component filter parameter information do not exist, the first luma component filter parameter information and the first chroma component filter parameter information may each have a value of 0.

[0152] According to one existing embodiment, the picture header (PH) may include the syntax of the following Table 4. The syntax of the following Table 4 may be a part of the PH.

[0153] [Table 4]

[0154] Here, the semantics of the syntax elements included in the syntax of Table 4 above can be shown, for example, as in Table 5 below.

[0155] [Table 5]

[0156] The information associated with the deblocking filter may include a second deblocking filter override flag, a second deblocking filter disable flag, second luma component filter parameter information, and second chroma component filter parameter information.

[0157] Here, the second deblocking filter override flag may be related to whether or not a deblocking parameter is present in the PH, i.e., the second deblocking filter override flag may indicate / indicate whether or not a deblocking parameter is present in the PH.

[0158] For example, the second deblocking filter override flag may be indicated in the form of a ph_deblocking_filter_override_flag syntax element, For example, the ph_deblocking_filter_override_flag syntax element may specify whether a deblocking parameter is present in the PH.

[0159] The second deblocking filter disable flag may be related to whether a deblocking filter is not available for each slice of the current picture, i.e., the second deblocking filter disable flag may indicate / indicate whether a deblocking filter is not available for each slice of the current picture.

[0160] For example, the second deblocking filter disable flag may be indicated in the form of a ph_deblocking_filter_disabled_flag syntax element, which may indicate whether a deblocking filter is disabled for each slice of the current picture.

[0161] The second luma component filter parameter information may be associated with each deblocking parameter offset applied to the luma component of each slice in the current picture, i.e., the second luma component filter parameter information may indicate / represent each deblocking parameter offset applied to the luma component of each slice in the current picture.

[0162] For example, the second luma component filter parameter information may be indicated in the form of a ph_beta_offset_div2 syntax element and a ph_tc_offset_div2 syntax element, which may specify deblocking parameter offsets to be applied to the luma component of each slice in the current picture.

[0163] The second chroma component filter parameter information may be associated with each deblocking parameter offset applied to a chroma component of each slice in the current picture, i.e., the second chroma component filter parameter information may indicate / represent each deblocking parameter offset applied to a chroma component of each slice in the current picture.

[0164] For example, the second chroma component filter parameter information may be expressed in the form of a ph_cb_beta_offset_div2 syntax element, a ph_cb_tc_offset_div2 syntax element, a ph_cr_beta_offset_div2 syntax element, and a ph_cr_tc_offset_div2 syntax element. For example, the ph_cb_beta_offset_div2 syntax element, the ph_cb_tc_offset_div2 syntax element, the ph_cr_beta_offset_div2 syntax element, and the ph_cr_tc_offset_div2 syntax element may specify deblocking parameter offsets applied to chroma components of each slice in the current picture.

[0165] According to the existing embodiment, the second deblocking filter disable flag may be configured / included in the PH if the value of the second deblocking filter override flag is 1. The second deblocking filter disable flag may not be present if the value of the second deblocking filter override flag is 0. If the second deblocking filter disable flag is not present, the value of the second deblocking filter disable flag may be 0.

[0166] In this case, according to the embodiment, if the value of the second deblocking filter unusable flag is 0, the second luma component filter parameter information and the second chroma component filter parameter information may be configured / included in the PH. If the value of the second deblocking filter unusable flag is 1, the second luma component filter parameter information and the second chroma component filter parameter information may not exist. If the second chroma component filter parameter information does not exist, the second chroma component filter parameter information may have the same value as the first chroma component filter parameter information under certain conditions.

[0167] According to one existing embodiment, a slice header (SH) may include the syntax of Table 6 below. The syntax of Table 6 below may be a part of the SH.

[0168] [Table 6]

[0169] Here, the semantics of the syntax elements included in the syntax of Table 6 above can be shown, for example, as in Table 7 below.

[0170] [Table 7]

[0171] The information related to the deblocking filter may include a third deblocking filter override flag, a third deblocking filter disable flag, third luma component filter parameter information, and third chroma component filter parameter information.

[0172] Here, the third deblocking filter override flag may be related to whether or not deblocking parameters are present in the SH, i.e., the third deblocking filter override flag may indicate / indicate whether or not deblocking parameters are present in the SH.

[0173] For example, the third deblocking filter override flag may be indicated in the form of a slice_deblocking_filter_override_flag syntax element. For example, the slice_deblocking_filter_override_flag syntax element may specify whether a deblocking parameter is present in the SH.

[0174] The third deblocking filter disable flag may be related to whether a deblocking filter is not available for the current slice, i.e., the third deblocking filter disable flag may indicate / indicate whether a deblocking filter is not available for the current slice.

[0175] For example, the third deblocking filter disable flag may be indicated in the form of a slice_deblocking_filter_disabled_flag syntax element, which may indicate whether a deblocking filter is disabled for the current slice.

[0176] The third luma component filter parameter information may be associated with each deblocking parameter offset applied to the luma component of the current slice, i.e., the third luma component filter parameter information may indicate / represent each deblocking parameter offset applied to the luma component of the current slice.

[0177] For example, the third luma component filter parameter information may be indicated in the form of a slice_beta_offset_div2 syntax element and a slice_tc_offset_div2 syntax element. For example, the slice_beta_offset_div2 syntax element and the slice_tc_offset_div2 syntax element may specify deblocking parameter offsets applied to the luma component of the current slice.

[0178] The third chroma component filter parameter information may be associated with each deblocking parameter offset applied to a chroma component of the current slice, i.e., the third chroma component filter parameter information may indicate / represent each deblocking parameter offset applied to a chroma component of the current slice.

[0179] For example, the third chroma component filter parameter information may be expressed in the form of a slice_cb_beta_offset_div2 syntax element, a slice_cb_tc_offset_div2 syntax element, a slice_cr_beta_offset_div2 syntax element, and a slice_cr_tc_offset_div2 syntax element. For example, the slice_cb_beta_offset_div2 syntax element, the slice_cb_tc_offset_div2 syntax element, the slice_cr_beta_offset_div2 syntax element, and the slice_cr_tc_offset_div2 syntax element may specify deblocking parameter offsets applied to the chroma components of the current slice.

[0180] According to the existing embodiment, the third deblocking filter disable flag may be configured / included in the SH if the value of the third deblocking filter override flag is 1. The third deblocking filter disable flag may not be present if the value of the third deblocking filter override flag is 0. If the third deblocking filter disable flag is not present, the value of the third deblocking filter disable flag may be 0.

[0181] In this case, according to the embodiment, if the value of the third deblocking filter unusable flag is 0, the third luma component filter parameter information and the third chroma component filter parameter information may be configured / included in the SH. If the value of the third deblocking filter unusable flag is 1, the third luma component filter parameter information and the third chroma component filter parameter information may not exist. If the third chroma component filter parameter information does not exist, the third chroma component filter parameter information may have the same value as the second chroma component filter parameter information under certain conditions.

[0182] That is, according to the above-mentioned existing embodiment, in encoding / decoding information related to a deblocking filter to perform deblocking filtering, chroma component filter parameter information related to each deblocking parameter offset applied to a chroma component is always signaled / parsed under certain conditions at each level such as the PPS, the PH, and the SH.

[0183] However, in the case of a monochrome image, since the chroma component filter parameter information is unnecessary for performing deblocking filtering, the chroma component filter parameter information does not need to be signaled / parsed. Therefore, in each embodiment of this document, a method for efficiently encoding / decoding the chroma component filter parameter information in the case of a monochrome image is proposed. In this case, each embodiment of this document may be combined with each other.

[0184] According to one embodiment proposed in this document, information related to the deblocking filter may be signaled at the PH level as follows:

[0185] According to one embodiment, the PH may include the syntax of the following Table 8. The syntax of the following Table 8 may be a part of the PH.

[0186] [Table 8]

[0187] Here, the semantics of the syntax elements included in the syntax of Table 8 above can be shown, for example, as in Table 5 above.

[0188] According to the embodiment, as in the existing embodiment, when the value of the second deblocking filter unusable flag is 0, the second luma component filter parameter information and the second chroma component filter parameter information may be configured / included in the PH. When the value of the second deblocking filter unusable flag is 1, the second luma component filter parameter information and the second chroma component filter parameter information may not exist. When the second chroma component filter parameter information does not exist, the second chroma component filter parameter information may have the same value as the first chroma component filter parameter information under certain conditions.

[0189] In this case, the encoding device / decoding device may derive a variable ChromaArrayType associated with the sampling format of each chroma component based on the chroma_format_idc syntax element and the separate_colour_plane_flag syntax element in Table 1. As an example, the ChromaArrayType may have a value of 0 if the chroma format is monochrome, a value of 1 if the chroma format is 4:2:0, a value of 2 if the chroma format is 4:2:2, and a value of 3 or 0 if the chroma format is 4:4:4.

[0190] That is, according to the embodiment, if the value of the ChromaArrayType is not 0, the second chroma component filter parameter information may be configured / included in the PH. If the value of the ChromaArrayType is 0, the second chroma component filter parameter information may not be present.

[0191] Alternatively, according to another embodiment, the PH may include the syntax of Table 4 above, and the semantics of the syntax elements included in the syntax of Table 4 above may be shown, for example, as in Table 9 below.

[0192] [Table 9]

[0193] That is, when the value of the second deblocking filter unusable flag is 0, the second luma component filter parameter information and the second chroma component filter parameter information are configured / included in the PH, and according to one embodiment, when the value of the ChromaArrayType is 0, the value of the second chroma component filter parameter information may be limited to 0.

[0194] Alternatively, according to another embodiment, the PH may include the syntax of the following Table 10. The syntax of the following Table 10 may be a part of the PH.

[0195] [Table 10]

[0196] Here, the semantics of the syntax elements included in the syntax of Table 10 above can be shown, for example, as in Table 5 or Table 9 above.

[0197] The information associated with the deblocking filter may include the second deblocking filter override flag, the second deblocking filter disable flag, the second luma component filter parameter information, the second chroma component filter parameter information, and a chroma tool offset present flag.

[0198] Here, the chroma tool offset present flag may be related to whether chroma tool offset related information is present in the PPS and whether each chroma deblocking parameter offset information is present in the PH or the SH that references the PPS. That is, the chroma tool offset present flag may be related to whether or not chroma component filter parameter information is present. That is, the chroma tool offset present flag may indicate / indicate whether or not chroma component filter parameter information is present.

[0199] For example, the chroma tool offsets present flag may be indicated in the form of a pps_chroma_tool_offsets_present_flag syntax element. For example, the pps_chroma_tool_offsets_present_flag syntax element may indicate whether or not chroma component filter parameter information is present.

[0200] According to the embodiment, as in the existing embodiment, if the value of the second deblocking filter override flag is 1, the second deblocking filter disable flag may be configured / included in the PH. If the value of the second deblocking filter override flag is 0, the second deblocking filter disable flag may not be present. If the second deblocking filter disable flag is not present, the value of the second deblocking filter disable flag may be 0.

[0201] At this time, according to the embodiment, if the value of the second deblocking filter unusable flag is 0, the second luma component filter parameter information and the second chroma component filter parameter information may be configured / included in the PH.

[0202] In this case, according to the embodiment, if the value of the chroma tool offset present flag is 1, the second chroma component filter parameter information may be configured / included in the PH. If the value of the chroma tool offset present flag is 0, the second chroma component filter parameter information may not be present.

[0203] According to one embodiment proposed in this document, the deblocking filter and related information may be signaled at the SH level as follows:

[0204] According to the embodiment, the SH may include the syntax of the following Table 11. The syntax of the following Table 11 may be a part of the SH.

[0205] [Table 11]

[0206] Here, the semantics of the syntax elements included in the syntax of Table 11 above can be shown, for example, as in Table 7 above.

[0207] According to the embodiment, as in the existing embodiment, when the value of the third deblocking filter unusable flag is 0, the third luma component filter parameter information and the third chroma component filter parameter information may be configured / included in the SH. When the value of the third deblocking filter unusable flag is 1, the third luma component filter parameter information and the third chroma component filter parameter information may not exist. When the third chroma component filter parameter information does not exist, the third chroma component filter parameter information may have the same value as the second chroma component filter parameter information under certain conditions.

[0208] In this case, according to the embodiment, if the value of the ChromaArrayType is not 0, the third chroma component filter parameter information may be configured / included in the SH. If the value of the ChromaArrayType is 0, the third chroma component filter parameter information may not exist.

[0209] Alternatively, according to one embodiment, the SH may include the syntax of Table 6, and the semantics of the syntax elements included in the syntax of Table 6 may be shown, for example, as in Table 12 below.

[0210] [Table 12]

[0211] That is, when the value of the third deblocking filter unusable flag is 0, the third luma component filter parameter information and the third chroma component filter parameter information are configured / included in the SH, and according to one embodiment, when the value of the ChromaArrayType is 0, the value of the third chroma component filter parameter information may be limited to 0.

[0212] Alternatively, according to another embodiment, the SH may include the syntax of the following Table 13. The syntax of the following Table 13 may be a part of the SH.

[0213] [Table 13]

[0214] Here, the semantics of the syntax elements included in the syntax of Table 13 above can be shown, for example, as in Table 7 or Table 12 above.

[0215] The information associated with the deblocking filter may include the third deblocking filter override flag, the third deblocking filter disable flag, the third luma component filter parameter information, the third chroma component filter parameter information, and the chroma tool offset present flag.

[0216] According to the embodiment, as in the existing embodiment, if the value of the third deblocking filter override flag is 1, the third deblocking filter disable flag may be configured / included in the SH. If the value of the third deblocking filter override flag is 0, the third deblocking filter disable flag may not be present. If the third deblocking filter disable flag is not present, the value of the third deblocking filter disable flag may be 0.

[0217] At this time, according to the embodiment, when the value of the third deblocking filter unusable flag is 0, the third luma component filter parameter information and the third chroma component filter parameter information may be configured / included in the SH.

[0218] In this case, according to the embodiment, if the value of the chroma tool offset present flag is 1, the third chroma component filter parameter information may be configured / included in the SH. If the value of the chroma tool offset present flag is 0, the third chroma component filter parameter information may not be present.

[0219] According to another embodiment proposed in this document, information related to a deblocking filter may be signaled at the PPS level as follows: According to the above embodiment, in the PH level and the SH level, in the case of a monochrome image, it is possible to determine whether or not to transmit information related to a deblocking filter applied to a chroma component through the ChromaArrayType, but since it is impossible to derive a value of ChromaArrayType for a current picture at the PPS level, an embodiment for determining whether or not to transmit information through the ChromaArrayType cannot be proposed.

[0220] Meanwhile, according to the embodiment, the PPS may include the syntax of the following Table 14. The syntax of the following Table 14 may be a part of the PPS.

[0221] [Table 14-1]

[0222] [Table 14-2]

[0223] Here, the semantics of the syntax elements included in the syntax of Table 14 above can be shown, for example, as in Table 15 below.

[0224] [Table 15]

[0225] The information associated with the deblocking filter may include a deblocking filter control presence flag, a deblocking filter override enable flag, the first deblocking filter disable flag, the first luma component filter parameter information, and the first chroma component filter parameter information.

[0226] Here, the deblocking filter control presence flag may be related to the presence or absence of deblocking filter control information, that is, the deblocking filter control presence flag may indicate / indicate the presence or absence of deblocking filter control information.

[0227] For example, the deblocking filter control present flag may be indicated in the form of a deblocking_filter_control_present_flag syntax element. For example, the deblocking_filter_control_present_flag syntax element may indicate whether or not the deblocking filter control information is present.

[0228] The deblocking filter override enable flag may be related to whether the deblocking operation for each picture that references the PPS is redefined at the picture level or the slice level, i.e., the deblocking filter override enable flag may indicate / indicate whether the deblocking operation for each picture that references the PPS is redefined at the picture level or the slice level.

[0229] For example, the deblocking filter override enable flag may be indicated in the form of a deblocking_filter_override_enabled_flag syntax element. For example, the deblocking_filter_override_enabled_flag syntax element may specify whether the deblocking operation for each picture that references the PPS is redefined at a picture level or a slice level.

[0230] According to one embodiment, the deblocking filter override enable flag and the first deblocking filter disable flag may be configured / included in the PPS if the deblocking filter control present flag has a value of 1. If the deblocking filter control present flag has a value of 0, the deblocking filter override enable flag and the first deblocking filter disable flag may not be present.

[0231] In this case, according to the embodiment, if the value of the first deblocking filter unusable flag is 0, the first luma component filter parameter information may be configured / included in the PPS, and if the value of the first deblocking filter unusable flag is 1, the first luma component filter parameter information may not be present.

[0232] Thereafter, for example, the deblocking filter control present flag and the first deblocking filter disable flag may be checked if the chroma tool offset present flag has a value of 1. In this case, according to the embodiment, if the deblocking filter control present flag has a value of 1 and the first deblocking filter disable flag has a value of 0, the first chroma component filter parameter information may be configured / included in the PPS. If the deblocking filter control present flag has a value of 0 or the first deblocking filter disable flag has a value of 1, the first chroma component filter parameter information may not be present.

[0233] According to an existing embodiment in contrast to the above embodiment, the PPS may include the syntax of Table 16 below. The syntax of Table 16 below may be a part of the PPS.

[0234] [Table 16-1]

[0235] [Table 16-2]

[0236] Here, the semantics of the syntax elements included in the syntax of Table 16 above can be shown, for example, as in Table 15 above.

[0237] Alternatively, according to another embodiment, the PPS may include the syntax of Table 2 above, and the semantics of the syntax elements included in the syntax of Table 2 above may be shown, for example, as in Table 17 below.

[0238] [Table 17]

[0239] That is, when the value of the first deblocking filter unusable flag is 0, the first luma component filter parameter information and the first chroma component filter parameter information are configured / included in the PPS, and according to one embodiment, when the value of the ChromaArrayType is 0, the value of the first chroma component filter parameter information may be limited to 0.

[0240] Alternatively, according to another embodiment, the PPS may include the syntax of Table 18 below. The syntax of Table 18 below may be part of the PPS.

[0241] [Table 18]

[0242] Here, the semantics of the syntax elements included in the syntax of Table 18 above can be shown, for example, as in Table 3 or Table 17 above.

[0243] The information associated with the deblocking filter may include the first deblocking filter disable flag, the first luma component filter parameter information, the first chroma component filter parameter information, and the chroma tool offset present flag.

[0244] According to the above embodiment, when the value of the first deblocking filter unusable flag is 0 as in the above existing embodiment, the first luma component filter parameter information and the first chroma component filter parameter information may be configured / included in the PPS.

[0245] In this case, according to the embodiment, if the value of the chroma tool offset present flag is 1, the first chroma component filter parameter information may be configured / included in the PPS. If the value of the chroma tool offset present flag is 0, the first chroma component filter parameter information may not be present.

[0246] In this way, the effect of improving overall coding efficiency can be derived by adaptively processing (encoding / decoding) at each PPS, PH, and SH level so that the deblocking filter and related information applied to the chroma components are transmitted and signaled / parsed only when the source or coded picture / image is not a monochrome image.

[0247] According to yet another embodiment proposed in this document, information related to the deblocking filter may be signaled as follows:

[0248] According to the embodiment, the PPS may include the syntax of the following Table 19. The syntax of the following Table 19 may be a part of the PPS.

[0249] [Table 19]

[0250] Here, the semantics of the syntax elements included in the syntax of Table 19 above can be shown, for example, as in Table 3 above, Table 15 above, and Table 20 below.

[0251] [Table 20]

[0252] The information associated with the deblocking filter may include the deblocking filter control present flag, a chroma deblocking parameters present flag, the deblocking filter override enabled flag, a chroma deblocking filter override enabled flag, the first deblocking filter disabled flag, the first luma component filter parameter information, and the first chroma component filter parameter information.

[0253] Here, the chroma deblocking parameter present flag may be related to whether chroma deblocking related information is present in the PPS, i.e., the chroma deblocking parameter present flag may indicate / indicate whether chroma deblocking related information is present in the PPS.

[0254] For example, the chroma deblocking parameters present flag may be indicated in the form of a pps_chroma_deblocking_params_present_flag syntax element, which may indicate whether chroma deblocking related information is present in the PPS.

[0255] The chroma deblocking filter override enable flag may be related to whether chroma deblocking related information is present in the PH and / or the SH, i.e., the chroma deblocking filter override enable flag may indicate / represent whether chroma deblocking related information is present in the PH or the SH.

[0256] For example, the chroma deblocking filter override enable flag may be indicated in the form of a chroma_deblocking_filter_override_enabled_flag syntax element. For example, the chroma_deblocking_filter_override_enabled_flag syntax element may specify whether chroma deblocking related information is present in the PH or the SH.

[0257] According to one embodiment, the chroma deblocking parameters present flag and the deblocking filter override enabled flag may be configured / included in the PPS if the deblocking filter control present flag has a value of 1. If the deblocking filter control present flag has a value of 0, the chroma deblocking parameters present flag and the deblocking filter override enabled flag may not be present.

[0258] In this regard, if the value of the ChromaArrayType is 0, then the value of the deblocking parameters present flag may be limited to 0.

[0259] In this case, according to the embodiment, the chroma deblocking filter override enable flag may be configured / included in the PPS if the deblocking filter override enable flag has a value of 1 and the chroma deblocking parameters present flag has a value of 1. If the deblocking filter override enable flag has a value of 0 or the chroma deblocking parameters present flag has a value of 0, the chroma deblocking filter override enable flag may not be present.

[0260] In this regard, if the value of the ChromaArrayType is zero, then the value of the chroma deblocking filter override enable flag may be limited to zero.

[0261] Then, for example, when the value of the first deblocking filter unusable flag is 0, the first luma component filter parameter information and the first chroma component filter parameter information may be configured / included in the PPS.

[0262] In this case, according to the embodiment, if the value of the chroma deblocking parameter present flag is 1, the first chroma component filter parameter information may be configured / included in the PPS. If the value of the chroma deblocking parameter present flag is 0, the first chroma component filter parameter information may not be present.

[0263] In this regard, according to one embodiment, the PH may include the syntax of the following Table 21. The syntax of the following Table 21 may be a part of the PH.

[0264] [Table 21]

[0265] Here, the semantics of the syntax elements included in the syntax of Table 21 above can be shown, for example, as in Table 5 and Table 20 above.

[0266] The information associated with the deblocking filter may include the second deblocking filter override flag, the second deblocking filter disable flag, the second luma component filter parameter information, and the second chroma component filter parameter information.

[0267] According to the embodiment, as in the existing embodiment, the second deblocking filter override flag may be configured / included in the PH when the value of the deblocking filter override enable flag is 1 and the value of the syntax element dbf_info_in_ph_flag, which is related to whether deblocking filter information (parameters) is present in the PH, is 1. When the value of the deblocking filter override enable flag is 0 or the value of the syntax element dbf_info_in_ph_flag is 0, the second deblocking filter override flag may not be present.

[0268] In this case, according to the embodiment, the second deblocking filter disable flag may be configured / included in the PH if the value of the second deblocking filter override flag is 1. If the value of the second deblocking filter override flag is 0, the second deblocking filter disable flag may not be present.

[0269] Then, for example, when the value of the second deblocking filter unusable flag is 0, the second luma component filter parameter information and the second chroma component filter parameter information may be configured / included in the PH.

[0270] In this case, according to the embodiment, the second chroma component filter parameter information may be configured / included in the PH if the chroma deblocking parameter present flag has a value of 1 and the chroma deblocking filter override enable flag has a value of 1. If the chroma deblocking parameter present flag has a value of 0 or the chroma deblocking filter override enable flag has a value of 0, the second chroma component filter parameter information may not be present.

[0271] According to one embodiment, the SH may include the syntax of Table 22 below. The syntax of Table 22 below may be a part of the SH.

[0272] [Table 22]

[0273] Here, the semantics of the syntax elements included in the syntax of Table 22 above can be shown, for example, as in Tables 7 and 20 above.

[0274] The information associated with the deblocking filter may include the third deblocking filter override flag, the third deblocking filter disable flag, the third luma component filter parameter information, and the third chroma component filter parameter information.

[0275] According to the embodiment, as in the existing embodiment, when the value of the deblocking filter override enable flag is 1 and the value of the syntax element dbf_info_in_ph_flag is 0, the third deblocking filter override flag may be configured / included in the SH. When the value of the deblocking filter override enable flag is 0 or the value of the syntax element dbf_info_in_ph_flag is 1, the third deblocking filter override flag may not be present.

[0276] In this case, according to the embodiment, the third deblocking filter disable flag may be configured / included in the SH if the value of the third deblocking filter override flag is 1. If the value of the third deblocking filter override flag is 0, the third deblocking filter disable flag may not be present.

[0277] Then, for example, when the value of the third deblocking filter unusable flag is 0, the third luma component filter parameter information and the third chroma component filter parameter information may be configured / included in the SH.

[0278] In this case, according to the embodiment, the third chroma component filter parameter information may be configured / included in the SH if the chroma deblocking parameter present flag has a value of 1 and the chroma deblocking filter override enable flag has a value of 1. If the chroma deblocking parameter present flag has a value of 0 or the chroma deblocking filter override enable flag has a value of 0, the third chroma component filter parameter information may not be present.

[0279] The following drawings are created to explain a specific example of the present specification. The names of specific devices and names of specific signals / messages / fields described in the drawings are presented for illustrative purposes only, and the technical features of the present specification are not limited to the specific names used in the following drawings.

[0280] In this way, for various coded pictures / images including monochrome images, information related to a deblocking filter applied to a luma component and information related to a deblocking filter applied to a chroma component can be selectively transmitted, thereby deriving an effect of improving overall coding efficiency.

[0281] 11 and 12 are schematic diagrams illustrating an example of a video / image encoding method and associated components according to an embodiment of the present document.

[0282] The method disclosed in Fig. 11 may be performed by the encoding device disclosed in Fig. 2 or Fig. 12. Specifically, for example, S1100 in Fig. 11 may be performed by at least one of the residual processing unit 230, the prediction unit 220 and / or the addition unit 250 of the encoding device 200 in Fig. 12, S1110 and S1120 in Fig. 11 may be performed by the filtering unit 260 of the encoding device 200 in Fig. 12, and S1130 in Fig. 11 may be performed by the entropy encoding unit 240 of the encoding device 200. The method disclosed in Fig. 11 may include each embodiment described above in this document.

[0283] Referring to FIG. 11, the encoding apparatus generates reconstructed samples for a current block (S1100). As described in FIG. 2, the encoding apparatus may generate a reconstructed picture by partitioning an input original picture, intra / inter prediction, residual processing, and the like. Specifically, the encoding apparatus may generate predicted samples for a current block through intra or inter prediction, generate residual samples based on the predicted samples, transform / quantize the residual samples, and then inverse quantize / inverse transform the residual samples to derive (modified) residual samples. The encoding apparatus may generate a reconstructed block including reconstructed samples for the current block based on the predicted samples and the (modified) residual samples. The reconstructed picture may be generated based on the reconstructed block.

[0284] The encoding apparatus generates modified reconstructed samples by applying a deblocking filter to the reconstructed samples (S1110). The deblocking filtering procedure may generate modified reconstructed samples or reconstructed pictures. The modified reconstructed pictures may be stored in the decoded picture buffer or memory 270 as decoded pictures, and may then be used as reference pictures in an inter prediction procedure when encoding a picture.

[0285] The encoding device generates information related to the deblocking filter (S1120).

[0286] The information associated with the deblocking filter may include at least one of the deblocking filter control present flag, the chroma deblocking parameters present flag, the deblocking filter override enabled flag, the chroma deblocking filter override enabled flag, the first deblocking filter disabled flag, the first luma component filter parameter information, the first chroma component filter parameter information, the second deblocking filter override flag, the second deblocking filter disabled flag, the second luma component filter parameter information, the second chroma component filter parameter information, the third deblocking filter override flag, the third deblocking filter disabled flag, the third luma component filter parameter information, the third chroma component filter parameter information, and / or the chroma tool offset present flag.For example, the information related to the deblocking filter may be deblocking_filter_control_present_flag, pps_chroma_deblocking_params_present_flag, deblocking_filter_override_enabled_flag, chroma_deblocking_filter_override_enabled_flag, pps_deblocking_filter_disabled_flag, pps_beta_offset_div2, pps_tc_offset_div2, pps_cb_beta_offset_div2, pps_cb_tc_offset_div2, pps_cr_beta_offset_div2, pps_cr_tc_offset_div2, ph_deblocking_filter_override_flag, ph_deblocking_filter _disabled_flag, ph_beta_offset_div2, ph_tc_offset_div2, ph_cb_beta_offset_div2, ph_cb_tc_offset_div2, ph_cr_beta_offset_div2, ph_cr_tc_offset_div2, slice_deblocking_filter_override_flag, slice_deblocking_filter_disabled_flag, slice_beta_offset_div2, slice_tc_offset_div2, slice_cb_beta_offset_div2, slice_cb_tc_offset_div2, slice_cr_beta_offset_div2, slice_cr_tc_offset_div2 and / or at least one of the dbf_info_in_ph_flag syntax elements described above.

[0287] The encoding apparatus encodes video / image information (S1130). The video / image information may include information related to the deblocking filter. In addition, the video / image information may include various information according to the embodiments of the present document. For example, the video / image information may include information disclosed in at least one of Table 2, Table 4, Table 6, Table 8, Table 10, Table 11, Table 13, Table 14, Table 16, Table 18, Table 19, Table 21, and / or Table 22. In addition, the video / image information may include information for picture reconstruction. The information for picture reconstruction may include the prediction information, the residual information, and the like.

[0288] The encoded video / image information may be output in the form of a bitstream, which may be transmitted to a decoding device via a network or a storage medium.

[0289] In particular, the information associated with the deblocking filter may include various information according to embodiments of the present document.

[0290] According to one embodiment proposed in this document, the information related to the deblocking filter may include the chroma tool offset present flag and / or the first chroma component filter parameter information. For example, based on the case where the chroma tool offset present flag has a value of 1, the first chroma component filter parameter information may be included in the PPS.

[0291] According to an embodiment, the information associated with the deblocking filter may further include the second chroma component filter parameter information. The second chroma component filter parameter information may be associated with each deblocking parameter offset to be applied to a chroma component of each slice associated with the PH. In this case, the second chroma component filter parameter information may be included in the PH, for example, based on a case where the chroma tool offset present flag has a value of 1.

[0292] According to an embodiment, the information related to the deblocking filter may further include the third chroma component filter parameter information. The third chroma component filter parameter information may be related to each deblocking parameter offset applied to a chroma component of the current slice. In this case, the third chroma component filter parameter information may be included in the SH, for example, based on a case where the chroma tool offset presence flag is set to 1.

[0293] According to an embodiment, generating each of the modified reconstruction samples may include deriving a ChromaArrayType, which is a variable associated with a sampling format of each of the chroma components. In this case, for example, if the value of the ChromaArrayType is 0, the value of the first chroma component filter parameter information may be limited to 0.

[0294] According to an embodiment, generating the modified reconstruction samples may include deriving the chroma array type. The information associated with the deblocking filter may further include the second chroma component filter parameter information. The second chroma component filter parameter information may be associated with deblocking parameter offsets to be applied to chroma components of the slices associated with the PH. In this case, for example, a value of the second chroma component filter parameter information may be limited to 0 based on a case where the value of the chroma array type is 0.

[0295] According to an embodiment, generating the modified reconstructed samples may include deriving the chroma array type. The information associated with the deblocking filter may further include second chroma component filter parameter information. The second chroma component filter parameter information may be associated with deblocking parameter offsets to be applied to chroma components of each slice associated with the PH. In this case, the second chroma component filter parameter information may be included in the PH, for example, based on a case where the value of the chroma array type is not 0.

[0296] According to an embodiment, generating the modified reconstruction samples may include deriving the chroma array type. The information related to the deblocking filter may further include third chroma component filter parameter information. The third chroma component filter parameter information may be associated with deblocking parameter offsets applied to chroma components of the current slice. In this case, for example, a value of the third chroma component filter parameter information may be limited to 0 based on a case where the value of the chroma array type is 0.

[0297] According to an embodiment, generating the modified reconstructed samples may include deriving the chroma array type. The information associated with the deblocking filter may further include third chroma component filter parameter information. The third chroma component filter parameter information may be associated with deblocking parameter offsets applied to chroma components of the current slice. In this case, the third chroma component filter parameter information may be included in the SH, for example, based on a case where the value of the chroma array type is not 0.

[0298] According to an embodiment, the information related to the deblocking filter may further include the chroma deblocking parameter present flag and / or the chroma deblocking filter override enable flag. The chroma deblocking parameter present flag may be associated with whether chroma deblocking related information is present in the PPS. The chroma deblocking parameter present flag may be included in the PPS. The chroma deblocking filter override enable flag may be associated with whether chroma deblocking related information is present in the PH or the SH. In this case, for example, based on the case where the value of the chroma deblocking parameter present flag is 1, the chroma deblocking filter override enable flag may be included in the PPS.

[0299] According to an embodiment, the information associated with the deblocking filter may further include the deblocking filter override enable flag. The deblocking filter override enable flag may relate to whether a deblocking operation for each picture that references the PPS is redefined at a picture level or a slice level. Based on when the value of the deblocking filter override enable flag is 1, the chroma deblocking filter override enable flag may be included in the PPS.

[0300] According to an embodiment, the information associated with the deblocking filter may include the second chroma component filter parameter information, which may be associated with deblocking parameter offsets to be applied to chroma components of each slice associated with the PH, for example, when the chroma deblocking parameter present flag has a value of 1 and the chroma deblocking filter override enabled flag has a value of 1, the second chroma component filter parameter information may be included in the PH.

[0301] According to an embodiment, the information related to the deblocking filter may include the third chroma component filter parameter information. The third chroma component filter parameter information may be related to each deblocking parameter offset applied to a chroma component of a current slice. In this case, the third chroma component filter parameter information may be included in the SH, for example, based on a case where the chroma deblocking parameter present flag has a value of 1 and the chroma deblocking filter override enabled flag has a value of 1.

[0302] According to an embodiment, generating the modified reconstructed samples may include deriving the chroma array type, where, for example, a value of the chroma deblocking parameter present flag may be limited to 0 and a value of the chroma deblocking filter override enabled flag may be limited to 0 based on a case where the value of the chroma array type is 0.

[0303] 13 and 14 are schematic diagrams illustrating an example of a video / image decoding method and associated components according to embodiments of the present document.

[0304] The method disclosed in Fig. 13 may be performed by the decoding device disclosed in Fig. 3 or Fig. 14. Specifically, for example, S1300 in Fig. 13 may be performed by the entropy decoding unit 310 of the decoding device 300, S1310 may be performed by at least one of the residual processing unit 320, the prediction unit 330 and / or the addition unit 340 of the decoding device 300, and S1320 may be performed by the filtering unit 360 of the decoding device 300. The method disclosed in Fig. 13 may include each embodiment described above in this document.

[0305] 13, a decoding device receives / acquires video / image information (S1300). The decoding device may receive / acquire the video / image information through a bitstream. The video / image information may include information related to a deblocking filter.

[0306] The information associated with the deblocking filter may include at least one of the deblocking filter control present flag, the chroma deblocking parameters present flag, the deblocking filter override enabled flag, the chroma deblocking filter override enabled flag, the first deblocking filter disabled flag, the first luma component filter parameter information, the first chroma component filter parameter information, the second deblocking filter override flag, the second deblocking filter disabled flag, the second luma component filter parameter information, the second chroma component filter parameter information, the third deblocking filter override flag, the third deblocking filter disabled flag, the third luma component filter parameter information, the third chroma component filter parameter information, and / or the chroma tool offset present flag.For example, the information related to the deblocking filter may be deblocking_filter_control_present_flag, pps_chroma_deblocking_params_present_flag, deblocking_filter_override_enabled_flag, chroma_deblocking_filter_override_enabled_flag, pps_deblocking_filter_disabled_flag, pps_beta_offset_div2, pps_tc_offset_div2, pps_cb_beta_offset_div2, pps_cb_tc_offset_div2, pps_cr_beta_offset_div2, pps_cr_tc_offset_div2, ph_deblocking_filter_override_flag, ph_deblocking_filter _disabled_flag, ph_beta_offset_div2, ph_tc_offset_div2, ph_cb_beta_offset_div2, ph_cb_tc_offset_div2, ph_cr_beta_offset_div2, ph_cr_tc_offset_div2, slice_deblocking_filter_override_flag, slice_deblocking_filter_disabled_flag, slice_beta_offset_div2, slice_tc_offset_div2, slice_cb_beta_offset_div2, slice_cb_tc_offset_div2, slice_cr_beta_offset_div2, slice_cr_tc_offset_div2 and / or at least one of the dbf_info_in_ph_flag syntax elements described above.

[0307] The video / image information may include various information according to the embodiments of the present document. For example, the video / image information may include information disclosed in at least one of Tables 2, 4, 6, 8, 10, 11, 13, 14, 16, 18, 19, 21, and / or 22. The video / image information may include information for picture reconstruction. The information for picture reconstruction may include the prediction information, the residual information, and the like.

[0308] The decoding apparatus generates each reconstructed sample for the current block (S1310). As described in FIG. 3, the decoding apparatus may generate a reconstructed picture by a procedure such as intra / inter prediction and residual processing for the current picture. Specifically, the decoding apparatus generates each predicted sample for the current block through intra or inter prediction based on prediction information included in the information for picture reconstruction, and derives each residual sample for the current block based on residual information included in the information for picture reconstruction (inverse quantization / inverse transform based). The decoding apparatus may generate a reconstructed block including each reconstructed sample for the current block based on the predicted samples and the residual samples. The reconstructed picture may be generated based on the reconstructed block.

[0309] The decoding device generates modified reconstructed samples based on information related to the deblocking filter and the reconstructed samples (S1320). For example, the decoding device may generate modified reconstructed samples or modified reconstructed pictures by applying a deblocking filter to the reconstructed samples based on information related to the deblocking filter included in the video / image information. The modified reconstructed pictures may be output and / or stored in the decoded picture buffer or memory 360 as decoded pictures, and may then be used as reference pictures in an inter prediction procedure when decoding pictures.

[0310] In particular, the information associated with the deblocking filter may include various information according to embodiments of the present document.

[0311] According to one embodiment proposed in this document, the information related to the deblocking filter may include the chroma tool offset present flag and / or the first chroma component filter parameter information. For example, based on the case where the chroma tool offset present flag has a value of 1, the first chroma component filter parameter information may be included in the PPS.

[0312] According to an embodiment, the information associated with the deblocking filter may further include the second chroma component filter parameter information. The second chroma component filter parameter information may be associated with each deblocking parameter offset to be applied to a chroma component of each slice associated with the PH. In this case, the second chroma component filter parameter information may be included in the PH, for example, based on a case where the chroma tool offset present flag has a value of 1.

[0313] According to an embodiment, the information related to the deblocking filter may further include the third chroma component filter parameter information. The third chroma component filter parameter information may be related to each deblocking parameter offset applied to a chroma component of the current slice. In this case, the third chroma component filter parameter information may be included in the SH, for example, based on a case where the chroma tool offset presence flag is set to 1.

[0314] According to an embodiment, generating each of the modified reconstruction samples may include deriving a ChromaArrayType, which is a variable associated with a sampling format of each of the chroma components. In this case, for example, if the value of the ChromaArrayType is 0, the value of the first chroma component filter parameter information may be limited to 0.

[0315] According to an embodiment, generating the modified reconstruction samples may include deriving the chroma array type. The information associated with the deblocking filter may further include the second chroma component filter parameter information. The second chroma component filter parameter information may be associated with deblocking parameter offsets to be applied to chroma components of the slices associated with the PH. In this case, for example, a value of the second chroma component filter parameter information may be limited to 0 based on a case where the value of the chroma array type is 0.

[0316] According to an embodiment, generating the modified reconstructed samples may include deriving the chroma array type. The information associated with the deblocking filter may further include second chroma component filter parameter information. The second chroma component filter parameter information may be associated with deblocking parameter offsets to be applied to chroma components of each slice associated with the PH. In this case, the second chroma component filter parameter information may be included in the PH, for example, based on a case where the value of the chroma array type is not 0.

[0317] According to an embodiment, generating the modified reconstruction samples may include deriving the chroma array type. The information related to the deblocking filter may further include third chroma component filter parameter information. The third chroma component filter parameter information may be associated with deblocking parameter offsets applied to chroma components of the current slice. In this case, for example, a value of the third chroma component filter parameter information may be limited to 0 based on a case where the value of the chroma array type is 0.

[0318] According to an embodiment, generating the modified reconstructed samples may include deriving the chroma array type. The information associated with the deblocking filter may further include third chroma component filter parameter information. The third chroma component filter parameter information may be associated with deblocking parameter offsets applied to chroma components of the current slice. In this case, the third chroma component filter parameter information may be included in the SH, for example, based on a case where the value of the chroma array type is not 0.

[0319] According to an embodiment, the information related to the deblocking filter may further include the chroma deblocking parameter present flag and / or the chroma deblocking filter override enable flag. The chroma deblocking parameter present flag may be associated with whether chroma deblocking related information is present in the PPS. The chroma deblocking parameter present flag may be included in the PPS. The chroma deblocking filter override enable flag may be associated with whether chroma deblocking related information is present in the PH or the SH. In this case, for example, based on the case where the value of the chroma deblocking parameter present flag is 1, the chroma deblocking filter override enable flag may be included in the PPS.

[0320] According to an embodiment, the information associated with the deblocking filter may further include the deblocking filter override enable flag. The deblocking filter override enable flag may relate to whether a deblocking operation for each picture that references the PPS is redefined at a picture level or a slice level. Based on when the value of the deblocking filter override enable flag is 1, the chroma deblocking filter override enable flag may be included in the PPS.

[0321] According to an embodiment, the information associated with the deblocking filter may include the second chroma component filter parameter information, which may be associated with deblocking parameter offsets to be applied to chroma components of each slice associated with the PH, for example, when the chroma deblocking parameter present flag has a value of 1 and the chroma deblocking filter override enabled flag has a value of 1, the second chroma component filter parameter information may be included in the PH.

[0322] According to an embodiment, the information related to the deblocking filter may include the third chroma component filter parameter information. The third chroma component filter parameter information may be related to each deblocking parameter offset applied to a chroma component of a current slice. In this case, the third chroma component filter parameter information may be included in the SH, for example, based on a case where the chroma deblocking parameter present flag has a value of 1 and the chroma deblocking filter override enabled flag has a value of 1.

[0323] According to an embodiment, generating the modified reconstructed samples may include deriving the chroma array type, where, for example, a value of the chroma deblocking parameter present flag may be limited to 0 and a value of the chroma deblocking filter override enabled flag may be limited to 0 based on a case where the value of the chroma array type is 0.

[0324] In the above embodiments, the methods are described based on a flowchart having a sequence of steps or blocks, but the embodiments are not limited to the order of steps, and a step may occur in a different order or simultaneously than described above. In addition, a person skilled in the art will understand that the steps shown in the flowcharts are not exclusive, and other steps may be included, or one or more steps of the flowcharts may be omitted without affecting the scope of the embodiments of this document.

[0325] The methods according to each embodiment of this document described above may be embodied in the form of software, and the encoding device and / or decoding device according to this document may be included in a device that performs image processing, such as a TV, a computer, a smartphone, a set-top box, or a display device.

[0326] In this document, when each embodiment is embodied in software, the above-mentioned method may be embodied in a module (process, function, etc.) performing the above-mentioned function. The module may be stored in a memory and executed by a processor. The memory may be inside or outside the processor, and may be coupled to the processor by various known means. The processor may include an application-specific integrated circuit (ASIC), other chipsets, logic circuits, and / or data processing devices. The memory may include a read-only memory (ROM), a random access memory (RAM), a flash memory, a memory card, a storage medium, and / or other storage devices. That is, each embodiment described in this document may be embodied and executed on a processor, microprocessor, controller, or chip. For example, each functional unit shown in each drawing may be embodied and executed on a computer, processor, microprocessor, controller, or chip. In this case, information (e.g., information on instructions) or algorithms for implementation may be stored in a digital storage medium.

[0327] In addition, the decoding device and the encoding device to which the embodiment of this document is applied may be included in a multimedia broadcast transmitting / receiving device, a mobile communication terminal, a home cinema video device, a digital cinema video device, a surveillance camera, a video conversation device, a real-time communication device such as a video communication, a mobile streaming device, a storage medium, a camcorder, a video on demand (VoD) service providing device, an OTT video (Over The Top video) device, an Internet streaming service providing device, a three-dimensional (3D) video device, a VR (Virtual Reality) device, an AR (Augmented Reality) device, a video telephone video device, a means of transportation terminal (e.g., a vehicle (including an autonomous vehicle) terminal, an airplane terminal, a ship terminal, etc.), and a medical video device, and may be used to process a video signal or a data signal. For example, an OTT video (Over The Top video) device may include a game console, a Blu-ray player, an Internet-connected TV, a home theater system, a smartphone, a tablet PC, a DVR (Digital Video Recorder), etc.

[0328] In addition, the processing method to which the embodiments of this document are applied may be produced in the form of a program executed by a computer, and may be stored in a computer-readable recording medium. Multimedia data having a data structure according to the embodiments of this document may also be stored in a computer-readable recording medium. The computer-readable recording medium includes all kinds of storage devices and distributed storage devices in which computer-readable data is stored. The computer-readable recording medium may include, for example, a Blu-ray Disc (BD), a Universal Serial Bus (USB), a ROM, a PROM, an EPROM, an EEPROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, and an optical data storage device. The computer-readable recording medium may also include a medium embodied in the form of a carrier wave (e.g., transmission via the Internet). In addition, a bit stream generated by the encoding method may be stored in a computer-readable recording medium or transmitted via a wired or wireless communication network.

[0329] Furthermore, the embodiments of the present document may be embodied as a computer program product by program code, which may be executed by a computer according to the embodiments of the present document. The program code may be stored on a computer readable carrier.

[0330] FIG. 15 is a diagram illustrating an example of a content streaming system to which the embodiments disclosed in this document can be applied.

[0331] Referring to FIG. 15, a content streaming system to which the embodiments of this document are applied can roughly include an encoding server, a streaming server, a web server, a media storage, a user device, and a multimedia input device.

[0332] The encoding server generates a bitstream by compressing the content input from each multimedia input device such as a smartphone, a camera, a camcorder, etc. into digital data and transmits the bitstream to the streaming server. As another example, if each multimedia input device such as a smartphone, a camera, a camcorder, etc. directly generates a bitstream, the encoding server may be omitted.

[0333] The bitstream may be generated by an encoding method or a bitstream generation method to which each embodiment of this document is applied, and the streaming server may temporarily store the bitstream in the process of transmitting or receiving the bitstream.

[0334] The streaming server transmits multimedia data to a user device based on a user request via a web server, and the web server acts as a medium to inform the user of available services. When a user requests a desired service from the web server, the web server transfers the request to the streaming server, and the streaming server transmits multimedia data to the user. At this time, the content streaming system may include a separate control server, and in this case, the control server controls commands / responses between devices in the content streaming system.

[0335] The streaming server may receive the content from a media storage and / or an encoding server. For example, when receiving the content from the encoding server, the content may be received in real time. In this case, the streaming server may store the bitstream for a certain period of time in order to provide a smooth streaming service.

[0336] Examples of the user devices include mobile phones, smart phones, laptop computers, digital broadcasting terminals, Personal Digital Assistants (PDAs), Portable Multimedia Players (PMPs), navigation systems, slate PCs, tablet PCs, ultrabooks (ULTRABOOK (registered trademark)), wearable devices (e.g., smart watches (watch-type terminals), smart glass (glass-type terminals), and Head Mounted Displays (HMDs)), digital TVs, desktop computers, and digital signage.

[0337] Each server in the content streaming system may be operated as a distributed server, in which case data received by each server may be processed in a distributed manner.

[0338] The claims described herein may be combined in various ways. For example, the technical features of the method claims herein may be combined and embodied as an apparatus, the technical features of the apparatus claims herein may be combined and embodied as a method, the technical features of the method claims herein and the technical features of the apparatus claims herein may be combined and embodied as an apparatus, and the technical features of the method claims herein and the technical features of the apparatus claims herein may be combined and embodied as a method.

Claims

1. A video decoding method performed by a decoding device, comprising: obtaining video information through a bitstream, the video information having information related to a deblocking filter; generating respective reconstruction samples for the current block; generating modified reconstructed samples based on information associated with the deblocking filter and the reconstructed samples; the information associated with the deblocking filter comprises a chroma tool offset present flag and first chroma component filter parameter information; The first chroma component filter parameter information is associated with each deblocking parameter offset to be applied to a chroma component of each slice referring to a Picture Parameter Set (PPS), 4. A video decoding method, comprising: based on a case where the value of the chroma tool offset present flag is 1, the first chroma component filter parameter information is included in the PPS.

2. The information associated with the deblocking filter further comprises second chroma component filter parameter information; The second chroma component filter parameter information is associated with each deblocking parameter offset applied to a chroma component of each slice associated with a picture header (PH), The video decoding method of claim 1 , wherein the second chroma component filter parameter information is included in the PH when the value of the chroma tool offset presence flag is 1.

3. The information associated with the deblocking filter further comprises third chroma component filter parameter information; The third chroma component filter parameter information is associated with a respective deblocking parameter offset to be applied to a chroma component of a current slice; The video decoding method of claim 1 , wherein the third chroma component filter parameter information is included in a slice header (SH) when the chroma tool offset presence flag is set to 1.

4. The step of generating each of the modified reconstructed samples includes deriving a chroma array type (ChromaArrayType) which is a variable associated with a sampling format of each chroma component; The image decoding method of claim 1 , wherein a value of the first chroma component filter parameter information is limited to 0 when the value of the chroma array type is 0.

5. The step of generating each of the modified reconstructed samples includes deriving a chroma array type, the chroma array type being a variable associated with a sampling format of each of the chroma components; The information associated with the deblocking filter further comprises second chroma component filter parameter information; The second chroma component filter parameter information is associated with each deblocking parameter offset to be applied to a chroma component of each slice associated with a picture header (PH), The image decoding method of claim 1 , wherein a value of the second chroma component filter parameter information is limited to 0 when the value of the chroma array type is 0.

6. The step of generating each of the modified reconstructed samples includes deriving a chroma array type, the chroma array type being a variable associated with a sampling format of each of the chroma components; The information associated with the deblocking filter further comprises second chroma component filter parameter information; The second chroma component filter parameter information is associated with each deblocking parameter offset to be applied to a chroma component of each slice associated with a picture header (PH), The video decoding method of claim 1 , wherein the second chroma component filter parameter information is included in the PH when the value of the chroma array type is not 0.

7. The step of generating each of the modified reconstructed samples includes deriving a chroma array type, the chroma array type being a variable associated with a sampling format of each of the chroma components; The information associated with the deblocking filter further comprises third chroma component filter parameter information; The third chroma component filter parameter information is associated with a respective deblocking parameter offset to be applied to a chroma component of a current slice; The image decoding method of claim 1 , wherein a value of the third chroma component filter parameter information is limited to 0 when the value of the chroma array type is 0.

8. The step of generating each of the modified reconstructed samples includes deriving a chroma array type, the chroma array type being a variable associated with a sampling format of each of the chroma components; The information associated with the deblocking filter further comprises third chroma component filter parameter information; The third chroma component filter parameter information is associated with a respective deblocking parameter offset to be applied to a chroma component of a current slice; The video decoding method of claim 1 , wherein the third chroma component filter parameter information is included in a slice header (SH) when the value of the chroma array type is not 0.

9. the information associated with the deblocking filter further comprises a chroma deblocking parameters present flag and a chroma deblocking filter override enabled flag; The chroma deblocking parameter present flag is associated with whether chroma deblocking related information is present in the PPS, and the chroma deblocking parameter present flag is included in the PPS; The chroma deblocking filter override enable flag is associated with whether chroma deblocking related information is present in a picture header (PH) or a slice header (SH); The video decoding method of claim 1 , wherein the chroma deblocking filter override enable flag is included in the PPS based on a case where the chroma deblocking parameter present flag has a value of 1.

10. The information associated with the deblocking filter further comprises a deblocking filter override enable flag; The deblocking filter override enable flag is associated with whether a deblocking operation for each picture that references the PPS is redefined at a picture level or a slice level; The video decoding method of claim 9 , wherein the chroma deblocking filter override enable flag is included in the PPS based on a case where the deblocking filter override enable flag has a value of 1.

11. the information associated with the deblocking filter comprises second chroma component filter parameter information; The second chroma component filter parameter information is associated with a respective deblocking parameter offset to be applied to a chroma component of each slice associated with the PH; The video decoding method of claim 9, wherein the second chroma component filter parameter information is included in the PH based on the case where the value of the chroma deblocking parameter presence flag is 1 and the value of the chroma deblocking filter override enable flag is 1.

12. the information associated with the deblocking filter comprises third chroma component filter parameter information; The third chroma component filter parameter information is associated with a respective deblocking parameter offset to be applied to a chroma component of a current slice; The video decoding method of claim 9, wherein the third chroma component filter parameter information is included in the SH based on the case where the value of the chroma deblocking parameter presence flag is 1 and the value of the chroma deblocking filter override enable flag is 1.

13. The step of generating each of the modified reconstructed samples includes deriving a chroma array type, the chroma array type being a variable associated with a sampling format of each of the chroma components; Based on the case where the value of the chroma array type is 0, the value of the chroma deblocking parameters present flag is limited to 0; The video decoding method of claim 9 , wherein the value of the chroma deblocking filter override enable flag is limited to 0 when the value of the chroma array type is 0.

14. A video encoding method performed by an encoding device, comprising: generating respective reconstruction samples for the current block; generating modified reconstructed samples by applying a deblocking filter to each of the reconstructed samples; generating information associated with the deblocking filter; encoding video information having information associated with the deblocking filter; the information associated with the deblocking filter comprises a chroma tool offset present flag and first chroma component filter parameter information; The first chroma component filter parameter information is associated with each deblocking parameter offset to be applied to a chroma component of each slice that references a picture parameter set (PPS), 4. The video encoding method, comprising: based on a case where the value of the chroma tool offset present flag is 1, the first chroma component filter parameter information is included in the PPS.

15. 1. A computer-readable digital storage medium storing encoded information for causing a decoding device to perform a video decoding method, the video decoding method comprising: obtaining image information through the encoded information, the image information having information related to a deblocking filter; generating respective reconstruction samples for the current block; generating modified reconstructed samples based on information associated with the deblocking filter and the reconstructed samples; the information associated with the deblocking filter comprises a chroma tool offset present flag and first chroma component filter parameter information; The first chroma component filter parameter information is associated with each deblocking parameter offset to be applied to a chroma component of each slice that references a picture parameter set (PPS), 4. The computer-readable digital storage medium of claim 3, wherein the first chroma component filter parameter information is included in the PPS based on a case where the value of the chroma tool offset present flag is one.

Citation Information

Patent Citations

  • Deblocking parameters for chroma components

    JP2023513519A

  • Image processing device and method

    WO2016056398A1

  • Deblocking parameters for chroma component

    WO2021155834A1