Image encoding / decoding method and method for transmitting bitstream

By applying block-based differential pulse decoding modulation (BDPCM) technology in image encoding/decoding equipment, the encoding and decoding methods of image blocks are determined, and the problem of low encoding/decoding efficiency of high resolution and high-quality images is solved, and efficient signal notification and cost reduction are achieved.

CN120378623APending Publication Date: 2025-07-25RES & BUSINESS FOUND SUNGKYUNKWAN UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510482023.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2020-01-10
Filing Date
2021-01-11
Publication Date
2025-07-25

AI Technical Summary

Technical Problem

In the encoding and decoding process of high resolution and high quality images, the prior art has problems such as low encoding/decoding efficiency and inefficient signaling of BDPCM related information.

Method used

Through the image decoding device and the encoding device, using block-based differential pulse decoding modulation (BDPCM) technology, it is determined whether it is applied to the current image block and encoded and decoded according to the prediction direction, including sending related information at the sequence level and CU level.

Benefits of technology

Improve image encoding/decoding efficiency and efficiently notify BDPCM related information, reducing transmission and storage costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120378623A_ABST
    Figure CN120378623A_ABST
Patent Text Reader

Abstract

An image encoding / decoding method and a method of transmitting a bitstream are provided. An image decoding method performed by an image decoding apparatus may include: obtaining first information indicating whether block-based differential pulse coding modulation (BDPCM) can be applied to a current image; obtaining second information indicating whether to apply the BDPCM to a current block in the current image based on the first information; obtaining third information indicating a prediction direction of the BDPCM based on the second information; and applying the BDPCM to the current block on the basis of the prediction direction of the BDPCM.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of an application with application number 202180018692.0, application date January 11, 2021, and invention title "Image encoding / decoding method and apparatus using BDPCM and recording medium storing bitstream". Technical Field

[0002] The present disclosure relates to an image encoding / decoding method and apparatus, and a recording medium storing a bitstream, and more particularly, to an image encoding / decoding method and apparatus using block-based differential pulse coded modulation (BDPCM), and a recording medium storing a bitstream. Background Art

[0003] 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 relatively increases compared to existing image data. Therefore, when transmitting image data using a medium such as an existing wired / wireless broadband line or storing image data using an existing storage medium, the transmission and storage costs increase. To solve these problems that occur as the resolution and quality of image data improve, an efficient image encoding / decoding technique for high-resolution and high-quality images is needed.

[0004] 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 a picture 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 the energy of a residual signal, and an entropy decoding technique for assigning a short code to a value with a high occurrence frequency and a long code to a value with a low occurrence frequency. Such image compression techniques can be used to effectively compress and transmit or store image data. Summary of the Invention

[0005] Technical Problem

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

[0007] In addition, another object of the present disclosure is to provide an image encoding / decoding method and apparatus for efficiently signaling BDPCM-related information.

[0008] In addition, another object of the present disclosure is to provide a method of transmitting a bitstream generated by an image encoding method or an image encoding apparatus according to the present disclosure.

[0009] In addition, another object of the present disclosure is to provide a recording medium that stores a bitstream generated by an image encoding method or an image encoding device according to the present disclosure.

[0010] In addition, another object of the present disclosure is to provide a recording medium that stores a bitstream received, decoded, and used for reconstructing an image by an image decoding device according to the present disclosure.

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

[0012] Technical solution

[0013] An image decoding method performed by an image decoding device according to an aspect of the present disclosure may include: obtaining first information indicating whether block-based differential pulse code modulation (BDPCM) can be applied to a current image; obtaining second information indicating whether to apply BDPCM 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 the luminance component and the chrominance component of the current block.

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

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

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

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

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

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

[0020] In the image decoding method according to the present disclosure, when the current block is a chrominance component block, the predetermined size may be the maximum block size for which transform skip 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 a chrominance scaling factor.

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

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

[0023] An image decoding apparatus 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 code modulation (BDPCM) is applicable to a current image, obtain second information indicating whether to apply BDPCM 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 the luminance component and the chroma component of the current block.

[0024] An image encoding method performed by an image encoding apparatus according to another aspect of the present disclosure may include: determining first information indicating whether block-based differential pulse code modulation (BDPCM) is applicable to a current image; determining second information indicating whether to apply BDPCM 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 the luminance component and the chroma component of the current block.

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

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

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

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

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

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

[0031] In the image encoding method according to the present disclosure, when the current block is a chrominance component block, the predetermined size may be the maximum block size for which transform skip 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 a chrominance scaling factor.

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

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

[0034] 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 code modulation (BDPCM) can be applied to a current image, determine second information indicating whether to apply BDPCM 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 the luminance component and the chrominance component of the current block.

[0035] A transmission method according to another aspect of the present disclosure may transmit a bitstream generated by the image encoding device 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 bitstream generated by the image encoding device or the image encoding method of the present disclosure.

[0037] A computer-readable recording medium according to another aspect of the present disclosure may store a bitstream that is received, decoded, and used to reconstruct an image by an image decoding method or an image decoding device according to the present disclosure.

[0038] The features briefly outlined above regarding 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.

[0039] Advantageous Effects

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

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

[0042] Furthermore, according to the present disclosure, a method for transmitting a bitstream generated by the image encoding method or the image encoding device according to the present disclosure can be provided.

[0043] In addition, according to the present disclosure, a recording medium storing a bitstream generated by an image encoding method or an image encoding device according to the present disclosure can be provided.

[0044] In addition, according to the present disclosure, a recording medium can be provided that stores a bitstream received, decoded, and used for reconstructing an image by an image decoding device according to the present disclosure.

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

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

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

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

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

[0050] Figure 5 is a view showing signaling sequence-level BDPCM-related information according to the related art.

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

[0052] Figure 7 is a view showing an example of signaling syntax elements of a transform block using a BDPCM flag at TU syntax elements.

[0053] Figure 8a and Figure 8b is a view showing signaling sequence-level BDPCM-related information according to Embodiment 1 of the present disclosure.

[0054] Figure 9 is a view showing signaling CU-level BDPCM-related information according to Embodiment 1 of the present disclosure.

[0055] Figures 10a to 10c is a view showing signaling sequence-level BDPCM-related information according to Embodiment 2 of the present disclosure.

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

[0057] Figures 12a to 12c It is a view showing the signaling of BDPCM-related information at the sequence level according to Embodiment 3 of the present disclosure.

[0058] Figure 13 It is a view showing the signaling of BDPCM-related information at the CU level according to Embodiment 3 of the present disclosure.

[0059] Figure 14 It is a view showing a method for parsing CU-level syntax elements for a chrominance channel according to Embodiment 3 of the present disclosure.

[0060] Figure 15a and Figure 15b It is a view showing the signaling of BDPCM-related information at the sequence level according to Embodiment 4 of the present disclosure.

[0061] Figure 16 It is a view showing the signaling of BDPCM-related information at the CU level according to Embodiment 4 of the present disclosure.

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

[0063] Figure 18 It is a view showing the signaling of BDPCM-related information at the sequence level according to Embodiment 5 of the present disclosure.

[0064] Figure 19 It is a view showing the signaling of BDPCM-related information at the sequence level according to Embodiment 6 of the present disclosure.

[0065] Figure 20 It is a view showing the signaling of BDPCM-related information at the sequence level according to Embodiment 7 of the present disclosure.

[0066] Figure 21 It is a view showing the signaling of BDPCM-related information at the CU level according to Embodiment 7 of the present disclosure.

[0067] Figure 22 It is a view showing the process of parsing CU-level syntax elements according to Embodiment 7 of the present disclosure.

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

[0069] Figure 24 It is a flowchart showing an image encoding method for determining BDPCM-related information and performing BDPCM according to the present disclosure.

[0070] Figure 25 It is a flowchart showing an image decoding method for obtaining BDPCM-related information and performing BDPCM according to the present disclosure. Detailed implementation manners

[0071] Invention mode

[0072] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. When describing the embodiments of the present disclosure, if the detailed description of related known configurations or functions may obscure the subject matter of the present disclosure, the detailed description thereof will be omitted.

[0073] When it is said that one component is "coupled" or "connected" to another component, it may be directly coupled or connected to that other component, but it should be understood that other components may exist therebetween. 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.

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

[0075] In addition, the components shown in the embodiments of the present disclosure are independently shown to represent different characteristic functions, and this does not mean that each component consists of a separate piece of hardware or a single software component. That is, for 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 the embodiments in which these components are combined or separated are also included within the scope of the present disclosure without departing from the essence of the present disclosure.

[0076] In addition, in the present disclosure, some components are not basic components for performing basic functions, but are merely optional components for improving performance. In addition to the components for performance improvement, the present disclosure can be implemented by only including the necessary components for realizing the essence of the present disclosure, and the structure including only the necessary components except for the optional components for performance improvement is also included within the scope of the present disclosure.

[0077] Figure 1 It is a block diagram showing an example of an image encoding device to which the embodiments of the present disclosure can be applied.

[0078] A 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 of Figure 1 illustrates an embodiment of an image encoding apparatus that may be the basis of a scalable video encoding apparatus.

[0079] Referring to Figure 1 As shown in 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.

[0080] The prediction unit of the image encoding apparatus 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). A 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 apparatus 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.

[0081] 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 the pixel values of the already encoded / decoded blocks around the current block.

[0082] 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 the region in the reference picture stored in the reference picture buffer 190 that best matches the input block 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.

[0083] When the prediction mode of the current block is the IBC mode, the IBC prediction unit may perform motion prediction (i.e., search) within the current picture to determine a region similar to the current block, and then use it as the prediction block of the current block. In addition, a block vector indicating the position of the prediction block may be obtained.

[0084] 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 transform coefficients. Additionally, the quantizer 140 may quantize the input transform coefficients according to quantization parameters to output quantized coefficients. Depending on the coding mode of the current block, at least one of the transform and quantization may be omitted.

[0085] The entropy encoder 150 may perform entropy encoding on symbols according to the probability distribution of values calculated based on the quantizer 140 or the coding parameter values calculated during the coding process, and output a bitstream. The output bitstream 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.

[0086] The entropy coding method is a method of receiving symbols having various values, removing statistical redundancy, and representing them as a decodable binary sequence. Here, the symbols may refer to the values of syntax elements, decoding parameters, and residual signals to be encoded / decoded. The coding parameters are parameters necessary for encoding and decoding, and may include not only information (such as syntax elements) encoded in the encoding device and transmitted to the decoding device, but also information that can be inferred during the encoding or decoding process. Alternatively, the coding parameters may refer to the information required for encoding or decoding an image. The coding parameters include, for example, the values or statistics of the intra / inter prediction modes, motion / motion vectors, reference picture indices, decoding block modes, presence / absence of residual signals, transform coefficients, quantized transform coefficients, quantization parameters, block sizes, block partitioning information, etc. Additionally, the residual signal may refer to the difference between the original signal and the prediction signal. Alternatively, the residual signal may refer to the signal obtained by transforming the difference between the original signal and the prediction signal. Alternatively, the residual signal may refer to the signal obtained by transforming and quantizing the difference between the original signal and the prediction signal. The residual signal may be referred to as a residual block in units of blocks.

[0087] When entropy coding is applied, a small number of bits are allocated to symbols with a high occurrence probability, while a large number of bits are allocated to symbols with a low occurrence probability to represent the symbols, so that the size of the bitstream of the symbols to be decoded can be reduced. Therefore, the compression performance of image coding can be improved by entropy coding.

[0088] For entropy coding, coding methods 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 tables for performing entropy coding, such as variable - length coding / decoding (VLC) tables. The entropy encoder 150 can use the stored variable - length coding (VLC) table to perform entropy coding. Additionally, the entropy encoder 150 can derive a binarization method for the target symbol and a probability model for the target symbol / interval, and then perform entropy coding using the derived binarization method or probability model.

[0089] The quantized coefficients can be de - quantized by the de - quantizer 160 and inverse - transformed by the inverse - transform unit 170. Depending on the coding mode of the current block, at least one of inverse quantization and inverse transformation can be omitted. The de - quantized / inverse - transformed coefficients can be added to the prediction block by the adder 175 to generate a reconstructed block.

[0090] The reconstructed block can be input to the filter unit 180. The filter unit 180 can apply at least one of a de - blocking filter, 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 can be stored in the reference picture buffer 190.

[0091] Figure 2 is a block diagram showing an example of an image decoding device to which embodiments of the present disclosure can be applied.

[0092] As described above in Figure 1 the scalable video coding / decoding method or device can be implemented by extending a general image coding / decoding method or device that does not provide scalability, and Figure 2 the block diagram of

[0093] Referring to Figure 2 the image decoding device 200 may include an entropy decoder 210, a de - quantizer 220, an inverse - transform unit 230, a prediction unit, a filter unit 260, and a reference picture buffer 270.

[0094] The image decoding device 200 can receive the bitstream generated by the image coding device 100, perform decoding in an intra - frame mode, an inter - frame mode, or an IBC mode, and output a reconstructed image, that is, a restored image. The image decoding device 200 can receive the bitstream generated by the image coding device 100 by reading the bitstream stored in a computer - readable recording medium. Alternatively, the image decoding device 200 can receive the bitstream generated by the image coding device 100 through a wired or wireless transmission channel.

[0095] The image decoding device 200 can generate a reconstructed block, i.e., a restored block, by obtaining a reconstructed residual block from an input bitstream, generating a prediction block, and then adding the reconstructed residual block and the prediction block.

[0096] The entropy decoder 210 can perform entropy decoding on the input bitstream according to a 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.

[0097] The quantized coefficients are dequantized by the dequantizer 220 and inverse-transformed by the inverse transform unit 230. As a result of dequantizing / inverse-transforming the quantized coefficients, a reconstructed residual block can be generated. At least one of dequantization and inverse transformation can be omitted according to the coding mode of the current block.

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

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

[0100] When the prediction mode of the current block is the inter mode, the motion compensator 250 can 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.

[0101] When the prediction mode of the current block is the IBC mode, the IBC prediction unit can use a block vector obtained from the bitstream to generate a prediction block of the current block within the current picture.

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

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

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

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

[0106] When encoding / decoding an image, a transform is usually performed. However, in some cases, it may be advantageous not to perform the transform. Specifically, most of the pixels in a block have similar values. However, if the discontinuity is severe in some pixels, when the transform is performed, the values of all transform coefficients are quite large. That is, energy compression does not clearly occur. In this case, it may be more advantageous to omit the compression transform. Specifically, when the related art is applied to an image in which the degree of change in pixel values is spatially concentrated, the problem of deterioration in compression rate and image quality is serious. In this case, specifically, when using the BDPCM technique of the present disclosure, the image compression efficiency can be increased or the image quality can be improved.

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

[0108] In the present disclosure, when describing the coding information required for decoding shared among channels, for the sake of facilitating the overall description and understanding of the present disclosure, such as operation descriptions, drawings, and equations, etc., the bdpcm_flag, which is the coding information required for decoding shared among channels, is described as an example. However, the bdpcm_flag is merely a specific example, and the coding information required for decoding shared among channels to which the present disclosure is applied is not limited to the bdpcm_flag. Additionally, although the bdpcm_flag is exemplified as the coding information to be shared, in order to perform BDPCM or decode compressed data by applying BDPCM, in addition to the bdpcm_flag, information regarding the prediction direction of BDPCM is also required. Therefore, even when only the bdpcm_flag is described for convenience of description, it is necessary to understand that if necessary, the prediction direction information for BDPCM is also included in the above-mentioned coding information.

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

[0110] 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 data volume relatively increases compared to existing image data. Therefore, when transmitting image data using communication media such as wired / wireless broadband lines or various broadcast media such as satellite / terrestrial / IP network / wireless / cable / mobile communication networks, or storing image data using various storage media such as CD / DVD / USB / HD-DVD, the transmission cost and storage cost increase. Efficient image coding / decoding techniques for images with higher resolution and image quality are needed to solve these problems that inevitably deepen as the resolution and quality of image data gradually improve.

[0111] As image compression technologies developed or being developed for this purpose, there are many technologies, such as inter-frame prediction technologies that predict pixel values included in the current picture from pictures before or after the current picture, intra-frame prediction technologies that predict pixel values in the current picture using pixel information in the current picture, transform and quantization technologies that compress the energy of the residual signal retained as the prediction error, and entropy coding and arithmetic coding technologies that assign short codes to values with high occurrence frequencies and long codes to values with low occurrence frequencies. Using image compression technologies, image data can be efficiently compressed and transmitted or stored.

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

[0113] Each channel that constitutes a color space of an image (e.g., YUV, YCbCr, RGB, XYZ, etc.) generally does not always have the same or similar attributes (or colors in the same sense) among the channels. Therefore, in terms of improvement in compression rate, better performance can generally be obtained by performing independent coding determination for each channel. As an example of the above coding determination, there is a determination as to whether to perform BDPCM on an encoding target block. In addition, this determination can be decoded and signaled as a syntax element such as bdpcm_flag. That is, the encoder can determine whether to perform BDPCM 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 to perform the BDPCM technique, prediction direction information for BDPCM can also be signaled.

[0114] When applying traditional image compression techniques, transformation is always performed in image compression coding. However, when the degree of change in spatial pixel values in an image block to be compressed is very large, or specifically, when the change is very limited locally, even if transformation is applied, the degree of concentration of image energy at low frequencies may not be large. In this case, a large number of transform coefficients in the high-frequency region with relatively large values may be generated. Therefore, when applying a transform quantization technique that mainly preserves low-frequency signal components and removes high-frequency signal components through the quantization process after 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 in spatial pixel values is very large or the change in pixel values is concentrated in a very limited local area. To solve this problem, instead of uniformly transforming the image block, the pixel values in the spatial region can be directly encoded without performing transformation. According to this technique, the encoder can determine for each transform block whether to perform or omit transformation, and perform encoding by performing or omitting transformation according to this determination. Information indicating whether the transformation is performed or omitted can be included in the bitstream and encoded.

[0115] In artificial images such as screen content, transform skip may be advantageous. In the case of artificial images, it is generally more advantageous to perform BDPCM, in which DPCM is performed on each block in addition to transform skip.

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

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

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

[0119] When using BDPCM (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 technique 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 the position (i, j) is r' i,j , r' i,j can be calculated according to Equation 1 below. Here, r i,j represents the residual signal (intra prediction error signal) corresponding to the difference between the prediction block generated by intra prediction and the current block (original block), and Q(.) indicates that the value in the parentheses is a quantized value. Therefore, Q(r i,j ) represents the quantized intra prediction error signal.

[0120] [Equation 1]

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

[0122]

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

[0124]

[0125] When the bdpcm_flag of the coding target block is 1, BDPCM prediction can be performed according to the above Equation 1. This can correspond to Figure 3 Path ②. If the bdpcm_flag of the coding target block is 0, BDPCM prediction is not performed, and coding can be performed according to Figure 3 Path ①. As described above, bdpcm_flag is information (flag) indicating whether to perform BDPCM on a block.

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

[0127] As Figure 4 shown, the decoding device may include an entropy decoder, a BDPCM predictor (Inv BDPCM), and a dequantizer. Figure 4 The entropy decoder and dequantizer of Figure 2 may correspond to the entropy decoder 210 and dequantizer 220 of

[0128] BDPCM decoding may correspond to the inverse process of the BDPCM encoding process described with reference to Figure 3 and may be performed as follows.

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

[0130] [Equation 2]

[0131] ● In the case of vertical BDPCM prediction:

[0132] ● In the case of horizontal BDPCM prediction:

[0133] If the bdpcm_flag for the decoded target block is 1, the inverse process of BDPCM prediction can be performed using Equation 2 above. This can correspond to Figure 4 Path ②. If the bdpcm_flag of the decoding target block is 0, the inverse process of BDPCM prediction is not performed, and decoding according to Figure 4 Path ① can be performed.

[0134] When performing BDPCM encoding and BDPCM decoding described with reference to Figure 3 and 4 as well as Equations 1 and 2, information indicating whether BDPCM is to be performed (bdpcm_flag) and BDPCM direction information indicating the direction of BDPCM prediction are required. Generally, when performing intra prediction 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., the horizontal direction or the vertical direction) can be determined and used as the prediction direction of BDPCM and the prediction direction of intra prediction.

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

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

[0137] Information required for BDPCM decoding and the method of signaling will be described later.

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

[0139] Information indicating whether the BDPCM technique is enabled can be signaled at a higher level (e.g., sequence level). For example, the information indicating whether the BDPCM technique is enabled can be the bdpcm_enable_flag in the sequence parameter set (SPS). When the BDPCM technique can be used, i.e., 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) can be signaled. Whether to use BDPCM can refer to whether to use BDPCM to encode / decode the current CU. In the present disclosure, "whether to use" BDPCM can be interchangeably described with terms such as "apply" and "execute".

[0140] Information indicating whether to use BDPCM (e.g., bdpcm_flag) can be signaled only when the size of the current CU is not greater than MaxTsSize based on the luminance component and the prediction mode of the current CU is the intra prediction mode. MaxTsSize can represent the maximum block size allowing the transform skip mode. The bdpcm_flag indicates whether to encode the CU using BDPCM, and when BDPCM is used, information indicating the prediction direction of BDPCM (i.e., vertical direction or horizontal direction) (e.g., bdpcm_dir_flag) can be additionally signaled.

[0141] According to the related art, BDPCM for the chrominance channel is available only when BDPCM for the luminance channel is available. To signal whether BDPCM is available, for example, information indicating whether BDPCM is available for each of the luminance channel and the chrominance channel is sent at the sequence level (SPS). According to the related art, BDPCM for the chrominance channel is available only when BDPCM for 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 signals BDPCM-related information systematically and more efficiently.

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

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

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

[0145] In Figure 5 In the example shown, the sps_transform_skip_enabled_flag indicates whether transform skip decoding (transform skip mode) is available. In addition, the sps_bdpcm_enabled_flag indicates whether BDPCM is available for the luminance channel. In addition, the sps_bdpcm_chroma_enabled_flag indicates whether BDPCM is available for the chrominance channel.

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

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

[0148] On the other hand, the sps_bdpcm_chroma_enabled_flag indicates whether to enable the use of the BDPCM technique for the chrominance channel. As Figure 5As shown, the 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 simultaneously, the sps_bdpcm_chroma_enabled_flag is not signaled, and the value of the sps_bdpcm_chroma_enabled_flag is inferred to be 0. That is, when the sps_bdpcm_chroma_enabled_flag is not signaled, it is determined that the BDPCM technology is not enabled for this chrominance 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 indicates that the color format of the YCbCr image is 4:2:0; if the value of chroma_format_idc is 2, it indicates that the color format of the YCbCr image is 4:2:2; if the value of chroma_format_idc is 3, it indicates 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 only for the luminance channel and the BDPCM is enabled for the chrominance channel when the color format of the target image to be compressed is 4:4:4. That is, the disadvantage of the related art is that the use of the BDPCM technology is very limited.

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

[0150] When the use of the BDPCM technology is enabled, it is necessary to signal to the decoder whether the BDPCM is actually applied to each decoding unit (CU). For this purpose, as Figure 6 shown, the intra_bdpcm_luma_flag and intra_bdpcm_luma_dir_flag information of the luminance channel and the intra_bdpcm_chroma_flag and intra_bdpcm_chroma_dir_flag information of the chrominance channel are included in the bitstream and signaled from the encoder to the decoder. Figure 6 The information shown is the information transmitted at the CU level.

[0151] In Figure 6In it, intra_bdpcm_luma_flag indicates whether the BDPCM technology is applied to encode (or decode) the luminance channel of the target block (current CU). When intra_bdpcm_luma_flag is the first value (e.g., 1), it indicates that the BDPCM technology is applied to the luminance channel of the current CU. Additionally, when intra_bdpcm_luma_flag is the second value (e.g., 0), it indicates that the BDPCM technology is not applied to the luminance channel of the current CU.

[0152] Similarly, intra_bdpcm_chroma_flag indicates whether the BDPCM technology is applied to encode (or decode) the chrominance channel of the target block (current CU). When intra_bdpcm_chroma_flag is the first value (e.g., 1), it indicates that the BDPCM technology is applied to the chrominance channels (e.g., Cb, Cr) of the current CU. Furthermore, when intra_bdpcm_chroma_flag is the second value (e.g., 0), it indicates that the BDPCM technology is not applied to the chrominance channels (e.g., Cb, Cr) of the current CU.

[0153] To use the BDPCM technology, information indicating the prediction direction of BDPCM (i.e., vertical direction or horizontal direction) 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 means the prediction direction of BDPCM is vertical. When the value of intra_bdpcm_luma_dir_flag (or intra_bdpcm_chroma_dir_flag) is 1, it means the prediction direction of BDPCM is horizontal.

[0154] The decoder parses intra_bdpcm_luma_flag (or intra_bdpcm_chroma_flag) from the bitstream 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 that channel. When the value of intra_bdpcm_luma_flag (or intra_bdpcm_chroma_flag) is 1, the decoder recognizes that BDPCM is applied to that channel. The decoder decodes the bitstream based on the recognition according to the flag value.

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

[0156] According to the above related art, it is set whether to use BDPCM for each of the luminance channel and the chrominance channel. Therefore, BDPCM cannot be independently applied to the Cb channel and the Cr channel that constitute the chrominance signal. For example, BDPCM cannot be set to be applied to the Cb channel without being applied to the Cr channel. That is, according to the related art, for the Cb channel and the Cr channel, whether to use the BDPCM technique for the chrominance channel is set to be the same.

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

[0158] In Figure 7In the example shown, (x0, y0) are spatial coordinates 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 and Cr components may correspond to cIdx = 1 and cIdx = 2, respectively. BdpcmFlag[x0][y0][cIdx] is the 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 is generally represented as BdpcmFlag[x0][y0][cIdx]. However, in the following description, BdpcmFlag[x0][y0][cIdx] will be described as BdpcmFlag or BdpcmFlag[channel type]. For the convenience of description, some information is excluded when there is no problem in understanding the operation.

[0159] According to the related art referred to Figures 5 to 7 described above, technical problems will occur at least in the following aspects.

[0160] First, the conventional BDPCM technology can only be applied 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 ratio or image quality by applying BDPCM, BDPCM cannot be applied to the image.

[0161] Second, according to the related art, it is impossible to independently enable BDPCM between the luminance (i.e., Y signal) channel and the chrominance channels (i.e., Cb and Cr signals). The compression efficiency or image quality improvement effect of BDPCM may mainly appear in the luminance channel, depending on the image. Alternatively, conversely, the effect of BDPCM may only appear for the chrominance channel signals. On the other hand, in some images, it may be beneficial to use BDPCM in both the luminance and chrominance channels. According to the reference Figure 5 described above, in order to enable the BDPCM technology for the chrominance channel, the value of sps_bdpcm_enabled_flag should first be set to 1. That is, the BDPCM technology should be enabled for the luminance channel. This is because, according to Figure 5In the related art shown, the sps_bdpcm_chroma_enabled_flag can be parsed only when the value of sps_bdpcm_enabled_flag is 1. That is, the bdpcm for the chrominance channel can be enabled only when the bdpcm technology is enabled for the luminance channel. In short, according to the related art, it is basically impossible to disable bdpcm for the luminance channel and only enable bdpcm for the chrominance channel. Therefore, even if the effect of applying the bdpcm technology is obtained only in the chrominance channel, if bdpcm is not enabled for the luminance channel (i.e., 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 chrominance channel cannot be obtained. Therefore, according to the related art, even if the effect of bdpcm is obtained only in the chrominance channel, bdpcm needs to be set to also be used for the luminance channel. That is, according to the related art, since the intra_bdpcm_luma_flag and / or intra_bdpcm_luma_dir_flag values should always be sent, it is inefficient. Therefore, improvement is needed to independently determine whether to apply bdpcm to the luminance channel and the chrominance channel and independently signal the relevant information (enable information).

[0162] Third, according to the related art, whether bdpcm can be used for the chrominance channel is signaled by 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 attributes 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 appears not only in Figure 5 the sps_bdpcm_chroma_enabled_flag, but also in Figure 6 the intra_bdpcm_chroma_flag and intra_bdpcm_chroma_dir_flag. That is, since the BDPCM information for the Cb channel and the BDPCM information for the Cr channel are determined identically 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.

[0163] Fourth, according to related technologies, the BDPCM technology can only be applied to intra prediction blocks. That is to say, the existing problem is that BDPCM basically cannot be used for blocks that are not intra prediction, for example, blocks for inter prediction by performing motion compensation.

[0164] Since BDPCM is available when performing "transform skip", it is especially 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 capable of improving the image compression ratio or image quality by solving at least the above problems.

[0165] Generally, the three-channel data of an image can be divided into a luminance (Y, or luma) channel and chrominance (Cb and / or Cr) channels in the YCbCr color space. BDPCM is applied in the same direction as the prediction direction indicated by the intra prediction (i.e., intra 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 chrominance channels without transmitting BDPCM-related information through the three Y, Cb, and Cr channels. In the following description, the BDPCM flag will be described as signaling information. However, the signaling information applying the present disclosure 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 applying the present disclosure may include each of the information listed above or at least one of them. For convenience, such information may be referred to as "coding information".

[0166] <Embodiment 1>

[0167] Hereinafter, an embodiment for solving the first problem of the above related technologies according to the present disclosure will be described.

[0168] chroma_format_idc can indicate how the color channels are configured. If chroma_format_idc is 1, it can indicate that the YCbCr color channels are configured in the 4:2:0 color format. Additionally, if chroma_format_idc is 2, it can indicate that it is configured in the 4:2:2 color format, and if chroma_format_idc is 3, it can indicate that it is configured in the 4:4:4 color format. According to the related art, BDPCM can be performed on chrominance blocks only when the value of chroma_format_idc is 3, i.e., when the current image is a 4:4:4 color format image. However, according to this embodiment, BDPCM can be performed on chrominance blocks 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.

[0169] Figure 8a and Figure 8b is a view showing signaling of sequence-level BDPCM-related information according to Embodiment 1 of the present disclosure.

[0170] According to Figure 8a the example shown in, when chroma_format_idc is greater than 2, the BDPCM enable information (sps_bdpcm_chroma_enabled_flag) for chrominance blocks 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 the example shown in, BDPCM can be enabled for chrominance blocks when the current image is a 4:4:4 color format image or a 4:2:2 color format image.

[0171] According to Figure 8b the example shown in, when chroma_format_idc is not 0, the BDPCM enable information (sps_bdpcm_chroma_enabled_flag) for chrominance blocks 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 8bIn 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 chrominance blocks. The chroma_format_idc typically has values from 0 to 3, and a chroma_format_idc of 0 can mean that the current image is a monochrome image that includes only the Y channel. Therefore, Figure 8b the example shown in Figure 8b can be understood as basically transmitting the enabling information of BDPCM for chrominance blocks when the current image includes a chrominance channel.

[0172] Alternatively, as a condition signaled by the sps_bdpcm_chroma_enabled_flag, it can include whether the separate_colour_plane_flag is 1. A separate_colour_plane_flag of 1 can mean that each of the three color components of a 4:4:4 color format image is separately encoded / decoded. For example, the color space is not YCbCr but a color space of XYZ or RGB channels. That is, a separate_colour_plane_flag of 1 can 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, BDPCM can be enabled for chrominance components in addition to the above cases.

[0173] When the color format of the current image is not 4:4:4, the BDPCM flag and the BDPCM prediction direction information transmission method (CU syntax level) according to the related art shown in Figure 6 Figure 6 may no longer be used.

[0174] Figure 9 FIG. is a view showing the signaling of CU-level BDPCM-related information according to Embodiment 1 of the present disclosure.

[0175] As shown in Figure 9 Figure 9 , for the chrominance channel, new CU syntax-level parsing and decoding operations different from the related art are required. In Figure 9 Figure 9 , cbWidth and cbHeight respectively indicate the width and height of a luma block. In addition, SubWidthC and SubHeightC can represent chrominance scaling factors for matching the width and height of the luma block with the width and height of the chrominance block according to the value of chroma_format_idc.

[0176] The values of SubWidthC and SubHeightC according to chroma_format_idc can be expressed as shown in Table 1 below.

[0177] [Table 1]

[0178]

[0179] As Figure 9 shown, when sps_bdpcm_luma_enabled_flag is 1 and both the width (cbWidth) and height (cbHeight) of the current luma block are 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.

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

[0181] 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 of incorporating the configuration of Embodiment 7 into Embodiment 1, the 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).

[0182] <Embodiment 2>

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

[0184] According to this embodiment, the BDPCM enable flags for the luminance channel and the chrominance channel can be transmitted (or parsed) independently of each other. According to this embodiment, sps_bdpcm_luma_enabled_flag and sps_bdpcm_chroma_enabled_flag can be transmitted independently. sps_bdpcm_luma_enabled_flag can indicate whether the bdpcm technology is enabled for the luminance channel. sps_bdpcm_chroma_enabled_flag can indicate whether the bdpcm technology is enabled for the chrominance channel.

[0185] Figures 10a to 10c FIG. 4 is a view showing signaling of sequence-level BDPCM-related information according to Embodiment 2 of the present disclosure.

[0186] According to this embodiment, the bdpcm_enabled_flags for the luminance channel and the chrominance channel can be signaled independently.

[0187] Specifically, Figure 10a FIG. 5 is a view showing an example of signaling the bdpcm_enabled_flags for the luminance channel and the chrominance channel independently.

[0188] According to Figure 10a , when chroma_format_idc is 3, sps_bdpcm_chroma_enabled_flag can be signaled. In this case, sps_bdpcm_luma_enabled_flag can be ignored. That is, the signaling of sps_bdpcm_chroma_enabled_flag can be performed independently of the value of sps_bdpcm_luma_enabled_flag.

[0189] Figure 10a The example shown can be applied to images having a 4:2:2 or 4:2:0 color format.

[0190] Figure 10b FIG. 6 is a view showing another example of signaling the bdpcm_enabled_flags for the luminance channel and the chrominance channel independently when the color format is 4:4:4 or 4:2:2.

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

[0192] Figure 10c This is a view showing another example of the bdpcm_enabled_flag that independently signals the luminance channel and the chrominance channel when the color format is 4:4:4, 4:2:2, or 4:2:0 (or it is not a monochrome image).

[0193] As Figure 10c shown, when chroma_format_idc is not 0, i.e., when the current image is not a monochrome image, sps_bdpcm_chroma_enabled_flag can be signaled, and in this case, the value of sps_bdpcm_luma_enabled_flag can be ignored.

[0194] Figures 10a to 10c The method of transmitting the BDPCM flag and the BDPCM prediction direction information according to Embodiment 2 shown can be the same as the method described with reference to Figure 9 In this case, the method of transmitting the BDPCM flag and the BDPCM prediction direction information according to the embodiment shown in Figure 10a can be the same as the method described with reference to Figure 6 described.

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

[0196] That is, by referring to the intra_bdpcm_luma_flag and intra_bdpcm_chroma_flag values obtained by parsing the Figure 9 CU-level syntax structure, it is determined whether to apply the bdpcm technique to each of the Y, Cb, and Cr channels of the current CU block, and BDPCM decoding can be performed based on this determination.

[0197] Referring to Figure 11, in the case of the luminance channel, it can be indicated whether to use the BDPCM technique 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, it can be indicated whether to use the BDPCM technique 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, it can be indicated whether to use the BDPCM technique 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]).

[0198] <Example 3>

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

[0200] According to this embodiment, BDPCM can be enabled independently for the Cb channel and the Cr channel. According to this embodiment, the second and third problems of the related art can be solved simultaneously. According to this embodiment, it is possible to implement the transmission of sps_bdpcm_luma_enabled_flag and sPs_bdpcm_chroma_common_enabled_flag. As described above, the sps_bdpcm_luma_enabled_flag can indicate whether the BDPCM technology is enabled for the luminance channel. The sps_bdpcm_chroma_common_enabled_flag can indicate whether the BDPCM technology is enabled for the chrominance channel. More specifically, the sps_bdpcm_chroma_common_enabled_flag can indicate whether the enabling of the BDPCM technology is indicated commonly for the chrominance channel without distinguishing between the Cb channel and the Cr channel, or whether it is indicated independently for each of the Cb channel and the Cr channel. For example, when the value of the sps_bdpcm_chroma_common_enabled_flag is 1, it can mean that the BDPCM enabling is indicated commonly for the Cb channel and the Cr channel. Therefore, in this case, the two flags intra_bdpcm_flag (i.e., intra_bdpcm_chroma_flag) and / or intra_bdpcm_dir_flag (i.e., intra_bdpcm_chroma_dir_flag) are transmitted for the chrominance channel, and the Cb channel and the Cr channel can share these values. For example, when the value of the sps_bdpcm_chroma_common_enabled_flag is 0, the intra_bdpcm_flag and / or intra_bdpcm_dir_flag can be transmitted (or parsed) independently for each of the Cb channel and the Cr channel in the CU-level syntax. That is, the intra_bdpcm_chroma_cb_flag and / or intra_bdpcm_chroma_cb_dir_flag can be signaled for the Cb channel, and the intra_bdpcm_chroma_cr_flag and / or intra_bdpcm_chroma_cr_dir_flag can be signaled for the Cr channel.

[0201] Figures 12a to 12c It is a view showing the signaling of sequence-level BDPCM-related information according to Embodiment 3 of the present disclosure.

[0202] According to Figure 12aIn the example shown, when chroma_format_idc is 3, sps_bdpcm_chroma_common_enabled_flag can be signaled.

[0203] Figure 12a The example shown can be applied to images with 4:2:2 or 4:2:0 color formats.

[0204] According to Figure 12b In the example shown, when chroma_format_idc is equal to or greater than 2, sps_bdpcm_chroma_common_enabled_flag can be signaled. That is, when the color format is 4:4:4 or 4:2:2, sps_bdpcm_chroma_common_enabled_flag can be signaled.

[0205] According to Figure 12c In the example shown, when chroma_format_idc is not 0, sps_bdpcm_chroma_common_enabled_flag can be signaled. 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 can be signaled.

[0206] Reference Figures 12a to 12c The description of the common part in the example described in Figures 10a to 10c and the example described in Figures 12a to 12c can be made general. For example, in the example described in

[0207] Figure 13 sps_bdpcm_chroma_common_enabled_flag of the chroma channel can be signaled independently of sps_bdpcm_luma_enabled_flag of the luma channel.

[0208] In Figure 13 the example shown, the description of the same part as in the example described in Figure 9 will be omitted.

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

[0210] Hereinafter, reference will be made to Figure 13 and14 Describe signaling CU-level syntax according to this embodiment.

[0211] First, when sps_bdpcm_chroma_common_enabled_flag is 1, intra_bdpcm_chroma_common_flag can be parsed (obtained) from the bitstream. intra_bdpcm_chroma_common_flag can be a common flag indicating whether BDPCM is applied to all chroma channels. When intra_bdpcm_chroma_common_flag is 1, it can indicate that BDPCM is applied to all chroma channels. When intra_bdpcm_chroma_common_flag is 0, it can 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 can 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 luma channel can be set to the value of intra_bdpcm_luma_flag[x0][y0].

[0212] If the sps_bdpcm_chroma_common_enabled_flag is 0, the flags for the Cb channel (intra_bdpcm_chroma_cb_flag) and the Cr channel (intra_bdpcm_chroma_cr_flag) can be parsed (obtained) from the bitstream. The intra_bdpcm_chroma_cb_flag can be a flag indicating whether BDPCM is applied to the Cb channel. When the intra_bdpcm_chroma_cb_flag is 1, it can indicate that BDPCM is applied to the Cb channel. When the intra_bdpcm_chroma_cb_flag is 0, it can indicate that BDPCM is not applied to the Cb channel. Similarly, the intra_bdpcm_chroma_cr_flag can be a flag indicating whether BDPCM is applied to the Cr channel. When the intra_bdpcm_chroma_cr_flag is 1, it can indicate that BDPCM is applied to the Cr channel. When the intra_bdpcm_chroma_cr_flag is 0, it can indicate that BDPCM is not applied to the Cr channel. Therefore, when the 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].

[0213] It can be based on BdpcmFlag[x0][y0][0], BdpcmFlag[x0][y0][1], and BdpcmFlag[x0][y0][2] set as described above with reference to Figure 7 to perform TU-level parsing and decoding.

[0214] <Example 4>

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

[0216] According to related art, BDPCM can be applied only to blocks predicted in an intra mode (intra blocks). Further, the prediction direction of BDPCM is used by matching the prediction direction of BDPCM with the intra prediction direction applied to the intra blocks. However, when the BDPCM technique, which is mainly effective for screen content, is applied to blocks predicted in an inter mode (inter blocks), compression efficiency and image quality can be improved. By improving the above related art, the present embodiment can apply the BDPCM technique to inter blocks.

[0217] The encoder can determine whether to enable or disable the use of the BDPCM technique for an inter block and signal the determined content to the decoder.

[0218] Figure 15a and Figure 15b are views showing signaling sequence-level BDPCM-related information according to Embodiment 4 of the present disclosure.

[0219] As Figure 15a and Figure 15b shown, the sequence-level syntax structure according to this embodiment may include sps_inter_bdpcm_enabled_flag and / or sps_inter_bdpcm_chroma_enabled_flag.

[0220] As Figure 15a shown, whether to enable the BDPCM technique for an inter block may be indicated by sps_inter_bdpcm_enabled_flag and sps_inter_bdpcm_chroma_enabled_flag of an SPS (Sequence Parameter Set) at the sequence level. Further, these two flags may be signaled only when the transform skip mode is enabled by the SPS (i.e., only when sps_transform_skip_enabled_flag is 1).

[0221] As another application example, as Figure 15b shown, sps_inter_bdpcm_enabled_flag and sps_inter_bdpcm_chroma_enabled_flag indicating whether to enable the BDPCM technique for an inter block may be signaled only when sps_bdpcm_enabled_flag is 1, i.e., only when the BDPCM technique is enabled for intra blocks (or all blocks).

[0222] In Figure 15a and Figure 15bIn the example, the flag of the chrominance channel is signaled according to the flag of the luminance channel. However, the present disclosure is not limited thereto, and by combining with another embodiment of the present disclosure, the flag of the chrominance channel can be signaled independently of the flag of the luminance channel.

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

[0224] As another application example, sps_inter_bdpcm_enabled_flag and sps_inter_bdpcm_chroma_enabled_flag can be set to the values of sps_intra_bdpcm_enabled_flag and sps_intra_bdpcm_chroma_enabled_flag, respectively. That is, the BDPCM enable information of the intra blocks can be shared without change, without separately signaling the BDPCM enable information of the inter blocks.

[0225] As another application example, the flag of the inter block and the flag of the intra 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 block and the luminance channel of the intra block. In addition, sps_bdpcm_chroma_enabled_flag can generally indicate whether BDPCM is applicable to the luminance channel of the inter block and the chrominance channel of the intra block.

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

[0227] Figure 16 is a view showing signaling of BDPCM-related information at the CU level according to Embodiment 4 of the present disclosure.

[0228] In Figure 16 the shown example, inter_bdpcm_luma_flag and inter_bdpcm_luma_dir_flag can be signaled for the luminance channel. In addition, inter_bdpcm_chroma_flag and inter_bdpcm_chroma_dir_flag can be signaled for the chrominance channel.

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

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

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

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

[0233] Redundant descriptions of the same parts in the TU-level syntax structure shown and the TU-level syntax structure described in another embodiment of the present disclosure will be omitted. Figure 17 Redundant descriptions of the same parts in the TU-level syntax structure shown and the TU-level syntax structure described in another embodiment of the present disclosure will be omitted.

[0234] As a modification of this embodiment, in the case of an inter block, it may be restricted to apply BDPCM only to the luma block and not to the chroma block. Alternatively, when BDPCM is applied to the luma block, the prediction direction of BDPCM for the luma block may be equally used for the chroma block. In this case, there is an effect that the information on the prediction direction of BDPCM for the chroma block does not have to be transmitted (or parsed).

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

[0236] <Example 5>

[0237] According to this embodiment, only when BDPCM is enabled for the luminance channel, information indicating whether BDPCM is enabled for the chrominance channel, such as sps_bdpcm_chroma_common_enabled_flag, can be signaled. According to this embodiment, the parsing of relevant syntax elements can be performed as follows.

[0238] Parse sps_bdpcm_luma_enabled_flag

[0239] if(sps_bdpcm_luma_enabled_flag)

[0240] Parse sps_bdpcm_chroma_common_enabled_flag

[0241] Figure 18 is a view showing the signaling of sequence-level BDPCM-related information according to Example 5 of the present disclosure.

[0242] As Figure 18 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.

[0243] <Example 6>

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

[0245] According to this embodiment, the parsing of relevant syntax elements can be performed as follows.

[0246] Parse sps_bdpcm_luma_enabled_flag

[0247] Parse sps_bdpcm_chroma_cb_enabled_flag

[0248] Parse sps_bdpcm_chroma_cr_enabled_flag

[0249] Figure 19 It is a view showing signaling sequence - level BDPCM - related information according to Embodiment 6 of the present disclosure.

[0250] As Figure 19 shown, sps_transform_skip_enabled_flag is parsed, and sps_bdpcm_luma_enabled_flag can be parsed only when its value is 1. Additionally, regardless of the value of sps_bdpcm_luma_enabled_flag, when chroma_format_idc is 3, both sps_bdpcm_chroma_cb_enabled_flag and sps_bdpcm_chroma_cr_enabled_flag can be parsed. In this case, the condition regarding chroma_format_idc can be changed as described in another embodiment of the present disclosure.

[0251] <Embodiment 7>

[0252] According to this 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, there is no need to signal bdpcm_enabled_flag information for each of the multiple 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, transmitting bdpcm_enabled_flag for each channel constituting the image is not efficient in terms of compression ratio. 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 can be shared.

[0253] Figure 20 It is a view showing signaling sequence - level BDPCM - related information according to Embodiment 7 of the present disclosure.

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

[0255] Figure 21 is a view showing signaling of CU-level BDPCM related information according to Embodiment 7 of the present disclosure.

[0256] As Figure 21 shown, the CU-level BDPCM related information may include the intra_bdpcm_luma_flag and / or the intra_bdpcm_luma_dir_flag of the luminance channel. In this case, the intra_bdpcm_chroma_flag and the intra_bdpcm_chroma_dir_flag of the chrominance channel may not be signaled separately.

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

[0258] As Figure 22 shown, when the current block is a luminance component, the intra_bdpcm_luma_flag indicating whether to apply the BDPCM technique can be parsed. When the intra_bdpcm_luma_flag is 1, the 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 the intra_bdpcm_luma_dir_flag of the luminance component can be shared. Therefore, the intra_bdpcm_chroma_flag and the intra_bdpcm_chroma_dir_flag can be set to the values of the intra_bdpcm_luma_flag and the intra_bdpcm_luma_dir_flag respectively without parsing separate syntax elements.

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

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

[0261] The above-described Embodiments 1 to 7 can be implemented individually or in combination of two or more embodiments. When combining two or more embodiments, the whole or part of one embodiment can be combined with the whole or part of another embodiment. For example, a new embodiment can be achieved 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 can be signaled jointly. That is, sps_bdpcm_enabled_flag being 1 can indicate that BDPCM can be applied to both the luminance channel and the chrominance channel. In addition, sps_bdpcm_enabled_flag being 0 can indicate that BDPCM is not applied to both the luminance channel and the chrominance channel. Further, when sps_bdpcm_enabled_flag is 1, as in Embodiment 1, the BDPCM-related information (bdpcm_flag and / or bdpcm_dir_flag) at the CU level can be signaled in consideration of the color format of the image. More specifically, as described with reference to Figure 9 it can be determined whether to signal intra_bdpcm_chroma_flag based on SubWidthC and SubHeightC derived according to the color format of the image.

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

[0263] Figure 24 is a flowchart showing an image encoding method for determining BDPCM-related information and performing BDPCM according to the present disclosure.

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

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

[0266] When BDPCM is enabled for the current image (S2420 - Yes), the image encoding device may perform BDPCM on blocks in the current image. When it is determined that BDPCM is enabled for the current image, information indicating this may be encoded in the bitstream and transmitted to the image decoding device. For example, the bdpcm_enabled_flag may be encoded as BDPCM enable information. According to the present disclosure, the bdpcm_enabled_flag may be signaled at a higher level (e.g., sequence level). In addition, the bdpcm_enabled_flag may indicate whether BDPCM is enabled for the luminance channel and the chrominance channel jointly. In addition, according to another embodiment of the present disclosure, the BDPCM enable information for the luminance channel (e.g., bdpcm_luma_enabled_flag) and the BDPCM enable information for the chrominance channel (e.g., bdpcm_chroma_enabled_flag) may be signaled separately or independently. In addition, according to another embodiment of the present disclosure, information indicating whether the BDPCM - related information for 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, the BDPCM enable information for inter - prediction blocks (e.g., inter_bdpcm_enabled_flag) may be transmitted separately.

[0267] When BDPCM is enabled for the current image, BDPCM may be performed only on blocks that satisfy a predetermined condition. For example, when the size of the current block is less than or equal to a predetermined size, BDPCM may be performed. 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 may be performed on the block. According to another embodiment of the present disclosure, when the current block is a chrominance block, the width and height of the current block may be determined by dividing the size of the luminance block by a predetermined chrominance scaling factor. For example, when the width of the luminance block is cbWidth and the height is cbHeight, and the chrominance scaling factors are SubWidthC and SubHeightC, the width and height of the current chrominance block may be calculated as cbWidth / SubWidthC and cbHeignt / SubHeightC. As described above, the chrominance scaling factor may be derived according to the color format of the current image.

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

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

[0270] When the size of the current block satisfies the predetermined condition (S2430 - Yes), the image coding device may determine whether to apply BDPCM to the current block (S2440). As described above, the image coding device may determine whether to apply BDPCM to the coding of the current block by various methods such as RDO.

[0271] When it is determined that BDPCM is not applied to the current block (S2450 - No), the image coding device may encode the current block without applying BDPCM. In this case, the image coding 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.

[0272] When it is determined that BDPCM is applied to the current block (S2450 - Yes), the image coding device may encode the BDPCM flag (e.g., bdpcm_flag) of the current block as a first value (e.g., 1). In addition, the image coding device may determine the 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).

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

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

[0275] In Figure 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.

[0276] Figure 25 is a flowchart showing an image decoding method of obtaining BDPCM-related information and performing BDPCM according to the present disclosure.

[0277] As Figure 25As shown, the image decoding device may obtain information indicating whether BDPCM is enabled for the current image (BDPCM enable information) (S2510). For example, bdpcm_enabled_flag may be obtained as the BDPCM enable 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, the BDPCM enable information for the luminance channel (e.g., bdpcm_luma_enabled_flag) and the BDPCM enable information for the chrominance channel (e.g., bdpcm_chroma_enabled_flag) may be signaled separately or independently. In addition, according to another embodiment of the present disclosure, information indicating whether the BDPCM-related information for 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, the BDPCM enable information for the inter prediction block (e.g., inter_bdpcm_enabled_flag) may be transmitted separately.

[0278] The image decoding device 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 device may not perform BDPCM on the current image.

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

[0280] When BDPCM is enabled for the current image, BDPCM may be performed only on the blocks that meet a predetermined condition. For example, BDPCM may 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 may be performed on the block. According to another embodiment of the present disclosure, when the current block is a chrominance block, the width and height of the current block may be determined by dividing the size of the luminance block by a predetermined chrominance scaling factor. For example, when the width of the luminance block is cbWidth and the height is cbHeight, and the chrominance scaling factors are SubWidthC and SubHeightC, the width and height of the current chrominance block may be calculated as cbWidth / SubWidthC and cbHeignt / SubHeightC. As described above, the chrominance scaling factor may be derived according to the color format of the current image.

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

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

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

[0284] The image decoding device may determine whether to apply BDPCM to the current block based on the obtained information on whether to apply BDPCM (S2550).

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

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

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

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

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

[0290] In Figure 25 In the illustrated embodiment, steps S2520 and S2530 have been described as being 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.

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

[0292] 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, may include other steps, or one or more steps of the flowchart may be deleted without affecting the scope of the present disclosure.

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

[0294] Embodiments according to the present disclosure may be implemented in the form of program instructions, which may 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 specifically designed and configured for the present disclosure, or may be known and used by those skilled in the computer software field. Examples of the computer-readable recording medium include hard disks, magnetic media such as floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as optical floppy disks, and hardware devices specifically configured to store and execute program instructions, such as ROMs, RAMs, flash memories, etc. Examples of program instructions include not only machine language codes generated by compilers, but also high-level language codes that can be executed by computers using interpreters, etc. The hardware devices may be configured to operate as one or more software modules to execute the processes according to the present disclosure, and vice versa.

[0295] In the foregoing, 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 various modifications and variations can be designed by those of ordinary skill in the art to which the present disclosure pertains from these descriptions.

[0296] Therefore, the spirit of the present disclosure should not be limited to the above embodiments, and all modifications that are equivalent to or equivalent to the claims belong to the spirit scope of the present disclosure.

[0297] Industrial Applicability

[0298] Embodiments of the present disclosure can be used for encoding or decoding images.

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 code modulation (BDPCM) can be applied to a current image; Obtaining second information indicating whether to apply the BDPCM to a current block in the current image based on the first information; Obtaining third information indicating a prediction direction of the BDPCM based on the second information; And Applying the BDPCM to the current block based on the prediction direction of the BDPCM, wherein the first information indicates whether the BDPCM is enabled for both a luminance component and a chrominance component of the current block, wherein the second information for the chrominance component and the third information for the chrominance component are obtained from a bitstream based on whether the color format of the current image is a 4:2:0 color format or a 4:2:2 color format, wherein a prediction direction for intra prediction of the current block is determined to be the same as the prediction direction of the BDPCM, wherein a first value of the third information indicates that the prediction direction of the BDPCM is vertical, and a second value of the third information indicates that the prediction direction of the BDPCM is horizontal, wherein the first information is obtained when a transform skip mode is available, and wherein it is determined whether to apply the BDPCM for each color component of the current block.

2. The image decoding method according to claim 1, wherein the first information is sent at a sequence level.

3. The image decoding method according to claim 1, wherein the second information is sent 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 less 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 performing transform skip.

8. The image decoding method according to claim 6, wherein when the current block is a chrominance component block, the predetermined size is a maximum block size capable of performing transform skip, 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 chrominance scaling factor.

9. The image decoding method according to claim 8, wherein the chrominance scaling factor is 2.

10. The image decoding method according to claim 8, wherein the chrominance scaling factor is determined based on the 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 code modulation (BDPCM) can be applied to a current image; Determine second information indicating whether to apply the BDPCM to a current block in the current image based on the first information; Determine third information indicating a prediction direction of the BDPCM based on the second information; And Apply the BDPCM to the current block based on the prediction direction of the BDPCM, wherein the first information indicates whether the BDPCM is enabled for both a luminance component and a chrominance component of the current block, wherein the second information for the chrominance component and the third information for the chrominance component are encoded into a bitstream based on whether the color format of the current image is a 4:2:0 color format or a 4:2:2 color format, wherein a prediction direction for intra prediction of the current block is determined to be the same as the prediction direction of the BDPCM, wherein a first value of the third information indicates that the prediction direction of the BDPCM is vertical, and a second value of the third information indicates that the prediction direction of the BDPCM is horizontal, wherein the first information is encoded when a transform skip mode is available, and wherein it is determined whether to apply the BDPCM for each color component of the current block.

12. The image encoding method according to claim 11, wherein the first information is encoded at a sequence level.

13. 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 less 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 performing transform skip.

18. The image encoding method according to claim 16, wherein when the current block is a chrominance component block, the predetermined size is a maximum block size capable of performing transform skip, 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 chrominance scaling factor.

19. The image encoding method according to claim 18, wherein the chrominance scaling factor is 2.

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

21. A method of transmitting a bitstream generated by an image encoding method, the image encoding method comprising: Determine first information indicating whether block-based differential pulse code modulation BDPCM can be applied to a current image; Determine second information indicating whether to apply the BDPCM to a current block in the current image based on the first information; Determine third information indicating a prediction direction of the BDPCM based on the second information; and Apply the BDPCM to the current block based on the prediction direction of the BDPCM, wherein the first information indicates whether the BDPCM is enabled for both the luminance component and the chrominance component of the current block, wherein the second information for the chrominance component and the third information for the chrominance component are encoded into the bitstream based on whether the color format of the current image is a 4:2:0 color format or a 4:2:2 color format, wherein a prediction direction for intra prediction of the current block is determined to be the same as the prediction direction of the BDPCM, wherein a first value of the third information indicates that the prediction direction of the BDPCM is vertical, and a second value of the third information indicates that the prediction direction of the BDPCM is horizontal, wherein the first information is encoded when the transform skip mode is available, and wherein it is determined whether to apply the BDPCM for each color component of the current block.