Method for restoring chroma block and apparatus for decoding video
By deriving the residual samples of another chrominance component from one chrominance component in video encoding, the problem of insufficient improvement in encoding efficiency and image quality in the prior art is solved, and more efficient video encoding and decoding is achieved.
Patent Information
- Application Number
- CN202411691673.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2019-05-15
- Filing Date
- 2020-05-15
- Publication Date
- 2025-02-28
AI Technical Summary
When the existing video encoding technology processes the increase in the size, resolution and frame rate of video images, the encoding efficiency and image quality are insufficient to meet the new demand for growth in data volume.
The encoding and decoding efficiency is improved by deriving the other from one of the Cb and Cr chrominance components. The specific method includes decoding related information, residual samples and prediction information from the bitstream, generating a predicted sample of a chrominance component, and deriving a residual sample of another chrominance component through the related information, thereby reconstructing a chrominance block.
Deriving residual samples of chroma component without signaling is required, improving the compression performance of video encoding and decoding.
Smart Images

Figure CN119545004A_ABST
Abstract
Description
[0001] This application is a divisional application of the PCT patent application entered into China with Chinese patent application number 202080042779.7, invention name “Method for restoring chrominance blocks and device for decoding images”, and application date May 15, 2020.
[0002] CROSS-REFERENCE TO RELATED APPLICATIONS
[0003] This application claims priority to Korean Patent Application No. 10-2019-0056974, filed on May 15, 2019, which is hereby incorporated by reference in its entirety. Technical Field
[0004] The present invention relates to video encoding and decoding, and more particularly, to a method for reconstructing a chrominance block and a video decoding device, which improves encoding and decoding efficiency by effectively predicting residual samples of chrominance components. Background Art
[0005] Since video data has a larger data volume compared to audio data or still image data, a large amount of hardware resources (including memory) are required before compression processing in order to store or transmit the data in its original form.
[0006] Accordingly, storing or transmitting video data is usually accompanied by compressing it by using an encoder before a decoder can receive, decompress, and reproduce the compressed video data. Existing video compression technologies include H.264 / AVC and High Efficiency Video Coding (HEVC), which improves the coding efficiency of H.264 / AVC by about 40%.
[0007] However, the continuous increase in size, resolution and frame rate of video images and the resulting increase in the amount of data to be encoded require a new and superior compression technology that has better coding efficiency improvements and higher image quality improvements compared to existing compression technologies. Summary of the invention
[0008] Technical issues
[0009] In view of this need, the present invention is directed to providing an improved video encoding and decoding technology. Specifically, one aspect of the present invention relates to a technology for improving encoding and decoding efficiency by deriving a Cb chrominance component and a Cr chrominance component from one of the other.
[0010] Technical Solution
[0011] According to one aspect of the present invention, a method for reconstructing a chroma block of a target block to be reconstructed is provided. The method comprises: decoding the relevant information between a first residual sample and a second residual sample, the first residual sample, and the prediction information of the chroma block from a bitstream, wherein the first residual sample is a residual sample of a first chroma component, and the second residual sample is a residual sample of a second chroma component. The method further comprises: generating a predicted sample of the first chroma component and a predicted sample of the second chroma information based on the prediction information, and deriving the second residual sample by applying the relevant information to the first residual sample. The method further comprises: reconstructing the chroma block of the first chroma component by adding the first residual sample of the first chroma component and the predicted sample, and reconstructing the chroma block of the second chroma component by adding the second residual sample of the second chroma component and the predicted sample.
[0012] According to another aspect of the present invention, a video decoding device for reconstructing a chroma block of a target block to be reconstructed is provided. The video decoding device includes a decoding unit, which is configured to decode the correlation information between a first residual sample and a second residual sample, the first residual sample, and the prediction information of the chroma block from a bitstream, wherein the first residual sample is a residual sample of a first chroma component, and the second residual sample is a residual sample of a second chroma component. The video decoding device further includes a prediction unit and a chroma component reconstruction unit, the prediction unit is configured to generate a predicted sample of the first chroma component and a predicted sample of the second chroma information based on the prediction information, and the chroma component reconstruction unit is configured to derive the second residual sample by applying the correlation information to the first residual sample. The video decoding device further includes an adder, which is configured to reconstruct the chroma block of the first chroma component by adding the first residual sample of the first chroma component and the predicted sample, and reconstruct the chroma block of the second chroma component by adding the second residual sample of the second chroma component and the predicted sample.
[0013] Beneficial effects
[0014] As described above, according to some embodiments of the present invention, since any one of the Cb chrominance component and the Cr chrominance component is derived without the need for signaling, compression performance of encoding and decoding is improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] Figure 1 is a block diagram showing a video encoding device capable of implementing the technology of the present invention.
[0016] Figure 2 is a schematic diagram for explaining a method of dividing a block by using a QTBTTT structure.
[0017] Figure 3ais a schematic diagram showing multiple intra prediction modes.
[0018] Figure 3b is a schematic diagram showing a plurality of intra prediction modes including a wide-angle intra prediction mode.
[0019] Figure 4 is a block diagram showing a video decoding device that can implement the technology of the present invention.
[0020] Figure 5 is an exemplary block diagram of an example video encoding apparatus in which a residual block reconstruction method for chrominance components can be implemented.
[0021] Figure 6 is shown for Figure 5 A flowchart of an example of a residual block reconstruction method for a chrominance component implemented in a video encoding device.
[0022] Figure 7 is a block diagram illustrating an example video decoding apparatus that can implement a residual block reconstruction method for chroma components.
[0023] Figure 8 is shown for Figure 7 A flowchart of an example of a residual block reconstruction method for a chrominance component implemented in a video decoding device.
[0024] Fig. 9 is an exemplary block diagram of a video encoding device capable of implementing another example of a residual block reconstruction method for chrominance components.
[0025] Fig.10 is shown for Fig. 9 A flowchart of an example of a residual block reconstruction method for a chrominance component implemented in a video encoding device.
[0026] Fig.11 is a block diagram illustrating a video decoding apparatus that can implement another example of a residual block reconstruction method for chrominance components.
[0027] Fig.12 It is shown in Fig.11 A flowchart of an example of a residual block reconstruction method implemented in a video decoding device.
[0028] Fig.13 and Fig.14 is a flowchart illustrating another example of a residual block reconstruction method for chroma components.
[0029] Fig.15 is a flow chart illustrating an example of performance conditions of a residual reconstruction method for chroma components. DETAILED DESCRIPTION
[0030] Hereinafter, some embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description, the same reference numerals preferably represent the same elements, although the elements are shown in different drawings. In addition, in the following description of some embodiments, when it is considered to be obscure the subject of the present invention, for the sake of clarity and brevity, the specific description of the related known components and functions will be omitted.
[0031] Figure 1 1 is a block diagram showing a video encoding device capable of implementing the technology of the present invention. Figure 1 A video encoding apparatus and elements of the apparatus are described.
[0032] The video encoding device includes: an image divider 110, a predictor 120, a subtractor 130, a transformer 140, a quantizer 145, a rearrangement unit 150, an entropy encoder 155, an inverse quantizer 160, an inverse transformer 165, an adder 170, a filtering unit 180 and a memory 190.
[0033] Each element of the video encoding device may be implemented in hardware or software or a combination of hardware and software. The functions of each element may be implemented as software, and a microprocessor may be implemented to execute the software functions corresponding to each element.
[0034] A video includes multiple images. Each image is divided into multiple regions, and encoding is performed on each region. For example, an image is divided into one or more tiles (tile) or / and slices (slice). Here, one or more tiles can be defined as tile groups. Each tile or slice is divided into one or more coding tree units (coding treeunit, CTU). Each CTU is divided into one or more coding units (coding unit, CU) through a tree structure. The information applied to each CU is encoded as the syntax of the CU, and the information commonly applied to the information included in a CTU is encoded as the syntax of the CTU. In addition, the information commonly applied to all blocks in a slice is encoded as the syntax of the slice header, and the information applied to all blocks constituting an image is encoded in the picture parameter set (Picture Parameter Set, PPS) or the picture header. In addition, the information commonly referenced by multiple images is encoded in the sequence parameter set (Sequence Parameter Set, SPS). In addition, the information commonly referenced by one or more SPS is encoded in the video parameter set (Video Parameter Set, VPS). Information commonly applied to one tile or tile group may be encoded as the syntax of a tile header or tile group header.
[0035] The image divider 110 determines the size of a coding tree unit (CTU). Information on the size of the CTU (CTU size) is encoded as a syntax of an SPS or a PPS and transmitted to a video decoding apparatus.
[0036] The image divider 110 divides each image constituting a video into a plurality of CTUs having a predetermined size, and then recursively divides the CTUs using a tree structure. In the tree structure, a leaf node is used as a coding unit (CU), which is a basic unit of coding.
[0037] The tree structure can be a quadtree (QuadTree, QT), a binary tree (BinaryTree, BT), a ternary tree (TernaryTree, TT) or a structure formed by two or more QT structures, BT structures and TT structures, wherein the quadtree (QT) is a node (or parent node) that is divided into four slave nodes (or child nodes) of the same size, the binary tree (BT) is a node that is divided into two slave nodes, and the ternary tree (TT) is a node that is divided into three slave nodes at a ratio of 1:2:1. For example, a quadtree plus binary tree (QuadTree plus BinaryTree, QTBT) structure can be used, or a quadtree plus binary tree ternary tree (QuadTree plus BinaryTree TernaryTree, QTBTTT) structure can be used. Here, BTTT can be collectively referred to as a multiple-type tree (MTT).
[0038] Figure 2 The QTBTTT segmentation tree structure is shown as an example. Figure 2 As shown, the CTU can be first split into a QT structure. The QT splitting can be repeated until the size of the split block reaches the minimum block size MinQTSize of the leaf node allowed in the QT. The first flag (QT_split_flag) indicating whether each node of the QT structure is split into four nodes of the lower layer is encoded by the entropy encoder 155, and notified to the video decoding device with a signal. When the leaf node of the QT is not larger than the maximum block size (MaxBTSize) of the root node allowed in the BT, it can be further split into one or more BT structures or TT structures. The BT structure and / or the TT structure can have multiple splitting directions. For example, there can be two directions, namely, the direction of splitting the blocks of the nodes horizontally and the direction of splitting the blocks vertically. As Figure 2 As shown, when MTT splitting starts, the entropy encoder 155 encodes a second flag (mtt_split_flag) indicating whether the node is split, a flag indicating the splitting direction (vertical or horizontal) in the case of splitting, and / or a flag indicating the splitting type (binary or trifurcated), and notifies the video decoding device with a signal.
[0039] Alternatively, before encoding the first flag (QT_split_flag) indicating whether each node is split into 4 nodes of the lower layer, the CU split flag (split_cu_flag) indicating whether the node is split may be encoded. When the value of the CU split flag (split_cu_flag) indicates that the split is not performed, the block of the node becomes a leaf node in the split tree structure and is used as a coding unit (CU), which is a basic unit of encoding. When the value of the CU split flag (split_cu_flag) indicates that the split is performed, the video encoding device starts encoding from the first flag in the above-described manner.
[0040] When QTBT is used as another example of a tree structure, there may be two types of segmentation, namely, a type of horizontally segmenting a block into two blocks of the same size (i.e., symmetrical horizontal segmentation) and a type of vertically segmenting a block into two blocks of the same size (i.e., symmetrical vertical segmentation). The entropy encoder 155 encodes a segmentation flag (split_flag) indicating whether each node of the BT structure is segmented into blocks of the lower layer and segmentation type information indicating that the segmentation type is encoded, and transmits it to the video decoding device. There may be an additional type of segmenting a block of a node into two asymmetric blocks. The asymmetric segmentation type may include a type of segmenting a block into two rectangular blocks at a size ratio of 1:3, or a type of segmenting a block of a node diagonally.
[0041] A CU may have various sizes according to the QTBT or QTBTTT partitioning of a CTU. Hereinafter, a block corresponding to a CU to be encoded or decoded (i.e., a leaf node of a QTBTTT) is referred to as a "current block". When QTBTTT partitioning is adopted, the shape of the current block may be a square or a rectangle.
[0042] The predictor 120 predicts the current block to generate a predicted block. The predictor 120 includes an intra predictor 122 and an inter predictor 124.
[0043] Typically, each current block in an image can be predictively encoded separately. Typically, the prediction of the current block is performed using an intra-frame prediction technique (which uses data from an image including the current block) or an inter-frame prediction technique (which uses data from an image encoded before the image including the current block). Inter-frame prediction includes unidirectional prediction and bidirectional prediction.
[0044] The intra prediction unit 122 predicts pixels in the current block using pixels (reference pixels) around the current block in the current image including the current block. There are multiple intra prediction modes according to the prediction direction. For example, Figure 3aAs shown, multiple intra prediction modes may include 2 non-directional modes and 65 directional modes, and the 2 non-directional modes include planar mode and DC mode. The neighboring pixels and equations to be used are defined differently for each prediction mode. The following table lists the intra prediction mode numbers and their names.
[0045] In order to perform effective directional prediction for the current block of rectangular shape, the additional use of Figure 3b The dotted arrows in the figure indicate the directional modes (intra-prediction modes 67 to 80 and -1 to -14). These modes may be referred to as "wide-angle intra-prediction modes". Figure 3b In the figure, the arrows indicate the corresponding reference samples used for prediction, rather than indicating the prediction direction. The prediction direction is opposite to the direction indicated by the arrow. The wide-angle intra prediction mode is a mode in which prediction is performed in a direction opposite to a specific direction mode without additional bit transmission when the current block is a rectangular shape. In this case, in the wide-angle intra prediction mode, some wide-angle intra prediction modes that can be used for the current block can be determined based on the ratio of the width to the height of the rectangular current block. For example, when the current block has a rectangular shape with a height less than its width, a wide-angle intra prediction mode (intra prediction modes 67 to 80) with an angle less than 45 degrees can be used. When the current block has a rectangular shape with a width greater than its height, a wide-angle intra prediction mode (intra prediction modes -1 to -14) with an angle greater than -135 degrees can be used.
[0046] The intra-frame predictor 122 may determine an intra-frame prediction mode to be used when encoding the current block. In some examples, the intra-frame predictor 122 may encode the current block using several intra-frame prediction modes and select an appropriate intra-frame prediction mode to be used from the tested modes. For example, the intra-frame predictor 122 may calculate rate-distortion values using rate-distortion analysis of several tested intra-frame prediction modes and may select an intra-frame prediction mode having the best rate-distortion characteristics from the tested modes.
[0047] The intra predictor 122 selects an intra prediction mode from a plurality of intra prediction modes and predicts the current block using the determined adjacent pixels (reference pixels) and equations according to the selected intra prediction mode. Information about the selected intra prediction mode is encoded by the entropy encoder 155 and transmitted to the video decoding device.
[0048] The inter-frame predictor 124 generates a prediction block for the current block by motion compensation. The inter-frame predictor 124 searches for a block that is most similar to the current block in a reference image that has been encoded and decoded earlier than the current image, and uses the searched block to generate a prediction block for the current block. Then, the inter-frame predictor generates a motion vector corresponding to the displacement between the current block in the current image and the prediction block in the reference image. Typically, motion estimation is performed on the luminance component, and the motion vector calculated based on the luminance component is used for both the luminance component and the chrominance component. The motion information including information about the reference image and information about the motion vector used to predict the current block is encoded by the entropy encoder 155 and transmitted to the video decoding device.
[0049] The subtractor 130 subtracts the prediction block generated by the intra predictor 122 or the inter predictor 124 from the current block to generate a residual block.
[0050] The transformer 140 may partition the residual block into one or more transform blocks, perform a transform on the transform block, and transform the residual value of the transform block from the pixel domain to the frequency domain. In the frequency domain, the transform block is referred to as a coefficient block containing one or more transform coefficient values. A two-dimensional (2D) transform kernel may be used for the transform, while a one-dimensional (1D) transform kernel may be used for each of the horizontal transform and the vertical transform. The transform kernel may be based on a discrete cosine transform (DCT), a discrete sine transform (DST), etc.
[0051] The transformer 140 may transform the residual signal in the residual block by using the entire size of the residual block as a transform unit. Moreover, the transformer 140 may partition the residual block into two sub-blocks in the horizontal direction or the vertical direction, and may perform the transform on only one of the two sub-blocks. Accordingly, the size of the transform block may be different from the size of the residual block (and thus the size of the prediction block). Non-zero residual sample values may not exist or be very sparse in the untransformed sub-block. The residual samples of the untransformed sub-block may not be signaled and may be regarded as "0" by the video decoding device. There may be several partition types according to the partition direction and the partition ratio. The transformer 140 may provide information about the encoding mode (or transform mode) of the residual block to the entropy encoder 155 (for example, the information about the encoding mode includes: information indicating whether to transform the residual block or the sub-block of the residual block, information indicating the partition type selected to partition the residual block into sub-blocks, and information for identifying the sub-block to be transformed, etc.). The entropy encoder 155 may encode information about the encoding mode (or transform mode) of the residual block.
[0052] The quantizer 145 quantizes the transform coefficient output from the transformer 140 and outputs the quantized transform coefficient to the entropy encoder 155. The quantizer 145 may directly quantize a related residual block for a specific block or frame without transformation.
[0053] The rearrangement unit 150 can perform the rearrangement of coefficient values using quantized transform coefficients. The rearrangement unit 150 can use coefficient scanning to change the two-dimensional coefficient array into a one-dimensional coefficient sequence. For example, the rearrangement unit 150 can scan the coefficients from the DC coefficient to the coefficients in the high-frequency region by zig-zag scanning or diagonal scanning to output a one-dimensional coefficient sequence. Depending on the size of the transform unit and the intra-frame prediction mode, the zig-zag scan used can be used to scan the two-dimensional coefficient array in the column direction. The vertical scan and the horizontal scan for scanning the two-dimensional block-shaped coefficients in the row direction are replaced. In other words, the scanning method to be used can be determined among the zig-zag scan, the diagonal scan, the vertical scan, and the horizontal scan according to the size of the transform unit and the intra-frame prediction mode.
[0054] The entropy encoder 155 encodes the sequence of one-dimensional quantized transform coefficients output from the rearrangement unit 150 by using various encoding methods such as Context-based Adaptive Binary Arithmetic Code (CABAC), Exponential Golomb, etc., thereby encoding to generate a bit stream.
[0055] The entropy encoder 155 encodes information related to block partitioning (e.g., CTU size, CU partition flag, QT partition flag, MTT partition type, and MTT partition direction) so that the video decoding device can partition the block in the same manner as the video encoding device. In addition, the entropy encoder 155 encodes information about a prediction type indicating whether the current block is encoded by intra-frame prediction or inter-frame prediction, and encodes intra-frame prediction information (i.e., information about an intra-frame prediction mode) or inter-frame prediction information (information about a reference image index and a motion vector) according to the prediction type.
[0056] The inverse quantizer 160 inversely quantizes the quantized transform coefficient output from the quantizer 145 to generate a transform coefficient. The inverse transformer 165 transforms the transform coefficient output from the inverse quantizer 160 from the frequency domain to the spatial domain, and reconstructs a residual block.
[0057] The adder 170 adds the reconstructed residual block and the prediction block generated by the predictor 120 to reconstruct the current block. Pixels in the reconstructed current block are used as reference pixels when performing intra prediction of a subsequent block.
[0058] The filtering unit 180 filters the reconstructed pixels to reduce blocking artifacts, ringing artifacts, and blurring artifacts caused by block-based prediction and transform / quantization. The filtering unit 180 may include a deblocking filter 182 and a sample adaptive offset (SAO) filter 184.
[0059] The deblocking filter 180 filters the boundary between the reconstructed blocks to remove the block artifacts caused by block-by-block encoding / decoding, and the SAO filter 184 performs additional filtering on the deblocking filtered video. The SAO filter 184 is a filter for compensating for the difference between the reconstructed pixels and the original pixels caused by lossy coding.
[0060] The reconstructed blocks filtered by the deblocking filter 182 and the SAO filter 184 are stored in the memory 190. Once all blocks in one image are reconstructed, the reconstructed image can be used as a reference image for inter-frame prediction of blocks in a subsequent image to be encoded.
[0061] Figure 4 is an exemplary functional block diagram of a video decoding device capable of implementing the technology of the present invention. Figure 4 To describe a video decoding apparatus and its components.
[0062] The video decoding apparatus may include an entropy decoder 410 , a rearrangement unit 415 , an inverse quantizer 420 , an inverse transformer 430 , a predictor 440 , an adder 450 , a filtering unit 460 , and a memory 470 .
[0063] Similar to Figure 1 In the video encoding device of the present invention, each element of the video decoding device can be implemented by hardware, software, or a combination of hardware and software. In addition, the function of each element can be implemented as software, and the microprocessor can be implemented to execute the software function corresponding to each element.
[0064] The entropy decoder 410 determines a current block to be decoded by decoding a bit stream generated by a video encoding apparatus and extracting information related to block partitioning, and extracts prediction information required to reconstruct the current block and information about a residual signal, etc.
[0065] The entropy decoder 410 extracts information about the CTU size from a sequence parameter set (SPS) or a picture parameter set (PPS), determines the size of the CTU, and divides the image into CTUs of the determined size. Then, the decoder determines the CTU as the highest level (i.e., the root node) of the tree structure, and extracts partition information about the CTU to partition the CTU using the tree structure.
[0066] For example, when the CTU is segmented using the QTBTTT structure, the first flag (QT_split_flag) related to the segmentation of the QT is extracted to segment each node into four nodes of the sublayer. For the node corresponding to the leaf node of the QT, the second flag (MTT_split_flag) related to the segmentation of the MTT and the information about the segmentation direction (vertical / horizontal) and / or the segmentation type (binary / trifurcated) are extracted to segment the corresponding leaf node with the MTT structure. Thus, each node below the leaf node of the QT is recursively segmented with the BT or TT structure.
[0067] As another example, when a CTU is split using a QTBTTT structure, a CU split flag (split_cu_flag) indicating whether the CU is split may be extracted. When the corresponding block is split, a first flag (QT_split_flag) may be extracted. In a split operation, after zero or more recursive QT splits, zero or more recursive MTT splits may occur for each node. For example, a CTU may directly undergo MTT splitting without undergoing QT splitting, or may only undergo QT splitting multiple times.
[0068] As another example, when the CTU is segmented using the QTBT structure, the first flag (QT_split_flag) related to the QT segmentation is extracted, and each node is segmented into four nodes of the lower layer. Then, the segmentation flag (split_flag) indicating whether the node corresponding to the leaf node of the QT is further segmented with the BT and the segmentation direction information are extracted.
[0069] Once the current block to be decoded is determined by tree structure partitioning, the entropy decoder 410 extracts information about the prediction type indicating whether the current block is intra-predicted or inter-predicted. When the prediction type information indicates intra-prediction, the entropy decoder 410 extracts syntax elements of intra-prediction information (intra-prediction mode) of the current block. When the prediction type information indicates inter-prediction, the entropy decoder 410 extracts syntax elements for inter-prediction information, that is, information indicating a motion vector and a reference image referenced by the motion vector.
[0070] On the other hand, the entropy decoder 410 extracts information about the encoding mode of the residual block from the bitstream (for example, information about whether to encode the residual block or only encode a subblock of the residual block, information indicating a partition type selected to partition the residual block into subblocks, information for identifying the encoded residual subblock, a quantization parameter, etc.). Furthermore, the entropy decoder 410 extracts information about the quantized transform coefficient of the current block as information about the residual signal.
[0071] The rearrangement unit 415 may change a sequence of quantized 1D transform coefficients entropy-decoded by the entropy decoder 410 into a 2D coefficient array (ie, block) in the reverse order of coefficient scanning performed by the video encoding apparatus.
[0072] The inverse quantizer 420 inversely quantizes the quantized transform coefficient, and the inverse transformer 430 generates a reconstructed residual block of the current block by reconstructing a residual signal by inversely transforming the inversely quantized transform coefficient from the frequency domain to the spatial domain based on information about the encoding mode of the residual block.
[0073] When the information about the encoding mode of the residual block indicates that the residual block of the current block is encoded in the video encoding device, the inverse transformer 430 generates a reconstructed residual block of the current block by performing an inverse transform on the inverse quantized transform coefficients using the size of the current block (and therefore the size of the residual block to be restored) as a transform unit.
[0074] In addition, when the information about the encoding mode of the residual block indicates that only one sub-block of the residual block is encoded in the video encoding device, the inverse transformer 430 uses the size of the transformed sub-block as the transformation unit, inversely transforms the inverse quantized transformation coefficients, reconstructs the residual signal of the transformed sub-block, and sets the residual signal of the untransformed sub-block to "0", to generate a reconstructed residual block of the current block.
[0075] The predictor 440 may include an intra predictor 442 and an inter predictor 444. The intra predictor 442 is activated when the prediction type of the current block is intra prediction, and the inter predictor 444 is activated when the prediction type of the current block is inter prediction.
[0076] The intra predictor 442 determines an intra prediction mode of a current block among a plurality of intra prediction modes based on a syntax element of the intra prediction mode extracted from the entropy decoder 410 , and predicts the current block using reference pixels around the current block according to the intra prediction mode.
[0077] The inter predictor 444 determines a motion vector of a current block and a reference image referred to by the motion vector using a syntax element of the inter prediction mode extracted by the entropy decoder 410 , and predicts the current block based on the motion vector and the reference image.
[0078] The adder 450 reconstructs the current block by adding the residual block output from the inverse transformer 430 and the prediction block output from the inter predictor 444 or the intra predictor 442. When intra-predicting a subsequent block to be decoded, pixels in the reconstructed current block are used as reference pixels.
[0079] The filtering unit 460 may include a deblocking filter 462 and an SAO filter 464. The deblocking filter 462 performs deblocking filtering on the boundaries between the reconstructed blocks to remove block artifacts caused by block-by-block decoding. The SAO filter 464 performs additional filtering on the reconstructed blocks after deblocking filtering the corresponding offsets to compensate for the difference between the reconstructed pixels and the original pixels caused by lossy coding. The reconstructed blocks filtered by the deblocking filter 462 and the SAO filter 464 are stored in the memory 470. When all blocks in one image are reconstructed, the reconstructed image is used as a reference image for inter-frame prediction of blocks in subsequent images to be encoded.
[0080] In a conventional video encoding / decoding method, in order to reduce the complexity of the prediction of the chrominance component, each chrominance component is predicted in the same manner as the prediction process of the luminance component, or each chrominance component is predicted in a simplified manner of the prediction process of the luminance component. However, this conventional method has the problem of color distortion.
[0081] The present invention proposes a coding and decoding method for effectively predicting a chrominance component in a chrominance block (ie, a current block) of a target block to be reconstructed.
[0082] The method proposed herein is a method in which information about residual samples (or residual signals) of one of the Cb and Cr chroma components is encoded and signaled, and information about residual samples of the other chroma component is derived without encoding and signaling it.
[0083] Herein, the residual samples of the chroma components to be derived may be referred to as “second residual samples of the second chroma components”, and the residual samples of the chroma components to be encoded and signaled to derive the second residual samples may be referred to as “first residual samples of the first chroma components”.
[0084] The first chroma component may be one of the Cb chroma component and the Cr chroma component, and the second chroma component may be the other of the Cb chroma component and the Cr chroma component. For example, when the residual sample of the Cb chroma component is encoded and notified by a signal, and the residual sample of the Cr chroma component is derived, the residual sample of the Cb chroma component may be referred to as a first residual sample, and the residual sample of the Cr chroma component may be referred to as a second residual sample. As another example, when the residual sample of the Cr chroma component is encoded and notified by a signal, and the residual sample of the Cb chroma component is derived, the residual sample of the Cr chroma component may be referred to as a first residual sample, and the residual sample of the Cb chroma component may be referred to as a second residual sample.
[0085] The method of deriving the second residual sample can be divided into: 1) an implementation scheme using the correlation information between the first residual sample and the second residual sample; 2) an implementation scheme for determining whether to activate or apply the second residual sample derivation scheme, etc. In addition, the implementation scheme using the relevant information can be divided into different implementation schemes according to whether the inter-chrominance difference value is used. Hereinafter, the terms used in this document will be first defined, and then each implementation scheme will be described in detail.
[0086] Related information
[0087] The related information refers to information used to derive the second residual sample from the first residual sample, and may be adaptively determined according to the range of the brightness component value of the current block to be encoded. The related information may include multiplication information, or may include multiplication information and offset information.
[0088] The relevant information may be defined and signaled to a video decoding device at various locations in the bitstream, and may be decoded from the locations in the bitstream. For example, the relevant information may be defined and signaled at one or more locations in high-level syntaxes (HLS) such as SPS, PPS, and picture levels. As another example, the relevant information may 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 (difference related information) with relevant information signaled via HLS may be signaled at a lower level.
[0089] According to an embodiment, the relevant information may not be directly signaled, but some information from which the relevant information can be derived in the video decoding device may be signaled. For example, table information including fixed values of the relevant information may be signaled, and an index value indicating the fixed value in the table information for deriving the relevant information of the second residual sample may be signaled. As another example, the table information may not be signaled, but may be predefined between the video encoding device and the video decoding device. The index value may be defined and signaled at one or more of the tile group level, the tile level, and the unit block level.
[0090] The relevant information is information for deriving the second residual sample, so when the derivation of the second residual sample is applied, it can be notified by a signal. Accordingly, when the first syntax element to be described below indicates that the derivation of the second residual sample is allowed, the relevant information can be decoded from the bitstream, or when the second syntax element to be described below indicates that the derivation of the second residual sample is applied, the relevant information can be decoded from the bitstream.
[0091] Multiplication Information
[0092] The multiplication information refers to information indicating the 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), a value equal to the second residual sample (the value) or a value within the range corresponding to the second residual sample can be derived. The multiplication factor can represent a proportional relationship, a weight relationship, a sign relationship, etc. between the first residual sample and the second residual sample. Accordingly, the multiplication factor can be an integer such as -1 or 1 or a fraction such as 1 / 2 or -1 / 2.
[0093] When the multiplication information is signaled in the form of a flag 0 or 1 and the multiplication factor represents a sign relationship between the first residual sample and the second residual sample, the multiplication information may represent the multiplication factor by a method shown in Equation 1.
[0094] [Equation 1]
[0095] Multiplication factor = 1–2×(multiplication information)
[0096] The multiplication information (i.e., flag) equal to 0 indicates that the first residual sample and the second residual sample have the same sign relationship, and a multiplication factor of "1" can be applied to the first residual sample. The multiplication information (i.e., flag) equal to 1 indicates that the first residual sample and the second residual sample have different sign relationships, and a multiplication factor of "-1" can be applied to the first residual sample.
[0097] Offset information
[0098] The offset information refers to information indicating an offset factor between a first residual sample (to which a multiplication factor is applied) and a second residual sample. When the offset factor is applied to the first residual sample (to which a multiplication factor is applied), a value equal to the second residual sample or a value within a range corresponding to the second residual sample can be derived. The offset factor can be an integer such as -1, 0 or 1 or a fraction such as 1 / 2 or -1 / 2.
[0099] For the case where the offset factor is equal to 0, if the relevant information includes only multiplication information, the offset information may not be signaled, and if the relevant information includes multiplication information and offset information, the offset information may indicate that the offset factor is equal to 0.
[0100] Chroma Difference
[0101] The inter-chroma difference value refers to the difference between the first residual sample and the second residual sample (that is, refers to the value obtained by subtracting the first residual sample from the second residual sample). More specifically, the inter-chroma difference value corresponds to a value derived by subtracting the first residual sample (to which the relevant information is applied) from the second residual sample. For example, if the relevant information includes only multiplication information, the inter-chroma difference value can be derived by performing subtraction between the first residual sample (to which the multiplication factor is applied) and the second residual sample. As another example, if the relevant information includes multiplication information and offset information, the inter-chroma difference value can be derived by performing subtraction between the first residual sample (to which the multiplication factor and the offset factor are applied) and the second residual sample.
[0102] Implementation 1
[0103] Embodiment 1 is a method using both the correlation information and the inter-chrominance difference value. Embodiment 1 can be divided into the following sub-embodiments according to the encoding step performed by the process of deriving the inter-chrominance difference value and the correlation information and the decoding step performed by the process of deriving the second residual sample.
[0104] Implementation Plan 1-1
[0105] In Embodiment 1-1, the process of deriving the inter-chrominance difference value and the related information is performed before the step of transforming the residual sample, and the process of deriving the second residual sample is performed after the step of inverse quantizing the residual sample.
[0106] An exemplary block diagram and flowchart of a video encoding apparatus for implementing implementation scheme 1-1 are respectively shown in Figure 5 and Figure 6 , and an exemplary block diagram and flowchart of a video decoding device for performing implementation scheme 1-1 are shown in Figure 7 and Figure 8 Shown in.
[0107] The subtractor 130 may obtain a first residual sample and a second residual sample (S610). Specifically, the first residual sample may be obtained by subtracting the prediction block (or predicted sample) of the first chroma component from the chroma block of the first chroma component, and the second residual sample may be obtained by subtracting the prediction block of the second chroma component from the chroma block of the second chroma component. The prediction block of the chroma component may be derived by the prediction of the predictor 120, and information for prediction, i.e., prediction information, may be derived in the process. The process of generating the predicted sample and the process of deriving the prediction information may also be applied to other embodiments of the present specification.
[0108] The chroma component predictor 510 may determine whether to derive the second residual sample from the first residual sample (S620).
[0109] The chroma component predictor 510 may determine one of a method for encoding both the first residual sample and the second residual sample (i.e., a general method) and a method for deriving the second residual sample (i.e., a second residual sample derivation method) for the chroma block. For example, the chroma component predictor 510 calculates a rate-distortion value by rate-distortion analysis of the general method and the derivation method, and may select or determine a method having the best rate-distortion characteristic for the chroma block. The process of determining whether to derive the second residual sample may also be applied to other embodiments of the present specification.
[0110] When the second residual sample derivation method (ie, the method of deriving the second residual sample) is selected for the chroma block, the chroma component predictor 510 may modify the first residual sample (S630). The modification of the first residual sample may be achieved by applying the relevant information to the first residual sample.
[0111] The chroma component predictor 510 may derive an inter-chroma difference value using the modified first residual sample and the second residual sample (S640). The inter-chroma difference value may be derived by subtracting the modified first residual sample from the second residual sample.
[0112] Operation S630 and operation S640 may be performed by Equation 2 below.
[0113] [Equation 2]
[0114] Cro_r=Cro_resi2-(W*Cro_resi1+Offset)
[0115] In Equation 2, Cro_resi1 represents a first residual sample, Cro_resi2 represents a second residual sample, Cro_r represents an inter-chroma difference value, W represents a multiplication factor, and Offset represents an offset factor. Referring again to Equation 2 focusing on the second residual sample, Cro_resi2 may be a primary signal of the second residual sample (i.e., a primary residual signal of the second chroma component), and Cro_r may be a secondary signal of the second residual sample (i.e., a secondary residual signal of the second chroma component).
[0116] The transformer 140 may transform the inter-chroma difference value and the first residual sample, and the quantizer 145 may quantize the transformed inter-chroma difference value and the transformed first residual sample (S650). Here, the inter-chroma difference value may be quantized by "quantization parameter changed by QP_C_offset" according to the first residual sample or the quantization parameter of the luminance component. QP_C_offset may be determined by various methods. For example, QP_C_offset may be adaptively determined according to one or more of the range of the luminance component value (range of luminance value), the size of the chroma block, and the range of the quantization parameter of the luminance component. As another example, QP_C_offset may be determined as a value preset in the video encoding device and the video decoding device. As another example, the video encoding device may determine QP_C_offset as an arbitrary value, perform quantization processing, and signal the value of QP_C_offset used in the quantization processing to the video decoding device. The quantization method using QP_C_offset may also be applied to other embodiments of the present specification.
[0117] The transformed and quantized inter-chroma difference value, the first residual sample, the related information and the prediction information may be encoded and signaled to the video decoding apparatus (S660). Here, the second residual sample is not signaled.
[0118] The entropy decoder 410 may decode the inter-chroma difference value, the first residual sample, the related information and the prediction information from the bitstream (S810). The inverse quantizer 420 may inversely quantize the inter-chroma difference value and the first residual sample, and the inverse transformer 430 may inversely transform the inversely quantized inter-chroma difference value and the inversely quantized first residual sample (S820).
[0119] The predictor 440 may generate (or reconstruct) predicted samples (or prediction blocks) of the first chroma component and predicted samples of the second chroma component based on the prediction information ( S820 ).
[0120] The chroma component reconstruction unit 710 may determine whether to derive the second residual sample from the first residual sample (whether to activate (allow) and / or apply the second residual sample derivation method) (S830). A detailed description of operation S830 will be described below through separate embodiments.
[0121] When it is determined that the second residual sample is to be derived, the chroma component reconstruction unit 710 may modify the first residual sample using the (inversely transformed) related information (S840). In addition, the chroma component reconstruction unit 710 may derive the second residual sample using the modified first residual sample and the inversely transformed chroma inter-difference value (S850). The second residual sample may be derived by adding the modified first residual sample and the inversely transformed chroma inter-difference value.
[0122] Operation S630 and operation S640 may be performed by Equation 3 below.
[0123] [Equation 3]
[0124] Cro_resi2=(W*Cro_resi1+Offset)+Cro_r
[0125] The adder 450 may reconstruct the chroma block of the first chroma component by adding the first residual sample of the first chroma component and the prediction block, and may reconstruct the chroma block of the second chroma component by adding the derived second residual sample of the second chroma component and the prediction block (S860).
[0126] Implementation 1-2
[0127] In Embodiment 1-2, the process of deriving the inter-chrominance difference value and the related information is performed after the step of quantizing the residual sample, and the process of deriving the second residual sample is performed before the step of inversely quantizing the residual sample.
[0128] An exemplary block diagram and flowchart of a video encoding apparatus for implementing embodiments 1-2 are respectively shown in Fig. 9 and Fig.10 , and an exemplary block diagram and flow chart of a video decoding apparatus for performing embodiments 1-2 are shown in Fig.11 and Fig.12 Shown in.
[0129] The subtractor 130 may obtain a first residual sample and a second residual sample ( S1010 ). The residual sample of each chroma component may be obtained by subtracting the prediction block of each chroma component from the chroma block, and the prediction block and prediction information of each chroma component may be derived through the prediction process of the predictor 120 .
[0130] The transformer 140 may transform the first residual sample and the second residual sample, and the quantizer 145 may quantize the transformed first residual sample and the transformed second residual sample (S1020). Here, the second residual sample may be quantized to a value obtained by adding a quantization offset for quantizing the second residual sample to a quantization parameter of the first residual sample. The quantization offset may be determined by various methods. For example, the quantization offset may be adaptively determined according to one or more of a range of luminance component values (range of luminance values), a size of the first residual sample value, and a bit depth of the second residual sample. As another example, the quantization offset may be determined as a value preset in a video encoding device and a video decoding device. The video decoding device may determine a quantization parameter using a delta-QP signaled from the video encoding device, add the quantization offset to the quantization parameter to derive a quantization parameter of the second residual sample, and then inverse quantize the second residual sample using the derived quantization parameter. The quantization / inverse quantization method using a quantization offset may be applied to other embodiments of the present specification.
[0131] According to an embodiment, a quantization coefficient "0" may be derived by a quantization process for the second residual sample (i.e., there may be no residual signal in the quantization process). In this case, information or a syntax element indicating that a quantization coefficient "0" is derived may be signaled from a video encoding device to a video decoding device.
[0132] On the other hand, one or more of the quantization parameter value (first value) of the first residual sample (to which the quantization offset is not added), the value obtained by adding the quantization offset and the quantization parameter of the first residual sample (second value), and the average value of the first value and the second value can be used for in-loop filtering of the second residual sample. For example, one or more of the first value, the second value, and the average value can be used as a parameter for determining the in-loop filtering strength of the second residual sample, or can be used as a parameter for determining an index in a table for determining boundary strength. The method of using one or more of the first value, the second value, and the average value in the loop filtering process can be applied to other embodiments of the present specification.
[0133] The chroma component predictor 510 may determine whether to derive the second residual sample from the first residual sample (S1030). When it is determined that the second residual sample is to be derived, the chroma component predictor 510 may modify the quantized first residual sample (S1040). The modification of the first residual sample may be performed by applying the relevant information to the quantized first residual sample.
[0134] The chroma component predictor 510 may derive an inter-chroma difference value using the modified first residual sample and the quantized second residual sample (S1050). The inter-chroma difference value may be derived by performing a subtraction between the modified first residual sample and the quantized second residual sample.
[0135] Operation S1040 and operation S1050 may be performed by Equation 4 below.
[0136] [Equation 4]
[0137] Q(T(Cro_r))=Q(T(Cro_resi2))-(W*Q(T(Cro_resi1))+Offset)
[0138] In Equation 4, Q(T(Cro_resi1)) represents a transformed and quantized first residual sample, Q(T(Cro_resi2)) represents a transformed and quantized second residual sample, and Q(T(Cro_r)) represents an inter-chroma difference value derived from the transformed and quantized first residual sample and the transformed and quantized second residual sample.
[0139] The inter-chroma difference value, the first residual sample, the related information and the prediction information may be encoded and signaled to the video decoding apparatus (S1060). Here, the second residual sample is not signaled.
[0140] The entropy decoder 410 may decode the inter-chroma difference value, the first residual sample, the related information and the prediction information from the bitstream (S1210). The predictor 440 may generate (or reconstruct) the predicted samples (prediction blocks) of the first chroma component and the predicted samples of the second chroma component based on the prediction information (S1220).
[0141] The chroma component reconstruction unit 710 may determine whether to derive the second residual sample from the first residual sample (ie, whether to activate and / or apply the second residual sample derivation method) (S1230). A detailed description of operation S1230 will be described below through separate embodiments.
[0142] When it is determined that the second residual sample is to be derived, the chroma component reconstruction unit 710 may modify the first residual sample using the relevant information (S1240). In addition, the chroma component reconstruction unit 710 may derive the second residual sample using the modified first residual sample and the chroma difference value (S1250). The second residual sample may be derived by adding the modified first residual sample and the chroma difference value.
[0143] Operation S1240 and operation S1250 may be performed by Equation 5 below.
[0144] [Equation 5]
[0145] Q(T(Cro_resi2))=(W*Q(T(Cro_resi1))+Offset))+Q(T(Cro_r))
[0146] The inverse quantizer 420 may inversely quantize the first residual sample and the derived second residual sample, and may inversely transform the inversely quantized first residual sample and the inversely quantized second residual sample (S1260). The adder 450 may reconstruct the chroma block of the first chroma component by adding the first residual sample of the inversely transformed first chroma component and the prediction block, and may reconstruct the chroma block of the second chroma component by adding the second residual sample of the inversely transformed second chroma component and the prediction block (S1270).
[0147] Implementation 2
[0148] Embodiment 2 is a method of predicting and deriving the second residual sample using relevant information instead of using the inter-chrominance difference value.
[0149] Embodiment 2 is different from Embodiment 1 in that an inter-chromaticity difference value is not used, and a process of deriving an inter-chromaticity difference value (S640 or S1050) is not performed.
[0150] Except for this difference, the remaining processing of Embodiment 1 can also be performed in Embodiment 2. Accordingly, as in Embodiment 1-1, the processing of deriving relevant information in the video encoding device can be performed before the step of transforming the residual samples, and the processing 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, in Embodiment 1-2, the processing of deriving relevant information in the video encoding device can be performed after the step of quantizing the residual samples, and the processing of deriving the second residual sample in the video decoding device can be performed before the step of inversely quantizing the residual samples. However, the remaining steps except the step of transforming / quantizing the residual samples and the step of inversely quantizing / inversely transforming the residual samples will be described below.
[0151] Fig.13 and Fig.14 A flowchart illustrating an example of implementation scheme 2 is shown.
[0152] The subtractor 130 may subtract the prediction block of the first chroma component from the chroma block of the first chroma component to obtain a first residual sample, and may subtract the prediction block of the second chroma component from the chroma block of the second chroma component to obtain a second residual sample ( S1310 ).
[0153] The chroma component predictor 510 may determine whether to derive the second residual sample from the first residual sample (S1320). When it is determined to derive the second residual sample, the chroma component predictor 510 may derive relevant information using the first residual sample and the second residual sample (S1330).
[0154] On the other hand, according to the embodiment, when the relevant information includes only multiplication information, the second residual sample derivation method may include the following three modes.
[0155] 1) Mode 1: The value of the Cb residual sample is signaled, and the value of the Cr residual sample is derived by applying a multiplication factor of -1 / 2 or +1 / 2 to the value of the Cb residual sample.
[0156] 2) Mode 2: The value of the Cb residual sample is signaled, and the value of the Cr residual sample is derived by applying a multiplication factor of -1 or +1 to the value of the Cb residual sample.
[0157] 3) Mode 3: The value of the Cr residual sample is signaled, and the value of the Cb residual sample is derived by applying a multiplication factor of -1 / 2 or +1 / 2 to the value of the Cr residual sample.
[0158] In addition, the second residual sample derivation method may further include a mode in which, when the relevant information further includes offset information, an offset factor is applied to each of the first to third modes.
[0159] In this embodiment, the chroma component predictor 510 may determine the mode with the best rate-distortion characteristic among the above modes as the mode for the chroma block. The chroma component predictor 510 may perform the process of determining one of the above general method and the second residual sample derivation method and the process of determining one of the modes of the second residual sample derivation method in an integrated manner. For example, the chroma component predictor 510 may determine the mode or method with the best rate-distortion characteristic among the modes of the general method and the second residual sample derivation method for the chroma block.
[0160] The first residual sample, the related information, and the prediction information may be encoded and signaled to the video decoding apparatus (S1340). Here, the second residual sample and the inter-chroma difference value are not signaled.
[0161] The entropy decoder 410 may decode a first residual sample, related information, and prediction information from a bitstream ( S1410 ).
[0162] The predictor 440 may generate (or reconstruct) predicted samples (prediction blocks) of the first chroma component and predicted samples of the second chroma component based on the prediction information ( S1420 ).
[0163] The chroma component reconstruction unit 710 may determine whether to derive the second residual sample from the first residual sample (ie, whether to activate and / or apply the second residual sample derivation method) (S1430). A detailed description of operation S1430 will be described below through separate embodiments.
[0164] When it is determined that the second residual sample is to be derived, the chrominance component reconstruction unit 710 may derive the second residual sample by applying the relevant information to the first residual sample (S1440). For example, when the relevant information includes multiplication information, the second residual sample may be derived by applying the multiplication factor indicated by the multiplication information to the first residual sample. As another example, when the relevant information includes multiplication information and offset information, the second residual sample may be derived by applying the offset factor indicated by the offset information to the first residual sample to which the multiplication factor is applied.
[0165] Operation S1440 may be performed by Equation 6 below.
[0166] [Equation 6]
[0167] Cro_resi2=W*Cro_resi1+Offset
[0168] Comparing Equation 6 with Equations 2 to 5, it can be seen that the inter-chroma difference value is not used (ie, Cro_r=0) in Embodiment 2. Accordingly, the inter-chroma difference value is not subjected to transform / inverse transform processing, quantization / inverse quantization processing, and encoding / decoding processing.
[0169] The adder 450 may reconstruct the chroma block of the first chroma component by adding the first residual sample of the first chroma component and the prediction block, and may reconstruct the chroma block of the second chroma component by adding the derived second residual sample of the second chroma component and the prediction block (S1450).
[0170] Implementation 3
[0171] Embodiment 3 is a method for determining whether to derive a second residual sample from a first residual sample (ie, whether to allow (activate) and / or apply a second residual sample derivation method).
[0172] Whether to perform the second residual sample derivation method can be determined by various criteria. Various criteria may include: 1) the value of a syntax element (e.g., a flag) indicating whether derivation of the second residual sample is allowed and / or applied (i.e., whether it is on or off); 2) the prediction mode of the target block; 3) the range of the brightness component value, etc.
[0173] Criteria 1: Syntactic elements indicating on / off
[0174] The first syntax element and / or the second syntax element may be used to indicate whether to derive the second residual sample.
[0175] The first syntax element, as a syntax element indicating whether the second residual sample derivation method is allowed (or activated) (i.e., whether it is on or off), can be defined at various positions of the bitstream and signaled to the video decoding device. For example, the first syntax element can be defined and signaled at a CTU or higher level, or can be defined and signaled at one or more levels of a unit block (PU, TU, CU) level, a tile level, a tile group level, and a picture level.
[0176] The second syntax element, as a syntax element indicating whether the second residual sample derivation method is applied to the target block (chrominance block) (i.e., whether it is on or off for the target block), can be defined at various positions in the bitstream and signaled to the video decoding device. For example, the second syntax element can be defined and signaled at a CTU or higher level, or can be defined and signaled at one or more levels of a unit block (PU, TU, CU) level, a tile level, a tile group level, and a picture level.
[0177] According to an embodiment, the first syntax element may be defined and signaled at a relatively high level in the bitstream, and the second syntax element may be defined and signaled at a relatively low level in the bitstream. In this case, when the second residual sample derivation method is turned off at a higher level, the second syntax element is not signaled at a lower level, and even when the second residual sample derivation method is turned on at a higher level, it may be selectively determined whether to turn on or off at a lower level. Therefore, the bit efficiency of the second residual sample derivation method may be improved.
[0178] Fig.13 An example of determining whether to turn on or off the second residual sample derivation method is shown.
[0179] The video encoding device may determine whether the second residual sample derivation method is allowed, and may set the value of the first syntax element based on the result of the determination, and signal the first syntax element to the video decoding device. In addition, the video encoding device may determine whether to apply the second residual sample derivation method, and may set the value of the second syntax element to the result of the determination, and signal the second syntax element to the video decoding device.
[0180] The video decoding apparatus may decode a first syntax element from a bitstream ( S1510 ), and may determine whether to allow a second residual sample derivation method according to a value of the first syntax element ( S1520 ).
[0181] When the second syntax element indicates that the second residual sample derivation method is allowed (i.e., the first syntax element = 1; S1520), the video decoding device can decode the second syntax element from the bitstream (S1530). In addition, the video decoding device can determine whether to apply the second residual sample derivation method according to the value of the second syntax element (S1540).
[0182] When the second syntax element indicates that the second residual sample derivation method is applied to the target block (i.e., the second syntax element = 0; S1540), the video decoding device can derive the second residual sample (S1550) based on the relevant information and the first residual sample for the target block (or the relevant information, the first residual sample and the inter-chrominance difference value).
[0183] When the first syntax element indicates that the second residual sample derivation method is not allowed in operation S1520 (ie, the first syntax element = 0), or when the second syntax element indicates that the second residual sample derivation method is not applied in operation S1540, derivation of the second residual sample is not performed on the target block.
[0184] Criterion 2: Prediction mode of target block
[0185] Whether to turn on or off the second residual sample derivation method may be adaptively determined in consideration of or according to the prediction mode of the target block (chrominance block).
[0186] For example, when the chroma block is predicted in one of the intra mode, the inter mode, the IBC mode, and the palette mode, the derivation of the second residual sample may be turned on or off. As another example, when the chroma block is predicted in two or more of the intra mode, the inter mode, the IBC mode, and the palette mode (when the chroma block is predicted in one of the two or more modes), the derivation of the second residual sample may be turned on or off.
[0187] As another example, when the chroma block is predicted by a cross-component linear model (CCLM) or a direct mode (DM) in an intra prediction mode, the derivation of the second residual sample may be turned on or off. In this case, information indicating the turning on or off of the derivation of the second residual sample may be signaled to the video decoding device only when the chroma block is predicted by CCLM or DM.
[0188] As yet another example, when the chroma block is predicted by the bi-prediction mode or the merge mode in the inter mode, and when the chroma block is predicted with reference to the zeroth reference image, derivation of the second residual sample may be turned on or off. Only when the chroma block is predicted by the bi-prediction mode or the merge mode, or only when the chroma block is predicted with reference to the zeroth reference image, information indicating turning on or off of derivation of the second residual sample may be signaled to the video decoding apparatus.
[0189] The example of considering the prediction mode of the chroma block can be combined with the above-mentioned example of using the first syntax element and the second syntax element. For example, in operation S1520, when the first syntax element is equal to 1 and the prediction mode of the chroma block corresponds to the prediction mode of turning on the derivation of the second residual sample, the second syntax element can be decoded from the bitstream. (S1530). That is, the prediction mode of the chroma block can be considered to determine whether to decode the second syntax element.
[0190] Criterion 3: Range of values of the luminance component
[0191] The range of values of the luminance component (range of luminance values) may be divided into two or more parts, and depending on which of the divided parts the value of the luminance component of the target block belongs to, whether to apply the second residual sample derivation method may be determined.
[0192] For example, when the range of the value of the luminance component is divided into two parts (a first part and a second part), when the value of the luminance component of the target block belongs to the first part, the second residual sample derivation method will not be applied, and when the value of the luminance component of the target block belongs to the second part, the second residual sample derivation method can be applied, and vice versa.
[0193] Among the two or more parts, the part to which the second residual sample derivation method is not applied may correspond to the "visual perception part" to which the user's vision can react sharply, while the part to which the second residual sample derivation method is applied does not correspond to the "visual perception part". Accordingly, the second residual sample derivation method can be selectively applied only to the part other than the visual perception part, and not to the visual perception part, thereby preventing degradation of subjective image quality.
[0194] The partial value indicating the range of the first portion and one or more partial values indicating the range of the second portion may be signaled from the video encoding device to the video decoding device. According to an embodiment, the partial value may be preset between the video encoding device and the video decoding device without signaling.
[0195] Standard 4: Quantified Results
[0196] When the quantization coefficient of the second residual sample has a very small value due to the accuracy of the prediction of the second chrominance component (i.e., when a small number of quantization coefficients appear or exist), the second residual sample derivation method may be selectively applied. In addition, in this case, quantization of only a portion of the second residual sample instead of all (i.e., only some of the second residual samples are signaled) may not be omitted.
[0197] Other standards
[0198] When the delta-QP (DQP) of the luminance component is greater than or equal to a preset value, when the transform skip mode is not applied to the chroma block, or when the block differential coded modulation (BDPCM) mode is not applied to the target block, the second residual sample derivation method may or may not be applied to the target block.
[0199] When a picture including the target block is a gradual random access (GRA) picture or an instantaneous decoding recoding (IDR) picture for random access, the second residual sample derivation method may not be applied to the target block.
[0200] Although exemplary embodiments of the present invention have been described for illustrative purposes, it will be appreciated by those skilled in the art that various modifications and changes are possible without departing from the spirit and scope of the present invention. For the sake of brevity and clarity, exemplary embodiments have been described. Accordingly, it will be appreciated by those of ordinary skill that the scope of the embodiments is not limited by the embodiments explicitly described above, but is included in the claims and their equivalents.
Claims
1. A method for reconstructing a chrominance block of a target block to be reconstructed, the method comprising: decoding, from a bitstream, correlation information between a first residual sample and a second residual sample, a transform coefficient corresponding to the first residual sample, and prediction information of a chroma block, wherein the first residual sample is a residual sample of a first chroma component, and the second residual sample is a residual sample of a second chroma component, wherein information about the second residual sample is not decoded from the bitstream; generating, based on the prediction information, predicted samples of the first chroma component and predicted samples of the second chroma component; reconstructing first residual samples by performing an inverse transform on the transform coefficients; deriving a second residual sample by applying the relevant information to the first residual sample; and A chroma block of a first chroma component is reconstructed based on the first residual samples and the predicted samples of the first chroma component, and a chroma block of a second chroma component is reconstructed based on the second residual samples and the predicted samples of the second chroma component.
2. The method according to claim 1, wherein: The first chroma component is one of a Cb chroma component and a Cr chroma component, and the second chroma component is the other of the Cb chroma component and the Cr chroma component.
3. The method according to claim 1, wherein: Decoding includes: Decode relevant information at the picture level from the bitstream.
4. The method according to claim 1, wherein: The relevant information includes multiplication information for indicating a multiplication factor between the first residual sample and the second residual sample, and The deriving the second residual sample includes: deriving the second residual sample by applying a multiplication factor indicated by the multiplication information to the first residual sample.
5. The method according to claim 4, wherein: The related information further includes offset information, where the offset information is used to indicate an offset factor between the first residual sample and the second residual sample. The deriving the second residual sample includes: deriving 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.
6. The method according to claim 1, wherein: Decoding includes: decoding a first syntax element from a sequence parameter set level of the bitstream, the first syntax element indicating whether derivation of second residual samples is allowed; as well as When the first syntax element indicates that derivation of the second residual sample is allowed, decoding a second syntax element from a level below the sequence parameter set level in the bitstream, the second syntax element indicating whether derivation of the second residual sample is applied to the chroma block, The derivation of the second residual sample includes: when the second syntax element indicates that the derivation of the second residual sample is applied to the chrominance block, deriving the second residual sample.
7. The method according to claim 6, wherein: Decoding the second syntax element includes decoding the second syntax element taking into account a prediction mode of the target block.
8. A method for encoding a chrominance block of a target block, the method comprising: encoding the correlation information between the first residual sample and the second residual sample, the transform coefficient corresponding to the first residual sample, and the prediction information of the chrominance block into a bitstream, wherein the first residual sample is a residual sample of a first chroma component, and the second residual sample is a residual sample of a second chroma component, wherein information about the second residual sample is not encoded into the bitstream; generating, based on the prediction information, predicted samples of the first chroma component and predicted samples of the second chroma component; reconstructing first residual samples by performing an inverse transform on the transform coefficients; deriving a second residual sample by applying the relevant information to the first residual sample; and A chroma block of a first chroma component is reconstructed based on the first residual samples and the predicted samples of the first chroma component, and a chroma block of a second chroma component is reconstructed based on the second residual samples and the predicted samples of the second chroma component.
9. A method for transmitting a bitstream associated with video data, the method comprising: generating a bitstream by encoding a chrominance block of a target block; Sending a bitstream to a video decoding device, The generating of the bitstream includes: encoding the correlation information between the first residual sample and the second residual sample, the transform coefficient corresponding to the first residual sample, and the prediction information of the chrominance block into a bitstream, wherein the first residual sample is a residual sample of a first chroma component, and the second residual sample is a residual sample of a second chroma component, wherein information about the second residual sample is not encoded into the bitstream; generating, based on the prediction information, predicted samples of the first chroma component and predicted samples of the second chroma component; reconstructing first residual samples by performing an inverse transform on the transform coefficients; deriving a second residual sample by applying the relevant information to the first residual sample; and A chroma block of a first chroma component is reconstructed based on the first residual samples and the predicted samples of the first chroma component, and a chroma block of a second chroma component is reconstructed based on the second residual samples and the predicted samples of the second chroma component.
Citation Information
Patent Citations
Method for preparing block copolymer compositon, asphalt composition comprising the block copolymer composition prepared by the method
KR1020190056974A