CROSS-REFERENCE TO RELATED APPLICATIONS; BENEFIT CLAIMThisMore than one Reissue Application has been filed for the reissue of U.S. Pat. No. 9,066,098, issued on Jun. 23, 2015. The reissue applications are application Ser. Nos. 14/815,325, filed on Jul. 31, 2015 (now U.S. Pat. No. RE47,465, issued on Jun. 25, 2019); 14/815,532, filed on Jul. 31, 2015 (now U.S. Pat. No. RE46,678, issued on Jan. 16, 2018); and 16/407,669 (the present application), filed on May 9, 2019. The present application claims the benefit as a Reissue Continuation Application of U.S. application Ser. No. 14/815,325, filed Jul. 31, 2015, which is a Reissue Application from U.S. Pat. No. 9,066,098 issued on Jun. 23, 2015 and filed Dec. 30, 2014, which is a Continuation Application of U.S. application Ser. No. 14/096,211, filed on Dec. 4, 2013 (now U.S. Pat. No. 8,964,834, issued on Feb. 24, 2015), which is a Continuation Application of PCT Application No. PCT/KR2012/004881, filed on Jun. 20, 2012 and published as WO 2012/177051 on Dec. 27, 2012, which claims priority to Korean Patent Application No. 10-2011-0060058, filed on Jun. 21, 2011 in the Korean Intellectual Property Office, the entire disclosures of which are incorporated herein by reference for all purposes. Applicants hereby rescind any disclaimer of claim scope in the parent application(s) or the prosecution history thereof and advise the USPTO that the claims in this application may be broader than any claim in the parent application(s).
TECHNICAL FIELDThe present invention relates to an apparatus and a method of encoding/decoding a video, and more particularly, to a video encoding/decoding method and apparatus which displays a block having a quantization/dequantization differential value based on a quadtree with respect to coding units (CUs) in a largest coding unit (LCU) and adaptively predicts/decodes a quantization/dequantization parameter value using context information on blocks neighboring to a block to encode/decode.
High Efficiency Video Coding (HEVC) encodes/decodes an input picture by a coding unit (CU). A CU with a largest size in a frame is referred to as a largest coding unit (LCU), which is split into a plurality of CUs based on quadtree splitting information for encoding/decoding. In HEVC, one quantization parameter value is allocated to an LCU, and a quantization parameter value for a current LCU to encode is predicted from a previous LCU according to raster scan order.
BACKGROUND ARTIn H.265/AVC, encoding/decoding is carried out on a macroblock unit, and a quantization/dequantization value is allocated to each macroblock. A quantization parameter value allocated to each macroblock is predicted from a quantization parameter value of a macroblock located on the left in a frame. A differential value which is generated after prediction of the quantization parameter value is written in a macroblock to encode, thereby conducting encoding. A decoder decodes the quantization parameter value by adding the quantization parameter differential value decoded in entropy decoding and the quantization parameter value of the left macroblock.
However, when a large LCU is allocated as compared with a size of an input picture, a bit rate may not be effectively controlled using a quantization parameter value stored by an LCU. Further, when a quantization parameter value is allocated by a CU, subjective deterioration in image quality may occur due to a difference in quantization parameter value from neighboring CUs. Thus, there is a need for a method of allocating quantization parameter values to various block sizes ranging from a CU to an LCU depending on an input picture and of optimally predicting a quantization parameter using context information on blocks neighboring to a block to encode.
DISCLOSURETechnical ProblemAn aspect of the present invention is to provide a method and an apparatus for encoding/decoding quadtree-based quantization/dequantization parameter values based on splitting information on a CU. The quantization/dequantization parameter encoding/decoding method and apparatus are capable of predicting quantization/dequantization parameter values in an effective manner using context information on neighboring blocks.
Technical problems of the present invention are not limited to those mentioned above, and those skilled in the art may understand additional problems not stated herein based on the following description.
Technical SolutionAn embodiment of the present invention provides a video encoding apparatus which includes a quantization differential value storing block unit determination module to determine a block unit to store a quantization parameter (QP) differential value in splitting a largest coding unit (LCU) of a picture into a plurality of CUs in a quadtree or encoding into a single CU, a quantization module to perform quantization using a quantization value allocated to each block unit, a quantization prediction block determination module to adaptively determine a prediction block using context information on a neighboring block so as to predict a quantization value used by a block to encode, a QP differential value generation module to generate a quantization differential value of the block to encode using a QP of the prediction block determined based on the context information, and a QP storage module to store splitting information on a quantization differential value storage block unit and QP differential values of a corresponding block.
Another embodiment of the present invention provides a video decoding apparatus which includes a dequantization parameter differential value block splitting flag deriving module to decode information on a block having a dequantization parameter differential value in an LCU, a dequantization differential value storage block unit determination module to determine the block having the dequantization parameter differential value in the LCU using a decoded dequantization parameter differential value block splitting flag, a dequantization parameter differential value deriving module to decode a dequantization parameter differential value according to the dequantization parameter differential value block splittting flag, a dequantization parameter value prediction block determination module to determine a block used for prediction based on context information on a neighboring block so as to decode a dequantiation parameter value of a block to decode, a dequantization parameter value deriving module to decode the dequantization parameter value used for dequantization, and a dequantization module to perform dequantization using the decoded dequantization parameter value.
Advantageous EffectsQuadtree-based adaptive quantization/dequantization parameter encoding and decoding methods and apparatuses according to exemplary embodiments of the present invention enable allocation of different levels of quantization parameter differential values when a block is split in a quadtree. Such allocation of different levels of quantization parameter differential values allows accurate adjustment of bit rate as compared with allocation of a single quantization parameter value in an LCU. Further, in predicting/decoding a quantization/dequantization parameter value for each block unit, a prediction direction may be adaptively determined using not only quadtree-based zigzag scanning but also context information on neighboring blocks, thereby resolving subjective deterioration in image quality which may occur due to a substantial difference in quantization value from neighboring blocks.
DESCRIPTION OF DRAWINGSFIG.1A illustrates as for a method and an apparatus for adaptively allocating a quantization parameter (QP) value to a block having a quadtree structure and encoding the QP value in a video encoding apparatus according a first exemplary embodiment of the present invention.
FIG.1B illustrates as for a quadtree-based adaptive dequantization parameter decoding method and apparatus in a video decoding apparatus according the first exemplary embodiment of the present invention.
FIG.2 illustrates as for a configuration of the video decoding apparatus according to the first exemplary embodiment of the present invention.
FIG.3 illustrates as for a context for controlling a quadtree-based quantization differential value recorded in a sequence parameter set according to the first exemplary embodiment of the present invention.
FIG.4A illustrates as for variables set to initial values in slice data according to the first exemplary embodiment of the present invention.
FIG.4B illustrates as for variables set to initial values in slice data according to the first exemplary embodiment of the present invention.
FIG.5 illustrates as for a context of a quantization/dequantization parameter differential value stored by a CU and conditions in which the differential value exists according to the first exemplary embodiment of the present invention.
FIG.6A illustrates as for operations in a quantization differential value storage block unit determination module and a dequantization differential value storage block unit determination module according to an exemplary embodiment of the present invention.
FIG.6B illustrates as for operations in a quantization differential value storage block unit determination module and a dequantization differential value storage block unit determination module according to an exemplary embodiment of the present invention.
FIG.6C illustrates as for operations in a quantization differential value storage block unit determination module and a dequantization differential value storage block unit determination module according to an exemplary embodiment of the present invention.
FIG.7A illustrates as for operations in a QP value prediction block determination module and a dequantization parameter value prediction block determination module according to the first exemplary embodiment of the present invention.
FIG.7B illustrates as for operations in a QP value prediction block determination module and a dequantization parameter value prediction block determination module according to the first exemplary embodiment of the present invention.
FIG.8A illustrates as for operations in a QP value prediction block determination module and a dequantization parameter value prediction block determination module according to a second exemplary embodiment of the present invention.
FIG.8B illustrates as for operations in a QP value prediction block determination module and a dequantization parameter value prediction block determination module according to a second exemplary embodiment of the present invention.
FIG.9A illustrates as for operations in a QP value prediction block determination module and a dequantization parameter value prediction block determination module according to a third exemplary embodiment of the present invention.
FIG.9B illustrates as for operations in a QP value prediction block determination module and a dequantization parameter value prediction block determination module according to a third exemplary embodiment of the present invention.
FIG.10A illustrates as for operations in a QP value predictionblock determination module102 and a dequantization parameter value predictionblock determination module123 according to a fourth exemplary embodiment of the present invention.
FIG.10B illustrates as for operations in a QP value predictionblock determination module102 and a dequantization parameter value predictionblock determination module123 according to a fourth exemplary embodiment of the present invention.
FIG.11A illustrates as for operations in a QP value prediction block determination module and a dequantization parameter value prediction block determination module according to a fifth exemplary embodiment of the present invention.
FIG.11B illustrates as for operations in a QP value prediction block determination module and a dequantization parameter value prediction block determination module according to a fifth exemplary embodiment of the present invention.
MODE FOR INVENTIONHereinafter, quadtree-based adaptive quantization/de-quantization parameter encoding and decoding apparatuses according to an exemplary embodiments of the present invention will be described with reference to the accompanying drawings.
FIG.1A illustrates a method and an apparatus for adaptively allocating a quantization parameter (QP) value to a block having a quadtree structure and encoding the QP value in a video encoding apparatus according a first exemplary embodiment of the present invention.
Referring toFIG.1A, a quadtree-based adaptive quantization parameter encoding method and apparatus include a quantization differential value storage blockunit determination module100, aquantization module101, a QP value predictionblock determination module102, a QP differentialvalue generation module103, and aQP storage module104.
The quantization differential value storage blockunit determination module100 may determine a block unit to record a quantization differential value for each coding unit (CU) or a group of a plurality of CUs based on information on splitting of a largest coding unit (LCU) of a picture into CUs. Information on a block storing the quantization differential value may have a quadtree structure.
Thequantization module101 performs quantization on an input block using a QP value allocated to the block.
The QP value predictionblock determination module102 determines a prediction block to be used for prediction of a quantization value allocated to each CU or arbitrary CU using context information on a CU neighboring to the CU so as to effectively encode the quantization value. The context information may include a size of the block, a location of the block, and a prediction mode for the block.
The QP differentialvalue generation module103 generates a QP differential value by subtracting a quantization value of the current block from a QP value of the quantization value prediction block determined by the QP value predictionblock determination module102.
TheQP storage module104 serves to entropy-encode a sequence parameter set, flag information on application/non-application by a slice unit, flag information used to indicate splitting information on a block including a quantization differential value, and a QP differential value for quadtree-based adaptive QP encoding.
FIG.1B illustrates a quadtree-based adaptive dequantization parameter decoding method and apparatus in a video decoding apparatus according the first exemplary embodiment of the present invention.
Referring toFIG.1B, the quadtree-based adaptive dequantization parameter decoding method and apparatus includes a dequantization parameter differential value block splittingflag deriving module120, a dequantization differential value storage blockunit determination module121, a dequantization parameter differentialvalue deriving module122, a dequantization parameter value predictionblock determination module123, a dequantization parametervalue deriving module124, and adequantization module125.
The dequantization parameter differential value block partitionflag deriving module120 decodes a sequence parameter set and a block partition flag for a block having a dequantization parameter differential value by an LCU in slice data.
The dequantization differential value storage blockunit determination module121 determines blocks to record dequantization parameter differential values using the decoded dequantization parameter differential value block splitting flag and a CU splitting flag. Information on a block to record a quantization differential value may have a quadtree structure.
The dequantization parameter differentialvalue deriving module122 derives a dequantization parameter differential value of each block determined by the dequantization differential value storage blockunit determination module121.
The dequantization parameter value predictionblock determination module123 derives determines a block for adaptive reference using context information on a neighboring block in dequantization. The context information may include a size of the block, a location of the block, and a prediction mode for the block.
The dequantization parametervalue deriving module124 derives a dequantization parameter value used for thedequantization module125 by adding a dequantization parameter value of a prediction block derived by the dequantization parameter value predictionblock determination module123 and a dequantization parameter differential value derived by the dequantization parameter differentialvalue deriving module122.
Thedequantization module125 performs dequantization on the input block using the parameter derived by the dequantization parametervalue deriving module124.
FIG.2 illustrates a configuration of the video decoding apparatus according to the first exemplary embodiment of the present invention.
Referring toFIG.2, the vide decoding apparatus includes an entropy-decoding module200, a quadtree-based dequantizationparameter deriving module210, arearrangement module220, adequantization module230, an inverse discrete cosinetransform encoding module240, an intra/inter prediction module250, and afiltering module260.
The entropy-decoding module200 includes the dequantization parameter differential value block splittingflag deriving module120 to derive a block partition flag used for quadtree-based adaptive dequantization, the dequantization differential value storage blockunit determination module121 to determine a block storing a QP from the derived block splitting flag, and the dequantization parameter differentialvalue deriving module122 to decode a dequantization parameter differential value stored in a corresponding block.
The quadtree-based dequantizationparameter deriving module210 includes the dequantization parameter value predictionblock determination module123 to determine a prediction block for reference in decoding a dequantization parameter and the dequantization parametervalue deriving module124 to derive a dequantization parameter by adding a dequantization parameter of the prediction block and the derived dequantization parameter differential value.
FIG.3 illustrates a context for controlling a quadtree-based quantization differential value stored in a sequence parameter set according to the first exemplary embodiment of the present invention.
When cu_qp_delta_enabled_flag300 has a value of 1 in the sequence parameter set, quantization/dequantization parameter differential values of various quadtree blocks ranging from CUs of minimum size to CUs of maximum size in all slices in a sequence may be controlled.
FIG.4A illustrates variables set to initial values in slice data according to the first exemplary embodiment of the present invention.
When a slice is split in a quadtree and encoded/decoded, the slice is first split into LCUs that are a quadtree of maximum size, which are then encoded/decoded in sequential scanning order. In encoding/decoding each LCU, an LCU may be further split into a plurality of CUs in a quadtree, and such splitting may be performed until CUs are partitioned into CUs of minimum size.
InFIG.4A, isCuQpDeltaCoded400 is a variable for controlling a quantization/dequantization parameter differential value which may be stored in each CU when an arbitrary CU is split into N CUs. This variable is always initialized to 0 before each LCU in the slice is encoded/decoded.
InFIG.4A,coding_tree401 is a function of performing encoding/decoding on one LCU in the slice. A fourth factor in this function is a flag indicating whether a quantization/de-quantization parameter differential value exists in a corresponding CU, and always imports a value of 1 before each LCU in the slice is encoded/decoded since at least one quantization/dequantization parameter differential value is stored in the LCU.
FIG.4B illustrates a context of dequantization parameter differential value block splitting stored in a coding tree block according to the first exemplary embodiment of the present invention.
A coding tree block expresses a context of a CU. A CU having a 2N×2N size may be split into four CUs having an N×N size and encoded/decoded according tosplit_coding_unit_flag420. Alternatively, the CU having a 2N×2N size may not be split into CUs of smaller size any more but be encoded/decoded as it is.
The current CU receives an input of a flag indicating whether a quantization/dequantization parameter differential value exists in a higher CU, that is,cu_qp_delta_exist_flag421. When the current CU having a 2N×2N size is further split into CUs having an N×N size according to a value ofsplit_coding_unit_flag420,split_qp_delta_flag422 is additionally encoded/decoded. Information on such additional splitting is encoded/decoded only when cu_qp_delta_enable_flag300 stored in the sequence parameter set andcu_qp_delta_exist_flag421 input from the higher CU have a value of 1. A value ofsplit_qp_delta_flag422 is encoded/decoded only when the current CU having a 2N×2N size is split into the CU having an N×N size, and is input as the value ofcu_qp_delta_exist_flag421 when the lower CUs having an N×N size are encoded/decoded.
When the value ofsplit_qp_detla_flag422 is 0, the current CU having a 2N×2N size is partitioned into the CUs having an N×N size but a block storing a quantization/dequantization parameter differential value is not split any more from a 2N×2N size to an N×N size. When the value ofsplit_qp_detla_flag422 is 0, a value ofIsCuQpDeltaCoded400 is additionally initialized to 0, so that a quantization/dequantization parameter differential value is stored only in a first N×N CU when the current CU is split into the CUs having N×N size.
FIG.5 illustrates a context of a quantization/dequantization parameter differential value stored by a CU and conditions in which the differential value exists according to the first exemplary embodiment of the present invention.
When a CU is not in a skip mode, a quantization/dequantization parameter differential value may be recorded in the CU. When a value ofcu_qp_delta_exist_flag500 and421 is 1, a quantization/dequantization parameter differential value exists in the current CU, in which case a value ofcu_qp_delta501 may be stored by a CU according to a value ofcu_qp_delta_enabled_flag300 stored in the sequence parameter set. For example, when the value ofcu_qp_delta_exist_flag500 and421 is 1 and the value ofcu_qp_delta_enabed_flag300 is 0,cu_qp_delta501 is not stored.
Alternatively, when a 2N×2N CU is split into four N×N CUs in a quadtree, only one quantization/dequantization parameter differential value may be stored. In this case, the quantization/dequantization parameter differential value is stored in a first CU among the four CUs, while the other three CUs do not record the quantization/dequantization parameter differential value. Here, since the value ofsplit_qp_delta_flag422 encoded/decoded in the 2N×2N CU is 0, the value ofcu_qp_delta_exist_flag500 input to the N×N CU is 0. Thus, although nocu_qp_delta501 basically exists in the split four N×N CUs, a value ofcu_qp_delta501 may be stored in a first N×N CU using a variable NIsCuQpDeltaCoded. The value ofcu_qp_delta501 is not stored in the other three CUs since the first CU changes the value of IsCuQpDeltaCoded to 1 after decodingcu_qp_delta501.
Even in this case, the value ofcu_qp_delta501 may be stored only when the value ofcu_qp_delta_enabled_flag300 stored in the sequence parameter set is 1, simultaneously checking the value ofcu_qp_delta_enabled_flag300.
FIG.6A illustrates operations of the quantization differential value storage blockunit determination module100 and the dequantization differential value storage blockunit determination module121 according to the first exemplary embodiment of the present invention.
A 2N×2N LCU to encode/decode may be split into four N×N CUs, each of which may be further partitioned to be processed. Even though the 2N×2N LCU is partitioned into a plurality of CUs to be encoded/decoded, when split_qp_delta_flag422 has a value of 0 as shown inFIG.6A, a quantization/dequantization parameter differential value is stored in a first CU of the LCU. A quantization/dequantization parameter value reconstructed in the first CU may be used for the other CUs of the LCU.
FIG.6B illustrates operations of the quantization differential value storage blockunit determination module100 and the dequantization differential value storage blockunit determination module121 according to a second exemplary embodiment of the present invention.
A 2N×2N LCU to encode/decode is split into four CUs in a first stage, a second CU of which is further split. In this instance, when a flag indicating splitting into the CUs is encoded/decoded in the first stage, a splitting flag with respect to a quantization/dequantization parameter value, which issplit_qp_delta_flag422 and631, is additionally encoded/decoded. When a value ofsplit_qp_delta_flag422 and631 is 1, all four split CUs have a quantization/dequantization parameter differential value, and thus the splitting flag with respect to the quantization/dequantization parameter value,split_qp_delta_flag422 and631, is additionally encoded/decoded.
Even in this case, although the second N×N CU is split into CUs until a third stage, the block splitting flag for quantization/dequantization,split_qp_delta_flag422 and631, is 0, and thus a single quantization/dequantization parameter value is allocated for a plurality of CUs.
FIG.6C illustrates operations of the quantization differential value storage blockunit determination module100 and the dequantization differential value storage blockunit determination module121 according to a third exemplary embodiment of the present invention.
FIG.6C shows that a 2N×2N LCU to encode/decode is split into four CUs in a first stage, a second CU of which is further split. Even when the second CU is split into four CUs, each of which is further partitioned into four CUs, a size of a block to record a quantization/dequantization parameter differential value may be determined using a value ofsplit_qp_delta_flag422 and661. InFIG.6C, a CU is split to regions with up to three depth informations, while the quantization/dequantization parameter differential value has relatively up to two depth informations.
FIG.7A illustrates the QP value predictionblock determination module102 and the dequantization parameter value predictionblock determination module123 according to the first exemplary embodiment of the present invention.
An encoder allocates a QP value to CU blocks determined by the quantization differential value storage blockunit determination module100 and employs a previously used QP value for remaining blocks as it is. Here, the QP value is predicted from a QP value for previous blocks, and only a QP different value is encoded.
A decoder decodes a dequantization parameter differential value in the dequantization parameter differentialvalue deriving module122 and derives a dequantization parameter value by adding the differential value with a dequantization parameter value of a block used for prediction.
The QP value predictionblock determination module102 and the dequantization parameter value predictionblock determination module123 serve to determine a neighboring block for reference when the encoder and the decoder predict a QP value of a current block.
InFIG.7A, when aCU720 to encode/decode is allocated a quantization/dequantization parameter value, the parameter value is predicted using an average value, minimum value or maximum value of QP values ofCUs712 and702 or Lc and Tc having a largest block size located on each boundary amongCUs710,711 and712 or La, Lb and Lc located on a left boundary of thecurrent CU720 andCUs700,701 and702 or Ta, Tb and Tc located on an upper boundary of thecurrent CU720.
FIG.7B illustrates the QP value predictionblock determination module102 and the dequantization parameter value predictionblock determination module123 according to an alternative example of the first exemplary embodiment of the present invention.
When an LCU is split into a plurality of CUs to be encoded/decoded, a QP value of acurrent CU750 to encode/decode is predicted using an average value, minimum value or maximum value of QP values of two CUs having a largest block size located on a left boundary and an upper boundary of thecurrent CU750 among CUs neighboring to thecurrent CU750.
FIG.8A illustrates the QP value predictionblock determination module102 and the dequantization parameter value predictionblock determination module123 according to a second exemplary embodiment of the present invention.
When a QP value of acurrent CU840 to encode/decode is predicted, a CU having a largest block size among CUs neighboring to the current CU is used for reference. In this case, when there are a plurality of CUs having a largest block size, an average value, minimum value or maximum value of QP values of CUs is used to predict the QP value of thecurrent CU840, the CUs including atop CU820 or La selected among CUs on a left boundary of thecurrent CU840 and aleftmost CU800 or Ta preferentially used for reference among CUs on an upper boundary thereof.
FIG.8B illustrates the QP value predictionblock determination module102 and the dequantization parameter value predictionblock determination module123 according to an alternative example of the second exemplary embodiment of the present invention.
When an LCU is split into a plurality of CUs to be encoded/decoded, a QP value of acurrent CU890 to encode/decode is predicted using CUs having a largest block size for reference among CUs neighboring to thecurrent CU890. Here, when there are a plurality of CUs having a largest block size on a left boundary of thecurrent CU890, atop CU870 or La is used as a reference block. Likewise, when there are a plurality of CUs having a largest block size on an upper boundary of thecurrent CU890, aleftmost CU850 or Ta is used as a reference block. When the reference blocks on the left and top boundaries are determined, the QP value of thecurrent CU890 to encode/decode is predicted using an average value, minimum value or maximum value of QP values of these two CUs.
FIG.9A illustrates the QP value predictionblock determination module102 and the dequantization parameter value predictionblock determination module123 according to a third exemplary embodiment of the present invention.
When a QP value of acurrent CU920 to encode/decode is predicted, allpossible reference CUs900,901,902,910,911 and912 or Ta, Tb, Tc, La, Lb and Lc neighboring to the current CU are selected as reference blocks. The encoder predicts the QP value of thecurrent CU920 to encode using an average value, minimum value or maximum value of QP values of all possible reference CUs and encodes a QP differential value.
The decoder decodes a dequantization parameter value of theCU920 to decode by adding the decoded QP differential value with an average value, minimum value or maximum value of dequantization parameter values of all possible reference CUs.
FIG.9B illustrates the QP value predictionblock determination module102 and the dequantization parameter value predictionblock determination module123 according to an alternative example of the third exemplary embodiment of the present invention.
When aCU950 to encode/decode is located in an LCU, a QP value of theCU950 is predicted using allpossible reference CUs930,931,932,940,941 and942 or La, Lb, Lc, Ta, Tb and Tc neighboring to the current CU.
The encoder predicts the QP value of thecurrent CU950 to encode using an average value, minimum value or maximum value of QP values of all adjacent possible reference CUs and encodes a QP differential value therebetween only.
The decoder decodes a dequantization parameter value of theCU950 to decode by adding the decoded QP differential value with an average value, minimum value or maximum value of dequantization parameter values of all adjacent possible reference CUs.
FIG.10A illustrates an operation in the QP value predictionblock determination module102 and the dequantization parameter value predictionblock determination module123 according to a fourth exemplary embodiment of the present invention.
When aCU1020 located on a boundary between LCUs is encoded/decoded, aCU1012 or Lc having a largest block size amongpossible reference CUs1010,1011 and1012 or La, Lb and Lc located on a left boundary of thecurrent CU1020 is used for reference. Here, when there are one or more CUs having a largest block size among the possible reference CUs on the left boundary, a top CU is selected as a reference block.
The encoder predicts a QP value of theCU1020 to encode using a QP value of theCU1012 or Lc selected on the left boundary as the reference block and encodes a QP differential value therebetween.
The decoder decodes a dequantization parameter differential value of theCU1020 to decode and adds the differential value with a dequantization parameter value of theCU1012 or Lc, thereby decoding a dequantization parameter value of theCU1020.
FIG.10B illustrates an operation in the QP value predictionblock determination module102 and the dequantization parameter value predictionblock determination module123 according to an alternative example of the fourth exemplary embodiment of the present invention.
When an LCU is split into a plurality of CUs to be encoded/decoded, aCU1030 or La having a largest block size amongCUs1030,1031 and1032 or La, Lb and Lc located on a left boundary of aCU1050 to encode/decode is used for reference. Here, when there are one or more CUs having a largest block size among the CUs on the left boundary, atop CU1030 or La is selected as a reference block.
The encoder predicts a QP value of theCU1050 to encode using a QP value of theCU1030 or La selected on the left boundary as the reference block and encodes a QP differential value therebetween.
The decoder decodes a dequantization parameter differential value of theCU1050 to decode and adds the differential value with a dequantization parameter value of theCU1030 or La, thereby decoding a dequantization parameter value of theCU1050.
FIG.11A illustrates an operation in the QP value predictionblock determination module102 and the dequantization parameter value predictionblock determination module123 according to a fifth exemplary embodiment of the present invention.
When aCU1120 located on a boundary between LCUs is encoded/decoded, allpossible reference CUs1110,1111 and1112 or La, Lb and Lc located on a left boundary of the current CU1220 are used as reference blocks.
The encoder predicts a QP value of theCU1120 to encode using an average value, minimum value or maximum value of QP values of allpossible reference CUs1110,1111 and1112 or La, Lb and Lc located on the left boundary and encodes a QP differential value.
The decoder decodes a dequantization parameter differential value of theCU1120 to decode and decodes a dequantization parameter value of theCU1120 to decode by adding the differential value with an average value, minimum value or maximum value of dequantization parameter values of allpossible reference CUs1110,1111 and1112 or La, Lb and Lc.
FIG.11B illustrates an operation in the QP value predictionblock determination module102 and the dequantization parameter value predictionblock determination module123 according to an alternative example of the fifth exemplary embodiment of the present invention.
When an LCU is split into a plurality of CUs to be encoded/decoded, all possible reference CUs located on a left boundary of aCU1150 to encode/decode are used as reference blocks.
The encoder predicts a QP value of theCU1150 to encode using an average value, minimum value or maximum value of QP values of all possible reference CUs located on the left boundary and encodes a QP differential value.
The decoder decodes a dequantization parameter differential value of theCU1150 to decode and decodes a dequantization parameter value of theCU1150 to decode by adding the differential value with an average value, minimum value or maximum value of dequantization parameter values of all possible reference CUs located on the left boundary.