Adaptive quantization parameter coding and decoding method and apparatus based on a quad-tree structure
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- DOLBY LABORATORIES LICENSING CORP
- Filing Date
- 2025-08-14
- Publication Date
- 2026-08-05
AI Technical Summary
【0009】 本発明の実施例に係るクアッドツリー構造に基づく適応的量子化/逆量子化パラメータ符号化及び復号化方法及び装置は、クアッドツリー構造にブロックが分割された場合に多様なレベルに量子化パラメータ差分値を割り当てることを可能にする。このような多様なレベルの量子化パラメータ差分値割当は、LCU単位で単一の量子化パラメータ値を割り当てることに比べて細密なビット量調整が可能になる。そして、ブロック単位の量子化/逆量子化パラメータ値を予測/復号化する時、クアッドツリー構造に基づくジグザグスキャン方式だけでなく、周辺ブロックのコンテキスト情報を利用して適応的に予測方向を決定することによって周辺ブロックとの量子化値の大きい差によって発生することができる主観画質の低下問題も解決することができる。
Smart Images

Figure 0007901224000001 
Figure 0007901224000002 
Figure 0007901224000003
Abstract
Description
Technical Field
[0001] The present invention relates to a video encoding / decoding apparatus and method. More specifically, for a CU (Coding Unit) within an LCU (Largest Coding Unit), a block having quantization / inverse quantization difference values is displayed based on a quad-tree structure, and a quantization / inverse quantization parameter value is adaptively predicted / decoded using context information of blocks located around the block to be encoded / decoded. The present invention relates to a video encoding / decoding method and apparatus.
[0002] HEVC encodes / decodes an input video in units of CUs (Coding Units). The largest-sized CU within a frame is called an LCU (Largest Coding Unit), and such an LCU can be divided into a plurality of CUs based on quad-tree splitting information and then encoded / decoded. The quantization parameter value of HEVC is assigned one value per LCU, and the quantization parameter value of the LCU to be currently encoded is predicted from the LCU located before it based on the raster scan order.
Background Art
[0003] H.264 / AVC performs encoding / decoding in units of macroblocks and has quantization / inverse quantization values in units of macroblocks. The quantization parameter value assigned to a macroblock unit is predicted from the quantization parameter value of the macroblock located on the left side within a frame. Encoding is performed by recording the corresponding value in the macroblock to be encoded for the difference value generated after the prediction process of the value of the quantization parameter. The decoder decodes the quantization parameter value by adding the quantization parameter difference value decoded in the entropy decoding step and the quantization parameter value of the macroblock located on the left side.
[0004] However, when LCUs that are relatively large compared to the size of the input video are assigned, it is not possible to effectively control the bitrate by using the quantization parameter values recorded per LCU. Also, when assigning quantization parameter values to CUs, the problem of subjective image quality degradation due to the difference in quantization parameter values with surrounding CUs occurs. Therefore, it is necessary to assign quantization parameter values to various block sizes, from CUs to LCUs, depending on the input video, and to optimize the prediction direction of the quantization parameters by utilizing the context information of blocks located around the block to be encoded. [Overview of the Initiative] [Problems that the invention aims to solve]
[0005] The problem that this invention aims to solve is to provide a method and apparatus for encoding / decoding quantization / de-quantization parameter values based on various quad tree structures based on CU partitioning information. Furthermore, such a quantization / de-quantization parameter encoding / decoding method and apparatus also provides a method and apparatus that can predict quantization / de-quantization parameter values in an effective direction by utilizing contextual information of surrounding blocks.
[0006] The problems to be solved by the present invention are not limited to the technical problems described above, and other technical problems not described will be clearly understood by those skilled in the art from the following description. [Means for solving the problem]
[0007] An embodiment of the present invention for solving the above-mentioned problems includes: a quantization difference value recording block unit determination unit that determines the unit of blocks on which quantization parameter difference values are recorded when an LCU in a video is divided into a plurality of CUs in a quad-tree form or encoded into a single CU; a quantization unit that performs quantization using the quantization values assigned to the block unit; a quantization prediction block determination unit that adaptively determines a prediction block using context information of surrounding blocks in order to predict the quantization values used in the block to be encoded; a quantization parameter difference value generation unit that generates a quantization difference value of the block to be encoded using the quantization parameters of the prediction block obtained based on the context information; and a quantization parameter recording unit that records division information for the quantization difference value recording block unit and the quantization parameter difference value in the corresponding block.
[0008] An embodiment of the present invention for solving the above-mentioned problems includes: an inverse quantization parameter difference value block partitioning flag derivation unit that decodes information for blocks having inverse quantization parameter difference values in LCU units; an inverse quantization difference value recording block unit determination unit that determines the block unit in which the inverse quantization difference value is recorded within the LCU using the decoded inverse quantization parameter difference value block partitioning flag; an inverse quantization parameter difference value derivation unit that decodes the inverse quantization parameter difference value using the inverse quantization parameter difference value block partitioning flag; an inverse quantization parameter value prediction block determination unit that determines the block used for prediction in order to decode the inverse quantization parameter value of the block to be decoded using context information of surrounding blocks; an inverse quantization parameter value derivation unit that decodes the inverse quantization parameter value used in the inverse quantization process; and an inverse quantization unit that performs inverse quantization using the decoded inverse quantization parameter value. [Effects of the Invention]
[0009] The adaptive quantization / dequantization parameter coding and decoding method and apparatus based on a quad-tree structure according to an embodiment of the present invention makes it possible to assign quantization parameter difference values to various levels when a block is divided into a quad-tree structure. Such assignment of quantization parameter difference values to various levels allows for finer bit amount adjustment compared to assigning a single quantization parameter value per LCU. Furthermore, when predicting / decoding quantization / dequantization parameter values on a block-by-block basis, the problem of subjective image quality degradation that can occur due to large differences in quantization values with surrounding blocks can be solved not only by a zigzag scan method based on a quad-tree structure, but also by adaptively determining the prediction direction using contextual information from surrounding blocks. [Brief explanation of the drawing]
[0010] [Figure 1a] As a first embodiment of the present invention, a method and apparatus for adaptively assigning quantization parameter values to blocks having a quad-tree structure in a video encoding device and encoding them is provided. [Figure 1b] As a first embodiment of the present invention, an adaptive inverse quantization parameter decoding method and apparatus based on a quad tree structure in a video decoding device is shown. [Figure 2] The configuration of a video decoding device is shown as a first embodiment of the present invention. [Figure 3] This shows a context for quantization difference value control based on a quad tree structure recorded in a sequence parameter set according to the first embodiment of the present invention. [Figure 4a] The variables set as initial values in the slice data according to the first embodiment of the present invention are shown. [Figure 4b] The variables set as initial values in the slice data according to the first embodiment of the present invention are shown. [Figure 5] This shows the quantization / inverse quantization parameter difference value recorded in CU units according to the first embodiment of the present invention, and the context of the conditions under which the corresponding difference value exists. [Figure 6a]The operation of the quantization difference value recording block unit determination unit and the inverse quantization difference value recording block unit determination unit according to an embodiment of the present invention is shown. [Figure 6b] The operation of the quantization difference value recording block unit determination unit and the inverse quantization difference value recording block unit determination unit according to an embodiment of the present invention is shown. [Figure 6c] The operation of the quantization difference value recording block unit determination unit and the inverse quantization difference value recording block unit determination unit according to an embodiment of the present invention is shown. [Figure 7a] The first embodiment of the present invention shows a quantization parameter value prediction block determination unit and an inverse quantization parameter value prediction block determination unit. [Figure 7b] The first embodiment of the present invention shows a quantization parameter value prediction block determination unit and an inverse quantization parameter value prediction block determination unit. [Figure 8a] The second embodiment of the present invention shows a quantization parameter value prediction block determination unit and an inverse quantization parameter value prediction block determination unit. [Figure 8b] The second embodiment of the present invention shows a quantization parameter value prediction block determination unit and an inverse quantization parameter value prediction block determination unit. [Figure 9a] The third embodiment of the present invention shows a quantization parameter value prediction block determination unit and an inverse quantization parameter value prediction block determination unit. [Figure 9b] The third embodiment of the present invention shows a quantization parameter value prediction block determination unit and an inverse quantization parameter value prediction block determination unit. [Figure 10a] The fourth embodiment of the present invention shows a quantization parameter value prediction block determination unit 102 and an inverse quantization parameter value prediction block determination unit 123. [Figure 10b] The fourth embodiment of the present invention shows a quantization parameter value prediction block determination unit 102 and an inverse quantization parameter value prediction block determination unit 123. [Figure 11a] The fifth embodiment of the present invention shows a quantization parameter value prediction block determination unit and an inverse quantization parameter value prediction block determination unit. [Figure 11b]The quantization parameter value prediction block determination unit and the inverse quantization parameter value prediction block determination unit according to the fifth embodiment of the present invention are shown.
Embodiment for Carrying Out the Invention
[0011] Hereinafter, an adaptive quantization / inverse quantization parameter encoding and decoding apparatus based on a quad tree structure according to an embodiment of the present invention will be described with reference to the accompanying drawings.
[0012] FIG. 1a shows a method and apparatus for adaptively assigning quantization parameter values to blocks having a quad tree structure in a video encoding apparatus as a first embodiment of the present invention and encoding the same.
[0013] Referring to FIG. 1a, an adaptive quantization parameter encoding method and apparatus based on a quad tree structure includes a quantization difference value recording block unit determination unit 100, a quantization unit 101, a quantization parameter value prediction block determination unit 102, a quantization parameter difference value generation unit 103, and a quantization parameter recording unit 104. [[ID=十七]]
[0014] The quantization difference value recording block unit determination unit 100 determines a block unit so that quantization difference values can be recorded for each CU unit or a bundle of a plurality of CUs based on the CU division information of the corresponding LCU in the LCU unit in the video. Information on the block for recording the quantization difference value can be configured in a quad tree structure.
[0015] The quantization unit 101 performs quantization on the input block using the value of the quantization parameter assigned to the block.
[0016] The quantization parameter value prediction block determination unit 102 determines a prediction block to be used for predicting quantization values using the context information of CUs located around the corresponding CU in order to effectively encode the quantization values assigned to each CU or an arbitrary CU. As context information, the block size, block position, block prediction mode, etc. are used.
[0017] The quantization parameter difference value generation unit 103 generates a quantization parameter difference value by subtracting the quantization value of the current block from the quantization parameter value of the quantization value prediction block determined by the quantization parameter value prediction block determination unit 102.
[0018] The quantization parameter recording unit 104 provides a sequence parameter set, flag information to be applied / not applied per slice, flag information used to indicate block division information including quantization difference values in the LCU, and quantization difference values for adaptive quantization parameter coding based on a quad tree structure.
[0019] Figure 1b shows an adaptive inverse quantization parameter decoding method and apparatus based on a quad tree structure in a video decoding device as a first embodiment of the present invention.
[0020] Referring to Figure 1b, the adaptive inverse quantization parameter decoding method and apparatus based on a quad tree structure includes an inverse quantization parameter difference value block partitioning flag derivation unit 120, an inverse quantization difference value recording block unit determination unit 121, an inverse quantization parameter difference value derivation unit 122, an inverse quantization parameter value prediction block determination unit 123, an inverse quantization parameter value derivation unit 124, and an inverse quantization unit 125.
[0021] The inverse quantization parameter difference value block partitioning flag derivation unit 120 decodes the block partitioning flag for blocks that have inverse quantization parameter difference values in LCU units in the sequence parameter set and slice data.
[0022] The inverse quantization difference value recording block unit determination unit 121 determines the block on which the inverse quantization parameter difference value is recorded using the decoded inverse quantization parameter difference value block partitioning flag and CU partitioning flag. The information of the block on which the quantization difference value is recorded is organized into a quad tree structure.
[0023] The inverse quantization parameter difference value derivation unit 122 derives the inverse quantization parameter difference value for each block determined by the inverse quantization difference value recording block unit determination unit 121.
[0024] The inverse quantization parameter value prediction block determination unit 123 adaptively determines which block to reference when performing inverse quantization, using context information of surrounding blocks. Context information includes block size, block position, and block prediction mode.
[0025] The inverse quantization parameter value derivation unit 124 derives the inverse quantization parameter value to be used by the inverse quantization unit 125 by adding the inverse quantization parameter value of the prediction block calculated via the inverse quantization parameter value prediction block determination unit 123 and the inverse quantization parameter difference value calculated by the inverse quantization parameter difference value derivation unit 122.
[0026] The inverse quantization unit 125 performs inverse quantization on the input block using parameters calculated by the inverse quantization parameter value derivation unit 124.
[0027] Figure 2 shows the configuration of a video decoding device as a first embodiment of the present invention.
[0028] Referring to Figure 2, the video decoding device includes an entropy decoding unit 200, a quad-tree based inverse quantization parameter derivation unit 210, a realignment unit 220, an inverse quantization unit 230, an inverse discrete cosine transform coding unit 240, an intra / inter prediction unit 250, and a filtering unit 260.
[0029] The entropy decoding unit 200 includes an inverse quantization parameter difference value block partition flag derivation unit 120 that derives block partition flags used for adaptive inverse quantization based on a quad tree structure, an inverse quantization difference value recording block unit determination unit 121 that determines the block in which the quantization parameters are recorded from the derived block partition flag, and an inverse quantization parameter difference value derivation unit 122 that decodes the inverse quantization parameter difference value recorded in the corresponding block.
[0030] The quad-tree-based inverse quantization parameter derivation unit 210 includes an inverse quantization parameter value prediction block determination unit 123 that determines the prediction block to be referenced when decoding the inverse quantization parameter, and an inverse quantization parameter value derivation unit 124 that calculates the inverse quantization parameter by adding the inverse quantization parameter of the prediction block and the derived inverse quantization parameter difference value. The relevant block performs the role of restoring the inverse quantization parameter for the block in the quad-tree structure.
[0031] Figure 3 shows the context for quantization difference value control based on a quad tree structure recorded in the sequence parameter set according to the first embodiment of the present invention.
[0032] When the value of cu_qp_delta_enabled_flag(300) in the sequence parameter set is 1, it means that the quantization / dequantization parameter difference values can be controlled for a wide range of quad tree blocks, from the smallest CU to the largest CU, across all slices in the sequence.
[0033] Figure 4a shows the variables that are set as initial values in the slice data according to the first embodiment of the present invention.
[0034] When a slice is divided into a quad-tree structure for encoding / decoding, it is first divided into LCU units, which are the largest quad-tree units, and encoding / decoding is performed on each LCU in the order of the sequential scanning scheme. When encoding / decoding each LCU, it can be divided again into multiple CU regions based on the quad-tree structure, and this division process can be carried out up to the size of the smallest CU.
[0035] In Figure 4a, isCuQpDeltaCoded400 is a variable that controls the quantization / dequantization parameter difference value that can be recorded at each CU when any CU is again divided into N CUs. This value is always initialized to 0 before encoding / decoding is performed for each LCU in the slice.
[0036] In Figure 4a, the coding_tree401 function is a function that performs encoding / decoding for one LCU within a slice. The fourth factor value of this function is a flag indicating whether a quantization / dequantization parameter difference value exists within the corresponding CU. Since a minimum of one quantization / dequantization parameter difference value is recorded per LCU, this value is always called to 1 before encoding / decoding each LCU within the slice.
[0037] Figure 4b shows the context for the inverse quantization parameter difference value block partitioning recorded in the coding tree block according to the first embodiment of the present invention.
[0038] A coding tree block represents the context for a CU. A 2N×2N CU is split into four N×N CUs by split_coding_unit_flag420 before being coded / decoded. Alternatively, it is coded / decoded as a 2N×2N CU without being split into smaller CUs.
[0039] The current CU receives input cu_qp_delta_exist_flag421, which is a flag indicating whether a quantization / dequantization parameter difference value exists in the higher-level CU. Then, if the current CU of size 2N×2N is split again into N×N CUs by the split_coding_unit_flag420 value, split_qp_delta_flag422 is additionally encoded / decoded. Such additional splitting information is encoded / decoded only if the value of cu_qp_delta_enable_flag300 recorded in the sequence parameter set and cu_qp_delta_exist_flag421 input from the higher CU are 1. The value of split_qp_delta_flag422 is encoded / decoded only if the current CU of size 2N×2N is split into N×N, and this value is input as the value of cu_qp_delta_exist_flag421 when encoding / decoding the lower N×N CU.
[0040] If the value of split_qp_detla_flag422 is 0, the current CU of size 2N×2N is divided into N×N CUs, but the size of the block that records the quantization / dequantization parameter difference value will not be further divided from 2N×2N into N×N blocks. If the value of split_qp_detla_flag422 is 0, the value of IsCuQpDeltaCoded400 is also initialized to 0 so that if the CU is divided into N×N CUs, the quantization / dequantization parameter difference value will only be recorded in the first N×N CU.
[0041] Figure 5 shows the quantization / inverse quantization parameter difference values recorded in CU units according to the first embodiment of the present invention, and the context of the conditions under which these difference values exist.
[0042] If a CU is not in skip mode, the quantization / dequantization parameter difference value is recorded in that CU. If the values of cu_qp_delta_exist_flag500 and 421 are 1, it means that the quantization / dequantization parameter difference value exists in the current CU, and in such cases, the value of cu_qp_delta501 is recorded per CU depending on the value of cu_qp_delta_enabled_flag300 recorded in the sequence parameter set. For example, if the values of cu_qp_delta_exist_flag500 and 421 are 1, and the value of cu_qp_delta_enabled_flag300 is 0, then cu_qp_delta501 is not recorded.
[0043] As another example, when a 2N×2N CU in a quad-tree structure is split into four N×N CUs, only one quantization / dequantization parameter difference value can be recorded. In this case, the quantization / dequantization parameter difference value is recorded in the first of the four CUs, and not in the remaining three CUs. In this case, the value of split_qp_delta_flag422 encoded / decoded by the 2N×2N CU is 0, so the value of cu_qp_delta_exist_flag500 input to the N×N CU is also 0. Therefore, cu_qp_delta501 basically does not exist in the four split N×N CUs, but by using the IsCuQpDeltaCoded variable, it is possible to record the value of cu_qp_delta501 in the first N×N CU. For the remaining three CUs, the cu_qp_delta501 value is not recorded because the first CU decodes cu_qp_delta501 and then changes the IsCuQpDeltaCoded value to 1.
[0044] In such cases, the condition of the value of cu_qp_delta_enabled_flag300 recorded in the sequence parameter set is checked simultaneously, and only if that value is 1 can the value of cu_qp_delta501 be recorded.
[0045] Figure 6a shows the operation of the quantization difference value recording block unit determination unit 100 and the inverse quantization difference value recording block unit determination unit 121 according to the first embodiment of the present invention.
[0046] The 2N×2N LCU to be encoded / decoded is divided into four N×N CUs, and each CU is divided again for processing. Even though the 2N×2N LCU is divided into multiple CUs for encoding / decoding in this way, if the value of split_qp_delta_flag422 is 0, as shown in Figure 6a, the quantization / dequantization parameter difference value is recorded in the first CU of the LCU. The remaining CUs of the LCU use the quantization / dequantization parameter value recovered in the first CU as is.
[0047] Figure 6b shows the operation of the quantization difference value recording block unit determination unit 100 and the inverse quantization difference value recording block unit determination unit 121 according to a second embodiment of the present invention.
[0048] A 2N×2N LCU to be encoded / decoded is split into four CUs in the first step, and the second of these CUs is split again. In this case, when the flag for the CU split is encoded / decoded in the first step, the split flags for the quantization / dequantization parameter values, split_qp_delta_flag422 and 630, are also encoded / decoded. If the value is 1, it means that all four split CUs have quantization / dequantization parameter difference values, so the split flags for the quantization / dequantization parameter values, split_qp_delta_flag422 and 631, are also encoded / decoded in the same step.
[0049] Even in this case, the second N×N CU is split up to the third step, but because the block splitting flags for quantization / dequantization, split_qp_delta_flag422 and 631, are 0, a single quantization / dequantization parameter value is assigned to multiple CUs.
[0050] Figure 6c shows the operation of the quantization difference value recording block unit determination unit 100 and the inverse quantization difference value recording block unit determination unit 121 according to a third embodiment of the present invention.
[0051] Figure 6c shows the case where a 2N×2N LCU to be encoded / decoded is divided into 4 CUs in the first step, and the second of these CUs is divided again. Even when the second CU is divided into 4 CUs again, and the divided CU is divided into 4 CUs again, the size of the block in which the quantization / dequantization parameter difference values are recorded can be determined via the values of split_qp_delta_flag422 and 661. Figure 6c shows that although the CU is divided into up to 3 depth information units, the quantization / dequantization parameter difference values relatively have up to 2 depth information units.
[0052] Figure 7a shows the quantization parameter value prediction block determination unit 102 and the inverse quantization parameter value prediction block determination unit 123 according to the first embodiment of the present invention.
[0053] The encoder assigns quantization parameter values to CU blocks determined via the quantization difference value recording block unit determination unit 100, and uses the previously used quantization parameter values for the remaining CU blocks. In this case, the quantization parameter values are predicted using the quantization parameter values of the previous block, and only the quantization parameter difference values are actually encoded.
[0054] In the decoder, after the inverse quantization parameter difference value is decoded in the inverse quantization parameter difference value derivation unit 122, the corresponding difference value is added to the inverse quantization parameter value of the block used for prediction to calculate the inverse quantization parameter value.
[0055] The quantization parameter value prediction block determination unit 102 and the inverse quantization parameter value prediction block determination unit 123 each determine the surrounding blocks to be referenced when predicting the quantization parameter values of the current block in the encoder and decoder, respectively.
[0056] In Figure 7a, to predict the corresponding values in the case where quantization / dequantization parameter values are assigned to the CU720 to be encoded / decoded, the mean, minimum, and maximum values of the quantization parameter values of the CU(712, 702; Lc, Tc) with the largest block size at each boundary, among the CU(710, 711, 712; La, Lb, Lc) located adjacent to the left boundary of the current CU720 and the CU(700, 701, 702; Ta, Tb, Tc) located adjacent to the upper boundary, are used.
[0057] Figure 7b shows another example of the quantization parameter value prediction block determination unit 102 and the inverse quantization parameter value prediction block determination unit 123 according to the first embodiment of the present invention.
[0058] Even when an LCU is divided into multiple CUs for encoding / decoding, the CU with the largest block size among the CUs adjacent to the current CU750 to be encoded / decoded is selected at the left boundary and upper boundary. Then, the average, minimum, and maximum values of the quantization parameter values used by the two CUs are used to predict the quantization parameter values of the current CU.
[0059] Figure 8a shows a quantization parameter value prediction block determination unit 102 and an inverse quantization parameter value prediction block determination unit 123 according to a second embodiment of the present invention.
[0060] When predicting the quantization parameter values of the current CU840 to be encoded / decoded, the largest block of CUs located adjacent to the CU in question is referenced. In such cases, if there are multiple CUs of the largest size, the uppermost adjacent CU (820;La) is selected at the left boundary, and the leftmost adjacent CU (800;Ta) is preferred at the upper boundary, and the average, maximum, and minimum values of the quantization parameter values of that CU are used.
[0061] Figure 8b shows another example of the quantization parameter value prediction block determination unit 102 and the inverse quantization parameter value prediction block determination unit 123 according to a second embodiment of the present invention.
[0062] Even when an LCU is divided into multiple CUs for encoding / decoding, the system references the CU with the largest block size among the CUs adjacent to the current CU890 to be encoded / decoded. In this case, if there are multiple CUs with the largest block size on the left boundary, the uppermost adjacent CU (870;La) is used as the reference block. If there are also multiple CUs with the largest block size on the upper boundary, the leftmost adjacent CU (850;Ta) is used as the reference block. After determining the reference blocks on the left and upper sides in this way, the system calculates the maximum, minimum, and average values of the quantization values of the two blocks, and then uses these values to predict the quantization parameter values of the CU890 to be encoded / decoded.
[0063] Figure 9a shows a quantization parameter value prediction block determination unit 102 and an inverse quantization parameter value prediction block determination unit 123 according to a third embodiment of the present invention.
[0064] When predicting the quantization parameter values of the current CU920 to be encoded / decoded, all referenceable CUs (900, 901, 902, 910, 911, 912; Ta, Tb, Tc, La, Lb, Lc) located adjacent to the CU in question are selected as reference blocks. Using the maximum, minimum, and average values of the quantization parameter values of all such referenceable CUs, the encoder predicts the quantization parameter values of the CU920 to be encoded, and then encodes the quantization parameter difference value.
[0065] The decoder decodes the inverse quantization parameter value of CU920, which is being decoded, by adding the maximum, minimum, and average values of the inverse quantization parameter values of all CUs that can reference the decoded quantization parameter difference value.
[0066] Figure 9b shows another example of the quantization parameter value prediction block determination unit 102 and the inverse quantization parameter value prediction block determination unit 123 according to a third embodiment of the present invention.
[0067] Even when the CU950 to be encoded / decoded is located within the LCU, the quantization parameter values are predicted using all referenceable CUs (930, 931, 932, 940, 941, 942; La, Lb, Lc, Ta, Tb, Tc) located adjacent to the CU in question.
[0068] The encoder predicts the quantization parameter value of the CU950 to be encoded using the average, maximum, and minimum values of the quantization parameter values of all other referenced CUs in the vicinity, and then encodes only the difference between these values.
[0069] In the decoder, when recovering the inverse quantization parameter value of the CU950 to be decoded, the inverse quantization parameter value is decoded by adding it to the average, maximum, and minimum values of the inverse quantization parameter values of all other referenced CUs in the vicinity.
[0070] Figure 10a shows a quantization parameter value prediction block determination unit 102 and an inverse quantization parameter value prediction block determination unit 123 according to a fourth embodiment of the present invention.
[0071] When encoding / decoding CU1020 located at the LCU boundary, the CU with the largest block size (1012; Tc) is referenced from among the CUs (1010, 1011, 1012; La, Lb, Lc) that are adjacent to the left boundary of the CU in question. In this case, if there is one or more CUs with the largest block size among the CUs that are accessible at the left boundary, the CU located furthest to the top of those blocks is selected as the reference block.
[0072] The encoder first predicts the quantization parameter value of CU1020 to be encoded as the quantization parameter value of CU(1012;Tc), which is selected as a reference block at the left boundary, and then encodes the difference.
[0073] The decoder first decodes the inverse quantization parameter difference value of CU1020 to be decoded, and then decodes the inverse quantization parameter value by adding the inverse quantization parameter value of CU(1012;Tc), which is selected as the reference block at the left boundary.
[0074] Figure 10b shows another example of the quantization parameter value prediction block determination unit 102 and the inverse quantization parameter value prediction block determination unit 123 according to the fourth embodiment of the present invention.
[0075] When an LCU is divided into multiple CUs for encoding / decoding, the CU with the largest block size (1030;La) is referenced from among the CUs (1030, 1031, 1032;La, Lb, Lc) located adjacent to the left boundary of CU1050 to be encoded / decoded. In this case, if there is one or more CUs with the largest block size at the left boundary, the CU (1030;La) located furthest to the top adjacent among those blocks is selected as the reference block.
[0076] The encoder first predicts the quantization parameter value of CU1050 to be encoded as the quantization parameter value of CU(1030;La), which is selected as a reference block at the left boundary, and then encodes the difference.
[0077] The decoder first decodes the inverse quantization parameter difference value of CU1050 to be decoded, and then decodes the inverse quantization parameter value by adding the inverse quantization parameter value of CU(1030;La), which is selected as a reference block at the left boundary.
[0078] Figure 11a shows a quantization parameter value prediction block determination unit 102 and an inverse quantization parameter value prediction block determination unit 123 according to a fifth embodiment of the present invention.
[0079] When encoding / decoding CU1120 located at the LCU boundary, all referenceable CUs (1110, 1111, 1112; La, Lb, Lc) adjacent to the left boundary of the CU in question are used as reference blocks.
[0080] The encoder first predicts the quantization parameter value of CU1120 to be encoded using the mean, maximum, and minimum values of the quantization parameter values of the referenced CUs (1110, 1111, 1112; La, Lb, Lc) adjacent to the left boundary, and then encodes only the difference.
[0081] The decoder first decodes the inverse quantization parameter difference value of CU1120 to be decoded, and then adds the average, maximum, and minimum values of the inverse quantization parameter values of the referenced CUs (1110, 1111, 1112; La, Lb, Lc) adjacent to the left boundary to decode the inverse quantization parameter value of CU1120 to be decoded.
[0082] Figure 11b shows another example of the quantization parameter value prediction block determination unit 102 and the inverse quantization parameter value prediction block determination unit 123 according to the fifth embodiment of the present invention.
[0083] When an LCU is divided into multiple CUs for encoding / decoding, all referable CUs located adjacent to the left boundary of the CU1150 to be encoded / decoded are used as reference blocks.
[0084] The encoder first predicts the quantization parameter value of the CU1150 to be encoded using the average, minimum, and maximum values of the quantization parameter values of all referenced CUs located adjacent to the left boundary, and then encodes the difference value.
[0085] The decoder first decodes the inverse quantization parameter difference value of the CU1150 to be decoded, and then decodes the inverse quantization parameter value by adding the average, minimum, and maximum values of the quantization parameter values of all referenced CUs located adjacent to the left boundary.
Claims
1. A video encoding method, The first step is to determine a block that has one quantization difference value, The steps include: performing inverse quantization on the first block using the inverse quantization parameter values assigned to the first block; The steps include determining multiple second blocks used for predicting inverse quantization parameter values, The steps include determining the quantization difference value by subtracting the predicted inverse quantization parameter value determined by the inverse quantization parameter value prediction from the inverse quantization parameter value, Equipped with, When the first block is divided into a plurality of subblocks, the quantization difference value is encoded for the first subblock within the first block, and the quantization difference value is not encoded for the other subblocks within the first block. The other subblocks use the same quantization parameter values as the first subblock, If the SKIP mode is not applied to the first block, the quantization difference value of the first block is encoded. Whether the aforementioned SKIP mode is applied is encoded as flag information. The video encoding method is characterized in that the plurality of second blocks include the uppermost block among a plurality of adjacent blocks adjacent to the left of the first block.
2. A video decoding method, A step of determining a first block having one quantization difference value, The steps include determining multiple second blocks used for predicting inverse quantization parameter values, The steps include determining the inverse quantization parameter value by adding the predicted inverse quantization parameter value determined by the inverse quantization parameter value prediction to the quantization difference value, The steps include: performing inverse quantization using the obtained inverse quantization parameter values; Equipped with, When the first block is divided into a plurality of subblocks, the quantization difference value is signaled for the first subblock within the first block, and the quantization difference value is not signaled for the other subblocks within the first block. The other subblocks use the same quantization parameter values as the first subblock, If the SKIP mode is not applied to the first block, the quantization difference value of the first block is decoded. Whether the aforementioned SKIP mode is applied is determined based on flag information in the bitstream. The video decoding method is characterized in that the plurality of second blocks include the uppermost block among a plurality of adjacent blocks adjacent to the left of the first block.
3. A method for transmitting a bitstream, wherein the method for transmitting the bitstream is: A step of determining a first block having one quantization difference value, The steps include: performing inverse quantization on the first block using the inverse quantization parameter values assigned to the first block; The steps include determining multiple second blocks used for predicting inverse quantization parameter values, The steps include determining the quantization difference value by subtracting the predicted inverse quantization parameter value determined by the inverse quantization parameter value prediction from the inverse quantization parameter value, The steps include encoding the quantization difference value into the bitstream, The steps include transmitting the bitstream containing the encoded quantization difference value, Equipped with, When the first block is divided into a plurality of subblocks, the quantization difference value is encoded for the first subblock within the first block, and the quantization difference value is not encoded for the other subblocks within the first block. The other subblocks use the same quantization parameter values as the first subblock, If the SKIP mode is not applied to the first block, the quantization difference value of the first block is encoded. Whether the aforementioned SKIP mode is applied is encoded as flag information. A method for transmitting a bitstream, characterized in that the plurality of second blocks include the uppermost block among a plurality of adjacent blocks adjacent to the left of the first block.