Method of generating reconstructed block
Patent Information
- Application Number
- CA3212893
- Authority / Receiving Office
- CA · CA
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2011-11-04
- Filing Date
- 2012-11-02
- Publication Date
- 2026-10-06
- Estimated Expiration
- 2032-11-02
Abstract
Description
<DP=1>²METHOD OF GENERATING RECONSTRUCTED BLOCK² [Technical Field]²The present invention relates to a method and an apparatus of decoding an ²image, and ²more particularly, to a method and apparatus of adaptively generating a ²prediction block and ²residual block having equal size to a transform unit according to an intra ²prediction mode.²[Background Art]²In H.264 / MPEG-4 A VC, one picture is divided into macroblocks to encode an ²image, ²the respective macroblocks are encoded by generating a prediction block using ²inter prediction or ²intra prediction. The difference between an original block and the prediction ²block is transformed ²to generate a transformed block, and the transformed block is quantized using ²a quantization²parameter and one of a plurality of predetermined quantization matrices. The ²quantized²coefficient of the quantized block are scanned by a predetermined scan type ²and then entropy-²coded. The quantization parameter is adjusted per macroblock and encoded using ²a previous ²quantization parameter.²Meanwhile, techniques using various size of coding unit are introduced to ²improve the²coding efficiency. Techniques increasing a number of intra prediction modes ²are also introduces²to generate a prediction block more similar to an original block.²But, if the number of intra prediction modes increases, the amount of coding ²bits ²required for signaling the intra prediction mode becomes larger. Also, if the ²size of the coding unit ²is larger, the difference between an original block and a prediction block is ²greater.²Accordingly, more effective method is required to signal the intra prediction ²mode.²More effective method is also required to minimize the difference between the ²original block and²the prediction block and to minimize the coding bits of residual block.²1²Date Recue / Date Received 2023-09-18²<DP=2>²The present invention is directed to a method of deriving an infra prediction ²mode of a ²prediction unit, determining a size of a current block using transform size ²information, generating ²a prediction block and a residual block of the current block according to the ²intra prediction mode²and generating a reconstructed block of the current block using the prediction ²block and the²residual block.²According to one aspect of the present invention, there is provided an ²apparatus ²for encoding an image in intra prediction, comprising: an intra prediction ²unit of generating a ²prediction block using an infra prediction mode; a transform unit of ²transforming residual signals²generated using an original block and the prediction block to generate a ²transformed block; a²quantization unit of determining a quantization parameter and quantizing the ²transformed block ²using a quantization matrix and the quantization parameter to generate a ²quantized block; a ²scanning unit of determining a scan pattern and applying the scan pattern to ²the quantized block to ²generate one-dimensional coefficient information; and an entropy coding unit ²of entropy-coding²the one-dimensional coefficient information and the Ultra prediction mode, ²wherein the residual²signals are transformed in transform unit, DST-based integer transforms are ²used for transforming ²the residual signals if the size of the transform unit is smaller than a ²predetermined size, and DCT-²based transforms are used if the size of the transform unit is equal to or ²larger than the ²predetermined size, wherein a differential quantization parameter is generated ²by subtracting a²quantization parameter predictor from the quantization parameter, and is ²entropy-coded, and²wherein if two or more quantization parameters are available among a left ²quantization parameter, ²an above quantization parameter an a previous quantization parameter of a ²current coding unit, ²the quantization parameter predictor is generated using two available ²quantization parameters ²determined according a predetermined order, and if only one quantization ²parameter is available,²the available quantization parameter is set as the quantization parameter ²predictor.²Another aspect provides a method of generating a reconstructed block, ²comprising: ²deriving an infra prediction mode of a prediction unit, determining a size of ²a current block using²2²Date Recue / Date Received 2023-09-18²<DP=3>²transform size information, generating a prediction block of the current block ²according to the ²intra prediction mode, generating a residual block of the current block ²according to the intra ²prediction mode and generating a reconstructed block of the current block ²using the prediction ²block and the residual block.²A method according to the present invention derives an intra prediction mode ²of a ²prediction unit, determines a size of a current block using transform size ²information, generates a ²prediction block of the current block according to the intra prediction mode, ²generates a residual ²block of the current block according to the intra prediction mode and ²generates a reconstructed ²block of the current block using the prediction block and the residual block. ²In some²embodiments, the sizes of the prediction block and the residual block are set ²equal to a size of a²transform unit. Therefore, the distance of intra prediction becomes short, and ²the amount of ²coding bits of the residual block is²2a²Date Recue / Date Received 2023-09-18²<DP=4>²reduced by generating a prediction block very similar to original block. Also, ²in some ²embodiments the signaling bits required to signal intra prediction mode ²decrease by ²generating MPM group adaptively according to the neighboring intra prediction ²modes.² [Description of Drawings]²FIG. 1 is a block diagram of an image coding apparatus according to an ²embodiment of the present invention.²FIG. 2 is a block diagram of an image decoding apparatus according to an ²embodiment of the present invention.² FIG. 3 is a flow chart illustrating a procedure of generating a reconstructed²block in intra prediction according to an embodiment of the present invention.²FIG. 4 is a flow chart illustrating a procedure of deriving an intra ²prediction²mode of a current prediction unit according to an embodiment of the present ²invention.²FIG.5 is a conceptual diagram illustrating intra prediction modes² according to an embodiment of the present invention.²FIG. 6 is a flow chart illustrating a procedure of generating a prediction ²block²according to an embodiment of the present invention.²FIG. 7 is a conceptual diagram illustrating positions of reference pixels of a²current block according to an embodiment of the present invention.² FIG.8 is a flow chart illustrating a procedure of generating a residual block²according to an embodiment of the present invention.²FIG. 9 is a flow chart illustrating a procedure of deriving quanti7ation ²parameter according to an embodiment of the present invention.²FIG. 10 is a block diagram illustrating an apparatus of generating a² reconstructed block according to an embodiment of the present invention.²[Description of Embodiments]²Hereinafter, various embodiments of the present invention will be described in²detail with reference to the accompanying drawings. However, the present²invention is not limited to the exemplary embodiments disclosed below, but can ²be ²implemented in various types. Therefore, many other modifications and ²variations²3²Date Recue / Date Received 2023-09-18²<DP=5>²of the present invention are possible, and it is to be understood that within ²the scope ²of the disclosed concept, the present invention may be practiced otherwise ²than as ²has been specifically described.² FIG. 1 is a block diagram of an image coding apparatus 100 according to an²embodiment of the present invention.²Refening to FIG. 1, the image coding apparatus 100 according to an embodiment ²of the present invention includes a picture division unit 101, a transform ²unit 103, a quantization ²unit 104, a scanning unit 105, an entropy coding unit 106, an inverse ²quantization²unit 107, an inverse transform unit 108, a post-processing unit 110, a picture ²storing²unit 111, an intra prediction unit 112, an inter prediction unit 113, a ²subtracter 102 ²and an adder 109.²The picture division unit 101 divides a picture or a slice into a plurality of ²²largest coding units (LCUs), and divides each LCU into one or more coding ²units.²The picture division unit 101 determines prediction mode of each coding unit ²and a²size of prediction unit and a size of transform unit.²An LCU includes one or more coding units. The LCU has a recursive quad ²tree structure to specify a division structure. Information specifying the ²maximum ²size and the minimum size of the coding unit is included in a sequence ²parameter set.² The division structure is specified by one or more split coding unit flags²(split_cu_flags). The coding unit has a size of 2Nx2N.²A coding unit includes one or more prediction units. In intra prediction, the ²size of the prediction unit is 2Nx2N or NxN. In inter prediction, the size of ²the ²prediction unit is 2Nx2N, 2NxN, Nx2N or NxN. When the prediction unit is an²asymmetric partition in inter prediction, the size of the prediction unit may ²also be²one of hNx2N, (2-h)Nx2N, 2NxhN and 2Nx(2-h)N. The value of h is 1 / 2.²A coding unit includes one or more transform units. The transform unit has ²a recursive quad tree structure to specify a division structure. The division ²structure ²is specified by one or more split transform unit flags (split_tu_flags). ²Information²specifying the maximum size and the minimum size of the transform unit is ²included²in a sequence parameter set.²4²Date Recue / Date Received 2023-09-18²<DP=6>²The intra prediction unit 112 determines an intra prediction mode of a current ²²prediction unit and generates a prediction block using the intra prediction ²mode. ²The prediction block has the same size of the transform unit.²The inter prediction unit 113 determines motion information of the current²prediction unit using one or more reference pictures stored in the picture ²storing unit²111, and generates a prediction block of the prediction unit. The motion²information includes one or more reference picture indexes and one or more ²motion ²vectors.²The transform unit 103 transforms residual signals generated using an²original block and a prediction block to generate a transformed block. The ²residual²signals are transformed in transform units. A transform type is determined by ²the ²prediction mode and the size of the transform unit. The transform type is a ²DCT-²based integer transform or a DST-based integer transform. For example. inter ²prediction, DCT-based integer transforms are used. In intra prediction mode, ²if the²size of the transform unit is smaller than a predetermined size, the DST-based ²integer²transforms are used, otherwise the DCT-based integer transforms are used.²The quantization unit 104 determines a quantization parameter for quantizing ²the transformed block. The quantization parameter is a quantization step size. ²²The quantization parameter is determined per quantization unit. The size of ²the²quantization unit is one of allowable sizes of coding unit. If a size of the ²coding²unit is equal to or larger than the minimum size of the quantization unit, the ²coding²unit becomes the quantization unit. A ²plurality of coding units may be included in²a quantization unit. Theminimum size of the quantization unit is determined ²per ²picture and informationspecifying the minimum size of the quantization unit is² included in a picture parameter set.²The quantization unit 104 generates a quantization parameter predictor and ²generates a differential quantization parameter by subtracting the ²quantization ²parameter predictor from the quantizationparameter. The differential ²quantization ²parameter is entropy coded and included in coding unit syntax.² The quantization parameter predictor is generated by using quantization²parameters of neighboring coding units and a quantization parameter of ²previous ²coding unit as follows.²5²Date Recue / Date Received 2023-09-18²<DP=7>²A left quantization parameter, an above quantization parameter and a ²previous quantization parameter are sequentially retrieved in this order. An ²average ²of the first two available quantization parameters retrieved in that order is ²set as the ²quantization parameter predictor when two or more quantization parameters are²available, and when only one quantization parameter is available, the ²available²quantization parameter is set as the quantization parameter predictor. That ²is, if the ²left and above quantization parameter are available, the average of the left ²and above²quantization parameter is set as the quantization parameter predictor. If ²only one²of the left and above quantization parameter is available, the average of the ²available² quantization parameter and the previous quantization parameter is set as the²quantization parameter predictor. If both of the left and above quantization ²parameter are unavailable, the previous quantization parameter is set as the ²quantization parameter predictor. The average is rounded off.²The quantization unit 104 quantizes the transformed block using a²quantization matrix and the quantization parameter to generate a quantized ²block.²The quantized block is provided to the inverse quantization unit 107 and the ²scanning ²unit 105.²The scanning unit 105 determines a scan pattern and applies the scan pattern ²to the quantized block. When CABAC (Context adaptive binary arithmetic coding)² is used for entropy coding, the scan pattern is determined as follows.²In intra prediction, the scan pattern is determined by the intra prediction ²mode ²and the size of the transform unit. The size of the transform unit, the size ²of ²transformedblock and the size of the quantized block are same.The scan pattern ²is ²selected among a diagonal scan, vertical scan and horizontal scan. The ²quantized²transform coefficients of the quantized block are split into significant ²flags,²coefficient signs and coefficientlevels. The scan pattern is applied to the ²significant ²flags, coefficient signs and coefficient levels respectively. The significant ²flag ²indicates whether the corresponding quantized transform coefficient is zero or ²not. ²The coefficient sign indicates a sign of non-zero quantized transform ²coefficient, and²the coefficients level indicates an absolute value of non-zero quantized ²transform²coefficient.²When the size of the transform unit is equal to or smaller than a first size, ²the ²horizontal scan is selected for the vertical mode and a predetermined number ²of²6²Date Recue / Date Received 2023-09-18²<DP=8>²neighboring intra prediction modesof the vertical mode in directionality, the ²vertical ²scan is selected for the horizontal mode and the predetermined number of ²neighboring intra prediction modes of the horizontal mode in directionality, ²and the ²diagonal scan is selected for the other intra prediction modes. When the size ²of the²transform unit is larger than the first size, the diagonal scan is used. The ²first size is²8x8.²In inter prediction, a predetermined scan pattern is used regardless of the ²size ²of the transform unit. The predetermined scan pattern is the diagonal scan ²when thc ²CARAC is used for entropy coding.²When the size of the transform unit is larger than a second size, the ²quantized²block is divided into a main subset and a plurality of remainingsubsets and ²the ²determined scan pattern is applied to each subset. Significant flags, ²coefficient signs ²and coefficients levels of each subset are scanned respectively according to ²the²determined scan pattern. The main ²subset includes DC coefficient and the²remaining subsets covers the region other than the region covered by the main ²subset.²Thesecond size is 4x4. A size of the subset may be 4x4 block or may vary ²according, ²to the scan pattern. The subset contains 16 transform coefficients.²The scan pattern for scanning the subsets is the same as thc scan pattern for ²scanning quantized transform coefficients of each subset. The quantized ²transform²coefficients of each subset are scanned in the reverse direction. The subsets ²are also²scanned in the reverse direction.²Last non-zero coefficient positionis encoded and transmitted to the decoder. ²The last non-zero coefficient position specifies a position of last non-zero ²quantized ²transform coefficient within the transform unit. Non-zero subset flag is set ²for each²subset other than the main subset and the last subset. The last subset covers ²the last²non-zero coefficient.The non-zero subset flag indicates whether the subset ²contains ²non-zero coefficients or not.²The inverse quantization unit 107 inversely quantizes the quantized transform ²coefficients of the quantized block.² The inverse transform unit 108 inversely transforms the inverse quantized²block to generate residual signals of the spatial domain.²The adder 1119acnerates a reconstructed block by adding the residual block ²and the prediction block.²7²Date Recue / Date Received 2023-09-18²<DP=9>²The post-processing unit 110 performs a deblocking filtering process for ²removing blocking artifact generated in a reconstructed picture.²The picture storing unit 111 receives post-processed image from the post-²processing unit 110, and stores the image in picture units. A picture may be a ²frame² or a field.²The entropy coding unit 106 entropy-codes the one-dimensional coefficient²information received from the scanning unit 105, intra prediction information²received from the intra prediction unit 112, motion information received from ²the²inter prediction unit 113, and so on.² FIG. 2 is a block diagram of an image decoding apparatus 200 according to²an embodiment ofthe present invention.²The image decoding apparatus 200 according to an embodiment of the²present invention includes an entropy decoding unit 201, an inverse scanning ²unit 202, an inverse²quantization unit 203, an inverse transform unit 204, an adder 205, a post ²processing²unit 206, a picture storing unit 207, an intra prediction unit 208 and an ²inter ²prediction unit 209.²The entropy decoding unit 201 extracts the intra prediction information, the ²inter prediction information and the one-dimensional coefficient information ²from a²received bit stream. The entropy decoding unit 201 transmits the inter ²prediction²information to the inter prediction unit 209, the intra prediction information ²to the ²intra prediction unit 208 and the coefficient information to the inverse ²scanning unit ²202.²The inverse scanning unit 202 uses an inverse scan pattern to generate² quantized block. When CABAC is used for entropy coding, the scan pattern is²determined as follows.²In intra prediction, the inverse scan pattern is determined by the intra ²prediction mode and the size of the transform unit. The inverse scan pattern ²is ²selected among a diagonal scan, vertical scan and horizontal scan. The ²selected²inverse scan pattern is applied to significant flags, coefficient signs and ²coefficients²levels respectively to generate the quantized block.²When the size of the transform unit is equal to or smaller than a first size, ²the ²horizontal scan is selected for the vertical mode and a predetermined number ²of²8²Date Recue / Date Received 2023-09-18²<DP=10>²neighboring intra prediction modes of to the vertical mode, the vertical scan ²is ²selected for the horizontal mode and the predetermined number of neighboring ²intra ²prediction modes of the horizontal mode, and the diagonal scan is selected for ²the ²other intra prediction modes. When the size of the transform unit is larger ²than the²first size, the diagonal scan is used. When the size of the transform unit is ²larger than²the first size, the diagonal scan is selected for all intra prediction ²modes.The first size ²is 8x8.²When the size of the transform unit is larger than the first size, the ²diagonal ²scan is selected for all intra prediction modes.² In inter prediction, the diagonal scan is used.²When the size of the transform unit is larger than the second size, the ²significant flags, the coefficient signs and the coefficients levels are ²inversely ²scanned in the unit of subset using the determined inverse scan pattern to ²generate ²subsets, and the subsets are inversely scanned to generate the quantized ²block.The²second size is 4x4. The size of the subset may be 4x4 block or a non-square ²block²determined by the scan pattern. The non-square block includes 16 transform ²coefficients. For example, the size of the subset is 8x2 for the horizontal ²scan, 2x8 ²for the vertical scan and 4x4 for the diagonal scan.²The inverse scan pattern used for generating each subset is the same as the²inverse scan pattern used for generating the quantized block. The significant ²flags,²the coefficient signs and the coefficient levels are inversely scanned in the ²reverse ²direction. The subsets are also inversely scanned in the reverse direction.²The last non-zero coefficient position and the non-zero subset flags are ²received from the encoder. The number of encoded subsets is determined ²according²to the last non-zero coefficient position and the inverse scan pattern.The non-²zero²subset flags are used to selectsubsets to be generated. The main subset and ²the last ²subset are generated using the inverse scan pattern.²The inverse quantization unit 203 receives the differential quantization ²parameter from the entropy decoding unit 201 and generates the iquantiLation²parameter predictor. The quantization parameter predictor is generated through ²the²same operation of the quantization unit 104 of FIG. 1. Then, the inverse ²quantization unit 203 adds the differential quantization parameter and the ²quantization parameter predictor to generate the quantization parameter of the²9²Date Recue / Date Received 2023-09-18²<DP=11>²current coding unit. If the size of the current coding unit is equal to or ²larger than ²the minimurnsize of the quantization unit and the differential quantization ²parameter ²for the current coding unit is not received from the encoder, the differential ²²quantization parameter is set to 0.² The inverse quantization unit 203 inversely quantizes the quantized block.²The inverse transform unit 204 inversely transforms the inverse-quantized ²block to restore a residual block, The inverse transform type is adaptively ²determined according to the prediction mode and the size of the transform ²unit. The ²inverse transform type is the DCT-based integer transform or the DST-based ²integer²transform. For example, inter prediction, DCT-based integer transforms are ²used.²In intra prediction mode, if the size of the transform unit is smaller than a ²predetermined size, the DST-based integer transforms are used, otherwise the ²DCT-²based integer transforms are used.²The intra prediction unit 208 restores the intra prediction mode of the ²current²prediction unitusing the received intra prediction information, and generates ²a²prediction block according to the restored intra prediction mode.²The inter prediction unit 209 restores the motion information of the current ²prediction unit using the received inter prediction information, and generates ²a ²prediction block using the motion information.² The post-processing unit 206 operates the same as the post-processing unit²110 of FIG. 1.²The picture storing unit 207 receives post-processed image from the post-²processing unit 206, and stores the image in picture units. A picture may be a ²frame ²or a field.² The adder 205 adds the restored residual block and a prediction block to²generate a reconstructed block.²FIG. 3 is a flow chart illustrating a procedure of generating a reconstructed ²block in intra prediction according to an embodiment of the present invention.²First, an intra prediction mode of a current prediction unit is derived ²(S1100).²FIG. 4 is a flow chart illustrating a procedure of deriving the intra ²prediction ²mode of the current prediction unit according to an embodiment of the present ²invention.²i²Date Recue / Date Received 2023-09-18²<DP=12>²intra prediction parameters of the current prediction unit are extracted from ²a ²received bit stream (S1110).²The intra prediction parameters are s mode group indicator and a prediction ²mode index. The mode group indicator is a flag indicating whether the intra²prediction mode of the current prediction unit belongs to a most probable mode²group (IV1P1V1 group). If the flag is 1, the intra prediction unit of the ²current ²prediction unit belongs to the MPM group. If the flag is 0, the intra ²prediction unit ²of the current prediction unit belongs to a residual mode group, The residual ²mode ²group includes all intra prediction modes other than the intra prediction ²modes of the²MPM group. The prediction mode index specifies the intra prediction mode of ²the²current prediction unit within the group specified by the mode group ²indicator,²The MPM group is constructed using intra prediction modes of the²neighboring prediction units (S1120). The ²intra prediction modes of the MPM²group are adaptively determined by a left intra prediction mode and an above ²intra²prediction mode. The left intra prediction mode is the intra prediction mode ²of the²left neighboring prediction unit, and the above intra prediction mode is the ²intra ²prediction mode of the above neighboring prediction unit. The MPM group is ²comprised of three intra prediction modes.²If the left or above neighboring prediction unit does not exist, the intra²prediction mode of the left or above neighboring unit is set as unavailable. ²For²example, if the current prediction unit is located at the left or upper ²boundary of a ²picture, the left or above neighboring prediction unit does not exist. If the ²left or ²above neighboring unit is located within other slice or other tile, the intra ²prediction²mode of the left or above neighboring unit is set as unavailable. If the ²left or²above neighboring unit is inter-coded, the intra prediction mode of the left ²or above²neighboring unit is set as unavailable. If the above neighboring unit is ²located ²within other LCU, the intra prediction mode of the left or above neighboring ²unit is ²set as unavailable.²FIG. 5 is a conceptual diagram illustrating intra prediction modes according²to an embodiment of the present invention. As shown in Fig. 5, the number of ²intra prediction²modes is 35. The DC mode and the planar mode are non-directional intra ²prediction modes ²and the others are directional intra prediction modes.²11²Date Recue / Date Received 2023-09-18²<DP=13>²When both of the left intra prediction mode and the above intra prediction ²modeare available and are different each other, the left intra prediction mode ²and ²the above intra prediction mode are included in the MPM group and one ²additional ²intra prediction mode is added to the MPM group. Index 0 is assigned to one ²intra² prediction mode of small mode number and index I is assigned to the other. Or²index 0 is assigned to the left intra prediction mode and index 1 is assigned ²to the ²above intra prediction mode. The added intra prediction mode is determined by ²the left and above intra prediction modes as follows.²If one of the left and above intra prediction modes is a non-directional mode²and the other is a directional mode, the other non-directional mode is added ²to the²MPM group. For example, if the one of the left and above intra prediction ²modes ²is the DC mode, the planar mode is added to the MPM group. If the one of the ²left ²and above intra prediction modes is the planar mode, the DC mode is added to ²the ²MPM group. If both of the left and above intra prediction modes are non-²directional modes, the vertical mode is added to the MPM group. If both of the²left and above intra prediction modes are directional modes, the DC mode or ²the ²planar mode is added to the MPM group.²When only one of the left intra prediction mode and the above intra ²prediction mode is available, the available intra prediction mode is included ²in the²MPM group and two additional intra prediction modes are added to the MPM ²group.²The added two intra prediction modes are determined by the available intra ²prediction modes as follows.²If the available intra prediction mode is a non-directional mode, the other ²non-directional mode and the vertical mode are added to the MPM group. For²example, if the available intra prediction mode is the DC mode, the planar ²mode²and the vertical mode are added to the MPM group. If the available intra ²prediction mode is the planar mode, the DC mode and the vertical mode are ²added ²to the MPM group. If the available intra prediction mode is a directional ²mode, ²two non-directional modes (DC mode and planar mode) are added to the MPM² group.²When both of the left intra prediction mode and the above intra prediction ²mode are available and are the same as each other, the available intra ²prediction mode is ²included in the MPM group and two additional intra prediction modes are added ²to²12²Date Recue / Date Received 2023-09-18²<DP=14>²the MPM group. The added two intra prediction modes are determined by the ²available intra prediction modes as follows.²Tithe available intra prediction mode is a directional mode, two neighboring ²directional modes are added to the MPM group. For example, if the available ²intra²prediction mode is the mode 23, the left neighboring mode (mode 1) and the ²right²neighboring mode (mode 13) are added to the MPM group. If the available intra ²prediction mode is the mode 30, the two neighboring modes (mode 2 and mode 16) ²²are added to the MPM group. lithe available intra prediction mode is a non-²directional mode, the other non-directional mode and the vertical mode are ²added to²the MPM group. For example, if the available intra prediction mode is the DC ²mode,²the planar mode and the vertical mode are added to the MPM group.²When both of the left intra prediction mode and the above intra prediction ²modeare unavailable, three additional intra prediction modes are added to the ²MPM ²group. The three intra prediction modes are the DC mode, the planar mode and²the vertical mode. Indexes 0, 1 and 2 are assigned to the three intra ²prediction²modes in the order of the DC mode, the planar mode and the vertical mode or in ²the ²order of the planar mode, the DC mode and the vertical mode.²It is determined whether the mode group indicator indicates the MPM group ²(S1130).² lithe mode group indicator indicates the MPM group, the intra prediction of²the MPM group specified by the prediction mode index is set as the intra ²prediction ²mode of the current prediction unit (S1140).²Tithe mode group indicator does not indicate the MPM group, the three intra ²predictions of the MPM group are reordered in the mode number order (S1150).² Among the three intra prediction modes of the MPM group, the intra prediction²mode with lowest mode number is set to a first candidate, the intra prediction ²mode ²with middle mode number is set to a second candidate, and the intra prediction ²²mode with highest mode number is set to a third candidate.²The prediction mode index is compared with the first candidate (S1160). If²the prediction mode index is equal to or greater than the first candidate of ²the MPM²group, the value of the prediction mode index is increased by one. Otherwise, ²the ²value of the prediction mode index is maintained.²13²Date Recue / Date Received 2023-09-18²<DP=15>²The prediction mode index is compared with the second candidate (S1170). ²If the prediction mode index is equal to or greater than the second candidate ²of the ²MPM group, the value of the prediction mode index is increased by one. ²Otherwise, ²the value of the prediction mode index is maintained.² The prediction mode index is compared with the third candidate (S1180). If²the prediction mode index is equal to or greater than the third candidate of ²the MPM ²group, the value of the prediction mode index is increased by one. Otherwise, ²the ²value of the prediction mode index is maintained.²The value of the final prediction mode index is set as the mode number of the² 1 0 intra prediction mode of the current prediction unit (S1190).²Next, asize of a current block is determined to generate a prediction block²(S1200).²The size of thecurrent block is equal to the size of the transform unit. The²1 5 size of the current block is determined using the size of the ²prediction unit and²transform size information. A prediction block and a residual block of the ²current ²block have same size of the transform unit. The transform size information ²includes one or more split_tu_flags used for indicating the split structure.²If the size of the transform unit is equal to the size of the current ²prediction² 20 unit, the current prediction unit is set as the current block.²If the sizeof the transform unit is smaller than the size of the current ²prediction unit, the prediction unit is comprised of a plurality of sub-²blocks. Each ²sub-block is set as the current block. In this case, the steps S1300, S1400 ²and ²S1500 are performed for the first sub-block of the prediction unit. Then, the ²steps²25 S1300, S14110 and S1500 are repeatedly performed for the remaining sub-²blocks of²the prediction unit in decoding, order. Same intra prediction mode is used for ²all the ²sub-blocks within the prediction unit.²Next, a prediction block is generated according to the intra prediction mode² 30 (S1300).²FIG. 6 is a flow chart illustrating a procedure of generating the prediction²block according to an embodiment of the present invention.²14²Date Recue / Date Received 2023-09-18²<DP=16>²It is determined whether all reference pixels of the current block are ²available, ²and reference pixels are generated if one or more reference pixels are ²unavailable ²(S1210). The current block is the current prediction unit or the sub-block of ²the ²current prediction unit. The size of the current block is the size of the ²transform unit.²FIG. 7 is a conceptual diagram illustrating positions of reference pixels of ²the²current block according to an embodiment of the present invention. As shown in ²FIG. 7, the reference²pixels of the current blocks are comprised of above reference pixels located ²at (x=0,²..., 2N-1, y=-1), left reference pixels located at (x=1-, y=0, ..., 2M-1) and ²a corner²pixel located at (x=-1, y=1). N is the width of the current block and NI is ²the height² of the current block.²If one or more reference pixels are unavailable, one or more reference pixels²are generated as follows.²If all reference pixels are unavailable, a constant valueis substituted for ²the²values of all the reference pixels. The constant value is 21-1, and the value ²of L is the² number of bits used to represent luminance pixel value.²If available reference pixels are located at only one side of the unavailable²reference pixel, the value of the reference pixel nearest to the unavailable ²pixel is²substituted for the unavailable reference pixel.²If available reference pixels are located at both sides of the unavailable²reference pixel, the value of the reference pixel nearest to the unavailable ²pixel in a²predetermined direction is substituted for each unavailable reference pixel.²The reference pixels are adaptively filtered based on the intra prediction ²mode and the size of the current block (S1220). The size of the current block ²is the ²size of the transform unit.² In the DC mode, the reference pixels are not filtered. In the vertical mode²and the horizontal mode, the reference pixels are not filtered. In the ²directional ²modes other than the vertical and horizontal modes, the reference pixels are ²adaptively according to the size of the current block.²If the size of the current block is 4x4, the reference pixels are not filtered ²in²all intra prediction modes. For the size 8x8, 16x16 and 32x32, the number of ²intra²prediction mode where the reference pixels are filtered increases as the size ²of the ²current block becomes larger.² Date Recue / Date Received 2023-09-18²<DP=17>²Aprediction block of the cuntnt block is generated using the reference pixels ²according to the restored intra prediction mode (S1230).²In the DC mode, the prediction pixels are generated by copying average value ²of the N reference pixels located at (x=0, ...N-1, y=-1) and the M reference ²pixels²located at (x=-1, y=0, ..M-1).The prediction pixel adjacent to the reference ²pixel is²filtered by one or two adjacent reference pixels.²In the vertical mode, the prediction pixels are generated by copying the value ²²of the vertical corresponding reference pixel. The prediction pixels adjacent ²to the ²left reference pixel are filtered using the corner pixel and the left ²neighboring pixel,² In the horizontal mode, the prediction pixels are generated by copying the²value of the horizontal corresponding reference pixel. The prediction pixels ²adjacent ²to the above reference pixel are filtered using the corner pixel and the upper ²²neighboring pixel.² Next, a residual block is generated according to the intra prediction mode²(S1400).²FIG.8 is a flow chart illustrating a procedure of generating the residual ²block ²according to an embodiment of the present invention.²The encoded residual signals are entropy-decoded to generate quantized² coefficientinformation (S1410). When CABAC is used for entropy coding, the²coefficients information includes significant flags, coefficient signs and ²coefficient²levels. The ²significant flag indicates whether the corresponding quantized²transform coefficient is zero or not. The coefficient sign indicates a sign of ²non-²zero quantized transform coefficient, and thc coefficients level indicates an ²absolute²value of non-zero quantized transform coefficient.²An inverse scan pattern is determined and a quantized block is generated ²according the inverse scan pattern (S1420). The step is performed by the ²inverse ²scanning unit 220 of FIG.2. Therefore, the same operation of the inverse ²scanning ²unit 220 is performed to determine the inverse scan pattern and to generate ²the² quantized block.²The quantized block is inversely quantized using a quantization parameter²(S1430),²16²Date Recue / Date Received 2023-09-18²<DP=18>²FIG. 9 is a flow chart illustrating a procedure of deriving quantization ²parameter according to an embodiment of the present invention.²A minimum size of the quantization unit is derived (S1431). The minimum ²size of thequantization unit is equal to a size of LCU or a size of sub-block ²of LCU.²The minimum size of the quantization unit is determined per picture. A ²parameter²(cu_qp_delta enabled_info) specifying the depth of the minimum size of the ²quantization unit is extracted from PPS. The minimum size of the quantization ²unit ²is derived as following equation:²Log2(MinQUSize) = Log2(MaxCUSize) ¨cu_qp_delta_enabled_info² The MinQUSize is the minimum size of the quantization unit. The²MaxCUSize is the size of LCU. Only one parameter is used for deriving the ²minimum size of the quantization unit.²Adifferential quantization parameter (dQP) of the current coding unit is ²restored (S1432). The dQP is restored per quantization unit. For example, if ²the²size of the current coding unit is equal to or larger than the minimum size of ²the²quantization unit, the dQP is restored for the current coding unit. If the ²current ²coding unit does not contain an encoded dQP, the dQP is set to zero. If the ²quantization unit includes plural coding units, a first coding unit containing ²the dQP ²and the following coding unit within the quantization unit have same dQP.² The encoded dQP is arithmetically decoded to generate a bin string, and the²bin string is converted into the dQP. The bin string comprises a bin for ²indicating ²the dQP is zero or not. When the dQP is not zero, the bin string further ²comprises a ²bin for sign of the dQP, and a bin string for indicating absolute value of the ²dQP.²A quantization parameter predictor of the current coding unit is generated²(S1433). The quantization ²parameter predictor is generated using the same²operation of the inverse quantization unit 230 of FIG. 2.²If the quantization unit includes plural coding units, the quantization ²parameter predictor of the first coding unit in the decoding order is ²generated, and ²the generated quantizationparameter predictor is used for all the coding units ²within² the quantization unit.²The quantization parameter is generated using the dQP and the quantization²parameter predictor (S1434).²17²Date Recue / Date Received 2023-09-18²<DP=19>²Meanwhile, the user-defined quantization matrices are also restored. A set ²of the user-defined quantization matrices is received from the encoding ²apparatus ²through the SPS or the PPS. The user-defined quantization matrix is restored ²using ²inverse DPCM. The diagonal scan is used for the DPCM. When the size of the²user-defined quantization matrix is larger than 8x8, the user-defined ²quantization²matrix is restored by up-sampling the coefficients of the received 8x8 ²quantization ²matrix. The DC coefficient of the user-defined quantization matrix is ²extracted ²from the SPS or the PPS. For example, if the size of the user-defined ²quantization ²matrix is 16x16, coefficients of the received 8x8 quantization matrix are up-²sampled² using 1:4 up-sampling.²A residual block is generated by inversely transforming the inverse-quantized ²block (S1440). An inverse transform type is adaptively determined according to ²the ²prediction mode and the size of the transform unit. The inverse transform type ²is ²the DCT-based integer transform or the DST-based integer transform. In intra²prediction mode, if the size of the transform unit is smaller than a ²predetermined size,²the DST-based integer transforms are used, otherwise the DCT-based integer²transforms are used.²Next, a reconstructed block is generated by adding the prediction block and²the residual block (S1500).² FIG. 10 is a block diagram illustrating an apparatus 300 of generating a²reconstructed block according to an embodiment of the present invention.²As shown in FIG. 10, the apparatus 300 according to an embodiment of²the present invention includes an extra prediction mode deriving unit 310, a ²prediction size²sletermining unit 320, a prediction block generating unit 330, a residual ²block generating unit²340 and a reconstructed block generating unit 350.²The intra prediction mode deriving unit 310 derives the intra prediction mode²of the current prediction unit. The intra prediction mode deriving unit 310 ²performs²the same procedure of FIG. 4 to derive the intra prediction mode.² The prediction size determining unit 320 determines the size of the current²block using the size of the current prediction unit and the transform size ²information. ²The size of the current block is equal to the size of the transform unit. A ²prediction ²block and a residual block of the current block have same size of the ²transform unit.²18²Date Recue / Date Received 2023-09-18²<DP=20>²The current prediction unit or a sub-block of the current prediction unit is ²set as the ²current block based on the transform size information.²The prediction block generating unit 330 generates the prediction block of the ²²current block using, the intra prediction mode. The prediction block ²generating unit²330 includes a reference pixel generator 331, a reference pixel filter 332 and ²a²prediction block generator 333.²The reference pixel _generator 331 generates reference pixels if one or more ²reference pixels of the current block are unavailable. If all reference pixels ²are ²unavailable, the value of 2L-I is substituted for the values of all the ²reference pixels.²The value of L is the number of bits used to represent luminance pixel value. ²If²available reference pixels are located at only one side of the unavailable ²reference ²pixel, the value of the reference pixel nearest to the unavailable pixel is ²substituted ²for the unavailable reference pixel. If available reference pixels are located ²at both ²sides of the unavailable reference pixel, the value of the reference pixel ²nearest to the²unavailable pixel in a predetermined direction is substituted for each ²unavailable²reference pixel.²The reference pixel filter 332 adaptively filters the reference pixels based ²on²the intra prediction mode and the size of the transform unit.²In the DC mode, the reference pixels are not filtered. In the vertical mode²and the horizontal mode, the reference pixels are not filtered. In the ²directional²modes other than the vertical and horizontal modes, the reference pixels are ²adaptively according to the size of the current block.²If the size of the current block is 4x4, the reference pixels are not filtered ²in ²all intra prediction modes. For the size 8x8, 16x16 and 32x32, the number of ²intra²prediction mode where the reference pixels are filtered increases as the size ²of the²current block becomes larger. For example, the reference pixels are not ²filtered in ²the vertical mode and a predetermined number of neighboring intra prediction ²mode ²of the vertical mode. The reference pixels are also not filtered in the ²horizontal ²mode and the predetermined number of neighboring intra prediction mode of the²horizontal mode. The predetermined number is one of 0-7 and decreases as ²the²size of the current block increases.²The prediction block generator 333 generates a prediction block of the current ²²block using the reference pixels according to the intra prediction mode.²19²Date Recue / Date Received 2023-09-18²<DP=21>²In the DC mode, the prediction pixels are generated by copying average value ²of the N reference pixels located at (x.0, ...N-1, y=-1) and the M reference ²pixels ²located at (x=-1, y=0, ..M-1).The prediction pixel adjacent to the reference ²pixel is ²filtered by one or two adjacent reference pixels.²In the vertical mode, the prediction pixels are generated by copying the value²of the vertical reference pixel. The prediction pixels adjacent to the left ²reference ²pixel are filtered using the corner reference pixel and the left neighboring ²reference ²pixel.²In the horizontal mode, the prediction pixels are generated by copying the²value of the horizontal reference pixel. The prediction pixels adjacent to the ²above²reference pixel are filtered using the corner reference pixel and the above ²neighboring reference pixel.²The residual block generating unit 340 generates the residual block= of the ²current block using the intra prediction mode. The same procedure of FIG. 8 is² performed by the residual block generating unit 340.²The reconstructed block generating unit 350 adds the prediction block and the²residual block to generate the reconstructed block of the current block.²While the invention has been shown and described with reference to certain²exemplary embodiments thereof, it will be understood by those skilled in the ²art that²various changes in form and details may be made therein without departing from ²the ²scope of the invention as defined by the appended claims.² Date Recue / Date Received 2023-09-18²
Claims
<DP=1>²CLAIMS:²1. A ²method of deriving an intra prediction mode of a current prediction unit, the ²method²comprising:²entropy decoding a mode group indicator and a prediction mode index, wherein ²the mode ²group indicator is a flag indicating whether the intra prediction mode of the ²current prediction unit ²belongs to a most probable mode, MPM, group and wherein the prediction mode ²index specifies ²the intra prediction mode of the current prediction unit within the group ²specified by the mode ²group indicator;²constructing the MPM group using intra prediction modes of a left block and an ²above ²block of the current prediction unit, wherein the MPM group includes three ²intra prediction modes;²determining whether the mode group indicator indicates the MPM group;²determining an intra prediction mode specified by the prediction mode index ²among the ²three intra prediction modes in the MPM group as the intra prediction mode of ²the current ²prediction unit when the mode group indicator indicates the MPM group; and²deriving the intra prediction mode of the current prediction unit using the ²prediction mode ²index and the three intra prediction modes in the MPM group when the mode ²group indicator does ²not indicate the MPM group,²wherein if the prediction mode Index is greater than or equal to a first mode ²in the MPM ²group, the value of the prediction mode index is increased by one; if the ²prediction mode index is ²greater than or equal to a second mode in the MPM group, the value of the ²prediction mode index ²is increased by one; and then if the prediction mode index is greater than or ²equal to a third mode ²in the MPM group, the value of the prediction mode index is increased by one,²wherein the MPM group includes two non-directional modes and vertical mode ²when only ²one of the intra prediction modes of the left and the above blocks is ²available and the available²2 1²Date Recue / Date Received 2023-09-18²<DP=2>²intra prediction mode is one of the two non-directional modes, wherein the two ²non-directional ²modes are planar mode and DC mode,²wherein the first mode is an intra prediction mode of a lowest mode number in ²the MPM ²group, the second mode is an intra prediction mode of a middle mode number in ²the MPM group, ²and the third mode is an intra prediction mode of a highest mode number in the ²MPM group,²wherein the three intra prediction modes in the MPM group are sorted in an ²order of the ²first mode, the second mode and the third mode; and²wherein, when only one of the intra prediction modes of the left and the above ²blocks is ²available and the available intra prediction mode is one of directional modes, ²the MPM group ²includes the two non-directional modes and the available intra prediction ²mode.²2. ²The method of claim 1, wherein the MPM group is comprised of the two non-²directional²modes and the vertical mode when both intra prediction modes of the left block ²and the above ²block are unavailable.²22²Date Recue / Date Received 2023-09-18²