Image encoding / decoding method and apparatus using BDPCM and recording medium storing bit stream

By adopting block-based differential pulse decoding modulation (BDPCM) technology in image encoding/decoding, the encoding/decoding efficiency problems of high-resolution and high-quality images are solved, and efficient image data transmission and storage are achieved.

CN115244929BActive Publication Date: 2025-05-06RES & BUSINESS FOUND SUNGKYUNKWAN UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202180018692.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-01-10
Filing Date
2021-01-11
Publication Date
2025-05-06
Estimated Expiration
2041-01-11

AI Technical Summary

Technical Problem

The prior art is difficult to effectively solve the encoding/decoding efficiency problems of high resolution and high-quality images, especially in the case of increased transmission and storage costs.

Method used

Using block-based differential pulse decoding modulation (BDPCM) technology, by obtaining information indicating whether BDPCM can be applied to the current image, it is determined whether BDPCM is applied to the block in the current image, and it is applied according to the predicted direction of the BDPCM.

Benefits of technology

The efficiency of image encoding/decoding is improved, and BDPCM-related information is efficiently notified by signaling, reducing transmission and storage costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115244929B_ABST
    Figure CN115244929B_ABST
Patent Text Reader

Abstract

Provided are an image encoding / decoding method and apparatus for performing encoding / decoding using BDPCM, and a storage medium storing a bitstream. The image decoding method performed by the image decoding apparatus may include: obtaining first information indicating whether block-based differential pulse coding modulation (BDPCM) is applicable to a current image, obtaining second information indicating whether BDPCM is applied to a current block in the current image based on the first information, obtaining third information indicating a prediction direction of BDPCM based on the second information, and applying BDPCM to the current block based on the prediction direction of BDPCM. The first information may indicate whether BDPCM is enabled for both a luminance component and a chrominance component of the current 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 device and a recording medium storing a bit stream, and more particularly, to an image encoding / decoding method and device using block-based differential pulse coded modulation (BDPCM) and a recording medium storing a bit stream. Background Art

[0002] Recently, in various fields, the demand for high-resolution and high-quality images such as high-definition (HD) images and ultra-high-definition (UHD) images is increasing. As the resolution and quality of image data improve, the amount of data increases relatively compared to existing image data. Therefore, when image data is sent using a medium such as an existing wired / wireless broadband line or stored using an existing storage medium, transmission and storage costs increase. In order to solve these problems that arise as the resolution and quality of image data improve, an efficient image encoding / decoding technology for images with high resolution and high quality is required.

[0003] As image compression techniques, there are various techniques such as an inter-frame prediction technique for predicting pixel values ​​included in a current picture from pictures before or after the current picture, an intra-frame prediction technique for predicting pixel values ​​included in the current picture using pixel information in the current picture, a transform and quantization technique for compressing energy of a residual signal, and an entropy decoding technique for assigning a short code to a value with a high frequency of occurrence and a long code to a value with a low frequency of occurrence. Such image compression techniques can be used to efficiently compress and transmit or store image data. 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] Furthermore, another object of the present disclosure is to provide an image encoding / decoding method and apparatus for efficiently signaling BDPCM-related information.

[0007] In addition, another object of the present disclosure is to provide a method of transmitting a bit stream generated by the image encoding method or the image encoding device according to the present disclosure.

[0008] Furthermore, another object of the present disclosure is to provide a recording medium storing a bit stream generated by the image encoding method or the image encoding device according to the present disclosure.

[0009] Furthermore, another object of the present disclosure is to provide a recording medium storing a bit stream received and decoded by the image decoding apparatus according to the present disclosure and used to reconstruct an image.

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

[0011] Technical Solutions

[0012] An image decoding method performed by an image decoding apparatus according to an aspect of the present disclosure may include: obtaining first information indicating whether block-based differential pulse coding modulation (BDPCM) is applicable to a current image; obtaining second information indicating whether BDPCM is applied to a current block in the current image based on the first information; obtaining third information indicating a prediction direction of BDPCM based on the second information; and applying BDPCM to the current block based on the prediction direction of BDPCM. The first information may indicate whether BDPCM is enabled for both a luminance component and a chrominance component of the current block.

[0013] In the image decoding method according to the present disclosure, the first information may be transmitted at a sequence level.

[0014] In the image decoding method according to the present disclosure, the second information may be transmitted at a CU level.

[0015] In the image decoding method according to the present disclosure, the second information may be obtained when the first information indicates that BDPCM is applicable to the current image.

[0016] In the image decoding method according to the present disclosure, the third information may be obtained when the second information indicates that BDPCM is applied to the current block.

[0017] In the image decoding method according to the present disclosure, the second information may be obtained when the size of the current block is less than or equal to a predetermined size.

[0018] In the image decoding method according to the present disclosure, when the current block is a luminance component block, the predetermined size may be a maximum block size for which transform skipping can be performed.

[0019] In the image decoding method according to the present disclosure, when the current block is a chroma component block, the predetermined size may be the maximum block size for which transform skipping can be performed, and the size of the current block may be determined based on the size of the luminance component block corresponding to the current block and the chroma scaling factor.

[0020] In the image decoding method according to the present disclosure, the chroma scaling factor may be 2.

[0021] In the image decoding method according to the present disclosure, the chroma scaling factor may be determined based on the color format of the current image.

[0022] An image decoding device according to another aspect of the present disclosure may include a memory and at least one processor. The at least one processor may obtain first information indicating whether block-based differential pulse coding modulation (BDPCM) is applicable to a current image, obtain second information indicating whether BDPCM is applied to a current block in the current image based on the first information, obtain third information indicating a prediction direction of BDPCM based on the second information, and apply BDPCM to the current block based on the prediction direction of BDPCM. The first information may indicate whether BDPCM is enabled for both a luminance component and a chrominance component of the current block.

[0023] According to another aspect of the present disclosure, an image encoding method performed by an image encoding device may include: determining first information indicating whether block-based differential pulse coding modulation (BDPCM) is applicable to a current image; determining second information indicating whether BDPCM is applied to a current block in the current image based on the first information; determining third information indicating a prediction direction of BDPCM based on the second information; and applying BDPCM to the current block based on the prediction direction of BDPCM. The first information may indicate whether BDPCM is enabled for both a luminance component and a chrominance component of the current block.

[0024] In the image encoding method according to the present disclosure, the first information may be encoded at a sequence level.

[0025] In the image encoding method according to the present disclosure, the second information may be encoded at a CU level.

[0026] In the image encoding method according to the present disclosure, the second information may be encoded when the first information indicates that BDPCM is applicable to the current image.

[0027] In the image encoding method according to the present disclosure, the third information may be encoded when the second information indicates that BDPCM is applied to the current block.

[0028] In the image encoding method according to the present disclosure, the second information may be encoded when the size of the current block is less than or equal to a predetermined size.

[0029] In the image encoding method according to the present disclosure, when the current block is a luminance component block, the predetermined size may be a maximum block size for which transform skipping can be performed.

[0030] In the image encoding method according to the present disclosure, when the current block is a chroma component block, the predetermined size may be the maximum block size for which transform skipping can be performed, and the size of the current block may be determined based on the size of the luminance component block corresponding to the current block and the chroma scaling factor.

[0031] In the image encoding method according to the present disclosure, the chroma scaling factor may be 2.

[0032] In the image encoding method according to the present disclosure, the chroma scaling factor may be determined based on the color format of the current image.

[0033] An image encoding device according to another aspect of the present disclosure may include a memory and at least one processor. The at least one processor may determine first information indicating whether block-based differential pulse coding modulation (BDPCM) is applicable to a current image, determine second information indicating whether BDPCM is applied to a current block in the current image based on the first information, determine third information indicating a prediction direction of BDPCM based on the second information, and apply BDPCM to the current block based on the prediction direction of BDPCM. The first information indicates whether BDPCM is enabled for both a luminance component and a chrominance component of the current block.

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

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

[0036] A computer-readable recording medium according to another aspect of the present disclosure may store a bit stream received and decoded by the image decoding method or the image decoding apparatus according to the present disclosure and used to reconstruct an image.

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

[0038] Beneficial Effects

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

[0040] Furthermore, according to the present disclosure, an image encoding / decoding method and apparatus for efficiently signaling BDPCM-related information may be provided.

[0041] Furthermore, according to the present disclosure, a method of transmitting a bit stream generated by the image encoding method or the image encoding device according to the present disclosure can be provided.

[0042] 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 the image encoding device according to the present disclosure.

[0043] Furthermore, according to the present disclosure, there may be provided a recording medium storing a bit stream received and decoded by the image decoding apparatus according to the present disclosure and used to reconstruct an image.

[0044] Those skilled in the art will appreciate that the effects that can be achieved through the present disclosure are not limited to the above specific description, and other advantages of the present disclosure will be more clearly understood from the detailed description. BRIEF DESCRIPTION OF THE DRAWINGS

[0045] Figure 1 is a block diagram illustrating an example of an image encoding device to which an embodiment of the present disclosure can be applied.

[0046] Figure 2 is a block diagram illustrating an example of an image decoding device to which an embodiment of the present disclosure can be applied.

[0047] Figure 3 is a view schematically showing a configuration of an encoding device using the BDPCM technique.

[0048] Figure 4 is a view schematically showing a configuration of a decoding device using the BDPCM technique.

[0049] Figure 5 is a diagram showing signaling of BDPCM-related information at a sequence level according to the related art.

[0050] Figure 6 is a view showing signaling of BDPCM-related information at a CU level according to the related art.

[0051] Figure 7 is a diagram showing an example of using a BDPCM flag at a TU syntax element to signal a syntax element of a transform block.

[0052] FIG. 8 is a view showing signaling of BDPCM-related information at a sequence level according to Embodiment 1 of the present disclosure.

[0053] Fig. 9 2 is a diagram showing signaling of BDPCM-related information at a CU level according to Embodiment 1 of the present disclosure.

[0054] FIG. 10 is a diagram illustrating signaling of BDPCM-related information at a sequence level according to Embodiment 2 of the present disclosure.

[0055] Fig.11 is a view showing a TU-level syntax structure according to Embodiment 2 of the present disclosure.

[0056] FIG. 12 is a diagram illustrating signaling of BDPCM-related information at a sequence level according to Embodiment 3 of the present disclosure.

[0057] Fig.13 2 is a diagram showing signaling of BDPCM-related information at a CU level according to Embodiment 3 of the present disclosure.

[0058] Fig.14 3 is a view showing a method of parsing CU-level syntax elements for a chroma channel according to Embodiment 3 of the present disclosure.

[0059] FIG. 15 is a diagram illustrating signaling of BDPCM-related information at a sequence level according to Embodiment 4 of the present disclosure.

[0060] Fig.16 2 is a diagram showing signaling of BDPCM-related information at a CU level according to Embodiment 4 of the present disclosure.

[0061] Fig.17 is a view showing a TU-level syntax structure according to Embodiment 4 of the present disclosure.

[0062] Fig.18 2 is a diagram showing signaling of BDPCM-related information at a sequence level according to Embodiment 5 of the present disclosure.

[0063] Fig.19 2 is a diagram showing signaling of BDPCM-related information at a sequence level according to Embodiment 6 of the present disclosure.

[0064] Fig. 20 2 is a diagram showing signaling of BDPCM-related information at a sequence level according to Embodiment 7 of the present disclosure.

[0065] Fig.21 2 is a diagram showing signaling of BDPCM-related information at a CU level according to Embodiment 7 of the present disclosure.

[0066] Fig. 22 3 is a view showing a process of parsing CU-level syntax elements according to Embodiment 7 of the present disclosure.

[0067] Fig.23 It is a view showing the TU-level syntax structure according to Embodiment 7 of the present disclosure.

[0068] Fig.24 is a flowchart illustrating an image encoding method of determining BDPCM related information and performing BDPCM according to the present disclosure.

[0069] Fig.25 is a flowchart illustrating a method of obtaining BDPCM related information and performing image decoding of BDPCM according to the present disclosure. DETAILED DESCRIPTION

[0070] Invention Mode

[0071] Hereinafter, embodiments of the present disclosure are described in detail with reference to the accompanying drawings. When describing embodiments of the present disclosure, if it is determined that a detailed description of a related known configuration or function may obscure the subject matter of the present disclosure, its detailed description will be omitted.

[0072] When it is said that a component is "coupled" or "connected" to another component, it may be directly coupled or connected to the other component, but it should be understood that other components may exist in between. In addition, the description of "including" a specific component in the present disclosure does not exclude components other than the corresponding component, and this means that additional components may be included in the practice of the present disclosure or within the scope of the technical spirit of the present disclosure.

[0073] In the present disclosure, terms such as first, second, etc. are used to describe various elements, but components should not be limited by these terms. The above terms are only used for the purpose of distinguishing one component from another component. For example, without departing from the scope of the present disclosure, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component.

[0074] In addition, the components shown in the embodiments of the present disclosure are shown independently to represent different characteristic functions, and this does not mean that each component is composed of a separate hardware or software component unit. That is, for the convenience of description, each component is listed as each component, and at least two components are combined to form one component, or one component can be divided into multiple components to perform functions, and embodiments in which these components are combined or separated are also included in the scope of the present disclosure without departing from the essence of the present disclosure.

[0075] In addition, in the present disclosure, some components are not basic components that perform basic functions, but are optional components that are only used to improve performance. In addition to the components for performance improvement, the present disclosure can be implemented by only including the necessary components that realize the essence of the present disclosure, and the structure including only the necessary components except the optional components for performance improvement is also included in the scope of the present disclosure.

[0076] Figure 1 is a block diagram illustrating an example of an image encoding device to which an embodiment of the present disclosure can be applied.

[0077] The scalable video encoding / decoding method or apparatus may be implemented by extending a general image encoding / decoding method or apparatus that does not provide scalability, and Figure 1 The block diagram illustrates an embodiment of an image encoding device that can be the basis of a scalable video encoding device.

[0078] Reference Figure 1, the image encoding apparatus 100 may include a prediction unit, a subtractor 125, a transform unit 130, a quantizer 140, an entropy encoder 150, a dequantizer 160, an inverse transform unit 170, an adder 175, a filter unit 180, and a reference picture buffer 190.

[0079] The prediction unit of the image encoding device 100 may include an intra prediction unit 120 that performs intra prediction, an inter prediction unit that performs inter prediction, and an IBC prediction unit that performs intra block copy (IBC) prediction. The inter prediction unit may include a motion prediction unit 111 and a motion compensator 112. According to the prediction mode of the current block, the switch 115 may switch between the inter prediction unit and the intra prediction unit or the IBC prediction unit (not shown). The prediction block of the current block may be generated by performing inter prediction, intra prediction, or IBC prediction on the current block. The image encoding device 100 may generate a prediction block of the current block in the input image, and then encode the difference between the input block and the prediction block.

[0080] When the prediction mode of the current block is the intra mode, the intra prediction unit 120 may generate a prediction block of the current block by performing spatial prediction using pixel values ​​of already encoded / decoded blocks around the current block.

[0081] When the prediction mode of the current block is the inter mode, the motion prediction unit 111 may obtain a motion vector of the current block by searching for an area that best matches the input block in a reference picture stored in the reference picture buffer 190 during the motion prediction process. The motion compensator 112 may generate a prediction block of the current block by performing motion compensation using the motion vector and the reference picture stored in the reference picture buffer 190.

[0082] When the prediction mode of the current block is IBC mode, the IBC prediction unit may perform motion prediction (ie, search) within the current picture to determine an area similar to the current block, which is then used as the prediction block of the current block. In addition, a block vector indicating the position of the prediction block may be obtained.

[0083] The subtractor 125 may generate a residual block by the difference between the input block (current block) and the generated prediction block. The transform unit 130 may perform a transform on the residual block to output a transform coefficient. In addition, the quantizer 140 may quantize the input transform coefficient according to the quantization parameter to output a quantized coefficient. Depending on the encoding mode of the current block, at least one of the transform and the quantization may be omitted.

[0084] The entropy encoder 150 may entropy encode the symbol according to the probability distribution of the encoding parameter value calculated based on the value calculated by the quantizer 140 or calculated during the encoding process, and output a bit stream. The output bit stream may be stored in a computer-readable recording medium or transmitted to the outside (e.g., an image decoding device) through a wired or wireless transmission channel.

[0085] The entropy coding method is a method of receiving symbols with various values, removing statistical redundancy and representing them as a decodable binary sequence. Here, the symbol may refer to the value of the syntax element, decoding parameter and residual signal to be encoded / decoded. The coding parameter is a parameter necessary for encoding and decoding, and may include not only information (such as syntax elements) encoded in the encoding device and sent to the decoding device, but also information that can be inferred during the encoding or decoding process. Alternatively, the coding parameter may refer to the information required to encode or decode the image. The coding parameter includes, for example, the value or statistic of the intra / inter prediction mode, motion / motion vector, reference picture index, decoding block mode, the presence / absence of the residual signal, transform coefficient, quantized transform coefficient, quantization parameter, block size, block partition information, etc. In addition, the residual signal may refer to the difference between the original signal and the prediction signal. Alternatively, the residual signal may refer to a signal in which the difference between the original signal and the prediction signal is transformed. Alternatively, the residual signal may refer to a signal in which the difference between the original signal and the prediction signal is transformed and quantized. The residual signal may be referred to as a residual block in units of blocks.

[0086] When entropy coding is applied, a small number of bits are allocated to symbols with a high probability of occurrence, while a large number of bits are allocated to symbols with a low probability of occurrence to represent the symbols, thereby reducing the size of the bit stream of the symbols to be decoded. Therefore, the compression performance of image coding can be improved by entropy coding.

[0087] For entropy coding, a coding method such as exponential Golomb, context adaptive variable length coding (CAVLC) or context adaptive binary arithmetic coding (CABAC) can be used. For example, the entropy encoder 150 can store a table for performing entropy coding, such as a variable length coding / code (VLC) table. The entropy encoder 150 can perform entropy coding using a stored variable length coding (VLC) table. In addition, the entropy encoder 150 can derive a binarization method of a target symbol and a probability model of a target symbol / interval, and then perform entropy coding using the derived binarization method or probability model.

[0088] The quantized coefficients may be dequantized by the dequantizer 160 and inversely transformed by the inverse transform unit 170. Depending on the encoding mode of the current block, at least one of the inverse quantization and the inverse transform may be omitted. The dequantized / inversely transformed coefficients may be added to the prediction block by the adder 175 to generate a reconstructed block.

[0089] The reconstructed block may be input to the filter unit 180. The filter unit 180 may apply at least one of a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF) to the reconstructed block or the reconstructed picture. The reconstructed block that has passed through the filter unit 180 may be stored in the reference picture buffer 190.

[0090] Figure 2 is a block diagram illustrating an example of an image decoding device to which an embodiment of the present disclosure can be applied.

[0091] As above Figure 1 As described in , the scalable video encoding / decoding method or device can be implemented by extending a general image encoding / decoding method or device that does not provide scalability, and Figure 2 The block diagram shows an embodiment of an image decoding device which may be the basis of a scalable video decoding device.

[0092] Reference Figure 2 , the image decoding apparatus 200 may include an entropy decoder 210 , a dequantizer 220 , an inverse transform unit 230 , a prediction unit, a filtering unit 260 , and a reference picture buffer 270 .

[0093] The image decoding apparatus 200 may receive a bit stream generated by the image encoding apparatus 100, perform decoding in an intra mode, an inter mode, or an IBC mode, and output a reconstructed image, that is, a restored image. The image decoding apparatus 200 may receive a bit stream generated by the image encoding apparatus 100 by reading a bit stream stored in a computer-readable recording medium. Alternatively, the image decoding apparatus 200 may receive a bit stream generated by the image encoding apparatus 100 through a wired or wireless transmission channel.

[0094] The image decoding apparatus 200 may generate a reconstructed block, that is, a restored block, by obtaining a reconstructed residual block from an input bit stream, generating a prediction block, and then adding the reconstructed residual block and the prediction block.

[0095] The entropy decoder 210 may entropy decode the input bit stream according to the probability distribution to generate symbols including symbols in the form of quantized coefficients. The entropy decoding method is a method of generating each symbol by receiving a binary sequence. The entropy decoding method is similar to the above-mentioned entropy encoding method.

[0096] The quantized coefficients are dequantized by the dequantizer 220 and inversely transformed by the inverse transform unit 230. As a result of dequantizing / inversely transforming the quantized coefficients, a reconstructed residual block may be generated. Depending on the encoding mode of the current block, at least one of dequantization and inverse transformation may be omitted.

[0097] The prediction unit includes, as detailed components, an intra prediction unit 240 that performs intra prediction, a motion compensator 250 that performs inter prediction, and an intra block copy (IBC) prediction unit (not shown) that performs IBC prediction.

[0098] When the prediction mode of the current block is the intra mode, the intra prediction unit 240 may generate a prediction block of the current block by performing spatial prediction using pixel values ​​of decoded blocks around the current block.

[0099] When the prediction mode of the current block is the inter mode, the motion compensator 250 may generate a prediction block of the current block by performing motion compensation using a motion vector and a reference picture stored in the reference picture buffer 270 .

[0100] When the prediction mode of the current block is the IBC mode, the IBC prediction unit may generate a prediction block of the current block within the current picture using a block vector obtained from a bitstream.

[0101] The reconstructed residual block and the prediction block may be added by the adder 255, and the added block may be input to the filter unit 260. The filter unit 260 may apply at least one of a deblocking filter, SAO, and ALF to the reconstructed block or the reconstructed picture. The filter unit 260 may output the filtered image as a reconstructed image. The reconstructed image may be stored in the reference picture buffer 270 and used for inter-frame prediction.

[0102] Among the entropy decoder 210, the dequantizer 220, the inverse transform unit 230, the prediction unit, the filter unit 260 and the reference picture buffer 270 included in the image decoding device 200, components directly related to image decoding, such as the entropy decoder 210, the dequantizer 220, the inverse transform unit 230, the intra-frame prediction unit 240, the motion compensator 250, the filter unit 260, etc., can be expressed as a decoder or a decoding unit to distinguish it from other components.

[0103] In addition, the image decoding device 200 may further include a parser (not shown) for parsing information related to the encoded image included in the bitstream. The parser may include the entropy decoder 210 or may be included in the entropy decoder 210. The parser may also be implemented as a component of the decoder.

[0104] The present disclosure relates to a method for encoding / decoding images by applying predictive coding, various transforms, and block-based differential pulse coding modulation (BDPCM) technology to high-resolution images such as 4K or 8K. More specifically, according to the present disclosure, encoding determination information (BDPCM-related information) determined for the BDPCM technology can be encoded to be shared between channels or used independently between channels according to the application and transmission channel, the desired encoding performance, etc. In addition, according to the present disclosure, in order to decode the compressed bit stream or compressed data encoded in this manner, the encoding determination information (BDPCM-related information) about BDPCM can be shared between channels or used independently for each channel. According to the present disclosure, the compression rate and image quality can be improved compared to the related art.

[0105] When encoding / decoding an image, a transformation is usually performed, however, in some cases, it may be advantageous not to perform the transformation. Specifically, most pixels in a block have similar values, but if discontinuities are severe in some pixels, when the transformation is performed, the values ​​of all transformation coefficients are quite large. That is, energy compression does not appear clearly. In this case, it may be more advantageous to omit the compression conversion. Specifically, when the related art is applied to an image in which the degree of variation of pixel values ​​is spatially concentrated, the problem of compression rate and image quality deterioration is serious. In this case, specifically, when the BDPCM technology disclosed in the present invention is used, image compression efficiency can be increased or image quality can be improved.

[0106] According to an embodiment of the present disclosure, in which BDPCM-related information is encoded to be shared between channels or used independently between channels, BDPCM flag (e.g., bdpcm_flag) information indicating whether BDPCM is performed is sent together with a transform skip flag (transform_skip_flag), thereby additionally obtaining good image quality while increasing the compression rate.

[0107] In the present disclosure, when describing the coding information required for decoding shared between channels, in order to facilitate the overall description and understanding of the present disclosure, such as operation description, drawings, and equations, bdpcm_flag, which is the coding information required for decoding shared between channels, is described as an example. However, bdpcm_flag is only a specific example, and the coding information required for decoding shared between channels to which the present disclosure is applied does not only refer to bdpcm_flag. In addition, although bdpcm_flag is illustrated as the coding information to be shared, in order to perform BDPCM or decode compressed data by applying BDPCM, in addition to bdpcm_flag, information about the prediction direction of BDPCM is also required. Therefore, even when only bdpcm_flag is described for convenience of description, it is necessary to understand that, if necessary, prediction direction information for BDPCM is also included in the above-mentioned coding information.

[0108] In addition, when describing the channel for sharing the coding information required for decoding according to the present disclosure, the YCbCr color space will be described as an example. However, YCbCr is a specific example of a color space, and the color space targeted by the present disclosure may include various color spaces, such as YUV, XYZ, RGB, etc. In addition, a channel index cIdx indicating each channel constituting the color space may be used. For example, cIdx may have a value of 0 / 1 / 2 (or 0 / 2 / 1), in the order of the indicated channels of YCbCr and YUV. In addition, for RGB and XYZ, cIdx may have 1 / 0 / 2 (or 2 / 0 / 1), arranged in the order of the indicated channels. For example, in the YCbCr color space, the cIdx of the Y channel may be 0, the cIdx of the Cb channel and the cIdx of the Cr channel may be 1 and 2 (or 2 and 1), respectively. For example, in the RGB color space, cIdx of the R channel may be 1 (or 2), and cIdx of the G channel and cIdx of the B channel may be 0 and 2 (or 0 and 1), respectively.

[0109] Recently, in various fields, the demand for high-resolution and high-quality images such as ultra-high definition (UHD) images is increasing. As the resolution and quality of image data improve, the amount of data increases relatively compared to existing image data. Therefore, when image data is transmitted using communication media such as wired / wireless broadband lines or various broadcast media such as satellite / terrestrial / IP networks / wireless / cable / mobile communication networks or when image data is stored using various storage media such as CD / DVD / USB / HD-DVD, the transmission cost and storage cost increase. Efficient image encoding / decoding technology for images with higher resolution and image quality is needed to solve these problems that are inevitably deepened as the resolution and quality of image data gradually improve.

[0110] As image compression technologies that have been developed or are being developed for this purpose, there are many technologies, such as inter-frame prediction technology that predicts pixel values ​​included in the current picture from pictures before or after the current picture, intra-frame prediction technology that predicts pixel values ​​in the current picture using pixel information in the current picture, transformation and quantization technology that compresses the energy of a residual signal retained as a prediction error, and entropy coding, arithmetic coding technology that assigns short codes to values ​​with high frequency of occurrence and long codes to values ​​with low frequency of occurrence. Using image compression technology, image data can be efficiently compressed and transmitted or stored.

[0111] The compression techniques available for image coding are very diverse. In addition, depending on the nature of the coding target image, a specific technique may be superior to other techniques. Therefore, the encoder can perform the most favorable compression on the coding target block by adaptively determining whether to use multiple compression techniques for the coding target block. In order to select the most favorable compression technique for the coding target block among several selectable compression techniques, the encoder usually performs rate-distortion optimization (RDO). It is impossible to know in advance which of the various coding techniques that can be selected for coding the image is optimal in terms of rate distortion. Therefore, the encoder performs encoding (or simplified encoding) on ​​the coding target block using each of all possible combinations of coding techniques, calculates its rate-distortion value, and determines the coding technique with the minimum rate-distortion value as the final coding technique for the coding target block. The encoder can record the coding technique determined according to RDO or other methods in the bitstream, and the decoder can identify the coding technique applied to the decoding target block by parsing the information signaled by the bitstream, thereby performing the exact inverse process (decoding) corresponding to the encoding. In this case, the information signaled by the bitstream can be referred to as "coding information required for decoding", or more simply "coding information" or "coding determination information". Specifically, bdpcm_flag is encoding information indicating whether to use the bdpcm technology, which is shared between channels or used independently for each channel, so that efficient encoding can be performed according to the application.

[0112] Each channel of the color space (e.g., YUV, YCbCr, RGB, XYZ, etc.) that constitutes an image does not usually always have the same or similar properties (or colors in the same sense) between channels. Therefore, in terms of improvement in compression rate, better performance can usually be obtained by making independent encoding determinations for each channel. As an example of the above-mentioned encoding determination, there is a determination as to whether BDPCM is performed on the encoding target block. In addition, the determination can be decoded and signaled as a syntax element such as bdpcm_flag. That is, the encoder can determine whether BDPCM is performed on each encoding target block, and record (encode) the bdpcm_flag indicating this in the bitstream as encoding information. In addition, in order to perform BDPCM (or decode compressed data by applying BDPCM), in addition to the bdpcm_flag indicating whether the BDPCM technology is performed, prediction direction information for BDPCM can also be signaled.

[0113] When applying conventional image compression techniques, transformation is always performed in image compression coding. However, when the degree of change of spatial pixel values ​​in the image block to be compressed is very large, or specifically, the change is very limited locally, even if the transformation is applied, the image energy concentration at low frequency may not be large. In this case, a large number of transform coefficients in the high-frequency region with relatively large values ​​can be generated. Therefore, when a transform quantization technique is applied that mainly retains low-frequency signal components and removes high-frequency signal components through a quantization process after the transformation or reduces the amount of data by strongly applying quantization, serious image quality deterioration may occur. Specifically, this problem is greater when the change of spatial pixel values ​​is very large or the change of pixel values ​​is concentrated in a very limited local area. In order to solve this problem, the pixel values ​​in the spatial region can be directly encoded without transformation, rather than uniformly transforming the image block. According to this technology, the encoder can determine whether to perform or omit the transformation for each transform block, and perform encoding by performing or omitting the transformation according to the determination. Information indicating whether the transformation is performed or omitted can be included in the bitstream and encoded.

[0114] In artificial images such as screen content, transform skipping may be advantageous. In the case of artificial images, it is usually more advantageous to perform BDPCM, where in addition to transform skipping, DPCM is also performed on each block.

[0115] The prediction error (i.e., residual signal) obtained by prediction may still have high spatial correlation. The BDPCM technology is a technology that predicts the current pixel by using the pixel in the block that is closest to the current pixel in the block as the predicted pixel, taking into account this high spatial correlation. The BDPCM technology generally shows favorable effects, especially in artificial images such as screen content. At the same time, flag information indicating whether the BDPCM technology is performed on each block is required. An example of such flag information is bdpcm_flag. That is, when bdpcm_flag is a first value (e.g., 1), it can indicate that the BDPCM technology is used for the block. In addition, when bdpcm_flag is a second value (e.g., 0), it can indicate that the BDPCM technology is not used for the block.

[0116] Figure 3 is a view schematically showing a configuration of an encoding device using the BDPCM technique.

[0117] like Figure 3 As shown, the encoding device may include a quantizer, a BDPCM predictor (BDPCM), and an entropy encoder. Figure 3 The quantizer and entropy encoder can correspond to Figure 1 quantizer 140 and entropy encoder 150.

[0118] When BDPCM is used (if bdpcm_flag=1), the BDPCM prediction residual signal can be calculated by performing horizontal or vertical BDPCM prediction on the quantized residual signal dz for each block. Assume that the size of the encoding target block is M (height) × N (width), and the quantized residual signal at the spatial pixel position (i, j) (0≤i≤M-1, 0≤j≤N-1) in the block is Q(ri,j). The BDPCM technology applies block DPCM to the quantized residual signal dz to obtain the BDPCM prediction residual signal. In this case, when the BDPCM prediction residual signal at position (i, j) is r' i,j , r' i,j It can be calculated according to the following equation 1. Here, r i,j represents the residual signal (intra-frame prediction error signal) corresponding to the difference between the predicted block generated by intra-frame prediction and the current block (original block), and Q(.) indicates that the value in the brackets is a quantized value. Therefore, Q(r i,j ) represents the quantized intra-frame prediction error signal.

[0119] [Equation 1]

[0120] In the case of vertical BDPCM prediction, for 0≤j≤(N-1)

[0121]

[0122] In the case of horizontal BDPCM prediction, for 0≤i≤(M-1)

[0123]

[0124] When bdpcm_flag of the encoding target block is 1, BDPCM prediction may be performed according to the above equation 1. This may correspond to Figure 3 If the bdpcm_flag of the encoding target block is 0, BDPCM prediction is not performed, and Figure 3 As described above, bdpcm_flag is information (flag) indicating whether BDPCM is performed on the block.

[0125] Figure 4 is a view schematically showing a configuration of a decoding device using the BDPCM technique.

[0126] like Figure 4 As shown, the decoding device may include an entropy decoder, a BDPCM predictor (Inv BDPCM) and a dequantizer. Figure 4 The entropy decoder and dequantizer can correspond to Figure 2 An entropy decoder 210 and a dequantizer 220 are provided.

[0127] BDPCM decoding can correspond to the reference Figure 3 The inverse process of the BDPCM encoding process described above can be performed as follows.

[0128] When using BDPCM (if bdpcm_flag = 1), the coefficient data r' decoded by the entropy decoder i,j The inverse process of horizontal or vertical BDPCM prediction, i.e., BDPCM decoding, is performed for each block. In this case, the following equation 2 can be used. For example, the decoder can use equation 2 to calculate r' i,j Perform BDPCM prediction to generate a quantized residual signal Q(r i,j ). The quantized residual signal Q(r i,j ) can be input to the dequantizer.

[0129] [Equation 2]

[0130] In case of vertical BDPCM prediction:

[0131] In case of horizontal BDPCM prediction:

[0132] If the bdpcm_flag of the decoding target block is 1, the inverse process of BDPCM prediction can be performed using Equation 2 above. This may correspond to Figure 4 If bdpcm_flag of the decoding object block is 0, the inverse process of BDPCM prediction is not performed, and the inverse process of BDPCM prediction can be performed according to Figure 4 Decoding of path ①.

[0133] In executing reference Figure 3 and 4 When performing BDPCM encoding and BDPCM decoding as described in equations 1 and 2, information indicating whether BDPCM is performed (bdpcm_flag) and BDPCM direction information indicating the direction of BDPCM prediction are required. Generally, when intra-prediction is performed on a target block, it may be efficient to match the prediction direction of BDPCM and the prediction direction of intra-prediction. Therefore, one prediction direction (e.g., horizontal direction or vertical direction) may be determined and used as the prediction direction of BDPCM and the prediction direction of intra-prediction.

[0134] Alternatively, when BDPCM is applied to the current block, the prediction direction of intra prediction of the current block may be determined according to the prediction direction of the BDPCM. For example, when the prediction direction of the BDPCM of the current block is a vertical direction, the prediction direction of intra prediction of the current block may be determined as a vertical direction. In this case, since information about the prediction direction of intra prediction of the current block does not need to be signaled, the amount of bits to be transmitted may be reduced.

[0135] Alternatively, the prediction direction of the BDPCM of the current block may be determined according to the prediction direction of the intra prediction of the current block. For example, when the prediction direction of the intra prediction of the current block is a horizontal direction (or a pseudo-horizontal direction), the prediction direction of the BDPCM of the current block may be determined as a horizontal direction. In this case, since the prediction direction of the BDPCM of the current block does not need to be signaled, the amount of bits transmitted may be reduced. In the above, the pseudo-horizontal direction refers to a direction adjacent to the horizontal direction, and may include, for example, a direction spaced apart from the horizontal direction by a predetermined angle.

[0136] The information required for BDPCM decoding and the signaling method will be described later.

[0137] Whether to enable the BDPCM technology may refer to whether the BDPCM technology may be used to encode / decode the current image. In the present disclosure, the "enabling" of the BDPCM technology may be described interchangeably with terms such as "availability", "applicability", "activation / deactivation" and "permissibility".

[0138] Information indicating whether the BDPCM technology is enabled may be signaled at a higher level (e.g., a sequence level). For example, the information indicating whether the BDPCM technology is enabled may be the bdpcm_enable_flag of a sequence parameter set (SPS). When the BDPCM technology may be used, that is, when the bdpcm_enabled_flag is a first value (e.g., 1), information indicating whether BDPCM is used for each CU at the CU level (e.g., bdpcm_flag) may be signaled. Whether BDPCM is used may refer to whether BDPCM is used to encode / decode the current CU. In the present disclosure, “whether to use” BDPCM may be described interchangeably with terms such as “application” and “execution”.

[0139] Information indicating whether BDPCM is used (e.g., bdpcm_flag) may be signaled only when the size of the current CU is not greater than MaxTsSize based on the luma component and the prediction mode of the current CU is an intra prediction mode. MaxTsSize may indicate the maximum block size that allows the transform skip mode. bdpcm_flag indicates whether the CU is encoded with BDPCM, and when BDPCM is used, information indicating the prediction direction (i.e., vertical direction or horizontal direction) of BDPCM may be additionally signaled (e.g., bdpcm_dir_flag).

[0140] According to the related art, BDPCM of the chrominance channel is available only when BDPCM of the luminance channel is available. In order to signal whether BDPCM is available, information indicating whether BDPCM is available for each of the luminance channel and the chrominance channel is sent at the sequence level (SPS), for example. According to the related art, BDPCM of the chrominance channel is available only when BDPCM of the luminance channel is available and the color format is 4:4:4. The present disclosure provides various methods for solving the problems according to the related art, and systematically and more efficiently signals BDPCM-related information.

[0141] Figure 5 is a diagram showing signaling of BDPCM-related information at a sequence level according to the related art.

[0142] There are several technologies that can be used for image compression. Among them, whether to use BDPCM technology can be determined based on the image or by the determination of the encoder. For example, the encoder can allow (enable) BDPCM technology so that BDPCM technology can be used for image compression, or can disable BDPCM technology so that BDPCM technology is not available. The encoder can determine whether BDPCM is available, and can signal the decoder to notify the determination by encoding the information.

[0143] exist Figure 5In the related art shown, information indicating whether BDPCM is available is sps_bdpcm_enabled_flag and sps_bdpcm_chroma_enabled_flag transmitted at the sequence level (SPS).

[0144] exist Figure 5 In the example shown, sps_transform_skip_enabled_flag indicates whether transform skip coding (transform skip mode) is available. Furthermore, sps_bdpcm_enabled_flag indicates whether BDPCM is available for luma channel. Furthermore, sps_bdpcm_chroma_enabled_flag indicates whether BDPCM is available for chroma channel.

[0145] like Figure 5 As shown, sps_bdpcm_enabled_flag and sps_bdpcm_chroma_enabled_flag are signaled only when transform skip mode is enabled by SPS (ie, only when sps_transform_skip_enabled_flag is 1). If sps_transform_skip_enabled_flag is 0, the value of sps_bdpcm_enabled_flag is not signaled separately and is always inferred to be a value of 0.

[0146] exist Figure 5 In the example shown, when the value of sps_transform_skip_enabled_flag is 1, the encoder encodes the value of sps_bdpcm_enabled_flag as 1 to enable the use of BDPCM technology. This means that the BDPCM technology is activated, that is, enabled. More specifically, this means that the BDPCM technology can be applied to the luminance channel. Figure 5 In the example shown, sps_bdpcm_enabled_flag is information indicating whether to enable the use of the BDPCM technique for the luminance channel.

[0147] On the other hand, sps_bdpcm_chroma_enabled_flag indicates whether the use of BDPCM technology is enabled for the chroma channel. Figure 5As shown, sps_bdpcm_chroma_enabled_flag is signaled (transmitted or parsed) only when the value of sps_bdpcm_enabled_flag is 1 and the value of chroma_format_idc is 3 at the same time. If these two conditions are not satisfied at the same time, sps_bdpcm_chroma_enabled_flag is not signaled, and the value of sps_bdpcm_chroma_enabled_flag is inferred to be 0. That is, when sps_bdpcm_chroma_enabled_flag is not signaled, it is determined that the BDPCM technology is not enabled for the chroma channel. Here, chroma_format_idc is information indicating the format (color format) of the color channels constituting the image. If the value of chroma_format_idc is 1, it means that the color format of the YCbCr image is 4:2:0, if the value of chroma_format_idc is 2, it means that the color format of the YCbCr image is 4:2:2, and if the value of chroma_format_idc is 3, it means that the color format of the YCbCr image is 4:4:4. Therefore, according to the related art, it is designed that the BDPCM technology is enabled for the luminance channel only when the color format of the compressed target image is 4:4:4, and BDPCM is enabled for the chrominance channel. That is, the disadvantage of the related art is that the use of the BDPCM technology is very limited.

[0148] Figure 6 is a view showing signaling of BDPCM-related information at a CU level according to the related art.

[0149] When the use of BDPCM technology is enabled, it is necessary to signal the decoder whether BDPCM is actually applied to each coding unit (CU). Figure 6 As shown, intra_bdpcm_luma_flag and intra_bdpcm_luma_dir_flag information of the luma channel and intra_bdpcm_chroma_flag and intra_bdpcm_chroma_dir_flag information of the chroma channel are included in a bitstream and are signaled from the encoder to the decoder. Figure 6 The information shown is the information transmitted at the CU level.

[0150] exist Figure 6In the encoding (or decoding) of the target block (current CU), intra_bdpcm_luma_flag indicates whether the BDPCM technology is applied to the luminance channel of the encoding (or decoding) target block (current CU). When intra_bdpcm_luma_flag is a first value (e.g., 1), it indicates that the BDPCM technology is applied to the luminance channel of the current CU. In addition, when intra_bdpcm_luma_flag is a second value (e.g., 0), it indicates that the BDPCM technology is not applied to the luminance channel of the current CU.

[0151] Similarly, intra_bdpcm_chroma_flag indicates whether the BDPCM technique is applied to the chroma channel of the encoding (or decoding) target block (current CU). When intra_bdpcm_chroma_flag is a first value (e.g., 1), it indicates that the BDPCM technique is applied to the chroma channel (e.g., Cb, Cr) of the current CU. In addition, when intra_bdpcm_chroma_flag is a second value (e.g., 0), it indicates that the BDPCM technique is not applied to the chroma channel (e.g., Cb, Cr) of the current CU.

[0152] In order to use the BDPCM technology, information indicating the prediction direction (i.e., vertical direction or horizontal direction) of the BDPCM is also required. The prediction direction information is intra_bdpcm_luma_dir_flag in the case of the luminance channel and intra_bdpcm_chroma_dir_flag in the case of the chrominance channel. For example, when the value of intra_bdpcm_luma_dir_flag (or intra_bdpcm_chroma_dir_flag) is 0, it indicates that the prediction direction of the BDPCM is vertical. When the value of intra_bdpcm_luma_dir_flag (or intra_bdpcm_chroma_dir_flag) is 1, it indicates that the prediction direction of the BDPCM is horizontal.

[0153] The decoder parses intra_bdpcm_luma_flag (or intra_bdpcm_chroma_flag) from the bit stream received from the encoder. When the value of intra_bdpcm_luma_flag (or intra_bdpcm_chroma_flag) is 0, the decoder recognizes that BDPCM is not applied to the channel. When the value of intra_bdpcm_luma_flag (or intra_bdpcm_chroma_flag) is 1, the decoder recognizes that BDPCM is applied to the channel. The decoder decodes the bit stream according to the recognition based on the flag value.

[0154] In addition, when the value of intra_bdpcm_luma_flag (or intra_bdpcm_chroma_flag) is 1, the decoder parses intra_bdpcm_luma_dir_flag (or intra_bdpcm_chroma_dir_flag) from the bitstream. When the value of intra_bdpcm_luma_dir_flag (or intra_bdpcm_chroma_dir_flag) is 0, the decoder recognizes that the prediction direction of BDPCM is the vertical direction. When the value of intra_bdpcm_luma_dir_flag (or intra_bdpcm_chroma_dir_flag) is 1, the decoder recognizes that the BDPCM prediction direction is the horizontal direction. The decoder performs BDPCM according to the recognized BDPCM prediction direction.

[0155] According to the above-mentioned related art, whether to use BDPCM is set for each of the luminance channel and the chrominance channel. Therefore, BDPCM cannot be applied to the Cb channel and the Cr channel constituting the chrominance signal separately and independently. For example, BDPCM cannot be set to be applied to the Cb channel but not to the Cr channel. That is, according to the related art, for the Cb channel and the Cr channel, whether the BDPCM technology is used for the chrominance channel is set to be the same.

[0156] Figure 7 is a diagram showing an example of using a BDPCM flag at a TU syntax element to signal a syntax element of a transform block.

[0157] exist Figure 7In the example shown, (x0, y0) is a spatial coordinate indicating the spatial position of the upper left side of the current encoding (or decoding) target block, and cIdx is a color channel (or component) index indicating one of the color channels of the image. That is, the Y component may correspond to cIdx=0, and the Cb component and the Cr component may correspond to cIdx=1 and cIdx=2, respectively. BdpcmFlag[x0][y0][cIdx] is a BDPCM flag of the channel indicated by cIdx of the block corresponding to the spatial coordinates (x0, y0). For example, when BdpcmFlag is 1, it may indicate that BDPCM is applied to the current block, and when BdpcmFlag is 0, it may indicate that BDPCM is not applied to the current block. The BDPCM flag information indicating whether BDPCM is applied to the block corresponding to the coordinates (x0, y0) of the channel indicated by cIdx can generally be expressed as BdpcmFlag[x0][y0][cIdx]. However, in the following description, BdpcmFlag[x0][y0][cIdx] will be described as BdpcmFlag or BdpcmFlag[channel type], and for the convenience of description, some information is excluded if there is no problem in understanding the operation.

[0158] According to reference Figures 5 to 7 The related technologies described may have technical problems in at least the following aspects.

[0159] First, the conventional BDPCM technology can be applied only to 4:4:4 images, that is, only when chroma_format_idc is 3. Therefore, according to the related art, when the encoding / decoding target image is a 4:2:0 image (e.g., chroma_format_idc=1) or a 4:2:2 image (e.g., chroma_format_idc=2), even if it is desired to improve the compression rate or image quality by applying BDPCM, BDPCM cannot be applied to the image.

[0160] Second, according to the related art, it is not possible to enable bdpcm independently between the luminance (i.e., Y signal) channel and the chrominance channels (i.e., Cb signal and Cr signal). The compression efficiency or image quality improvement effect of bdpcm may mainly appear in the luminance channel, depending on the image. Alternatively, on the contrary, the effect of bdpcm may appear only for the chrominance channel signal. On the other hand, in some images, it may be advantageous to use bdpcm in both the luminance and chrominance channels. According to the reference Figure 5 In order to enable the BDPC technology for the chrominance channel, the value of sps_bdpcm_enabled_flag should be set to 1 first. That is, the BDPC technology should be enabled for the luminance channel. This is because, according to Figure 5According to the related art shown, sps_bdpcm_chroma_enabled_flag can be parsed only when the value of sps_bdpcm_enabled_flag is 1. That is, BDPCM for the chroma channel can be enabled only when the BDPCM technology is enabled to be applied to the luminance channel. In short, according to the related art, it is basically impossible to disable BDPCM for the luminance channel and enable BDPCM only for the chroma channel. Therefore, even if the effect of applying the BDPCM technology is obtained only in the chroma channel, if BDPCM is not enabled for the luminance channel (that is, if sps_bdpcm_enabled_flag is set to 0), the encoder cannot signal sps_bdpcm_chroma_enabled_flag, and the decoder cannot parse sps_bdpcm_chroma_flag. That is, the effect of BDPCM in the chroma channel cannot be obtained. Therefore, according to the related art, even if the effect of BDPCM is obtained only in the chroma channel, BDPCM needs to be set to be used for the luminance channel as well. That is, according to the related art, since the intra_bdpcm_luma_flag and / or intra_bdpcm_luma_dir_flag values ​​should always be transmitted, the efficiency is low. Therefore, an improvement is required to independently determine whether to apply bdpcm to the luminance channel and the chrominance channel, and independently signal the relevant information (enabling information).

[0161] Third, according to the related art, whether BDPCM can be used for the chroma channel is notified by a signal of sps_bdpcm_chroma_enabled_flag transmitted from the SPS terminal, and whether BDPCM can be used for the Cb channel and the Cr channel is set to be the same. Therefore, according to the related art, due to the difference in image properties between the Cb channel and the Cr channel, even when the BDPCM technology is useful only in the Cb channel and not in the Cr channel (or vice versa), there is an inefficiency problem of enabling or disabling the BDPCM technology for both channels. The same problem occurs not only in Figure 5 sps_bdpcm_chroma_enabled_flag, also appears in Figure 6 That is, since the BDPCM information for the Cb channel and the BDPCM information for the Cr channel are identically determined by the same syntax element, there is a problem that the BDPCM setting for the Cb channel and the BDPCM setting for the Cr channel cannot be different.

[0162] Fourth, according to the related art, the BDPC technology can only be applied to intra-frame prediction blocks. That is, there is a problem that BDPC is basically not applicable to blocks that are not intra-frame predictions, for example, blocks that are inter-frame predicted by performing motion compensation.

[0163] Since BDPCM is available when "transform skip" is performed, it is particularly available when encoding images using lossless compression. Therefore, in the case of lossless decoding or computer-generated images (such as graphic images, which can be simply referred to as screen content), BDPCM is generally beneficial for all YCbCr channels. Therefore, the present disclosure includes various embodiments that can improve image compression rate or image quality by solving at least the above-mentioned problems.

[0164] Typically, the three-channel data of an image can be divided into a luminance (Y, or brightness) channel and a chrominance (Cb and / or Cr) channel in a YCbCr color space. BDPCM is applied in the same direction as the prediction direction indicated by the intra-frame prediction (i.e., intra-frame prediction) mode of the block, and quantization is performed while skipping the transform. Therefore, BDPCM flag information and BDPCM direction information can be transmitted (or parsed) for the luminance channel and the chrominance channel without transmitting BDPCM related information through three Y, Cb and Cr channels. In the following description, the BDPCM flag will be described as signaling information. However, the signaling information to which the present disclosure is applied is not limited to the BDPCM flag, and may include all signaling information to which the technical spirit of the present disclosure is equally applicable. For example, the signaling information to which the present disclosure is applied may include each of the information listed above or at least one of them. For convenience, such information may be referred to as "encoding information."

[0165] <Example 1>

[0166] Hereinafter, an embodiment according to the present disclosure for solving the first problem of the above-mentioned related art will be described.

[0167] chroma_format_idc can indicate how the color channel is configured. If chroma_format_idc is 1, it can indicate that the YCbCr color channel is configured as a 4:2:0 color format. In addition, if chroma_format_idc is 2, it can indicate that it is configured as a 4:2:2 color format, and if chroma_format_idc is 3, it can indicate that it is configured as a 4:4:4 color format. According to the related art, BDPCM can be performed on the chroma block only when the value of chroma_format_idc is 3, that is, when the current image is a 4:4:4 color format image. However, according to the present embodiment, BDPCM can also be performed on the chroma block not only when the current image is a 4:4:4 color format image, but also when the current image is a 4:2:2 color format image or a 4:2:0 color format image.

[0168] FIG. 8 is a view showing signaling of BDPCM-related information at a sequence level according to Embodiment 1 of the present disclosure.

[0169] according to Figure 8a In the example shown in , when chroma_format_idc is greater than 2, the BDPCM enabling information (sps_bdpcm_chroma_enabled_flag) of the chroma block can be signaled. That is, when chroma_format_idc is 2 or 3, sps_bdpcm_chroma_enabled_flag can be signaled. Therefore, according to Figure 8a In the example shown, when the current image is a 4:4:4 color format image or a 4:2:2 color format image, BDPCM may be enabled for the chroma block.

[0170] according to Figure 8b In the example shown in , when chroma_format_idc is not 0, the BDPCM enabled information (sps_bdpcm_chroma_enabled_flag) of the chroma block can be signaled. That is, when chroma_format_idc is 1, 2, or 3, sps_bdpcm_chroma_enabled_flag can be signaled. Therefore, according to Figure 8b In the example shown, when the input image is a 4:4:4 color format image, a 4:2:2 color format image, or a 4:2:0 color format image, BDPCM is enabled for the chroma block. chroma_format_idc generally has a value of 0 to 3, and chroma_format_idc being 0 may mean that the current image is a monochrome image including only the Y channel. Therefore, Figure 8bThe example shown in can be understood as basically transmitting the enabling information of BDPCM for the chroma block when the current image includes a chroma channel.

[0171] Alternatively, as a condition for sps_bdpcm_chroma_enabled_flag to be signaled, it may include whether separate_colour_plane_flag is 1. separate_colour_plane_flag being 1 may mean that each of the three color components of a 4:4:4 color format image is encoded / decoded separately. For example, the color space is not YCbCr, but a color space of an XYZ or RGB channel. That is, separate_colour_plane_flag being 1 may mean that the three channels of the current image need to be encoded / decoded independently of each other. In an embodiment according to the present disclosure, in addition to the above case, BDPCM may be enabled for the chroma component.

[0172] If the color format of the current image is not 4:4:4, you can no longer use Figure 6 2. The BDPCM flag and BDPCM prediction direction information transmission method (CU syntax level) according to the related art is shown.

[0173] Fig. 9 2 is a diagram showing signaling of BDPCM-related information at a CU level according to Embodiment 1 of the present disclosure.

[0174] like Fig. 9 As shown, for the chrominance channel, a new CU syntax-level parsing and decoding operation different from the related art is required. Fig. 9 In , cbWidth and cbHeight indicate the width and height of the luma block, respectively. In addition, SubWidthC and SubHeightC may represent chroma scaling factors for matching the width and height of the luma block with the width and height of the chroma block according to the value of chroma_format_idc.

[0175] The values ​​of SubWidthC and SubHeightC according to chroma_format_idc can be expressed as shown in the following Table 1.

[0176] [Table 1]

[0177]

[0178] like Fig. 9As shown, when sps_bdpcm_luma_enabled_flag is 1 and the width (cbWidth) and height (cbHeight) of the current luma block are both less than or equal to MaxTsSize, intra_bdpcm_luma_flag can be parsed. In addition, when intra_bdpcm_luma_flag is 1, intra_bdpcm_luma_dir_flag can be parsed.

[0179] Similarly, when sps_bdpcm_chroma_enabled_flag is 1 and the width (cbWidth / SubWidthC) and height (cbHeight / SubHeightC) of the current chroma block are both less than or equal to MaxTsSize, intra_bdpcm_chroma_flag may be parsed. In addition, when intra_bdpcm_chroma_flag is 1, intra_bdpcm_chroma_dir_flag may be parsed.

[0180] In Embodiment 7 described later, whether BDPCM can be used for the luma channel and whether BDPCM can be used for the chroma channel can be signaled by the same information (BDPCM enable flag). In the case where the configuration of Embodiment 7 is incorporated into Embodiment 1, a BDPCM enable flag common to the luma channel and the chroma channel can be signaled. In this case, in Embodiment 1, sps_bdpcm_luma_enabled_flag and sps_bdpcm_chroma_enabled_flag can be replaced with the same common flag (e.g., sps_bdpcm_enabled_flag).

[0181] <Example 2>

[0182] Hereinafter, an embodiment according to the present disclosure for solving the second problem of the related art will be described.

[0183] According to this embodiment, the BDPCM enable flags for the luma channel and the chroma channel may be transmitted (or parsed) independently of each other. According to this embodiment, sps_bdpcm_luma_enabled_flag and sps_bdpcm_chroma_enabled_flag may be transmitted independently. sps_bdpcm_luma_enabled_flag may indicate whether the BDPCM technology is enabled for the luma channel. sps_bdpcm_chroma_enabled_flag may indicate whether the BDPCM technology is enabled for the chroma channel.

[0184] FIG. 10 is a diagram illustrating signaling of BDPCM-related information at a sequence level according to Embodiment 2 of the present disclosure.

[0185] According to this embodiment, the bdpcm_enabled_flag of the luma channel and the chroma channel may be signaled independently.

[0186] Specifically, Fig.10a is a view showing an example of independently signaling bdpcm_enabled_flag for a luma channel and a chroma channel.

[0187] according to Fig.10a , when chroma_format_idc is 3, sps_bdpcm_chroma_enabled_flag may be signaled. In this case, sps_bdpcm_luma_enabled_flag may be ignored. That is, the signaling of sps_bdpcm_chroma_enabled_flag may be performed independently of the value of sps_bdpcm_luma_enabled_flag.

[0188] Fig.10a The examples shown are applicable to images having a 4:2:2 or 4:2:0 color format.

[0189] Fig.10b is a view showing another example of independently signaling bdpcm_enabled_flag for a luma channel and a chroma channel when a color format is 4:4:4 or 4:2:2.

[0190] like Fig.10b As shown, when chroma_format_idc is greater than or equal to 2, sps_bdpcm_chroma_enabled_flag may be signaled, and in this case, the value of sps_bdpcm_luma_enabled_flag may not be signaled.

[0191] Fig.10c is a view showing another example of independently signaling bdpcm_enabled_flag for luma and chroma channels when the color format is 4:4:4, 4:2:2, or 4:2:0 (or it is not a monochrome image).

[0192] like Fig.10cAs shown, when chroma_format_idc is not 0, that is, when the current image is not a monochrome image, sps_bdpcm_chroma_enabled_flag may be signaled, and in this case, the value of sps_bdpcm_luma_enabled_flag may be ignored.

[0193] The method for transmitting the BDPCM flag and the BDPCM prediction direction information according to Embodiment 2 shown in FIG. 10 can be compared with the method for transmitting the BDPCM flag and the BDPCM prediction direction information according to Embodiment 2. Fig. 9 In this case, according to Fig.10a The method for transmitting the BDPCM flag and the BDPCM prediction direction information in the embodiment shown can be the same as that in the reference Figure 6 The method described is the same.

[0194] Fig.11 is a view showing a TU-level syntax structure according to Embodiment 2 of the present disclosure.

[0195] That is, by reference through parsing Fig. 9 Whether the bdpcm technology is applied to each of the Y, Cb, and Cr channels of the current CU block is determined by the intra_bdpcm_luma_flag and intra_bdpcm_chroma_flag values ​​obtained from the CU-level syntax structure of the current CU block, and BDPCM decoding can be performed according to the determination.

[0196] Reference Fig.11 In the case of the luminance channel, whether the BDPCM technology is used can be indicated according to the value of intra_bdpcm_luma_flag of the current CU block to be decoded (i.e., the intra_bdpcm_luma_flag value stored in intra_bdpcm_luma_flag[x0][y0]). In the case of the Cb channel, whether the BDPCM technology is used can be indicated according to the value of intra_bdpcm_chroma_flag of the current CU block to be decoded (i.e., the intra_bdpcm_chroma_flag value stored in intra_bdpcm_chroma_flag[x0][y0]). Similarly, in the case of the Cr channel, whether the BDPCM technology is used can be indicated according to the value of intra_bdpcm_chroma_flag of the current CU block to be decoded (i.e., the intra_bdpcm_chroma_flag value stored in intra_bdpcm_chroma_flag[x0][y0]).

[0197] <Example 3>

[0198] Hereinafter, an embodiment according to the present disclosure for solving the third problem of the related art will be described.

[0199] According to the present embodiment, BDPCM can be enabled independently for the Cb channel and the Cr channel. According to the present embodiment, the second and third problems of the related art can be solved at the same time. According to the present embodiment, the transmission of sps_bdpcm_luma_enabled_flag and sps_bdpcm_chroma_common_enabled_flag can be implemented. As described above, sps_bdpcm_luma_enabled_flag can indicate whether the BDPCM technology is enabled for the luminance channel. sps_bdpcm_chroma_common_enabled_flag can indicate whether the BDPCM technology is enabled for the chroma channel. More specifically, sps_bdpcm_chroma_common_enabled_flag can indicate whether to indicate the enablement of the BDPCM technology for the chroma channel without distinguishing between the Cb channel and the Cr channel, or whether to indicate each of the Cb channel and the Cr channel independently. For example, when the sps_bdpcm_chroma_common_enabled_flag value is 1, it can mean that BDPCM is enabled for the Cb channel and the Cr channel. Therefore, in this case, both intra_bdpcm_flag (i.e., intra_bdpcm_chroma_flag) and / or intra_bdpcm_dir_flag (i.e., intra_bdpcm_chroma_dir_flag) flags are transmitted for the chroma channel, and the Cb channel and the Cr channel may share these values. For example, when the sps_bdpcm_chroma_common_enabled_flag value is 0, intra_bdpcm_flag and / or intra_bdpcm_dir_flag may be transmitted (or parsed) independently for each of the Cb channel and the Cr channel in the CU-level syntax. That is, intra_bdpcm_chroma_cb_flag and / or intra_bdpcm_chroma_cb_dir_flag may be signaled for the Cb channel, and intra_bdpcm_chroma_cr_flag and / or intra_bdpcm_chroma_cr_dir_flag may be signaled for the Cr channel.

[0200] FIG. 12 is a diagram illustrating signaling of BDPCM-related information at a sequence level according to Embodiment 3 of the present disclosure.

[0201] according to Fig.12a, when chroma_format_idc is 3, sps_bdpcm_chroma_common_enabled_flag can be signaled.

[0202] Fig.12a The examples shown are applicable to images having a 4:2:2 or 4:2:0 color format.

[0203] according to Figure 12b , sps_bdpcm_chroma_common_enabled_flag may be signaled when chroma_format_idc is equal to or greater than 2. That is, when the color format is 4:4:4 or 4:2:2, sps_bdpcm_chroma_common_enabled_flag may be signaled.

[0204] according to Fig.12c , sps_bdpcm_chroma_common_enabled_flag may be signaled when chroma_format_idc is not 0. That is, when the color format is not monochrome, for example, when the color format is 4:4:4, 4:2:2, or 4:2:0, sps_bdpcm_chroma_common_enabled_flag may be signaled.

[0205] The description of common parts in the example described with reference to Fig. 12 and the example described with reference to Fig. 10 may be common. For example, in the example described with reference to Fig. 12, sps_bdpcm_chroma_common_enabled_flag of the chroma channel may be signaled independently of sps_bdpcm_luma_enabled_flag of the luma channel.

[0206] Fig.13 2 is a diagram showing signaling of BDPCM-related information at a CU level according to Embodiment 3 of the present disclosure.

[0207] exist Fig.13 In the example shown, reference Fig. 9 Description of the same parts in the described examples.

[0208] Fig.14 3 is a view showing a method of parsing CU-level syntax elements of a chroma channel according to Embodiment 3 of the present disclosure.

[0209] In the following, reference will be made to Fig.13 and 14Signaling of CU-level syntax according to the present embodiment is described.

[0210] First, when sps_bdpcm_chroma_common_enabled_flag is 1, intra_bdpcm_chroma_common_flag may be parsed (obtained) from the bitstream. intra_bdpcm_chroma_common_flag may be a common flag indicating whether BDPCM is applied to all chroma channels. When intra_bdpcm_chroma_common_flag is 1, it may indicate that BDPCM is applied to all chroma channels. When intra_bdpcm_chroma_common_flag is 0, it may indicate that BDPCM is not applied to all chroma channels. Therefore, when sps_bdpcm_chroma_common_enabled_flag is 1, the values ​​of the flags (BdpcmFlag[x0][y0][1] and BdpcmFlag[x0][y0][2]) indicating whether BDPCM is applied to the Cb channel and the Cr channel may be commonly set to the value of intra_bdpcm_chroma_common_flag[x0][y0]. In this case, the value of the flag (BdpcmFlag[x0][y0][0]) indicating whether BDPCM is applied to the luminance channel may be set to the value of intra_bdpcm_luma_flag[x0][y0].

[0211] If sps_bdpcm_chroma_common_enabled_flag is 0, the flag of the Cb channel (intra_bdpcm_chroma_cb_flag) and the flag of the Cr channel (intra_bdpcm_chroma_cr_flag) can be parsed (obtained) from the bitstream. intra_bdpcm_chroma_cb_flag can be a flag indicating whether BDPCM is applied to the Cb channel. When intra_bdpcm_chroma_cb_flag is 1, it can indicate that BDPCM is applied to the Cb channel. When intra_bdpcm_chroma_cb_flag is 0, it can indicate that BDPCM is not applied to the Cb channel. Similarly, intra_bdpcm_chroma_cr_flag can be a flag indicating whether BDPCM is applied to the Cr channel. When intra_bdpcm_chroma_cr_flag is 1, it can indicate that BDPCM is applied to the Cr channel. When intra_bdpcm_chroma_cr_flag is 0, it can be indicated that BDPCM is not applied to the Cr channel. Therefore, when sps_bdpcm_chroma_common_enabled_flag is 0, the values ​​of the flags (BdpcmFlag[x0][y0][1] and BdpcmFlag[x0][y0][2]) indicating whether BDPCM is applied to the Cb channel and the Cr channel can be set to the values ​​of intra_bdpcm_chroma_cb_flag[x0][y0] and intra_bdpcm_chroma_cr_flag[x0][y0], respectively. In this case, the value of the flag (BdpcmFlag[x0][y0][0]) indicating whether BDPCM is applied to the luminance channel can be set to the value of intra_bdpcm_luma_flag[x0][y0].

[0212] Based on the above reference Figure 7 BdpcmFlag[x0][y0][0], BdpcmFlag[x0][y0][1], and BdpcmFlag[x0][y0][2] are set as described to perform TU-level parsing and decoding.

[0213] <Example 4>

[0214] Hereinafter, an embodiment according to the present disclosure for solving the fourth problem of the related art will be described.

[0215] According to the related art, BDPCM can be applied only to blocks predicted in intra-frame mode (intra-frame blocks). In addition, the prediction direction of BDPCM is used by matching the prediction direction of BDPCM with the intra-frame prediction direction applied to the intra-frame block. However, when the BDPCM technology mainly effective for screen content is applied to blocks predicted in inter-frame mode (inter-frame blocks), compression efficiency and image quality can be improved. By improving the above-mentioned related art, the present embodiment can apply the BDPCM technology to inter-frame blocks.

[0216] The encoder may determine whether to enable or disable use of the BDPCM technique for inter blocks and signal the determination to the decoder.

[0217] FIG. 15 is a diagram illustrating signaling of BDPCM-related information at a sequence level according to Embodiment 4 of the present disclosure.

[0218] As shown in FIG. 15 , the sequence level syntax structure according to this embodiment may include sps_inter_bdpcm_enabled_flag and / or sps_inter_bdpcm_chroma_enabled_flag.

[0219] like Fig.15a As shown, whether the BDPCM technology is enabled for the inter-frame block can be indicated by sps_inter_bdpcm_enabled_flag and sps_inter_bdpcm_chroma_enabled_flag of the SPS (sequence parameter set) as the sequence level. In addition, these two flags can be signaled only when the transform skip mode is enabled by SPS (ie, only when sps_transform_skip_enabled_flag is 1).

[0220] As another application example, Fig.15b As shown, only when sps_bdpcm_enabled_flag is 1, that is, only when the BDPCM technology is enabled for intra blocks (or all blocks), sps_inter_bdpcm_enabled_flag and sps_inter_bdpcm_chroma_enabled_flag indicating whether the BDPCM technology is enabled for inter blocks can be signaled.

[0221] 15, the flag of the chroma channel is signaled according to the flag of the luma channel. However, the present disclosure is not limited thereto, and by combining with another embodiment of the present disclosure, the flag of the chroma channel may be signaled independently of the flag of the luma channel.

[0222] exist Figure 5In the example of , when the color format is 4:4:4, the flag of the chroma channel is signaled. However, the present disclosure is not limited thereto, and by combination with another embodiment of the present disclosure, signaling may be performed even when the color format is 4:2:2 or 4:2:0.

[0223] As another application example, sps_inter_bdpcm_enabled_flag and sps_inter_bdpcm_chroma_enabled_flag may be set to the values ​​of sps_intra_bdpcm_enabled_flag and sps_intra_bdpcm_chroma_enabled_flag, respectively. That is, the BDPCM enabling information of the intra block may be shared without change without separately signaling the BDPCM enabling information of the inter block.

[0224] As another application example, the flag of the inter-frame block and the flag of the intra-frame block can be signaled as one flag. For example, sps_bdpcm_luma_enabled_flag can generally indicate whether BDPCM is applicable to the luminance channel of the inter-frame block and the luminance channel of the intra-frame block. In addition, sps_bdpcm_chroma_enabled_flag can generally indicate whether BDPCM is applicable to the luminance channel of the inter-frame block and the chrominance channel of the intra-frame block.

[0225] When the use of BDPCM technique is enabled for inter blocks, it may be signaled whether BDPCM is applied to each coding unit (CU).

[0226] Fig.16 2 is a diagram showing signaling of BDPCM-related information at a CU level according to Embodiment 4 of the present disclosure.

[0227] exist Fig.16 In the example shown, inter_bdpcm_luma_flag and inter_bdpcm_luma_dir_flag may be signaled for the luma channel. In addition, inter_bdpcm_chroma_flag and inter_bdpcm_chroma_dir_flag may be signaled for the chroma channels.

[0228] inter_bdpcm_luma_flag may indicate whether BDPCM is applied to the luma channel of the inter block.inter_bdpcm_luma_dir_flag may indicate the prediction direction of BDPCM of the luma channel of the inter block.

[0229] inter_bdpcm_chroma_flag may indicate whether BDPCM is applied to the chroma channel of the inter-frame block. inter_bdpcm_chroma_dir_flag may indicate the prediction direction of BDPCM for the chroma channel of the inter-frame block. In the case of the chroma channel, by combining with another embodiment of the present disclosure described above, BDPCM-related information at the CU level may be signaled for each of the Cb channel and the Cr channel. For example, inter_bdpcm_chroma_cb_flag and inter_bdpcm_chroma_cr_flag may be signaled instead of inter_bdpcm_chroma_flag. In addition, inter_bdpcm_chroma_cb_dir_flag and inter_bdpcm_chroma_cr_dir_flag may be signaled instead of inter_bdpcm_chroma_dir_flag.

[0230] Alternatively, in an embodiment of the present disclosure, the prediction direction of the BDPCM may be fixed to a predetermined direction. For example, a DC prediction mode or a planar prediction mode may be used.

[0231] Fig.17 is a view showing a TU-level syntax structure according to Embodiment 4 of the present disclosure.

[0232] Will omit Fig.17 The TU-level syntax structure shown is a redundant description of the same parts in the TU-level syntax structure described in another embodiment of the present disclosure.

[0233] As a modification of the present embodiment, in the case of an inter-block, it is possible to restrict the application of BDPCM to only the luma block and not to the chroma block. Alternatively, when BDPCM is applied to the luma block, the prediction direction of the BDPCM for the luma block can be used for the chroma block as well. In this case, there is an effect that information on the prediction direction of the BDPCM for the chroma block does not have to be transmitted (or parsed).

[0234] The various embodiments of the BDPCM technology according to the present disclosure described so far can be implemented to be used together when performing transform skipping. In this case, in particular, when encoding an image using lossless compression, a better image quality improvement effect can be obtained by using the BDPCM technology.

[0235] <Example 5>

[0236] According to the present embodiment, only when BDPCM is enabled for the luma channel, information indicating whether BDPCM is enabled for the chroma channel, such as sps_bdpcm_chroma_common_enabled_flag, may be signaled. According to the present embodiment, parsing of relevant syntax elements may be performed as follows.

[0237] Parse sps_bdpcm_luma_enabled_flag

[0238] if(sps_bdpcm_luma_enabled_flag)

[0239] Parse sps_bdpcm_chroma_common_enabled_flag

[0240] Fig.18 2 is a diagram showing signaling of BDPCM-related information at a sequence level according to Embodiment 5 of the present disclosure.

[0241] like Fig.18 As shown, sps_transform_skip_enabled_flag is parsed, and sps_bdpcm_luma_enabled_flag can be parsed only when its value is 1. In addition, sps_bdpcm_chroma_common_enabled_flag can be parsed only when sps_bdpcm_luma_enabled_flag is 1.

[0242] <Example 6>

[0243] According to the present embodiment, information indicating whether the BDPCM technique is enabled for each of the Cb channel and the Cr channel may be signaled independently of the luminance channel. In this case, for example, sps_bdpcm_chroma_cb_enabled_flag and sps_bdpcm_chroma_cr_enabled_flag may be used.

[0244] According to this embodiment, parsing of relevant syntax elements may be performed as follows.

[0245] Parse sps_bdpcm_luma_enabled_flag

[0246] Parse sps_bdpcm_chroma_cb_enabled_flag

[0247] Parse sps_bdpcm_chroma_cr_enabled_flag

[0248] Fig.19 2 is a diagram showing signaling of BDPCM-related information at a sequence level according to Embodiment 6 of the present disclosure.

[0249] like Fig.19 As shown, sps_transform_skip_enabled_flag is parsed, and sps_bdpcm_luma_enabled_flag can be parsed only when its value is 1. In addition, regardless of the value of sps_bdpcm_luma_enabled_flag, when chroma_format_idc is 3, sps_bdpcm_chroma_cb_enabled_flag and sps_bdpcm_chroma_cr_enabled_flag can be parsed. In this case, the condition about chroma_format_idc can be changed as described in another embodiment of the present disclosure.

[0250] <Example 7>

[0251] According to the present embodiment, when BDPCM is applied, selective information sharing between channels can be performed. That is, for an image or block for which inter-channel prediction is effective, it is not necessary to signal bdpcm_enabled_flag information for each of a plurality of channels. This is because, when the similarity between channels is high, the value of bdpcm_enabled_flag for each channel is likely to be the same. Despite these characteristics of the image, it is not efficient to transmit bdpcm_enabled_flag for each channel constituting the image in terms of compression rate. Therefore, under specific conditions where the correlation (similarity) between channels is considered to be high, the bdpcm_enabled_flag of the chrominance channel may not be parsed separately. In this case, for the chrominance channel, the value of the bdpcm_enabled_flag of the luminance channel may be shared.

[0252] Fig. 20 2 is a diagram showing signaling of BDPCM-related information at a sequence level according to Embodiment 7 of the present disclosure.

[0253] like Fig. 20As shown, sps_transform_skip_enabled_flag is parsed, and sps_bdpcm_luma_enabled_flag may be parsed only when its value is 1. In addition, sps_bdpcm_chroma_enabled_flag may not be signaled. In this case, the value of sps_bdpcm_chroma_enabled_flag may be set to the value of sps_bdpcm_luma_enabled_flag.

[0254] Fig.21 2 is a diagram showing signaling of BDPCM-related information at a CU level according to Embodiment 7 of the present disclosure.

[0255] like Fig.21 As shown, the BDPCM-related information at the CU level may include intra_bdpcm_luma_flag and / or intra_bdpcm_luma_dir_flag of the luma channel. In this case, intra_bdpcm_chroma_flag and intra_bdpcm_chroma_dir_flag of the chroma channel may not be separately signaled.

[0256] Fig. 22 3 is a view showing a process of parsing CU-level syntax elements according to Embodiment 7 of the present disclosure.

[0257] like Fig. 22 As shown, when the current block is a luminance component, intra_bdpcm_luma_flag indicating whether the BDPCM technology is applied can be parsed. When intra_bdpcm_luma_flag is 1, intra_bdpcm_luma_dir_flag indicating the prediction direction of BDPCM can be parsed. When the current block is a chrominance component, the intra_bdpcm_luma_flag and intra_bdpcm_luma_dir_flag of the luminance component can be shared. Therefore, intra_bdpcm_chroma_flag and intra_bdpcm_chroma_dir_flag can be set to the values ​​of intra_bdpcm_luma_flag and intra_bdpcm_luma_dir_flag, respectively, without parsing separate syntax elements.

[0258] Fig.23 It is a view showing the TU-level syntax structure according to Embodiment 7 of the present disclosure.

[0259] According to Embodiment 7 of the present disclosure, whether to apply BDPCM is determined based on a syntax element (intra_bdpcm_luma_flag) common to all three channels. Fig.23 As shown, when checking whether BDPCM is applied to each channel, the value of intra_bdpcm_luma_flag can be shared.

[0260] The above-mentioned embodiments 1 to 7 may be implemented separately or in combination with two or more embodiments. When two or more embodiments are combined, the whole or part of one embodiment may be combined with the whole or part of another embodiment. For example, a new embodiment may be implemented by combining embodiment 1 and embodiment 7. More specifically, as in embodiment 7, for the luminance channel and the chrominance channel, a flag (bdpcm_enabled_flag) indicating whether BDPCM is enabled may be jointly signaled. That is, sps_bdpcm_enabled_flag is 1 to indicate that BDPCM can be applied to both the luminance channel and the chrominance channel. In addition, sps_bdpcm_enabled_flag is 0 to indicate that BDPCM is not applied to both the luminance channel and the chrominance channel. In addition, when sps_bdpcm_enabled_flag is 1, as in embodiment 1, the color format of the image may be considered to perform signaling of BDPCM-related information (bdpcm_flag and / or bdpcm_dir_flag) at the CU level. More specifically, as in reference to Fig. 9 As described, whether to signal intra_bdpcm_chroma_flag may be determined based on SubWidthC and SubHeightC derived according to the color format of the image.

[0261] Hereinafter, an image encoding method and an image decoding method according to an embodiment of the present disclosure will be described.

[0262] Fig.24 is a flowchart illustrating an image encoding method of determining BDPCM related information and performing BDPCM according to the present disclosure.

[0263] like Fig.24 As shown, the image encoding apparatus may determine whether BDPCM is enabled for the current image (S2410). The image encoding apparatus may determine whether BDPCM is enabled according to various methods such as RDO.

[0264] When BDPCM is not enabled for the current image (S2420-No), the image encoding apparatus may not perform BDPCM on the current image.

[0265] When BDPCM is enabled for the current image (S2420-Yes), the image encoding device may perform BDPCM on the blocks in the current image. When it is determined that BDPCM is enabled for the current image, information indicating this may be encoded in a bitstream and transmitted to the image decoding device. For example, bdpcm_enabled_flag may be encoded as BDPCM enabling information. According to the present disclosure, bdpcm_enabled_flag may be signaled at a higher level (e.g., sequence level). In addition, bdpcm_enabled_flag may indicate whether BDPCM is enabled for both the luminance channel and the chrominance channel. In addition, according to another embodiment of the present disclosure, BDPCM enabling information (e.g., bdpcm_luma_enabled_flag) of the luminance channel and BDPCM enabling information (e.g., bdpcm_chroma_enabled_flag) of the chrominance channel may be signaled separately or independently. In addition, according to another embodiment of the present disclosure, information indicating whether BDPCM related information of the Cb channel and the Cr channel is shared (e.g., bdpcm_chroma_common_flag) may be transmitted. In addition, according to another embodiment of the present disclosure, BDPCM enabling information (eg, inter_bdpcm_enabled_flag) of an inter prediction block may be transmitted separately.

[0266] When BDPCM is enabled for the current image, BDPCM can be performed only on blocks that meet predetermined conditions. For example, BDPCM can be performed when the size of the current block is less than or equal to a predetermined size. As described in the present disclosure, for example, when the width and height of the current block are equal to or less than MaxTsSize, BDPCM can be performed on the block. According to another embodiment of the present disclosure, when the current block is a chroma block, the width and height of the current block can be determined by dividing the size of the luminance block by a predetermined chroma scaling factor. For example, when the width of the luminance block is cbWidth and the height is cbHeight, and the chroma scaling factors are SubWidthC and SubHeightC, the width and height of the current chroma block can be calculated as cbWidth / SubWidthC and cbHeignt / SubHeightC. As described above, the chroma scaling factor can be derived according to the color format of the current image.

[0267] Alternatively, when the current block is a chroma block, when the width and height of the luma block are respectively equal to or less than values ​​obtained by multiplying MaxTsSize and the chroma scaling factor, the BDPCM flag of the current chroma block may be signaled.

[0268] When the size of the current block does not satisfy the predetermined condition (S2430-No), the image encoding apparatus may determine that BDPCM is not applied to the current block.

[0269] When the size of the current block satisfies a predetermined condition (S2430-Yes), the image encoding apparatus may determine whether to apply BDPCM to the current block (S2440). As described above, the image encoding apparatus may determine whether to apply BDPCM to encoding of the current block through various methods such as RDO.

[0270] When it is determined that BDPCM is not applied to the current block (S2450-No), the image encoding device may encode the current block without applying BDPCM. In this case, the image encoding device may encode the BDPCM flag (e.g., bdpcm_flag) of the current block as a second value (e.g., 0). In addition, in this case, information about the prediction direction of BDPCM may not be encoded.

[0271] When it is determined that BDPCM is applied to the current block (S2450-Yes), the image encoding apparatus may encode a BDPCM flag (e.g., bdpcm_flag) of the current block as a first value (e.g., 1). In addition, the image encoding apparatus may determine a prediction direction of BDPCM (S2460), and may perform BDPCM on the current block according to the determined prediction direction. As described above, the determined prediction direction may be signaled by a BDPCM direction flag (e.g., bdpcm_dir_flag).

[0272] According to an embodiment of the present disclosure, a common BDPCM flag (bdpcm_flag) may be signaled for the luma channel and the chroma channel. According to another embodiment of the present disclosure, a separate BDPCM flag (bdpcm_luma_flag, bdpcm_chroma_flag) may be signaled for each of the luma channel and the chroma channel. According to another embodiment of the present disclosure, a separate BDPCM flag (bdpcm_luma_flag, bdpcm_cb_flag, bdpcm_cr_flag) may be signaled for each of the luma channel, the Cb channel, and the Cr channel. According to another embodiment of the present disclosure, a BDPCM flag (inter_bdpcm_flag) of an inter-frame prediction block may be signaled separately.

[0273] In addition, according to an embodiment of the present disclosure, a common BDPCM direction flag (bdpcm_dir_flag) may be signaled for the luma channel and the chroma channel. According to another embodiment of the present disclosure, a separate BDPCM direction flag (bdpcm_luma_dir_flag, bdpcm_chroma_dir_flag) may be signaled for each of the luma channel and the chroma channel. According to another embodiment of the present disclosure, a separate BDPCM direction flag (bdpcm_luma_dir_flag, bdpcm_cb_dir_flag, bdpcm_cr_dir_flag) may be signaled for each of the luma channel, the Cb channel, and the Cr channel. According to another embodiment of the present disclosure, a BDPCM flag (inter_bdpcm_dir_flag) of an inter-frame prediction block may be signaled separately.

[0274] exist Fig.24 In the illustrated embodiment, it has been described that steps S2420 and S2430 are sequentially performed before step S2440. However, the present disclosure is not limited thereto, and step S2430 may be performed before step S2420, or step S2430 and step S2420 may be performed simultaneously.

[0275] Fig.25 is a flowchart illustrating a method of obtaining BDPCM related information and performing image decoding of BDPCM according to the present disclosure.

[0276] like Fig.25As shown, the image decoding device may obtain information indicating whether BDPCM is enabled for the current image (BDPCM enabling information) (S2510). For example, bdpcm_enabled_flag may be obtained as BDPCM enabling information. According to the present disclosure, bdpcm_enabled_flag may be signaled at a higher level (e.g., sequence level). In addition, bdpcm_enabled_flag may indicate whether BDPCM is enabled for both the luminance channel and the chrominance channel. In addition, according to another embodiment of the present disclosure, BDPCM enabling information (e.g., bdpcm_luma_enabled_flag) of the luminance channel and BDPCM enabling information (e.g., bdpcm_chroma_enabled_flag) of the chrominance channel may be signaled separately or independently. In addition, according to another embodiment of the present disclosure, information indicating whether BDPCM related information of the Cb channel and the Cr channel is shared (e.g., bdpcm_chroma_common_flag) may be transmitted. In addition, according to another embodiment of the present disclosure, BDPCM enabling information (eg, inter_bdpcm_enabled_flag) of an inter prediction block may be transmitted separately.

[0277] The image decoding apparatus may determine whether to enable BDPCM for the current image based on the obtained BDPCM enable information (S2520). When BDPCM is not enabled for the current image (S2520-No), the image decoding apparatus may not perform BDPCM on the current image.

[0278] When BDPCM is enabled for the current image ( S2520 -Yes), the image decoding apparatus may perform BDPCM on blocks in the current image.

[0279] When BDPCM is enabled for the current image, BDPCM can be performed only on blocks that meet predetermined conditions. For example, BDPCM can be performed when the size of the current block is less than or equal to a predetermined size. As described in the present disclosure, for example, when the width and height of the current block are equal to or less than MaxTsSize, BDPCM can be performed on the block. According to another embodiment of the present disclosure, when the current block is a chroma block, the width and height of the current block can be determined by dividing the size of the luminance block by a predetermined chroma scaling factor. For example, when the width of the luminance block is cbWidth and the height is cbHeight, and the chroma scaling factors are SubWidthC and SubHeightC, the width and height of the current chroma block can be calculated as cbWidth / SubWidthC and cbHeignt / SubHeightC. As described above, the chroma scaling factor can be derived according to the color format of the current image.

[0280] Therefore, when BDPCM is enabled for the current image, the image decoding apparatus may check whether the size of the current block satisfies a predetermined condition (S2530).

[0281] When the size of the current block does not satisfy the predetermined condition ( S2530 -No), the image decoding apparatus may determine that BDPCM is not applied to the current block.

[0282] When the size of the current block satisfies the predetermined condition (S2530-Yes), the image decoding apparatus may obtain information indicating whether BDPCM is applied to the current block (information on whether BDPCM is applied) (S2540). For example, bdpcm_flag may be obtained as information on whether BDPCM is applied.

[0283] The image decoding apparatus may determine whether to apply BDPCM to the current block based on the obtained information on whether BDPCM is applied ( S2550 ).

[0284] When it is determined that the BDPCM is not applied to the current block (S2550-No), the image decoding apparatus may decode the current block without applying the BDPCM.

[0285] When it is determined that BDPCM is applied to the current block (S2550-Yes), the image decoding apparatus may obtain BDPCM direction information indicating a prediction direction of BDPCM (S2560). For example, bdpcm_dir_flag may be obtained as the BDPCM direction information.

[0286] Thereafter, the image decoding apparatus may perform BDPCM on the current block according to the prediction direction of the BDPCM determined based on the BDPCM direction information ( S2570 ).

[0287] According to an embodiment of the present disclosure, a common BDPCM flag (bdpcm_flag) may be signaled for the luma channel and the chroma channel. According to another embodiment of the present disclosure, a separate BDPCM flag (bdpcm_luma_flag, bdpcm_chroma_flag) may be signaled for each of the luma channel and the chroma channel. According to another embodiment of the present disclosure, a separate BDPCM flag (bdpcm_luma_flag, bdpcm_cb_flag, bdpcm_cr_flag) may be signaled for each of the luma channel, the Cb channel, and the Cr channel. According to another embodiment of the present disclosure, a BDPCM flag (inter_bdpcm_flag) of an inter-frame prediction block may be signaled separately.

[0288] In addition, according to an embodiment of the present disclosure, a common BDPCM direction flag (bdpcm_dir_flag) may be signaled for the luma channel and the chroma channel. According to another embodiment of the present disclosure, a separate BDPCM direction flag (bdpcm_luma_dir_flag, bdpcm_chroma_dir_flag) may be signaled for each of the luma channel and the chroma channel. According to another embodiment of the present disclosure, a separate BDPCM direction flag (bdpcm_luma_dir_flag, bdpcm_cb_dir_flag, bdpcm_cr_dir_flag) may be signaled for each of the luma channel, the Cb channel, and the Cr channel. According to another embodiment of the present disclosure, a BDPCM flag (inter_bdpcm_dir_flag) of an inter-frame prediction block may be signaled separately.

[0289] exist Fig.25 In the illustrated embodiment, it has been described that steps S2520 and S2530 are sequentially performed before step S2540. However, the present disclosure is not limited thereto, and step S2530 may be performed before step S2520, or step S2530 and step S2520 may be performed simultaneously.

[0290] Based on the names of the syntax elements, the meanings of the syntax elements described in the present disclosure may be explained as follows. "sps_" included in the name of the syntax element may indicate that the syntax element is signaled at the sequence level (e.g., sequence parameter set). "_bdpcm_" included in the name of the syntax element may indicate that the syntax element is information related to bdpcm. "_intra_" included in the name of the syntax element may indicate that the syntax element is information related to intra prediction. "_inter_" included in the name of the syntax element may indicate that the syntax element is information related to inter prediction. "_luma_" included in the name of the syntax element may indicate that the syntax element is information related to the luminance channel (component). "_chroma_" included in the name of the syntax element may indicate that the syntax element is information related to the chrominance channel (component). "_cb_" included in the name of the syntax element may indicate that the syntax element is information related to the Cb channel (component). "_cr_" included in the name of the syntax element may indicate that the syntax element is information related to the Cr channel (component). "_bdpcm_ ... _enabled_flag" included in the name of the syntax element may indicate that the syntax element is information indicating whether BDPCM is enabled. "_bdpcm_ ... _dir_flag" included in the name of the syntax element may indicate that the syntax element is information indicating a prediction direction of BDPCM. "_chroma_common_" included in the name of the syntax element may indicate that the syntax element is information commonly used for chroma channels.

[0291] In the above embodiments, the method is described as a series of steps or units based on the flowchart, but the present disclosure is not limited to the order of the steps, and some steps may occur in a different order or simultaneously with other steps as described above. In addition, those of ordinary skill in the art will recognize that the steps shown in the flowchart are not exclusive, other steps may be included, or one or more steps of the flowchart may be deleted without affecting the scope of the present disclosure.

[0292] The above embodiments include examples of various aspects. It is not possible to describe all possible combinations to represent various aspects, but those of ordinary skill in the art will recognize that other combinations are possible. Therefore, this disclosure is intended to cover all other substitutions, modifications and variations that fall within the scope of the claims.

[0293] The above-mentioned embodiments according to the present disclosure can be implemented in the form of program instructions, which can be executed by various computer components and recorded in a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, etc., alone or in combination. The program instructions recorded on the computer-readable recording medium may be specially designed and configured for the present disclosure, or may be known and used by technicians in the field of computer software. Examples of computer-readable recording media include hard disks, magnetic media such as floppy disks and tapes, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as optical floppy disks, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, etc. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter, etc. The hardware device can be configured to operate as one or more software modules to perform a process according to the present disclosure, and vice versa.

[0294] In the above, the present disclosure has been described with specific items such as specific components and limited embodiments and drawings, but these are provided to help a more comprehensive understanding of the present disclosure, and the present disclosure is not limited to the above embodiments, and a person skilled in the art to which the present disclosure belongs can design various modifications and changes from these descriptions.

[0295] Therefore, the spirit of the present disclosure should not be limited to the above-described embodiments, and not only the claims but also all modifications equivalent to or equivalent to the claims belong to the spirit of the present disclosure.

[0296] Industrial Applicability

[0297] 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: obtaining first information indicating whether block-based differential pulse coding modulation (BDPCM) can be applied to a current image; obtaining, based on the first information, second information indicating whether to apply the BDPCM to a current block in the current image; obtaining third information indicating a prediction direction of the BDPCM based on the second information; as well as applying the BDPCM to the current block based on the prediction direction of the BDPCM, The first information indicates whether BDPCM is enabled for both the luma component and the chroma component of the current block. 2 . The image decoding method according to claim 1 , wherein the first information is transmitted at a sequence level. The image decoding method according to claim 1 , wherein the second information is transmitted at a CU level. 4 . The image decoding method according to claim 1 , wherein the second information is obtained when the first information indicates that the BDPCM can be applied to the current image. 5 . The image decoding method according to claim 1 , wherein the third information is obtained when the second information indicates that the BDPCM is applied to the current block. 6 . The image decoding method according to claim 1 , wherein the second information is obtained when a size of the current block is smaller than or equal to a predetermined size.

7. The image decoding method according to claim 6, wherein: When the current block is a luminance component block, the predetermined size is a maximum block size capable of transform skipping.

8. The image decoding method according to claim 6, wherein: When the current block is a chroma component block, the predetermined size is a maximum block size capable of transform skipping, and the size of the current block is determined based on a size of a luminance component block corresponding to the current block and a chroma scaling factor. 9 . The image decoding method according to claim 8 , wherein the chroma scaling factor is 2. 10 . The image decoding method according to claim 8 , wherein the chroma scaling factor is determined based on a color format of the current image.

11. An image encoding method performed by an image encoding device, the image encoding method comprising: determining first information indicating whether block-based differential pulse coding modulation (BDPCM) can be applied to a current image; determining, based on the first information, second information indicating whether to apply the BDPCM to a current block in the current image; determining third information indicating a prediction direction of the BDPCM based on the second information; as well as applying the BDPCM to the current block based on the prediction direction of the BDPCM, The first information indicates whether BDPCM is enabled for both the luma component and the chroma component of the current block.

12. The image encoding method according to claim 11, wherein the first information is encoded at a sequence level. The image encoding method according to claim 11 , wherein the second information is encoded at a CU level. 14 . The image encoding method according to claim 11 , wherein the second information is encoded when the first information indicates that the BDPCM can be applied to the current image. 15 . The image encoding method according to claim 11 , wherein the third information is encoded when the second information indicates that the BDPCM is applied to the current block. 16 . The image encoding method according to claim 11 , wherein the second information is encoded when a size of the current block is smaller than or equal to a predetermined size.

17. The image encoding method according to claim 16, wherein: When the current block is a luminance component block, the predetermined size is a maximum block size capable of transform skipping.

18. The image encoding method according to claim 16, wherein: When the current block is a chroma component block, the predetermined size is a maximum block size capable of transform skipping, and the size of the current block is determined based on a size of a luminance component block corresponding to the current block and a chroma scaling factor. The image encoding method according to claim 18 , wherein the chroma scaling factor is 2.

20. The image encoding method according to claim 18, wherein the chroma scaling factor is determined based on a color format of the current image.

21. A method for transmitting a bit stream generated by an image encoding method, the image encoding method comprising: determining first information indicating whether block-based differential pulse coding modulation (BDPCM) can be applied to a current image; determining, based on the first information, second information indicating whether to apply the BDPCM to a current block in the current image; determining third information indicating a prediction direction of the BDPCM based on the second information; as well as applying the BDPCM to the current block based on the prediction direction of the BDPCM, The first information indicates whether BDPCM is enabled for both the luma component and the chroma component of the current block.