Video coding method based on chroma deblocking parameter information for black and white images in a video or image coding system.

Efficient signaling of chroma deblocking parameters in video/image coding systems enhances compression efficiency for high-resolution and immersive media, addressing the need for cost-effective transmission and storage of high-quality videos.

JP7862316B2Active Publication Date: 2026-05-19NOKIA TECHNOLOGIES OY
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
NOKIA TECHNOLOGIES OY
Filing Date
2021-03-30
Publication Date
2026-05-19

AI Technical Summary

Technical Problem

The increasing demand for high-resolution and high-quality videos, such as 4K or 8K, and immersive media like VR and AR, necessitates a highly efficient video/image compression technology to reduce transmission and storage costs while maintaining quality.

Method used

A method and apparatus for efficiently signaling chroma deblocking parameter information at various levels, including PPS and SH levels, for black and white images, allowing selective signaling of deblocking parameters for luminance and chrominance components in video/images of various color formats.

Benefits of technology

Improves overall video/image compression efficiency by enabling efficient signaling of deblocking filter information, enhancing coding efficiency for black and white images.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007862316000025
    Figure 0007862316000025
  • Figure 0007862316000026
    Figure 0007862316000026
  • Figure 0007862316000027
    Figure 0007862316000027
Patent Text Reader

Abstract

According to the disclosure of this document, information related to a deblocking filter for performing deblocking filtering may include chroma component filter parameter information related to each deblocking parameter offset applied to a chroma component, and the chroma component filter parameter information may be selectively signaled based on a chroma tool offset presence flag. Thus, by signaling the chroma component filter parameter information only when the image is not black and white, an effect of improving overall coding efficiency may be derived.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

Background Art

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

[0003] Also, in recent years, the interest and demand for immersive media such as VR (Virtual Reality), AR (Artificial Reality) content, and holograms have been increasing, and the broadcasting of videos / images with video characteristics different from real-world videos, such as game videos, has been increasing.

[0004] Therefore, a highly efficient video / image compression technology is required to effectively compress, transmit, store, and reproduce the information of high-resolution and high-quality videos / images with various characteristics as described above.

Summary of the Invention

Means for Solving the Problems

[0005] According to an embodiment of this document, a method and apparatus for enhancing video / image coding efficiency are provided.

[0006] According to one embodiment of this document, a method and apparatus for efficiently signaling information related to a deblocking filter are provided.

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

[0008] According to one embodiment of this document, a method and apparatus for efficiently signaling chroma deblocking parameter information for black and white images at PH levels is provided.

[0009] According to one embodiment of this document, a method and apparatus for efficiently signaling chroma deblocking parameter information for black and white images at SH level are provided.

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

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

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

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

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

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

[0016] According to one embodiment of this document, a computer-readable digital storage medium is provided which stores encoded information or encoded video / image information, which is configured to be used by a decoding device to perform the video / image decoding method disclosed in at least one of the embodiments of this document. [Effects of the Invention]

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

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

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

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

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

[0022] According to one embodiment of this document, deblocking parameter information applied to the luminous component and / or deblocking parameter information applied to the chroma component can be selectively signaled in video / images of various color formats. [Brief explanation of the drawing]

[0023] [Figure 1] A diagram schematically showing an example of a video / video coding system to which each embodiment of this document can be applied. [Figure 2] A diagram schematically explaining the configuration of a video / video encoding device to which each embodiment of this document can be applied. [Figure 3] A diagram schematically explaining the configuration of a video / video decoding device to which each embodiment of this document can be applied. [Figure 4] A diagram exemplarily showing a hierarchical structure regarding coded video / video. [Figure 5] A diagram exemplarily showing the positions of each luma sample and each chroma sample within a picture according to a chroma format. [Figure 6] A diagram schematically showing an example of an in-loop filtering-based video / video encoding method and a filtering section within an encoding device. [Figure 7] A diagram schematically showing an example of an in-loop filtering-based video / video encoding method and a filtering section within an encoding device. [Figure 8] A diagram schematically showing an example of an in-loop filtering-based video / video decoding method and a filtering section within a decoding device. [Figure 9] A diagram schematically showing an example of an in-loop filtering-based video / video decoding method and a filtering section within a decoding device. [Figure 10] A diagram schematically showing an example of a deblocking filtering process. [Figure 11] A diagram schematically showing an example of a video / video encoding method and related components according to an embodiment of this document. [Figure 12] A diagram schematically showing an example of a video / video encoding method and related components according to an embodiment of this document. [Figure 13]This figure schematically illustrates an example of a video / image decoding method and related components according to the embodiments described in this document. [Figure 14] This figure schematically illustrates an example of a video / image decoding method and related components according to the embodiments described in this document. [Figure 15] This figure shows an example of a content streaming system to which each embodiment disclosed in this document may be applied. [Modes for carrying out the invention]

[0024] This document may be modified in various ways and may have various embodiments; however, specific embodiments are illustrated in the drawings and described in detail. This is not intended to limit this document to any particular embodiment. The terms used herein are used solely to describe specific embodiments and are not intended to limit the technical ideas of this document. Singular expressions include plural expressions unless otherwise specified in the context. In this document, terms such as "includes" or "has" are used to specify the existence of features, figures, stages, operations, components, parts, or combinations thereof described in the specification, and should be understood not to preemptively exclude the possibility of the existence or addition of one or more other features, figures, stages, operations, components, parts, or combinations thereof.

[0025] On the other hand, each configuration shown in the diagrams described in this document is shown independently for the convenience of explaining its different characteristic functions, and does not mean that each configuration is embodied as separate hardware or separate software. For example, two or more of the configurations may be combined to form one configuration, and one configuration may be divided into multiple configurations. Embodiments in which each configuration is integrated and / or separated are also included in the scope of the rights of this document, as long as they do not deviate from the essence of this document.

[0026] Preferred embodiments of this document will be described in more detail below with reference to the attached drawings. Hereafter, the same reference numerals may be used for identical components in the drawings, and redundant descriptions of identical components may be omitted.

[0027] Figure 1 is a schematic diagram illustrating an example of a video / image coding system to which each embodiment of this document may be applied.

[0028] Referring to Figure 1, a video / image coding system may include a first device (source device) and a second device (receiving device). The source device can 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 network.

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

[0030] A video source can acquire video / images through video / image capture, synthesis, or generation processes. A video source may include video / image capture devices and / or video / image generation devices. Video / image capture devices may include, for example, one or more cameras, or video / image archives containing previously captured video / images. Video / image generation devices may include, for example, computers, tablets, and smartphones, and can generate video / images (electronically). For example, virtual video / images may be generated by a computer, in which case the video / image capture process may be replaced by the process of generating the associated data.

[0031] An encoding device can encode input video / image data. An encoding device can perform a series of steps such as prediction, transformation, and quantization 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 can transmit encoded video / image information or data output in the form of a bitstream to the receiving unit of a receiving device via a digital storage medium or network in the form of a file or streaming. The digital storage medium can include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD. The transmitting unit may include elements for generating media files in a predetermined file format and elements for transmission via a broadcast / communication network. The receiving unit can receive / extract the bitstream and transmit it to a decoding device.

[0033] A decoding device can decode video / images by performing a series of steps such as inverse quantization, inverse transformation, and prediction, corresponding to the operation of an encoding device.

[0034] A renderer can render decoded video / images. Rendered video / images can then be displayed on the display unit.

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

[0036] This document presents various examples of video / image coding, and unless otherwise specified, these examples may be combined with each other.

[0037] In this document, video can mean a collection of images in a sequence over time. A picture generally means a unit representing a single image at a specific time point in time, and a slice / tile is a unit that constitutes part of a picture in coding. A slice / tile can contain one or more Coding Tree Units (CTUs). A single picture can consist 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 having a height equal to the height of the picture and a width specified by syntax elements 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 can represent 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 single picture can be divided into two or more subpictures. A subpicture can be a rectangular region of one or more slices within a picture.

[0039] A pixel or pel can refer to the smallest unit that makes up a picture (or image). The term "sample" can also be used as a counterpart to pixel. A sample can generally represent a pixel or a pixel value, and may represent only the luma component pixel / pixel value, or only the chroma component pixel / pixel value.

[0040] A unit can represent a basic unit of image processing. A unit can include at least one of a specific region of a picture and information associated with that region. A unit can include one luma block and two chroma (e.g., cb, cr) blocks. The term unit may be used interchangeably with terms such as block or area. In general, an MxN block can include each sample (or sample array) or 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." Alternatively, 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] The " / " and "," used in this document 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." Furthermore, 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 equivalent to "at least one of A and B."

[0044] Furthermore, 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." Also, "at least one of A, B or C" or "at least one of A, B and / or C" can mean "at least one of A, B and C."

[0045] Furthermore, the parentheses used in this document can 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." Also, 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 individually in each drawing may be embodied individually or simultaneously.

[0047] Figure 2 is a schematic diagram illustrating the configuration of a video / image encoding device to which each embodiment of this document may be applied. Hereinafter, the encoding device may include an image encoding device and / or a video encoding device.

[0048] Referring to Figure 2, the encoding device 200 may be configured to 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 addition unit 250 may be called a reconstruction unit or a reconstructed block generator. The video splitting unit 210, prediction unit 220, residual processing unit 230, entropy encoding unit 240, addition unit 250, and filtering unit 260 described above may be composed of one or more hardware components (e.g., an encoder chipset or processor) depending on the embodiment. The memory 270 may also include a DPB (Decoded Picture Buffer) and may be composed of a digital storage medium. The hardware components may further include the memory 270 as an internal / external component.

[0049] The video splitting unit 210 can split the input video (or picture, frame) input to the encoding device 200 into one or more processing units. For example, the processing units may be called coding units (CUs). In this case, a coding unit may be recursively split from a coding tree unit (CTU) or a largeest coding unit (LCU) using a QTBTTT (Quad-Tree Binary-Tree Ternary-Tree) structure. For example, one coding unit may be split into multiple coding units of 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, followed by the binary-tree structure and / or the ternary-tree structure. Alternatively, the binary-tree structure may be applied first. Based on the final coding unit that is not further split, the coding procedure according to this document may be performed. In this case, based on coding efficiency due to video characteristics, the largest coding unit may be immediately used as the final coding unit, or, if necessary, the coding unit may be recursively divided into further lower-depth coding units, and the optimally sized coding unit may be used as the final coding unit. Here, the coding procedure may include procedures such as prediction, transformation, and reconstruction, which will be described later. As another example, the processing unit may further include a prediction unit (PU) or a transformation unit (TU). In this case, the prediction unit and the transformation unit may be separated or partitioned from the final coding unit described above. The prediction unit may be a unit of sample prediction, and the transformation unit may be a unit for deriving (inducing) transformation coefficients and / or a unit for deriving a residual signal from transformation coefficients.

[0050] The term "unit" may, in some cases, be used interchangeably with terms such as "block" or "region." Generally, an MxN block can represent a set of samples or transformation coefficients consisting of M columns and N rows. A sample can generally represent a pixel or pixel value, and may represent only the pixel / pixel value of the luminance (luma) component, or only the pixel / pixel value of the chroma component. A sample may be used as a term corresponding to a pixel or perimeter in a single picture (or image).

[0051] The encoding device 200 can subtract the predicted signal (predicted block, predicted sample array) output from the inter-prediction unit 221 or intra-prediction unit 222 from the 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 shown in the figure, the unit that subtracts the predicted signal (predicted block, predicted sample array) from the input video signal (original block, original sample array) within the encoder 200 may be called the subtraction unit 231. The prediction unit can make predictions for the block to be processed (hereinafter referred to as the current block) and generate a predicted block containing each predicted sample for the current block. The prediction unit can determine whether intra-prediction or inter-prediction is applied on a current block or CU basis. The prediction unit can generate various types of prediction-related information, such as prediction mode information, as will be described later in the explanation of each prediction mode, and transmit this information to the entropy encoding unit 240. The prediction-related information can be encoded by the entropy encoding unit 240 and then output in the form of a bitstream.

[0052] The intra-prediction unit 222 can predict the current block by referring to samples in the current picture. Each of the referenced samples may be located in the vicinity (neighbor) or at a distance from the current block, depending on the prediction mode. In intra-prediction, each prediction mode may include multiple non-directional modes and multiple directional modes. Non-directional modes may include, for example, DC mode and planar mode. 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 illustrative, and more or fewer directional prediction modes may be used depending on the settings. The intra-prediction unit 222 can also determine the prediction mode to apply to the current block using the prediction modes applied to the surrounding blocks.

[0053] The interprediction unit 221 can derive predicted blocks for the current block based on reference blocks (reference sample arrays) identified by motion vectors on the reference picture. In this case, in order to reduce the amount of motion information transmitted in interprediction mode, motion information can be predicted in units of blocks, subblocks, or samples based on the correlation of motion information between neighboring blocks and the current block. The motion information may include motion vectors and reference picture indices. The motion information may further include interprediction direction information (L0 prediction, L1 prediction, Bi prediction, etc.). In interprediction, neighboring blocks may include spatial neighboring blocks that exist in the current picture and temporal neighboring blocks that exist in the reference picture. The reference picture containing the above reference blocks and the reference picture containing the above temporal neighboring blocks may be the same or different. The above temporal neighboring blocks may also be called collocated reference blocks (colCU), and the reference picture containing the above temporal neighboring blocks may be called collocated picture (colPic). For example, the interpretation unit 221 can construct a motion information candidate list based on surrounding blocks and generate information indicating which candidate is used to derive the motion vector and / or reference picture index of the current block. Interpretation may be performed based on various prediction modes; for example, in skip mode and merge mode, the interpretation unit 221 can use the motion information of surrounding blocks as the motion information of the current block. In skip mode, unlike merge mode, the residual signal does not need to be transmitted.In Motion Vector Prediction (MVP) mode, the motion vectors of surrounding blocks are used as motion vector predictors, and the motion vector difference is signaled to indicate the motion vector of the current block.

[0054] The prediction unit 220 can generate prediction signals based on various prediction methods described later. For example, the prediction unit can apply intra-prediction or inter-prediction for a prediction for a single block, or it can apply intra-prediction and inter-prediction simultaneously. This can 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 predictions for blocks. The above IBC prediction mode or palette mode can be used for content video / moving video (video) coding such as in games, for example, as in SCC (Screen Content Coding). IBC basically performs predictions within the current picture, but it can be performed similarly to inter-prediction in that it derives reference blocks within the current picture. That is, IBC can use at least one of the inter-prediction techniques described in this document. Palette mode can be considered an example of intra-coding or intra-prediction. When palette mode is applied, sample values ​​within a picture can be signaled based on information about the palette table and palette index.

[0055] The prediction signal generated through the above prediction unit (including the inter-prediction unit 221 and / or the intra-prediction unit 222) may be used to generate a reconstructed signal or a residual signal. The transformation unit 232 can apply a transformation technique to the residual signal to generate transformation coefficients. For example, the transformation technique may include at least one of DCT (Discrete Cosine Transform), DST (Discrete Sine Transform), GBT (Graph-Based Transform), and CNT (Conditionally Non-linear Transform). Here, GBT refers to a transformation obtained from a graph when the relationship information between pixels is represented by a graph. CNT refers to a transformation obtained by generating a prediction signal using all previously reconstructed pixels and based on that. The transformation process may also be applied to pixel blocks of the same size and square shape, or to non-square blocks of variable size.

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

[0057] Each quantized conversion coefficient output from the quantization unit 233 can be used to generate a prediction signal. For example, by applying inverse quantization and inverse transformation to each quantized conversion coefficient in the inverse quantization unit 234 and the inverse transformation unit 235, the residual signal (residual block or each residual sample) can be reconstructed. The adder unit 250 can 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 block to be processed, such as when skip mode is applied, the predicted block can be used as the reconstructed block. The adder unit 250 may be called the reconstruction unit or reconstructed block generation unit. The generated reconstructed signal may be used for intra-prediction of the next block to be processed in the current picture, or, as described later, may be used for inter-prediction of the next picture after filtering.

[0058] On the other hand, LMCS (Luma Mapping with Chroma Scaling) may be applied during the picture encoding and / or restoration process.

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

[0060] The corrected restored picture transmitted to memory 270 can be used as a reference picture in the interpretation unit 221. This allows the encoding device to avoid prediction mismatches between the encoding device 200 and the decoding device when interpretation is applied, and also improves encoding efficiency.

[0061] The DPB in memory 270 can store the corrected restored picture for use as a reference picture in the inter-prediction unit 221. Memory 270 can store motion information of blocks from which motion information in the current picture has been derived (or encoded) and / or motion information of each block in the already restored picture. The stored motion information can be transmitted to the inter-prediction unit 221 for use as motion information of spatially surrounding blocks or motion information of temporally surrounding blocks. Memory 270 can store each restored sample of each restored block in the current picture and transmit it to the intra-prediction unit 222.

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

[0063] Referring to Figure 3, the decoding device 300 may be configured to include an entropy decoder (310), a residual processor (320), a predictor (330), an adder (340), a filter (350), and a memory (360). The predictor (330) may include an inter-predictor (331) and an intra-predictor (332). The residual processor (320) may include a dequantizer (321) and an inverse transformer (321). The entropy decoder (310), residual processor (320), predictor (330), adder (340), and filter (350) described above may be configured by a single hardware component (e.g., a decoder chipset or processor) according to one embodiment. The memory (360) may include a Decoded Picture Buffer (DPB) and may be configured by a digital storage medium. The above hardware components may also include Memory 360 as an internal / external component.

[0064] When a bitstream containing video / image information is input, the decoding device 300 can reconstruct the image corresponding to the process by which the video / image information was processed in the encoding device shown in Figure 2. For example, the decoding device 300 can derive each unit / block based on block division-related information obtained from the bitstream. The decoding device 300 can perform decoding using the processing units applied in the encoding device. Therefore, the decoding processing unit may be, for example, a coding unit, which may be divided from a coding tree unit or a maximum coding unit by a quadtree structure, a binary tree structure and / or a ternary tree structure. One or more conversion units may be derived from the coding unit. The reconstructed video signal decoded and output by the decoding device 300 can then be reproduced by a playback device.

[0065] The decoding device 300 can receive the signal output from the encoding device shown in Figure 2 in the form of a bitstream, and the received signal can be decoded by the entropy decoding unit 310. For example, the entropy decoding unit 310 can purge the bitstream and derive information necessary for video restoration (or picture restoration) (e.g., video / image information). The video / image information may further include information about various parameter sets such as the adaptation parameter set (APS), picture parameter set (PPS), sequence parameter set (SPS), or video parameter set (VPS). The video / image information may also further include general constraint information. The decoding device can decode the picture based on the parameter set information and / or the general constraint information. The signaling / received information and / or each syntax element described later in this document can be decoded by the decoding procedure and obtained from the bitstream. For example, the entropy decoding unit 310 can decode information in the bitstream based on a coding method such as exponential Golomb coding, CAVLC, or CABAC, and output the values ​​of the syntax elements necessary for image reconstruction and the quantized values ​​of the conversion coefficients related to the residuals. More specifically, the CABAC entropy decoding method receives bins corresponding to each syntax element in the bitstream, determines a context model using the syntax element information to be decoded, the decoding information of the surrounding and decoded blocks, or the symbol / bin information decoded in a previous stage, predicts the probability of bin occurrence based on the determined context model, performs arithmetic decoding of the bins, and generates symbols corresponding to the values ​​of each syntax element. At this time, after determining the context model, the CABAC entropy decoding method can update the context model using the symbol / bin information decoded for the context model of the next symbol / bin.Information related to predictions from the information decoded by the entropy decoding unit 310 is provided to the prediction unit (inter-prediction unit 332 and intra-prediction unit 331), and residual values ​​from entropy decoding performed by the entropy decoding unit 310, i.e., each quantized conversion coefficient and related parameter information, can be input to the residual processing unit 320. The residual processing unit 320 can derive residual signals (residual blocks, each residual sample, residual sample array). In addition, information related to filtering from the information decoded by the entropy decoding unit 310 can be provided to the filtering unit 350. On the other hand, a receiving unit (not shown) that receives the 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. On the other hand, the decoding device described in this document can be called a video / image / picture decoding device, and the decoding device can also 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 decoding unit 310, and the sample decoder may include at least one of the inverse quantization unit 321, inverse transformation unit 322, addition unit 340, filtering unit 350, memory 360, inter-prediction unit 332, and intra-prediction unit 331.

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

[0067] The inverse transform unit 322 performs an inverse transform on each transformation coefficient to obtain residual signals (residual blocks, residual sample arrays).

[0068] The prediction unit 330 can make a prediction for the current block and generate a predicted block containing the predicted sample for the current block. Based on the information about the prediction output from the entropy decoding unit 310, the prediction unit 330 can determine whether intra-prediction or inter-prediction is applied to the current block and can determine a specific intra / inter-prediction mode.

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

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

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

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

[0073] The addition unit 340 can be called a restoration unit or a restoration block generation unit. The generated restoration signal may be used for intra-prediction of the next block to be processed in the current picture, or it may be output after filtering as described later, or it may be used for intra-prediction of the next picture.

[0074] On the other hand, LMCS (Luma Mapping with Chroma Scaling) may be applied during the picture decoding process.

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

[0076] The (modified) restored picture stored in the DPB of memory 360 can be used as a reference picture in the inter-prediction unit 332. Memory 360 can store motion information of blocks from which motion information in the current picture has been derived (or decoded) and / or motion information of each block in the already restored picture. The stored motion information can be transmitted to the inter-prediction unit 332 for use as motion information of spatially surrounding blocks or motion information of temporally surrounding blocks. Memory 360 can store each restored sample of each restored block in the current picture and transmit it to the intra-prediction unit 331.

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

[0078] As described above, predictions are made during video coding to improve compression efficiency. This allows for the generation of predicted blocks containing each predicted sample for the current block, which is the block to be coded. Here, the predicted blocks contain each predicted sample in the spatial domain (or pixel domain). The predicted blocks are derived identically by the encoding and decoding devices, and the encoding device can improve video coding efficiency by signaling the decoding device not the original sample values ​​of the original block themselves, but information about the residuals between the original block and the predicted blocks (residual information). Based on the residual information, the decoding device can derive residual blocks containing each residual sample, and by combining the residual blocks and the predicted blocks, can generate restored blocks containing each restored sample, and can generate restored pictures containing each restored block.

[0079] The residual information described above can be generated by transformation and quantization procedures. For example, an encoding device can derive a residual block between the original block and the predicted block, perform a transformation procedure on each residual sample (residual sample array) contained in the residual block to derive each transformation coefficient, perform a quantization procedure on each transformation coefficient to derive each quantized transformation coefficient, and signal the relevant residual information to a decoding device (using a bitstream). Here, the residual information may include information such as the value information, position information, transformation technique, transformation kernel, and quantization parameters of each quantized transformation coefficient. The decoding device can perform an inverse quantization / inverse transformation procedure based on the residual information to derive each residual sample (or residual block). The decoding device can generate a reconstructed picture based on the predicted block and the residual block. The encoding device can then derive a residual block by inverse quantization / inverse transformation of each quantized transformation coefficient for reference for interpretation of the picture, and generate a reconstructed picture based on this.

[0080] In this document, at least one of quantization / inverse quantization and / or transformation / inverse transformation may be omitted. When quantization / inverse quantization is omitted, the quantized transformation coefficients may be called transformation coefficients. When transformation / inverse transformation is omitted, the transformation coefficients may be called coefficients or residual coefficients, or for consistency of expression, they may continue to be called transformation coefficients.

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

[0082] Figure 4 is an illustrative diagram showing the hierarchical structure of coded video / images.

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

[0084] VCL can generate VCL data containing compressed video data (slice data), or generate parameter sets containing information such as Picture Parameter Set (PPS), Sequence Parameter Set (SPS), and Video Parameter Set (VPS), or SEI (Supplemental Enhancement Information) messages that are additionally necessary during the video decoding process.

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

[0086] As shown in Figure 4, NAL units can be divided into VCL NAL units and Non-VCL NAL units by the RBSP generated in VCL. VCL NAL units can represent NAL units that contain information about the video (slice data), while Non-VCL NAL units can represent NAL units that contain information necessary to decode the video (parameter set or SEI message).

[0087] The VCL NAL units and Non-VCL NAL units described above can be transmitted over a network with header information added according to the data standards of the underlying system. For example, NAL units can be transformed into data formats of predetermined standards such as H.266 / VVC file format, RTP (Real-time Transport Protocol), and TS (Transport Stream), and transmitted over a variety of networks.

[0088] As described above, the NAL unit type may be identified by the RBSP data structure contained within the NAL unit, and information regarding such NAL unit types may be stored and signaled in the NAL unit header.

[0089] For example, NAL units can be broadly classified into VCL NAL unit types and Non-VCL NAL unit types depending on whether or not they contain information about the image (slice data). VCL NAL unit types may be further classified by the nature and type of picture contained in the VCL NAL unit, while Non-VCL NAL unit types may be classified by the type of parameter set.

[0090] The following is an example of a NAL unit type identified by the type of parameter set included in the Non-VCL NAL unit type.

[0091] -APS (Adaptation Parameter Set) NAL Unit: Type for NAL units that include APS

[0092] -DPS (Decoding Parameter Set) NAL Unit: Type for NAL units that include DPS

[0093] -VPS (Video Parameter Set) NAL Unit: Type for NAL units including VPS

[0094] -SPS (Sequence Parameter Set) NAL Unit: Type for NAL units that include SPS

[0095] -PPS (Picture Parameter Set) NAL Unit: Type for NAL units that include PPS

[0096] -PH (Picture Header) NAL Unit: Type for NAL units that include PH

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

[0098] On the other hand, as mentioned above, a single picture can contain multiple slices, and a single slice can contain a slice header and slice data. In this case, a single picture header may be added to the multiple slices (slice headers and slice data sets) within a single picture. The above picture header (picture header syntax) can contain information / parameters that are commonly applicable to the above picture. For example, a single picture may consist of slices of different types (categories), such as intra-coded slices (i.e., I-slices) and / or interconnected slices (i.e., P-slices and B-slices). In this case, the picture header can contain information / parameters applicable to the intra-coded and interconnected slices. Alternatively, a single picture may consist of slices of only one type.

[0099] The above slice header (slice header syntax) may include information / parameters that are commonly applicable to the above slices. The above APS (APS syntax) or PPS (PPS syntax) may include information / parameters that are commonly applicable to one or more slices or pictures. The above SPS (SPS syntax) may include information / parameters that are commonly applicable to one or more sequences. The above VPS (VPS syntax) may include information / parameters that are commonly applicable to multiple layers. The above DPS (DPS syntax) may include information / parameters that are commonly applicable to video in general. The above DPS may include information / parameters related to concatenation of CVS (Coded Video Sequence). In this document, High Level Syntax (HLS) may include at least one of the above 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 bitstream form from the encoding device to the decoding device may include not only partitioning-related information within the picture, intra / inter prediction information, residual information, in-loop filtering information, etc., but also information contained in the slice header, picture header, APS, PPS, SPS, VPS, and / or DPS. Furthermore, the video / image information may further include information from the NAL unit header.

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

[0102] Alternatively, a source or coded picture / video may contain a luminous component array and, if applicable, two additional chroma component (cb,cr) arrays. That is, a single pixel (sample) that makes up a picture / video may contain both a luminous sample array and a chroma sample (cb,cr) array.

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

[0104] [Table 1]

[0105] In other words, if the above chroma format is monochrome sampling, only one sample array, the luma array, may exist. If the above chroma format is 4:2:0 sampling, each of the two chroma arrays has a height half that of the luma array and a width half that of the luma array. If the above chroma format is 4:2:2 sampling, each of the two chroma arrays has the same height as the luma array and the same width as the luma array. If the above 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 the same height as the luma array and the same width as 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 individually.

[0106] In Table 1 above, SubWidthC and SubHeightC represent 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. In this case, if the width of the luma sample block is 16, the width of the corresponding chroma sample block is 16 / SubWidthC.

[0107] In addition, chroma sample-related information is generally purged if the value of the variable ChromaArrayType is not 0. Here, ChromaArrayType is a variable associated with the sampling format of each chroma component. 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] Figure 5 is an illustrative diagram showing the position of each luma sample within a picture, according to the chroma format.

[0109] For example, the reference numeral 500 in Figure 5 can indicate the relative vertical or horizontal position of each luma sample and each chroma sample within the picture when the value of chroma_format_idc is 1, i.e., when the chroma format is 4:2:0. The reference numeral 510 in Figure 5 indicates the relative position of each luma sample and each chroma sample within the picture when the value of chroma_format_idc is 2, i.e., when the chroma format is 4:2:2, and each chroma sample can also be in the same position as its corresponding luma sample. The reference numeral 520 in Figure 5 indicates the position of each luma sample and each chroma sample within the picture when the value of chroma_format_idc is 3, i.e., when the chroma format is 4:4:4, and all chroma samples can always be in the same position as their corresponding luma sample.

[0110] On the other hand, in video coding, the pictures that make up the video can be encoded / decoded according to a series of decoding orders. The picture order, which corresponds to the output order of the decoded pictures, may be set in an order different from the above decoding order, and based on this, not only forward prediction but also reverse prediction can be performed during interpretation.

[0111] Figures 6 and 7 schematically illustrate an example of an in-loop filtering-based video / image encoding method and a filtering unit within an encoding device.

[0112] Referring to Figures 6 and 7, the encoding device generates a reconstructed picture for the current picture (S600). As explained in Figure 2, the encoding device can generate a reconstructed picture by procedures such as partitioning, intra / inter prediction, and residual processing for the input original picture. Specifically, the encoding device generates each predicted sample for the current block through intra or inter prediction, generates each residual sample based on each predicted sample, and after transforming / quantizing each residual sample, it can derive each (corrected) residual sample by performing inverse quantization / inverse transformation again. The reason for performing inverse quantization / inverse transformation again after transformation / quantization is, as mentioned above, to derive each residual sample that is identical to each residual sample derived by the decoding device. This is because the quantization procedure is basically a lossy coding procedure, and the transformation procedure also has losses when RT (Reduced Transform) is applied. Based on each of the predicted samples and each of the (corrected) residual samples, the encoding device can generate a reconstructed block containing each reconstructed sample for the current block. Based on the above restoration block, the above restoration picture can be generated.

[0113] The encoding device performs an in-loop filtering procedure on the restored picture (S610). The in-loop filtering procedure may generate a modified restored picture. The modified restored picture is a decoded picture, which may be stored in a decoded picture buffer or memory 270, and subsequently used as a reference picture in the inter-prediction procedure when encoding the picture. The in-loop filtering procedure may include at least one of a deblocking filtering procedure, an SAO (Sample Adaptive Offset) procedure, and / or an ALF (Adaptive Loop Filter) procedure. S610 may be performed by the filtering unit 260 of the encoding device. Specifically, for example, the deblocking filtering procedure may be performed by the deblocking filtering processing unit 261, the SAO procedure by the SAO processing unit 262, and the ALF procedure by the ALF processing unit 263. Some of the various filtering procedures may be omitted considering the image characteristics, complexity, efficiency, etc., in which case the related components in Figure 7 may also be omitted.

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

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

[0116] Figures 8 and 9 schematically illustrate an example of an in-loop filtering-based video / image decoding method and a filtering unit within a decoding device. The decoding device can perform operations corresponding to those performed by the encoding device.

[0117] Referring to Figures 8 and 9, the decoding device can obtain video information from the received bitstream, including information for picture reconstruction and in-loop filtering-related information (S800). S800 may be performed by the entropy decoding unit 310 of the decoding device. The information for picture reconstruction may include the partitioning information, prediction information, residual information, etc., as described above / below.

[0118] The above in-loop filtering-related information may include, for example, flag information indicating whether or not overall in-loop filtering is applied, flag information indicating whether or not each filtering procedure is applied, information about the SAO type, information about the SAO offset value, information about the SAO band position, information about the ALF filtering shape, information about the ALF filtering coefficients, information about the shape of the bilateral filter and / or information about the bilateral filter weight (weight) value. Also, for example, the above in-loop filtering-related information may include deblocking filtering information. The above 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 mentioned above, some of the above diverse filtering procedures may be omitted considering image characteristics, complexity, efficiency, etc., and if some filtering methods are omitted, the omitted filtering and related information (parameters) may also be omitted.

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

[0120] The decoding device generates a restored picture for the current picture based on the information for picture restoration (S810). As explained in Figure 3, the decoding device can generate a restored picture by procedures such as intra / inter prediction and residual processing for the current picture. Specifically, the decoding device generates each predicted sample for the current block through intra or inter prediction based on the prediction information contained in the information for picture restoration, and derives each residual sample for the current block based on the residual information contained in the information for picture restoration (inverse quantization / inverse transform basis). Based on each predicted sample and each residual sample, the decoding device can generate a restored block containing each restored sample for the current block. Based on the restored block, the restored picture can be generated.

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

[0122] In other words, the decoding device can apply an in-loop filter based on the in-loop filtering-related information described above. For example, each deblocking parameter for performing deblocking filtering can be derived based on the deblocking filtering information (each deblocking parameter and related information / syntax elements). Based on each of the above deblocking parameters, deblocking filtering can be applied to the restored picture or the target boundary of the restored picture.

[0123] Such in-loop filtering procedures can reduce noise that occurs during video / moving image coding, such as block artifacts and ringing artifacts, thereby improving subjective and objective visual quality. Furthermore, by performing in-loop filtering procedures on both the encoding and decoding devices, the encoding and decoding devices can derive the same prediction results, increasing 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 the boundaries between blocks in a reconstructed picture. The deblocking filtering procedure can be performed, for example, by deriving a target boundary from the reconstructed picture, determining the Boundary Strength (bS) for the target boundary, and then performing deblocking filtering on the target boundary based on the bS. The bS can be determined based on the prediction modes of two blocks adjacent to the target boundary, the difference in motion vectors, whether the reference picture is the same or not, and the presence or absence of a non-zero effectiveness coefficient.

[0125] SAO is a method for compensating for the offset difference between a restored picture and the original picture on a sample-by-sample basis, and can be applied based on types such as Band Offset and Edge Offset. According to SAO, each sample can be classified into a different category by each SAO type, and an offset value can be added to each sample based on the category. Filtering information for SAO can include information on whether SAO is applied, SAO type information, SAO offset value information, etc. SAO may be applied to the restored picture after the application of the deblocking filtering described above.

[0126] ALF (Adaptive Loop Filter) is a technique that filters the restored picture on a sample-by-sample basis based on the filter's shape and the resulting filter coefficients. The encoding device can determine whether or not to apply ALF, the shape of the ALF, and / or the ALF filtering coefficients by comparing the restored picture with the original picture, and this can be signaled by the decoding device. In other words, the filtering information for ALF can include information on whether or not to apply ALF, information on the shape of the ALF filter, and information on the ALF filtering coefficients. ALF may also be applied to the restored picture after the deblocking filtering described above has been applied.

[0127] Figure 10 is a schematic diagram illustrating an example of a deblocking filtering process. The process in Figure 10 can be performed by the filtering unit 260 in the encoding device shown in Figure 2 and the filtering unit 350 in the decoding device shown in Figure 3.

[0128] Referring to Figure 10, the encoding / decoding device can derive the boundaries between blocks in the restored picture where deblocking filtering is performed (S1000). These boundaries where deblocking filtering is performed may be called edges. Furthermore, these boundaries may include two types: vertical boundaries and horizontal boundaries. Vertical boundaries may also be called vertical edges, and horizontal boundaries may also be called horizontal edges. The encoding / decoding device can perform deblocking filtering on vertical edges and on horizontal edges.

[0129] When performing deblocking filtering in one direction (i.e., deblocking filtering against vertical boundaries or deblocking filtering against horizontal boundaries), the encoding / decoding device can derive the transformation block boundaries. The encoding / decoding device can derive the coding subblock boundaries.

[0130] An encoding / decoding device can derive block boundaries on which deblocking filtering is performed based on an NxN grid. For example, an encoding / decoding device can derive block boundaries on which deblocking filtering is performed based on whether the boundary of a block (transformation block or coding subblock) corresponds to an NxN grid. In other words, for example, an encoding / decoding device can derive block boundaries on which deblocking filtering is performed based on whether the boundary of a block (transformation block or coding subblock) is a block boundary located on an NxN grid. An encoding / decoding device can derive block boundaries on which deblocking filtering is performed based on the boundary of a block corresponding to an NxN grid. Here, an NxN grid can mean boundaries derived by dividing the restored picture into NxN squares. An NxN grid could be, for example, a 4x4 or 8x8 grid.

[0131] The encoding / decoding device can determine the boundary strength (bS) for the boundary where deblocking filtering is performed (S1010). The above bS may also be called the boundary filtering strength.

[0132] The encoding / decoding device can determine the bS based on each block adjacent to the boundary where deblocking filtering is performed. For example, one might consider determining the bS value for the boundary (block edge) between block P and block Q. In this case, the encoding / decoding device can determine the bS value for the boundary based on information such as the positions of blocks P and Q and / or whether blocks P and Q were coded in intra-mode.

[0133] Here, block P may represent a block containing p0 samples adjacent to the boundary where deblocking filtering is performed, and block Q may represent a block containing q0 samples adjacent to the boundary where deblocking filtering is performed.

[0134] For example, p0 may represent a sample of blocks adjacent to the left or above the boundary where deblocking filtering is performed, and q0 may represent a sample of blocks adjacent to the right or below the boundary where deblocking filtering is performed. As an example, if the filtering boundary is oriented vertically (i.e., the filtering boundary is a vertical boundary), p0 may represent a sample of blocks adjacent to the left of the boundary where deblocking filtering is performed, and q0 may represent a sample of blocks adjacent to the right of the boundary where deblocking filtering is performed. Alternatively, as another example, if the filtering boundary is oriented horizontally (i.e., the filtering boundary is a horizontal boundary), p0 may represent a sample of blocks adjacent to the above of the boundary where deblocking filtering is performed, and q0 may represent a sample of blocks adjacent to the below of the boundary where deblocking filtering is performed.

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

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

[0137] For example, the encoding / decoding device can determine whether filtering has been performed on all block boundaries within the restored picture. If filtering has not been performed on all block boundaries, the encoding / decoding device can determine whether the subblock boundary location corresponds to an NxN grid (e.g., an 8x8 grid). For example, it can determine whether the remainder obtained by dividing the x and y components of the subblock boundary location by N is 0. If the remainder obtained by dividing the x and y components of the subblock boundary location by N is 0, the subblock boundary location may correspond to an NxN grid. If the subblock boundary location corresponds to an NxN grid, the encoding / decoding device can perform deblocking filtering on the boundary based on the bS for the boundary and each deblocking parameter.

[0138] At this time, the encoding / decoding device can determine the filter to be applied to the boundary between blocks based on the bS value determined above. Filters can be divided into strong filters and weak filters. The encoding / decoding device can improve encoding efficiency by filtering the boundaries where block distortion is likely to occur in the restored picture with different filters and boundaries where block distortion is unlikely to occur.

[0139] The encoding / decoding device can perform deblocking filtering on the boundaries between blocks using the determined filter (e.g., a strong filter or a weak filter). The deblocking filtering process can terminate once the deblocking filtering process has been performed on all boundaries between each block in the restored picture.

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

[0141] [Table 2]

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

[0143] [Table 3]

[0144] The video information acquired through the bitstream may include information related to a deblocking filter, and this information related to the deblocking filter may include a first deblocking filter unavailable (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 the deblocking filter is not enabled for each picture that references the PPS. That is, the first deblocking filter disabled flag can indicate / represent whether the deblocking filter is not enabled for each picture that references the PPS.

[0146] For example, the above-mentioned first deblocking filter disabled flag can be indicated in the form of the pps_deblocking_filter_disabled_flag syntax element. For example, the above-mentioned pps_deblocking_filter_disabled_flag syntax element can specify whether or not the deblocking filter is unavailable for each picture that references the above PPS.

[0147] The above first luma component filter parameter information may be associated with each deblocking parameter offset applied to the luma component of each slice that references the above PPS. That is, the above first luma component filter parameter information can indicate / represent each deblocking parameter offset applied to the luma component of each slice that references the above PPS.

[0148] For example, the first luma component filter parameter information can be represented in the form of pps_beta_offset_div2 syntax elements and pps_tc_offset_div2 syntax elements. For example, the pps_beta_offset_div2 syntax elements and the pps_tc_offset_div2 syntax elements can specify each deblocking parameter offset applied to the luma component of each slice that references the PPS.

[0149] The above first chroma component filter parameter information may be associated with each deblocking parameter offset applied to the chroma component of each slice that references the above PPS. That is, the above first chroma component filter parameter information can indicate / represent each deblocking parameter offset applied to the chroma component of each slice that references the above PPS.

[0150] For example, the above-mentioned first chroma component filter parameter information can be represented in the form of 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. For example, the above-mentioned pps_cb_beta_offset_div2 syntax element, the above-mentioned pps_cb_tc_offset_div2 syntax element, the above-mentioned pps_cr_beta_offset_div2 syntax element, and the above-mentioned pps_cr_tc_offset_div2 syntax element can explicitly specify each deblocking parameter offset applied to the chroma component of each slice that references the above-mentioned PPS.

[0151] According to the above existing embodiment, if the value of the first deblocking filter disabled 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. If the value of the first deblocking filter disabled flag is 1, the first luma component filter parameter information and the first chroma component filter parameter information may not exist. If 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 the existing embodiment described above, the picture header (PH) may include the syntax shown in Table 4 below. The syntax shown in Table 4 below may be a part of the PH described above.

[0153] [Table 4]

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

[0155] [Table 5]

[0156] The information associated with the above deblocking filter may include a second deblocking filter override flag, a second deblocking filter disabled 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 the deblocking parameter exists in the PH. That is, the second deblocking filter override flag can indicate / represent whether or not the deblocking parameter exists in the PH.

[0158] For example, the second deblocking filter override flag can be represented in the form of the ph_deblocking_filter_override_flag syntax element. For example, the ph_deblocking_filter_override_flag syntax element can explicitly indicate whether or not a deblocking parameter exists in the PH.

[0159] The above second deblocking filter unavailable flag may be related to whether or not the deblocking filter is unavailable for each slice of the current picture. That is, the above second deblocking filter unavailable flag can indicate / represent whether or not the deblocking filter is unavailable for each slice of the current picture.

[0160] For example, the above-mentioned second deblocking filter disabled flag can be indicated in the form of the ph_deblocking_filter_disabled_flag syntax element. For example, the above-mentioned ph_deblocking_filter_disabled_flag syntax element can specify whether or not the deblocking filter is unavailable for each slice of the current picture.

[0161] The above-mentioned 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. That is, the above-mentioned second luma component filter parameter information can indicate / represent each deblocking parameter offset applied to the luma component of each slice in the current picture.

[0162] For example, the above-mentioned second luma component filter parameter information can be represented in the form of ph_beta_offset_div2 syntax elements and ph_tc_offset_div2 syntax elements. For example, the above-mentioned ph_beta_offset_div2 syntax elements and ph_tc_offset_div2 syntax elements can explicitly specify each deblocking parameter offset applied to the luma component of each slice in the current picture.

[0163] The above-mentioned second chroma component filter parameter information may be associated with each deblocking parameter offset applied to the chroma component of each slice in the current picture. That is, the above-mentioned second chroma component filter parameter information can indicate / represent each deblocking parameter offset applied to the chroma component of each slice in the current picture.

[0164] For example, the second chroma component filter parameter information can be represented in the form of 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. 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 can specify each deblocking parameter offset applied to the chroma component of each slice in the current picture.

[0165] According to the above 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 exist. If the second deblocking filter disable flag does not exist, the value of the second deblocking filter disable flag may be 0.

[0166] In this case, according to the above embodiment, if the value of the second deblocking filter disabled 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 disabled 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 the above existing embodiment, the slice header (SH) may include the syntax shown in Table 6 below. The syntax shown in Table 6 below may be a part of the above SH.

[0168] [Table 6]

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

[0170] [Table 7]

[0171] The information associated with the above deblocking filter may include a third deblocking filter override flag, a third deblocking filter disabled 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 the deblocking parameter exists in SH. That is, the third deblocking filter override flag can indicate / represent whether or not the deblocking parameter exists in SH.

[0173] For example, the third deblocking filter override flag can be represented in the form of the slice_deblocking_filter_override_flag syntax element. For example, the slice_deblocking_filter_override_flag syntax element can explicitly indicate whether or not the deblocking parameter exists in SH.

[0174] The above third deblocking filter unavailable flag may be related to whether or not the deblocking filter is unavailable for the current slice. That is, the above third deblocking filter unavailable flag can indicate / represent whether or not the deblocking filter is unavailable for the current slice.

[0175] For example, the above third deblocking filter disabled flag can be indicated in the form of the slice_deblocking_filter_disabled_flag syntax element. For example, the above slice_deblocking_filter_disabled_flag syntax element can explicitly indicate whether or not the deblocking filter is unavailable for the current slice.

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

[0177] For example, the above third luma component filter parameter information can be represented in the form of slice_beta_offset_div2 syntax elements and slice_tc_offset_div2 syntax elements. For example, the above slice_beta_offset_div2 syntax elements and slice_tc_offset_div2 syntax elements can explicitly specify each deblocking parameter offset applied to the luma component of the current slice.

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

[0179] For example, the third chroma component filter parameter information can be represented in the form of the slice_cb_beta_offset_div2 syntax element, slice_cb_tc_offset_div2 syntax element, slice_cr_beta_offset_div2 syntax element, and slice_cr_tc_offset_div2 syntax element. For example, the slice_cb_beta_offset_div2 syntax element, slice_cb_tc_offset_div2 syntax element, slice_cr_beta_offset_div2 syntax element, and slice_cr_tc_offset_div2 syntax element can explicitly specify each deblocking parameter offset applied to the chroma component of the current slice.

[0180] According to the above 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 exist. If the third deblocking filter disable flag does not exist, the value of the third deblocking filter disable flag may be 0.

[0181] In this case, according to the above embodiment, if the value of the third deblocking filter disabled 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 disabled 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] In other words, according to the above existing embodiment, in order to perform deblocking filtering, when encoding / decoding the deblocking filter and related information, the chroma component filter parameter information associated with each deblocking parameter offset applied to the chroma component is always signaled / parsed under certain conditions at each level such as PPS, PH, and SH.

[0183] However, in the case of monochrome video (black and white video), chroma component filter parameter information is unnecessary information for deblocking filtering, so it does not need to be signaled / parsed. Accordingly, in each embodiment of this document, we propose a method for efficiently encoding / decoding chroma component filter parameter information in the case of monochrome video. In this case, each embodiment of this document can be combined with one another.

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

[0185] According to the above embodiment, the above PH may include the syntax shown in Table 8 below. The syntax shown in Table 8 below may be a part of the above PH.

[0186] [Table 8]

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

[0188] According to the above embodiment, if the value of the second deblocking filter disabled flag is 0, as in the above existing embodiment, 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 disabled 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.

[0189] At this time, the encoding / decoding device can derive the sampling format of each chroma component and the associated variable ChromaArrayType (chroma array type) based on the chroma_format_idc syntax element and separate_colour_plane_flag syntax element in Table 1 above. For example, ChromaArrayType may have a value of 0 when the chroma format is monochrome, a value of 1 when the chroma format is 4:2:0, a value of 2 when the chroma format is 4:2:2, and a value of 3 or 0 when the chroma format is 4:4:4.

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

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

[0192] [Table 9]

[0193] In other words, if the value of the second deblocking filter disabled 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 the above embodiment, if the value of 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 above PH may include the syntax shown in Table 10 below. The syntax shown in Table 10 below may be a part of the above PH.

[0195] [Table 10]

[0196] Here, the semantics of the syntax elements included in the syntax in 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 disabled flag, the second luma component filter parameter information, the second chroma component filter parameter information, and the chroma tool offset presence flag.

[0198] Here, the above chroma tool offset existence flag may be related to whether chroma tool offset-related information exists in the PPS and whether each chroma deblocking parameter offset information exists in the PH or SH that references the PPS. In other words, the above chroma tool offset existence flag may be related to whether or not chroma component filter parameter information exists. That is, the above chroma tool offset existence flag can indicate / represent whether or not chroma component filter parameter information exists.

[0199] For example, the above chroma tool offset presence flag can be indicated in the form of the pps_chroma_tool_offsets_present_flag syntax element. For example, the above pps_chroma_tool_offsets_present_flag syntax element can explicitly indicate whether or not chroma component filter parameter information is present.

[0200] According to the above embodiment, if the value of the second deblocking filter override flag is 1, as in the above 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 0, the second deblocking filter disable flag may not exist. If the second deblocking filter disable flag does not exist, the value of the second deblocking filter disable flag may be 0.

[0201] In this case, according to the above embodiment, if the value of the second deblocking filter unavailable flag is 0, the second luma component filter parameter information and the second chromatic component filter parameter information may be configured / included in the PH.

[0202] In this case, according to the above embodiment, if the value of the chroma tool offset presence 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 presence flag is 0, the second chroma component filter parameter information may not exist.

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

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

[0205] [Table 11]

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

[0207] According to the above embodiment, if the value of the third deblocking filter disabled flag is 0, as in the above existing embodiment, 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 disabled 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.

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

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

[0210] [Table 12]

[0211] In other words, if the value of the third deblocking filter disabled 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 the above embodiment, if the value of 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 above SH may include the syntax shown in Table 13 below. The syntax shown in Table 13 below may be a part of the above SH.

[0213] [Table 13]

[0214] Here, the semantics of the syntax elements included in the syntax in 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 disabled flag, the third luma component filter parameter information, the third chroma component filter parameter information, and the chroma tool offset existence flag.

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

[0217] In this case, according to the above embodiment, if the value of the third deblocking filter disabled 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 above embodiment, if the value of the chroma tool offset presence 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 presence flag is 0, the third chroma component filter parameter information may not exist.

[0219] According to another embodiment proposed in this document, the deblocking filter and related information can be signaled at the PPS level as follows. In the embodiment described above, at the PH level and SH level, in the case of monochrome images, it was possible to determine whether or not information related to the deblocking filter applied to the chroma component was transmitted through the ChromaArrayType. However, at the PPS level, it is impossible to derive the value of ChromaArrayType for the current picture, so an embodiment for determining whether or not information is transmitted through the ChromaArrayType cannot be proposed.

[0220] On the other hand, according to the above embodiment, the PPS may include the syntax shown in Table 14 below. The syntax shown in Table 14 below 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 in 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 availability (enabled) flag, a first deblocking filter unavailable flag, first luma component filter parameter information, and first chroma component filter parameter information.

[0226] Here, the deblocking filter control existence flag may be related to the existence or non-existence of deblocking filter control information. That is, the deblocking filter control existence flag can indicate / represent the existence or non-existence of deblocking filter control information.

[0227] For example, the deblocking filter control presence flag can be indicated in the form of the deblocking_filter_control_present_flag syntax element. For example, the deblocking_filter_control_present_flag syntax element can explicitly indicate whether or not deblocking filter control information exists.

[0228] The above deblocking filter override enabled flag may relate to whether the deblocking operation for each picture referencing the above PPS is redefined at the picture level or slice level. In other words, the above deblocking filter override enabled flag can indicate / represent whether the deblocking operation for each picture referencing the above PPS is redefined at the picture level or slice level.

[0229] For example, the above deblocking filter override enabled flag can be indicated in the form of the deblocking_filter_override_enabled_flag syntax element. For example, the above deblocking_filter_override_enabled_flag syntax element can specify whether the deblocking operation for each picture referencing the above PPS is redefined at the picture level or slice level.

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

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

[0232] Subsequently, for example, if the value of the chroma tool offset presence flag is 1, the deblocking filter control presence flag and the first deblocking filter disabled flag can be checked. In this case, according to the above embodiment, if the value of the deblocking filter control presence flag is 1 and the value of the first deblocking filter disabled flag is 0, the first chroma component filter parameter information may be configured / included in the PPS. If the value of the deblocking filter control presence flag is 0 or the value of the first deblocking filter disabled flag is 1, the first chroma component filter parameter information may not exist.

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

[0234] [Table 16-1]

[0235] [Table 16-2]

[0236] Here, the semantics of the syntax elements included in the syntax in 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 shown in Table 2, and the semantics of the syntax elements included in the syntax shown in Table 2 may be shown, for example, as in Table 17 below.

[0238] [Table 17]

[0239] In other words, if the value of the first deblocking filter disabled 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 the above embodiment, if the value of 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 above PPS may include the syntax shown in Table 18 below. The syntax shown in Table 18 below may be a part of the above PPS.

[0241] [Table 18]

[0242] Here, the semantics of the syntax elements included in the syntax in 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 unavailable flag, the first luma component filter parameter information, the first chroma component filter parameter information, and the chroma tool offset existence flag.

[0244] According to the above embodiment, if the value of the first deblocking filter disabled 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] At this time, according to the above embodiment, when the value of the chroma tool offset presence flag is 1, the first chroma component filter parameter information may be configured / included in the PPS. When the value of the chroma tool offset presence flag is 0, the first chroma component filter parameter information may not exist.

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

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

[0248] According to the above embodiment, the PPS can include the syntax in Table 19 below. The syntax in Table 19 below can 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 as, for example, in Table 3, Table 15, and Table 20 below.

[0251]

Table 20

[0253] Here, the chromato-deblocking parameter presence flag may be related to whether or not chromato-deblocking related information exists within the PPS. That is, the chromato-deblocking parameter presence flag can indicate / represent whether or not chromato-deblocking related information exists within the PPS.

[0254] For example, the above chroma deblocking parameter presence flag can be indicated in the form of the pps_chroma_deblocking_params_present_flag syntax element. For example, the above pps_chroma_deblocking_params_present_flag syntax element can explicitly indicate whether or not chroma deblocking-related information exists within the above PPS.

[0255] The above chromato-deblocking filter override enabled flag may be related to whether or not chromato-deblocking related information exists in the above PH and / or SH. That is, the above chromato-deblocking filter override enabled flag can indicate / represent whether or not chromato-deblocking related information exists in the above PH or SH.

[0256] For example, the above chroma deblocking filter override enabled flag can be indicated in the form of the chroma_deblocking_filter_override_enabled_flag syntax element. For example, the above chroma_deblocking_filter_override_enabled_flag syntax element can explicitly indicate whether or not chroma deblocking-related information exists in the above PH or SH.

[0257] According to the above embodiment, if the value of the deblocking filter control presence flag is 1, the chroma deblocking parameter presence flag and the deblocking filter override enable flag may be configured / included in the PPS. If the value of the deblocking filter control presence flag is 0, the chroma deblocking parameter presence flag and the deblocking filter override enable flag may not exist.

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

[0259] In this case, according to the above embodiment, if the value of the deblocking filter override enabled flag is 1 and the value of the chromato deblocking parameter presence flag is 1, the chromato deblocking filter override enabled flag may be configured / included in the PPS. If the value of the deblocking filter override enabled flag is 0, or if the value of the chromato deblocking parameter presence flag is 0, the chromato deblocking filter override enabled flag may not exist.

[0260] In this regard, if the value of ChromaArrayType is 0, the value of the Chroma deblocking filter override enabled flag may be limited to 0.

[0261] Subsequently, for example, if the value of the first deblocking filter disabled 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 above embodiment, if the value of the chromato deblocking parameter presence flag is 1, the first chromat component filter parameter information may be configured / included in the PPS. If the value of the chromato deblocking parameter presence flag is 0, the first chromat component filter parameter information may not exist.

[0263] In this regard, according to the above embodiment, the above PH may include the syntax shown in Table 21 below. The syntax shown in Table 21 below may be a part of the above PH.

[0264] [Table 21]

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

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

[0267] According to the above embodiment, if the value of the deblocking filter override enabled flag is 1, as in the above existing embodiment, and the value of the syntax element dbf_info_in_ph_flag, which is related to whether or not deblocking filter information (parameters) exists in the above PH, is 1, then the second deblocking filter override flag may be configured / included in the above PH. If the value of the deblocking filter override enabled flag is 0, or if the value of the syntax element dbf_info_in_ph_flag is 0, then the second deblocking filter override flag may not exist.

[0268] In this case, according to the above 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 exist.

[0269] Subsequently, for example, if the value of the second deblocking filter disabled flag is 0, the second luma component filter parameter information and the second chromatic component filter parameter information may be configured / included in the PH.

[0270] In this case, according to the above embodiment, if the value of the chromato deblocking parameter presence flag is 1 and the value of the chromato deblocking filter override enabled flag is 1, the second chromat component filter parameter information may be configured / included in the PH. If the value of the chromato deblocking parameter presence flag is 0, or if the value of the chromato deblocking filter override enabled flag is 0, the second chromat component filter parameter information may not exist.

[0271] According to the above embodiment, the SH can include the syntax of Table 22 below. The syntax of Table 22 below can 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 as, for example, in Table 7 and Table 20 above.

[0274] The information related to the above deblocking filter can include the above third deblocking filter override flag, the above third deblocking filter unusable flag, the above third luma component filter parameter information, and the above third chroma component filter parameter information.

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

[0276] At this time, according to the above embodiment, when the value of the above third deblocking filter override flag is 1, the above third deblocking filter unusable flag can be configured / included in the SH. When the value of the above third deblocking filter override flag is 0, the above third deblocking filter unusable flag may not exist.

[0277] Subsequently, for example, if the value of the third deblocking filter disabled 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 above embodiment, if the value of the chromato deblocking parameter presence flag is 1 and the value of the chromato deblocking filter override enabled flag is 1, the third chromat component filter parameter information may be configured / included in the SH. If the value of the chromato deblocking parameter presence flag is 0, or if the value of the chromato deblocking filter override enabled flag is 0, the third chromat component filter parameter information may not exist.

[0279] The following drawings have been prepared to illustrate a specific example of this specification. The names of specific devices and signals / messages / fields shown in the drawings are illustrative examples; therefore, the technical features of this specification are not limited to the specific names used in the following drawings.

[0280] In this way, for various coded pictures / videos, including monochrome images, information related to deblocking filters applied to the luma component and information related to deblocking filters applied to the chroma component are selectively transmitted, resulting in an overall improvement in coding efficiency.

[0281] Figures 11 and 12 schematically illustrate an example of a video / image encoding method and related components according to the embodiments described in this document.

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

[0283] Referring to Figure 11, the encoding device generates each restored sample for the current block (S1100). The encoding device can generate the restored picture by procedures such as partitioning, intra / inter prediction, and residual processing for the input original picture, as described in Figure 2. Specifically, the encoding device can generate each predicted sample for the current block through intra or inter prediction, generate each residual sample based on the above predicted samples, and derive each (corrected) residual sample by transforming / quantizing each residual sample and then performing inverse quantization / inverse transform processing again. The encoding device can generate a restored block containing each restored sample for the current block based on the above predicted sample and the above (corrected) residual sample. The restored picture can be generated based on the above restored block.

[0284] The encoding device generates corrected restored samples by applying a deblocking filter to each of the restored samples (S1110). The deblocking filtering procedure may generate corrected restored samples or restored pictures. The corrected restored pictures may be stored as decoded pictures in a decoded picture buffer or memory 270, and may then be used as reference pictures in the interpretation procedure when encoding pictures.

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

[0286] The information associated with the deblocking filter may include at least one of the following: the deblocking filter control existence flag, the chroma deblocking parameter existence 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 existence flag.For example, the information related to the above deblocking filters is: 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 It may include at least one of the following syntax elements: _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 dbf_info_in_ph_flag.

[0287] The encoding device encodes video / image information (S1130). The video / image information may include information related to the deblocking filter. The video / image information may also include various information relating to the embodiments of this 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 also include information for picture restoration. The information for picture restoration may include the prediction information, residual information, etc.

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

[0289] Specifically, the information related to the deblocking filter described above may include a variety of information relating to the embodiments described in this document.

[0290] According to one embodiment proposed in this document, the information associated with the deblocking filter may include the chroma tool offset presence flag and / or the first chroma component filter parameter information. For example, based on the value of the chroma tool offset presence flag being 1, the first chroma component filter parameter information may be included in the PPS.

[0291] According to one 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 applied to the chroma component of each slice associated with the PH. In this case, for example, the second chroma component filter parameter information may be included in the PH based on the value of the chroma tool offset presence flag being 1.

[0292] According to one embodiment, the information associated with the deblocking filter may further include the third chroma component filter parameter information. The third chroma component filter parameter information may be associated with each deblocking parameter offset applied to the chroma components of the current slice. In this case, for example, the third chroma component filter parameter information may be included in SH based on the value of the chroma tool offset presence flag being 1.

[0293] According to one embodiment, the step of generating each corrected restored sample may include a step of deriving a ChromaArrayType, which is a variable associated with the sampling format of each chroma component. In this case, for example, based on the case where 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 one embodiment, the step of generating each of the modified restored samples may include a step of 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 each deblocking parameter offset applied to the chroma component of each slice associated with the PH. In this case, for example, based on the value of the chroma array type being 0, the value of the second chroma component filter parameter information may be limited to 0.

[0295] According to one embodiment, the step of generating each of the modified restored samples may include a step of 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 each deblocking parameter offset applied to the chroma component of each slice associated with the PH. In this case, for example, the second chroma component filter parameter information may be included in the PH based on the case where the value of the chroma array type is not 0.

[0296] According to one embodiment, the step of generating each of the modified restored samples may include a step of 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 each deblocking parameter offset applied to the chroma components of the current slice. In this case, for example, based on the value of the chroma array type being 0, the value of the third chroma component filter parameter information may be limited to 0.

[0297] According to one embodiment, the step of generating each of the modified restored samples may include a step of 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 each deblocking parameter offset applied to the chroma components of the current slice. In this case, for example, based on the case where the value of the chroma array type is not 0, the third chroma component filter parameter information may be included in SH.

[0298] According to one embodiment, the information associated with the deblocking filter may further include the chromato-deblocking parameter presence flag and / or the chromato-deblocking filter override enabled flag. The chromato-deblocking parameter presence flag may relate to whether or not chromato-deblocking related information exists in the PPS. The chromato-deblocking parameter presence flag may be included in the PPS. The chromato-deblocking filter override enabled flag may relate to whether or not chromato-deblocking related information exists in the PH or SH. In this case, for example, based on the value of the chromato-deblocking parameter presence flag being 1, the chromato-deblocking filter override enabled flag may be included in the PPS.

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

[0300] According to one embodiment, the information associated with the deblocking filter may include the second chromatic component filter parameter information. The second chromatic component filter parameter information may be associated with each deblocking parameter offset applied to the chromatic component of each slice associated with the PH. In this case, for example, the second chromatic component filter parameter information may be included in the PH based on the case where the value of the chromatic deblocking parameter presence flag is 1 and the value of the chromatic deblocking filter override enabled flag is 1.

[0301] According to one embodiment, the information associated with the deblocking filter may include the third chroma component filter parameter information. The third chroma component filter parameter information may be associated with each deblocking parameter offset applied to the chroma components of the current slice. In this case, for example, the third chroma component filter parameter information may be included in 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 enabled flag is 1.

[0302] According to one embodiment, the step of generating each of the modified restored samples may include a step of deriving the chromatar array type. In this case, for example, based on the value of the chromatar array type being 0, the value of the chromato deblocking parameter presence flag may be restricted to 0, and the value of the chromato deblocking filter override enabled flag may be restricted to 0.

[0303] Figures 13 and 14 schematically illustrate an example of a video / image decoding method and related components according to the embodiments described in this document.

[0304] The method disclosed in Figure 13 may be performed by the decoding device disclosed in Figure 3 or Figure 14. Specifically, for example, S1300 in Figure 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, prediction unit 330 and / or 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 Figure 13 may include each of the embodiments described in this document.

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

[0306] The information associated with the deblocking filter may include at least one of the following: the deblocking filter control existence flag, the chroma deblocking parameter existence 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 existence flag.For example, the information related to the above deblocking filters is: 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 It may include at least one of the following syntax elements: _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 dbf_info_in_ph_flag.

[0307] Furthermore, the video / image information described above may include a variety of information relating to the embodiments of this document. For example, the video / image information may include information disclosed in at least one of the tables 2, 4, 6, 8, 10, 11, 13, 14, 16, 18, 19, 21, and / or 22 described above. The video / image information may also include information for picture restoration. The information for picture restoration may include the prediction information, residual information, and so on.

[0308] The decoding device generates each reconstructed sample for the current block (S1310). The decoding device can generate the reconstructed picture by procedures such as intra / inter prediction and residual processing for the current picture, as described in Figure 3. Specifically, the decoding device generates each predicted sample for the current block through intra or inter prediction based on the prediction information contained in the information for picture reconstruction, and derives each residual sample for the current block based on the residual information contained in the information for picture reconstruction (inverse quantization / inverse transform basis). The decoding device can generate a reconstructed block containing each reconstructed sample for the current block based on each predicted sample and each residual sample. The reconstructed picture can be generated based on the reconstructed block.

[0309] The decoding device generates each restored sample modified based on the deblocking filter and related information and each restored sample (S1320). For example, the decoding device can generate each restored sample modified or a modified restored picture by applying the deblocking filter to each restored sample based on the deblocking filter and related information contained in the video / image information. The modified restored picture may be output as a decoded picture and / or stored in a decoded picture buffer or memory 360, and thereafter may be used as a reference picture in the interpretation procedure when decoding the picture.

[0310] Specifically, the information related to the deblocking filter described above may include a variety of information relating to the embodiments described in this document.

[0311] According to one embodiment proposed in this document, the information associated with the deblocking filter may include the chroma tool offset presence flag and / or the first chroma component filter parameter information. For example, based on the value of the chroma tool offset presence flag being 1, the first chroma component filter parameter information may be included in the PPS.

[0312] According to one 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 applied to the chroma component of each slice associated with the PH. In this case, for example, the second chroma component filter parameter information may be included in the PH based on the value of the chroma tool offset presence flag being 1.

[0313] According to one embodiment, the information associated with the deblocking filter may further include the third chroma component filter parameter information. The third chroma component filter parameter information may be associated with each deblocking parameter offset applied to the chroma components of the current slice. In this case, for example, the third chroma component filter parameter information may be included in SH based on the value of the chroma tool offset presence flag being 1.

[0314] According to one embodiment, the step of generating each corrected restored sample may include a step of deriving a ChromaArrayType, which is a variable associated with the sampling format of each chroma component. In this case, for example, based on the case where 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 one embodiment, the step of generating each of the modified restored samples may include a step of 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 each deblocking parameter offset applied to the chroma component of each slice associated with the PH. In this case, for example, based on the value of the chroma array type being 0, the value of the second chroma component filter parameter information may be limited to 0.

[0316] According to one embodiment, the step of generating each of the modified restored samples may include a step of 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 each deblocking parameter offset applied to the chroma component of each slice associated with the PH. In this case, for example, the second chroma component filter parameter information may be included in the PH based on the case where the value of the chroma array type is not 0.

[0317] According to one embodiment, the step of generating each of the modified restored samples may include a step of 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 each deblocking parameter offset applied to the chroma components of the current slice. In this case, for example, based on the value of the chroma array type being 0, the value of the third chroma component filter parameter information may be limited to 0.

[0318] According to one embodiment, the step of generating each of the modified restored samples may include a step of 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 each deblocking parameter offset applied to the chroma components of the current slice. In this case, for example, based on the case where the value of the chroma array type is not 0, the third chroma component filter parameter information may be included in SH.

[0319] According to one embodiment, the information associated with the deblocking filter may further include the chromato-deblocking parameter presence flag and / or the chromato-deblocking filter override enabled flag. The chromato-deblocking parameter presence flag may relate to whether or not chromato-deblocking related information exists in the PPS. The chromato-deblocking parameter presence flag may be included in the PPS. The chromato-deblocking filter override enabled flag may relate to whether or not chromato-deblocking related information exists in the PH or SH. In this case, for example, based on the value of the chromato-deblocking parameter presence flag being 1, the chromato-deblocking filter override enabled flag may be included in the PPS.

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

[0321] According to one embodiment, the information associated with the deblocking filter may include the second chromatic component filter parameter information. The second chromatic component filter parameter information may be associated with each deblocking parameter offset applied to the chromatic component of each slice associated with the PH. In this case, for example, the second chromatic component filter parameter information may be included in the PH based on the case where the value of the chromatic deblocking parameter presence flag is 1 and the value of the chromatic deblocking filter override enabled flag is 1.

[0322] According to one embodiment, the information associated with the deblocking filter may include the third chroma component filter parameter information. The third chroma component filter parameter information may be associated with each deblocking parameter offset applied to the chroma components of the current slice. In this case, for example, the third chroma component filter parameter information may be included in 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 enabled flag is 1.

[0323] According to one embodiment, the step of generating each of the modified restored samples may include a step of deriving the chromatar array type. In this case, for example, based on the value of the chromatar array type being 0, the value of the chromato deblocking parameter presence flag may be restricted to 0, and the value of the chromato deblocking filter override enabled flag may be restricted to 0.

[0324] In the embodiments described above, each method is explained based on a flowchart having a series of steps or blocks, but the embodiments are not limited to the order of the steps, and a single step may occur in a different order or simultaneously than described above. Furthermore, those skilled in the art will understand that the steps shown in the flowchart are not exclusive, and other steps may be included, or one or more steps in the flowchart may be omitted without affecting the scope of the embodiments described herein.

[0325] The methods relating to each embodiment of this document described above can be implemented in software form, and the encoding and / or decoding devices relating to this document may be included in, for example, video processing devices such as TVs, computers, smartphones, set-top boxes, and display devices.

[0326] In this document, when each embodiment is embodied in software, the methods described above can be embodied in modules (processes, functions, etc.) that perform the functions described above. These modules may be stored in memory and executed by a processor. The memory may reside inside or outside the processor and may be coupled to the processor by various well-known means. The processor may include an ASIC (Application-Specific Integrated Circuit), other chipsets, logic circuits, and / or data processing devices. The memory may include ROM (Read-Only Memory), RAM (Random Access Memory), flash memory, memory cards, storage media, 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 on instructions or algorithms for implementation may be stored in a digital storage medium.

[0327] Furthermore, the decoding and encoding devices to which the embodiments of this document apply may also include multimedia broadcasting transceivers, mobile communication terminals, home cinema video equipment, digital cinema video equipment, surveillance cameras, video conferencing equipment, real-time communication equipment such as video communications, mobile streaming equipment, storage media, camcorders, video-on-demand (VoD) service providers, OTT video (Over The Top video) equipment, internet streaming service providers, 3D video equipment, VR (Virtual Reality) equipment, AR (Augmented Reality) equipment, video telephone video equipment, transportation terminals (e.g., vehicle terminals (including autonomous vehicles), airplane terminals, ship terminals, etc.), and medical video equipment, and may be used to process video signals or data signals. For example, OTT video (Over The Top video) equipment may include game consoles, Blu-ray players, internet-connected TVs, home theater systems, smartphones, tablet PCs, DVRs (Digital Video Recorders), etc.

[0328] Furthermore, the processing methods to which the embodiments of this document apply may be produced in the form of a program executed on a computer, or stored on a computer-readable recording medium. Multimedia data having the data structure relating to the embodiments of this document may also be stored on a computer-readable recording medium. The computer-readable recording medium includes all types of storage devices and distributed storage devices on which computer-readable data is stored. The computer-readable recording medium may include, for example, Blu-ray discs (BDs), universal serial buses (USB), ROMs, PROMs, EPROMs, EEPROMs, RAMs, CD-ROMs, magnetic tapes, floppy disks, and optical data storage devices. The computer-readable recording medium also includes media embodied in the form of a carrier wave (e.g., transmission over the Internet). In addition, a bitstream generated by an encoding method may be stored on a computer-readable recording medium or transmitted over a wireless communication network.

[0329] Furthermore, the embodiments described in this document may be embodied as computer program products in the form of program code, and such program code may be executed on a computer according to the embodiments described in this document. The program code may be stored on a computer-readable carrier.

[0330] Figure 15 shows an example of a content streaming system to which each embodiment disclosed in this document may be applied.

[0331] Referring to Figure 15, the content streaming systems to which each embodiment of this document applies can be broadly divided into encoding servers, streaming servers, web servers, media storage, user devices, and multimedia input devices.

[0332] The encoding server is responsible for generating a bitstream by compressing content input from various multimedia input devices such as smartphones, cameras, and camcorders into digital data, and transmitting this bitstream to the streaming server. In other cases, if the multimedia input devices such as smartphones, cameras, and camcorders directly generate the bitstream, the encoding server may be omitted.

[0333] The bitstream described above may be generated by an encoding method or bitstream generation method to which each embodiment of this document applies, 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 user devices based on user requests via the web server, and the web server acts as an intermediary to inform users about available services. When a user requests a desired service from the web server, the web server transmits this to the streaming server, which then transmits the multimedia data to the user. In this case, the content streaming system may include a separate control server, in which case the control server is responsible for controlling the commands and responses between the devices within the content streaming system.

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

[0336] Examples of user devices mentioned above include mobile phones, smartphones, laptop computers, digital broadcasting terminals, PDAs (Personal Digital Assistants), PMPs (Portable Multimedia Players), navigation systems, slate PCs, tablet PCs, ultrabooks (ULTRABOOK®), wearable devices (such as smartwatches, smart glasses, and HMDs (Head Mounted Displays)), digital TVs, desktop computers, and digital signage.

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

[0338] Each claim described herein can be combined in various ways. For example, the technical features of the method claims herein may be combined to embody an apparatus, or the technical features of the apparatus claims herein may be combined to embody a method. Furthermore, the technical features of the method claims and the technical features of the apparatus claims herein may be combined to embody an apparatus, or the technical features of the method claims and the technical features of the apparatus claims herein may be combined to embody a method.

Claims

1. A video decoding method performed by a decoding device, A step of acquiring video information via a bitstream, wherein the video information includes information related to a deblocking filter, The step of generating a reconstruction sample for the current block, The step of generating a corrected restored sample based on the information associated with the deblocking filter and the restored sample, The information associated with the deblocking filter includes a chroma tool offset presence flag and first chroma component filter parameter information. The aforementioned chroma tool offset presence flag indicates whether chroma tool offset-related information exists within the PPS (picture parameter set). The first chroma component filter parameter information is associated with a deblocking parameter offset applied to the chroma component of the slice in the current picture. Based on the chroma tool offset presence flag being equal to 1, the first chroma component filter parameter information is signaled from the PH (picture header). The information associated with the deblocking filter further includes a chromato-deblocking parameter presence flag and a chromato-deblocking filter override enabled flag, The chromatodeblocking parameter presence flag is related to whether chromatodeblocking-related information exists in the PPS, and the chromatodeblocking parameter presence flag is included in the PPS. The chromato deblocking filter override enable flag is related to whether (a) the chromato deblocking related information exists in the PH or SH, or (b) whether or not the chromato deblocking related information exists in the PH or SH. Based on the value of the chroma deblocking parameter presence flag being 1, the chroma deblocking filter override enabled flag is a video decoding method included in the PPS.

2. The information associated with the deblocking filter further includes second chromatic component filter parameter information, The second chromatic component filter parameter information is associated with the deblocking parameter offset applied to the chromatic component of the current slice. The video decoding method according to claim 1, wherein the second chroma component filter parameter information is signaled from the SH (slice header) based on the chroma tool offset presence flag being equal to 1.

3. The step of generating the corrected restored sample includes the step of deriving a chroma array type, which is a variable associated with the sampling format of the chroma components. The video decoding method according to claim 1, wherein the value of the first chroma component filter parameter information is limited to 0 based on the case where the value of the chroma array type is 0.

4. The step of generating the corrected restored sample includes the step of deriving a chroma array type, which is a variable associated with the sampling format of the chroma components. The video decoding method according to claim 1, wherein the first chroma component filter parameter information is signaled from the PH based on the case where the value of the chroma array type is not 0.

5. The step of generating the corrected restored sample includes the step of deriving a chroma array type, which is a variable associated with the sampling format of the chroma components. The information associated with the deblocking filter further includes second chromatic component filter parameter information, The second chromatic component filter parameter information is associated with the deblocking parameter offset applied to the chromatic component of the current slice. The video decoding method according to claim 1, wherein the value of the second chroma component filter parameter information is limited to 0 based on the case where the value of the chroma array type is 0.

6. The step of generating the corrected restored sample includes the step of deriving a chroma array type, which is a variable associated with the sampling format of the chroma components. The information associated with the deblocking filter further includes second chromatic component filter parameter information, The second chromatic component filter parameter information is associated with the deblocking parameter offset applied to the chromatic component of the current slice. The video decoding method according to claim 1, wherein the second chroma component filter parameter information is signaled from SH based on the case where the value of the chroma array type is not 0.

7. The information associated with the deblocking filter further includes a deblocking filter override enabled flag, The deblocking filter override enabled flag relates to whether the deblocking operation for the picture referencing the PPS is (a) redefined at the picture level or slice level or (b) or not. The video decoding method according to claim 1, wherein the chroma deblocking filter override enable flag is included in the PPS based on the value of the deblocking filter override enable flag being 1.

8. The video decoding method according to claim 1, wherein the first chroma component filter parameter information is included in the PH based on the value of the chroma deblocking parameter presence flag being 1 and the value of the chroma deblocking filter override enabled flag being 1.

9. The information associated with the deblocking filter includes second chromatic component filter parameter information, The second chromatic component filter parameter information is associated with the deblocking parameter offset applied to the chromatic component of the current slice. The video decoding method according to claim 1, wherein the second 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 enabled flag is 1.

10. The step of generating the corrected restored sample includes the step of deriving a chroma array type, which is a variable associated with the sampling format of the chroma components. Based on the case where the value of the chromatar array type is 0, the value of the chromator deblocking parameter presence flag is restricted to 0. The video decoding method according to claim 1, wherein the value of the chroma deblocking filter override enabled flag is limited to 0 based on the case where the value of the chroma array type is 0.

11. A video encoding method performed by an encoding device, The step of generating a reconstruction sample for the current block, The steps include: applying a deblocking filter to the reconstructed sample to generate a corrected reconstructed sample; The steps include generating information related to the deblocking filter, The step includes encoding video information including the information related to the deblocking filter, The information associated with the deblocking filter includes a chroma tool offset presence flag and first chroma component filter parameter information. The aforementioned chroma tool offset presence flag indicates whether chroma tool offset-related information exists within the PPS (picture parameter set). The first chroma component filter parameter information is associated with a deblocking parameter offset applied to the chroma component of the slice in the current picture. Based on the chroma tool offset presence flag being equal to 1, the first chroma component filter parameter information is signaled from the PH (picture header). The information associated with the deblocking filter further includes a chromato-deblocking parameter presence flag and a chromato-deblocking filter override enabled flag, The chromatodeblocking parameter presence flag is related to whether chromatodeblocking-related information exists in the PPS, and the chromatodeblocking parameter presence flag is included in the PPS. The chromato deblocking filter override enable flag is related to whether (a) the chromato deblocking related information exists in the PH or SH, or (b) whether or not the chromato deblocking related information exists in the PH or SH. Based on the value of the chroma deblocking parameter presence flag being 1, the chroma deblocking filter override enabled flag is included in the video encoding method of the PPS.

12. A method for transmitting data related to video information, The step of generating a reconstruction sample for the current block, The steps include: applying a deblocking filter to the reconstructed sample to generate a corrected reconstructed sample; The steps include generating information related to the deblocking filter, A step of encoding the video information including the information related to the deblocking filter to generate a bitstream, The step of transmitting the data including the bitstream, The information associated with the deblocking filter includes a chroma tool offset presence flag and first chroma component filter parameter information. The aforementioned chroma tool offset presence flag indicates whether chroma tool offset-related information exists within the PPS (picture parameter set). The first chroma component filter parameter information is associated with a deblocking parameter offset applied to the chroma component of the slice in the current picture. Based on the chroma tool offset presence flag being equal to 1, the first chroma component filter parameter information is signaled from the PH (picture header). The information associated with the deblocking filter further includes a chromato-deblocking parameter presence flag and a chromato-deblocking filter override enabled flag, The chromatodeblocking parameter presence flag is related to whether chromatodeblocking-related information exists in the PPS, and the chromatodeblocking parameter presence flag is included in the PPS. The chromato deblocking filter override enable flag is related to whether (a) the chromato deblocking related information exists in the PH or SH, or (b) whether or not the chromato deblocking related information exists in the PH or SH. Based on the value of the chromato deblocking parameter presence flag being 1, the chromato deblocking filter override enabled flag is included in the PPS, method.