Color block reconstruction devices, color block encoding devices, and devices that provide a binary sequence containing encoded video data to video decoders.
Patent Information
- Application Number
- VN1202604578
- Authority / Receiving Office
- VN · VN
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2020-05-15
- Filing Date
- 2020-05-15
- Publication Date
- 2026-07-15
AI Technical Summary
Current video compression technologies, such as H.264/AVC and HEVC, face challenges in efficiently encoding and decoding video data due to increasing image size, resolution, and frame rate, leading to higher data requirements that strain hardware resources, and they often result in color distortion during chrominance component prediction.
The method involves encoding and decoding chrominance components by deriving one from the other, using correlation information to predict and restore residual samples, thereby improving compression performance by signaling only one residual sample and deriving the other, and applying prediction information to generate prediction samples for efficient chrominance block restoration.
This approach enhances encoding and decoding efficiency by reducing the amount of data needed for chrominance components, improving picture quality and compression performance without signaling both residual samples, thus addressing the limitations of existing technologies.
Smart Images

Figure VN1202604578_0
Abstract
Description
Method for restoring a color difference block and an image decoding device
[0001] The present invention relates to encoding and decoding of images, and more particularly, to a method for restoring a chrominance block by efficiently predicting residual samples of chrominance components to improve the efficiency of encoding and decoding, and to an image decoding device.
[0002] Since video data has a large amount of data compared to audio data or still image data, it requires a lot of hardware resources, including memory, to store or transmit it without compression processing.
[0003] Therefore, when storing or transmitting video data, an encoder is used to compress the video data and store or transmit it, and a decoder receives the compressed video data, decompresses it, and plays it. Examples of such video compression technologies include H.264 / AVC, as well as HEVC (High Efficiency Video Coding), which improves encoding efficiency by about 40% compared to H.264 / AVC.
[0004] However, as the size, resolution, and frame rate of images are gradually increasing, and the amount of data that needs to be encoded is also increasing, a new compression technology that has better encoding efficiency and better image quality improvement than existing compression technologies is required.
[0005] To meet these needs, the present invention aims to provide improved image encoding and decoding techniques, and in particular, one aspect of the present invention relates to techniques for improving the efficiency of encoding and decoding by deriving one of the Cb chrominance component and the Cr chrominance component from the other.
[0006] One aspect of the present invention provides a method for restoring a chrominance block of a target block to be restored, the method comprising: decoding correlation information between first residual samples, which are residual samples of a first chrominance component, and second residual samples, which are residual samples of a second chrominance component, the first residual sample, and prediction information of the chrominance block from a bitstream; generating prediction samples of the first chrominance component and prediction samples of the second chrominance component based on the prediction information; deriving the second residual sample by applying the correlation information to the first residual sample; and restoring the chrominance block of the first chrominance component by adding the prediction samples of the first chrominance component and the first residual sample, and restoring the chrominance block of the second chrominance component by adding the prediction samples of the second chrominance component and the second residual sample.
[0007] Another aspect of the present invention provides an image decoding device for restoring a chrominance block of a target block to be restored, the image decoding device comprising: a decoding unit for decoding correlation information between first residual samples, which are residual samples of a first chrominance component, and second residual samples, which are residual samples of a second chrominance component, the first residual sample, and prediction information of the chrominance block from a bitstream; a prediction unit for generating prediction samples of the first chrominance component and prediction samples of the second chrominance component based on the prediction information; a chrominance component restoration unit for applying the correlation information to the first residual sample to derive the second residual sample; and an adder for restoring a chrominance block of the first chrominance component by adding the prediction samples of the first chrominance component and the first residual sample, and restoring a chrominance block of the second chrominance component by adding the prediction samples of the second chrominance component and the second residual sample.
[0008] As described above, according to one embodiment of the present invention, since one of the Cb chrominance component and the Cr chrominance component is derived without being signaled, compression performance of encoding and decoding can be improved.
[0009] FIG. 1 is an exemplary block diagram of an image encoding device capable of implementing the techniques of the present disclosure.
[0010] Figure 2 is a drawing for explaining a method of dividing a block using the QTBTTT structure.
[0011] Figure 3a is a diagram illustrating multiple intra prediction modes.
[0012] FIG. 3b is a diagram illustrating multiple intra prediction modes, including wide-angle intra prediction modes.
[0013] FIG. 4 is an exemplary block diagram of an image decoding device capable of implementing the techniques of the present disclosure.
[0014] Fig. 5 is an exemplary block diagram of an image encoding device that can implement an example of a residual block restoration method.
[0015] FIG. 6 is a flowchart illustrating an example of a residual block restoration method implemented in the image encoding device represented in FIG. 5.
[0016] Fig. 7 is an exemplary block diagram of an image decoding device that can implement an example of a residual block restoration method.
[0017] FIG. 8 is a flowchart illustrating an example of a residual block restoration method implemented in the image decoding device represented in FIG. 7.
[0018] Fig. 9 is an exemplary block diagram of an image encoding device that can implement another example of a residual block restoration method.
[0019] FIG. 10 is a flowchart illustrating an example of a residual block restoration method implemented in the image encoding device represented in FIG. 9.
[0020] Fig. 11 is an exemplary block diagram of an image decoding device that can implement another example of a residual block restoration method.
[0021] Fig. 12 is a flowchart illustrating an example of a residual block restoration method implemented in the image decoding device represented in Fig. 11.
[0022] Figures 13 and 14 are flowcharts illustrating further examples of residual block restoration methods.
[0023] Figure 15 is a flowchart illustrating an example of the performance conditions of a residual block restoration method.
[0024] Hereinafter, some embodiments of the present invention will be described in detail with reference to exemplary drawings. When assigning identification numbers to components in each drawing, it should be noted that, where possible, identical components are assigned the same numbers, even if they appear in different drawings. Furthermore, when describing the present invention, detailed descriptions of known related components or functions will be omitted if they are deemed to obscure the gist of the present invention.
[0025]
[0026] FIG. 1 is an exemplary block diagram of an image encoding device capable of implementing the techniques of the present disclosure. Hereinafter, the image encoding device and its subcomponents will be described with reference to FIG. 1.
[0027] The video encoding device may be configured to include a picture segmentation unit (110), a prediction unit (120), a subtractor (130), a transformation unit (140), a quantization unit (145), a reordering unit (150), an entropy encoding unit (155), an inverse quantization unit (160), an inverse transformation unit (165), an adder (170), a filter unit (180), and a memory (190).
[0028] Each component of the video encoding device may be implemented in hardware, software, or a combination of hardware and software. Furthermore, the functions of each component may be implemented in software, with a microprocessor executing the software functions corresponding to each component.
[0029] A single image (video) is composed of multiple pictures. Each picture is divided into multiple regions, and encoding is performed for each region. For example, a single picture is divided into one or more tiles and / or slices. Here, one or more tiles can be defined as a tile group. Each tile or slice is divided into one or more Coding Tree Units (CTUs). Each CTU is then divided into one or more Coding Units (CUs) by a tree structure. Information applied to each CU is encoded as the syntax of the CU, and information commonly applied to CUs included in a CTU is encoded as the syntax of the CTU. In addition, information commonly applied to all blocks within a single slice is encoded as the syntax of the slice header, and information applied to all blocks constituting a single picture is encoded in the Picture Parameter Set (PPS) or the picture header. Furthermore, information commonly referenced by multiple pictures is encoded in a Sequence Parameter Set (SPS). Furthermore, information commonly referenced by one or more SPSs is encoded in a Video Parameter Set (VPS). Furthermore, information commonly applied to a tile or a group of tiles may also be encoded as the syntax of a tile or group header.
[0030] The picture segmentation unit (110) determines the size of the CTU (Coding Tree Unit). Information about the size of the CTU (CTU size) is encoded as the syntax of SPS or PPS and transmitted to the image decoding device.
[0031] The picture segmentation unit (110) divides each picture constituting an image into a plurality of Coding Tree Units (CTUs) having a predetermined size, and then recursively divides the CTUs using a tree structure. A leaf node in the tree structure becomes a coding unit (CU), which is the basic unit of encoding.
[0032] The tree structure may be a QuadTree (QT) in which an upper node (or parent node) is divided into four lower nodes (or child nodes) of the same size, a BinaryTree (BT) in which an upper node is divided into two lower nodes, or a TernaryTree (TT) in which an upper node is divided into three lower nodes in a 1:2:1 ratio, or a structure that mixes two or more of the QT structures, BT structures, and TT structures. For example, a QTBT (QuadTree plus BinaryTree) structure may be used, or a QTBTTT (QuadTree plus BinaryTree TernaryTree) structure may be used. Here, BTTT can be combined and referred to as a MTT (Multiple-Type Tree).
[0033] Figure 2 shows the QTBTTT split tree structure. As shown in Figure 2, a CTU can first be split into a QT structure. The quadtree splitting can be repeated until the size of the splitting block reaches the minimum block size (MinQTSize) of the leaf node allowed in QT. The first flag (QT_split_flag), which indicates whether each node of the QT structure is split into four nodes of the lower layer, is encoded by the entropy encoding unit (155) and signaled to the image decoding device.
[0034] If a leaf node of QT is not larger than the maximum block size (MaxBTSize) of the root node allowed in BT, it can be further split into one or more of the BT structure or the TT structure. There can be multiple split directions in the BT structure and / or the TT structure. For example, there can be two directions in which the blocks of the corresponding node are split horizontally and vertically. As shown in Fig. 2, when MTT splitting starts, a second flag (mtt_split_flag) indicating whether the nodes have been split, and if splitting has been performed, a flag indicating an additional splitting direction (vertical or horizontal) and / or a flag indicating a splitting type (Binary or Ternary) are encoded by the entropy encoding unit (155) and signaled to the image decoding device. Alternatively, before encoding the first flag (QT_split_flag) indicating whether each node is split into four nodes of a lower layer, a CU split flag (split_cu_flag) indicating whether the node is split may be encoded. If the CU split flag (split_cu_flag) value indicates that the node is not split, the block of the corresponding node becomes a leaf node in the split tree structure and becomes a CU (coding unit), which is a basic unit of encoding. If the CU split flag (split_cu_flag) value indicates that the node is split, the video encoding device starts encoding from the first flag in the above-described manner.
[0035] As another example of a tree structure, when QTBT is used, there may be two types: a type that horizontally splits the block of the corresponding node into two blocks of the same size (i.e., symmetric horizontal splitting) and a type that vertically splits it (i.e., symmetric vertical splitting). A split flag (split_flag) indicating whether each node of the BT structure is split into blocks of a lower layer and split type information indicating the type of split are encoded by the entropy encoding unit (155) and transmitted to the image decoding device. Meanwhile, there may additionally be a type that splits the block of the corresponding node into two blocks of an asymmetrical shape. The asymmetric shape may include a shape that splits the block of the corresponding node into two rectangular blocks with a size ratio of 1:3, or a shape that splits the block of the corresponding node in a diagonal direction.
[0036] A CU can have various sizes depending on the QTBT or QTBTTT partitioning from the CTU. Hereinafter, the block corresponding to the CU to be encoded or decoded (i.e., the leaf node of the QTBTTT) is referred to as the "current block." Depending on the QTBTTT partitioning employed, the current block may be rectangular as well as square.
[0037] The prediction unit (120) predicts the current block and generates a prediction block. The prediction unit (120) includes an intra prediction unit (122) and an inter prediction unit (124).
[0038] In general, each current block within a picture can be predictively coded. Prediction of the current block can typically be performed using either intra-prediction (using data from the picture containing the current block) or inter-prediction (using data from a picture coded before the picture containing the current block). Inter-prediction encompasses both unidirectional and bidirectional prediction.
[0039] The intra prediction unit (122) predicts pixels within the current block using pixels (reference pixels) located around the current block within the current picture including the current block. There are multiple intra prediction modes depending on the prediction direction. For example, as shown in Fig. 3a, the multiple intra prediction modes may include two non-directional modes including a planar mode and a DC mode, and 65 directional modes. The surrounding pixels to be used and the calculation formula are defined differently depending on each prediction mode.
[0040] For efficient directional prediction for a rectangular current block, directional modes (intra prediction modes 67 to 80 and -1 to -14) indicated by dotted arrows in Fig. 3b may be additionally used. These may be referred to as "wide-angle intra-prediction modes." In Fig. 3b, the arrows point to corresponding reference samples used for prediction, and do not indicate the prediction direction. The prediction direction is opposite to the direction indicated by the arrows. Wide-angle intra-prediction modes are modes that perform prediction in the opposite direction of a specific directional mode without additional bit transmission when the current block is rectangular. At this time, among the wide-angle intra-prediction modes, some wide-angle intra-prediction modes available for the current block may be determined based on the ratio of the width and height of the rectangular current block. For example, wide-angle intra prediction modes (intra prediction modes 67 to 80) having an angle less than 45 degrees are available when the current block is a rectangular shape whose height is smaller than its width, and wide-angle intra prediction modes (intra prediction modes -1 to -14) having an angle greater than -135 degrees are available when the current block is a rectangular shape whose height is larger than its width.
[0041] The intra prediction unit (122) can determine an intra prediction mode to be used to encode the current block. In some examples, the intra prediction unit (122) can encode the current block using multiple intra prediction modes and select an appropriate intra prediction mode to be used from the tested modes. For example, the intra prediction unit (122) can calculate rate-distortion values using rate-distortion analysis for multiple tested intra prediction modes and select an intra prediction mode with the best rate-distortion characteristics among the tested modes.
[0042] The intra prediction unit (122) selects one intra prediction mode from among multiple intra prediction modes and predicts the current block using surrounding pixels (reference pixels) and an operation formula determined according to the selected intra prediction mode. Information about the selected intra prediction mode is encoded by the entropy encoding unit (155) and transmitted to the image decoding device.
[0043] The inter prediction unit (124) generates a prediction block for the current block through a motion compensation process. The inter prediction unit (124) searches for a block most similar to the current block within reference pictures that were encoded and decoded before the current picture, and uses the searched block to generate a prediction block for the current block. Then, a motion vector corresponding to the displacement between the current block within the current picture and the prediction block within the reference picture is generated. Generally, motion estimation is performed on the luma component, and a motion vector calculated based on the luma component is used for both the luma component and the chroma component. Motion information including information on the reference picture used to predict the current block and information on the motion vector is encoded by the entropy encoding unit (155) and transmitted to the image decoding device.
[0044] The subtractor (130) subtracts the prediction block generated by the intra prediction unit (122) or inter prediction unit (124) from the current block to generate a residual block.
[0045] The transformation unit (140) divides the residual block into one or more transformation blocks, applies a transformation to the one or more transformation blocks, and transforms the residual values of the transformation blocks from the pixel domain to the frequency domain. In the frequency domain, the transformed blocks are referred to as coefficient blocks including one or more transformation coefficient values. A two-dimensional transformation kernel may be used for the transformation, and a one-dimensional transformation kernel may be used for each of the horizontal transformation and the vertical transformation. The transformation kernel may be based on a discrete cosine transform (DCT), a discrete sine transform (DST), etc.
[0046] The transformation unit (140) can transform residual signals within the residual block using the entire size of the residual block as a transformation unit. In addition, the transformation unit (140) can divide the residual block into two sub-blocks in the horizontal or vertical direction and perform transformation on only one of the two sub-blocks. Therefore, the size of the transformation block may be different from the size of the residual block (and therefore the size of the prediction block). In the sub-blocks on which transformation is not performed, non-zero residual sample values may not exist or may be very rare. The residual samples of the sub-blocks on which transformation is not performed are not signaled and may be regarded as all "0" by the image decoding device. Depending on the division direction and division ratio, several partition types may exist. The transformation unit (140) can provide information about the coding mode (or transformation mode) of the residual block to the entropy encoding unit (155) (e.g., information indicating whether the residual block or the residual sub-block was transformed, information indicating the partition type selected to divide the residual block into sub-blocks, information identifying the sub-block on which the transformation is performed, etc.). The entropy encoding unit (155) can encode information about the coding mode (or transformation mode) of the residual block.
[0047] The quantization unit (145) quantizes the transform coefficients output from the transform unit (140) and outputs the quantized transform coefficients to the entropy encoding unit (155). The quantization unit (145) can also directly quantize the associated residual block for a certain block or frame without transformation.
[0048] The reordering unit (150) can reorder coefficient values for quantized residual values. The reordering unit (150) can change a two-dimensional coefficient array into a one-dimensional coefficient sequence through coefficient scanning. For example, the reordering unit (150) can output a one-dimensional coefficient sequence by scanning from the DC coefficient to the coefficients of the high-frequency region using a zig-zag scan or a diagonal scan. Depending on the size of the transformation unit and the intra prediction mode, a vertical scan that scans a two-dimensional coefficient array in the column direction or a horizontal scan that scans two-dimensional block-shaped coefficients in the row direction may be used instead of the zig-zag scan. That is, depending on the size of the transformation unit and the intra prediction mode, a scanning method to be used among the zig-zag scan, the diagonal scan, the vertical scan, and the horizontal scan may be determined.
[0049] The entropy encoding unit (155) generates a bitstream by encoding a sequence of one-dimensional quantized transform coefficients output from the rearrangement unit (150) using various encoding methods such as CABAC (Context-based Adaptive Binary Arithmetic Code) and Exponential Golomb.
[0050] In addition, the entropy encoding unit (155) encodes information related to block division, such as CTU size, CU division flag, QT division flag, MTT division type, and MTT division direction, so that the image decoding device can divide the block in the same manner as the image encoding device. In addition, the entropy encoding unit (155) encodes information about a prediction type indicating whether the current block is encoded by intra prediction or inter prediction, and encodes intra prediction information (i.e., information about an intra prediction mode) or inter prediction information (information about a reference picture and a motion vector) according to the prediction type.
[0051] The inverse quantization unit (160) inversely quantizes the quantized transform coefficients output from the quantization unit (145) to generate transform coefficients. The inverse transform unit (165) transforms the transform coefficients output from the inverse quantization unit (160) from the frequency domain to the spatial domain to restore the residual block.
[0052] The addition unit (170) adds the restored residual block and the prediction block generated by the prediction unit (120) to restore the current block. The pixels within the restored current block are used as reference pixels when intra-predicting the next block.
[0053] The filter unit (180) performs filtering on restored pixels to reduce blocking artifacts, ringing artifacts, blurring artifacts, etc. that occur due to block-based prediction and transformation / quantization. The filter unit (180) may include a deblocking filter (182) and a SAO (Sample Adaptive Offset) filter (184).
[0054] The deblocking filter (180) filters the boundaries between restored blocks to remove blocking artifacts caused by block-by-block encoding / decoding, and the SAO filter (184) performs additional filtering on the deblocking filtered image. The SAO filter (184) is a filter used to compensate for differences between restored pixels and original pixels caused by lossy coding.
[0055] The restored blocks filtered through the deblocking filter (182) and the SAO filter (184) are stored in the memory (190). When all blocks within a picture are restored, the restored picture can be used as a reference picture for inter-predicting blocks within a picture to be encoded later.
[0056]
[0057] FIG. 4 is an exemplary block diagram of an image decoding device capable of implementing the techniques of the present disclosure. Hereinafter, the image decoding device and its subcomponents will be described with reference to FIG. 4.
[0058] The video decoding device may be configured to include an entropy decoding unit (410), a rearrangement unit (415), an inverse quantization unit (420), an inverse transformation unit (430), a prediction unit (440), an adder (450), a filter unit (460), and a memory (470).
[0059] Similar to the video encoding device of FIG. 1, each component of the video decoding device may be implemented in hardware, software, or a combination of hardware and software. Furthermore, the functions of each component may be implemented in software, with a microprocessor executing the software functions corresponding to each component.
[0060] The entropy decoding unit (410) decodes the bitstream generated by the image encoding device to extract information related to block division, thereby determining the current block to be decoded, and extracts prediction information and information on residual signals required to restore the current block.
[0061] The entropy decoding unit (410) extracts information about the CTU size from the SPS (Sequence Parameter Set) or PPS (Picture Parameter Set) to determine the size of the CTU and divides the picture into CTUs of the determined size. Then, the CTU is determined as the top layer of the tree structure, i.e., the root node, and the CTU is divided using the tree structure by extracting division information about the CTU.
[0062] For example, when splitting a CTU using the QTBTTT structure, first, the first flag (QT_split_flag) related to the splitting of QT is extracted, and each node is split into four nodes of the lower layer. Then, for the nodes corresponding to the leaf nodes of QT, the second flag (MTT_split_flag) related to the splitting of MTT and the split direction (vertical / horizontal) and / or split type (binary / ternary) information are extracted, and the corresponding leaf nodes are split into the MTT structure. Through this, each node below the leaf nodes of QT is recursively split into the BT or TT structure.
[0063] As another example, when splitting a CTU using the QTBTTT structure, the CU split flag (split_cu_flag) indicating whether the CU is split is first extracted, and if the block is split, the first flag (QT_split_flag) may be extracted. During the splitting process, each node may undergo zero or more repeated QT splits followed by zero or more repeated MTT splits. For example, a CTU may undergo an MTT split right away, or conversely, may undergo only multiple QT splits.
[0064] As another example, when splitting a CTU using the QTBT structure, the first flag (QT_split_flag) related to the splitting of QT is extracted, and each node is split into four nodes of the lower layer. Furthermore, for nodes corresponding to leaf nodes of QT, a split flag (split_flag) indicating whether to further split into BTs and splitting direction information are extracted.
[0065] Meanwhile, when the entropy decoding unit (410) determines the current block to be decoded through division of the tree structure, it extracts information on the prediction type indicating whether the current block is intra-predicted or inter-predicted. If the prediction type information indicates intra-prediction, the entropy decoding unit (410) extracts a syntax element for intra-prediction information (intra-prediction mode) of the current block. If the prediction type information indicates inter-prediction, the entropy decoding unit (410) extracts a syntax element for inter-prediction information, i.e., information indicating a motion vector and a reference picture referenced by the motion vector.
[0066] Meanwhile, the entropy decoding unit (410) extracts information about the coding mode of the residual block from the bitstream (e.g., information about whether the residual block is encoded or only subblocks of the residual block are encoded, information indicating a partition type selected to divide the residual block into subblocks, information identifying the encoded residual subblock, quantization parameters, etc.). In addition, the entropy decoding unit (410) extracts information about the quantized transform coefficients of the current block as information about the residual signal.
[0067] The reordering unit (415) can change the sequence of one-dimensional quantized transform coefficients entropy-decoded in the entropy decoding unit (410) back into a two-dimensional coefficient array (i.e., block) in the reverse order of the coefficient scanning performed by the image encoding device.
[0068] The inverse quantization unit (420) inversely quantizes the quantized transform coefficients, and the inverse transform unit (430) inversely transforms the inverse quantized transform coefficients from the frequency domain to the spatial domain based on information about the coding mode of the residual block to restore residual signals, thereby generating a restored residual block for the current block.
[0069] The inverse transform unit (430) performs inverse transform using the size of the current block (and therefore, the size of the residual block to be restored) as a transformation unit for inverse quantized transform coefficients when information about the coding mode of the residual block indicates that the residual block of the current block has been encoded in the image encoding device, thereby generating a restored residual block for the current block.
[0070] In addition, the inverse transform unit (430) performs inverse transform on inverse quantized transform coefficients using the size of the transformed subblock as a transform unit when information about the coding mode of the residual block indicates that only one subblock of the residual block has been encoded in the image encoding device, thereby restoring residual signals for the transformed subblock, and filling residual signals for the non-transformed subblock with a “0” value, thereby generating a restored residual block for the current block.
[0071] The prediction unit (440) may include an intra prediction unit (442) and an inter prediction unit (444). The intra prediction unit (442) is activated when the prediction type of the current block is intra prediction, and the inter prediction unit (444) is activated when the prediction type of the current block is inter prediction.
[0072] The intra prediction unit (442) determines the intra prediction mode of the current block among a plurality of intra prediction modes from the syntax element for the intra prediction mode extracted from the entropy decoding unit (410), and predicts the current block using reference pixels around the current block according to the intra prediction mode.
[0073] The inter prediction unit (444) uses the syntax element for the intra prediction mode extracted from the entropy decoding unit (410) to determine the motion vector of the current block and the reference picture referenced by the motion vector, and predicts the current block using the motion vector and the reference picture.
[0074] An adder (450) adds the residual block output from the inverse transform unit (430) and the predicted block output from the inter prediction unit (444) or intra prediction unit (442) to restore the current block. The pixels within the restored current block are used as reference pixels when intra-predicting a block to be decoded later.
[0075] The filter unit (460) may include a deblocking filter (462) and an SAO filter (464). The deblocking filter (462) deblocks the boundaries between reconstructed blocks to remove blocking artifacts caused by block-by-block decoding. The SAO filter (464) performs additional filtering on the reconstructed blocks after deblocking filtering to compensate for differences between reconstructed pixels and original pixels caused by lossy coding. The reconstructed blocks filtered through the deblocking filter (462) and the SAO filter (464) are stored in the memory (470). When all blocks in a picture are reconstructed, the reconstructed picture is used as a reference picture for inter-predicting blocks in a picture to be encoded later.
[0076]
[0077] In conventional video encoding / decoding methods, to reduce the complexity of predicting chroma components, predictions for chroma components are performed using the same method as for luminance components (luma components), or predictions for chroma components are performed by simplifying the prediction process for luminance components. However, these conventional methods have the problem of causing color distortion.
[0078] In this specification, encoding and decoding methods are proposed that effectively perform prediction of chroma components within a chroma block (chroma block) of a target block to be restored (current block).
[0079] The methods proposed in this specification are methods of coding and signaling only information about one of the residual samples (residual signal or differential signal) of the Cb chroma component (or the Cb chroma component) and the residual samples of the Cr chroma component (the Cr chroma component), and deriving information about the other without coding and signaling.
[0080] In this specification, residual samples of a chrominance component (second chrominance component) to be derivation may be referred to as second residual samples, and residual samples of a chrominance component (first chrominance component) to be coded and signaled for derivation of the second residual samples may be referred to as first residual samples.
[0081] The first chrominance component may correspond to either the Cb chrominance component or the Cr chrominance component, and the second chrominance component may correspond to the other of the Cb chrominance component and the Cr chrominance component. For example, when residual samples of the Cb chrominance component are coded and signaled and residual samples of the Cr chrominance component are derived, the residual samples of the Cb chrominance component may be referred to as first residual samples and the residual samples of the Cr chrominance component may be referred to as second residual samples. As another example, when residual samples of the Cr chrominance component are coded and signaled and residual samples of the Cb chrominance component are derived, the residual samples of the Cr chrominance component may be referred to as first residual samples and the residual samples of the Cb chrominance component may be referred to as second residual samples.
[0082] The method for deriving the second residual sample can be divided into 1) an embodiment that utilizes correlation information between the first residual sample and the second residual sample, and 2) an embodiment that determines whether to activate or apply (on / off) the method for deriving the second residual sample. In addition, the embodiment that utilizes correlation information can be divided into different embodiments depending on whether or not to utilize the difference value between color differences. In the following, the terms used in this specification will first be defined, and then each embodiment will be described in detail.
[0083] Correlation information
[0084] Correlation information refers to information for deriving a second residual sample from a first residual sample, and can be adaptively determined based on the range of luminance component values of the current block to be encoded. Correlation information may include multiplication information, or may include multiplication information and offset information.
[0085] Correlation information can be defined at various locations in the bitstream and signaled to a video decoding device, and can be decoded from the corresponding locations in the bitstream. For example, the correlation information can be defined and signaled at one or more locations among high level syntax (HLS, high level syntax), such as SPS, PPS, picture level, etc. As another example, the correlation information can also be signaled at lower levels, such as tile group level, tile level, CTU level, unit block level (CU, TU, PU), etc. As another example, a difference value (differential correlation information) with the correlation information signaled via HLS can be signaled at lower levels.
[0086] Depending on the embodiment, instead of directly signaling correlation information, information that can derive or infer correlation information from an image decoding device may be signaled. For example, table information containing fixed values for correlation information may be signaled, and an index value indicating correlation information used for deriving a second residual sample among the fixed values in the table information may be signaled. As another example, table information may not be signaled, but table information predetermined between an image encoding device and an image decoding device may be used. The index value may be defined and signaled at one or more of a tile group level, a tile level, and a unit block level.
[0087] Since correlation information is information used in the derivation of the second residual sample, it can be signaled when the derivation of the second residual sample is turned on. Accordingly, the correlation information can be decoded from the bitstream when the first syntax element described below indicates that the derivation of the second residual sample is allowed, or can be decoded from the bitstream when the second syntax element indicates that the derivation of the second residual sample is applied.
[0088] Multiplication information
[0089] The multiplication information corresponds to information for indicating a multiplication factor between the first residual sample and the second residual sample. When the multiplication factor is applied to the first residual sample (the value of the first residual sample), a value that matches the second residual sample (the value of the second residual sample) or a value within the range corresponding to the second residual sample can be derived. The multiplication factor can indicate a scaling relationship, a weight relationship, a sign relationship, etc. between the first residual sample and the second residual sample. Therefore, the multiplication factor can be an integer such as -1 or 1, or a fraction such as 1 / 2 or -1 / 2.
[0090] When the multiplication information is implemented in the form of a flag (0 or 1) and the multiplication factor represents the sign relationship between the first residual sample and the second residual sample, the multiplication information can represent the multiplication factor through a method such as mathematical expression 1.
[0091]
[0092] Multiplication information = 0 indicates that the first and second residual samples have the same sign relationship, and a multiplication factor of 1 can be applied to the first residual sample. Multiplication information = 1 indicates that the first and second residual samples have different sign relationships, and a multiplication factor of -1 can be applied to the first residual sample.
[0093] Offset information
[0094] The offset information corresponds to information for indicating the offset factor between the first residual sample (to which a multiplication factor is applied) and the second residual sample. When the offset factor is applied to the first residual sample to which the multiplication factor is applied, a value that matches the second residual sample or a value within the corresponding range of the second residual sample can be derived. The offset factor can also be an integer such as -1, 0, or 1, or a fraction such as 1 / 2 or -1 / 2.
[0095] Regarding the case where the offset factor = 0, if the correlation information contains only multiplication information, the offset information is not signaled, and if the correlation information contains multiplication information and offset information, the offset information can indicate that the offset factor = 0.
[0096] Color difference value
[0097] The chrominance difference value corresponds to the difference value between the first residual sample and the second residual sample (the difference value between the first residual sample and the second residual sample). Specifically, the chrominance difference value corresponds to a value derived by differentiating the first residual sample and the second residual sample to which correlation information is applied. For example, when the correlation information includes only multiplication information, the chrominance difference value can be derived by differentiating the first residual sample and the second residual sample to which a multiplication factor is applied. As another example, when the correlation information includes multiplication information and offset information, the chrominance difference value can be derived by differentiating the 'first residual sample to which a multiplication factor and an offset factor are applied' and the second residual sample.
[0098]
[0099] Example 1
[0100] Embodiment 1 is a method that utilizes both correlation information and chrominance difference values. Embodiment 1 can be divided into the following sub-embodiments depending on which stage of the encoding steps the process of deriving chrominance difference values and correlation information is performed, and which stage of the decoding steps the process of deriving the second residual sample is performed.
[0101] Example 1-1
[0102] In Example 1-1, the process of deriving the color difference value and correlation information is performed before the step of transforming the residual samples, and the process of deriving the second residual sample is performed after the step of inversely transforming the residual samples.
[0103] An exemplary block diagram and flowchart of an image encoding device for performing Example 1-1 are shown in FIGS. 5 and 6, respectively, and an exemplary block diagram and flowchart of an image decoding device for performing Example 1-1 are shown in FIGS. 7 and 8, respectively.
[0104] The subtractor (130) can obtain a first residual sample and a second residual sample (S610). Specifically, the first residual sample can be obtained by subtracting the prediction block (prediction samples) of the first chrominance component and the chrominance block of the first chrominance component, and the second residual sample can be obtained by subtracting the prediction block of the second chrominance component and the chrominance block of the second chrominance component. The prediction block of the chrominance components can be derived through the prediction of the prediction unit (120), and in this process, information used for the prediction (prediction information) can be derived. The process of generating the prediction samples and the process of deriving the prediction information can be equally applied to other embodiments of the present specification.
[0105] The color difference component prediction unit (510) can determine whether to derive a second residual sample from a first residual sample (S620).
[0106] The chrominance component prediction unit (510) can determine one of the following methods for the chrominance block: a method of coding both the first residual sample and the second residual sample (a general method) and a method of deriving the second residual sample. For example, the chrominance component prediction unit (510) can calculate rate-distortion values through rate-distortion analysis for the general method and the method of deriving the second residual sample, and select or determine the method with the best rate-distortion characteristics as the method for the chrominance block. The method of determining whether to derivate the second residual sample can be equally applied to other embodiments of the present specification.
[0107] The chroma component prediction unit (510) can correct the first residual sample when the method for deriving the second residual sample is determined as a method for the chroma block (S630). Correction of the first residual sample can be performed by applying correlation information to the first residual sample.
[0108] The chrominance component prediction unit (510) can derive a chrominance difference value using the corrected first residual sample and the second residual sample (S640). The chrominance difference value can be derived by differentiating or subtracting the corrected first residual sample and the second residual sample.
[0109] The S630 process and the S640 process can be performed using the mathematical formula 2 below.
[0110]
[0111] In Equation 2, Cro_resi1 represents the first residual sample, Cro_resi2 represents the second residual sample, Cro_r represents the chrominance difference value, W represents a multiplication factor, and Offset represents an offset factor. Looking at Equation 1 again centered on the second residual sample, Cro_resi2 can be the first signal of the second residual sample (the first difference signal of the second chrominance component), and Cro_r can be the second signal of the second residual sample (the second difference signal of the second chrominance component).
[0112] The conversion unit (140) can convert the chrominance difference value and the first residual sample, and the quantization unit (145) can quantize the converted chrominance difference value and the converted first residual sample (S650). Here, the chrominance difference value can be quantized through a 'quantization parameter changed using QP_C_offset' in the quantization parameter of the luminance component or the first residual sample. QP_C_offset can be determined through various methods. For example, QP_C_offset can be adaptively determined according to one or more of the range of the luminance component value (range of the brightness value), the size of the chrominance block, and the range of the quantization parameter of the luminance component. As another example, QP_C_offset can be determined as a value preset in the image encoding device and the image decoding device. As another example, a video encoding device may perform a quantization process by determining QP_C_offset as an arbitrary value, and signal the value of QP_C_offset used in the quantization process to a video decoding device. A quantization method using QP_C_offset may also be applied to other embodiments of the present specification.
[0113] The difference value between the transformed and quantized chrominance and the first residual sample, correlation information, and prediction information can be encoded and signaled to the image decoding device (S660). Here, the second residual sample is not signaled.
[0114] The entropy decoding unit (410) can decode the chrominance difference value, the first residual sample, correlation information, and prediction information from the bitstream (S810). The inverse quantization unit (420) can inversely quantize the chrominance difference value and the first residual sample, and the inverse transformation unit (430) can inversely transform the inverse quantized chrominance difference value and the inverse quantized first residual sample (S820).
[0115] The prediction unit (440) can generate or restore prediction samples (prediction blocks) of the first color difference component and prediction samples of the second color difference component based on the prediction information (S820).
[0116] The color difference component restoration unit (710) can determine whether to derive a second residual sample from a first residual sample (whether to activate (allow) and / or apply a second residual sample derivation method) (S830). Specific details regarding the S830 process will be described later in a separate embodiment.
[0117] If it is determined that the chroma component restoration unit (710) derives a second residual sample, the (inversely transformed) first residual sample can be corrected using correlation information (S840). In addition, the chroma component restoration unit (710) can derive a second residual sample using the difference value between the corrected first residual sample and the inversely transformed chroma (S850). The difference values between the corrected first residual sample and the inversely transformed chroma can be summed or added to derive the second residual sample.
[0118] The S840 process and the S850 process can be performed using the mathematical formula 3 below.
[0119]
[0120] The adder (450) can restore the chrominance block of the first chrominance component by adding the prediction block of the first chrominance component and the first residual sample, and can restore the chrominance block of the second chrominance component by adding the prediction block of the second chrominance component and the derived second residual sample (S860).
[0121] Example 1-2
[0122] In Example 1-2, the process of deriving the color difference value and correlation information is performed after the step of quantizing the residual samples, and the process of deriving the second residual sample is performed before the step of dequantizing the residual samples.
[0123] An exemplary block diagram and flowchart of an image encoding device for performing Example 1-2 are shown in FIGS. 9 and 10, respectively, and an exemplary block diagram and flowchart of an image decoding device for performing Example 1-2 are shown in FIGS. 11 and 12, respectively.
[0124] The subtractor (130) can obtain the first residual sample and the second residual sample (S1010). The prediction block and the chrominance block of each chrominance component can be subtracted to obtain the residual samples of each chrominance component, and the prediction block and prediction information of each chrominance component can be derived through the prediction process of the prediction unit (120).
[0125] The transformation unit (140) transforms the first residual sample and the second residual sample, and the quantization unit (145) can quantize the transformed first residual sample and the transformed second residual sample (S1020). Here, the second residual sample can be quantized as a value obtained by adding a quantization offset for quantizing the second residual sample to the quantization parameter of the first residual sample. The quantization offset can be determined through various methods. For example, the quantization offset can be adaptively determined according to one or more of a range of a luminance component value (a range of brightness values), a range of values of the first residual sample, and a bit depth of the second residual sample. As another example, the quantization offset can be determined as a value preset in an image encoding device and an image decoding device. The video decoding device can determine a quantization parameter using the delta-QP signaled from the video encoding device, derive a quantization parameter of a second residual sample by adding a quantization offset to the quantization parameter, and then perform inverse quantization of the second residual sample using the derived quantization parameter. The quantization / inverse quantization method using a quantization offset can also be applied to other embodiments of the present specification.
[0126] According to an embodiment, quantization coefficients of “0” may be derived through the quantization process of the second residual sample (i.e., no differential signal may exist during the quantization process). In this case, information or syntax elements indicating that quantization coefficients of “0” are derived may be signaled from the video encoding device to the video decoding device.
[0127] Meanwhile, at least one of the quantization parameter value (first value) of the first residual sample (without the quantization offset added), the value obtained by adding the quantization offset to the quantization parameter of the first residual sample (second value), and the average value of the first value and the second value may be used in the in-loop filtering process of the second residual sample. For example, at least one of the first value, the second value, and the average value may be used as a parameter for determining the in-loop filtering strength of the second residual sample, or may be used as a parameter for determining an index in a table for determining the boundary strength. A method in which at least one of the first value, the second value, and the average value is used in the in-loop filtering process may be applied to other embodiments of the present specification.
[0128] The chroma component prediction unit (510) can determine whether to derive a second residual sample from the first residual sample (S1030). If it is determined that the chroma component prediction unit (510) derives the second residual sample, the quantized first residual sample can be corrected (S1040). The correction of the first residual sample can be performed by applying correlation information to the quantized first residual sample.
[0129] The chrominance component prediction unit (510) can derive a chrominance difference value using the corrected first residual sample and the quantized second residual sample (S1050). The chrominance difference value can be derived by differentiating or subtracting the corrected first residual sample and the quantized second residual sample.
[0130] The S1040 process and the S1050 process can be performed using the mathematical formula 4 below.
[0131]
[0132] In mathematical expression 4, Q(T(Cro_resi1)) represents the transformed and quantized first residual sample, Q(T(Cro_resi2)) represents the transformed and quantized second residual sample, and Q(T(Cro_r)) represents the difference value between the chrominances derived from the 'transformed and quantized first residual sample' and the 'transformed and quantized second residual sample'.
[0133] The chrominance difference value, the first residual sample, correlation information, and prediction information can be encoded and signaled to an image decoding device (S1060). Here, the second residual sample is not signaled.
[0134] The entropy decoding unit (410) can decode the chrominance difference value, the first residual sample, correlation information, and prediction information from the bitstream (S1210). The prediction unit (440) can generate or restore prediction samples (prediction blocks) of the first chrominance component and prediction samples of the second chrominance component based on the prediction information (S1220).
[0135] The color difference component restoration unit (710) can determine whether to derive a second residual sample from a first residual sample (i.e., whether to activate and / or apply a second residual sample derivation method) (S1230). Specific details regarding the S1230 process will be described later in a separate embodiment.
[0136] If it is determined that the chroma component restoration unit (710) derives a second residual sample, the chroma component restoration unit (710) may correct the first residual sample using correlation information (S1240). In addition, the chroma component restoration unit (710) may derive the second residual sample using the difference value between the corrected first residual sample and the chroma (S1250). The difference value between the corrected first residual sample and the chroma may be summed or added to derive the second residual sample.
[0137] The S1240 process and the S1250 process can be performed using the mathematical formula 5 below.
[0138]
[0139] The inverse quantization unit (420) can inversely quantize the first residual sample and the derived second residual sample, and inversely transform the inversely quantized first residual sample and the inversely quantized second residual sample (S1260). The adder (450) can restore the chrominance block of the first chrominance component by adding the prediction block of the first chrominance component and the inversely transformed first residual sample, and can restore the chrominance block of the second chrominance component by adding the prediction block of the second chrominance component and the inversely transformed second residual sample (S1270).
[0140]
[0141] Example 2
[0142] Example 2 is a method for predicting and deriving a second residual sample using correlation information without using the difference value between color differences.
[0143] Example 2 differs from Example 1 in that 'the color difference value is not used' and 'the process of deriving the color difference value (S640, S1050) is not performed.'
[0144] Except for these differences, the remaining processes of Embodiment 1 can also be performed in Embodiment 2. Therefore, as in Embodiment 1-1, the process of deriving correlation information in the video encoding device can be performed before the step of transforming the residual samples, and the process of deriving the second residual sample in the video decoding device can be performed after the step of inversely transforming the residual samples. In addition, as in Embodiment 1-2, the process of deriving correlation information in the video encoding device can be performed after the step of quantizing the residual samples, and the process of deriving the second residual sample in the video decoding device can be performed before the step of inversely quantizing the residual samples. However, below, the remaining steps excluding the step of transforming / quantizing the residual samples and the step of inversely quantizing / inversely transforming the residual samples will be described.
[0145] A flowchart illustrating an example for Example 2 is shown in FIGS. 13 and 14.
[0146] The subtractor (130) can obtain a first residual sample by subtracting the prediction block of the first chrominance component and the chrominance block of the first chrominance component, and can obtain a second residual sample by subtracting the prediction block of the second chrominance component and the chrominance block of the second chrominance component (S1310).
[0147] The chrominance component prediction unit (510) can determine whether to derive a second residual sample from a first residual sample (S1320). If it is determined to derive a second residual sample, the chrominance component prediction unit (510) can derive correlation information using the first residual sample and the second residual sample (S1330).
[0148] Meanwhile, according to the embodiment, the method for deriving the second residual sample may include the following three modes when only multiplication information is included in the correlation information.
[0149] 1) Mode 1 - The values of the Cb residual samples are signaled, and the values of the Cr residual samples are derived by applying a multiplication factor of -1 / 2 or +1 / 2 to the values of the Cb residual samples.
[0150] 2) Second mode - The values of Cb residual samples are signaled, and the values of Cr residual samples are derived by applying a multiplication factor of -1 or +1 to the values of Cb residual samples.
[0151] 3) Mode 3 - The values of the Cr residual samples are signaled, and the values of the Cb residual samples are derived by applying a multiplication factor of -1 / 2 or +1 / 2 to the values of the Cr residual samples.
[0152] Additionally, the method for deriving the second residual sample may further include modes to which an offset factor is applied to each of the first to third modes, when the correlation information also includes offset information.
[0153] In this embodiment, the chrominance component prediction unit (510) can determine the mode with the best rate distortion characteristic among the above modes as the mode for the chrominance block. The chrominance component prediction unit (510) can comprehensively perform the 'process of determining one of the general method and the method for deriving the second residual sample' and the 'process of determining one of the modes within the method for deriving the second residual sample' described above. For example, the chrominance component prediction unit (510) can determine the mode or method with the best rate distortion characteristic 'among the modes within the method for deriving the second residual sample and the general method' as the method for the chrominance block.
[0154] The first residual sample, correlation information, and prediction information can be encoded and signaled to an image decoding device (S1340). Here, the second residual sample and the chrominance difference value are not signaled.
[0155] The entropy decoding unit (410) can decode the first residual sample, correlation information, and prediction information from the bitstream (S1410).
[0156] The prediction unit (440) can generate or restore prediction samples (prediction blocks) of the first color difference component and prediction samples of the second color difference component based on the prediction information (S1420).
[0157] The chromaticity component restoration unit (710) can determine whether to derive a second residual sample from a first residual sample (i.e., whether to activate and / or apply a second residual sample derivation method) (S1430). Specific details regarding the S1430 process will be described later in a separate embodiment.
[0158] If it is determined that the chrominance component restoration unit (710) derives a second residual sample, the correlation information may be applied to the first residual sample to derive the second residual sample (S1440). For example, if the correlation information includes multiplication information, a multiplication factor indicated by the multiplication information may be applied to the first residual sample to derive the second residual sample. As another example, if the correlation information includes multiplication information and offset information, an offset factor indicated by the offset information may be applied to the first residual sample to which the multiplication factor has been applied to derive the second residual sample.
[0159] The S1440 process can be performed using the mathematical formula 6 below.
[0160]
[0161] Comparing mathematical expression 6 with mathematical expressions 2 to 5, it can be seen that in Example 2, the chrominance difference value is not used (Cro_r=0). Therefore, the transformation / inverse transformation process, quantization / inverse quantization process, and encoding / decoding process for the chrominance difference value are not performed.
[0162] The adder (450) can restore the chrominance block of the first chrominance component by adding the prediction block of the first chrominance component and the first residual sample, and can restore the chrominance block of the second chrominance component by adding the prediction block of the second chrominance component and the derived second residual sample (S1450).
[0163]
[0164] Example 3
[0165] Example 3 is a method for determining whether to derive a second residual sample from a first residual sample (whether to allow (activate) and / or apply a second residual sample restoration method).
[0166] Whether or not the second residual sample derivation method is performed can be determined by various criteria. These various criteria may include 1) the value of a syntax element (e.g., a flag) indicating whether the second residual sample derivation is allowed and / or applied (on / off), 2) the prediction mode of the target block, and 3) the range of luminance component values.
[0167] Criteria 1) - Syntax element indicating whether on / off
[0168] The syntax element indicating whether to derive the second residual sample may include a first syntax element and / or a second syntax element.
[0169] The first syntax element is a syntax element that indicates whether the second residual sample derivation method is allowed (activated) (on / off), and can be defined at various locations in the bitstream and signaled to the video decoding device. For example, the first syntax element can be defined and signaled at a level higher than the CTU level, or can be defined and signaled at one or more of the unit block (PU, TU, CU) level, tile level, tile group level, and picture level.
[0170] The second syntax element is a syntax element that indicates whether the second residual sample derivation method is applied to the target block (chroma block) (whether on / off), and can be defined at various locations in the bitstream and signaled to the video decoding device. For example, the second syntax element can be defined and signaled at a level higher than the CTU, or defined and signaled at one or more of the unit block (PU, TU, CU) level, tile level, tile group level, and picture level.
[0171] According to an embodiment, a first syntax element may be defined and signaled at a relatively higher level within a bitstream, and a second syntax element may be defined and signaled at a relatively lower level within the bitstream. In this case, if the second residual sample derivation method is turned off at the higher level, the second syntax element may not be signaled at the lower level, and even if the second residual sample derivation method is turned on at the higher level, whether it is turned on or off may be selectively determined at the lower level. Therefore, the bit efficiency of the second residual sample derivation method may be improved.
[0172] An example of determining whether the second residual sample derivation method is on / off is shown in Fig. 13.
[0173] The video encoding device can determine whether the second residual sample derivation method is allowed, and signal the result to the video decoding device by setting it as the value of the first syntax element. In addition, the video encoding device can determine whether the second residual sample derivation method is applied, and signal the result to the video decoding device by setting it as the value of the second syntax element.
[0174] The video decoding device decodes a first syntax element from a bitstream (S1510), and can determine whether a second residual sample derivation method is allowed based on the value of the first syntax element (S1520).
[0175] The video decoding device can decode the second syntax element from the bitstream (S1530) if the second syntax element indicates that the second residual sample derivation method is allowed (the first syntax element = 1, S1520). In addition, the video decoding device can determine whether the second residual sample derivation method is applied based on the value of the second syntax element (S1540).
[0176] The video decoding device can derive the second residual sample based on the correlation information and the first residual sample (or, the difference value between the correlation information, the first residual sample, and the chrominance) (S1550) when the second syntax element indicates that the second residual sample derivation method is applied (the second syntax element = 0, S1540).
[0177] In the S1520 process, if the first syntax element indicates that the second residual sample derivation method is not allowed (the first syntax element = 0), or in the S1540 process, if the second syntax element indicates that the second residual sample derivation method is not applied, the derivation of the second residual sample is not performed.
[0178] Criterion 2) - Prediction mode of target block
[0179] Whether the second residual sample derivation method is on or off can be adaptively determined by considering the prediction mode of the target block (color difference block) (depending on the prediction mode).
[0180] For example, if the chrominance block is predicted in any one of the intra mode, inter mode, IBC mode, and palette mode, the derivation of the second residual sample can be turned on or off. As another example, if the chrominance block is predicted in two or more modes among the intra mode, inter mode, IBC mode, and palette mode (if predicted in any one of the two or more modes), the derivation of the second residual sample can be turned on or off.
[0181] As another example, when a chrominance block is predicted through a cross-component linear model (CCLM) or direct mode (DM) among intra prediction modes, the derivation of the second residual sample can be turned on or off. In this case, information indicating the on / off of the derivation of the second residual sample can be signaled to the image decoding device only when the chrominance block is predicted through CCLM or DM.
[0182] As another example, if the chrominance block is predicted through bi-prediction mode or merge mode among inter prediction modes and is predicted with reference to the 0th reference image, the derivation of the second residual sample can be turned on or off. Information indicating on / off of the derivation of the second residual sample can be signaled to the image decoding device only if the chrominance block is predicted through bi-prediction mode or merge mode, or is predicted with reference to the 0th reference image.
[0183] An example of considering the prediction mode of a chroma block can be combined with the previous example using the first syntax element and the second syntax element. For example, in step S1520, if the first syntax element = 1 and the prediction mode of the chroma block corresponds to a prediction mode in which the derivation of the second residual sample is turned on, the second syntax element can be decoded from the bitstream (S1530). In other words, whether or not the second syntax element is decoded can be determined by considering the prediction mode of the chroma block.
[0184] Criterion 3) - Range of luminance component values
[0185] The range of luminance component values (range of brightness values) can be divided into two or more sections, and whether or not to apply the second residual sample derivation method can be determined based on which section among the divided sections the luminance component value of the target block belongs to.
[0186] For example, if the range of luminance component values is divided into two sections (first section and second section), if the luminance component value of the target block belongs to the first section, the second residual sample derivation method may not be applied, but if the luminance component value of the target block belongs to the second section, the second residual sample derivation method may be applied. Alternatively, this may be applied in reverse.
[0187] Among two or more sections, the section to which the second residual sample derivation method is not applied may correspond to a "visual perception section" to which the user's vision may react sensitively, and the section to which the second residual sample derivation method is applied may not correspond to a "visual perception section." Therefore, since the second residual sample derivation method is not applied to the visual perception section, and the second residual sample derivation method can be selectively applied only to non-visual perception sections, a deterioration in subjective image quality can be prevented.
[0188] At least one of the values representing the range of the first section and the values representing the range of the second section (section values) may be signaled from the video encoding device to the video decoding device. Depending on the embodiment, the section values may be preset between the video encoding device and the video decoding device without signaling.
[0189] Criterion 4) - Quantization results
[0190] In cases where the accuracy of the prediction for the second chrominance component is high and the values of the quantization coefficients for the second residual sample are very small (when there are few quantization coefficients or when there are few quantization coefficients), the second residual sample derivation method can be selectively applied. Furthermore, in this case, rather than omitting quantization for the entire second residual sample, quantization for some of the second residual samples can be omitted (i.e., only a portion of the second residual sample is signaled).
[0191] Other criteria
[0192] When the DQP (delta-QP) of the luminance component is greater than or equal to a preset value, or when the transform skip mode is not applied to the chrominance block, or when the BDPCM (block differential coded modulation) mode is not applied to the target block, the second residual sample derivation method may or may not be applied.
[0193] If the picture containing the target block is an instantaneous decoding recoding (IDR) picture or a Gradual Random Access (GRA) picture for random access, the second residual sample derivation method may not be applied.
[0194]
[0195] The above description is merely an example of the technical idea of the present embodiment, and those skilled in the art will appreciate that various modifications and variations can be made without departing from the essential characteristics of the present embodiment. Therefore, the present embodiments are not intended to limit the technical idea of the present embodiment, but rather to explain it, and the scope of the technical idea of the present embodiment is not limited by these embodiments. The scope of protection of the present embodiment should be interpreted by the claims below, and all technical ideas within a scope equivalent thereto should be interpreted as being included in the scope of rights of the present embodiment.
[0196]
[0197] CROSS-REFERENCE TO RELATED APPLICATION
[0198] This patent application claims priority to Korean Patent Application No. 10-2019-0056974, filed May 15, 2019, and Korean Patent Application No. 10-2020-0058335, filed May 15, 2020, the entire contents of which are incorporated herein by reference.
Claims
1. A method for restoring the color difference block of the target block to be restored, A step of decoding correlation information between first residual samples, which are residual samples of the first chroma component, and second residual samples, which are residual samples of the second chroma component, the first residual sample, and prediction information of the chroma block from a bitstream; A step of generating prediction samples of the first color difference component and prediction samples of the second color difference component based on the above prediction information; A step of applying the above correlation information to the first residual sample to derive the second residual sample; and A method for restoring a chroma block, comprising the steps of restoring a chroma block of the first chroma component by adding the predicted samples of the first chroma component and the first residual sample, and restoring a chroma block of the second chroma component by adding the predicted samples of the second chroma component and the second residual sample.
2. In paragraph 1, The above first color difference component is, Corresponds to either the Cb chromaticity component or the Cr chromaticity component, The above second color difference component is, A method for restoring a color difference block, wherein the other one corresponds to one of the Cb color difference component and the Cr color difference component.
3. In paragraph 1, The above decryption step is, A method for restoring a color difference block, which decodes the above correlation information from the picture level of the bitstream.
4. In paragraph 1, The above correlation information is, Contains multiplication information for indicating a multiplication factor between the first residual sample and the second residual sample, The above deriving steps are: A method for restoring a color difference block, wherein the second residual sample is derived by applying a multiplication factor indicated by the above multiplication information to the first residual sample.
5. In paragraph 4, The above correlation information is, Further including offset information for indicating an offset factor between the first residual sample and the second residual sample, The above deriving steps are: A method for restoring a color difference block, wherein the second residual sample is derived by applying an offset factor indicated by the offset information to the first residual sample to which the multiplication factor is applied.
6. In paragraph 1, The above decryption step is, A step of decoding a first syntax element indicating whether the derivation of the second residual sample is allowed from the SPS (sequence parameter set) level of the bitstream; and If the first syntax element indicates that the derivation of the second residual sample is allowed, the step of decoding a second syntax element indicating whether the derivation of the second residual sample is applied to the chrominance block from a lower level of the SPS level in the bitstream is included. The above deriving steps are: A method for restoring a chroma block, wherein the second syntax element induces the second residual sample when the derivation of the second residual sample is applied to the chroma block.
7. In paragraph 6, The step of decoding the above second syntax element is: A method for restoring a chroma block, wherein the second syntax element is decoded while considering the prediction mode of the target block.
8. An image decoding device that restores the color difference block of a target block to be restored, A decoding unit that decodes correlation information between first residual samples, which are residual samples of the first chroma component, and second residual samples, which are residual samples of the second chroma component, the first residual sample, and prediction information of the chroma block from a bitstream; A prediction unit that generates prediction samples of the first color difference component and prediction samples of the second color difference component based on the above prediction information; A color difference component restoration unit that applies the above correlation information to the first residual sample to derive the second residual sample; and An image decoding device, comprising: an adder for restoring a chrominance block of the first chrominance component by adding the predicted samples of the first chrominance component and the first residual sample, and for restoring a chrominance block of the second chrominance component by adding the predicted samples of the second chrominance component and the second residual sample.
9. In paragraph 8, The above first color difference component is, Corresponds to either the Cb chromaticity component or the Cr chromaticity component, The above second color difference component is, An image decoding device, wherein the other one corresponds to one of the Cb chrominance component and the Cr chrominance component.
10. In paragraph 8, The above decryption unit, An image decoding device that decodes the above correlation information from the picture level of the bitstream.
11. In paragraph 8, The above correlation information is, Contains multiplication information for indicating a multiplication factor between the first residual sample and the second residual sample, The above color difference component restoration unit is, An image decoding device that applies a multiplication factor indicated by the above multiplication information to the first residual sample to derive the second residual sample.
12. In paragraph 11, The above correlation information is, Further including offset information for indicating an offset factor between the first residual sample and the second residual sample, The above color difference component restoration unit is, An image decoding device that derives the second residual sample by applying an offset factor indicated by the offset information to the first residual sample to which the multiplication factor is applied.
13. In paragraph 8, The above decryption unit, A first syntax element indicating whether the derivation of the second residual sample is allowed is decoded from a sequence parameter set (SPS) level of the bitstream, and if the first syntax element indicates that the derivation of the second residual sample is allowed, a second syntax element indicating whether the derivation of the second residual sample is applied to the chrominance block is decoded from a lower level of the SPS level in the bitstream. The above color difference component restoration unit is, An image decoding device for deriving the second residual sample when the second syntax element indicates that derivation of the second residual sample is applied to the chroma block.
14. In paragraph 13, The above decryption unit, An image decoding device that decodes the second syntax element by taking into account the prediction mode of the target block.