Image encoding / decoding method and apparatus for performing deblocking filtering by determining boundary strength, and method for transmitting bit stream

By determining the target boundary and boundary intensity of deblocking filtering during image encoding/decoding, the combined CbCr residual coding method is used to solve the problem of low high-resolution image encoding/decoding efficiency, and efficient deblocking filtering and cost reduction are achieved.

CN120455664AActive Publication Date: 2025-08-08GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
CN202510623192.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2020-03-25
Filing Date
2021-03-17
Publication Date
2025-08-08
Estimated Expiration
2041-03-17

AI Technical Summary

Technical Problem

The prior art has the problem of low encoding/decoding efficiency in the encoding and decoding process of high resolution and high quality images, especially the lack of effective boundary intensity determination methods in the deblocking filtering process, resulting in increased transmission and storage costs.

Method used

By determining the target boundary of the deblocking filtering in the reconstructed image and performing deblocking filtering based on the boundary intensity, the combined CbCr residual coding method is used to process the residual samples of the chroma component, and the boundary intensity is determined using the signal flag and the non-zero transform coefficient level to achieve high-efficiency filtering of the transformed block boundary.

Benefits of technology

Improve image encoding/decoding efficiency, reduce transmission and storage costs, and achieve efficient deblocking filtering effect.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120455664A_ABST
    Figure CN120455664A_ABST
Patent Text Reader

Abstract

Provided are a method and apparatus for encoding / decoding an image. A method for decoding an image according to the present disclosure may comprise the steps of: obtaining a reconstructed image; determining a target boundary of deblocking filtering in the reconstructed image; determining the boundary strength of the target boundary; and applying deblocking filtering to the target boundary based on the boundary strength, in which when the target boundary is a transform block boundary and a color component of the reconstructed image is a chroma component, the boundary strength may be determined based on whether joint CbCr residual coding is performed on at least one of two blocks adjacent to the target boundary, and when the target boundary is a transform block boundary and the color component of the reconstructed image is a chroma component, the boundary strength may be determined based on whether joint CbCr residual coding is performed on at least one of the two blocks adjacent to the target boundary. And the joint CbCr residual encoding may correspond to encoding residual samples of the chroma Cb component and the chroma Cr component into a single transform block.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to an image encoding / decoding method and apparatus, and more particularly, to an image encoding / decoding method and apparatus for performing deblocking filtering by determining boundary strength, and a method of transmitting a bitstream generated by the image encoding method / apparatus of the present disclosure. Background Art

[0002] Recently, demand for high-resolution and high-quality images, such as high-definition (HD) and ultra-high-definition (UHD), has been increasing in various fields. As the resolution and quality of image data improve, the amount of information or bits transmitted increases relative to existing image data. This increase in the amount of information or bits transmitted leads to increased transmission and storage costs.

[0003] Therefore, efficient image compression techniques are needed to effectively transmit, store, and reproduce information about high-resolution and high-quality images. Summary of the Invention

[0004] Technical issues

[0005] An object of the present disclosure is to provide an image encoding / decoding method and apparatus with improved encoding / decoding efficiency.

[0006] Another object of the present disclosure is to provide an image encoding / decoding method and apparatus for performing deblocking filtering.

[0007] Another object of the present disclosure is to provide an image encoding / decoding method and apparatus for determining a boundary strength of deblocking filtering in order to perform deblocking filtering.

[0008] Another object of the present disclosure is to provide a method for transmitting a bit stream generated by the image encoding method or apparatus according to the present disclosure.

[0009] Another object of the present disclosure is to provide a recording medium storing a bit stream generated by the image encoding method or apparatus according to the present disclosure.

[0010] Another object of the present disclosure is to provide a recording medium that stores a bit stream received and decoded by the image decoding apparatus according to the present disclosure and used to reconstruct an image.

[0011] The technical problems solved by the present disclosure are not limited to the above-mentioned technical problems, and those skilled in the art will understand other technical problems not described here through the following description.

[0012] Technical Solution

[0013] According to an aspect of the present disclosure, an image decoding method is performed by an image decoding device. The image decoding method includes: obtaining a reconstructed picture; determining a target boundary for deblocking filtering in the reconstructed picture; determining a boundary strength of the target boundary; and applying deblocking filtering to the target boundary based on the boundary strength. Based on the fact that the target boundary is a transform block boundary and the color component of the reconstructed picture is a chroma component, the boundary strength can be determined based on whether joint CbCr residual coding is performed on at least one of the two blocks adjacent to the target boundary, and the joint CbCr residual coding can correspond to encoding residual samples of the chroma Cb component and the chroma Cr component into a single transform block.

[0014] In the image decoding method according to the present disclosure, whether joint CbCr residual encoding can be performed on a block adjacent to the target boundary is determined based on a first flag signaled for the adjacent block.

[0015] In the image decoding method according to the present disclosure, based on the fact that the target boundary is a transform block boundary and the color component of the reconstructed picture is a chroma component, the boundary strength can also be determined based on whether at least one of the two blocks adjacent to the target boundary includes a non-zero transform coefficient level.

[0016] In the image decoding method according to the present disclosure, whether a block adjacent to the target boundary includes at least one non-zero transform coefficient level may be determined based on a second flag signaled for the adjacent block.

[0017] In the image decoding method according to the present disclosure, based on the target boundary being a transform block boundary and the color component of the reconstructed picture being a chroma component, the boundary strength may be determined based on the sum of two first flags and two second flags of two blocks adjacent to the target boundary.

[0018] In the image decoding method according to the present disclosure, the boundary strength may be determined to be 1 based on the sum being greater than 0.

[0019] In the image decoding method according to the present disclosure, based on the target boundary being a transform block boundary and the color component of the reconstructed picture being a luminance component, the boundary strength can be determined based on whether at least one of the two blocks adjacent to the target boundary includes a non-zero transform coefficient level.

[0020] According to another embodiment of the present disclosure, an image decoding device may include a memory and at least one processor. The at least one processor may obtain a reconstructed picture, determine a target boundary for deblocking filtering in the reconstructed picture, determine a boundary strength of the target boundary, and apply deblocking filtering to the target boundary based on the boundary strength. Based on the target boundary being a transform block boundary and the color component of the reconstructed picture being a chroma component, the boundary strength may be determined based on whether joint CbCr residual coding is performed on at least one of two blocks adjacent to the target boundary, and the joint CbCr residual coding may correspond to encoding residual samples of the chroma Cb component and the chroma Cr component into a single transform block.

[0021] According to another aspect of the present disclosure, an image encoding method may include the following steps: generating a reconstructed picture, determining a target boundary for deblocking filtering in the reconstructed picture, determining a boundary strength of the target boundary, and applying deblocking filtering to the target boundary based on the boundary strength. Based on the target boundary being a transform block boundary and the color component of the reconstructed picture being a chroma component, the boundary strength may be determined based on whether joint CbCr residual encoding is performed on at least one of two blocks adjacent to the target boundary, and the joint CbCr residual encoding may correspond to encoding residual samples of the chroma Cb component and the chroma Cr component into a single transform block.

[0022] In the image encoding method according to the present disclosure, whether joint CbCr residual encoding can be performed on a block adjacent to the target boundary is determined based on a first flag signaled for the adjacent block.

[0023] In the image encoding method according to the present disclosure, based on the fact that the target boundary is a transform block boundary and the color component of the reconstructed picture is a chroma component, the boundary strength can also be determined based on whether at least one of the two blocks adjacent to the target boundary includes a non-zero transform coefficient level.

[0024] In the image encoding method according to the present disclosure, whether a block adjacent to the target boundary includes at least one non-zero transform coefficient level may be determined based on a second flag signaled for the adjacent block.

[0025] In the image encoding method according to the present disclosure, based on the target boundary being a transform block boundary and the color component of the reconstructed picture being a chroma component, the boundary strength may be determined based on the sum of two first flags and two second flags of two blocks adjacent to the target boundary.

[0026] In the image encoding method according to the present disclosure, the boundary strength may be determined to be 1 based on the sum being greater than 0.

[0027] A transmission method according to another aspect of the present disclosure may transmit a bit stream generated by the image encoding apparatus or the image encoding method of the present disclosure.

[0028] A computer-readable recording medium according to another aspect of the present disclosure may store a bitstream generated by the image encoding apparatus or the image encoding method of the present disclosure.

[0029] The features briefly summarized above with respect to the present disclosure are merely exemplary aspects of the following detailed description of the present disclosure and do not limit the scope of the present disclosure.

[0030] Beneficial effects

[0031] According to the present disclosure, an image encoding / decoding method and apparatus with improved encoding / decoding efficiency can be provided.

[0032] According to the present disclosure, an image encoding / decoding method and apparatus for performing deblocking filtering may be provided.

[0033] According to the present disclosure, an image encoding / decoding method and apparatus for determining a boundary strength of deblocking filtering in order to perform deblocking filtering may be provided.

[0034] Furthermore, according to the present disclosure, it is possible to provide a method of transmitting a bitstream generated by the image encoding method or apparatus according to the present disclosure.

[0035] Furthermore, according to the present disclosure, it is possible to provide a recording medium storing a bit stream generated by the image encoding method or apparatus according to the present disclosure.

[0036] Furthermore, according to the present disclosure, it is possible to provide a recording medium that stores a bit stream received and decoded by the image decoding apparatus according to the present disclosure and used to reconstruct an image.

[0037] Those skilled in the art will understand that the effects that can be achieved through the present disclosure are not limited to the contents that have been specifically described above, and other advantages of the present disclosure will be more clearly understood from the detailed description. BRIEF DESCRIPTION OF THE DRAWINGS

[0038] Figure 1 is a diagram schematically illustrating a video encoding system according to an embodiment of the present disclosure.

[0039] Figure 2 is a diagram schematically illustrating an image encoding apparatus according to an embodiment of the present disclosure.

[0040] Figure 3 is a diagram schematically illustrating an image decoding apparatus according to an embodiment of the present disclosure.

[0041] Figure 4is a schematic flowchart of an image decoding process to which embodiments of the present disclosure may be applied.

[0042] Figure 5 is a schematic flowchart of an image encoding process to which embodiments of the present disclosure may be applied.

[0043] Figure 6 is a flowchart illustrating deblocking filtering according to the present disclosure.

[0044] Figure 7 is a flowchart illustrating a method of determining a boundary strength of a target boundary according to an embodiment of the present disclosure.

[0045] Figure 8 is a diagram illustrating signaling of syntax elements in a transform block related to an embodiment of the present disclosure.

[0046] Figure 9 is a flowchart illustrating a method for determining a boundary strength of a target boundary according to another embodiment of the present disclosure.

[0047] Figure 10 is a flowchart illustrating a method for determining a boundary strength of a target boundary according to another embodiment of the present disclosure.

[0048] Figure 11 is a flowchart illustrating a method for determining a boundary strength of a target boundary according to another embodiment of the present disclosure.

[0049] Figure 12 is a flowchart illustrating a deblocking filtering based encoding process according to the present disclosure.

[0050] Figure 13 is a flowchart illustrating a decoding process based on deblocking filtering according to the present disclosure.

[0051] Figure 14 is a diagram illustrating two blocks and samples adjacent to a target boundary of deblocking filtering according to an embodiment of the present disclosure.

[0052] Figure 15 is a diagram illustrating a content streaming system to which embodiments of the present disclosure can be applied. DETAILED DESCRIPTION

[0053] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily implement them. However, the present disclosure can be implemented in various forms and is not limited to the embodiments described herein.

[0054] When describing the present disclosure, if it is determined that the detailed description of related known functions or structures makes the scope of the present disclosure unnecessarily vague, its detailed description will be omitted. In the accompanying drawings, parts that are not related to the description of the present disclosure are omitted, and like reference numerals are attached to like parts.

[0055] In this disclosure, when a component is “connected,” “coupled,” or “linked” to another component, it may include not only a direct connection relationship but also an indirect connection relationship with intermediate components. In addition, when a component “includes” or “has” other components, unless otherwise specified, it means that other components may also be included, rather than excluding other components.

[0056] In the present disclosure, the terms first, second, etc. are used only to distinguish one component from other components and do not limit the order or importance of the components unless otherwise specified. Accordingly, within the scope of the present disclosure, the first component in one embodiment may be referred to as the second component in another embodiment, and similarly, the second component in one embodiment may be referred to as the first component in another embodiment.

[0057] In this disclosure, components that are distinguished from each other are intended to clearly describe each feature and do not necessarily mean that the components must be separated. That is, multiple components can be integrated and implemented in a single hardware or software unit, or a component can be distributed and implemented in multiple hardware or software units. Therefore, even if not specifically stated, implementations in which these components are integrated or distributed are also included in the scope of this disclosure.

[0058] In the present disclosure, the components described in the various embodiments are not necessarily essential components, and some components may be optional components. Therefore, embodiments consisting of a subset of the components described in the embodiments are also included in the scope of the present disclosure. In addition, embodiments that include other components in addition to the components described in the various embodiments are included in the scope of the present disclosure.

[0059] The present disclosure relates to encoding and decoding of images. Unless otherwise defined in the present disclosure, terms used in the present disclosure may have general meanings commonly used in the technical field to which the present disclosure belongs.

[0060] In this disclosure, a "picture" generally refers to a unit representing an image within a specific time period, while a slice / tile / sub-picture is a coding unit that constitutes a portion of a picture. A picture can be composed of one or more slices / tiles / sub-pictures. In addition, a slice / tile / sub-picture can include one or more coding tree units (CTUs).

[0061] In the present disclosure, "pixel" or "picture element (pel)" may refer to the smallest unit constituting a picture (or image). In addition, "sample" may be used as a term corresponding to a pixel. A sample may generally represent a pixel or a pixel value, or may represent only a pixel / pixel value of a luminance component or only a pixel / pixel value of a chrominance component.

[0062] In this disclosure, a "unit" may refer to a basic unit of image processing. The unit may include at least one of a specific area of a picture and information related to the area. In some cases, the unit may be used interchangeably with terms such as "sample array," "block," or "area." In general, an M×N block may include M columns and N rows of samples (or sample arrays) or a set (or array) of transform coefficients.

[0063] In the present disclosure, the term "current block" may refer to one of the following: "current coding block," "current coding unit," "encoding target block," "decoding target block," or "processing target block." When prediction is performed, the term "current block" may refer to either the "current prediction block" or the "prediction target block." When transform (inverse transform) / quantization (dequantization) is performed, the term "current block" may refer to either the "current transform block" or the "transform target block." When filtering is performed, the term "current block" may refer to the "filtering target block."

[0064] In addition, in the present disclosure, unless explicitly stated as a chroma block, "current block" may mean "luminance block of the current block." "Chroma block of the current block" may be expressed by including an explicit description of the chroma block such as "chroma block" or "current chroma block."

[0065] In the present disclosure, the term " / " or "," may be interpreted as indicating "and / or". For example, "A / B" and "A, B" may mean "A and / or B". In addition, "A / B / C" and "A / B / C" may mean "at least one of A, B, and / or C".

[0066] In the present disclosure, the term "or" should be interpreted to mean "and / or". For example, the expression "A or B" may include 1) only "A", 2) only "B", or 3) both "A and B". In other words, in the present disclosure, "or" should be interpreted to mean "additionally or alternatively".

[0067] Overview of Video Coding Systems

[0068] Figure 1 is a diagram schematically illustrating a video encoding system according to the present disclosure.

[0069] The video encoding system according to the embodiment may include an encoding device 10 and a decoding device 20. The encoding device 10 may deliver encoded video and / or image information or data to the decoding device 20 via a digital storage medium or a network in the form of a file or stream.

[0070] The encoding device 10 according to the embodiment may include a video source generator 11, an encoding unit 12, and a transmitter 13. The decoding device 20 according to the embodiment may include a receiver 21, a decoding unit 22, and a renderer 23. The encoding unit 12 may be referred to as a video / image encoding unit, and the decoding unit 22 may be referred to as a video / image decoding unit. The transmitter 13 may be included in the encoding unit 12. The receiver 21 may be included in the decoding unit 22. The renderer 23 may include a display, and the display may be configured as a separate device or an external component.

[0071] The video source generator 11 can obtain video / images by capturing, synthesizing, or generating video / images. The video source generator 11 may include a video / image capture device and / or a video / image generation device. The video / image capture device may include, for example, one or more cameras, a video / image archive including previously captured videos / images, etc. The video / image generation device may include, for example, a computer, a tablet computer, and a smartphone, and may generate videos / images (electronically). For example, a virtual video / image may be generated by a computer, etc. In this case, the video / image capture process may be replaced by a process for generating relevant data.

[0072] The encoding unit 12 may encode the input video / image. For compression and coding efficiency, the encoding unit 12 may perform a series of processes such as prediction, transformation, and quantization. The encoding unit 12 may output the encoded data (encoded video / image information) in the form of a bitstream.

[0073] The transmitter 13 transmits the encoded video / image information or data, output in the form of a bitstream, to the receiver 21 of the decoding device 20 in the form of a file or stream via a digital storage medium or a network. The digital storage medium may include various storage media, such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. The transmitter 13 may include components for generating a media file in a predetermined file format and may also include components for transmission via a broadcast / communication network. The receiver 21 may extract / receive the bitstream from the storage medium or network and transmit the bitstream to the decoding unit 22.

[0074] The decoding unit 22 may decode a video / image by performing a series of processes corresponding to the operations of the encoding unit 12 , such as dequantization, inverse transformation, and prediction.

[0075] The renderer 23 may render the decoded video / image. The rendered video / image may be displayed on a display.

[0076] Overview of Image Coding Devices

[0077] Figure 2 FIG. 1 is a diagram schematically illustrating an image encoding device to which an embodiment of the present disclosure is applicable.

[0078] like Figure 2 As shown, the image encoding apparatus 100 may include an image splitter 110, a subtractor 115, a transformer 120, a quantizer 130, a dequantizer 140, an inverse transformer 150, an adder 155, a filter 160, a memory 170, an inter-frame prediction unit 180, an intra-frame prediction unit 185, and an entropy encoder 190. The inter-frame prediction unit 180 and the intra-frame prediction unit 185 may be collectively referred to as a "prediction unit." The transformer 120, the quantizer 130, the dequantizer 140, and the inverse transformer 150 may be included in a residual processor. The residual processor may further include a subtractor 115.

[0079] In some embodiments, all or at least some of the components configuring the image encoding apparatus 100 may be configured by one hardware component (eg, an encoder or a processor). In addition, the memory 170 may include a decoded picture buffer (DPB) and may be configured by a digital storage medium.

[0080] The image splitter 110 may split the input image (or picture or frame) input to the image encoding device 100 into one or more processing units. For example, a processing unit may be referred to as a coding unit (CU). A coding unit may be obtained by recursively splitting a coding tree unit (CTU) or a maximum coding unit (LCU) according to a quadtree, binary tree, or ternary tree (QT / BT / TT) structure. For example, a coding unit may be split into multiple coding units of a deeper depth based on a quadtree structure, a binary tree structure, and / or a ternary tree structure. For the splitting of the coding unit, a quadtree structure may be applied first, and then a binary tree structure and / or a ternary tree structure may be applied. The encoding process according to the present disclosure may be performed based on the final coding unit that is no longer split. The maximum coding unit may be used as the final coding unit, or a coding unit of a deeper depth obtained by splitting the maximum coding unit may be used as the final coding unit. Here, the encoding process may include the prediction, transform, and reconstruction processes described later. As another example, the processing unit of the encoding process may be a prediction unit (PU) or a transform unit (TU). The prediction unit and the transform unit may be divided or partitioned from the final coding unit. The prediction unit may be a sample prediction unit, and the transform unit may be a unit for deriving a transform coefficient and / or a unit for deriving a residual signal from the transform coefficient.

[0081] The prediction unit (inter prediction unit 180 or intra prediction unit 185) may perform prediction on the block to be processed (current block) and generate a prediction block including prediction samples of the current block. The prediction unit may determine whether to apply intra prediction or inter prediction based on the current block or CU. The prediction unit may generate various information related to the prediction of the current block and transmit the generated information to the entropy encoder 190. The information about the prediction may be encoded in the entropy encoder 190 and output in the form of a bitstream.

[0082] The intra-frame prediction unit 185 can predict the current block by referring to samples in the current picture. Depending on the intra-frame prediction mode and / or intra-frame prediction technology, the reference samples can be located in the neighborhood of the current block or can be placed separately. The intra-frame prediction mode may include multiple non-directional modes and multiple directional modes. The non-directional mode may include, for example, a DC mode and a planar mode. Depending on the level of detail of the prediction direction, the directional mode may include, for example, 33 directional prediction modes or 65 directional prediction modes. However, this is merely an example, and more or fewer directional prediction modes may be used depending on the settings. The intra-frame prediction unit 185 may determine the prediction mode applied to the current block by using the prediction mode applied to the neighboring blocks.

[0083] The inter-frame prediction unit 180 can derive a prediction block for the current block based on a reference block (reference sample array) specified by a motion vector on a reference picture. In this case, to reduce the amount of motion information transmitted in inter-frame prediction mode, motion information can be predicted in units of blocks, sub-blocks, or samples based on the correlation of motion information between neighboring blocks and the current block. The motion information can include a motion vector and a reference picture index. The motion information can also include information about the inter-frame prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.). In the case of inter-frame prediction, neighboring blocks can include spatially neighboring blocks in the current picture and temporally neighboring blocks in the reference picture. The reference picture including the reference block and the reference picture including the temporally neighboring block can be the same or different. Temporally neighboring blocks can be referred to as collocated reference blocks, collocated CUs (colCUs), etc. A reference picture including temporally neighboring blocks can be referred to as collocated pictures (colPics). For example, the inter-frame prediction unit 180 can configure a motion information candidate list based on the neighboring blocks and generate information indicating which candidate to use to derive the motion vector and / or reference picture index for the current block. Inter-frame prediction can be performed based on various prediction modes. For example, in the case of skip mode and merge mode, the inter-frame prediction unit 180 can use the motion information of the neighboring block as the motion information of the current block. In the case of skip mode, unlike merge mode, the residual signal may not be transmitted. In the case of motion vector prediction (MVP) mode, the motion vector of the neighboring block may be used as a motion vector predictor, and the motion vector of the current block may be signaled by encoding the motion vector difference and the indicator of the motion vector predictor to indicate the motion vector of the current block. The motion vector difference may mean the difference between the motion vector of the current block and the motion vector predictor.

[0084] The prediction unit can generate a prediction signal based on various prediction methods and prediction techniques described below. For example, the prediction unit can apply not only intra-frame prediction or inter-frame prediction, but also both intra-frame prediction and inter-frame prediction simultaneously to predict the current block. The prediction method that simultaneously applies both intra-frame prediction and inter-frame prediction to predict the current block is referred to as combined inter-frame and intra-frame prediction (CIIP). In addition, the prediction unit can perform intra-frame block copying (IBC) to predict the current block. Intra-frame block copying can be used for content image / video encoding such as games, such as screen content coding (SCC). IBC is a method that uses a previously reconstructed reference block in the current picture at a predetermined distance from the current block to predict the current picture. When IBC is applied, the position of the reference block in the current picture can be encoded as a vector (block vector) corresponding to the predetermined distance. In IBC, prediction is essentially performed in the current picture, but can be performed similarly to inter-frame prediction because the reference block is derived within the current picture. In other words, IBC can use at least one of the inter-frame prediction techniques described in this disclosure.

[0085] The prediction signal generated by the prediction unit can be used to generate a reconstructed signal or a residual signal. The subtractor 115 can generate a residual signal (residual block or residual sample array) by subtracting the prediction signal (prediction block or prediction sample array) output from the prediction unit from the input image signal (original block or original sample array). The generated residual signal can be transmitted to the transformer 120.

[0086] The transformer 120 may generate transform coefficients by applying a transform technique to the residual signal. For example, the transform technique may include at least one of a discrete cosine transform (DCT), a discrete sine transform (DST), a Karhunen-Loève transform (KLT), a graph-based transform (GBT), or a conditional nonlinear transform (CNT). Here, GBT refers to a transform obtained from a graph when the relationship information between pixels is represented by a graph. CNT refers to a transform obtained based on a prediction signal generated using all previously reconstructed pixels. In addition, the transform process may be applied to square pixel blocks of the same size or to blocks of variable size other than square.

[0087] The quantizer 130 may quantize the transform coefficients and transmit them to the entropy encoder 190. The entropy encoder 190 may encode the quantized signal (information about the quantized transform coefficients) and output a bitstream. The information about the quantized transform coefficients may be referred to as residual information. The quantizer 130 may rearrange the quantized transform coefficients in block form into a one-dimensional vector form based on the coefficient scanning order, and generate information about the quantized transform coefficients based on the quantized transform coefficients in the one-dimensional vector form.

[0088] The entropy encoder 190 can perform various encoding methods, such as exponential Golomb, context-adaptive variable length coding (CAVLC), context-adaptive binary arithmetic coding (CABAC), etc. The entropy encoder 190 can encode information required for video / image reconstruction other than quantized transform coefficients (e.g., values of syntax elements, etc.) together or separately. The encoded information (e.g., encoded video / image information) can be transmitted or stored in the form of a bitstream in units of a network abstraction layer (NAL). The video / image information may also include information about various parameter sets, such as an adaptation parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). In addition, the video / image information may also include general constraint information. The signaling information, transmitted information, and / or syntax elements described in the present disclosure may be encoded through the above-mentioned encoding process and included in the bitstream.

[0089] The bitstream may be transmitted over a network or stored in a digital storage medium. The network may include a broadcast network and / or a communication network, and the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. A transmitter (not shown) for transmitting a signal output from the entropy encoder 190 and / or a storage unit (not shown) for storing the signal may be included as an internal / external element of the image encoding device 100. Alternatively, a transmitter may be provided as a component of the entropy encoder 190.

[0090] The quantized transform coefficients output from the quantizer 130 may be used to generate a residual signal. For example, the residual signal (residual block or residual sample) may be reconstructed by applying dequantization and inverse transform to the quantized transform coefficients through the dequantizer 140 and the inverse transformer 150.

[0091] The adder 155 adds the reconstructed residual signal to the prediction signal output from the inter-frame prediction unit 180 or the intra-frame prediction unit 185 to generate a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array). In the case where the block to be processed has no residual, such as when skip mode is applied, the prediction block can be used as the reconstructed block. The adder 155 can be called a reconstructor or a reconstructed block generator. The generated reconstructed signal can be used for intra-frame prediction of the next block to be processed in the current picture, and can be used for inter-frame prediction of the next picture through filtering as described below.

[0092] The filter 160 can improve the subjective / objective image quality by applying filtering to the reconstructed signal. For example, the filter 160 can generate a modified reconstructed picture by applying various filtering methods to the reconstructed picture, and store the modified reconstructed picture in the memory 170, specifically, in the DPB of the memory 170. Various filtering methods may include, for example, deblocking filtering, sample adaptive offset, adaptive loop filtering, bilateral filtering, etc. The filter 160 can generate various information related to filtering and transmit the generated information to the entropy encoder 190, as described later in the description of each filtering method. The information related to filtering can be encoded by the entropy encoder 190 and output in the form of a bitstream.

[0093] The modified reconstructed picture transferred to the memory 170 may be used as a reference picture in the inter prediction unit 180. When inter prediction is applied by the image encoding apparatus 100, prediction mismatch between the image encoding apparatus 100 and the image decoding apparatus may be avoided and encoding efficiency may be improved.

[0094] The DPB of the memory 170 may store the modified reconstructed picture for use as a reference picture in the inter-frame prediction unit 180. The memory 170 may store the motion information of the block from which the motion information in the current picture is derived (or encoded) and / or the motion information of the reconstructed block in the picture. The stored motion information may be transmitted to the inter-frame prediction unit 180 and used as the motion information of the spatially adjacent block or the motion information of the temporally adjacent block. The memory 170 may store the reconstructed samples of the reconstructed block in the current picture and may transmit the reconstructed samples to the intra-frame prediction unit 185.

[0095] Overview of Image Decoding Equipment

[0096] Figure 3 FIG. 1 is a diagram schematically illustrating an image decoding device to which an embodiment of the present disclosure is applicable.

[0097] like Figure 3 As shown, the image decoding apparatus 200 may include an entropy decoder 210, a dequantizer 220, an inverse transformer 230, an adder 235, a filter 240, a memory 250, an inter-frame prediction unit 260, and an intra-frame prediction unit 265. The inter-frame prediction unit 260 and the intra-frame prediction unit 265 may be collectively referred to as a "prediction unit." The dequantizer 220 and the inverse transformer 230 may be included in a residual processor.

[0098] According to an embodiment, all or at least some of the components configuring the image decoding apparatus 200 may be configured by hardware components (eg, a decoder or a processor). In addition, the memory 250 may include a decoded picture buffer (DPB) or may be configured by a digital storage medium.

[0099] The image decoding apparatus 200 having received a bit stream including video / image information may decode the image by performing the same operation as that performed by Figure 2 The image is reconstructed by processing corresponding to the processing performed by the image encoding device 100. For example, the image decoding device 200 can perform decoding using the processing unit applied in the image encoding device. Therefore, the processing unit of decoding can be, for example, a coding unit. The coding unit can be obtained by dividing the coding tree unit or the maximum coding unit. The reconstructed image signal decoded and output by the image decoding device 200 can be reproduced by a reproduction device (not shown).

[0100] The image decoding device 200 can receive the image in the form of a bit stream from Figure 2The received signal can be decoded by the entropy decoder 210. For example, the entropy decoder 210 can parse the bitstream to derive the information required for image reconstruction (or picture reconstruction) (for example, video / image information). The video / image information may also include information about various parameter sets, such as an adaptive parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). In addition, the video / image information may also include general constraint information. The image decoding device may also decode the picture based on the information about the parameter set and / or the general constraint information. The signaled / received information and / or syntax elements described in the present disclosure can be decoded and obtained from the bitstream through a decoding process. For example, the entropy decoder 210 decodes the information in the bitstream based on a coding method such as exponential Golomb coding, CAVLC, or CABAC, and outputs the values of the syntax elements required for image reconstruction and the quantized values of the transform coefficients of the residual. More specifically, the CABAC entropy decoding method can receive a bin corresponding to each syntax element in the bitstream, use the decoding target syntax element information, the decoding information of the neighboring blocks and the decoding target block, or the information of the symbol / bin decoded at the previous stage to determine the context model, perform arithmetic decoding on the bin by predicting the probability of occurrence of the bin according to the determined context model, and generate a symbol corresponding to the value of each syntax element. In this case, after determining the context model, the CABAC entropy decoding method can update the context model by using the information of the decoded symbol / bin for the context model of the next symbol / bin. The information related to the prediction in the information decoded by the entropy decoder 210 can be provided to the prediction unit (inter-frame prediction unit 260 and intra-frame prediction unit 265), and the residual value of the entropy decoder 210, that is, the quantized transform coefficient and related parameter information, can be input to the dequantizer 220. In addition, the information about filtering in the information decoded by the entropy decoder 210 can be provided to the filter 240. In addition, a receiver (not shown) for receiving a signal output from the image encoding apparatus may be further configured as an internal / external element of the image decoding apparatus 200 , or the receiver may be a component of the entropy decoder 210 .

[0101] In addition, the image decoding device according to the present disclosure may be referred to as a video / image / picture decoding device. The image decoding device may be divided into an information decoder (video / image / picture information decoder) and a sample decoder (video / image / picture sample decoder). The information decoder may include an entropy decoder 210. The sample decoder may include a dequantizer 220, an inverse transformer 230, an adder 235, a filter 240, a memory 250, an inter-frame prediction unit 260, or at least one of an intra-frame prediction unit 265.

[0102] The dequantizer 220 may dequantize the quantized transform coefficients and output the transform coefficients. The dequantizer 220 may rearrange the quantized transform coefficients in the form of two-dimensional blocks. In this case, the rearrangement may be performed based on the coefficient scanning order performed in the image encoding device. The dequantizer 220 may dequantize the quantized transform coefficients using quantization parameters (e.g., quantization step size information) and obtain the transform coefficients.

[0103] The inverse transformer 230 may inversely transform the transform coefficients to obtain a residual signal (residual block, residual sample array).

[0104] The prediction unit may perform prediction on the current block and generate a prediction block including prediction samples of the current block. The prediction unit may determine whether to apply intra prediction or inter prediction to the current block based on the information about prediction output from the entropy decoder 210, and may determine a specific intra / inter prediction mode (prediction technique).

[0105] The same as described in the prediction unit of the image encoding device 100 , the prediction unit can generate a prediction signal based on various prediction methods (techniques) described later.

[0106] The intra prediction unit 265 may predict the current block by referring to samples in the current picture. The description of the intra prediction unit 185 is also applicable to the intra prediction unit 265.

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

[0108] The adder 235 can generate a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array) by adding the obtained residual signal to the prediction signal (prediction block, prediction sample array) output from the prediction unit (including the inter-frame prediction unit 260 and / or the intra-prediction unit 265). The description of the adder 155 is also applicable to the adder 235. In the case where there is no residual for the block to be processed, such as when the skip mode is applied, the prediction block can be used as a reconstructed block. The description of the adder 155 is also applicable to the adder 235. The adder 235 can be referred to as a reconstructor or a reconstructed block generator. The generated reconstructed signal can be used for intra-frame prediction of the next block to be processed in the current picture, and can be used for inter-frame prediction of the next picture through filtering as described below.

[0109] The filter 240 can improve the subjective / objective image quality by applying filtering to the reconstructed signal. For example, the filter 240 can generate a modified reconstructed picture by applying various filtering methods to the reconstructed picture, and store the modified reconstructed picture in the memory 250, specifically, in the DPB of the memory 250. The various filtering methods may include, for example, deblocking filtering, sample adaptive offset, adaptive loop filtering, bilateral filtering, etc.

[0110] The (modified) reconstructed picture stored in the DPB of the memory 250 can be used as a reference picture in the inter-frame prediction unit 260. The memory 250 can store the motion information of the block from which the motion information in the current picture is derived (or decoded) and / or the motion information of the reconstructed block in the picture. The stored motion information can be transmitted to the inter-frame prediction unit 260 to be used as the motion information of the spatial neighboring block or the motion information of the temporal neighboring block. The memory 250 can store the reconstructed samples of the reconstructed block in the current picture and transmit the reconstructed samples to the intra-frame prediction unit 265.

[0111] In the present disclosure, the embodiments described in the filter 160, the inter-frame prediction unit 180 and the intra-frame prediction unit 185 of the image encoding device 100 can be applied equally or correspondingly to the filter 240, the inter-frame prediction unit 260 and the intra-frame prediction unit 265 of the image decoding device 200.

[0112] Overview of the image decoding / encoding process

[0113] In image / video coding, the pictures constituting the image / video can be encoded / decoded according to a series of decoding orders. The picture order corresponding to the output order of the decoded pictures can be set differently from the above decoding order, and based on this, not only forward prediction but also backward prediction can be performed during inter-frame prediction.

[0114] Figure 4is a schematic flowchart of an image decoding process to which embodiments of the present disclosure may be applied.

[0115] Figure 4 Each process shown in can be represented by Figure 3 For example, step S410 may be performed by the entropy decoder 210 of the image decoding device, step S420 may be performed by the prediction units 260 and 265, step S430 may be performed by the residual processors 220 and 230, step S440 may be performed by the adder 235, and step S450 may be performed by the filter 240. Step S410 may include the information decoding (parsing) process described in the present disclosure, step S420 may include the inter / intra prediction process described in the present disclosure, step S430 may include the residual processing process described in the present disclosure, step S440 may include the block / picture reconstruction process described in the present disclosure, and step S450 may include the in-loop filtering process described in the present disclosure.

[0116] Reference Figure 4 , the picture decoding process can illustratively include a process for obtaining video / image information from a bitstream (by decoding) (S410), an image (picture) reconstruction process (S420 to S440), and an in-loop filtering process (S450) for reconstructing the image (picture). The image reconstruction process can be performed based on the prediction samples obtained by inter / intra prediction (S420) and the residual samples (dequantization and inverse transformation of quantized transform coefficients) obtained by residual processing (S430). For the reconstructed picture generated by the image reconstruction process, a modified reconstructed picture can be generated by the in-loop filtering process (S450), and the modified reconstructed picture can be output as a decoded picture, stored in the memory or decoded picture buffer (DPB) 250 of the image decoding device, and used as a reference picture in the inter-frame prediction process when decoding a later picture. In some cases, the in-loop filtering process can be omitted. In this case, the reconstructed picture can be output as a decoded picture, stored in the DPB 250 or memory of the image decoding device, and used as a reference picture in the inter-frame prediction process when decoding a later picture. The in-loop filtering process (S450) may include a deblocking filtering process, a sample adaptive offset (SAO) process, an adaptive loop filter (ALF) process, and / or a bidirectional filter process, some or all of which may be omitted as described above. In addition, one or some of the deblocking filtering process, the sample adaptive offset (SAO) process, the adaptive loop filter (ALF) process, and / or the bidirectional filter process may be applied sequentially, or all of them may be applied sequentially. For example, the SAO process may be performed after the deblocking filtering process is applied to the reconstructed image. Alternatively, the ALF process may be performed after the deblocking filtering process is applied to the reconstructed image. This may even be performed similarly in the image encoding device.

[0117] Figure 5 is a schematic flowchart of an image encoding process to which embodiments of the present disclosure may be applied.

[0118] Figure 5 Each process shown in can be represented by Figure 2 For example, step S510 may be performed by the prediction units 180 and 185 of the image encoding device, step S520 may be performed by the residual processors 115, 120, and 130, and step S530 may be performed in the entropy encoder 190. Step S510 may include the inter / intra prediction process described in the present disclosure, step S520 may include the residual processing process described in the present disclosure, and step S530 may include the information encoding process described in the present disclosure.

[0119] Reference Figure 5 , the image encoding process may illustratively include not only a process for encoding and outputting information for picture reconstruction (e.g., prediction information, residual information, segmentation information, etc.) in the form of a bitstream, but also a process for generating a reconstructed picture of the current picture and a process for applying in-loop filtering to the reconstructed picture (optional). The image encoding device may derive (modified) residual samples from the quantized transform coefficients through a dequantizer 140 and an inverse transformer 150, and generate a reconstructed picture based on the prediction samples and (modified) residual samples outputted in step S510. The reconstructed picture generated in this manner may be equal to the reconstructed picture generated in the image decoding device. Similar to the image decoding device, the modified reconstructed picture may be generated by an in-loop filtering process for reconstructing the picture, and may be stored in a decoded picture buffer (DPB) 170 or a memory, and may be used as a reference picture in an inter-frame prediction process when encoding a later picture. As described above, in some cases, some or all of the in-loop filtering processes may be omitted. When the in-loop filtering process is performed, the (in-loop) filtering-related information (parameters) can be encoded in the entropy encoder 190 and output in the form of a bit stream, and the image decoding device can perform the in-loop filtering process based on the filtering-related information using the same method as the image encoding device.

[0120] By performing such an in-loop filtering process, noise (e.g., blocking and ringing) that occurs during video / image encoding can be reduced, and subjective / objective visual quality can be improved. In addition, by performing the in-loop filtering process in both the image encoding device and the image decoding device, the image encoding device and the image decoding device can derive the same prediction result, which can increase picture encoding reliability and reduce the amount of data to be transmitted for picture encoding.

[0121] As described above, the image (picture) reconstruction process can be performed not only in an image decoding device but also in an image encoding device. A reconstructed block can be generated based on intra prediction / inter prediction in block units, and a reconstructed picture including the reconstructed block can be generated. When the current picture / slice / patchwork group is an I picture / slice / patchwork group, the blocks included in the current picture / slice / patchwork group can be reconstructed based only on intra prediction. On the other hand, when the current picture / slice / patchwork group is a P or B picture / slice / patchwork group, the blocks included in the current picture / slice / patchwork group can be reconstructed based on intra prediction or inter prediction. In this case, inter prediction can be applied to some blocks in the current picture / slice / patchwork group and intra prediction can be applied to the remaining blocks. The color components of the picture may include luminance components and chrominance components, and unless expressly limited in the present disclosure, the methods and embodiments of the present disclosure may be applied to both luminance components and chrominance components.

[0122] Figure 6 is a flowchart illustrating deblocking filtering according to the present disclosure. Figure 6 The deblocking filtering shown may correspond to the deblocking filtering of the in-loop filtering described above. Figure 6 The deblocking filter shown can be, for example, Figure 2 Filter 160 or Figure 3 The filter 240 is executed.

[0123] Deblocking filtering may correspond to a filtering technique for removing distortion occurring at a boundary between blocks in a reconstructed picture. A target boundary may be derived from the reconstructed picture through a deblocking filtering process (S610). In addition, a boundary strength of the derived target boundary may be determined (S620). Deblocking filtering may be performed on the target boundary based on the determined boundary strength (S630). The boundary strength may be determined based on a prediction mode, a motion vector difference, whether a reference picture is the same, and / or the presence / absence of non-zero significant coefficients of two blocks adjacent to the target boundary.

[0124] Deblocking filtering can be applied to the reconstructed picture. Deblocking filtering can be performed in the same order as the decoding process for each CU of the reconstructed picture. First, vertical edges can be filtered (horizontal filtering). Thereafter, horizontal edges can be filtered (vertical filtering). Deblocking filtering can be applied to all coding block (or sub-block) edges and transform block edges.

[0125] As described above, in-loop filtering may include SAO. SAO may correspond to a method of compensating for the offset difference between the reconstructed image and the original image in units of samples. For example, SAO may be applied based on a type such as a band offset or an edge offset. According to SAO, samples may be classified into different categories based on each SAO type. An offset value may be added to each sample based on the classified category. SAO filter information may include information on whether SAO is applied, SAO type information, and / or SAO offset value information. SAO may be applied to the reconstructed image after deblocking filtering is applied.

[0126] In addition, in-loop filtering may include ALF. ALF may correspond to a technique for filtering a reconstructed picture in units of samples based on filter coefficients according to a filter shape. The encoding device may determine whether to apply ALF, ALF shape, and / or ALF filter coefficients by comparing the reconstructed picture with the original picture. In addition, this may be signaled to the decoding device. ALF filter information may include information on whether to apply ALF, ALF filter shape information, and / or ALF filter coefficient information. ALF may be applied to the reconstructed picture after deblocking filtering is applied.

[0127] According to some embodiments of the present disclosure, the boundary strength may be determined based on conditions of two blocks adjacent to the target boundary. In the present disclosure, boundary strength and boundary filter strength may be used interchangeably.

[0128] Figure 14 is a diagram illustrating two blocks and samples adjacent to a target boundary of deblocking filtering according to an embodiment of the present disclosure.

[0129] exist Figure 14 , the boundary indicated by the thick solid line may be a target boundary for deblocking filtering.

[0130] like Figure 14 As shown in , when the target boundary is a vertical boundary, the left block can be defined as a P block based on the target boundary, and the right block can be defined as a Q block. In addition, when the target boundary is a horizontal boundary, the upper block can be defined as a P block based on the target boundary, and the lower block can be defined as a Q block.

[0131] In the present disclosure, the samples in a P block can be represented by p n Represented by, and the samples in the Q block can be represented by q n In other words, p n and q nIt may be a sample facing the boundary (target boundary) between the P block and the Q block. In this case, n may be an integer greater than or equal to 0 and may represent a distance from the target boundary. p0 may be a sample in the P block immediately adjacent to the target boundary, and q0 may represent a sample in the Q block immediately adjacent to the target boundary. For example, p0 may be a sample of a left block or an upper block adjacent to the target boundary, and q0 may be a sample of a right block or a lower block adjacent to the target boundary. Alternatively, as Figure 14 As shown in , the samples in P block can be represented by p n,m Represented by, and the samples in the Q block can be represented by q n,m In this case, n is an integer greater than or equal to 0 as described above and may represent a distance from the target boundary. In addition, m may be an index for distinguishing samples located at the same distance from the target boundary in one block (P block or Q block).

[0132] In addition, in the following description, the first value, the second value, and the third value of the boundary strength may represent 0, 1, and 2, respectively, but the scope of the present disclosure is not limited by such definitions.

[0133] Image encoding devices and image decoding devices can perform deblocking filtering based on boundary strength. For example, when the boundary strength is a first value (e.g., 0), no filtering may be applied to the corresponding target boundary. Deblocking filtering can be applied based on filter strength (strong filter / weak filter) and / or filter length.

[0134] In the present disclosure, deblocking filtering can be performed by obtaining information related to deblocking filtering from a bitstream. For example, the information related to deblocking filtering can include a flag specifying whether deblocking filtering is available. In addition, the information related to deblocking filtering can include information for deriving boundary strength.

[0135] The deblocking filtering process can be performed separately according to the color components (luminance component (Y) and chrominance components (cb, cr)) of the reconstructed picture. For example, the boundary strength bS can be derived differently according to the color components (luminance component (Y) and chrominance components (cb, cr)). In addition, for example, the target boundary can be derived separately according to the color components (luminance component (Y) and chrominance components (cb, cr)). In the present disclosure, the color component can be specified by the component index cIdx. For example, when cIdx is 0, it can specify the luminance component. In addition, when cIdx is 1, it can specify the chrominance component cb, and when cIdx is 2, it can specify the chrominance component cr.

[0136] Figure 7 is a flowchart illustrating a method of determining a boundary strength of a target boundary according to an embodiment of the present disclosure.

[0137] Reference Figure 7, it may be determined whether the current block is a luma component block (e.g., cIdx=0) and whether both samples p0 and q0 are included in a coding block to which block-based quantization residual domain differential pulse code modulation (BDPCM) is applied (e.g., intra_bdpcm_luma_flag=1) (S710). When the above conditions are met (S710 is yes), the boundary strength corresponding to the target boundary may be determined to be a first value (e.g., 0).

[0138] When the condition of step S710 is not met (S710 is no), step S720 may be determined. Specifically, it may be determined whether the current block is a chroma component block (e.g., cIdx>0) and whether both samples p0 and q0 are included in a coding block to which BDPCM is applied (e.g., intra_bdpcm_chroma_flag=1) (S720). When the above conditions are met (S720 is yes), the boundary strength corresponding to the target boundary may be determined to be a first value (e.g., 0).

[0139] When the condition of step S720 is not satisfied (S720 is No), step S730 may be determined. Specifically, it may be determined that sample p0 or sample q0 is included in a coding block encoded in intra-frame prediction mode (S730). When the above condition is satisfied (S730 is Yes), the boundary strength corresponding to the target boundary may be determined to be a third value (e.g., 2).

[0140] If the condition of step S730 is not met (S730 is no), step S740 may be determined. Specifically, it may be determined whether the target boundary is a boundary of a coding block and whether sample p0 or sample q0 is included in a coding block to which combined inter-frame and intra-frame prediction (CIIP) is applied (e.g., ciip_flag=1) (S740). If the above condition is met (S740 is yes), the boundary strength corresponding to the target boundary may be determined to be a third value (e.g., 2).

[0141] If the condition of step S740 is not satisfied (S740 is No), step S750 may be performed. Specifically, it may be determined whether the target boundary is a boundary of a transform block and whether sample p0 or sample q0 is included in a transform block having one or more non-zero transform coefficient levels (S750). If the above condition is satisfied (S750 is Yes), the boundary strength corresponding to the target boundary may be determined to be a second value (e.g., 1).

[0142] When the condition of step S750 is not met (S750 is no), step S760 can be determined. Specifically, it can be determined whether the prediction mode of the coding sub-block containing sample p0 and the prediction mode of the coding sub-block containing sample q0 are different (S760). When the above condition is met (S760 is yes), the boundary strength of the corresponding target boundary can be determined to be a second value (e.g., 1). For example, when one of the two coding sub-blocks located on both sides of the target boundary is encoded in the IBC prediction mode and the other is encoded in the inter-frame prediction mode, the boundary strength of the corresponding target boundary can be determined to be a second value (e.g., 1).

[0143] When the conditions of step S760 are not met (S760 is no), step S770 may be determined. Specifically, in step S770, it may be determined whether the color component is a luminance component (e.g., cIdx=0), whether the target boundary is a sub-block boundary (e.g., edgeFlags=2), and whether at least one of the various other conditions described below is met (S770). In step S770, when the color component is a luminance component, the target boundary is a sub-block boundary, and at least one of the other conditions (conditions 1 to 5) described below is met (S770 is yes), the boundary strength corresponding to the target boundary may be determined to be a second value (e.g., 1).

[0144] - Condition 1: Both the coded sub-block containing sample p0 and the coded sub-block containing sample q0 are encoded in IBC prediction mode, and the difference between the horizontal component or the vertical component of the block vector of each sub-block is greater than or equal to an 8-unit value in units of 1 / 16 luma samples.

[0145] Condition 2: The coded sub-block containing sample p0 and the coded sub-block containing sample q0 reference different reference pictures or have different numbers of motion vectors. In Condition 2, whether the reference pictures are the same is determined by considering only whether the pictures referenced for inter-frame prediction are the same, and whether the corresponding reference pictures belong to reference picture list 0 or reference picture list 1 is not considered. In addition, whether the index values specifying the corresponding reference pictures are the same is not considered. Alternatively, the prediction direction flags (PredFlagL0, PredFlagL1) values can be used to determine the number of motion vectors. For example, the number of motion vectors can be derived as PredFlagL0 + PredFlagL1.

[0146] - Condition 3: One motion vector is used to predict the coding sub-block containing sample p0 and the coding sub-block containing sample q0, and the difference between the horizontal component or the vertical component of the motion vector of each sub-block can be greater than or equal to 8 unit values in units of 1 / 16 luma samples.

[0147] -Condition 4: Two motion vectors and two different reference pictures are used to predict the coding sub-block including the same p0, and two motion vectors and two same reference pictures are used to predict the coding sub-block including the sample q0, and the difference between the horizontal component or the vertical component of the motion vector of the same reference picture can be greater than or equal to 8 units in units of 1 / 16 luma samples.

[0148] - Condition 5: Two motion vectors of the same reference picture are used to predict the coding subblock containing sample p0, and two motion vectors of the same reference picture are used to predict the coding subblock containing sample q0, and the following two conditions (Condition 5-1 and Condition 5-2) are met.

[0149] -Condition 5-1: The difference between the horizontal component or the vertical component of the list 0 motion vector used to predict each coding sub-block can be greater than or equal to an 8-unit value in units of 1 / 16 luma samples, and the difference between the horizontal component or the vertical component of the list 1 motion vector used to predict each coding sub-block can be greater than or equal to an 8-unit value in units of 1 / 16 luma samples.

[0150] - Condition 5-2: The difference between the horizontal component or the vertical component between the list 0 motion vector used to predict the coding subblock including subblock p0 and the list 1 motion vector used to predict the coding subblock including sample q0 can be greater than or equal to an 8-unit value in units of 1 / 16 luma samples, or the difference between the horizontal component or the vertical component between the list 1 motion vector used to predict the coding subblock including subblock p0 and the list 0 motion vector used to predict the coding subblock including sample q0 can be greater than or equal to an 8-unit value in units of 1 / 16 luma samples.

[0151] In the above-mentioned conditions 1 to 5, the difference between the vertical (or horizontal) components of the motion vectors may mean the absolute value of the difference between the vertical (or horizontal) components of the motion vectors.

[0152] When the condition of step S770 is not satisfied ( S770 : No), the boundary strength corresponding to the target boundary may be determined as a first value (eg, 0).

[0153] Reference Figure 7 The method of determining the boundary strength bS described is exemplary, and the boundary strength determination method according to the present disclosure is not limited to Figure 7 For example, you can omit Figure 7 In addition to the steps shown in Figure 7 Steps other than those shown can be added to Figure 7 Anywhere in the flowchart. In addition, Figure 7 Some of the steps shown in the figures may be performed concurrently with other steps, or the order of the steps may be changed.

[0154] exist Figure 7 In the example shown, step S750 determines whether two transform blocks adjacent to the target boundary include non-zero transform coefficient levels. In addition, when the condition of step S750 is met, the boundary strength corresponding to the target boundary can be determined as a second value (eg, 1).

[0155] However, when the residual samples of two chroma components (e.g., Cb component and Cr component) are encoded as a single transform block, the problem of inaccurate determination of the boundary strength of the block boundary may arise in connection with the determination of step S750. For example, in the present disclosure, "joint CbCr residual encoding" may refer to a technique for encoding the residual samples of two chroma components (e.g., Cb component and Cr component) as a single transform block. Whether joint CbCr residual encoding is applied to the current block can be determined based on information signaled via the bitstream (e.g., a flag). That is, the image encoding device can determine whether joint CbCr residual encoding is performed on the current block and, based on this, encode the flag information into the bitstream. In addition, the image decoding device can determine whether joint CbCr residual encoding is performed (has been performed) on the current block by parsing the flag information from the bitstream and reconstruct the current block based on this. For example, in the present disclosure, the flag information can be tu_joint_cbcr_residual_flag.

[0156] Figure 8 is a diagram illustrating signaling of syntax elements in a transform block related to an embodiment of the present disclosure.

[0157] exist Figure 8 In the example shown, tu_cb_coded_flag[x][y] may specify whether the transform block of the Cb component (hereinafter referred to as "Cb transform block") whose upper left sample has coordinates (x, y) includes one or more non-zero transform coefficient levels. For example, a tu_cb_coded_flag of the second value (e.g., 1) may specify that the Cb transform block includes one or more non-zero transform coefficient levels. Additionally, a tu_cb_coded_flag of the first value (e.g., 0) may specify that the Cb transform block does not include one or more non-zero transform coefficient levels. When tu_cb_coded_flag is the first value, all transform coefficient levels in the Cb transform block may be set to 0. Additionally, when tu_cb_coded_flag is not present in the bitstream, its value may be inferred to be the first value.

[0158] exist Figure 8In the example shown, tu_cr_coded_flag[x][y] may specify whether the transform block of the Cr component (hereinafter referred to as "Cr transform block") with coordinates (x, y) of the upper left sample includes one or more non-zero transform coefficient levels. For example, a tu_cr_coded_flag of the second value (e.g., 1) may specify that the Cr transform block contains one or more non-zero transform coefficient levels. Additionally, a tu_cr_coded_flag of the first value (e.g., 0) may specify that the Cr transform block does not include one or more non-zero transform coefficient levels. When tu_cr_coded_flag is the first value, all transform coefficient levels in the Cr transform block may be set to 0. Additionally, when tu_cr_coded_flag is not present in the bitstream, its value may be inferred to be the first value.

[0159] exist Figure 8 In the example shown, tu_y_coded_flag[x][y] may specify whether the transform block of the luma component (hereinafter referred to as "luma transform block") whose upper left sample has coordinates (x, y) includes one or more non-zero transform coefficient levels. For example, a tu_y_coded_flag of the second value (e.g., 1) may specify that the luma transform block includes one or more non-zero transform coefficient levels. Additionally, a tu_y_coded_flag of the first value (e.g., 0) may specify that the luma transform block does not include one or more non-zero transform coefficient levels. When tu_y_coded_flag is the first value, all transform coefficient levels in the luma transform block may be set to 0. When tu_y_coded_flag is not present in the bitstream, its value may be inferred to be the first value or the second value based on various other syntax elements and / or variables.

[0160] exist Figure 8In the example shown, tu_joint_cbcr_residual_flag[x][y] may specify whether the residual samples of the Cb component and the residual samples of the Cr component are encoded as a single transform block for the transform block whose upper left sample has coordinates (x, y). For example, when tu_joint_cbcr_residual_flag is a second value (e.g., 1), the transform unit may include transform coefficient levels for a single transform block, and the residual samples of the Cb component and the Cr component may be derived from the single transform block. In addition, when tu_joint_cbcr_residual_flag is a first value (e.g., 0), the transform coefficient levels of the chroma components may be encoded / decoded as specified by tu_cb_coded_flag and tu_cr_coded_flag. For example, when tu_cb_coded_flag is 1, the transform coefficient levels of the Cb transform block can be encoded / decoded, and when tu_cb_coded_flag is 0, the transform coefficient levels of the Cb transform block can be inferred to be 0 and not encoded / decoded. Similarly, when tu_cr_coded_flag is 1, the transform coefficient levels of the Cr transform block can be encoded / decoded, and when tu_cr_coded_flag is 0, the transform coefficient levels of the Cr transform block can be inferred to be 0 and not encoded / decoded. When tu_joint_cbcr_residual_flag is not present in the bitstream, its value can be inferred to be the first value.

[0161] like Figure 8 As shown in , the transmission of residual information (transform_skip_flag, residual_coding() and / or residual_ts_coding()) of each color component (luminance (Y), chrominance (Cb and Cr)) can be determined based on various parameters and / or conditions. Figure 8 It can be clearly seen from the figure that the signaling conditions of the residual information are not limited to tu_y_coded_flag, tu_cb_coded_flag, and tu_cr_coded_flag. However, in the present disclosure, as the signaling conditions of the residual information, only tu_y_coded_flag, tu_cb_coded_flag, tu_cr_coded_flag and / or some conditions may be mentioned. This is for the convenience of description, and the signaling conditions of the residual information are not limited thereto. That is, the signaling conditions of the residual information may include Figure 8 All or part of the signaling conditions shown, or may include Figure 8 Additional signaling conditions not shown in Figure 8As shown in , for example, when tu_y_coded_flag is 1, residual information of the luma transform block may be signaled. Similarly, residual information of the Cb transform block and the Cr transform block may be signaled based on tu_cb_coded_flag and tu_cr_coded_flag.

[0162] However, if Figure 8 As shown, the residual information for the Cr transform block can be signaled only when the following conditions are met.

[0163] ! (tu_cb_coded_flag&&tu_joint_cbcr_residual_flag)

[0164] According to the above conditions, when both tu_cb_coded_flag and tu_joint_cbcr_residual_flag are 1, the residual information of the Cr transform block is not signaled. That is, when both tu_cb_coded_flag and tu_joint_cbcr_residual_flag are 1, the transform_skip_flag and residual syntax for the Cr component are not signaled even though tu_cr_coded_flag is 1. In this case, all transform coefficient levels in the Cr transform block can be derived as 0.

[0165] In the above example, when tu_cb_coded_flag is 1, the Cb transform block includes at least one non-zero transform coefficient level, and although tu_cr_coded_flag is 1, all transform coefficient levels in the Cr transform block may be derived as 0. Therefore, based on the determination of step S750, the boundary strength of the target boundary of the Cb component may be derived as 1, and the boundary strength of the target boundary of the Cr component may be derived as a value other than 1.

[0166] Therefore, by applying joint CbCr residual coding, the following two problems may occur in the boundary strength determination process.

[0167] First, in step S750 , although tu_cr_coded_flag is 1, the boundary strength of the target boundary of the Cr component may be derived as a value other than 1.

[0168] Second, although tu_cr_coded_flag is 0, the Cr transform block may include one or more non-zero transform coefficient levels when tu_joint_cbcr_flag is 1. However, in step S750, the boundary strength of the target boundary of the Cr component may also be derived as a value other than 1.

[0169] Hereinafter, the above-mentioned problem improvement by considering the application of joint CbCr residual coding will be described. Figure 7 Various implementations of the implementation methods.

[0170] Figure 9 is a flowchart illustrating a method of determining a boundary strength of a target boundary according to another embodiment of the present disclosure.

[0171] Figure 9 To improve the reference Figure 7 The boundary strength determination method described, Figure 7 Methods and Figure 9 The methods can be the same or overlapping. Figure 7 Methods and Figure 9 In the method, repeated descriptions of the same or overlapping steps can be omitted. For example, Figure 7 Steps S710 to S750 may correspond to Figure 9 Steps S910 to S950. In addition, Figure 7 Steps S760 to S770 may correspond to Figure 9 The repeated description of the corresponding steps will be omitted. Figure 7 Compared with the method based on Figure 9 The boundary strength determination method further includes step S960.

[0172] Specifically, refer to Figure 9 When the condition of step S950 is not satisfied (S950 is No), step S960 may be determined. More specifically, it may be determined whether the target boundary is a boundary of a transform block and satisfies at least one of the two conditions described below (S960). When the above conditions are satisfied (S960 is Yes), the boundary strength corresponding to the target boundary may be determined to be a second value (e.g., 1).

[0173] - Condition S960 - 1 : The current block is a chroma Cb component block (eg, cIdx=1), and sample p0 or sample q0 is included in a transform block on which joint CbCr residual coding is performed (eg, tu_joint_cbcr_residual_flag=1).

[0174] - Condition S960 - 2 : The current block is a chroma Cr component block (eg, cIdx=2), and the sample p0 or the sample q0 is included in a transform block on which joint CbCr residual coding is performed (eg, tu_joint_cbcr_residual_flag=1).

[0175] The above conditions S960 - 1 and S960 - 2 may be combined into one condition, for example, as follows.

[0176] - S960 Merge condition: The current block is a chroma block (eg, cIdx>0), and sample p0 or sample q0 is included in a transform block on which joint CbCr residual coding is performed (eg, tu_joint_cbcr_residual_flag=1).

[0177] Reference Figure 9 The method of determining the boundary strength bS described is exemplary, and the boundary strength determination method according to the present disclosure is not limited to Figure 9 For example, you can omit Figure 9 In addition to the steps shown in Figure 9 Steps other than those shown can be added to Figure 9 Anywhere in the flowchart. In addition, Figure 9 Some of the steps shown in the figures may be performed concurrently with other steps, or the order of the steps may be changed.

[0178] For example, since tu_joint_cbcr_residual_flag may mean that at least one of tu_cu_coded_flag or tu_cr_coded_flag is 1, for a Cb transform block or a Cr transform block, it may be changed to omit the residual flag according to Figure 9 Step S950 in the boundary strength determination method.

[0179] According to the reference Figure 9 The described boundary strength determination method can solve the above two problems that may occur by applying joint CbCr residual coding. That is, when joint CbCr residual coding is applied, the boundary strength of the deblocking filter for the transform block boundary can be determined as a non-zero value (e.g., 1).

[0180] Figure 10 is a flowchart illustrating a method for determining a boundary strength of a target boundary according to another embodiment of the present disclosure.

[0181] Figure 10 To improve the reference Figure 7 The boundary strength determination method described, Figure 7 Methods and Figure 10 The methods can be the same or overlapping. Figure 7 Methods and Figure 10 In the method, repeated descriptions of the same or overlapping steps can be omitted. For example, Figure 7 Steps S710 to S740 may correspond to Figure 10 Steps S1010 to S1040. In addition, Figure 7 Steps S760 to S770 may correspond to Figure 10The repeated description of the corresponding steps will be omitted. Figure 7 Compared with the method based on Figure 10 The boundary strength determination method further includes step S1050 instead of step S750.

[0182] Specifically, refer to Figure 10 When the condition of step S1040 is not satisfied (S1040 is No), step S1050 may be determined. Specifically, it may be determined whether the target boundary is a boundary of a transform block and satisfies at least one of the following three conditions (S1050). When the above conditions are satisfied (S1050 is Yes), the boundary strength corresponding to the target boundary may be determined to be a second value (e.g., 1).

[0183] - Condition S1050 - 1 : The current block is a luma component block (eg, cIdx=0), and sample p0 or sample q0 is included in a luma transform block (eg, tu_y_coded_flag=1) including one or more non-zero transform coefficient levels.

[0184] - Condition S1050 - 2 : The current block is a chroma Cb component block (eg, cIdx=1), and sample p0 or sample q0 is included in a Cb transform block (eg, tu_cb_coded_flag=1) including one or more non-zero transform coefficient levels.

[0185] - Condition S1050 - 3 : The current block is a chroma Cr component block (eg, cIdx=2), and sample p0 or sample q0 is included in a Cr transform block including one or more non-zero transform coefficient levels (eg, tu_cr_coded_flag=1).

[0186] Reference Figure 10 The method of determining the boundary strength bS described is exemplary, and the boundary strength determination method according to the present disclosure is not limited to Figure 10 For example, you can omit Figure 10 In addition to the steps shown in Figure 10 Steps other than those shown can be added to Figure 10 Anywhere in the flowchart. In addition, Figure 10 Some of the steps shown in the figures may be performed concurrently with other steps, or the order of other steps may be changed.

[0187] According to the reference Figure 10 The boundary strength determination method described in can solve the above two problems that may arise by applying joint CbCr residual coding. Figure 10The method of determining whether a transform block includes one or more non-zero transform coefficient levels for each color component can accurately determine the boundary strength of deblocking filtering for transform block boundaries even when joint CbCr residual coding is applied.

[0188] Figure 11 is a flowchart illustrating a method for determining a boundary strength of a target boundary according to another embodiment of the present disclosure.

[0189] Figure 11 To improve the reference Figure 7 The boundary strength determination method described, Figure 7 Methods and Figure 11 The methods can be the same or overlapping. Figure 7 Methods and Figure 11 In the method, repeated descriptions of the same or overlapping steps can be omitted. For example, Figure 7 Steps S710 to S740 may correspond to Figure 11 Steps S1110 to S1140. In addition, Figure 7 Steps S760 to S770 may correspond to Figure 11 The repeated description of the corresponding steps will be omitted. Figure 7 Compared with the method based on Figure 11 The boundary strength determination method further includes step S1150 instead of step S750.

[0190] Reference Figure 11 When the condition of step S1140 is not satisfied (S1140 is No), step S1150 may be determined. Specifically, it may be determined whether the target boundary is a boundary of a transform block and satisfies at least one of the following four conditions (S1150). When the above conditions are satisfied (S1150 is Yes), the boundary strength corresponding to the target boundary may be determined to be a second value (e.g., 1).

[0191] - Condition S1150 - 1 : The current block is a luma component block (eg, cIdx=0), and the sample p0 or the sample q0 is included in a luma transform block including one or more transform coefficient levels (eg, tu_y_coded_flag=1).

[0192] - Condition S1150 - 2 : The current block is a chroma Cb component block (eg, cIdx=1), and sample p0 or sample q0 is included in a Cb transform block (eg, tu_cb_coded_flag=1) including one or more non-zero transform coefficient levels.

[0193] - Condition S1150 - 3 : The current block is a chroma Cr component block (eg, cIdx=2), and sample p0 or sample q0 is included in a Cr transform block including one or more non-zero transform coefficient levels (eg, tu_cr_coded_flag=1).

[0194] - Condition S1150 - 4: The current block is not a luma component block (eg, cIdx≠0), and sample p0 or sample q0 is included in a transform block on which joint CbCr residual coding is performed (eg, tu_joint_cbcr_residual_flag=1).

[0195] Reference Figure 11 The method of determining the boundary strength bS described is exemplary, and the boundary strength determination method according to the present disclosure is not limited to Figure 11 For example, you can omit Figure 11 In addition to the steps shown in Figure 11 Steps other than those shown can be added to Figure 11 Anywhere in the flowchart. In addition, Figure 11 Some of the steps shown in the figures may be performed concurrently with other steps, or the order of the steps may be changed.

[0196] According to the reference Figure 11 The boundary strength determination method described in can solve the above two problems that may arise by applying joint CbCr residual coding. Figure 11 The method of determining whether a transform block includes one or more non-zero transform coefficient levels for each color component can accurately determine the boundary strength of deblocking filtering for transform block boundaries even when joint CbCr residual coding is applied. Figure 11 According to the method, when joint CbCr residual coding is applied, the boundary strength of the deblocking filtering for the transform block boundary may be determined as a non-zero value (eg, 1).

[0197] In reference Figures 7 to 11 In the described embodiments, the determination of the boundary strength based on the determination of whether a transform block includes one or more non-zero transform coefficient levels by considering the application of joint CbCr residual coding may be variously changed.

[0198] For example, as described above, when joint CbCr residual coding is applied to at least one of the two blocks (P block and Q block) adjacent to the target boundary (tu_joint_cbcr_residual_flag is 1), the boundary strength may be determined as the second value (e.g., 1). In addition, when at least one of the two blocks (P block and Q block) adjacent to the target boundary includes a non-zero transform coefficient level (the encoding flag of the corresponding color component is 1), the boundary strength may be determined as the second value (e.g., 1).

[0199] Therefore, according to another embodiment of the present disclosure, the conditions of step S750 may be changed as follows.

[0200] For the luma component (eg, cIdx=0), when the sum of the value of tu_y_coded_flag of the P block and the value of tu_y_coded_flag of the Q block is greater than 0, the corresponding boundary strength may be determined as a second value (eg, 1).

[0201] For the Cb component (eg, cIdx=1), when the values of tu_cb_coded_flag, tu_joint_cbcr_residual_flag of the P block, and the values of tu_cb_coded_flag and tu_joint_cbcr_residual_flag of the Q block are greater than 0, the corresponding boundary strength may be determined to be a second value (eg, 1).

[0202] For the Cr component (eg, cIdx=2), when the values of tu_cr_coded_flag, tu_joint_cbcr_residual_flag of the P block, and tu_cr_coded_flag and tu_joint_cbcr_residual_flag of the Q block are greater than 0, the corresponding boundary strength may be determined to be a second value (eg, 1).

[0203] As described above, according to the changed example, when at least one of the P block or the Q block includes a non-zero transform coefficient level or joint CbCr residual coding is applied to at least one of the P block or the Q block, the corresponding boundary strength can be determined as a second value (e.g., 1).

[0204] Figure 12 is a flowchart illustrating a deblocking filtering based encoding process according to the present disclosure.

[0205] Reference Figure 12 , the image encoding apparatus may generate a reconstructed picture (S1210). The image encoding apparatus may generate a reconstructed picture by encoding an input image to be encoded and reconstructing the image.

[0206] The image encoding apparatus may derive deblocking filter related information of the reconstructed picture ( S1220 ).

[0207] As described above, the deblocking filter related information may include a flag that specifies whether the deblocking filter is available. In addition, the deblocking filter related information may include various information for deriving boundary strength. The boundary strength may be derived differently based on the luminance component (Y) and the chrominance components (CB, CR). The target boundary for applying the deblocking filter may be derived separately based on the luminance component (Y) and the chrominance components (CB, CR).

[0208] The image encoding apparatus may generate a modified reconstructed picture by applying deblocking filtering to the reconstructed picture based on the derived deblocking filter related information (S1230). The modified reconstructed picture may be sent to the memory 170 and may be used as a reference picture in the inter-frame prediction unit 180. The DPB in the memory 170 may store the modified reconstructed picture for use as a reference picture for inter-frame prediction.

[0209] The image encoding apparatus may encode the image data including the deblocking filter related information (S1240). For example, the deblocking filter related information may be transmitted to the entropy encoder 190 and encoded by the entropy encoder 190, thereby being output in the form of a bitstream.

[0210] Figure 13 is a flowchart illustrating a decoding process based on deblocking filtering according to the present disclosure.

[0211] Reference Figure 13 , the image decoding apparatus may obtain image data including deblocking filter related information from a bit stream ( S1310 ).

[0212] Figure 3 The image decoding device 200 can receive the image in the form of a bit stream from Figure 2 The entropy decoder 210 can obtain information (eg, video / image information) required for image reconstruction (or screen reconstruction) by parsing the bit stream.

[0213] The image decoding apparatus may generate a reconstructed picture based on the obtained image information ( S1320 ).

[0214] For example, Figure 3 The adder 235 of the image decoding apparatus 200 may generate a reconstructed picture by adding the obtained residual signal to the prediction signal (prediction block, prediction sample array) output from the prediction unit (the inter-prediction unit 260 and / or the intra-prediction unit 265).

[0215] The image decoding apparatus may generate a modified reconstructed picture by applying deblocking filtering to the reconstructed picture ( S1330 ).

[0216] Figure 3 The filter 240 of the image decoding apparatus 200 can improve the subjective / objective image quality by applying filtering to the reconstructed picture. For example, the filter 240 can generate a modified reconstructed picture by applying various filtering methods to the reconstructed picture. The modified reconstructed picture can be stored in the memory 250, specifically, in the DPB of the memory 250. The (modified) reconstructed picture stored in the DPB of the memory 250 can be used as a reference picture in the inter-frame prediction unit 260.

[0217] Although for the sake of clarity of description, the exemplary method of the present disclosure is represented as a series of operations, it is not intended to limit the order in which the steps are performed, and these steps can be performed simultaneously or in different orders when necessary. In order to implement the method according to the present invention, the steps described may further include other steps, may include the remaining steps in addition to some steps, or may include other additional steps in addition to some steps.

[0218] In the present disclosure, an image encoding device or image decoding device that performs a predetermined operation (step) may perform an operation (step) of confirming the execution conditions or circumstances of the corresponding operation (step). For example, in the case where a predetermined operation is performed when a predetermined condition is satisfied, the image encoding device or image decoding device may perform the predetermined operation after determining whether the predetermined condition is satisfied.

[0219] The various embodiments of the present disclosure are not a list of all possible combinations and are intended to describe representative aspects of the present disclosure, and matters described in the various embodiments may be applied independently or in combinations of two or more.

[0220] Various embodiments of the present disclosure may be implemented in hardware, firmware, software, or a combination thereof. In the case of implementing the present disclosure in hardware, the present disclosure may be implemented in an application specific integrated circuit (ASIC), a digital signal processor (DSP), a digital signal processing device (DSPD), a programmable logic device (PLD), a field programmable gate array (FPGA), a general purpose processor, a controller, a microcontroller, a microprocessor, or the like.

[0221] In addition, the image decoding device and the image encoding device to which the embodiments of the present disclosure are applied may be included in multimedia broadcast transmission and reception devices, mobile communication terminals, home theater video devices, digital theater video devices, surveillance cameras, video chat devices, real-time communication devices such as video communication, mobile streaming devices, storage media, cameras, video on demand (VoD) service providers, OTT video (over the top video) devices, Internet streaming service providers, three-dimensional (3D) video devices, video phone video devices, medical video devices, etc., and may be used to process video signals or data signals. For example, OTT video devices may include game consoles, Blu-ray players, Internet-connected TVs, home theater systems, smartphones, tablet PCs, digital video recorders (DVRs), etc.

[0222] Figure 15 is a diagram illustrating a content streaming system to which embodiments of the present disclosure can be applied.

[0223] like Figure 15 As shown in , a content streaming system to which embodiments of the present disclosure are applied may mainly include an encoding server, a streaming server, a network server, a media storage device, a user device, and a multimedia input device.

[0224] The encoding server compresses content input from a multimedia input device such as a smartphone, camera, or camcorder into digital data to generate a bitstream and sends the bitstream to the streaming server. As another example, when a multimedia input device such as a smartphone, camera, or camcorder directly generates a bitstream, the encoding server can be omitted.

[0225] A bitstream may be generated by applying the image encoding method or the image encoding apparatus according to the embodiment of the present disclosure, and the streaming server may temporarily store the bitstream in the process of transmitting or receiving the bitstream.

[0226] A streaming server transmits multimedia data to a user device based on a user's request via a network server. The network server acts as an intermediary to inform users of services. When a user requests a desired service from the network server, the network server delivers it 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 this case, the control server is used to control commands and responses between devices in the content streaming system.

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

[0228] Examples of user devices may include mobile phones, smart phones, laptop computers, digital broadcast terminals, personal digital assistants (PDAs), portable multimedia players (PMPs), navigation devices, slate PCs, tablet PCs, ultrabooks, wearable devices (e.g., smart watches, smart glasses, head-mounted displays), digital televisions, desktop computers, digital signage, etc.

[0229] The various servers in the content streaming system may operate as distributed servers, in which case data received from the various servers may be distributed.

[0230] The scope of the present disclosure includes software or machine-executable commands (e.g., operating systems, applications, firmware, programs, etc.) for enabling operations according to the methods of various embodiments to be performed on a device or computer, and non-transitory computer-readable media having such software or commands stored thereon and executable on a device or computer.

[0231] Industrial Applicability

[0232] The embodiments of the present disclosure may be used to encode or decode an image.

Claims

1. An image decoding method performed by an image decoding device, the image decoding method comprising the following steps: Obtaining a first flag, a second flag, a third flag, and a fourth flag from a bitstream, wherein the first flag specifies whether to perform joint CbCr residual coding on a first chroma block adjacent to a target boundary of deblocking filtering, the second flag specifies whether to perform joint CbCr residual coding on a second chroma block adjacent to the target boundary, the third flag specifies whether the first chroma block includes a non-zero transform coefficient, and the fourth flag indicates whether the second chroma block includes a non-zero transform coefficient; obtaining a reconstructed image; determining the object boundary in the reconstructed image; determining a boundary strength of the target boundary; and applying a deblocking filter to the object boundary based on the boundary strength, Wherein, based on the fact that the target boundary is a transform block boundary and the color component of the reconstructed image is a chroma component, the boundary strength is determined based on the first flag, the second flag, the third flag, and the fourth flag.

2. The image decoding method according to claim 1, wherein: The boundary strength is determined to be 1 based on one or more of the first flag, the second flag, the third flag, and the fourth flag being equal to 1.

3. The image decoding method according to claim 1, wherein: Based on the target boundary being a transform block boundary and the color component of the reconstructed image being a luma component, the boundary strength is determined based on whether at least one of a first luma block and a second luma block includes a non-zero transform coefficient.

4. The image decoding method according to claim 1, wherein: The joint CbCr residual coding corresponds to encoding the residual samples of the chroma Cb component and the chroma Cr component into a single transform block.

5. An image encoding method performed by an image encoding device, the image encoding method comprising the following steps: generating a reconstructed image; determining a target boundary for deblocking filtering in the reconstructed image; determining a boundary strength of the target boundary; as well as applying a deblocking filter to the object boundary based on the boundary strength, Wherein, based on the target boundary being a transform block boundary and the color component of the reconstructed image being a chroma component, the boundary strength is determined based on a first flag, a second flag, a third flag, and a fourth flag, wherein the first flag specifies whether to perform joint CbCr residual encoding on a first chroma block adjacent to the target boundary, the second flag specifies whether to perform joint CbCr residual encoding on a second chroma block adjacent to the target boundary, the third flag specifies whether the first chroma block includes a non-zero transform coefficient, and the fourth flag indicates whether the second chroma block includes a non-zero transform coefficient.

6. The image encoding method according to claim 5, wherein: The boundary strength is determined to be 1 based on one or more of the first flag, the second flag, the third flag, and the fourth flag being equal to 1.

7. The image encoding method according to claim 5, wherein: Based on the target boundary being a transform block boundary and the color component of the reconstructed image being a luma component, the boundary strength is determined based on whether at least one of a first luma block and a second luma block includes a non-zero transform coefficient.

8. The image encoding method according to claim 5, wherein: The joint CbCr residual coding corresponds to encoding the residual samples of the chroma Cb component and the chroma Cr component into a single transform block.

9. An image decoding device, comprising: a memory having machine-executable instructions stored thereon; as well as at least one processor, The at least one processor is configured to execute the machine-executable instructions to implement the image decoding method according to any one of claims 1-4.

10. An image encoding device, comprising: a memory having machine-executable instructions stored thereon; as well as at least one processor, The at least one processor is configured to execute the machine-executable instructions to implement the image encoding method according to any one of claims 5-8.

11. A computer-readable storage medium storing a code stream, wherein: The code stream is decoded according to the image decoding method according to any one of claims 1-4, or the code stream is generated according to the image encoding method according to any one of claims 5-8.

Citation Information

Patent Citations

  • Method for encoding and decoding image using adaptive deblocking filtering, and apparatus therefor

    CN107925773A

  • Image processing method, and image encoding and decoding method using same

    CN109314790A

  • Image processing method, and image decoding and encoding method using same

    CN109845269A

  • Method and apparatus for video decoding, computer equipment and storage medium

    CN110830800A

  • Method for deblocking filtering and apparatus thereof

    KR1020130083405A